From 86dc95d4e1ad1f455df00b7265ae2297c3305873 Mon Sep 17 00:00:00 2001 From: Dan Harrin Date: Sun, 7 Nov 2021 22:03:16 +0000 Subject: [PATCH] wip --- .prettierrc | 2 +- bin/build.js | 3 +- bin/tailwind.config.js | 24 + composer.lock | 733 +- main.js | 6 + package-lock.json | 16798 +++++++++++++++- package.json | 12 +- packages/admin/.gitignore | 1 + packages/admin/composer.json | 35 + packages/admin/composer.lock | 3859 ++++ packages/admin/config/filament.php | 122 + packages/admin/dist/app.css | 4415 ++++ packages/admin/dist/app.css.map | 1 + packages/admin/dist/app.js | 270 + packages/admin/dist/app.js.map | 1 + packages/admin/dist/mix-manifest.json | 4 + packages/admin/docs/01-installation.md | 3 + packages/admin/resources/css/app.css | 5 + packages/admin/resources/js/app.js | 12 + .../views/components/layouts/app.blade.php | 133 + .../admin/resources/views/dashboard.blade.php | 3 + packages/admin/routes/web.php | 24 + packages/admin/src/Events/ServingFilament.php | 15 + packages/admin/src/Facades/Filament.php | 35 + packages/admin/src/FilamentManager.php | 141 + .../admin/src/FilamentServiceProvider.php | 173 + .../src/Http/Controllers/AssetController.php | 51 + .../admin/src/Http/Livewire/Dashboard.php | 16 + .../DispatchServingFilamentEvent.php | 17 + packages/admin/src/NavigationItem.php | 103 + packages/admin/src/Pages/Page.php | 130 + packages/admin/src/Resources/Resource.php | 112 + packages/admin/src/helpers.php | 30 + packages/admin/tailwind.config.js | 29 + packages/forms/dist/module.esm.css | 274 +- packages/forms/dist/module.esm.js | 11984 ++++++----- webpack.mix.js | 22 + 37 files changed, 33124 insertions(+), 6474 deletions(-) create mode 100644 bin/tailwind.config.js create mode 100644 main.js create mode 100644 packages/admin/.gitignore create mode 100644 packages/admin/composer.json create mode 100644 packages/admin/composer.lock create mode 100644 packages/admin/config/filament.php create mode 100644 packages/admin/dist/app.css create mode 100644 packages/admin/dist/app.css.map create mode 100644 packages/admin/dist/app.js create mode 100644 packages/admin/dist/app.js.map create mode 100644 packages/admin/dist/mix-manifest.json create mode 100644 packages/admin/docs/01-installation.md create mode 100644 packages/admin/resources/css/app.css create mode 100644 packages/admin/resources/js/app.js create mode 100644 packages/admin/resources/views/components/layouts/app.blade.php create mode 100644 packages/admin/resources/views/dashboard.blade.php create mode 100644 packages/admin/routes/web.php create mode 100644 packages/admin/src/Events/ServingFilament.php create mode 100644 packages/admin/src/Facades/Filament.php create mode 100644 packages/admin/src/FilamentManager.php create mode 100644 packages/admin/src/FilamentServiceProvider.php create mode 100644 packages/admin/src/Http/Controllers/AssetController.php create mode 100644 packages/admin/src/Http/Livewire/Dashboard.php create mode 100644 packages/admin/src/Http/Middleware/DispatchServingFilamentEvent.php create mode 100644 packages/admin/src/NavigationItem.php create mode 100644 packages/admin/src/Pages/Page.php create mode 100644 packages/admin/src/Resources/Resource.php create mode 100644 packages/admin/src/helpers.php create mode 100644 packages/admin/tailwind.config.js create mode 100644 webpack.mix.js diff --git a/.prettierrc b/.prettierrc index b785842435..e74ed9ff35 100644 --- a/.prettierrc +++ b/.prettierrc @@ -1,6 +1,6 @@ { "trailingComma": "es5", - "tabWidth": 2, + "tabWidth": 4, "semi": false, "singleQuote": true } diff --git a/bin/build.js b/bin/build.js index be99a1acb4..663a2bde62 100644 --- a/bin/build.js +++ b/bin/build.js @@ -1,6 +1,7 @@ +const esbuild = require('esbuild') const shouldWatch = process.argv.includes('--watch') -require('esbuild').build({ +esbuild.build({ define: { 'process.env.NODE_ENV': shouldWatch ? `'production'` : `'development'`, }, diff --git a/bin/tailwind.config.js b/bin/tailwind.config.js new file mode 100644 index 0000000000..8927acf6b2 --- /dev/null +++ b/bin/tailwind.config.js @@ -0,0 +1,24 @@ +const colors = require('tailwindcss/colors') + +module.exports = { + mode: 'jit', + purge: [ + './resources/**/*.blade.php', + '../forms/resources/**/*.blade.php', + '../tables/resources/**/*.blade.php', + ], + theme: { + extend: { + colors: { + danger: colors.rose, + primary: colors.blue, + success: colors.green, + warning: colors.yellow, + }, + }, + }, + plugins: [ + require('@tailwindcss/forms'), + require('@tailwindcss/typography'), + ], +} diff --git a/composer.lock b/composer.lock index 7fc1e832f9..e2d07b5a96 100644 --- a/composer.lock +++ b/composer.lock @@ -9,16 +9,16 @@ "packages-dev": [ { "name": "brianium/paratest", - "version": "v6.3.1", + "version": "v6.3.2", "source": { "type": "git", "url": "https://github.com/paratestphp/paratest.git", - "reference": "3d81e35876f6497467310b123583cca6bd4c38f2" + "reference": "5843dced0fb11c67fa3863e9ad40cfc319c32f33" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/paratestphp/paratest/zipball/3d81e35876f6497467310b123583cca6bd4c38f2", - "reference": "3d81e35876f6497467310b123583cca6bd4c38f2", + "url": "https://api.github.com/repos/paratestphp/paratest/zipball/5843dced0fb11c67fa3863e9ad40cfc319c32f33", + "reference": "5843dced0fb11c67fa3863e9ad40cfc319c32f33", "shasum": "" }, "require": { @@ -27,28 +27,28 @@ "ext-reflection": "*", "ext-simplexml": "*", "php": "^7.3 || ^8.0", - "phpunit/php-code-coverage": "^9.2.6", + "phpunit/php-code-coverage": "^9.2.7", "phpunit/php-file-iterator": "^3.0.5", "phpunit/php-timer": "^5.0.3", - "phpunit/phpunit": "^9.5.8", + "phpunit/phpunit": "^9.5.10", "sebastian/environment": "^5.1.3", - "symfony/console": "^4.4.23 || ^5.3.6", - "symfony/process": "^4.4.22 || ^5.3.4" + "symfony/console": "^4.4.30 || ^5.3.7", + "symfony/process": "^4.4.30 || ^5.3.7" }, "require-dev": { "doctrine/coding-standard": "^9.0.0", - "ekino/phpstan-banned-code": "^0.4.0", + "ekino/phpstan-banned-code": "^0.5.0", "ergebnis/phpstan-rules": "^0.15.3", "ext-posix": "*", - "infection/infection": "^0.24", - "phpstan/phpstan": "^0.12.94", + "infection/infection": "^0.25.3", + "phpstan/phpstan": "^0.12.99", "phpstan/phpstan-deprecation-rules": "^0.12.6", - "phpstan/phpstan-phpunit": "^0.12.21", - "phpstan/phpstan-strict-rules": "^0.12.10", + "phpstan/phpstan-phpunit": "^0.12.22", + "phpstan/phpstan-strict-rules": "^0.12.11", "squizlabs/php_codesniffer": "^3.6.0", "symfony/filesystem": "^5.3.4", "thecodingmachine/phpstan-strict-rules": "^0.12.1", - "vimeo/psalm": "^4.9.2" + "vimeo/psalm": "^4.10.0" }, "bin": [ "bin/paratest" @@ -87,7 +87,7 @@ ], "support": { "issues": "https://github.com/paratestphp/paratest/issues", - "source": "https://github.com/paratestphp/paratest/tree/v6.3.1" + "source": "https://github.com/paratestphp/paratest/tree/v6.3.2" }, "funding": [ { @@ -99,7 +99,7 @@ "type": "paypal" } ], - "time": "2021-08-10T07:38:58+00:00" + "time": "2021-11-03T10:16:06+00:00" }, { "name": "brick/math", @@ -238,34 +238,30 @@ }, { "name": "doctrine/inflector", - "version": "2.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210" + "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/9cf661f4eb38f7c881cac67c75ea9b00bf97b210", - "reference": "9cf661f4eb38f7c881cac67c75ea9b00bf97b210", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89", + "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89", "shasum": "" }, "require": { "php": "^7.2 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^7.0", - "phpstan/phpstan": "^0.11", - "phpstan/phpstan-phpunit": "^0.11", - "phpstan/phpstan-strict-rules": "^0.11", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + "doctrine/coding-standard": "^8.2", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpstan/phpstan-strict-rules": "^0.12", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", + "vimeo/psalm": "^4.10" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, "autoload": { "psr-4": { "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" @@ -313,7 +309,7 @@ ], "support": { "issues": "https://github.com/doctrine/inflector/issues", - "source": "https://github.com/doctrine/inflector/tree/2.0.x" + "source": "https://github.com/doctrine/inflector/tree/2.0.4" }, "funding": [ { @@ -329,7 +325,7 @@ "type": "tidelift" } ], - "time": "2020-05-29T15:13:26+00:00" + "time": "2021-10-22T20:16:43+00:00" }, { "name": "doctrine/instantiator", @@ -729,21 +725,21 @@ }, { "name": "filp/whoops", - "version": "2.14.1", + "version": "2.14.4", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "15ead64e9828f0fc90932114429c4f7923570cb1" + "reference": "f056f1fe935d9ed86e698905a957334029899895" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/15ead64e9828f0fc90932114429c4f7923570cb1", - "reference": "15ead64e9828f0fc90932114429c4f7923570cb1", + "url": "https://api.github.com/repos/filp/whoops/zipball/f056f1fe935d9ed86e698905a957334029899895", + "reference": "f056f1fe935d9ed86e698905a957334029899895", "shasum": "" }, "require": { "php": "^5.5.9 || ^7.0 || ^8.0", - "psr/log": "^1.0.1" + "psr/log": "^1.0.1 || ^2.0 || ^3.0" }, "require-dev": { "mockery/mockery": "^0.9 || ^1.0", @@ -788,7 +784,7 @@ ], "support": { "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.14.1" + "source": "https://github.com/filp/whoops/tree/2.14.4" }, "funding": [ { @@ -796,20 +792,20 @@ "type": "github" } ], - "time": "2021-08-29T12:00:00+00:00" + "time": "2021-10-03T12:00:00+00:00" }, { "name": "graham-campbell/result-type", - "version": "v1.0.2", + "version": "v1.0.3", "source": { "type": "git", "url": "https://github.com/GrahamCampbell/Result-Type.git", - "reference": "84afea85c6841deeea872f36249a206e878a5de0" + "reference": "296c015dc30ec4322168c5ad3ee5cc11dae827ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/84afea85c6841deeea872f36249a206e878a5de0", - "reference": "84afea85c6841deeea872f36249a206e878a5de0", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/296c015dc30ec4322168c5ad3ee5cc11dae827ac", + "reference": "296c015dc30ec4322168c5ad3ee5cc11dae827ac", "shasum": "" }, "require": { @@ -845,7 +841,7 @@ ], "support": { "issues": "https://github.com/GrahamCampbell/Result-Type/issues", - "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.0.2" + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.0.3" }, "funding": [ { @@ -857,20 +853,20 @@ "type": "tidelift" } ], - "time": "2021-08-28T21:34:50+00:00" + "time": "2021-10-17T19:48:54+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.0.0", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "1dc8d9cba3897165e16d12bb13d813afb1eb3fe7" + "reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/1dc8d9cba3897165e16d12bb13d813afb1eb3fe7", - "reference": "1dc8d9cba3897165e16d12bb13d813afb1eb3fe7", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/089edd38f5b8abba6cb01567c2a8aaa47cec4c72", + "reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72", "shasum": "" }, "require": { @@ -894,7 +890,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "2.1-dev" } }, "autoload": { @@ -907,13 +903,34 @@ "MIT" ], "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, { "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", "homepage": "https://github.com/Tobion" }, { @@ -935,9 +952,23 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.0.0" + "source": "https://github.com/guzzle/psr7/tree/2.1.0" }, - "time": "2021-06-30T20:03:07+00:00" + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", + "type": "tidelift" + } + ], + "time": "2021-10-06T17:43:30+00:00" }, { "name": "hamcrest/hamcrest-php", @@ -992,16 +1023,16 @@ }, { "name": "laravel/framework", - "version": "v8.61.0", + "version": "v8.69.0", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "3d528d3d3c8ecb444b50a266c212a52973a6669b" + "reference": "545181da688db64fed6d8427e55f630a90ca0d32" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/3d528d3d3c8ecb444b50a266c212a52973a6669b", - "reference": "3d528d3d3c8ecb444b50a266c212a52973a6669b", + "url": "https://api.github.com/repos/laravel/framework/zipball/545181da688db64fed6d8427e55f630a90ca0d32", + "reference": "545181da688db64fed6d8427e55f630a90ca0d32", "shasum": "" }, "require": { @@ -1011,16 +1042,18 @@ "ext-json": "*", "ext-mbstring": "*", "ext-openssl": "*", - "league/commonmark": "^1.3|^2.0", + "laravel/serializable-closure": "^1.0", + "league/commonmark": "^1.3|^2.0.2", "league/flysystem": "^1.1", "monolog/monolog": "^2.0", - "nesbot/carbon": "^2.31", + "nesbot/carbon": "^2.53.1", "opis/closure": "^3.6", "php": "^7.3|^8.0", "psr/container": "^1.0", + "psr/log": "^1.0 || ^2.0", "psr/simple-cache": "^1.0", - "ramsey/uuid": "^4.0", - "swiftmailer/swiftmailer": "^6.0", + "ramsey/uuid": "^4.2.2", + "swiftmailer/swiftmailer": "^6.3", "symfony/console": "^5.1.4", "symfony/error-handler": "^5.1.4", "symfony/finder": "^5.1.4", @@ -1075,22 +1108,23 @@ "illuminate/view": "self.version" }, "require-dev": { - "aws/aws-sdk-php": "^3.189.0", - "doctrine/dbal": "^2.6|^3.0", - "filp/whoops": "^2.8", + "aws/aws-sdk-php": "^3.198.1", + "doctrine/dbal": "^2.13.3|^3.1.2", + "filp/whoops": "^2.14.3", "guzzlehttp/guzzle": "^6.5.5|^7.0.1", "league/flysystem-cached-adapter": "^1.0", - "mockery/mockery": "^1.4.2", + "mockery/mockery": "^1.4.4", "orchestra/testbench-core": "^6.23", "pda/pheanstalk": "^4.0", - "phpunit/phpunit": "^8.5.8|^9.3.3", - "predis/predis": "^1.1.2", + "phpunit/phpunit": "^8.5.19|^9.5.8", + "predis/predis": "^1.1.9", "symfony/cache": "^5.1.4" }, "suggest": { - "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.189.0).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.198.1).", "brianium/paratest": "Required to run tests in parallel (^6.0).", - "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.6|^3.0).", + "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.13.3|^3.1.2).", + "ext-bcmath": "Required to use the multiple_of validation rule.", "ext-ftp": "Required to use the Flysystem FTP driver.", "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", "ext-memcached": "Required to use the memcache cache driver.", @@ -1098,17 +1132,17 @@ "ext-posix": "Required to use all features of the queue worker.", "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", - "filp/whoops": "Required for friendly error pages in development (^2.8).", + "filp/whoops": "Required for friendly error pages in development (^2.14.3).", "guzzlehttp/guzzle": "Required to use the HTTP Client, Mailgun mail driver and the ping methods on schedules (^6.5.5|^7.0.1).", "laravel/tinker": "Required to use the tinker console command (^2.0).", "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", - "mockery/mockery": "Required to use mocking (^1.4.2).", + "mockery/mockery": "Required to use mocking (^1.4.4).", "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", - "phpunit/phpunit": "Required to use assertions and run tests (^8.5.8|^9.3.3).", - "predis/predis": "Required to use the predis connector (^1.1.2).", + "phpunit/phpunit": "Required to use assertions and run tests (^8.5.19|^9.5.8).", + "predis/predis": "Required to use the predis connector (^1.1.9).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0|^5.0|^6.0).", "symfony/cache": "Required to PSR-6 cache bridge (^5.1.4).", @@ -1157,20 +1191,79 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2021-09-14T13:31:32+00:00" + "time": "2021-11-02T13:53:22+00:00" }, { - "name": "laravel/ui", - "version": "v3.3.0", + "name": "laravel/serializable-closure", + "version": "v1.0.3", "source": { "type": "git", - "url": "https://github.com/laravel/ui.git", - "reference": "07d725813350c695c779382cbd6dac0ab8665537" + "url": "https://github.com/laravel/serializable-closure.git", + "reference": "6cfc678735f22ccedad761b8cae2bab14c3d8e5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/ui/zipball/07d725813350c695c779382cbd6dac0ab8665537", - "reference": "07d725813350c695c779382cbd6dac0ab8665537", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/6cfc678735f22ccedad761b8cae2bab14c3d8e5b", + "reference": "6cfc678735f22ccedad761b8cae2bab14c3d8e5b", + "shasum": "" + }, + "require": { + "php": "^7.3|^8.0" + }, + "require-dev": { + "pestphp/pest": "^1.18", + "phpstan/phpstan": "^0.12.98", + "symfony/var-dumper": "^5.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\SerializableClosure\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + }, + { + "name": "Nuno Maduro", + "email": "nuno@laravel.com" + } + ], + "description": "Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.", + "keywords": [ + "closure", + "laravel", + "serializable" + ], + "support": { + "issues": "https://github.com/laravel/serializable-closure/issues", + "source": "https://github.com/laravel/serializable-closure" + }, + "time": "2021-10-07T14:00:57+00:00" + }, + { + "name": "laravel/ui", + "version": "v3.3.2", + "source": { + "type": "git", + "url": "https://github.com/laravel/ui.git", + "reference": "28f3d190fe270b6dcd6fdab4a77a392e693ceca5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/ui/zipball/28f3d190fe270b6dcd6fdab4a77a392e693ceca5", + "reference": "28f3d190fe270b6dcd6fdab4a77a392e693ceca5", "shasum": "" }, "require": { @@ -1213,9 +1306,9 @@ "ui" ], "support": { - "source": "https://github.com/laravel/ui/tree/v3.3.0" + "source": "https://github.com/laravel/ui/tree/v3.3.2" }, - "time": "2021-05-25T16:45:33+00:00" + "time": "2021-11-05T08:25:44+00:00" }, { "name": "league/commonmark", @@ -1506,16 +1599,16 @@ }, { "name": "league/mime-type-detection", - "version": "1.7.0", + "version": "1.8.0", "source": { "type": "git", "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3" + "reference": "b38b25d7b372e9fddb00335400467b223349fd7e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3", - "reference": "3b9dff8aaf7323590c1d2e443db701eb1f9aa0d3", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/b38b25d7b372e9fddb00335400467b223349fd7e", + "reference": "b38b25d7b372e9fddb00335400467b223349fd7e", "shasum": "" }, "require": { @@ -1546,7 +1639,7 @@ "description": "Mime-type detection for Flysystem", "support": { "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.7.0" + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.8.0" }, "funding": [ { @@ -1558,20 +1651,20 @@ "type": "tidelift" } ], - "time": "2021-01-18T20:58:21+00:00" + "time": "2021-09-25T08:23:19+00:00" }, { "name": "livewire/livewire", - "version": "v2.6.3", + "version": "v2.7.2", "source": { "type": "git", "url": "https://github.com/livewire/livewire.git", - "reference": "ad9af07a9c623c1aefbbcfcbd178adcac8ebb8ac" + "reference": "991e5bd8a48e450d23cd55336964f916e92a6464" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/livewire/livewire/zipball/ad9af07a9c623c1aefbbcfcbd178adcac8ebb8ac", - "reference": "ad9af07a9c623c1aefbbcfcbd178adcac8ebb8ac", + "url": "https://api.github.com/repos/livewire/livewire/zipball/991e5bd8a48e450d23cd55336964f916e92a6464", + "reference": "991e5bd8a48e450d23cd55336964f916e92a6464", "shasum": "" }, "require": { @@ -1622,7 +1715,7 @@ "description": "A front-end framework for Laravel.", "support": { "issues": "https://github.com/livewire/livewire/issues", - "source": "https://github.com/livewire/livewire/tree/v2.6.3" + "source": "https://github.com/livewire/livewire/tree/v2.7.2" }, "funding": [ { @@ -1630,7 +1723,7 @@ "type": "github" } ], - "time": "2021-09-15T14:22:37+00:00" + "time": "2021-10-20T02:27:35+00:00" }, { "name": "mockery/mockery", @@ -1706,16 +1799,16 @@ }, { "name": "monolog/monolog", - "version": "2.3.4", + "version": "2.3.5", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "437e7a1c50044b92773b361af77620efb76fff59" + "reference": "fd4380d6fc37626e2f799f29d91195040137eba9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/437e7a1c50044b92773b361af77620efb76fff59", - "reference": "437e7a1c50044b92773b361af77620efb76fff59", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd4380d6fc37626e2f799f29d91195040137eba9", + "reference": "fd4380d6fc37626e2f799f29d91195040137eba9", "shasum": "" }, "require": { @@ -1731,7 +1824,7 @@ "elasticsearch/elasticsearch": "^7", "graylog2/gelf-php": "^1.4.2", "mongodb/mongodb": "^1.8", - "php-amqplib/php-amqplib": "~2.4", + "php-amqplib/php-amqplib": "~2.4 || ^3", "php-console/php-console": "^3.1.3", "phpspec/prophecy": "^1.6.1", "phpstan/phpstan": "^0.12.91", @@ -1789,7 +1882,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.3.4" + "source": "https://github.com/Seldaek/monolog/tree/2.3.5" }, "funding": [ { @@ -1801,7 +1894,7 @@ "type": "tidelift" } ], - "time": "2021-09-15T11:27:21+00:00" + "time": "2021-10-01T21:08:31+00:00" }, { "name": "myclabs/deep-copy", @@ -1863,16 +1956,16 @@ }, { "name": "nesbot/carbon", - "version": "2.53.1", + "version": "2.54.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "f4655858a784988f880c1b8c7feabbf02dfdf045" + "reference": "eed83939f1aed3eee517d03a33f5ec587ac529b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/f4655858a784988f880c1b8c7feabbf02dfdf045", - "reference": "f4655858a784988f880c1b8c7feabbf02dfdf045", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/eed83939f1aed3eee517d03a33f5ec587ac529b5", + "reference": "eed83939f1aed3eee517d03a33f5ec587ac529b5", "shasum": "" }, "require": { @@ -1883,6 +1976,7 @@ "symfony/translation": "^3.4 || ^4.0 || ^5.0" }, "require-dev": { + "doctrine/dbal": "^2.0 || ^3.0", "doctrine/orm": "^2.7", "friendsofphp/php-cs-fixer": "^3.0", "kylekatarnls/multi-tester": "^2.0", @@ -1953,25 +2047,25 @@ "type": "tidelift" } ], - "time": "2021-09-06T09:29:23+00:00" + "time": "2021-11-01T21:22:20+00:00" }, { "name": "nette/schema", - "version": "v1.2.1", + "version": "v1.2.2", "source": { "type": "git", "url": "https://github.com/nette/schema.git", - "reference": "f5ed39fc96358f922cedfd1e516f0dadf5d2be0d" + "reference": "9a39cef03a5b34c7de64f551538cbba05c2be5df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/schema/zipball/f5ed39fc96358f922cedfd1e516f0dadf5d2be0d", - "reference": "f5ed39fc96358f922cedfd1e516f0dadf5d2be0d", + "url": "https://api.github.com/repos/nette/schema/zipball/9a39cef03a5b34c7de64f551538cbba05c2be5df", + "reference": "9a39cef03a5b34c7de64f551538cbba05c2be5df", "shasum": "" }, "require": { - "nette/utils": "^3.1.4 || ^4.0", - "php": ">=7.1 <8.1" + "nette/utils": "^2.5.7 || ^3.1.5 || ^4.0", + "php": ">=7.1 <8.2" }, "require-dev": { "nette/tester": "^2.3 || ^2.4", @@ -2013,26 +2107,26 @@ ], "support": { "issues": "https://github.com/nette/schema/issues", - "source": "https://github.com/nette/schema/tree/v1.2.1" + "source": "https://github.com/nette/schema/tree/v1.2.2" }, - "time": "2021-03-04T17:51:11+00:00" + "time": "2021-10-15T11:40:02+00:00" }, { "name": "nette/utils", - "version": "v3.2.3", + "version": "v3.2.5", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "5c36cc1ba9bb6abb8a9e425cf054e0c3fd5b9822" + "reference": "9cd80396ca58d7969ab44fc7afcf03624dfa526e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/5c36cc1ba9bb6abb8a9e425cf054e0c3fd5b9822", - "reference": "5c36cc1ba9bb6abb8a9e425cf054e0c3fd5b9822", + "url": "https://api.github.com/repos/nette/utils/zipball/9cd80396ca58d7969ab44fc7afcf03624dfa526e", + "reference": "9cd80396ca58d7969ab44fc7afcf03624dfa526e", "shasum": "" }, "require": { - "php": ">=7.2 <8.1" + "php": ">=7.2 <8.2" }, "conflict": { "nette/di": "<3.0.6" @@ -2098,22 +2192,22 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v3.2.3" + "source": "https://github.com/nette/utils/tree/v3.2.5" }, - "time": "2021-08-16T21:05:00+00:00" + "time": "2021-09-20T10:50:11+00:00" }, { "name": "nikic/php-parser", - "version": "v4.12.0", + "version": "v4.13.1", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "6608f01670c3cc5079e18c1dab1104e002579143" + "reference": "63a79e8daa781cac14e5195e63ed8ae231dd10fd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6608f01670c3cc5079e18c1dab1104e002579143", - "reference": "6608f01670c3cc5079e18c1dab1104e002579143", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/63a79e8daa781cac14e5195e63ed8ae231dd10fd", + "reference": "63a79e8daa781cac14e5195e63ed8ae231dd10fd", "shasum": "" }, "require": { @@ -2154,39 +2248,38 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.12.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.13.1" }, - "time": "2021-07-21T10:44:31+00:00" + "time": "2021-11-03T20:52:16+00:00" }, { "name": "nunomaduro/collision", - "version": "v5.9.0", + "version": "v5.10.0", "source": { "type": "git", "url": "https://github.com/nunomaduro/collision.git", - "reference": "63456f5c3e8c4bc52bd573e5c85674d64d84fd43" + "reference": "3004cfa49c022183395eabc6d0e5207dfe498d00" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/collision/zipball/63456f5c3e8c4bc52bd573e5c85674d64d84fd43", - "reference": "63456f5c3e8c4bc52bd573e5c85674d64d84fd43", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/3004cfa49c022183395eabc6d0e5207dfe498d00", + "reference": "3004cfa49c022183395eabc6d0e5207dfe498d00", "shasum": "" }, "require": { "facade/ignition-contracts": "^1.0", - "filp/whoops": "^2.7.2", + "filp/whoops": "^2.14.3", "php": "^7.3 || ^8.0", "symfony/console": "^5.0" }, "require-dev": { "brianium/paratest": "^6.1", "fideloper/proxy": "^4.4.1", - "friendsofphp/php-cs-fixer": "^3.0", "fruitcake/laravel-cors": "^2.0.3", - "laravel/framework": "^8.0 || ^9.0", + "laravel/framework": "8.x-dev", "nunomaduro/larastan": "^0.6.2", "nunomaduro/mock-final-classes": "^1.0", - "orchestra/testbench": "^6.0 || ^7.0", + "orchestra/testbench": "^6.0", "phpstan/phpstan": "^0.12.64", "phpunit/phpunit": "^9.5.0" }, @@ -2244,7 +2337,7 @@ "type": "patreon" } ], - "time": "2021-08-26T15:32:09+00:00" + "time": "2021-09-20T15:06:32+00:00" }, { "name": "opis/closure", @@ -2313,24 +2406,24 @@ }, { "name": "orchestra/testbench", - "version": "v6.21.0", + "version": "v6.22.0", "source": { "type": "git", "url": "https://github.com/orchestral/testbench.git", - "reference": "9082c6e2b8abd5e8aacb7c2895f24c1b1b3f59f1" + "reference": "e91dbf9402f1f635c00bd0b3bc4d6501beff76ad" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/testbench/zipball/9082c6e2b8abd5e8aacb7c2895f24c1b1b3f59f1", - "reference": "9082c6e2b8abd5e8aacb7c2895f24c1b1b3f59f1", + "url": "https://api.github.com/repos/orchestral/testbench/zipball/e91dbf9402f1f635c00bd0b3bc4d6501beff76ad", + "reference": "e91dbf9402f1f635c00bd0b3bc4d6501beff76ad", "shasum": "" }, "require": { - "laravel/framework": "^8.54", - "mockery/mockery": "^1.4.2", - "orchestra/testbench-core": "^6.25", + "laravel/framework": "^8.65", + "mockery/mockery": "^1.4.4", + "orchestra/testbench-core": "^6.26", "php": "^7.3 || ^8.0", - "phpunit/phpunit": "^8.4 || ^9.3.3", + "phpunit/phpunit": "^8.5.21 || ^9.5.10", "spatie/laravel-ray": "^1.18" }, "type": "library", @@ -2362,7 +2455,7 @@ ], "support": { "issues": "https://github.com/orchestral/testbench/issues", - "source": "https://github.com/orchestral/testbench/tree/v6.21.0" + "source": "https://github.com/orchestral/testbench/tree/v6.22.0" }, "funding": [ { @@ -2374,20 +2467,20 @@ "type": "liberapay" } ], - "time": "2021-09-08T08:33:50+00:00" + "time": "2021-10-21T06:32:17+00:00" }, { "name": "orchestra/testbench-core", - "version": "v6.25.1", + "version": "v6.26.0", "source": { "type": "git", "url": "https://github.com/orchestral/testbench-core.git", - "reference": "99fb87c96cc7876176217470f81b447e4deb41e8" + "reference": "d4df6eda45104043da7a99e0a272b1507c6d4fe0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/99fb87c96cc7876176217470f81b447e4deb41e8", - "reference": "99fb87c96cc7876176217470f81b447e4deb41e8", + "url": "https://api.github.com/repos/orchestral/testbench-core/zipball/d4df6eda45104043da7a99e0a272b1507c6d4fe0", + "reference": "d4df6eda45104043da7a99e0a272b1507c6d4fe0", "shasum": "" }, "require": { @@ -2397,20 +2490,20 @@ "vlucas/phpdotenv": "^5.1" }, "require-dev": { - "laravel/framework": "^8.54", + "laravel/framework": "^8.65", "laravel/laravel": "8.x-dev", - "mockery/mockery": "^1.4.2", + "mockery/mockery": "^1.4.4", "orchestra/canvas": "^6.1", - "phpunit/phpunit": "^8.4 || ^9.3.3 || ^10.0", + "phpunit/phpunit": "^8.5.21 || ^9.5.10 || ^10.0", "spatie/laravel-ray": "^1.7.1", "symfony/process": "^5.0" }, "suggest": { - "laravel/framework": "Required for testing (^8.54).", - "mockery/mockery": "Allow using Mockery for testing (^1.4.2).", + "laravel/framework": "Required for testing (^8.65).", + "mockery/mockery": "Allow using Mockery for testing (^1.4.4).", "orchestra/testbench-browser-kit": "Allow using legacy Laravel BrowserKit for testing (^6.0).", "orchestra/testbench-dusk": "Allow using Laravel Dusk for testing (^6.0).", - "phpunit/phpunit": "Allow using PHPUnit for testing (^8.4|^9.3.3)." + "phpunit/phpunit": "Allow using PHPUnit for testing (^8.5.21|^9.5.10|^10.0)." }, "bin": [ "testbench" @@ -2464,20 +2557,20 @@ "type": "liberapay" } ], - "time": "2021-09-10T17:36:06+00:00" + "time": "2021-10-21T06:20:26+00:00" }, { "name": "pestphp/pest", - "version": "v1.18.0", + "version": "v1.20.0", "source": { "type": "git", "url": "https://github.com/pestphp/pest.git", - "reference": "60c06365233f8b7f6958799529f42cea7f9fbaf8" + "reference": "ba06c5a76d95bbdef93aa4e05b489c3335b6c8c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pestphp/pest/zipball/60c06365233f8b7f6958799529f42cea7f9fbaf8", - "reference": "60c06365233f8b7f6958799529f42cea7f9fbaf8", + "url": "https://api.github.com/repos/pestphp/pest/zipball/ba06c5a76d95bbdef93aa4e05b489c3335b6c8c1", + "reference": "ba06c5a76d95bbdef93aa4e05b489c3335b6c8c1", "shasum": "" }, "require": { @@ -2505,7 +2598,8 @@ "plugins": [ "Pest\\Plugins\\Coverage", "Pest\\Plugins\\Init", - "Pest\\Plugins\\Version" + "Pest\\Plugins\\Version", + "Pest\\Plugins\\Environment" ] }, "laravel": { @@ -2544,7 +2638,7 @@ ], "support": { "issues": "https://github.com/pestphp/pest/issues", - "source": "https://github.com/pestphp/pest/tree/v1.18.0" + "source": "https://github.com/pestphp/pest/tree/v1.20.0" }, "funding": [ { @@ -2572,7 +2666,7 @@ "type": "patreon" } ], - "time": "2021-08-29T23:05:26+00:00" + "time": "2021-09-25T12:52:12+00:00" }, { "name": "pestphp/pest-plugin", @@ -2915,16 +3009,16 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "5.2.2", + "version": "5.3.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" + "reference": "622548b623e81ca6d78b721c5e029f4ce664f170" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", - "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170", + "reference": "622548b623e81ca6d78b721c5e029f4ce664f170", "shasum": "" }, "require": { @@ -2935,7 +3029,8 @@ "webmozart/assert": "^1.9.1" }, "require-dev": { - "mockery/mockery": "~1.3.2" + "mockery/mockery": "~1.3.2", + "psalm/phar": "^4.8" }, "type": "library", "extra": { @@ -2965,22 +3060,22 @@ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "support": { "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master" + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0" }, - "time": "2020-09-03T19:13:55+00:00" + "time": "2021-10-19T17:43:47+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "1.4.0", + "version": "1.5.1", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0" + "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", - "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/a12f7e301eb7258bb68acd89d4aefa05c2906cae", + "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae", "shasum": "" }, "require": { @@ -2988,7 +3083,8 @@ "phpdocumentor/reflection-common": "^2.0" }, "require-dev": { - "ext-tokenizer": "*" + "ext-tokenizer": "*", + "psalm/phar": "^4.8" }, "type": "library", "extra": { @@ -3014,9 +3110,9 @@ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.4.0" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.5.1" }, - "time": "2020-09-17T18:55:26+00:00" + "time": "2021-10-02T14:08:47+00:00" }, { "name": "phpoption/phpoption", @@ -3220,23 +3316,23 @@ }, { "name": "phpunit/php-code-coverage", - "version": "9.2.6", + "version": "9.2.8", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "f6293e1b30a2354e8428e004689671b83871edde" + "reference": "cf04e88a2e3c56fc1a65488afd493325b4c1bc3e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f6293e1b30a2354e8428e004689671b83871edde", - "reference": "f6293e1b30a2354e8428e004689671b83871edde", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/cf04e88a2e3c56fc1a65488afd493325b4c1bc3e", + "reference": "cf04e88a2e3c56fc1a65488afd493325b4c1bc3e", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.10.2", + "nikic/php-parser": "^4.13.0", "php": ">=7.3", "phpunit/php-file-iterator": "^3.0.3", "phpunit/php-text-template": "^2.0.2", @@ -3285,7 +3381,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.6" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.8" }, "funding": [ { @@ -3293,7 +3389,7 @@ "type": "github" } ], - "time": "2021-03-28T07:26:59+00:00" + "time": "2021-10-30T08:01:38+00:00" }, { "name": "phpunit/php-file-iterator", @@ -3538,16 +3634,16 @@ }, { "name": "phpunit/phpunit", - "version": "9.5.9", + "version": "9.5.10", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "ea8c2dfb1065eb35a79b3681eee6e6fb0a6f273b" + "reference": "c814a05837f2edb0d1471d6e3f4ab3501ca3899a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/ea8c2dfb1065eb35a79b3681eee6e6fb0a6f273b", - "reference": "ea8c2dfb1065eb35a79b3681eee6e6fb0a6f273b", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c814a05837f2edb0d1471d6e3f4ab3501ca3899a", + "reference": "c814a05837f2edb0d1471d6e3f4ab3501ca3899a", "shasum": "" }, "require": { @@ -3563,7 +3659,7 @@ "phar-io/version": "^3.0.2", "php": ">=7.3", "phpspec/prophecy": "^1.12.1", - "phpunit/php-code-coverage": "^9.2.3", + "phpunit/php-code-coverage": "^9.2.7", "phpunit/php-file-iterator": "^3.0.5", "phpunit/php-invoker": "^3.1.1", "phpunit/php-text-template": "^2.0.3", @@ -3625,7 +3721,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.9" + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.5.10" }, "funding": [ { @@ -3637,28 +3733,28 @@ "type": "github" } ], - "time": "2021-08-31T06:47:40+00:00" + "time": "2021-09-25T07:38:51+00:00" }, { "name": "pimple/pimple", - "version": "v3.4.0", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/silexphp/Pimple.git", - "reference": "86406047271859ffc13424a048541f4531f53601" + "reference": "a94b3a4db7fb774b3d78dad2315ddc07629e1bed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/silexphp/Pimple/zipball/86406047271859ffc13424a048541f4531f53601", - "reference": "86406047271859ffc13424a048541f4531f53601", + "url": "https://api.github.com/repos/silexphp/Pimple/zipball/a94b3a4db7fb774b3d78dad2315ddc07629e1bed", + "reference": "a94b3a4db7fb774b3d78dad2315ddc07629e1bed", "shasum": "" }, "require": { "php": ">=7.2.5", - "psr/container": "^1.1" + "psr/container": "^1.1 || ^2.0" }, "require-dev": { - "symfony/phpunit-bridge": "^5.0" + "symfony/phpunit-bridge": "^5.4@dev" }, "type": "library", "extra": { @@ -3688,26 +3784,26 @@ "dependency injection" ], "support": { - "source": "https://github.com/silexphp/Pimple/tree/v3.4.0" + "source": "https://github.com/silexphp/Pimple/tree/v3.5.0" }, - "time": "2021-03-06T08:28:00+00:00" + "time": "2021-10-28T11:13:42+00:00" }, { "name": "psr/container", - "version": "1.1.1", + "version": "1.1.2", "source": { "type": "git", "url": "https://github.com/php-fig/container.git", - "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", - "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", + "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", "shasum": "" }, "require": { - "php": ">=7.2.0" + "php": ">=7.4.0" }, "type": "library", "autoload": { @@ -3736,9 +3832,9 @@ ], "support": { "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/1.1.1" + "source": "https://github.com/php-fig/container/tree/1.1.2" }, - "time": "2021-03-05T17:36:06+00:00" + "time": "2021-11-05T16:50:12+00:00" }, { "name": "psr/event-dispatcher", @@ -3900,30 +3996,30 @@ }, { "name": "psr/log", - "version": "1.1.4", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11" + "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/d49695b909c3b7628b6289db5479a1c204601f11", - "reference": "d49695b909c3b7628b6289db5479a1c204601f11", + "url": "https://api.github.com/repos/php-fig/log/zipball/ef29f6d262798707a9edd554e2b82517ef3a9376", + "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376", "shasum": "" }, "require": { - "php": ">=5.3.0" + "php": ">=8.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { "psr-4": { - "Psr\\Log\\": "Psr/Log/" + "Psr\\Log\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -3944,9 +4040,9 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/1.1.4" + "source": "https://github.com/php-fig/log/tree/2.0.0" }, - "time": "2021-05-03T11:20:27+00:00" + "time": "2021-07-14T16:41:46+00:00" }, { "name": "psr/simple-cache", @@ -4045,16 +4141,16 @@ }, { "name": "ramsey/collection", - "version": "1.2.1", + "version": "1.2.2", "source": { "type": "git", "url": "https://github.com/ramsey/collection.git", - "reference": "eaca1dc1054ddd10cbd83c1461907bee6fb528fa" + "reference": "cccc74ee5e328031b15640b51056ee8d3bb66c0a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/eaca1dc1054ddd10cbd83c1461907bee6fb528fa", - "reference": "eaca1dc1054ddd10cbd83c1461907bee6fb528fa", + "url": "https://api.github.com/repos/ramsey/collection/zipball/cccc74ee5e328031b15640b51056ee8d3bb66c0a", + "reference": "cccc74ee5e328031b15640b51056ee8d3bb66c0a", "shasum": "" }, "require": { @@ -4108,7 +4204,7 @@ ], "support": { "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/1.2.1" + "source": "https://github.com/ramsey/collection/tree/1.2.2" }, "funding": [ { @@ -4120,28 +4216,29 @@ "type": "tidelift" } ], - "time": "2021-08-06T03:41:06+00:00" + "time": "2021-10-10T03:01:02+00:00" }, { "name": "ramsey/uuid", - "version": "4.2.1", + "version": "4.2.3", "source": { "type": "git", "url": "https://github.com/ramsey/uuid.git", - "reference": "fe665a03df4f056aa65af552a96e1976df8c8dae" + "reference": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/fe665a03df4f056aa65af552a96e1976df8c8dae", - "reference": "fe665a03df4f056aa65af552a96e1976df8c8dae", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df", + "reference": "fc9bb7fb5388691fd7373cd44dcb4d63bbcf24df", "shasum": "" }, "require": { "brick/math": "^0.8 || ^0.9", "ext-json": "*", - "php": "^7.2 || ^8", + "php": "^7.2 || ^8.0", "ramsey/collection": "^1.0", - "symfony/polyfill-ctype": "^1.8" + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-php80": "^1.14" }, "replace": { "rhumsaa/uuid": "self.version" @@ -4205,7 +4302,7 @@ ], "support": { "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.2.1" + "source": "https://github.com/ramsey/uuid/tree/4.2.3" }, "funding": [ { @@ -4217,7 +4314,7 @@ "type": "tidelift" } ], - "time": "2021-08-11T01:06:55+00:00" + "time": "2021-09-25T23:10:38+00:00" }, { "name": "sebastian/cli-parser", @@ -5247,24 +5344,24 @@ }, { "name": "spatie/laravel-package-tools", - "version": "1.9.0", + "version": "1.9.2", "source": { "type": "git", "url": "https://github.com/spatie/laravel-package-tools.git", - "reference": "cf4c4cec220575e2864c6082842d76822421f1b1" + "reference": "f710fe196c126fb9e0aee67eb5af49ad8f13f528" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/cf4c4cec220575e2864c6082842d76822421f1b1", - "reference": "cf4c4cec220575e2864c6082842d76822421f1b1", + "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/f710fe196c126fb9e0aee67eb5af49ad8f13f528", + "reference": "f710fe196c126fb9e0aee67eb5af49ad8f13f528", "shasum": "" }, "require": { "illuminate/contracts": "^7.0|^8.0", - "mockery/mockery": "^1.4", "php": "^7.4|^8.0" }, "require-dev": { + "mockery/mockery": "^1.4", "orchestra/testbench": "^5.0|^6.0", "phpunit/phpunit": "^9.3", "spatie/test-time": "^1.2" @@ -5295,7 +5392,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-package-tools/issues", - "source": "https://github.com/spatie/laravel-package-tools/tree/1.9.0" + "source": "https://github.com/spatie/laravel-package-tools/tree/1.9.2" }, "funding": [ { @@ -5303,20 +5400,20 @@ "type": "github" } ], - "time": "2021-05-23T15:12:33+00:00" + "time": "2021-09-21T13:06:51+00:00" }, { "name": "spatie/laravel-ray", - "version": "1.25.2", + "version": "1.26.1", "source": { "type": "git", "url": "https://github.com/spatie/laravel-ray.git", - "reference": "9379ed902a42d8909051d9bd5ca05a7329be7b87" + "reference": "5ecc2ebbdad8ae3ec31274596d922495cff69184" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-ray/zipball/9379ed902a42d8909051d9bd5ca05a7329be7b87", - "reference": "9379ed902a42d8909051d9bd5ca05a7329be7b87", + "url": "https://api.github.com/repos/spatie/laravel-ray/zipball/5ecc2ebbdad8ae3ec31274596d922495cff69184", + "reference": "5ecc2ebbdad8ae3ec31274596d922495cff69184", "shasum": "" }, "require": { @@ -5373,7 +5470,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-ray/issues", - "source": "https://github.com/spatie/laravel-ray/tree/1.25.2" + "source": "https://github.com/spatie/laravel-ray/tree/1.26.1" }, "funding": [ { @@ -5385,7 +5482,7 @@ "type": "other" } ], - "time": "2021-09-10T07:21:33+00:00" + "time": "2021-10-01T13:08:05+00:00" }, { "name": "spatie/macroable", @@ -5439,16 +5536,16 @@ }, { "name": "spatie/ray", - "version": "1.30.2", + "version": "1.30.3", "source": { "type": "git", "url": "https://github.com/spatie/ray.git", - "reference": "f6344f8abf3ede60c963d9d3f7f35fb526b6138c" + "reference": "5ec8449def9735d58b66d8024776becb3b020288" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/ray/zipball/f6344f8abf3ede60c963d9d3f7f35fb526b6138c", - "reference": "f6344f8abf3ede60c963d9d3f7f35fb526b6138c", + "url": "https://api.github.com/repos/spatie/ray/zipball/5ec8449def9735d58b66d8024776becb3b020288", + "reference": "5ec8449def9735d58b66d8024776becb3b020288", "shasum": "" }, "require": { @@ -5498,7 +5595,7 @@ ], "support": { "issues": "https://github.com/spatie/ray/issues", - "source": "https://github.com/spatie/ray/tree/1.30.2" + "source": "https://github.com/spatie/ray/tree/1.30.3" }, "funding": [ { @@ -5510,20 +5607,20 @@ "type": "other" } ], - "time": "2021-09-10T07:22:57+00:00" + "time": "2021-10-07T22:07:04+00:00" }, { "name": "swiftmailer/swiftmailer", - "version": "v6.2.7", + "version": "v6.3.0", "source": { "type": "git", "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "15f7faf8508e04471f666633addacf54c0ab5933" + "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/15f7faf8508e04471f666633addacf54c0ab5933", - "reference": "15f7faf8508e04471f666633addacf54c0ab5933", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8a5d5072dca8f48460fce2f4131fcc495eec654c", + "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c", "shasum": "" }, "require": { @@ -5535,7 +5632,7 @@ }, "require-dev": { "mockery/mockery": "^1.0", - "symfony/phpunit-bridge": "^4.4|^5.0" + "symfony/phpunit-bridge": "^4.4|^5.4" }, "suggest": { "ext-intl": "Needed to support internationalized email addresses" @@ -5573,7 +5670,7 @@ ], "support": { "issues": "https://github.com/swiftmailer/swiftmailer/issues", - "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.2.7" + "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.3.0" }, "funding": [ { @@ -5585,20 +5682,20 @@ "type": "tidelift" } ], - "time": "2021-03-09T12:30:35+00:00" + "time": "2021-10-18T15:26:12+00:00" }, { "name": "symfony/console", - "version": "v5.3.7", + "version": "v5.3.10", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "8b1008344647462ae6ec57559da166c2bfa5e16a" + "reference": "d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/8b1008344647462ae6ec57559da166c2bfa5e16a", - "reference": "8b1008344647462ae6ec57559da166c2bfa5e16a", + "url": "https://api.github.com/repos/symfony/console/zipball/d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3", + "reference": "d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3", "shasum": "" }, "require": { @@ -5668,7 +5765,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.3.7" + "source": "https://github.com/symfony/console/tree/v5.3.10" }, "funding": [ { @@ -5684,7 +5781,7 @@ "type": "tidelift" } ], - "time": "2021-08-25T20:02:16+00:00" + "time": "2021-10-26T09:30:15+00:00" }, { "name": "symfony/css-selector", @@ -6193,16 +6290,16 @@ }, { "name": "symfony/http-foundation", - "version": "v5.3.7", + "version": "v5.3.10", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "e36c8e5502b4f3f0190c675f1c1f1248a64f04e5" + "reference": "9f34f02e8a5fdc7a56bafe011cea1ce97300e54c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/e36c8e5502b4f3f0190c675f1c1f1248a64f04e5", - "reference": "e36c8e5502b4f3f0190c675f1c1f1248a64f04e5", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/9f34f02e8a5fdc7a56bafe011cea1ce97300e54c", + "reference": "9f34f02e8a5fdc7a56bafe011cea1ce97300e54c", "shasum": "" }, "require": { @@ -6246,7 +6343,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.3.7" + "source": "https://github.com/symfony/http-foundation/tree/v5.3.10" }, "funding": [ { @@ -6262,20 +6359,20 @@ "type": "tidelift" } ], - "time": "2021-08-27T11:20:35+00:00" + "time": "2021-10-11T15:41:55+00:00" }, { "name": "symfony/http-kernel", - "version": "v5.3.7", + "version": "v5.3.10", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "a3a78e37935a527b50376c22ac1cec35b57fe787" + "reference": "703e4079920468e9522b72cf47fd76ce8d795e86" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/a3a78e37935a527b50376c22ac1cec35b57fe787", - "reference": "a3a78e37935a527b50376c22ac1cec35b57fe787", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/703e4079920468e9522b72cf47fd76ce8d795e86", + "reference": "703e4079920468e9522b72cf47fd76ce8d795e86", "shasum": "" }, "require": { @@ -6358,7 +6455,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v5.3.7" + "source": "https://github.com/symfony/http-kernel/tree/v5.3.10" }, "funding": [ { @@ -6374,20 +6471,20 @@ "type": "tidelift" } ], - "time": "2021-08-30T12:37:19+00:00" + "time": "2021-10-29T08:36:48+00:00" }, { "name": "symfony/mime", - "version": "v5.3.7", + "version": "v5.3.8", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "ae887cb3b044658676129f5e97aeb7e9eb69c2d8" + "reference": "a756033d0a7e53db389618653ae991eba5a19a11" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/ae887cb3b044658676129f5e97aeb7e9eb69c2d8", - "reference": "ae887cb3b044658676129f5e97aeb7e9eb69c2d8", + "url": "https://api.github.com/repos/symfony/mime/zipball/a756033d0a7e53db389618653ae991eba5a19a11", + "reference": "a756033d0a7e53db389618653ae991eba5a19a11", "shasum": "" }, "require": { @@ -6441,7 +6538,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v5.3.7" + "source": "https://github.com/symfony/mime/tree/v5.3.8" }, "funding": [ { @@ -6457,7 +6554,7 @@ "type": "tidelift" } ], - "time": "2021-08-20T11:40:01+00:00" + "time": "2021-09-10T12:30:38+00:00" }, { "name": "symfony/polyfill-ctype", @@ -7562,16 +7659,16 @@ }, { "name": "symfony/string", - "version": "v5.3.7", + "version": "v5.3.10", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "8d224396e28d30f81969f083a58763b8b9ceb0a5" + "reference": "d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/8d224396e28d30f81969f083a58763b8b9ceb0a5", - "reference": "8d224396e28d30f81969f083a58763b8b9ceb0a5", + "url": "https://api.github.com/repos/symfony/string/zipball/d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c", + "reference": "d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c", "shasum": "" }, "require": { @@ -7625,7 +7722,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.3.7" + "source": "https://github.com/symfony/string/tree/v5.3.10" }, "funding": [ { @@ -7641,20 +7738,20 @@ "type": "tidelift" } ], - "time": "2021-08-26T08:00:08+00:00" + "time": "2021-10-27T18:21:46+00:00" }, { "name": "symfony/translation", - "version": "v5.3.7", + "version": "v5.3.10", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "4d595a6d15fd3a2c67f6f31d14d15d3b7356d7a6" + "reference": "6ef197aea2ac8b9cd63e0da7522b3771714035aa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/4d595a6d15fd3a2c67f6f31d14d15d3b7356d7a6", - "reference": "4d595a6d15fd3a2c67f6f31d14d15d3b7356d7a6", + "url": "https://api.github.com/repos/symfony/translation/zipball/6ef197aea2ac8b9cd63e0da7522b3771714035aa", + "reference": "6ef197aea2ac8b9cd63e0da7522b3771714035aa", "shasum": "" }, "require": { @@ -7720,7 +7817,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v5.3.7" + "source": "https://github.com/symfony/translation/tree/v5.3.10" }, "funding": [ { @@ -7736,7 +7833,7 @@ "type": "tidelift" } ], - "time": "2021-08-26T08:22:53+00:00" + "time": "2021-10-10T06:43:24+00:00" }, { "name": "symfony/translation-contracts", @@ -7818,16 +7915,16 @@ }, { "name": "symfony/var-dumper", - "version": "v5.3.7", + "version": "v5.3.10", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "3ad5af4aed07d0a0201bbcfc42658fe6c5b2fb8f" + "reference": "875432adb5f5570fff21036fd22aee244636b7d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/3ad5af4aed07d0a0201bbcfc42658fe6c5b2fb8f", - "reference": "3ad5af4aed07d0a0201bbcfc42658fe6c5b2fb8f", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/875432adb5f5570fff21036fd22aee244636b7d1", + "reference": "875432adb5f5570fff21036fd22aee244636b7d1", "shasum": "" }, "require": { @@ -7886,7 +7983,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.3.7" + "source": "https://github.com/symfony/var-dumper/tree/v5.3.10" }, "funding": [ { @@ -7902,7 +7999,7 @@ "type": "tidelift" } ], - "time": "2021-08-04T23:19:25+00:00" + "time": "2021-10-26T09:30:15+00:00" }, { "name": "symfony/yaml", @@ -7981,16 +8078,16 @@ }, { "name": "symplify/monorepo-builder", - "version": "9.4.60", + "version": "9.4.70", "source": { "type": "git", "url": "https://github.com/symplify/monorepo-builder.git", - "reference": "f8c7dbb1be329b21553d5508fc74abfa23b60fdc" + "reference": "49260ac962cbeadb1670adc115c3dbe80abdd2b1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symplify/monorepo-builder/zipball/f8c7dbb1be329b21553d5508fc74abfa23b60fdc", - "reference": "f8c7dbb1be329b21553d5508fc74abfa23b60fdc", + "url": "https://api.github.com/repos/symplify/monorepo-builder/zipball/49260ac962cbeadb1670adc115c3dbe80abdd2b1", + "reference": "49260ac962cbeadb1670adc115c3dbe80abdd2b1", "shasum": "" }, "require": { @@ -8006,7 +8103,7 @@ ], "description": "Prefixed version of Not only Composer tools to build a Monorepo.", "support": { - "source": "https://github.com/symplify/monorepo-builder/tree/9.4.60" + "source": "https://github.com/symplify/monorepo-builder/tree/9.4.70" }, "funding": [ { @@ -8018,7 +8115,7 @@ "type": "github" } ], - "time": "2021-09-13T14:40:19+00:00" + "time": "2021-10-02T16:07:18+00:00" }, { "name": "theseer/tokenizer", @@ -8125,31 +8222,31 @@ }, { "name": "vlucas/phpdotenv", - "version": "v5.3.0", + "version": "v5.3.1", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "b3eac5c7ac896e52deab4a99068e3f4ab12d9e56" + "reference": "accaddf133651d4b5cf81a119f25296736ffc850" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/b3eac5c7ac896e52deab4a99068e3f4ab12d9e56", - "reference": "b3eac5c7ac896e52deab4a99068e3f4ab12d9e56", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/accaddf133651d4b5cf81a119f25296736ffc850", + "reference": "accaddf133651d4b5cf81a119f25296736ffc850", "shasum": "" }, "require": { "ext-pcre": "*", - "graham-campbell/result-type": "^1.0.1", + "graham-campbell/result-type": "^1.0.2", "php": "^7.1.3 || ^8.0", - "phpoption/phpoption": "^1.7.4", - "symfony/polyfill-ctype": "^1.17", - "symfony/polyfill-mbstring": "^1.17", - "symfony/polyfill-php80": "^1.17" + "phpoption/phpoption": "^1.8", + "symfony/polyfill-ctype": "^1.23", + "symfony/polyfill-mbstring": "^1.23.1", + "symfony/polyfill-php80": "^1.23.1" }, "require-dev": { "bamarni/composer-bin-plugin": "^1.4.1", "ext-filter": "*", - "phpunit/phpunit": "^7.5.20 || ^8.5.14 || ^9.5.1" + "phpunit/phpunit": "^7.5.20 || ^8.5.21 || ^9.5.10" }, "suggest": { "ext-filter": "Required to use the boolean validator." @@ -8172,13 +8269,11 @@ "authors": [ { "name": "Graham Campbell", - "email": "graham@alt-three.com", - "homepage": "https://gjcampbell.co.uk/" + "email": "hello@gjcampbell.co.uk" }, { "name": "Vance Lucas", - "email": "vance@vancelucas.com", - "homepage": "https://vancelucas.com/" + "email": "vance@vancelucas.com" } ], "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", @@ -8189,7 +8284,7 @@ ], "support": { "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v5.3.0" + "source": "https://github.com/vlucas/phpdotenv/tree/v5.3.1" }, "funding": [ { @@ -8201,7 +8296,7 @@ "type": "tidelift" } ], - "time": "2021-01-20T15:23:13+00:00" + "time": "2021-10-02T19:24:42+00:00" }, { "name": "voku/portable-ascii", diff --git a/main.js b/main.js new file mode 100644 index 0000000000..697d5c2903 --- /dev/null +++ b/main.js @@ -0,0 +1,6 @@ +/******/ (() => { // webpackBootstrap +/******/ "use strict"; +/******/ +/******/ +/******/ })() +; \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index d2182dcf71..5567cb7859 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,11 +5,15 @@ "packages": { "": { "devDependencies": { + "@alpinejs/trap": "^3.5.0", "@babel/runtime": "^7.15.3", "@github/file-attachment-element": "^2.0.1", "@github/markdown-toolbar-element": "^1.5.1", + "@tailwindcss/forms": "^0.3.4", + "@tailwindcss/typography": "^0.4.1", + "alpinejs": "^3.5.0", "dayjs": "^1.10.6", - "esbuild": "^0.12.16", + "esbuild": "^0.8.57", "filepond": "^4.28.2", "filepond-plugin-file-validate-size": "^2.2.4", "filepond-plugin-file-validate-type": "^1.2.6", @@ -19,15 +23,1651 @@ "filepond-plugin-image-resize": "^2.0.10", "filepond-plugin-image-transform": "^3.8.6", "imask": "^6.1.0", + "laravel-mix": "^6.0.37", "marked": "^3.0.0", "mdhl": "^0.0.6", + "tailwindcss": "^2.2.19", "trix": "^1.3.1" } }, + "node_modules/@alpinejs/trap": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@alpinejs/trap/-/trap-3.5.0.tgz", + "integrity": "sha512-+dF32OmOM8PyaWaZqm7M1/tHO6fV88HrZteDRnI2uvi0mAOdalaUQqEzRA2QUa4Usj3n9HftOqhRNHoOOFSbpQ==", + "dev": true, + "dependencies": { + "focus-trap": "^6.6.1" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", + "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.0.tgz", + "integrity": "sha512-DGjt2QZse5SGd9nfOSqO4WLJ8NN/oHkijbXbPrxuoJO3oIPJL3TciZs9FX+cOHNiY9E9l0opL8g7BmLe3T+9ew==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.0.tgz", + "integrity": "sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.16.0", + "@babel/generator": "^7.16.0", + "@babel/helper-compilation-targets": "^7.16.0", + "@babel/helper-module-transforms": "^7.16.0", + "@babel/helpers": "^7.16.0", + "@babel/parser": "^7.16.0", + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.0", + "@babel/types": "^7.16.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/core/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.0.tgz", + "integrity": "sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz", + "integrity": "sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.0.tgz", + "integrity": "sha512-9KuleLT0e77wFUku6TUkqZzCEymBdtuQQ27MhEKzf9UOOJu3cYj98kyaDAzxpC7lV6DGiZFuC8XqDsq8/Kl6aQ==", + "dev": true, + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.16.0", + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.0.tgz", + "integrity": "sha512-S7iaOT1SYlqK0sQaCi21RX4+13hmdmnxIEAnQUB/eh7GeAnRjOUgTYpLkUOiRXzD+yog1JxP0qyAQZ7ZxVxLVg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.16.0", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.0.tgz", + "integrity": "sha512-XLwWvqEaq19zFlF5PTgOod4bUA+XbkR4WLQBct1bkzmxJGB0ZEJaoKF4c8cgH9oBtCDuYJ8BP5NB9uFiEgO5QA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-member-expression-to-functions": "^7.16.0", + "@babel/helper-optimise-call-expression": "^7.16.0", + "@babel/helper-replace-supers": "^7.16.0", + "@babel/helper-split-export-declaration": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.0.tgz", + "integrity": "sha512-3DyG0zAFAZKcOp7aVr33ddwkxJ0Z0Jr5V99y3I690eYLpukJsJvAbzTy1ewoCqsML8SbIrjH14Jc/nSQ4TvNPA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "regexpu-core": "^4.7.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.4.tgz", + "integrity": "sha512-OrpPZ97s+aPi6h2n1OXzdhVis1SGSsMU2aMHgLcOKfsp4/v1NWpx3CWT3lBj5eeBq9cDkPkh+YCfdF7O12uNDQ==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz", + "integrity": "sha512-Hk2SLxC9ZbcOhLpg/yMznzJ11W++lg5GMbxt1ev6TXUiJB0N42KPC+7w8a+eWGuqDnUYuwStJoZHM7RgmIOaGQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz", + "integrity": "sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==", + "dev": true, + "dependencies": { + "@babel/helper-get-function-arity": "^7.16.0", + "@babel/template": "^7.16.0", + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz", + "integrity": "sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz", + "integrity": "sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz", + "integrity": "sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz", + "integrity": "sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz", + "integrity": "sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.16.0", + "@babel/helper-replace-supers": "^7.16.0", + "@babel/helper-simple-access": "^7.16.0", + "@babel/helper-split-export-declaration": "^7.16.0", + "@babel/helper-validator-identifier": "^7.15.7", + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.0", + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz", + "integrity": "sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.0.tgz", + "integrity": "sha512-MLM1IOMe9aQBqMWxcRw8dcb9jlM86NIw7KA0Wri91Xkfied+dE0QuBFSBjMNvqzmS0OSIDsMNC24dBEkPUi7ew==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-wrap-function": "^7.16.0", + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz", + "integrity": "sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA==", + "dev": true, + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.16.0", + "@babel/helper-optimise-call-expression": "^7.16.0", + "@babel/traverse": "^7.16.0", + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz", + "integrity": "sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", + "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz", + "integrity": "sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.0.tgz", + "integrity": "sha512-VVMGzYY3vkWgCJML+qVLvGIam902mJW0FvT7Avj1zEe0Gn7D93aWdLblYARTxEw+6DhZmtzhBM2zv0ekE5zg1g==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.16.0", + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.0", + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.0.tgz", + "integrity": "sha512-dVRM0StFMdKlkt7cVcGgwD8UMaBfWJHl3A83Yfs8GQ3MO0LHIIIMvK7Fa0RGOGUQ10qikLaX6D7o5htcQWgTMQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.0", + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz", + "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.15.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.16.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.2.tgz", + "integrity": "sha512-RUVpT0G2h6rOZwqLDTrKk7ksNv7YpAilTnYe1/Q+eDjxEceRMKVWbCsX7t8h6C1qCFi/1Y8WZjcEPBAFG27GPw==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.16.2", + "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.16.2.tgz", + "integrity": "sha512-h37CvpLSf8gb2lIJ2CgC3t+EjFbi0t8qS7LCS1xcJIlEXE4czlofwaW7W1HA8zpgOCzI9C1nmoqNR1zWkk0pQg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz", + "integrity": "sha512-4tcFwwicpWTrpl9qjf7UsoosaArgImF85AxqCRZlgc3IQDvkUHjJpruXAL58Wmj+T6fypWTC/BakfEkwIL/pwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.0.tgz", + "integrity": "sha512-nyYmIo7ZqKsY6P4lnVmBlxp9B3a96CscbLotlsNuktMHahkDwoPYEjXrZHU0Tj844Z9f1IthVxQln57mhkcExw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.16.0", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.0.tgz", + "integrity": "sha512-mCF3HcuZSY9Fcx56Lbn+CGdT44ioBMMvjNVldpKtj8tpniETdLjnxdHI1+sDWXIM1nNt+EanJOZ3IG9lzVjs7A==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.0.tgz", + "integrity": "sha512-mAy3sdcY9sKAkf3lQbDiv3olOfiLqI51c9DR9b19uMoR2Z6r5pmGl7dfNFqEvqOyqbf1ta4lknK4gc5PJn3mfA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.0.tgz", + "integrity": "sha512-QGSA6ExWk95jFQgwz5GQ2Dr95cf7eI7TKutIXXTb7B1gCLTCz5hTjFTQGfLFBBiC5WSNi7udNwWsqbbMh1c4yQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.0.tgz", + "integrity": "sha512-CjI4nxM/D+5wCnhD11MHB1AwRSAYeDT+h8gCdcVJZ/OK7+wRzFsf7PFPWVpVpNRkHMmMkQWAHpTq+15IXQ1diA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.0.tgz", + "integrity": "sha512-kouIPuiv8mSi5JkEhzApg5Gn6hFyKPnlkO0a9YSzqRurH8wYzSlf6RJdzluAsbqecdW5pBvDJDfyDIUR/vLxvg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.0.tgz", + "integrity": "sha512-pbW0fE30sVTYXXm9lpVQQ/Vc+iTeQKiXlaNRZPPN2A2VdlWyAtsUrsQ3xydSlDW00TFMK7a8m3cDTkBF5WnV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.0.tgz", + "integrity": "sha512-3bnHA8CAFm7cG93v8loghDYyQ8r97Qydf63BeYiGgYbjKKB/XP53W15wfRC7dvKfoiJ34f6Rbyyx2btExc8XsQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.0.tgz", + "integrity": "sha512-FAhE2I6mjispy+vwwd6xWPyEx3NYFS13pikDBWUAFGZvq6POGs5eNchw8+1CYoEgBl9n11I3NkzD7ghn25PQ9Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.0.tgz", + "integrity": "sha512-LU/+jp89efe5HuWJLmMmFG0+xbz+I2rSI7iLc1AlaeSMDMOGzWlc5yJrMN1d04osXN4sSfpo4O+azkBNBes0jg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.16.0", + "@babel/helper-compilation-targets": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.0.tgz", + "integrity": "sha512-kicDo0A/5J0nrsCPbn89mTG3Bm4XgYi0CZtvex9Oyw7gGZE3HXGD0zpQNH+mo+tEfbo8wbmMvJftOwpmPy7aVw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.0.tgz", + "integrity": "sha512-Y4rFpkZODfHrVo70Uaj6cC1JJOt3Pp0MdWSwIKtb8z1/lsjl9AmnB7ErRFV+QNGIfcY1Eruc2UMx5KaRnXjMyg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.0.tgz", + "integrity": "sha512-IvHmcTHDFztQGnn6aWq4t12QaBXTKr1whF/dgp9kz84X6GUcwq9utj7z2wFCUfeOup/QKnOlt2k0zxkGFx9ubg==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.0.tgz", + "integrity": "sha512-3jQUr/HBbMVZmi72LpjQwlZ55i1queL8KcDTQEkAHihttJnAPrcvG9ZNXIfsd2ugpizZo595egYV6xy+pv4Ofw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-create-class-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.0.tgz", + "integrity": "sha512-ti7IdM54NXv29cA4+bNNKEMS4jLMCbJgl+Drv+FgYy0erJLAxNAIXcNjNjrRZEcWq0xJHsNVwQezskMFpF8N9g==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.0.tgz", + "integrity": "sha512-vIFb5250Rbh7roWARvCLvIJ/PtAU5Lhv7BtZ1u24COwpI9Ypjsh+bZcKk6rlIyalK+r0jOc1XQ8I4ovNxNrWrA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.0.tgz", + "integrity": "sha512-PbIr7G9kR8tdH6g8Wouir5uVjklETk91GMVSUq+VaOgiinbCkBP6Q7NN/suM/QutZkMJMvcyAriogcYAdhg8Gw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.0.tgz", + "integrity": "sha512-V14As3haUOP4ZWrLJ3VVx5rCnrYhMSHN/jX7z6FAt5hjRkLsb0snPCmJwSOML5oxkKO4FNoNv7V5hw/y2bjuvg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.0.tgz", + "integrity": "sha512-27n3l67/R3UrXfizlvHGuTwsRIFyce3D/6a37GRxn28iyTPvNXaW4XvznexRh1zUNLPjbLL22Id0XQElV94ruw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.0.tgz", + "integrity": "sha512-HUxMvy6GtAdd+GKBNYDWCIA776byUQH8zjnfjxwT1P1ARv/wFu8eBDpmXQcLS/IwRtrxIReGiplOwMeyO7nsDQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-optimise-call-expression": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.16.0", + "@babel/helper-split-export-declaration": "^7.16.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.0.tgz", + "integrity": "sha512-63l1dRXday6S8V3WFY5mXJwcRAnPYxvFfTlt67bwV1rTyVTM5zrp0DBBb13Kl7+ehkCVwIZPumPpFP/4u70+Tw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.0.tgz", + "integrity": "sha512-Q7tBUwjxLTsHEoqktemHBMtb3NYwyJPTJdM+wDwb0g8PZ3kQUIzNvwD5lPaqW/p54TXBc/MXZu9Jr7tbUEUM8Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.0.tgz", + "integrity": "sha512-FXlDZfQeLILfJlC6I1qyEwcHK5UpRCFkaoVyA1nk9A1L1Yu583YO4un2KsLBsu3IJb4CUbctZks8tD9xPQubLw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.0.tgz", + "integrity": "sha512-LIe2kcHKAZOJDNxujvmp6z3mfN6V9lJxubU4fJIGoQCkKe3Ec2OcbdlYP+vW++4MpxwG0d1wSDOJtQW5kLnkZQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.0.tgz", + "integrity": "sha512-OwYEvzFI38hXklsrbNivzpO3fh87skzx8Pnqi4LoSYeav0xHlueSoCJrSgTPfnbyzopo5b3YVAJkFIcUpK2wsw==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.0.tgz", + "integrity": "sha512-5QKUw2kO+GVmKr2wMYSATCTTnHyscl6sxFRAY+rvN7h7WB0lcG0o4NoV6ZQU32OZGVsYUsfLGgPQpDFdkfjlJQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.0.tgz", + "integrity": "sha512-lBzMle9jcOXtSOXUpc7tvvTpENu/NuekNJVova5lCCWCV9/U1ho2HH2y0p6mBg8fPm/syEAbfaaemYGOHCY3mg==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.0.tgz", + "integrity": "sha512-gQDlsSF1iv9RU04clgXqRjrPyyoJMTclFt3K1cjLmTKikc0s/6vE3hlDeEVC71wLTRu72Fq7650kABrdTc2wMQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.0.tgz", + "integrity": "sha512-WRpw5HL4Jhnxw8QARzRvwojp9MIE7Tdk3ez6vRyUk1MwgjJN0aNpRoXainLR5SgxmoXx/vsXGZ6OthP6t/RbUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.0.tgz", + "integrity": "sha512-rWFhWbCJ9Wdmzln1NmSCqn7P0RAD+ogXG/bd9Kg5c7PKWkJtkiXmYsMBeXjDlzHpVTJ4I/hnjs45zX4dEv81xw==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.0.tgz", + "integrity": "sha512-Dzi+NWqyEotgzk/sb7kgQPJQf7AJkQBWsVp1N6JWc1lBVo0vkElUnGdr1PzUBmfsCCN5OOFya3RtpeHk15oLKQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-simple-access": "^7.16.0", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.0.tgz", + "integrity": "sha512-yuGBaHS3lF1m/5R+6fjIke64ii5luRUg97N2wr+z1sF0V+sNSXPxXDdEEL/iYLszsN5VKxVB1IPfEqhzVpiqvg==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.16.0", + "@babel/helper-module-transforms": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-identifier": "^7.15.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.0.tgz", + "integrity": "sha512-nx4f6no57himWiHhxDM5pjwhae5vLpTK2zCnDH8+wNLJy0TVER/LJRHl2bkt6w9Aad2sPD5iNNoUpY3X9sTGDg==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.0.tgz", + "integrity": "sha512-LogN88uO+7EhxWc8WZuQ8vxdSyVGxhkh8WTC3tzlT8LccMuQdA81e9SGV6zY7kY2LjDhhDOFdQVxdGwPyBCnvg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.0.tgz", + "integrity": "sha512-fhjrDEYv2DBsGN/P6rlqakwRwIp7rBGLPbrKxwh7oVt5NNkIhZVOY2GRV+ULLsQri1bDqwDWnU3vhlmx5B2aCw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.0.tgz", + "integrity": "sha512-fds+puedQHn4cPLshoHcR1DTMN0q1V9ou0mUjm8whx9pGcNvDrVVrgw+KJzzCaiTdaYhldtrUps8DWVMgrSEyg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.0.tgz", + "integrity": "sha512-XgnQEm1CevKROPx+udOi/8f8TiGhrUWiHiaUCIp47tE0tpFDjzXNTZc9E5CmCwxNjXTWEVqvRfWZYOTFvMa/ZQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.0.tgz", + "integrity": "sha512-XLldD4V8+pOqX2hwfWhgwXzGdnDOThxaNTgqagOcpBgIxbUvpgU2FMvo5E1RyHbk756WYgdbS0T8y0Cj9FKkWQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.0.tgz", + "integrity": "sha512-JAvGxgKuwS2PihiSFaDrp94XOzzTUeDeOQlcKzVAyaPap7BnZXK/lvMDiubkPTdotPKOIZq9xWXWnggUMYiExg==", + "dev": true, + "dependencies": { + "regenerator-transform": "^0.14.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.0.tgz", + "integrity": "sha512-Dgs8NNCehHSvXdhEhln8u/TtJxfVwGYCgP2OOr5Z3Ar+B+zXicEOKNTyc+eca2cuEOMtjW6m9P9ijOt8QdqWkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.0.tgz", + "integrity": "sha512-zlPf1/XFn5+vWdve3AAhf+Sxl+MVa5VlwTwWgnLx23u4GlatSRQJ3Eoo9vllf0a9il3woQsT4SK+5Z7c06h8ag==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-polyfill-corejs2": "^0.2.3", + "babel-plugin-polyfill-corejs3": "^0.3.0", + "babel-plugin-polyfill-regenerator": "^0.2.3", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.0.tgz", + "integrity": "sha512-iVb1mTcD8fuhSv3k99+5tlXu5N0v8/DPm2mO3WACLG6al1CGZH7v09HJyUb1TtYl/Z+KrM6pHSIJdZxP5A+xow==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.0.tgz", + "integrity": "sha512-Ao4MSYRaLAQczZVp9/7E7QHsCuK92yHRrmVNRe/SlEJjhzivq0BSn8mEraimL8wizHZ3fuaHxKH0iwzI13GyGg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.0.tgz", + "integrity": "sha512-/ntT2NljR9foobKk4E/YyOSwcGUXtYWv5tinMK/3RkypyNBNdhHUaq6Orw5DWq9ZcNlS03BIlEALFeQgeVAo4Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.0.tgz", + "integrity": "sha512-Rd4Ic89hA/f7xUSJQk5PnC+4so50vBoBfxjdQAdvngwidM8jYIBVxBZ/sARxD4e0yMXRbJVDrYf7dyRtIIKT6Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.0.tgz", + "integrity": "sha512-++V2L8Bdf4vcaHi2raILnptTBjGEFxn5315YU+e8+EqXIucA+q349qWngCLpUYqqv233suJ6NOienIVUpS9cqg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.0.tgz", + "integrity": "sha512-VFi4dhgJM7Bpk8lRc5CMaRGlKZ29W9C3geZjt9beuzSUrlJxsNwX7ReLwaL6WEvsOf2EQkyIJEPtF8EXjB/g2A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.0.tgz", + "integrity": "sha512-jHLK4LxhHjvCeZDWyA9c+P9XH1sOxRd1RO9xMtDVRAOND/PczPqizEtVdx4TQF/wyPaewqpT+tgQFYMnN/P94A==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.0.tgz", + "integrity": "sha512-cdTu/W0IrviamtnZiTfixPfIncr2M1VqRrkjzZWlr1B4TVYimCFK5jkyOdP4qw2MrlKHi+b3ORj6x8GoCew8Dg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.16.0", + "@babel/helper-compilation-targets": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.0", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.0", + "@babel/plugin-proposal-async-generator-functions": "^7.16.0", + "@babel/plugin-proposal-class-properties": "^7.16.0", + "@babel/plugin-proposal-class-static-block": "^7.16.0", + "@babel/plugin-proposal-dynamic-import": "^7.16.0", + "@babel/plugin-proposal-export-namespace-from": "^7.16.0", + "@babel/plugin-proposal-json-strings": "^7.16.0", + "@babel/plugin-proposal-logical-assignment-operators": "^7.16.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", + "@babel/plugin-proposal-numeric-separator": "^7.16.0", + "@babel/plugin-proposal-object-rest-spread": "^7.16.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.0", + "@babel/plugin-proposal-private-methods": "^7.16.0", + "@babel/plugin-proposal-private-property-in-object": "^7.16.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.16.0", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.16.0", + "@babel/plugin-transform-async-to-generator": "^7.16.0", + "@babel/plugin-transform-block-scoped-functions": "^7.16.0", + "@babel/plugin-transform-block-scoping": "^7.16.0", + "@babel/plugin-transform-classes": "^7.16.0", + "@babel/plugin-transform-computed-properties": "^7.16.0", + "@babel/plugin-transform-destructuring": "^7.16.0", + "@babel/plugin-transform-dotall-regex": "^7.16.0", + "@babel/plugin-transform-duplicate-keys": "^7.16.0", + "@babel/plugin-transform-exponentiation-operator": "^7.16.0", + "@babel/plugin-transform-for-of": "^7.16.0", + "@babel/plugin-transform-function-name": "^7.16.0", + "@babel/plugin-transform-literals": "^7.16.0", + "@babel/plugin-transform-member-expression-literals": "^7.16.0", + "@babel/plugin-transform-modules-amd": "^7.16.0", + "@babel/plugin-transform-modules-commonjs": "^7.16.0", + "@babel/plugin-transform-modules-systemjs": "^7.16.0", + "@babel/plugin-transform-modules-umd": "^7.16.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.0", + "@babel/plugin-transform-new-target": "^7.16.0", + "@babel/plugin-transform-object-super": "^7.16.0", + "@babel/plugin-transform-parameters": "^7.16.0", + "@babel/plugin-transform-property-literals": "^7.16.0", + "@babel/plugin-transform-regenerator": "^7.16.0", + "@babel/plugin-transform-reserved-words": "^7.16.0", + "@babel/plugin-transform-shorthand-properties": "^7.16.0", + "@babel/plugin-transform-spread": "^7.16.0", + "@babel/plugin-transform-sticky-regex": "^7.16.0", + "@babel/plugin-transform-template-literals": "^7.16.0", + "@babel/plugin-transform-typeof-symbol": "^7.16.0", + "@babel/plugin-transform-unicode-escapes": "^7.16.0", + "@babel/plugin-transform-unicode-regex": "^7.16.0", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.16.0", + "babel-plugin-polyfill-corejs2": "^0.2.3", + "babel-plugin-polyfill-corejs3": "^0.3.0", + "babel-plugin-polyfill-regenerator": "^0.2.3", + "core-js-compat": "^3.19.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/runtime": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz", - "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.0.tgz", + "integrity": "sha512-Nht8L0O8YCktmsDV6FqFue7vQLRx3Hb0B37lS5y0jDRqRxlBG4wIJHnf9/bgSE2UyipKFA01YtS+npRdTWBUyw==", "dev": true, "dependencies": { "regenerator-runtime": "^0.13.4" @@ -36,6 +1676,62 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/template": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz", + "integrity": "sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.16.0", + "@babel/parser": "^7.16.0", + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.0.tgz", + "integrity": "sha512-qQ84jIs1aRQxaGaxSysII9TuDaguZ5yVrEuC0BN2vcPlalwfLovVmCjbFDPECPXcYM/wLvNFfp8uDOliLxIoUQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.16.0", + "@babel/generator": "^7.16.0", + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-hoist-variables": "^7.16.0", + "@babel/helper-split-export-declaration": "^7.16.0", + "@babel/parser": "^7.16.0", + "@babel/types": "^7.16.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz", + "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.15.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz", + "integrity": "sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/@github/file-attachment-element": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@github/file-attachment-element/-/file-attachment-element-2.0.1.tgz", @@ -48,22 +1744,2711 @@ "integrity": "sha512-fNgAuHBWWzqxMvkTMM7ijqPryLmnPVOi4OWp8YyUC74YgtJCRvQyL7gl9SzNLMXmGQxiRVIYbUJxa61X1oRObw==", "dev": true }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@tailwindcss/forms": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.3.4.tgz", + "integrity": "sha512-vlAoBifNJUkagB+PAdW4aHMe4pKmSLroH398UPgIogBFc91D2VlHUxe4pjxQhiJl0Nfw53sHSJSQBSTQBZP3vA==", + "dev": true, + "dependencies": { + "mini-svg-data-uri": "^1.2.3" + }, + "peerDependencies": { + "tailwindcss": ">=2.0.0" + } + }, + "node_modules/@tailwindcss/typography": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.4.1.tgz", + "integrity": "sha512-ovPPLUhs7zAIJfr0y1dbGlyCuPhpuv/jpBoFgqAc658DWGGrOBWBMpAWLw2KlzbNeVk4YBJMzue1ekvIbdw6XA==", + "dev": true, + "dependencies": { + "lodash.castarray": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0" + }, + "peerDependencies": { + "tailwindcss": ">=2.0.0" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.1.16", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.16.tgz", + "integrity": "sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz", + "integrity": "sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz", + "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/clean-css": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/@types/clean-css/-/clean-css-4.2.5.tgz", + "integrity": "sha512-NEzjkGGpbs9S9fgC4abuBvTpVwE3i+Acu9BBod3PUyjDVZcNsGx61b8r2PphR61QGPnn0JHVs5ey6/I4eTrkxw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "source-map": "^0.6.0" + } + }, + "node_modules/@types/eslint": { + "version": "7.28.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.2.tgz", + "integrity": "sha512-KubbADPkfoU75KgKeKLsFHXnU4ipH7wYg0TRT33NK3N3yiu7jlFAAoygIWBV+KbuHx/G+AvuGX6DllnK35gfJA==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "0.0.50", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", + "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/http-proxy": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.7.tgz", + "integrity": "sha512-9hdj6iXH64tHSLTY+Vt2eYOGzSogC+JQ2H7bdPWkuh7KXP5qLllWx++t+K9Wk556c3dkDdPws/SpMRi0sdCT1w==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/imagemin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@types/imagemin/-/imagemin-8.0.0.tgz", + "integrity": "sha512-B9X2CUeDv/uUeY9CqkzSTfmsLkeJP6PkmXlh4lODBbf9SwpmNuLS30WzUOi863dgsjY3zt3gY5q2F+UdifRi1A==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/imagemin-gifsicle": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@types/imagemin-gifsicle/-/imagemin-gifsicle-7.0.1.tgz", + "integrity": "sha512-kUz6sUh0P95JOS0RGEaaemWUrASuw+dLsWIveK2UZJx74id/B9epgblMkCk/r5MjUWbZ83wFvacG5Rb/f97gyA==", + "dev": true, + "dependencies": { + "@types/imagemin": "*" + } + }, + "node_modules/@types/imagemin-mozjpeg": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@types/imagemin-mozjpeg/-/imagemin-mozjpeg-8.0.1.tgz", + "integrity": "sha512-kMQWEoKxxhlnH4POI3qfW9DjXlQfi80ux3l2b3j5R3eudSCoUIzKQLkfMjNJ6eMYnMWBcB+rfQOWqIzdIwFGKw==", + "dev": true, + "dependencies": { + "@types/imagemin": "*" + } + }, + "node_modules/@types/imagemin-optipng": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/@types/imagemin-optipng/-/imagemin-optipng-5.2.1.tgz", + "integrity": "sha512-XCM/3q+HUL7v4zOqMI+dJ5dTxT+MUukY9KU49DSnYb/4yWtSMHJyADP+WHSMVzTR63J2ZvfUOzSilzBNEQW78g==", + "dev": true, + "dependencies": { + "@types/imagemin": "*" + } + }, + "node_modules/@types/imagemin-svgo": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@types/imagemin-svgo/-/imagemin-svgo-8.0.1.tgz", + "integrity": "sha512-YafkdrVAcr38U0Ln1C+L1n4SIZqC47VBHTyxCq7gTUSd1R9MdIvMcrljWlgU1M9O68WZDeQWUrKipKYfEOCOvQ==", + "dev": true, + "dependencies": { + "@types/imagemin": "*", + "@types/svgo": "^1" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "dev": true + }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "16.11.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.6.tgz", + "integrity": "sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w==", + "dev": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "node_modules/@types/retry": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", + "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", + "dev": true + }, + "node_modules/@types/svgo": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/@types/svgo/-/svgo-1.3.6.tgz", + "integrity": "sha512-AZU7vQcy/4WFEuwnwsNsJnFwupIpbllH1++LXScN6uxT1Z4zPzdrWG97w4/I7eFKFTvfy/bHFStWjdBAg2Vjug==", + "dev": true + }, + "node_modules/@vue/reactivity": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.1.5.tgz", + "integrity": "sha512-1tdfLmNjWG6t/CsPldh+foumYFo3cpyCHgBYQ34ylaMsJ+SNHQ1kApMIa8jN+i593zQuaw3AdWH0nJTARzCFhg==", + "dev": true, + "dependencies": { + "@vue/shared": "3.1.5" + } + }, + "node_modules/@vue/shared": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.5.tgz", + "integrity": "sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==", + "dev": true + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz", + "integrity": "sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==", + "dev": true, + "peerDependencies": { + "webpack": "4.x.x || 5.x.x", + "webpack-cli": "4.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz", + "integrity": "sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==", + "dev": true, + "dependencies": { + "envinfo": "^7.7.3" + }, + "peerDependencies": { + "webpack-cli": "4.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz", + "integrity": "sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==", + "dev": true, + "peerDependencies": { + "webpack-cli": "4.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "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==", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "dependencies": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "node_modules/alpinejs": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/alpinejs/-/alpinejs-3.5.0.tgz", + "integrity": "sha512-75gboKtn1AjGxLLWXMSZQbD1VroGqcncNmbNSPq2v9XjpGIb8U+YAHUJ0hp2MEYmMFfkXPekhSg4ESXlxh9ifg==", + "dev": true, + "dependencies": { + "@vue/reactivity": "~3.1.1" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.1.tgz", + "integrity": "sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==", + "dev": true + }, + "node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.1", + "util": "0.10.3" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "dependencies": { + "inherits": "2.0.1" + } + }, + "node_modules/async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.0.tgz", + "integrity": "sha512-7FdJ1ONtwzV1G43GDD0kpVMn/qbiNqyOPMFTX5nRffI+7vgWoFEc6DcXOxHJxrWNDXrZh18eDsZjvZGUljSRGA==", + "dev": true, + "dependencies": { + "browserslist": "^4.17.5", + "caniuse-lite": "^1.0.30001272", + "fraction.js": "^4.1.1", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.1.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/babel-loader": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", + "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", + "dev": true, + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^1.4.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.3.tgz", + "integrity": "sha512-NDZ0auNRzmAfE1oDDPW2JhzIMXUk+FFe2ICejmt5T4ocKgiQx3e0VCRx9NCAidcMtL2RUZaWtXnmjTCkx0tcbA==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.2.4", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.3.0.tgz", + "integrity": "sha512-JLwi9vloVdXLjzACL80j24bG6/T1gYxwowG44dg6HN/7aTPdyPbJJidf6ajoA3RPHHtW0j9KMrSOLpIZpAnPpg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.2.4", + "core-js-compat": "^3.18.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.3.tgz", + "integrity": "sha512-JVE78oRZPKFIeUqFGrSORNzQnrDwZR16oiWeGM8ZyjBn2XAT5OjP+wXx5ESuo33nUsFUEJYjtklnsKbxW5L+7g==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.2.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.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==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "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==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true + }, + "node_modules/body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dev": true, + "dependencies": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "dependencies": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "dependencies": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "node_modules/browserify-sign/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/browserify-sign/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/browserslist": { + "version": "4.17.6", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.6.tgz", + "integrity": "sha512-uPgz3vyRTlEiCv4ee9KlsKgo2V6qPk7Jsn0KAn2OBqbqKo3iNcPEC1Ti6J4dwnz+aIRfEEEuOzC9IBk8tXUomw==", + "dev": true, + "dependencies": { + "caniuse-lite": "^1.0.30001274", + "electron-to-chromium": "^1.3.886", + "escalade": "^3.1.1", + "node-releases": "^2.0.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "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==", + "dev": true + }, + "node_modules/buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "node_modules/bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "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==", + "dev": true, + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001278", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001278.tgz", + "integrity": "sha512-mpF9KeH8u5cMoEmIic/cr7PNS+F5LWBk0t2ekGT60lFf0Wq+n9LspAj0g3P+o7DQhD3sUdlMln4YFAWhFYn9jg==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "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, + "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/charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "dev": true, + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/clean-css": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.2.2.tgz", + "integrity": "sha512-/eR8ru5zyxKzpBLv9YZvMXgTSSQn7AdkMItMYynsFgGwTveCRVam9IUPFloE85B4vAIj05IuKmmEoV7/AQjT0w==", + "dev": true, + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-table3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.0.tgz", + "integrity": "sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "colors": "^1.1.2" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.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, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/collect.js": { + "version": "4.29.0", + "resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.29.0.tgz", + "integrity": "sha512-yhgGYEsLEcqnLT1NmRlN1+1euoz9SDhxQ4QyDhWYsKoWsg7252PKA5++dWaDs8mdFxbkmXDXQUaHXI9J2eTPkQ==", + "dev": true + }, + "node_modules/color": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/color/-/color-4.0.1.tgz", + "integrity": "sha512-rpZjOKN5O7naJxkH2Rx1sZzzBgaiWECc6BYXjeCE6kF0kcASJYbUq02u7JqIHwCb/j3NhV+QhRL2683aICeGZA==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.6.0" + } + }, + "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, + "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 + }, + "node_modules/color-string": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz", + "integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==", + "dev": true, + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/colord": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.1.tgz", + "integrity": "sha512-4LBMSt09vR0uLnPVkOUBnmxgoaeN4ewRbx801wY/bXcltXfpR/G46OdWn96XpYmCWuYvO46aBZP4NgX8HpNAcw==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", + "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", + "dev": true + }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/concat": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/concat/-/concat-1.0.3.tgz", + "integrity": "sha1-QPM1MInWVGdpXLGIa0Xt1jfYzKg=", + "dev": true, + "dependencies": { + "commander": "^2.9.0" + }, + "bin": { + "concat": "bin/concat" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "node_modules/concat/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==", + "dev": true + }, + "node_modules/connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", + "dev": true + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "node_modules/content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true, + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "node_modules/core-js-compat": { + "version": "3.19.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.19.1.tgz", + "integrity": "sha512-Q/VJ7jAF/y68+aUsQJ/afPOewdsGkDtcMb40J8MbuWKlK3Y+wtHq8bTHKPj2WKWLIqmS5JhHs4CzHtz6pT2W6g==", + "dev": true, + "dependencies": { + "browserslist": "^4.17.6", + "semver": "7.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "node_modules/cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz", + "integrity": "sha512-SvjQjNRZgh4ULK1LDJ2AduPKUKxIqmtU7ZAyi47BTV+M90Qvxr9AB6lKlLbDUfXqI9IQeYA8LbAsCZPpJEV3aA==", + "dev": true, + "dependencies": { + "timsort": "^0.3.0" + }, + "engines": { + "node": ">= 10" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-loader": { + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", + "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", + "dev": true, + "dependencies": { + "icss-utils": "^5.1.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.15", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.27.0 || ^5.0.0" + } + }, + "node_modules/css-loader/node_modules/loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/css-loader/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/css-select": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", + "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^5.0.0", + "domhandler": "^4.2.0", + "domutils": "^2.6.0", + "nth-check": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-select/node_modules/domhandler": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", + "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-unit-converter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz", + "integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==", + "dev": true + }, + "node_modules/css-what": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", + "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "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==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.10.tgz", + "integrity": "sha512-YfNhVJJ04imffOpbPbXP2zjIoByf0m8E2c/s/HnvSvjXgzXMfgopVjAEGvxYOjkOpWuRQDg/OZFjO7WW94Ri8w==", + "dev": true, + "dependencies": { + "cssnano-preset-default": "^5.1.6", + "is-resolvable": "^1.1.0", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.6.tgz", + "integrity": "sha512-X2nDeNGBXc0486oHjT2vSj+TdeyVsxRvJUxaOH50hOM6vSDLkKd0+59YXpSZRInJ4sNtBOykS4KsPfhdrU/35w==", + "dev": true, + "dependencies": { + "css-declaration-sorter": "^6.0.3", + "cssnano-utils": "^2.0.1", + "postcss-calc": "^8.0.0", + "postcss-colormin": "^5.2.1", + "postcss-convert-values": "^5.0.2", + "postcss-discard-comments": "^5.0.1", + "postcss-discard-duplicates": "^5.0.1", + "postcss-discard-empty": "^5.0.1", + "postcss-discard-overridden": "^5.0.1", + "postcss-merge-longhand": "^5.0.3", + "postcss-merge-rules": "^5.0.2", + "postcss-minify-font-values": "^5.0.1", + "postcss-minify-gradients": "^5.0.3", + "postcss-minify-params": "^5.0.1", + "postcss-minify-selectors": "^5.1.0", + "postcss-normalize-charset": "^5.0.1", + "postcss-normalize-display-values": "^5.0.1", + "postcss-normalize-positions": "^5.0.1", + "postcss-normalize-repeat-style": "^5.0.1", + "postcss-normalize-string": "^5.0.1", + "postcss-normalize-timing-functions": "^5.0.1", + "postcss-normalize-unicode": "^5.0.1", + "postcss-normalize-url": "^5.0.2", + "postcss-normalize-whitespace": "^5.0.1", + "postcss-ordered-values": "^5.0.2", + "postcss-reduce-initial": "^5.0.1", + "postcss-reduce-transforms": "^5.0.1", + "postcss-svgo": "^5.0.3", + "postcss-unique-selectors": "^5.0.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-2.0.1.tgz", + "integrity": "sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/dayjs": { "version": "1.10.7", "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.7.tgz", "integrity": "sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig==", "dev": true }, + "node_modules/debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, + "dependencies": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "node_modules/del": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", + "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", + "dev": true, + "dependencies": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/del/node_modules/globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "node_modules/detective": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", + "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", + "dev": true, + "dependencies": { + "acorn-node": "^1.6.1", + "defined": "^1.0.0", + "minimist": "^1.1.1" + }, + "bin": { + "detective": "bin/detective.js" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "node_modules/dns-packet": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", + "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", + "dev": true, + "dependencies": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "dependencies": { + "buffer-indexof": "^1.0.0" + } + }, + "node_modules/dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/domhandler": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", + "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true, + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz", + "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/domutils/node_modules/domhandler": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", + "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.3.890", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.890.tgz", + "integrity": "sha512-VWlVXSkv0cA/OOehrEyqjUTHwV8YXCPTfPvbtoeU2aHR21vI4Ejh5aC4AxUwOmbLbBgb6Gd3URZahoCxtBqCYQ==", + "dev": true + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", + "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true, + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true + }, "node_modules/esbuild": { - "version": "0.12.29", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.12.29.tgz", - "integrity": "sha512-w/XuoBCSwepyiZtIRsKsetiLDUVGPVw1E/R3VTFSecIy8UR7Cq3SOtwKHJMFoVqqVG36aGkzh4e8BvpO1Fdc7g==", + "version": "0.8.57", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.8.57.tgz", + "integrity": "sha512-j02SFrUwFTRUqiY0Kjplwjm1psuzO1d6AjaXKuOR9hrY0HuPsT6sV42B6myW34h1q4CRy+Y3g4RU/cGJeI/nNA==", "dev": true, "hasInstallScript": true, "bin": { "esbuild": "bin/esbuild" } }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dev": true, + "dependencies": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-loader/node_modules/loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/file-type": { + "version": "12.4.2", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.4.2.tgz", + "integrity": "sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/filepond": { "version": "4.30.3", "resolved": "https://registry.npmjs.org/filepond/-/filepond-4.30.3.tgz", @@ -133,6 +4518,759 @@ "filepond": ">=3.6.0 <5.x" } }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "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, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/focus-trap": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-6.7.1.tgz", + "integrity": "sha512-a6czHbT9twVpy2RpkWQA9vIgwQgB9Nx1PIxNNUxQT4nugG/3QibwxO+tWTh9i+zSY2SFiX4pnYhTaFaQF/6ZAg==", + "dev": true, + "dependencies": { + "tabbable": "^5.2.1" + } + }, + "node_modules/follow-redirects": { + "version": "1.14.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.5.tgz", + "integrity": "sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.1.tgz", + "integrity": "sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "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, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "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==", + "dev": true, + "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==", + "dev": true + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dev": true, + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", + "dev": true + }, + "node_modules/growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash-base/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/hash-base/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", + "dev": true + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "dev": true + }, + "node_modules/hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "dev": true + }, + "node_modules/html-entities": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz", + "integrity": "sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==", + "dev": true + }, + "node_modules/html-loader": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-1.3.2.tgz", + "integrity": "sha512-DEkUwSd0sijK5PF3kRWspYi56XP7bTNkyg5YWSzBdjaSDmvCufep5c4Vpb3PBf6lUL0YPtLwBfy9fL0t5hBAGA==", + "dev": true, + "dependencies": { + "html-minifier-terser": "^5.1.1", + "htmlparser2": "^4.1.0", + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/html-loader/node_modules/loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/html-loader/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/html-minifier-terser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", + "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", + "dev": true, + "dependencies": { + "camel-case": "^4.1.1", + "clean-css": "^4.2.3", + "commander": "^4.1.1", + "he": "^1.2.0", + "param-case": "^3.0.3", + "relateurl": "^0.2.7", + "terser": "^4.6.3" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/html-minifier-terser/node_modules/clean-css": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "dev": true, + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/html-minifier-terser/node_modules/terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/html-minifier-terser/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==", + "dev": true + }, + "node_modules/html-tags": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", + "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/htmlparser2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz", + "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^3.0.0", + "domutils": "^2.0.0", + "entities": "^2.0.0" + } + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "node_modules/http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/http-errors/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/http-parser-js": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", + "dev": true + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.1.tgz", + "integrity": "sha512-cfaXRVoZxSed/BmkA7SwBVNI9Kj7HFltaE5rqYOub5kWzWZ+gofV2koVN1j2rMW7pEfSSlCHGJ31xmuyFyfLOg==", + "dev": true, + "dependencies": { + "@types/http-proxy": "^1.17.5", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.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==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz", + "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/imagemin": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-7.0.1.tgz", + "integrity": "sha512-33AmZ+xjZhg2JMCe+vDf6a9mzWukE7l+wAtesjE7KyteqqKjzxv7aVQeWnul1Ve26mWvEQqyPwl0OctNBfSR9w==", + "dev": true, + "dependencies": { + "file-type": "^12.0.0", + "globby": "^10.0.0", + "graceful-fs": "^4.2.2", + "junk": "^3.1.0", + "make-dir": "^3.0.0", + "p-pipe": "^3.0.0", + "replace-ext": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/imask": { "version": "6.2.2", "resolved": "https://registry.npmjs.org/imask/-/imask-6.2.2.tgz", @@ -142,10 +5280,812 @@ "npm": ">=4.0.0" } }, + "node_modules/img-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/img-loader/-/img-loader-4.0.0.tgz", + "integrity": "sha512-UwRcPQdwdOyEHyCxe1V9s9YFwInwEWCpoO+kJGfIqDrBDqA8jZUsEZTxQ0JteNPGw/Gupmwesk2OhLTcnw6tnQ==", + "dev": true, + "dependencies": { + "loader-utils": "^1.1.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "imagemin": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/import-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz", + "integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==", + "dev": true, + "dependencies": { + "import-from": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", + "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-from/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/import-local": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz", + "integrity": "sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "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==", + "dev": true + }, + "node_modules/internal-ip": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-6.2.0.tgz", + "integrity": "sha512-D8WGsR6yDt8uq7vDMu7mjcR+yRMm3dW8yufyChmszWRjcSHuxLBkR3GdS2HZAjodsaGuCvXeEJpueisXJULghg==", + "dev": true, + "dependencies": { + "default-gateway": "^6.0.0", + "ipaddr.js": "^1.9.1", + "is-ip": "^3.1.0", + "p-event": "^4.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/internal-ip?sponsor=1" + } + }, + "node_modules/internal-ip/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "node_modules/ip-regex": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dev": true, + "dependencies": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "node_modules/is-core-module": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", + "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-ip": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", + "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", + "dev": true, + "dependencies": { + "ip-regex": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-worker": { + "version": "27.3.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.3.1.tgz", + "integrity": "sha512-ks3WCzsiZaOPJl/oMsDjaf0TRiSv7ctNgs0FqRr2nARsovz6AWWy4oLElwcquGSz692DzgZQrCLScPNs5YlC4g==", + "dev": true, + "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==", + "dev": true, + "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 + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/junk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz", + "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klona": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/laravel-mix": { + "version": "6.0.37", + "resolved": "https://registry.npmjs.org/laravel-mix/-/laravel-mix-6.0.37.tgz", + "integrity": "sha512-mue45XrV7nGGvueP7b5mPlTsT3PUDiaTov1B11OnIr+BzaJXMMmf/r3qLRB4dmbXb5WgoQdk/3tVxZ49b2prbQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.15.8", + "@babel/plugin-proposal-object-rest-spread": "^7.15.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.15.8", + "@babel/preset-env": "^7.15.8", + "@babel/runtime": "^7.15.4", + "@types/babel__core": "^7.1.16", + "@types/clean-css": "^4.2.5", + "@types/imagemin-gifsicle": "^7.0.1", + "@types/imagemin-mozjpeg": "^8.0.1", + "@types/imagemin-optipng": "^5.2.1", + "@types/imagemin-svgo": "^8.0.0", + "autoprefixer": "^10.4.0", + "babel-loader": "^8.2.3", + "chalk": "^4.1.2", + "chokidar": "^3.5.2", + "clean-css": "^4.2.3 || ^5.1.2", + "cli-table3": "^0.6.0", + "collect.js": "^4.28.5", + "commander": "^7.2.0", + "concat": "^1.0.3", + "css-loader": "^5.2.6", + "cssnano": "^5.0.8", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "glob": "^7.2.0", + "html-loader": "^1.3.2", + "imagemin": "^7.0.1", + "img-loader": "^4.0.0", + "lodash": "^4.17.21", + "md5": "^2.3.0", + "mini-css-extract-plugin": "^1.6.2", + "node-libs-browser": "^2.2.1", + "postcss-load-config": "^3.1.0", + "postcss-loader": "^6.2.0", + "semver": "^7.3.5", + "strip-ansi": "^6.0.0", + "style-loader": "^2.0.0", + "terser": "^5.9.0", + "terser-webpack-plugin": "^5.2.4", + "vue-style-loader": "^4.1.3", + "webpack": "^5.60.0", + "webpack-cli": "^4.9.1", + "webpack-dev-server": "4.4.0", + "webpack-merge": "^5.8.0", + "webpack-notifier": "^1.14.1", + "webpackbar": "^5.0.0-3", + "yargs": "^17.2.1" + }, + "bin": { + "laravel-mix": "bin/cli.js", + "mix": "bin/cli.js" + }, + "engines": { + "node": ">=12.14.0" + }, + "peerDependencies": { + "@babel/core": "^7.15.8", + "@babel/plugin-proposal-object-rest-spread": "^7.15.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.15.8", + "@babel/preset-env": "^7.15.8", + "postcss": "^8.3.11", + "webpack": "^5.60.0", + "webpack-cli": "^4.9.1" + } + }, + "node_modules/laravel-mix/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/laravel-mix/node_modules/fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/lilconfig": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz", + "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "node_modules/loader-runner": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", + "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/loader-utils/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "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, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.castarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", + "integrity": "sha1-wCUTUV4wna3dTCTGDP3c9ZdtkRU=", + "dev": true + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", + "dev": true + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/lodash.topath": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", + "integrity": "sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=", + "dev": true + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, "node_modules/marked": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/marked/-/marked-3.0.7.tgz", - "integrity": "sha512-ctKqbnLuNbsHbI26cfMyOlKgXGfl1orOv1AvWWDX7AkgfMOwCWvmuYc+mVLeWhQ9W6hdWVBynOs96VkcscKo0Q==", + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/marked/-/marked-3.0.8.tgz", + "integrity": "sha512-0gVrAjo5m0VZSJb4rpL59K1unJAMb/hm8HRXqasD8VeC8m91ytDPMritgFSlKonfdt+rRYYpP/JfLxgIX8yoSw==", "dev": true, "bin": { "marked": "bin/marked" @@ -154,6 +6094,28 @@ "node": ">= 12" } }, + "node_modules/md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "dev": true, + "dependencies": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, "node_modules/mdhl": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/mdhl/-/mdhl-0.0.6.tgz", @@ -163,29 +6125,4782 @@ "node": ">=12.17.0" } }, + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.3.0.tgz", + "integrity": "sha512-BEE62uMfKOavX3iG7GYX43QJ+hAeeWnwIAuJ/R6q96jaMtiLzhsxHJC8B1L7fK7Pt/vXDRwb3SG/yBpNGDPqzg==", + "dev": true, + "dependencies": { + "fs-monkey": "1.0.3" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.50.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz", + "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.33", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz", + "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==", + "dev": true, + "dependencies": { + "mime-db": "1.50.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz", + "integrity": "sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "webpack-sources": "^1.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.4.0 || ^5.0.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/mini-svg-data-uri": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.3.tgz", + "integrity": "sha512-gSfqpMRC8IxghvMcxzzmMnWpXAChSA+vy4cia33RgerMS8Fex95akUyQZPbxJJmeBGiGmK7n/1OpUX8ksRjIdA==", + "dev": true, + "bin": { + "mini-svg-data-uri": "cli.js" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/modern-normalize": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/modern-normalize/-/modern-normalize-1.1.0.tgz", + "integrity": "sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "dependencies": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.1.30", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz", + "integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "dev": true, + "dependencies": { + "lodash": "^4.17.21" + } + }, + "node_modules/node-forge": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "dev": true, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } + }, + "node_modules/node-notifier": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-9.0.1.tgz", + "integrity": "sha512-fPNFIp2hF/Dq7qLDzSg4vZ0J4e9v60gJR+Qx7RbjbWqzPDdEqeVpEx5CFeDAELIl+A/woaaNn1fQ5nEVerMxJg==", + "dev": true, + "dependencies": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.2", + "shellwords": "^0.1.1", + "uuid": "^8.3.0", + "which": "^2.0.2" + } + }, + "node_modules/node-notifier/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/node-releases": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", + "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", + "dev": true + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nth-check": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "dev": true, + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "node_modules/p-event": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", + "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", + "dev": true, + "dependencies": { + "p-timeout": "^3.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "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, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-pipe": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz", + "integrity": "sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz", + "integrity": "sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==", + "dev": true, + "dependencies": { + "@types/retry": "^0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "dev": true, + "dependencies": { + "p-finally": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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, + "engines": { + "node": ">=6" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "dependencies": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "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==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "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, + "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": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "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 + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "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, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "dev": true, + "dependencies": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/portfinder/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/postcss": { + "version": "8.3.11", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.11.tgz", + "integrity": "sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA==", + "dev": true, + "dependencies": { + "nanoid": "^3.1.30", + "picocolors": "^1.0.0", + "source-map-js": "^0.6.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-calc": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.0.0.tgz", + "integrity": "sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-colormin": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.1.tgz", + "integrity": "sha512-VVwMrEYLcHYePUYV99Ymuoi7WhKrMGy/V9/kTS0DkCoJYmmjdOMneyhzYUxcNgteKDVbrewOkSM7Wje/MFwxzA==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.2.tgz", + "integrity": "sha512-KQ04E2yadmfa1LqXm7UIDwW1ftxU/QWZmz6NKnHnUvJ3LEYbbcX6i329f/ig+WnEByHegulocXrECaZGLpL8Zg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz", + "integrity": "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz", + "integrity": "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz", + "integrity": "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz", + "integrity": "sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-js": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-3.0.3.tgz", + "integrity": "sha512-gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1", + "postcss": "^8.1.6" + }, + "engines": { + "node": ">=10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.0.tgz", + "integrity": "sha512-ipM8Ds01ZUophjDTQYSVP70slFSYg3T0/zyfII5vzhN6V57YSxMgG5syXuwi5VtS8wSf3iL30v0uBdoIVx4Q0g==", + "dev": true, + "dependencies": { + "import-cwd": "^3.0.0", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.0.tgz", + "integrity": "sha512-H9hv447QjQJVDbHj3OUdciyAXY3v5+UDduzEytAlZCVHCpNAAg/mCSwhYYqZr9BiGYhmYspU8QXxZwiHTLn3yA==", + "dev": true, + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.4", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.3.tgz", + "integrity": "sha512-kmB+1TjMTj/bPw6MCDUiqSA5e/x4fvLffiAdthra3a0m2/IjTrWsTmD3FdSskzUjEwkj5ZHBDEbv5dOcqD7CMQ==", + "dev": true, + "dependencies": { + "css-color-names": "^1.0.1", + "postcss-value-parser": "^4.1.0", + "stylehacks": "^5.0.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-longhand/node_modules/css-color-names": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz", + "integrity": "sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.2.tgz", + "integrity": "sha512-5K+Md7S3GwBewfB4rjDeol6V/RZ8S+v4B66Zk2gChRqLTCC8yjnHQ601omj9TKftS19OPGqZ/XzoqpzNQQLwbg==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^2.0.1", + "postcss-selector-parser": "^6.0.5", + "vendors": "^1.0.3" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz", + "integrity": "sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.3.tgz", + "integrity": "sha512-Z91Ol22nB6XJW+5oe31+YxRsYooxOdFKcbOqY/V8Fxse1Y3vqlNRpi1cxCqoACZTQEhl+xvt4hsbWiV5R+XI9Q==", + "dev": true, + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz", + "integrity": "sha512-4RUC4k2A/Q9mGco1Z8ODc7h+A0z7L7X2ypO1B6V8057eVK6mZ6xwz6QN64nHuHLbqbclkX1wyzRnIrdZehTEHw==", + "dev": true, + "dependencies": { + "alphanum-sort": "^1.0.2", + "browserslist": "^4.16.0", + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0", + "uniqs": "^2.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz", + "integrity": "sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og==", + "dev": true, + "dependencies": { + "alphanum-sort": "^1.0.2", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "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==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-nested": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", + "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.6" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz", + "integrity": "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz", + "integrity": "sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ==", + "dev": true, + "dependencies": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz", + "integrity": "sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz", + "integrity": "sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w==", + "dev": true, + "dependencies": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz", + "integrity": "sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz", + "integrity": "sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q==", + "dev": true, + "dependencies": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz", + "integrity": "sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.2.tgz", + "integrity": "sha512-k4jLTPUxREQ5bpajFQZpx8bCF2UrlqOTzP9kEqcEnOfwsRshWs2+oAFIHfDQB8GO2PaUaSE0NlTAYtbluZTlHQ==", + "dev": true, + "dependencies": { + "is-absolute-url": "^3.0.3", + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz", + "integrity": "sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz", + "integrity": "sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ==", + "dev": true, + "dependencies": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz", + "integrity": "sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.0", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz", + "integrity": "sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA==", + "dev": true, + "dependencies": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", + "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.3.tgz", + "integrity": "sha512-41XZUA1wNDAZrQ3XgWREL/M2zSw8LJPvb5ZWivljBsUQAGoEKMYm6okHsTjJxKYI4M75RQEH4KYlEM52VwdXVA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.1.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz", + "integrity": "sha512-gwi1NhHV4FMmPn+qwBNuot1sG1t2OmacLQ/AX29lzyggnjd+MnVD5uqQmpXO3J17KGL2WAxQruj1qTd3H0gG/w==", + "dev": true, + "dependencies": { + "alphanum-sort": "^1.0.2", + "postcss-selector-parser": "^6.0.5", + "uniqs": "^2.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "dev": true + }, + "node_modules/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pretty-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", + "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "node_modules/purgecss": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-4.0.3.tgz", + "integrity": "sha512-PYOIn5ibRIP34PBU9zohUcCI09c7drPJJtTDAc0Q6QlRz2/CHQ8ywGLdE7ZhxU2VTqB7p5wkvj5Qcm05Rz3Jmw==", + "dev": true, + "dependencies": { + "commander": "^6.0.0", + "glob": "^7.0.0", + "postcss": "^8.2.1", + "postcss-selector-parser": "^6.0.2" + }, + "bin": { + "purgecss": "bin/purgecss.js" + } + }, + "node_modules/qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dev": true, + "dependencies": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rechoir": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", + "dev": true, + "dependencies": { + "resolve": "^1.9.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/reduce-css-calc": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz", + "integrity": "sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==", + "dev": true, + "dependencies": { + "css-unit-converter": "^1.1.1", + "postcss-value-parser": "^3.3.0" + } + }, + "node_modules/reduce-css-calc/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + }, + "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 + }, + "node_modules/regenerate-unicode-properties": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", + "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/regenerator-runtime": { "version": "0.13.9", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", "dev": true }, + "node_modules/regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", + "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^9.0.0", + "regjsgen": "^0.5.2", + "regjsparser": "^0.7.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "dev": true + }, + "node_modules/regjsparser": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", + "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "node_modules/resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "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, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/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, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", + "dev": true + }, + "node_modules/rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", + "dev": true + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "node_modules/selfsigned": { + "version": "1.10.11", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", + "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", + "dev": true, + "dependencies": { + "node-forge": "^0.10.0" + } + }, + "node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "node_modules/setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "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, + "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, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true + }, + "node_modules/signal-exit": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", + "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==", + "dev": true + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dev": true, + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/sockjs": { + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", + "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", + "dev": true, + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^3.4.0", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": 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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", + "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.20", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", + "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/spdy-transport/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/std-env": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.0.1.tgz", + "integrity": "sha512-mC1Ps9l77/97qeOZc+HrOL7TIaOboHqMZ24dGVQrlxFcpPpfCHpH+qfUT7Dz+6mlG8+JPA1KfBQo19iC/+Ngcw==", + "dev": true + }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/style-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", + "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/style-loader/node_modules/loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/style-loader/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/stylehacks": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz", + "integrity": "sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.0", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dev": true, + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/tabbable": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-5.2.1.tgz", + "integrity": "sha512-40pEZ2mhjaZzK0BnI+QGNjJO8UYx9pP5v7BGe17SORTO0OEuuaAwQTkAp8whcZvqon44wKFOikD+Al11K3JICQ==", + "dev": true + }, + "node_modules/tailwindcss": { + "version": "2.2.19", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-2.2.19.tgz", + "integrity": "sha512-6Ui7JSVtXadtTUo2NtkBBacobzWiQYVjYW0ZnKaP9S1ZCKQ0w7KVNz+YSDI/j7O7KCMHbOkz94ZMQhbT9pOqjw==", + "dev": true, + "dependencies": { + "arg": "^5.0.1", + "bytes": "^3.0.0", + "chalk": "^4.1.2", + "chokidar": "^3.5.2", + "color": "^4.0.1", + "cosmiconfig": "^7.0.1", + "detective": "^5.2.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.7", + "fs-extra": "^10.0.0", + "glob-parent": "^6.0.1", + "html-tags": "^3.1.0", + "is-color-stop": "^1.1.0", + "is-glob": "^4.0.1", + "lodash": "^4.17.21", + "lodash.topath": "^4.5.2", + "modern-normalize": "^1.1.0", + "node-emoji": "^1.11.0", + "normalize-path": "^3.0.0", + "object-hash": "^2.2.0", + "postcss-js": "^3.0.3", + "postcss-load-config": "^3.1.0", + "postcss-nested": "5.0.6", + "postcss-selector-parser": "^6.0.6", + "postcss-value-parser": "^4.1.0", + "pretty-hrtime": "^1.0.3", + "purgecss": "^4.0.3", + "quick-lru": "^5.1.1", + "reduce-css-calc": "^2.1.8", + "resolve": "^1.20.0", + "tmp": "^0.2.1" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=12.13.0" + }, + "peerDependencies": { + "autoprefixer": "^10.0.2", + "postcss": "^8.0.9" + } + }, + "node_modules/tailwindcss/node_modules/fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz", + "integrity": "sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==", + "dev": true, + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.4.tgz", + "integrity": "sha512-E2CkNMN+1cho04YpdANyRrn8CyN4yMy+WdFKZIySFZrGXZxJwJP6PMNGGc/Mcr6qygQHUUqRxnAPmi0M9f00XA==", + "dev": true, + "dependencies": { + "jest-worker": "^27.0.6", + "p-limit": "^3.1.0", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1", + "terser": "^5.7.2" + }, + "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-webpack-plugin/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, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "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==", + "dev": true + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dev": true, + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true + }, + "node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, "node_modules/trix": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/trix/-/trix-1.3.1.tgz", "integrity": "sha512-BbH6mb6gk+AV4f2as38mP6Ucc1LE3OD6XxkZnAgPIduWXYtvg2mI3cZhIZSLqmMh9OITEpOBCCk88IVmyjU7bA==", "dev": true + }, + "node_modules/tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + }, + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "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, + "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.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + }, + "node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": 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==", + "dev": true, + "dependencies": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + } + }, + "node_modules/watchpack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", + "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", + "dev": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/webpack": { + "version": "5.62.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.62.1.tgz", + "integrity": "sha512-jNLtnWChS2CMZ7vqWtztv0G6fYB5hz11Zsadp5tE7e4/66zVDj7/KUeQZOsOl8Hz5KrLJH1h2eIDl6AnlyE12Q==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.0", + "@types/estree": "^0.0.50", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.8.3", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.4", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.2.0", + "webpack-sources": "^3.2.0" + }, + "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": "4.9.1", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz", + "integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==", + "dev": true, + "dependencies": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^1.1.0", + "@webpack-cli/info": "^1.4.0", + "@webpack-cli/serve": "^1.6.0", + "colorette": "^2.0.14", + "commander": "^7.0.0", + "execa": "^5.0.0", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^2.2.0", + "rechoir": "^0.7.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "webpack": "4.x.x || 5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "@webpack-cli/migrate": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-cli/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.2.1.tgz", + "integrity": "sha512-Kx1X+36Rn9JaZcQMrJ7qN3PMAuKmEDD9ZISjUj3Cgq4A6PtwYsC4mpaKotSRYH3iOF6HsUa8viHKS59FlyVifQ==", + "dev": true, + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.2.2", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^3.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.4.0.tgz", + "integrity": "sha512-+S0XRIbsopVjPFjCO8I07FXYBWYqkFmuP56ucGMTs2hA/gV4q2M9xTmNo5Tg4o8ffRR+Nm3AsXnQXxKRyYovrA==", + "dev": true, + "dependencies": { + "ansi-html-community": "^0.0.8", + "bonjour": "^3.5.0", + "chokidar": "^3.5.2", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "del": "^6.0.0", + "express": "^4.17.1", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.0", + "internal-ip": "^6.2.0", + "ipaddr.js": "^2.0.1", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "portfinder": "^1.0.28", + "schema-utils": "^3.1.0", + "selfsigned": "^1.10.11", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "spdy": "^4.0.2", + "strip-ansi": "^7.0.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^5.2.1", + "ws": "^8.1.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-notifier": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/webpack-notifier/-/webpack-notifier-1.14.1.tgz", + "integrity": "sha512-OVOoiOyKHS3z9pN1nLdPY2Pf/R3wiBsN0KiPc3K6ApwMBfHbyUomQc2Mr0naeKxfqXyCBPHfQuqpL9yoL0rgkA==", + "dev": true, + "dependencies": { + "node-notifier": "^9.0.0", + "strip-ansi": "^6.0.0" + }, + "peerDependencies": { + "@types/webpack": "^4.41.31" + }, + "peerDependenciesMeta": { + "@types/webpack": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/webpack/node_modules/acorn": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", + "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack/node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack/node_modules/webpack-sources": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.1.tgz", + "integrity": "sha512-t6BMVLQ0AkjBOoRTZgqrWm7xbXMBzD+XDq2EZ96+vMfn3qKgsvdXZhbPZ4ElUOpdv4u+iiGe+w3+J75iy/bYGA==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpackbar": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz", + "integrity": "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "consola": "^2.15.3", + "pretty-time": "^1.1.0", + "std-env": "^3.0.1" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "webpack": "3 || 4 || 5" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "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, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/ws": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", + "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "17.2.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.2.1.tgz", + "integrity": "sha512-XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } }, "dependencies": { + "@alpinejs/trap": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@alpinejs/trap/-/trap-3.5.0.tgz", + "integrity": "sha512-+dF32OmOM8PyaWaZqm7M1/tHO6fV88HrZteDRnI2uvi0mAOdalaUQqEzRA2QUa4Usj3n9HftOqhRNHoOOFSbpQ==", + "dev": true, + "requires": { + "focus-trap": "^6.6.1" + } + }, + "@babel/code-frame": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz", + "integrity": "sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==", + "dev": true, + "requires": { + "@babel/highlight": "^7.16.0" + } + }, + "@babel/compat-data": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.0.tgz", + "integrity": "sha512-DGjt2QZse5SGd9nfOSqO4WLJ8NN/oHkijbXbPrxuoJO3oIPJL3TciZs9FX+cOHNiY9E9l0opL8g7BmLe3T+9ew==", + "dev": true + }, + "@babel/core": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.16.0.tgz", + "integrity": "sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.0", + "@babel/generator": "^7.16.0", + "@babel/helper-compilation-targets": "^7.16.0", + "@babel/helper-module-transforms": "^7.16.0", + "@babel/helpers": "^7.16.0", + "@babel/parser": "^7.16.0", + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.0", + "@babel/types": "^7.16.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.1.2", + "semver": "^6.3.0", + "source-map": "^0.5.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.0.tgz", + "integrity": "sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew==", + "dev": true, + "requires": { + "@babel/types": "^7.16.0", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz", + "integrity": "sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg==", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.0.tgz", + "integrity": "sha512-9KuleLT0e77wFUku6TUkqZzCEymBdtuQQ27MhEKzf9UOOJu3cYj98kyaDAzxpC7lV6DGiZFuC8XqDsq8/Kl6aQ==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.16.0", + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.0.tgz", + "integrity": "sha512-S7iaOT1SYlqK0sQaCi21RX4+13hmdmnxIEAnQUB/eh7GeAnRjOUgTYpLkUOiRXzD+yog1JxP0qyAQZ7ZxVxLVg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.16.0", + "@babel/helper-validator-option": "^7.14.5", + "browserslist": "^4.16.6", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.0.tgz", + "integrity": "sha512-XLwWvqEaq19zFlF5PTgOod4bUA+XbkR4WLQBct1bkzmxJGB0ZEJaoKF4c8cgH9oBtCDuYJ8BP5NB9uFiEgO5QA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-member-expression-to-functions": "^7.16.0", + "@babel/helper-optimise-call-expression": "^7.16.0", + "@babel/helper-replace-supers": "^7.16.0", + "@babel/helper-split-export-declaration": "^7.16.0" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.0.tgz", + "integrity": "sha512-3DyG0zAFAZKcOp7aVr33ddwkxJ0Z0Jr5V99y3I690eYLpukJsJvAbzTy1ewoCqsML8SbIrjH14Jc/nSQ4TvNPA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "regexpu-core": "^4.7.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.4.tgz", + "integrity": "sha512-OrpPZ97s+aPi6h2n1OXzdhVis1SGSsMU2aMHgLcOKfsp4/v1NWpx3CWT3lBj5eeBq9cDkPkh+YCfdF7O12uNDQ==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz", + "integrity": "sha512-Hk2SLxC9ZbcOhLpg/yMznzJ11W++lg5GMbxt1ev6TXUiJB0N42KPC+7w8a+eWGuqDnUYuwStJoZHM7RgmIOaGQ==", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-function-name": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz", + "integrity": "sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.16.0", + "@babel/template": "^7.16.0", + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz", + "integrity": "sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz", + "integrity": "sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz", + "integrity": "sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ==", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz", + "integrity": "sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg==", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-module-transforms": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz", + "integrity": "sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.16.0", + "@babel/helper-replace-supers": "^7.16.0", + "@babel/helper-simple-access": "^7.16.0", + "@babel/helper-split-export-declaration": "^7.16.0", + "@babel/helper-validator-identifier": "^7.15.7", + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.0", + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz", + "integrity": "sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw==", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz", + "integrity": "sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.0.tgz", + "integrity": "sha512-MLM1IOMe9aQBqMWxcRw8dcb9jlM86NIw7KA0Wri91Xkfied+dE0QuBFSBjMNvqzmS0OSIDsMNC24dBEkPUi7ew==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-wrap-function": "^7.16.0", + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-replace-supers": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz", + "integrity": "sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.16.0", + "@babel/helper-optimise-call-expression": "^7.16.0", + "@babel/traverse": "^7.16.0", + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-simple-access": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz", + "integrity": "sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw==", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", + "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz", + "integrity": "sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.15.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz", + "integrity": "sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz", + "integrity": "sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.0.tgz", + "integrity": "sha512-VVMGzYY3vkWgCJML+qVLvGIam902mJW0FvT7Avj1zEe0Gn7D93aWdLblYARTxEw+6DhZmtzhBM2zv0ekE5zg1g==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.16.0", + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.0", + "@babel/types": "^7.16.0" + } + }, + "@babel/helpers": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.0.tgz", + "integrity": "sha512-dVRM0StFMdKlkt7cVcGgwD8UMaBfWJHl3A83Yfs8GQ3MO0LHIIIMvK7Fa0RGOGUQ10qikLaX6D7o5htcQWgTMQ==", + "dev": true, + "requires": { + "@babel/template": "^7.16.0", + "@babel/traverse": "^7.16.0", + "@babel/types": "^7.16.0" + } + }, + "@babel/highlight": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz", + "integrity": "sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.15.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.16.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.2.tgz", + "integrity": "sha512-RUVpT0G2h6rOZwqLDTrKk7ksNv7YpAilTnYe1/Q+eDjxEceRMKVWbCsX7t8h6C1qCFi/1Y8WZjcEPBAFG27GPw==", + "dev": true + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.16.2", + "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.16.2.tgz", + "integrity": "sha512-h37CvpLSf8gb2lIJ2CgC3t+EjFbi0t8qS7LCS1xcJIlEXE4czlofwaW7W1HA8zpgOCzI9C1nmoqNR1zWkk0pQg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz", + "integrity": "sha512-4tcFwwicpWTrpl9qjf7UsoosaArgImF85AxqCRZlgc3IQDvkUHjJpruXAL58Wmj+T6fypWTC/BakfEkwIL/pwA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.0" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.0.tgz", + "integrity": "sha512-nyYmIo7ZqKsY6P4lnVmBlxp9B3a96CscbLotlsNuktMHahkDwoPYEjXrZHU0Tj844Z9f1IthVxQln57mhkcExw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.16.0", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.0.tgz", + "integrity": "sha512-mCF3HcuZSY9Fcx56Lbn+CGdT44ioBMMvjNVldpKtj8tpniETdLjnxdHI1+sDWXIM1nNt+EanJOZ3IG9lzVjs7A==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.0.tgz", + "integrity": "sha512-mAy3sdcY9sKAkf3lQbDiv3olOfiLqI51c9DR9b19uMoR2Z6r5pmGl7dfNFqEvqOyqbf1ta4lknK4gc5PJn3mfA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.0.tgz", + "integrity": "sha512-QGSA6ExWk95jFQgwz5GQ2Dr95cf7eI7TKutIXXTb7B1gCLTCz5hTjFTQGfLFBBiC5WSNi7udNwWsqbbMh1c4yQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.0.tgz", + "integrity": "sha512-CjI4nxM/D+5wCnhD11MHB1AwRSAYeDT+h8gCdcVJZ/OK7+wRzFsf7PFPWVpVpNRkHMmMkQWAHpTq+15IXQ1diA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.0.tgz", + "integrity": "sha512-kouIPuiv8mSi5JkEhzApg5Gn6hFyKPnlkO0a9YSzqRurH8wYzSlf6RJdzluAsbqecdW5pBvDJDfyDIUR/vLxvg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.0.tgz", + "integrity": "sha512-pbW0fE30sVTYXXm9lpVQQ/Vc+iTeQKiXlaNRZPPN2A2VdlWyAtsUrsQ3xydSlDW00TFMK7a8m3cDTkBF5WnV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.0.tgz", + "integrity": "sha512-3bnHA8CAFm7cG93v8loghDYyQ8r97Qydf63BeYiGgYbjKKB/XP53W15wfRC7dvKfoiJ34f6Rbyyx2btExc8XsQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.0.tgz", + "integrity": "sha512-FAhE2I6mjispy+vwwd6xWPyEx3NYFS13pikDBWUAFGZvq6POGs5eNchw8+1CYoEgBl9n11I3NkzD7ghn25PQ9Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.0.tgz", + "integrity": "sha512-LU/+jp89efe5HuWJLmMmFG0+xbz+I2rSI7iLc1AlaeSMDMOGzWlc5yJrMN1d04osXN4sSfpo4O+azkBNBes0jg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.16.0", + "@babel/helper-compilation-targets": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.16.0" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.0.tgz", + "integrity": "sha512-kicDo0A/5J0nrsCPbn89mTG3Bm4XgYi0CZtvex9Oyw7gGZE3HXGD0zpQNH+mo+tEfbo8wbmMvJftOwpmPy7aVw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.0.tgz", + "integrity": "sha512-Y4rFpkZODfHrVo70Uaj6cC1JJOt3Pp0MdWSwIKtb8z1/lsjl9AmnB7ErRFV+QNGIfcY1Eruc2UMx5KaRnXjMyg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.0.tgz", + "integrity": "sha512-IvHmcTHDFztQGnn6aWq4t12QaBXTKr1whF/dgp9kz84X6GUcwq9utj7z2wFCUfeOup/QKnOlt2k0zxkGFx9ubg==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.0.tgz", + "integrity": "sha512-3jQUr/HBbMVZmi72LpjQwlZ55i1queL8KcDTQEkAHihttJnAPrcvG9ZNXIfsd2ugpizZo595egYV6xy+pv4Ofw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-create-class-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.0.tgz", + "integrity": "sha512-ti7IdM54NXv29cA4+bNNKEMS4jLMCbJgl+Drv+FgYy0erJLAxNAIXcNjNjrRZEcWq0xJHsNVwQezskMFpF8N9g==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.0.tgz", + "integrity": "sha512-vIFb5250Rbh7roWARvCLvIJ/PtAU5Lhv7BtZ1u24COwpI9Ypjsh+bZcKk6rlIyalK+r0jOc1XQ8I4ovNxNrWrA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.0.tgz", + "integrity": "sha512-PbIr7G9kR8tdH6g8Wouir5uVjklETk91GMVSUq+VaOgiinbCkBP6Q7NN/suM/QutZkMJMvcyAriogcYAdhg8Gw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-remap-async-to-generator": "^7.16.0" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.0.tgz", + "integrity": "sha512-V14As3haUOP4ZWrLJ3VVx5rCnrYhMSHN/jX7z6FAt5hjRkLsb0snPCmJwSOML5oxkKO4FNoNv7V5hw/y2bjuvg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.0.tgz", + "integrity": "sha512-27n3l67/R3UrXfizlvHGuTwsRIFyce3D/6a37GRxn28iyTPvNXaW4XvznexRh1zUNLPjbLL22Id0XQElV94ruw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.0.tgz", + "integrity": "sha512-HUxMvy6GtAdd+GKBNYDWCIA776byUQH8zjnfjxwT1P1ARv/wFu8eBDpmXQcLS/IwRtrxIReGiplOwMeyO7nsDQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.0", + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-optimise-call-expression": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.16.0", + "@babel/helper-split-export-declaration": "^7.16.0", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.0.tgz", + "integrity": "sha512-63l1dRXday6S8V3WFY5mXJwcRAnPYxvFfTlt67bwV1rTyVTM5zrp0DBBb13Kl7+ehkCVwIZPumPpFP/4u70+Tw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.0.tgz", + "integrity": "sha512-Q7tBUwjxLTsHEoqktemHBMtb3NYwyJPTJdM+wDwb0g8PZ3kQUIzNvwD5lPaqW/p54TXBc/MXZu9Jr7tbUEUM8Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.0.tgz", + "integrity": "sha512-FXlDZfQeLILfJlC6I1qyEwcHK5UpRCFkaoVyA1nk9A1L1Yu583YO4un2KsLBsu3IJb4CUbctZks8tD9xPQubLw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.0.tgz", + "integrity": "sha512-LIe2kcHKAZOJDNxujvmp6z3mfN6V9lJxubU4fJIGoQCkKe3Ec2OcbdlYP+vW++4MpxwG0d1wSDOJtQW5kLnkZQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.0.tgz", + "integrity": "sha512-OwYEvzFI38hXklsrbNivzpO3fh87skzx8Pnqi4LoSYeav0xHlueSoCJrSgTPfnbyzopo5b3YVAJkFIcUpK2wsw==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.0.tgz", + "integrity": "sha512-5QKUw2kO+GVmKr2wMYSATCTTnHyscl6sxFRAY+rvN7h7WB0lcG0o4NoV6ZQU32OZGVsYUsfLGgPQpDFdkfjlJQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.0.tgz", + "integrity": "sha512-lBzMle9jcOXtSOXUpc7tvvTpENu/NuekNJVova5lCCWCV9/U1ho2HH2y0p6mBg8fPm/syEAbfaaemYGOHCY3mg==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.0.tgz", + "integrity": "sha512-gQDlsSF1iv9RU04clgXqRjrPyyoJMTclFt3K1cjLmTKikc0s/6vE3hlDeEVC71wLTRu72Fq7650kABrdTc2wMQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.0.tgz", + "integrity": "sha512-WRpw5HL4Jhnxw8QARzRvwojp9MIE7Tdk3ez6vRyUk1MwgjJN0aNpRoXainLR5SgxmoXx/vsXGZ6OthP6t/RbUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.0.tgz", + "integrity": "sha512-rWFhWbCJ9Wdmzln1NmSCqn7P0RAD+ogXG/bd9Kg5c7PKWkJtkiXmYsMBeXjDlzHpVTJ4I/hnjs45zX4dEv81xw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.0.tgz", + "integrity": "sha512-Dzi+NWqyEotgzk/sb7kgQPJQf7AJkQBWsVp1N6JWc1lBVo0vkElUnGdr1PzUBmfsCCN5OOFya3RtpeHk15oLKQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-simple-access": "^7.16.0", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.0.tgz", + "integrity": "sha512-yuGBaHS3lF1m/5R+6fjIke64ii5luRUg97N2wr+z1sF0V+sNSXPxXDdEEL/iYLszsN5VKxVB1IPfEqhzVpiqvg==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.16.0", + "@babel/helper-module-transforms": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-identifier": "^7.15.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.0.tgz", + "integrity": "sha512-nx4f6no57himWiHhxDM5pjwhae5vLpTK2zCnDH8+wNLJy0TVER/LJRHl2bkt6w9Aad2sPD5iNNoUpY3X9sTGDg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.0.tgz", + "integrity": "sha512-LogN88uO+7EhxWc8WZuQ8vxdSyVGxhkh8WTC3tzlT8LccMuQdA81e9SGV6zY7kY2LjDhhDOFdQVxdGwPyBCnvg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.0" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.0.tgz", + "integrity": "sha512-fhjrDEYv2DBsGN/P6rlqakwRwIp7rBGLPbrKxwh7oVt5NNkIhZVOY2GRV+ULLsQri1bDqwDWnU3vhlmx5B2aCw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.0.tgz", + "integrity": "sha512-fds+puedQHn4cPLshoHcR1DTMN0q1V9ou0mUjm8whx9pGcNvDrVVrgw+KJzzCaiTdaYhldtrUps8DWVMgrSEyg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-replace-supers": "^7.16.0" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.0.tgz", + "integrity": "sha512-XgnQEm1CevKROPx+udOi/8f8TiGhrUWiHiaUCIp47tE0tpFDjzXNTZc9E5CmCwxNjXTWEVqvRfWZYOTFvMa/ZQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.0.tgz", + "integrity": "sha512-XLldD4V8+pOqX2hwfWhgwXzGdnDOThxaNTgqagOcpBgIxbUvpgU2FMvo5E1RyHbk756WYgdbS0T8y0Cj9FKkWQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.0.tgz", + "integrity": "sha512-JAvGxgKuwS2PihiSFaDrp94XOzzTUeDeOQlcKzVAyaPap7BnZXK/lvMDiubkPTdotPKOIZq9xWXWnggUMYiExg==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.0.tgz", + "integrity": "sha512-Dgs8NNCehHSvXdhEhln8u/TtJxfVwGYCgP2OOr5Z3Ar+B+zXicEOKNTyc+eca2cuEOMtjW6m9P9ijOt8QdqWkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.0.tgz", + "integrity": "sha512-zlPf1/XFn5+vWdve3AAhf+Sxl+MVa5VlwTwWgnLx23u4GlatSRQJ3Eoo9vllf0a9il3woQsT4SK+5Z7c06h8ag==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "babel-plugin-polyfill-corejs2": "^0.2.3", + "babel-plugin-polyfill-corejs3": "^0.3.0", + "babel-plugin-polyfill-regenerator": "^0.2.3", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.0.tgz", + "integrity": "sha512-iVb1mTcD8fuhSv3k99+5tlXu5N0v8/DPm2mO3WACLG6al1CGZH7v09HJyUb1TtYl/Z+KrM6pHSIJdZxP5A+xow==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.0.tgz", + "integrity": "sha512-Ao4MSYRaLAQczZVp9/7E7QHsCuK92yHRrmVNRe/SlEJjhzivq0BSn8mEraimL8wizHZ3fuaHxKH0iwzI13GyGg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.0.tgz", + "integrity": "sha512-/ntT2NljR9foobKk4E/YyOSwcGUXtYWv5tinMK/3RkypyNBNdhHUaq6Orw5DWq9ZcNlS03BIlEALFeQgeVAo4Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.0.tgz", + "integrity": "sha512-Rd4Ic89hA/f7xUSJQk5PnC+4so50vBoBfxjdQAdvngwidM8jYIBVxBZ/sARxD4e0yMXRbJVDrYf7dyRtIIKT6Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.0.tgz", + "integrity": "sha512-++V2L8Bdf4vcaHi2raILnptTBjGEFxn5315YU+e8+EqXIucA+q349qWngCLpUYqqv233suJ6NOienIVUpS9cqg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.0.tgz", + "integrity": "sha512-VFi4dhgJM7Bpk8lRc5CMaRGlKZ29W9C3geZjt9beuzSUrlJxsNwX7ReLwaL6WEvsOf2EQkyIJEPtF8EXjB/g2A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.0.tgz", + "integrity": "sha512-jHLK4LxhHjvCeZDWyA9c+P9XH1sOxRd1RO9xMtDVRAOND/PczPqizEtVdx4TQF/wyPaewqpT+tgQFYMnN/P94A==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/preset-env": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.16.0.tgz", + "integrity": "sha512-cdTu/W0IrviamtnZiTfixPfIncr2M1VqRrkjzZWlr1B4TVYimCFK5jkyOdP4qw2MrlKHi+b3ORj6x8GoCew8Dg==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.16.0", + "@babel/helper-compilation-targets": "^7.16.0", + "@babel/helper-plugin-utils": "^7.14.5", + "@babel/helper-validator-option": "^7.14.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.0", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.0", + "@babel/plugin-proposal-async-generator-functions": "^7.16.0", + "@babel/plugin-proposal-class-properties": "^7.16.0", + "@babel/plugin-proposal-class-static-block": "^7.16.0", + "@babel/plugin-proposal-dynamic-import": "^7.16.0", + "@babel/plugin-proposal-export-namespace-from": "^7.16.0", + "@babel/plugin-proposal-json-strings": "^7.16.0", + "@babel/plugin-proposal-logical-assignment-operators": "^7.16.0", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", + "@babel/plugin-proposal-numeric-separator": "^7.16.0", + "@babel/plugin-proposal-object-rest-spread": "^7.16.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.0", + "@babel/plugin-proposal-private-methods": "^7.16.0", + "@babel/plugin-proposal-private-property-in-object": "^7.16.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.16.0", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.16.0", + "@babel/plugin-transform-async-to-generator": "^7.16.0", + "@babel/plugin-transform-block-scoped-functions": "^7.16.0", + "@babel/plugin-transform-block-scoping": "^7.16.0", + "@babel/plugin-transform-classes": "^7.16.0", + "@babel/plugin-transform-computed-properties": "^7.16.0", + "@babel/plugin-transform-destructuring": "^7.16.0", + "@babel/plugin-transform-dotall-regex": "^7.16.0", + "@babel/plugin-transform-duplicate-keys": "^7.16.0", + "@babel/plugin-transform-exponentiation-operator": "^7.16.0", + "@babel/plugin-transform-for-of": "^7.16.0", + "@babel/plugin-transform-function-name": "^7.16.0", + "@babel/plugin-transform-literals": "^7.16.0", + "@babel/plugin-transform-member-expression-literals": "^7.16.0", + "@babel/plugin-transform-modules-amd": "^7.16.0", + "@babel/plugin-transform-modules-commonjs": "^7.16.0", + "@babel/plugin-transform-modules-systemjs": "^7.16.0", + "@babel/plugin-transform-modules-umd": "^7.16.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.16.0", + "@babel/plugin-transform-new-target": "^7.16.0", + "@babel/plugin-transform-object-super": "^7.16.0", + "@babel/plugin-transform-parameters": "^7.16.0", + "@babel/plugin-transform-property-literals": "^7.16.0", + "@babel/plugin-transform-regenerator": "^7.16.0", + "@babel/plugin-transform-reserved-words": "^7.16.0", + "@babel/plugin-transform-shorthand-properties": "^7.16.0", + "@babel/plugin-transform-spread": "^7.16.0", + "@babel/plugin-transform-sticky-regex": "^7.16.0", + "@babel/plugin-transform-template-literals": "^7.16.0", + "@babel/plugin-transform-typeof-symbol": "^7.16.0", + "@babel/plugin-transform-unicode-escapes": "^7.16.0", + "@babel/plugin-transform-unicode-regex": "^7.16.0", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.16.0", + "babel-plugin-polyfill-corejs2": "^0.2.3", + "babel-plugin-polyfill-corejs3": "^0.3.0", + "babel-plugin-polyfill-regenerator": "^0.2.3", + "core-js-compat": "^3.19.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, "@babel/runtime": { - "version": "7.15.4", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz", - "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==", + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.0.tgz", + "integrity": "sha512-Nht8L0O8YCktmsDV6FqFue7vQLRx3Hb0B37lS5y0jDRqRxlBG4wIJHnf9/bgSE2UyipKFA01YtS+npRdTWBUyw==", "dev": true, "requires": { "regenerator-runtime": "^0.13.4" } }, + "@babel/template": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz", + "integrity": "sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.0", + "@babel/parser": "^7.16.0", + "@babel/types": "^7.16.0" + } + }, + "@babel/traverse": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.0.tgz", + "integrity": "sha512-qQ84jIs1aRQxaGaxSysII9TuDaguZ5yVrEuC0BN2vcPlalwfLovVmCjbFDPECPXcYM/wLvNFfp8uDOliLxIoUQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.0", + "@babel/generator": "^7.16.0", + "@babel/helper-function-name": "^7.16.0", + "@babel/helper-hoist-variables": "^7.16.0", + "@babel/helper-split-export-declaration": "^7.16.0", + "@babel/parser": "^7.16.0", + "@babel/types": "^7.16.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz", + "integrity": "sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.15.7", + "to-fast-properties": "^2.0.0" + } + }, + "@discoveryjs/json-ext": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.5.tgz", + "integrity": "sha512-6nFkfkmSeV/rqSaS4oWHgmpnYw194f6hmWF5is6b0J1naJZoiD0NTc9AiUwPHvWsowkjuHErCZT1wa0jg+BLIA==", + "dev": true + }, "@github/file-attachment-element": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/@github/file-attachment-element/-/file-attachment-element-2.0.1.tgz", @@ -198,16 +10913,2240 @@ "integrity": "sha512-fNgAuHBWWzqxMvkTMM7ijqPryLmnPVOi4OWp8YyUC74YgtJCRvQyL7gl9SzNLMXmGQxiRVIYbUJxa61X1oRObw==", "dev": true }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@tailwindcss/forms": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.3.4.tgz", + "integrity": "sha512-vlAoBifNJUkagB+PAdW4aHMe4pKmSLroH398UPgIogBFc91D2VlHUxe4pjxQhiJl0Nfw53sHSJSQBSTQBZP3vA==", + "dev": true, + "requires": { + "mini-svg-data-uri": "^1.2.3" + } + }, + "@tailwindcss/typography": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.4.1.tgz", + "integrity": "sha512-ovPPLUhs7zAIJfr0y1dbGlyCuPhpuv/jpBoFgqAc658DWGGrOBWBMpAWLw2KlzbNeVk4YBJMzue1ekvIbdw6XA==", + "dev": true, + "requires": { + "lodash.castarray": "^4.4.0", + "lodash.isplainobject": "^4.0.6", + "lodash.merge": "^4.6.2", + "lodash.uniq": "^4.5.0" + } + }, + "@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true + }, + "@types/babel__core": { + "version": "7.1.16", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.16.tgz", + "integrity": "sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.3.tgz", + "integrity": "sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.14.2", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz", + "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/clean-css": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/@types/clean-css/-/clean-css-4.2.5.tgz", + "integrity": "sha512-NEzjkGGpbs9S9fgC4abuBvTpVwE3i+Acu9BBod3PUyjDVZcNsGx61b8r2PphR61QGPnn0JHVs5ey6/I4eTrkxw==", + "dev": true, + "requires": { + "@types/node": "*", + "source-map": "^0.6.0" + } + }, + "@types/eslint": { + "version": "7.28.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.2.tgz", + "integrity": "sha512-KubbADPkfoU75KgKeKLsFHXnU4ipH7wYg0TRT33NK3N3yiu7jlFAAoygIWBV+KbuHx/G+AvuGX6DllnK35gfJA==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.1.tgz", + "integrity": "sha512-SCFeogqiptms4Fg29WpOTk5nHIzfpKCemSN63ksBQYKTcXoJEmJagV+DhVmbapZzY4/5YaOV1nZwrsU79fFm1g==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.50", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", + "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", + "dev": true + }, + "@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/http-proxy": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.7.tgz", + "integrity": "sha512-9hdj6iXH64tHSLTY+Vt2eYOGzSogC+JQ2H7bdPWkuh7KXP5qLllWx++t+K9Wk556c3dkDdPws/SpMRi0sdCT1w==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/imagemin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@types/imagemin/-/imagemin-8.0.0.tgz", + "integrity": "sha512-B9X2CUeDv/uUeY9CqkzSTfmsLkeJP6PkmXlh4lODBbf9SwpmNuLS30WzUOi863dgsjY3zt3gY5q2F+UdifRi1A==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/imagemin-gifsicle": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@types/imagemin-gifsicle/-/imagemin-gifsicle-7.0.1.tgz", + "integrity": "sha512-kUz6sUh0P95JOS0RGEaaemWUrASuw+dLsWIveK2UZJx74id/B9epgblMkCk/r5MjUWbZ83wFvacG5Rb/f97gyA==", + "dev": true, + "requires": { + "@types/imagemin": "*" + } + }, + "@types/imagemin-mozjpeg": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@types/imagemin-mozjpeg/-/imagemin-mozjpeg-8.0.1.tgz", + "integrity": "sha512-kMQWEoKxxhlnH4POI3qfW9DjXlQfi80ux3l2b3j5R3eudSCoUIzKQLkfMjNJ6eMYnMWBcB+rfQOWqIzdIwFGKw==", + "dev": true, + "requires": { + "@types/imagemin": "*" + } + }, + "@types/imagemin-optipng": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/@types/imagemin-optipng/-/imagemin-optipng-5.2.1.tgz", + "integrity": "sha512-XCM/3q+HUL7v4zOqMI+dJ5dTxT+MUukY9KU49DSnYb/4yWtSMHJyADP+WHSMVzTR63J2ZvfUOzSilzBNEQW78g==", + "dev": true, + "requires": { + "@types/imagemin": "*" + } + }, + "@types/imagemin-svgo": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@types/imagemin-svgo/-/imagemin-svgo-8.0.1.tgz", + "integrity": "sha512-YafkdrVAcr38U0Ln1C+L1n4SIZqC47VBHTyxCq7gTUSd1R9MdIvMcrljWlgU1M9O68WZDeQWUrKipKYfEOCOvQ==", + "dev": true, + "requires": { + "@types/imagemin": "*", + "@types/svgo": "^1" + } + }, + "@types/json-schema": { + "version": "7.0.9", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", + "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, + "@types/node": { + "version": "16.11.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.6.tgz", + "integrity": "sha512-ua7PgUoeQFjmWPcoo9khiPum3Pd60k4/2ZGXt18sm2Slk0W0xZTqt5Y0Ny1NyBiN1EVQ/+FaF9NcY4Qe6rwk5w==", + "dev": true + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "@types/retry": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", + "integrity": "sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==", + "dev": true + }, + "@types/svgo": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/@types/svgo/-/svgo-1.3.6.tgz", + "integrity": "sha512-AZU7vQcy/4WFEuwnwsNsJnFwupIpbllH1++LXScN6uxT1Z4zPzdrWG97w4/I7eFKFTvfy/bHFStWjdBAg2Vjug==", + "dev": true + }, + "@vue/reactivity": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.1.5.tgz", + "integrity": "sha512-1tdfLmNjWG6t/CsPldh+foumYFo3cpyCHgBYQ34ylaMsJ+SNHQ1kApMIa8jN+i593zQuaw3AdWH0nJTARzCFhg==", + "dev": true, + "requires": { + "@vue/shared": "3.1.5" + } + }, + "@vue/shared": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.5.tgz", + "integrity": "sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==", + "dev": true + }, + "@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@webpack-cli/configtest": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz", + "integrity": "sha512-ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==", + "dev": true, + "requires": {} + }, + "@webpack-cli/info": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz", + "integrity": "sha512-F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==", + "dev": true, + "requires": { + "envinfo": "^7.7.3" + } + }, + "@webpack-cli/serve": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz", + "integrity": "sha512-ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==", + "dev": true, + "requires": {} + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@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==", + "dev": true + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "dev": true, + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "dev": true, + "requires": { + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", + "dev": true + }, + "alpinejs": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/alpinejs/-/alpinejs-3.5.0.tgz", + "integrity": "sha512-75gboKtn1AjGxLLWXMSZQbD1VroGqcncNmbNSPq2v9XjpGIb8U+YAHUJ0hp2MEYmMFfkXPekhSg4ESXlxh9ifg==", + "dev": true, + "requires": { + "@vue/reactivity": "~3.1.1" + } + }, + "ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "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, + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arg": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.1.tgz", + "integrity": "sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA==", + "dev": true + }, + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "requires": { + "lodash": "^4.17.14" + } + }, + "autoprefixer": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.0.tgz", + "integrity": "sha512-7FdJ1ONtwzV1G43GDD0kpVMn/qbiNqyOPMFTX5nRffI+7vgWoFEc6DcXOxHJxrWNDXrZh18eDsZjvZGUljSRGA==", + "dev": true, + "requires": { + "browserslist": "^4.17.5", + "caniuse-lite": "^1.0.30001272", + "fraction.js": "^4.1.1", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.1.0" + } + }, + "babel-loader": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz", + "integrity": "sha512-n4Zeta8NC3QAsuyiizu0GkmRcQ6clkV9WFUnUf1iXP//IeSKbWjofW3UHyZVwlOB4y039YQKefawyTn64Zwbuw==", + "dev": true, + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^1.4.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.3.tgz", + "integrity": "sha512-NDZ0auNRzmAfE1oDDPW2JhzIMXUk+FFe2ICejmt5T4ocKgiQx3e0VCRx9NCAidcMtL2RUZaWtXnmjTCkx0tcbA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.2.4", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.3.0.tgz", + "integrity": "sha512-JLwi9vloVdXLjzACL80j24bG6/T1gYxwowG44dg6HN/7aTPdyPbJJidf6ajoA3RPHHtW0j9KMrSOLpIZpAnPpg==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.4", + "core-js-compat": "^3.18.0" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.3.tgz", + "integrity": "sha512-JVE78oRZPKFIeUqFGrSORNzQnrDwZR16oiWeGM8ZyjBn2XAT5OjP+wXx5ESuo33nUsFUEJYjtklnsKbxW5L+7g==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.2.4" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "dev": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "bn.js": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz", + "integrity": "sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw==", + "dev": true + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "dev": true, + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", + "dev": true + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.17.6", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.17.6.tgz", + "integrity": "sha512-uPgz3vyRTlEiCv4ee9KlsKgo2V6qPk7Jsn0KAn2OBqbqKo3iNcPEC1Ti6J4dwnz+aIRfEEEuOzC9IBk8tXUomw==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001274", + "electron-to-chromium": "^1.3.886", + "escalade": "^3.1.1", + "node-releases": "^2.0.1", + "picocolors": "^1.0.0" + } + }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "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==", + "dev": true + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", + "dev": true + }, + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", + "dev": true + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001278", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001278.tgz", + "integrity": "sha512-mpF9KeH8u5cMoEmIic/cr7PNS+F5LWBk0t2ekGT60lFf0Wq+n9LspAj0g3P+o7DQhD3sUdlMln4YFAWhFYn9jg==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=", + "dev": true + }, + "chokidar": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", + "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "clean-css": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.2.2.tgz", + "integrity": "sha512-/eR8ru5zyxKzpBLv9YZvMXgTSSQn7AdkMItMYynsFgGwTveCRVam9IUPFloE85B4vAIj05IuKmmEoV7/AQjT0w==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-table3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.0.tgz", + "integrity": "sha512-gnB85c3MGC7Nm9I/FkiasNBOKjOiO1RNuXXarQms37q4QMpWdlbBgD/VnOStA2faG1dpXMv31RFApjX1/QdgWQ==", + "dev": true, + "requires": { + "colors": "^1.1.2", + "object-assign": "^4.1.0", + "string-width": "^4.2.0" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "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, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "collect.js": { + "version": "4.29.0", + "resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.29.0.tgz", + "integrity": "sha512-yhgGYEsLEcqnLT1NmRlN1+1euoz9SDhxQ4QyDhWYsKoWsg7252PKA5++dWaDs8mdFxbkmXDXQUaHXI9J2eTPkQ==", + "dev": true + }, + "color": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/color/-/color-4.0.1.tgz", + "integrity": "sha512-rpZjOKN5O7naJxkH2Rx1sZzzBgaiWECc6BYXjeCE6kF0kcASJYbUq02u7JqIHwCb/j3NhV+QhRL2683aICeGZA==", + "dev": true, + "requires": { + "color-convert": "^2.0.1", + "color-string": "^1.6.0" + } + }, + "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, + "requires": { + "color-name": "~1.1.4" + } + }, + "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 + }, + "color-string": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.6.0.tgz", + "integrity": "sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==", + "dev": true, + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "colord": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.1.tgz", + "integrity": "sha512-4LBMSt09vR0uLnPVkOUBnmxgoaeN4ewRbx801wY/bXcltXfpR/G46OdWn96XpYmCWuYvO46aBZP4NgX8HpNAcw==", + "dev": true + }, + "colorette": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", + "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", + "dev": true + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true, + "optional": true + }, + "commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", + "dev": true + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "concat": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/concat/-/concat-1.0.3.tgz", + "integrity": "sha1-QPM1MInWVGdpXLGIa0Xt1jfYzKg=", + "dev": true, + "requires": { + "commander": "^2.9.0" + }, + "dependencies": { + "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==", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true + }, + "consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", + "dev": true + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "dev": true + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "dev": true, + "requires": { + "safe-buffer": "5.1.2" + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, + "core-js-compat": { + "version": "3.19.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.19.1.tgz", + "integrity": "sha512-Q/VJ7jAF/y68+aUsQJ/afPOewdsGkDtcMb40J8MbuWKlK3Y+wtHq8bTHKPj2WKWLIqmS5JhHs4CzHtz6pT2W6g==", + "dev": true, + "requires": { + "browserslist": "^4.17.6", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } + } + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true + }, + "cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=", + "dev": true + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", + "dev": true + }, + "css-declaration-sorter": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.1.3.tgz", + "integrity": "sha512-SvjQjNRZgh4ULK1LDJ2AduPKUKxIqmtU7ZAyi47BTV+M90Qvxr9AB6lKlLbDUfXqI9IQeYA8LbAsCZPpJEV3aA==", + "dev": true, + "requires": { + "timsort": "^0.3.0" + } + }, + "css-loader": { + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", + "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", + "dev": true, + "requires": { + "icss-utils": "^5.1.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.15", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.5" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "css-select": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz", + "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^5.0.0", + "domhandler": "^4.2.0", + "domutils": "^2.6.0", + "nth-check": "^2.0.0" + }, + "dependencies": { + "domhandler": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", + "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + } + } + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "css-unit-converter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz", + "integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==", + "dev": true + }, + "css-what": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz", + "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cssnano": { + "version": "5.0.10", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.0.10.tgz", + "integrity": "sha512-YfNhVJJ04imffOpbPbXP2zjIoByf0m8E2c/s/HnvSvjXgzXMfgopVjAEGvxYOjkOpWuRQDg/OZFjO7WW94Ri8w==", + "dev": true, + "requires": { + "cssnano-preset-default": "^5.1.6", + "is-resolvable": "^1.1.0", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "cssnano-preset-default": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.1.6.tgz", + "integrity": "sha512-X2nDeNGBXc0486oHjT2vSj+TdeyVsxRvJUxaOH50hOM6vSDLkKd0+59YXpSZRInJ4sNtBOykS4KsPfhdrU/35w==", + "dev": true, + "requires": { + "css-declaration-sorter": "^6.0.3", + "cssnano-utils": "^2.0.1", + "postcss-calc": "^8.0.0", + "postcss-colormin": "^5.2.1", + "postcss-convert-values": "^5.0.2", + "postcss-discard-comments": "^5.0.1", + "postcss-discard-duplicates": "^5.0.1", + "postcss-discard-empty": "^5.0.1", + "postcss-discard-overridden": "^5.0.1", + "postcss-merge-longhand": "^5.0.3", + "postcss-merge-rules": "^5.0.2", + "postcss-minify-font-values": "^5.0.1", + "postcss-minify-gradients": "^5.0.3", + "postcss-minify-params": "^5.0.1", + "postcss-minify-selectors": "^5.1.0", + "postcss-normalize-charset": "^5.0.1", + "postcss-normalize-display-values": "^5.0.1", + "postcss-normalize-positions": "^5.0.1", + "postcss-normalize-repeat-style": "^5.0.1", + "postcss-normalize-string": "^5.0.1", + "postcss-normalize-timing-functions": "^5.0.1", + "postcss-normalize-unicode": "^5.0.1", + "postcss-normalize-url": "^5.0.2", + "postcss-normalize-whitespace": "^5.0.1", + "postcss-ordered-values": "^5.0.2", + "postcss-reduce-initial": "^5.0.1", + "postcss-reduce-transforms": "^5.0.1", + "postcss-svgo": "^5.0.3", + "postcss-unique-selectors": "^5.0.1" + } + }, + "cssnano-utils": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-2.0.1.tgz", + "integrity": "sha512-i8vLRZTnEH9ubIyfdZCAdIdgnHAUeQeByEeQ2I7oTilvP9oHO6RScpeq3GsFUVqeB8uZgOQ9pw8utofNn32hhQ==", + "dev": true, + "requires": {} + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "requires": { + "css-tree": "^1.1.2" + } + }, "dayjs": { "version": "1.10.7", "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.7.tgz", "integrity": "sha512-P6twpd70BcPK34K26uJ1KT3wlhpuOAPoMwJzpsIWUxHZ7wpmbdZL/hQqBDfz7hGurYSa5PhzdhDHtt319hL3ig==", "dev": true }, + "debug": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz", + "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "dev": true, + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "requires": { + "execa": "^5.0.0" + } + }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "requires": { + "object-keys": "^1.0.12" + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=", + "dev": true + }, + "del": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", + "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", + "dev": true, + "requires": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "dependencies": { + "globby": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.4.tgz", + "integrity": "sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.1.1", + "ignore": "^5.1.4", + "merge2": "^1.3.0", + "slash": "^3.0.0" + } + } + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "dev": true + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "detective": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.0.tgz", + "integrity": "sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg==", + "dev": true, + "requires": { + "acorn-node": "^1.6.1", + "defined": "^1.0.0", + "minimist": "^1.1.1" + } + }, + "didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "dev": true + }, + "dns-packet": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.4.tgz", + "integrity": "sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==", + "dev": true, + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "dev": true, + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "dom-serializer": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz", + "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "dependencies": { + "domhandler": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", + "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz", + "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==", + "dev": true + }, + "domhandler": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz", + "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "dependencies": { + "domhandler": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz", + "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + } + } + }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "dev": true + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.890", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.890.tgz", + "integrity": "sha512-VWlVXSkv0cA/OOehrEyqjUTHwV8YXCPTfPvbtoeU2aHR21vI4Ejh5aC4AxUwOmbLbBgb6Gd3URZahoCxtBqCYQ==", + "dev": true + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "dev": true + }, + "enhanced-resolve": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", + "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true + }, "esbuild": { - "version": "0.12.29", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.12.29.tgz", - "integrity": "sha512-w/XuoBCSwepyiZtIRsKsetiLDUVGPVw1E/R3VTFSecIy8UR7Cq3SOtwKHJMFoVqqVG36aGkzh4e8BvpO1Fdc7g==", + "version": "0.8.57", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.8.57.tgz", + "integrity": "sha512-j02SFrUwFTRUqiY0Kjplwjm1psuzO1d6AjaXKuOR9hrY0HuPsT6sV42B6myW34h1q4CRy+Y3g4RU/cGJeI/nNA==", + "dev": true + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "dev": true, + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "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==", + "dev": true + }, + "fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fastest-levenshtein": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", + "dev": true + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "file-type": { + "version": "12.4.2", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.4.2.tgz", + "integrity": "sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg==", "dev": true }, "filepond": { @@ -265,35 +13204,3854 @@ "dev": true, "requires": {} }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "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, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "focus-trap": { + "version": "6.7.1", + "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-6.7.1.tgz", + "integrity": "sha512-a6czHbT9twVpy2RpkWQA9vIgwQgB9Nx1PIxNNUxQT4nugG/3QibwxO+tWTh9i+zSY2SFiX4pnYhTaFaQF/6ZAg==", + "dev": true, + "requires": { + "tabbable": "^5.2.1" + } + }, + "follow-redirects": { + "version": "1.14.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.5.tgz", + "integrity": "sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==", + "dev": true + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true + }, + "fraction.js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.1.tgz", + "integrity": "sha512-MHOhvvxHTfRFpF1geTK9czMIZ6xclsEor2wkIGYYq+PxcQqT7vStJqjhe6S1TenZrMZzo+wlqOufBDVepUEgPg==", + "dev": true + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "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 + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "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==", + "dev": true + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz", + "integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==", + "dev": true + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=", + "dev": true + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", + "dev": true + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "dev": true + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "dev": true + }, + "html-entities": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.2.tgz", + "integrity": "sha512-c3Ab/url5ksaT0WyleslpBEthOzWhrjQbg75y7XUsfSzi3Dgzt0l8w5e7DylRn15MTlMMD58dTfzddNS2kcAjQ==", + "dev": true + }, + "html-loader": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-1.3.2.tgz", + "integrity": "sha512-DEkUwSd0sijK5PF3kRWspYi56XP7bTNkyg5YWSzBdjaSDmvCufep5c4Vpb3PBf6lUL0YPtLwBfy9fL0t5hBAGA==", + "dev": true, + "requires": { + "html-minifier-terser": "^5.1.1", + "htmlparser2": "^4.1.0", + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "html-minifier-terser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", + "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", + "dev": true, + "requires": { + "camel-case": "^4.1.1", + "clean-css": "^4.2.3", + "commander": "^4.1.1", + "he": "^1.2.0", + "param-case": "^3.0.3", + "relateurl": "^0.2.7", + "terser": "^4.6.3" + }, + "dependencies": { + "clean-css": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + } + }, + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "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==", + "dev": true + } + } + } + } + }, + "html-tags": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz", + "integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==", + "dev": true + }, + "htmlparser2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz", + "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^3.0.0", + "domutils": "^2.0.0", + "entities": "^2.0.0" + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "dev": true + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "http-parser-js": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==", + "dev": true + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.1.tgz", + "integrity": "sha512-cfaXRVoZxSed/BmkA7SwBVNI9Kj7HFltaE5rqYOub5kWzWZ+gofV2koVN1j2rMW7pEfSSlCHGJ31xmuyFyfLOg==", + "dev": true, + "requires": { + "@types/http-proxy": "^1.17.5", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", + "dev": true + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "requires": {} + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "ignore": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz", + "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==", + "dev": true + }, + "imagemin": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-7.0.1.tgz", + "integrity": "sha512-33AmZ+xjZhg2JMCe+vDf6a9mzWukE7l+wAtesjE7KyteqqKjzxv7aVQeWnul1Ve26mWvEQqyPwl0OctNBfSR9w==", + "dev": true, + "requires": { + "file-type": "^12.0.0", + "globby": "^10.0.0", + "graceful-fs": "^4.2.2", + "junk": "^3.1.0", + "make-dir": "^3.0.0", + "p-pipe": "^3.0.0", + "replace-ext": "^1.0.0" + } + }, "imask": { "version": "6.2.2", "resolved": "https://registry.npmjs.org/imask/-/imask-6.2.2.tgz", "integrity": "sha512-oREITqngsjD0YxO62UpVQSxLNjIcb/mNO9hX2F8xQ282Kj3X9KXEAobipbUXz5R5NgtiL6nOPrWwo+AnLuz5AQ==", "dev": true }, - "marked": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/marked/-/marked-3.0.7.tgz", - "integrity": "sha512-ctKqbnLuNbsHbI26cfMyOlKgXGfl1orOv1AvWWDX7AkgfMOwCWvmuYc+mVLeWhQ9W6hdWVBynOs96VkcscKo0Q==", + "img-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/img-loader/-/img-loader-4.0.0.tgz", + "integrity": "sha512-UwRcPQdwdOyEHyCxe1V9s9YFwInwEWCpoO+kJGfIqDrBDqA8jZUsEZTxQ0JteNPGw/Gupmwesk2OhLTcnw6tnQ==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0" + } + }, + "import-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-3.0.0.tgz", + "integrity": "sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==", + "dev": true, + "requires": { + "import-from": "^3.0.0" + } + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", + "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + }, + "dependencies": { + "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 + } + } + }, + "import-local": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.0.3.tgz", + "integrity": "sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "internal-ip": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-6.2.0.tgz", + "integrity": "sha512-D8WGsR6yDt8uq7vDMu7mjcR+yRMm3dW8yufyChmszWRjcSHuxLBkR3GdS2HZAjodsaGuCvXeEJpueisXJULghg==", + "dev": true, + "requires": { + "default-gateway": "^6.0.0", + "ipaddr.js": "^1.9.1", + "is-ip": "^3.1.0", + "p-event": "^4.2.0" + }, + "dependencies": { + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + } + } + }, + "interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", + "dev": true + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", + "dev": true + }, + "ip-regex": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz", + "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==", + "dev": true + }, + "ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "dev": true + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dev": true, + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "is-core-module": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz", + "integrity": "sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-ip": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz", + "integrity": "sha512-35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==", + "dev": true, + "requires": { + "ip-regex": "^4.0.0" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "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==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true + }, + "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, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "jest-worker": { + "version": "27.3.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.3.1.tgz", + "integrity": "sha512-ks3WCzsiZaOPJl/oMsDjaf0TRiSv7ctNgs0FqRr2nARsovz6AWWy4oLElwcquGSz692DzgZQrCLScPNs5YlC4g==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "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 + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json5": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", + "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "junk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz", + "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==", + "dev": true + }, + "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 + }, + "klona": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", + "dev": true + }, + "laravel-mix": { + "version": "6.0.37", + "resolved": "https://registry.npmjs.org/laravel-mix/-/laravel-mix-6.0.37.tgz", + "integrity": "sha512-mue45XrV7nGGvueP7b5mPlTsT3PUDiaTov1B11OnIr+BzaJXMMmf/r3qLRB4dmbXb5WgoQdk/3tVxZ49b2prbQ==", + "dev": true, + "requires": { + "@babel/core": "^7.15.8", + "@babel/plugin-proposal-object-rest-spread": "^7.15.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.15.8", + "@babel/preset-env": "^7.15.8", + "@babel/runtime": "^7.15.4", + "@types/babel__core": "^7.1.16", + "@types/clean-css": "^4.2.5", + "@types/imagemin-gifsicle": "^7.0.1", + "@types/imagemin-mozjpeg": "^8.0.1", + "@types/imagemin-optipng": "^5.2.1", + "@types/imagemin-svgo": "^8.0.0", + "autoprefixer": "^10.4.0", + "babel-loader": "^8.2.3", + "chalk": "^4.1.2", + "chokidar": "^3.5.2", + "clean-css": "^4.2.3 || ^5.1.2", + "cli-table3": "^0.6.0", + "collect.js": "^4.28.5", + "commander": "^7.2.0", + "concat": "^1.0.3", + "css-loader": "^5.2.6", + "cssnano": "^5.0.8", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "glob": "^7.2.0", + "html-loader": "^1.3.2", + "imagemin": "^7.0.1", + "img-loader": "^4.0.0", + "lodash": "^4.17.21", + "md5": "^2.3.0", + "mini-css-extract-plugin": "^1.6.2", + "node-libs-browser": "^2.2.1", + "postcss-load-config": "^3.1.0", + "postcss-loader": "^6.2.0", + "semver": "^7.3.5", + "strip-ansi": "^6.0.0", + "style-loader": "^2.0.0", + "terser": "^5.9.0", + "terser-webpack-plugin": "^5.2.4", + "vue-style-loader": "^4.1.3", + "webpack": "^5.60.0", + "webpack-cli": "^4.9.1", + "webpack-dev-server": "4.4.0", + "webpack-merge": "^5.8.0", + "webpack-notifier": "^1.14.1", + "webpackbar": "^5.0.0-3", + "yargs": "^17.2.1" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + }, + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + } + } + }, + "lilconfig": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz", + "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==", + "dev": true + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "loader-runner": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", + "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", + "dev": true + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "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, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.castarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", + "integrity": "sha1-wCUTUV4wna3dTCTGDP3c9ZdtkRU=", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", + "dev": true + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.topath": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/lodash.topath/-/lodash.topath-4.5.2.tgz", + "integrity": "sha1-NhY1Hzu6YZlKCTGYlmC9AyVP0Ak=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", + "dev": true + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "marked": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/marked/-/marked-3.0.8.tgz", + "integrity": "sha512-0gVrAjo5m0VZSJb4rpL59K1unJAMb/hm8HRXqasD8VeC8m91ytDPMritgFSlKonfdt+rRYYpP/JfLxgIX8yoSw==", + "dev": true + }, + "md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "dev": true, + "requires": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, "mdhl": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/mdhl/-/mdhl-0.0.6.tgz", "integrity": "sha512-dY0ld/laPE9+9aq7LwGhg+zME0autnOR0juhf6AA/Njs0/awITgbxmUD/cHq8y07bV9j1JQbYM1RnLqhFym5KA==", "dev": true }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "memfs": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.3.0.tgz", + "integrity": "sha512-BEE62uMfKOavX3iG7GYX43QJ+hAeeWnwIAuJ/R6q96jaMtiLzhsxHJC8B1L7fK7Pt/vXDRwb3SG/yBpNGDPqzg==", + "dev": true, + "requires": { + "fs-monkey": "1.0.3" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "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==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "mime-db": { + "version": "1.50.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.50.0.tgz", + "integrity": "sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==", + "dev": true + }, + "mime-types": { + "version": "2.1.33", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.33.tgz", + "integrity": "sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==", + "dev": true, + "requires": { + "mime-db": "1.50.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mini-css-extract-plugin": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz", + "integrity": "sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "webpack-sources": "^1.1.0" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "mini-svg-data-uri": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.3.tgz", + "integrity": "sha512-gSfqpMRC8IxghvMcxzzmMnWpXAChSA+vy4cia33RgerMS8Fex95akUyQZPbxJJmeBGiGmK7n/1OpUX8ksRjIdA==", + "dev": true + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "modern-normalize": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/modern-normalize/-/modern-normalize-1.1.0.tgz", + "integrity": "sha512-2lMlY1Yc1+CUy0gw4H95uNN7vjbpoED7NNRSBHE25nWfLBdmMzFCsPshlzbxHz+gYMcBEUN8V4pU16prcdPSgA==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "dev": true, + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", + "dev": true + }, + "nanoid": { + "version": "3.1.30", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz", + "integrity": "sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==", + "dev": true + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", + "dev": true + }, + "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==", + "dev": true + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node-emoji": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", + "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", + "dev": true, + "requires": { + "lodash": "^4.17.21" + } + }, + "node-forge": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "dev": true + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } + }, + "node-notifier": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-9.0.1.tgz", + "integrity": "sha512-fPNFIp2hF/Dq7qLDzSg4vZ0J4e9v60gJR+Qx7RbjbWqzPDdEqeVpEx5CFeDAELIl+A/woaaNn1fQ5nEVerMxJg==", + "dev": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.2", + "shellwords": "^0.1.1", + "uuid": "^8.3.0", + "which": "^2.0.2" + }, + "dependencies": { + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + } + } + }, + "node-releases": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", + "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "nth-check": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz", + "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "dev": true + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "dev": true, + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "p-event": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-4.2.0.tgz", + "integrity": "sha512-KXatOjCRXXkSePPb1Nbi0p0m+gQAwdlbhi4wQKJPI1HsMQS9g+Sqp2o+QHziPr7eYJyOZet836KoHEVM1mwOrQ==", + "dev": true, + "requires": { + "p-timeout": "^3.1.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "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, + "requires": { + "p-try": "^2.0.0" + } + }, + "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, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-pipe": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz", + "integrity": "sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==", + "dev": true + }, + "p-retry": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.1.tgz", + "integrity": "sha512-e2xXGNhZOZ0lfgR9kL34iGlU8N/KO0xZnQxVEwdeOvpqNDQfdnxIYizvWtK8RglUa3bGqI8g0R/BdfzLMxRkiA==", + "dev": true, + "requires": { + "@types/retry": "^0.12.0", + "retry": "^0.13.1" + } + }, + "p-timeout": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", + "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", + "dev": true, + "requires": { + "p-finally": "^1.0.0" + } + }, + "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 + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "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 + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "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 + }, + "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 + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true + }, + "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, + "requires": { + "find-up": "^4.0.0" + } + }, + "portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "dev": true, + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "postcss": { + "version": "8.3.11", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.3.11.tgz", + "integrity": "sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA==", + "dev": true, + "requires": { + "nanoid": "^3.1.30", + "picocolors": "^1.0.0", + "source-map-js": "^0.6.2" + } + }, + "postcss-calc": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.0.0.tgz", + "integrity": "sha512-5NglwDrcbiy8XXfPM11F3HeC6hoT9W7GUH/Zi5U/p7u3Irv4rHhdDcIZwG0llHXV4ftsBjpfWMXAnXNl4lnt8g==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + } + }, + "postcss-colormin": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.2.1.tgz", + "integrity": "sha512-VVwMrEYLcHYePUYV99Ymuoi7WhKrMGy/V9/kTS0DkCoJYmmjdOMneyhzYUxcNgteKDVbrewOkSM7Wje/MFwxzA==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-convert-values": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.0.2.tgz", + "integrity": "sha512-KQ04E2yadmfa1LqXm7UIDwW1ftxU/QWZmz6NKnHnUvJ3LEYbbcX6i329f/ig+WnEByHegulocXrECaZGLpL8Zg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-discard-comments": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.0.1.tgz", + "integrity": "sha512-lgZBPTDvWrbAYY1v5GYEv8fEO/WhKOu/hmZqmCYfrpD6eyDWWzAOsl2rF29lpvziKO02Gc5GJQtlpkTmakwOWg==", + "dev": true, + "requires": {} + }, + "postcss-discard-duplicates": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.0.1.tgz", + "integrity": "sha512-svx747PWHKOGpAXXQkCc4k/DsWo+6bc5LsVrAsw+OU+Ibi7klFZCyX54gjYzX4TH+f2uzXjRviLARxkMurA2bA==", + "dev": true, + "requires": {} + }, + "postcss-discard-empty": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.0.1.tgz", + "integrity": "sha512-vfU8CxAQ6YpMxV2SvMcMIyF2LX1ZzWpy0lqHDsOdaKKLQVQGVP1pzhrI9JlsO65s66uQTfkQBKBD/A5gp9STFw==", + "dev": true, + "requires": {} + }, + "postcss-discard-overridden": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.0.1.tgz", + "integrity": "sha512-Y28H7y93L2BpJhrdUR2SR2fnSsT+3TVx1NmVQLbcnZWwIUpJ7mfcTC6Za9M2PG6w8j7UQRfzxqn8jU2VwFxo3Q==", + "dev": true, + "requires": {} + }, + "postcss-js": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-3.0.3.tgz", + "integrity": "sha512-gWnoWQXKFw65Hk/mi2+WTQTHdPD5UJdDXZmX073EY/B3BWnYjO4F4t0VneTCnCGQ5E5GsCdMkzPaTXwl3r5dJw==", + "dev": true, + "requires": { + "camelcase-css": "^2.0.1", + "postcss": "^8.1.6" + } + }, + "postcss-load-config": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.0.tgz", + "integrity": "sha512-ipM8Ds01ZUophjDTQYSVP70slFSYg3T0/zyfII5vzhN6V57YSxMgG5syXuwi5VtS8wSf3iL30v0uBdoIVx4Q0g==", + "dev": true, + "requires": { + "import-cwd": "^3.0.0", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "postcss-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.0.tgz", + "integrity": "sha512-H9hv447QjQJVDbHj3OUdciyAXY3v5+UDduzEytAlZCVHCpNAAg/mCSwhYYqZr9BiGYhmYspU8QXxZwiHTLn3yA==", + "dev": true, + "requires": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.4", + "semver": "^7.3.5" + } + }, + "postcss-merge-longhand": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.0.3.tgz", + "integrity": "sha512-kmB+1TjMTj/bPw6MCDUiqSA5e/x4fvLffiAdthra3a0m2/IjTrWsTmD3FdSskzUjEwkj5ZHBDEbv5dOcqD7CMQ==", + "dev": true, + "requires": { + "css-color-names": "^1.0.1", + "postcss-value-parser": "^4.1.0", + "stylehacks": "^5.0.1" + }, + "dependencies": { + "css-color-names": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-1.0.1.tgz", + "integrity": "sha512-/loXYOch1qU1biStIFsHH8SxTmOseh1IJqFvy8IujXOm1h+QjUdDhkzOrR5HG8K8mlxREj0yfi8ewCHx0eMxzA==", + "dev": true + } + } + }, + "postcss-merge-rules": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.0.2.tgz", + "integrity": "sha512-5K+Md7S3GwBewfB4rjDeol6V/RZ8S+v4B66Zk2gChRqLTCC8yjnHQ601omj9TKftS19OPGqZ/XzoqpzNQQLwbg==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^2.0.1", + "postcss-selector-parser": "^6.0.5", + "vendors": "^1.0.3" + } + }, + "postcss-minify-font-values": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.0.1.tgz", + "integrity": "sha512-7JS4qIsnqaxk+FXY1E8dHBDmraYFWmuL6cgt0T1SWGRO5bzJf8sUoelwa4P88LEWJZweHevAiDKxHlofuvtIoA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-minify-gradients": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.0.3.tgz", + "integrity": "sha512-Z91Ol22nB6XJW+5oe31+YxRsYooxOdFKcbOqY/V8Fxse1Y3vqlNRpi1cxCqoACZTQEhl+xvt4hsbWiV5R+XI9Q==", + "dev": true, + "requires": { + "colord": "^2.9.1", + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-minify-params": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.0.1.tgz", + "integrity": "sha512-4RUC4k2A/Q9mGco1Z8ODc7h+A0z7L7X2ypO1B6V8057eVK6mZ6xwz6QN64nHuHLbqbclkX1wyzRnIrdZehTEHw==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.2", + "browserslist": "^4.16.0", + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0", + "uniqs": "^2.0.0" + } + }, + "postcss-minify-selectors": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.1.0.tgz", + "integrity": "sha512-NzGBXDa7aPsAcijXZeagnJBKBPMYLaJJzB8CQh6ncvyl2sIndLVWfbcDi0SBjRWk5VqEjXvf8tYwzoKf4Z07og==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.2", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true, + "requires": {} + }, + "postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "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==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-nested": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", + "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.6" + } + }, + "postcss-normalize-charset": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.0.1.tgz", + "integrity": "sha512-6J40l6LNYnBdPSk+BHZ8SF+HAkS4q2twe5jnocgd+xWpz/mx/5Sa32m3W1AA8uE8XaXN+eg8trIlfu8V9x61eg==", + "dev": true, + "requires": {} + }, + "postcss-normalize-display-values": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.0.1.tgz", + "integrity": "sha512-uupdvWk88kLDXi5HEyI9IaAJTE3/Djbcrqq8YgjvAVuzgVuqIk3SuJWUisT2gaJbZm1H9g5k2w1xXilM3x8DjQ==", + "dev": true, + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-positions": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.0.1.tgz", + "integrity": "sha512-rvzWAJai5xej9yWqlCb1OWLd9JjW2Ex2BCPzUJrbaXmtKtgfL8dBMOOMTX6TnvQMtjk3ei1Lswcs78qKO1Skrg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.0.1.tgz", + "integrity": "sha512-syZ2itq0HTQjj4QtXZOeefomckiV5TaUO6ReIEabCh3wgDs4Mr01pkif0MeVwKyU/LHEkPJnpwFKRxqWA/7O3w==", + "dev": true, + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-string": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.0.1.tgz", + "integrity": "sha512-Ic8GaQ3jPMVl1OEn2U//2pm93AXUcF3wz+OriskdZ1AOuYV25OdgS7w9Xu2LO5cGyhHCgn8dMXh9bO7vi3i9pA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.0.1.tgz", + "integrity": "sha512-cPcBdVN5OsWCNEo5hiXfLUnXfTGtSFiBU9SK8k7ii8UD7OLuznzgNRYkLZow11BkQiiqMcgPyh4ZqXEEUrtQ1Q==", + "dev": true, + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-unicode": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.0.1.tgz", + "integrity": "sha512-kAtYD6V3pK0beqrU90gpCQB7g6AOfP/2KIPCVBKJM2EheVsBQmx/Iof+9zR9NFKLAx4Pr9mDhogB27pmn354nA==", + "dev": true, + "requires": { + "browserslist": "^4.16.0", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-url": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.0.2.tgz", + "integrity": "sha512-k4jLTPUxREQ5bpajFQZpx8bCF2UrlqOTzP9kEqcEnOfwsRshWs2+oAFIHfDQB8GO2PaUaSE0NlTAYtbluZTlHQ==", + "dev": true, + "requires": { + "is-absolute-url": "^3.0.3", + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-normalize-whitespace": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.0.1.tgz", + "integrity": "sha512-iPklmI5SBnRvwceb/XH568yyzK0qRVuAG+a1HFUsFRf11lEJTiQQa03a4RSCQvLKdcpX7XsI1Gen9LuLoqwiqA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-ordered-values": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.0.2.tgz", + "integrity": "sha512-8AFYDSOYWebJYLyJi3fyjl6CqMEG/UVworjiyK1r573I56kb3e879sCJLGvR3merj+fAdPpVplXKQZv+ey6CgQ==", + "dev": true, + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-reduce-initial": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.0.1.tgz", + "integrity": "sha512-zlCZPKLLTMAqA3ZWH57HlbCjkD55LX9dsRyxlls+wfuRfqCi5mSlZVan0heX5cHr154Dq9AfbH70LyhrSAezJw==", + "dev": true, + "requires": { + "browserslist": "^4.16.0", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.0.1.tgz", + "integrity": "sha512-a//FjoPeFkRuAguPscTVmRQUODP+f3ke2HqFNgGPwdYnpeC29RZdCBvGRGTsKpMURb/I3p6jdKoBQ2zI+9Q7kA==", + "dev": true, + "requires": { + "cssnano-utils": "^2.0.1", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-selector-parser": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz", + "integrity": "sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.0.3.tgz", + "integrity": "sha512-41XZUA1wNDAZrQ3XgWREL/M2zSw8LJPvb5ZWivljBsUQAGoEKMYm6okHsTjJxKYI4M75RQEH4KYlEM52VwdXVA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.1.0", + "svgo": "^2.7.0" + } + }, + "postcss-unique-selectors": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.0.1.tgz", + "integrity": "sha512-gwi1NhHV4FMmPn+qwBNuot1sG1t2OmacLQ/AX29lzyggnjd+MnVD5uqQmpXO3J17KGL2WAxQruj1qTd3H0gG/w==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.2", + "postcss-selector-parser": "^6.0.5", + "uniqs": "^2.0.0" + } + }, + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "dev": true + }, + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "dev": true + }, + "pretty-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", + "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "dependencies": { + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + } + } + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "purgecss": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-4.0.3.tgz", + "integrity": "sha512-PYOIn5ibRIP34PBU9zohUcCI09c7drPJJtTDAc0Q6QlRz2/CHQ8ywGLdE7ZhxU2VTqB7p5wkvj5Qcm05Rz3Jmw==", + "dev": true, + "requires": { + "commander": "^6.0.0", + "glob": "^7.0.0", + "postcss": "^8.2.1", + "postcss-selector-parser": "^6.0.2" + } + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", + "dev": true + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "dev": true, + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "rechoir": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", + "dev": true, + "requires": { + "resolve": "^1.9.0" + } + }, + "reduce-css-calc": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz", + "integrity": "sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==", + "dev": true, + "requires": { + "css-unit-converter": "^1.1.1", + "postcss-value-parser": "^3.3.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "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 + }, + "regenerate-unicode-properties": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz", + "integrity": "sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, "regenerator-runtime": { "version": "0.13.9", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", "dev": true }, + "regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regexp.prototype.flags": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "regexpu-core": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz", + "integrity": "sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==", + "dev": true, + "requires": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^9.0.0", + "regjsgen": "^0.5.2", + "regjsparser": "^0.7.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + } + }, + "regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "dev": true + }, + "regjsparser": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz", + "integrity": "sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "dev": true + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resolve": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz", + "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==", + "dev": true, + "requires": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + } + }, + "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, + "requires": { + "resolve-from": "^5.0.0" + }, + "dependencies": { + "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 + } + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", + "dev": true + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "selfsigned": { + "version": "1.10.11", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.11.tgz", + "integrity": "sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA==", + "dev": true, + "requires": { + "node-forge": "^0.10.0" + } + }, + "semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "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, + "requires": { + "kind-of": "^6.0.2" + } + }, + "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, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "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 + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true + }, + "signal-exit": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.5.tgz", + "integrity": "sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==", + "dev": true + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dev": true, + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + } + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "sockjs": { + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", + "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", + "dev": true, + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^3.4.0", + "websocket-driver": "^0.7.4" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-js": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz", + "integrity": "sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==", + "dev": true + }, + "source-map-support": { + "version": "0.5.20", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz", + "integrity": "sha512-n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + }, + "std-env": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.0.1.tgz", + "integrity": "sha512-mC1Ps9l77/97qeOZc+HrOL7TIaOboHqMZ24dGVQrlxFcpPpfCHpH+qfUT7Dz+6mlG8+JPA1KfBQo19iC/+Ngcw==", + "dev": true + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "style-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", + "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "stylehacks": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.0.1.tgz", + "integrity": "sha512-Es0rVnHIqbWzveU1b24kbw92HsebBepxfcqe5iix7t9j0PQqhs0IxXVXv0pY2Bxa08CgMkzD6OWql7kbGOuEdA==", + "dev": true, + "requires": { + "browserslist": "^4.16.0", + "postcss-selector-parser": "^6.0.4" + } + }, + "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, + "requires": { + "has-flag": "^4.0.0" + } + }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dev": true, + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + } + } + }, + "tabbable": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-5.2.1.tgz", + "integrity": "sha512-40pEZ2mhjaZzK0BnI+QGNjJO8UYx9pP5v7BGe17SORTO0OEuuaAwQTkAp8whcZvqon44wKFOikD+Al11K3JICQ==", + "dev": true + }, + "tailwindcss": { + "version": "2.2.19", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-2.2.19.tgz", + "integrity": "sha512-6Ui7JSVtXadtTUo2NtkBBacobzWiQYVjYW0ZnKaP9S1ZCKQ0w7KVNz+YSDI/j7O7KCMHbOkz94ZMQhbT9pOqjw==", + "dev": true, + "requires": { + "arg": "^5.0.1", + "bytes": "^3.0.0", + "chalk": "^4.1.2", + "chokidar": "^3.5.2", + "color": "^4.0.1", + "cosmiconfig": "^7.0.1", + "detective": "^5.2.0", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.2.7", + "fs-extra": "^10.0.0", + "glob-parent": "^6.0.1", + "html-tags": "^3.1.0", + "is-color-stop": "^1.1.0", + "is-glob": "^4.0.1", + "lodash": "^4.17.21", + "lodash.topath": "^4.5.2", + "modern-normalize": "^1.1.0", + "node-emoji": "^1.11.0", + "normalize-path": "^3.0.0", + "object-hash": "^2.2.0", + "postcss-js": "^3.0.3", + "postcss-load-config": "^3.1.0", + "postcss-nested": "5.0.6", + "postcss-selector-parser": "^6.0.6", + "postcss-value-parser": "^4.1.0", + "pretty-hrtime": "^1.0.3", + "purgecss": "^4.0.3", + "quick-lru": "^5.1.1", + "reduce-css-calc": "^2.1.8", + "resolve": "^1.20.0", + "tmp": "^0.2.1" + }, + "dependencies": { + "fs-extra": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", + "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + } + } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true + }, + "terser": { + "version": "5.9.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.9.0.tgz", + "integrity": "sha512-h5hxa23sCdpzcye/7b8YqbE5OwKca/ni0RQz1uRX3tGh8haaGHqcuSqbGRybuAKNdntZ0mDgFNXPJ48xQ2RXKQ==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.7.2", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "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==", + "dev": true + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, + "terser-webpack-plugin": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.2.4.tgz", + "integrity": "sha512-E2CkNMN+1cho04YpdANyRrn8CyN4yMy+WdFKZIySFZrGXZxJwJP6PMNGGc/Mcr6qygQHUUqRxnAPmi0M9f00XA==", + "dev": true, + "requires": { + "jest-worker": "^27.0.6", + "p-limit": "^3.1.0", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1", + "terser": "^5.7.2" + }, + "dependencies": { + "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, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", + "dev": true + }, "trix": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/trix/-/trix-1.3.1.tgz", "integrity": "sha512-BbH6mb6gk+AV4f2as38mP6Ucc1LE3OD6XxkZnAgPIduWXYtvg2mI3cZhIZSLqmMh9OITEpOBCCk88IVmyjU7bA==", "dev": true + }, + "tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true + }, + "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, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "dev": true + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", + "dev": true + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + } + } + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", + "dev": true + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + } + }, + "watchpack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", + "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "webpack": { + "version": "5.62.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.62.1.tgz", + "integrity": "sha512-jNLtnWChS2CMZ7vqWtztv0G6fYB5hz11Zsadp5tE7e4/66zVDj7/KUeQZOsOl8Hz5KrLJH1h2eIDl6AnlyE12Q==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.0", + "@types/estree": "^0.0.50", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.8.3", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.4", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.2.0", + "webpack-sources": "^3.2.0" + }, + "dependencies": { + "acorn": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.5.0.tgz", + "integrity": "sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==", + "dev": true + }, + "acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "requires": {} + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "webpack-sources": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.1.tgz", + "integrity": "sha512-t6BMVLQ0AkjBOoRTZgqrWm7xbXMBzD+XDq2EZ96+vMfn3qKgsvdXZhbPZ4ElUOpdv4u+iiGe+w3+J75iy/bYGA==", + "dev": true + } + } + }, + "webpack-cli": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz", + "integrity": "sha512-JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==", + "dev": true, + "requires": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^1.1.0", + "@webpack-cli/info": "^1.4.0", + "@webpack-cli/serve": "^1.6.0", + "colorette": "^2.0.14", + "commander": "^7.0.0", + "execa": "^5.0.0", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^2.2.0", + "rechoir": "^0.7.0", + "webpack-merge": "^5.7.3" + }, + "dependencies": { + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + } + } + }, + "webpack-dev-middleware": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.2.1.tgz", + "integrity": "sha512-Kx1X+36Rn9JaZcQMrJ7qN3PMAuKmEDD9ZISjUj3Cgq4A6PtwYsC4mpaKotSRYH3iOF6HsUa8viHKS59FlyVifQ==", + "dev": true, + "requires": { + "colorette": "^2.0.10", + "memfs": "^3.2.2", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^3.1.0" + }, + "dependencies": { + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "webpack-dev-server": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.4.0.tgz", + "integrity": "sha512-+S0XRIbsopVjPFjCO8I07FXYBWYqkFmuP56ucGMTs2hA/gV4q2M9xTmNo5Tg4o8ffRR+Nm3AsXnQXxKRyYovrA==", + "dev": true, + "requires": { + "ansi-html-community": "^0.0.8", + "bonjour": "^3.5.0", + "chokidar": "^3.5.2", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "del": "^6.0.0", + "express": "^4.17.1", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.0", + "internal-ip": "^6.2.0", + "ipaddr.js": "^2.0.1", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "portfinder": "^1.0.28", + "schema-utils": "^3.1.0", + "selfsigned": "^1.10.11", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "spdy": "^4.0.2", + "strip-ansi": "^7.0.0", + "url": "^0.11.0", + "webpack-dev-middleware": "^5.2.1", + "ws": "^8.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "webpack-notifier": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/webpack-notifier/-/webpack-notifier-1.14.1.tgz", + "integrity": "sha512-OVOoiOyKHS3z9pN1nLdPY2Pf/R3wiBsN0KiPc3K6ApwMBfHbyUomQc2Mr0naeKxfqXyCBPHfQuqpL9yoL0rgkA==", + "dev": true, + "requires": { + "node-notifier": "^9.0.0", + "strip-ansi": "^6.0.0" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "webpackbar": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz", + "integrity": "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "consola": "^2.15.3", + "pretty-time": "^1.1.0", + "std-env": "^3.0.1" + } + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "ws": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", + "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", + "dev": true, + "requires": {} + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + }, + "yargs": { + "version": "17.2.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.2.1.tgz", + "integrity": "sha512-XfR8du6ua4K6uLGm5S6fA+FIJom/MdJcFNVY8geLlp2v8GYbOXD4EB1tPNZsRn4vBzKGMgb5DRZMeWuFc2GO8Q==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true + }, + "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 } } } diff --git a/package.json b/package.json index de5e679398..b95d08fee6 100644 --- a/package.json +++ b/package.json @@ -1,15 +1,19 @@ { "name": "filament", "scripts": { - "build": "node bin/build", - "watch": "node bin/build --watch" + "build": "mix --production && node bin/build", + "watch": "mix watch && node bin/build --watch" }, "devDependencies": { + "@alpinejs/trap": "^3.5.0", "@babel/runtime": "^7.15.3", "@github/file-attachment-element": "^2.0.1", "@github/markdown-toolbar-element": "^1.5.1", + "@tailwindcss/forms": "^0.3.4", + "@tailwindcss/typography": "^0.4.1", + "alpinejs": "^3.5.0", "dayjs": "^1.10.6", - "esbuild": "^0.12.16", + "esbuild": "^0.8.57", "filepond": "^4.28.2", "filepond-plugin-file-validate-size": "^2.2.4", "filepond-plugin-file-validate-type": "^1.2.6", @@ -19,8 +23,10 @@ "filepond-plugin-image-resize": "^2.0.10", "filepond-plugin-image-transform": "^3.8.6", "imask": "^6.1.0", + "laravel-mix": "^6.0.37", "marked": "^3.0.0", "mdhl": "^0.0.6", + "tailwindcss": "^2.2.19", "trix": "^1.3.1" } } diff --git a/packages/admin/.gitignore b/packages/admin/.gitignore new file mode 100644 index 0000000000..61ead86667 --- /dev/null +++ b/packages/admin/.gitignore @@ -0,0 +1 @@ +/vendor diff --git a/packages/admin/composer.json b/packages/admin/composer.json new file mode 100644 index 0000000000..3cfa97a308 --- /dev/null +++ b/packages/admin/composer.json @@ -0,0 +1,35 @@ +{ + "name": "filament/filament", + "description": "Effortlessly build TALL-powered admin panels.", + "license": "MIT", + "homepage": "https://github.com/laravel-filament/filament", + "support": { + "issues": "https://github.com/laravel-filament/filament/issues", + "source": "https://github.com/laravel-filament/filament" + }, + "require": { + "php": "^8.0", + "livewire/livewire": "^2.6", + "spatie/laravel-package-tools": "^1.9" + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Filament\\": "src" + } + }, + "extra": { + "laravel": { + "providers": [ + "Filament\\FilamentServiceProvider" + ] + } + }, + "config": { + "sort-packages": true + }, + "minimum-stability": "dev", + "prefer-stable": true +} diff --git a/packages/admin/composer.lock b/packages/admin/composer.lock new file mode 100644 index 0000000000..1c15e1245d --- /dev/null +++ b/packages/admin/composer.lock @@ -0,0 +1,3859 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "3bcaed2f0ce2881e4306f3454c777d4f", + "packages": [ + { + "name": "akaunting/laravel-money", + "version": "1.2.3", + "source": { + "type": "git", + "url": "https://github.com/akaunting/laravel-money.git", + "reference": "e97cbb9735540fac995e5e0b17395ef4ba33ac38" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/akaunting/laravel-money/zipball/e97cbb9735540fac995e5e0b17395ef4ba33ac38", + "reference": "e97cbb9735540fac995e5e0b17395ef4ba33ac38", + "shasum": "" + }, + "require": { + "illuminate/support": ">=5.4", + "illuminate/view": ">=5.4", + "php": ">=5.6.4" + }, + "require-dev": { + "mockery/mockery": ">=1.0", + "phpunit/phpunit": ">=5.7" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Akaunting\\Money\\Provider" + ] + } + }, + "autoload": { + "psr-4": { + "Akaunting\\Money\\": "./src" + }, + "files": [ + "src/helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Denis Duliçi", + "email": "info@akaunting.com", + "homepage": "https://akaunting.com", + "role": "Developer" + } + ], + "description": "Currency formatting and conversion package for Laravel", + "keywords": [ + "convert", + "currency", + "format", + "laravel", + "money" + ], + "support": { + "issues": "https://github.com/akaunting/laravel-money/issues", + "source": "https://github.com/akaunting/laravel-money/tree/1.2.3" + }, + "time": "2021-09-28T06:19:54+00:00" + }, + { + "name": "blade-ui-kit/blade-heroicons", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/blade-ui-kit/blade-heroicons.git", + "reference": "99d82616a72e36492edc9b95c6a2112d8632e9a7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/blade-ui-kit/blade-heroicons/zipball/99d82616a72e36492edc9b95c6a2112d8632e9a7", + "reference": "99d82616a72e36492edc9b95c6a2112d8632e9a7", + "shasum": "" + }, + "require": { + "blade-ui-kit/blade-icons": "^1.0", + "illuminate/support": "^8.0", + "php": "^7.4|^8.0" + }, + "require-dev": { + "orchestra/testbench": "^6.0", + "phpunit/phpunit": "^9.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "BladeUI\\Heroicons\\BladeHeroiconsServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "BladeUI\\Heroicons\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Dries Vints", + "homepage": "https://driesvints.com" + } + ], + "description": "A package to easily make use of Heroicons in your Laravel Blade views.", + "homepage": "https://github.com/blade-ui-kit/blade-heroicons", + "keywords": [ + "Heroicons", + "blade", + "laravel" + ], + "support": { + "issues": "https://github.com/blade-ui-kit/blade-heroicons/issues", + "source": "https://github.com/blade-ui-kit/blade-heroicons/tree/1.2.0" + }, + "funding": [ + { + "url": "https://github.com/caneco", + "type": "github" + }, + { + "url": "https://github.com/driesvints", + "type": "github" + } + ], + "time": "2021-05-05T14:59:46+00:00" + }, + { + "name": "blade-ui-kit/blade-icons", + "version": "1.1.2", + "source": { + "type": "git", + "url": "https://github.com/blade-ui-kit/blade-icons.git", + "reference": "548869bc820a25f803530c82028482aefe08115f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/blade-ui-kit/blade-icons/zipball/548869bc820a25f803530c82028482aefe08115f", + "reference": "548869bc820a25f803530c82028482aefe08115f", + "shasum": "" + }, + "require": { + "illuminate/contracts": "^8.0", + "illuminate/filesystem": "^8.0", + "illuminate/support": "^8.0", + "illuminate/view": "^8.0", + "php": "^7.4|^8.0", + "symfony/console": "^5.3", + "symfony/finder": "^5.3" + }, + "require-dev": { + "mockery/mockery": "^1.3", + "orchestra/testbench": "^6.0", + "phpunit/phpunit": "^9.0" + }, + "bin": [ + "bin/blade-icons-generate" + ], + "type": "library", + "extra": { + "laravel": { + "providers": [ + "BladeUI\\Icons\\BladeIconsServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "BladeUI\\Icons\\": "src" + }, + "files": [ + "src/helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Dries Vints", + "homepage": "https://driesvints.com" + } + ], + "description": "A package to easily make use of icons in your Laravel Blade views.", + "homepage": "https://github.com/blade-ui-kit/blade-icons", + "keywords": [ + "blade", + "icons", + "laravel", + "svg" + ], + "support": { + "issues": "https://github.com/blade-ui-kit/blade-icons/issues", + "source": "https://github.com/blade-ui-kit/blade-icons" + }, + "funding": [ + { + "url": "https://github.com/caneco", + "type": "github" + }, + { + "url": "https://github.com/driesvints", + "type": "github" + } + ], + "time": "2021-08-11T10:09:06+00:00" + }, + { + "name": "danharrin/date-format-converter", + "version": "v0.2.0", + "source": { + "type": "git", + "url": "https://github.com/danharrin/date-format-converter.git", + "reference": "ee448ab0cbe2ea36edb886a01670fc760e388f19" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/danharrin/date-format-converter/zipball/ee448ab0cbe2ea36edb886a01670fc760e388f19", + "reference": "ee448ab0cbe2ea36edb886a01670fc760e388f19", + "shasum": "" + }, + "require": { + "php": "^7.2|^8.0" + }, + "type": "library", + "autoload": { + "files": [ + "src/helpers.php", + "src/standards.php" + ], + "psr-4": { + "DanHarrin\\DateFormatConverter\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Dan Harrin", + "email": "dan@danharrin.com" + } + ], + "description": "Convert token-based date formats between standards.", + "homepage": "https://github.com/danharrin/date-format-converter", + "support": { + "issues": "https://github.com/danharrin/date-format-converter/issues", + "source": "https://github.com/danharrin/date-format-converter" + }, + "funding": [ + { + "url": "https://github.com/danharrin", + "type": "github" + } + ], + "time": "2021-02-10T23:58:47+00:00" + }, + { + "name": "doctrine/inflector", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89", + "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^8.2", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpstan/phpstan-strict-rules": "^0.12", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", + "vimeo/psalm": "^4.10" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", + "homepage": "https://www.doctrine-project.org/projects/inflector.html", + "keywords": [ + "inflection", + "inflector", + "lowercase", + "manipulation", + "php", + "plural", + "singular", + "strings", + "uppercase", + "words" + ], + "support": { + "issues": "https://github.com/doctrine/inflector/issues", + "source": "https://github.com/doctrine/inflector/tree/2.0.4" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", + "type": "tidelift" + } + ], + "time": "2021-10-22T20:16:43+00:00" + }, + { + "name": "doctrine/lexer", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "e864bbf5904cb8f5bb334f99209b48018522f042" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/e864bbf5904cb8f5bb334f99209b48018522f042", + "reference": "e864bbf5904cb8f5bb334f99209b48018522f042", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0", + "phpstan/phpstan": "^0.11.8", + "phpunit/phpunit": "^8.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", + "keywords": [ + "annotations", + "docblock", + "lexer", + "parser", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/1.2.1" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", + "type": "tidelift" + } + ], + "time": "2020-05-25T17:44:05+00:00" + }, + { + "name": "egulias/email-validator", + "version": "2.1.25", + "source": { + "type": "git", + "url": "https://github.com/egulias/EmailValidator.git", + "reference": "0dbf5d78455d4d6a41d186da50adc1122ec066f4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/0dbf5d78455d4d6a41d186da50adc1122ec066f4", + "reference": "0dbf5d78455d4d6a41d186da50adc1122ec066f4", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^1.0.1", + "php": ">=5.5", + "symfony/polyfill-intl-idn": "^1.10" + }, + "require-dev": { + "dominicsayers/isemail": "^3.0.7", + "phpunit/phpunit": "^4.8.36|^7.5.15", + "satooshi/php-coveralls": "^1.0.1" + }, + "suggest": { + "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Egulias\\EmailValidator\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eduardo Gulias Davis" + } + ], + "description": "A library for validating emails against several RFCs", + "homepage": "https://github.com/egulias/EmailValidator", + "keywords": [ + "email", + "emailvalidation", + "emailvalidator", + "validation", + "validator" + ], + "support": { + "issues": "https://github.com/egulias/EmailValidator/issues", + "source": "https://github.com/egulias/EmailValidator/tree/2.1.25" + }, + "funding": [ + { + "url": "https://github.com/egulias", + "type": "github" + } + ], + "time": "2020-12-29T14:50:06+00:00" + }, + { + "name": "filament/forms", + "version": "2.x-dev", + "source": { + "type": "git", + "url": "https://github.com/laravel-filament/forms.git", + "reference": "1454a701da5c541ebf24edea1460c123f6703e19" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel-filament/forms/zipball/1454a701da5c541ebf24edea1460c123f6703e19", + "reference": "1454a701da5c541ebf24edea1460c123f6703e19", + "shasum": "" + }, + "require": { + "blade-ui-kit/blade-heroicons": "^1.2", + "danharrin/date-format-converter": "^0.2", + "illuminate/console": "^8.6", + "illuminate/contracts": "^8.6", + "illuminate/database": "^8.6", + "illuminate/filesystem": "^8.6", + "illuminate/support": "^8.6", + "illuminate/validation": "^8.6", + "illuminate/view": "^8.6", + "laravel/ui": "^3.3", + "livewire/livewire": "^2.6", + "php": "^8.0", + "spatie/laravel-package-tools": "^1.9" + }, + "default-branch": true, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Filament\\Forms\\FormsServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Filament\\Forms\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Effortlessly build TALL-powered forms.", + "homepage": "https://github.com/laravel-filament/filament", + "support": { + "issues": "https://github.com/laravel-filament/filament/issues", + "source": "https://github.com/laravel-filament/filament" + }, + "time": "2021-10-27T09:52:50+00:00" + }, + { + "name": "illuminate/bus", + "version": "v8.68.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/bus.git", + "reference": "be400399687b97d5558a224e970060fd5d5f2735" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/bus/zipball/be400399687b97d5558a224e970060fd5d5f2735", + "reference": "be400399687b97d5558a224e970060fd5d5f2735", + "shasum": "" + }, + "require": { + "illuminate/collections": "^8.0", + "illuminate/contracts": "^8.0", + "illuminate/pipeline": "^8.0", + "illuminate/support": "^8.0", + "php": "^7.3|^8.0" + }, + "suggest": { + "illuminate/queue": "Required to use closures when chaining jobs (^7.0)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Bus\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Bus package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2021-10-21T19:19:36+00:00" + }, + { + "name": "illuminate/collections", + "version": "v8.68.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/collections.git", + "reference": "05f286ec5fd2dd286e8384577047efc375c8954c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/collections/zipball/05f286ec5fd2dd286e8384577047efc375c8954c", + "reference": "05f286ec5fd2dd286e8384577047efc375c8954c", + "shasum": "" + }, + "require": { + "illuminate/contracts": "^8.0", + "illuminate/macroable": "^8.0", + "php": "^7.3|^8.0" + }, + "suggest": { + "symfony/var-dumper": "Required to use the dump method (^5.1.4)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Support\\": "" + }, + "files": [ + "helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Collections package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2021-10-22T18:01:46+00:00" + }, + { + "name": "illuminate/console", + "version": "v8.68.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/console.git", + "reference": "9c66af18f7a491d45dc7527837f22a175776870a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/console/zipball/9c66af18f7a491d45dc7527837f22a175776870a", + "reference": "9c66af18f7a491d45dc7527837f22a175776870a", + "shasum": "" + }, + "require": { + "illuminate/collections": "^8.0", + "illuminate/contracts": "^8.0", + "illuminate/macroable": "^8.0", + "illuminate/support": "^8.0", + "php": "^7.3|^8.0", + "symfony/console": "^5.1.4", + "symfony/process": "^5.1.4" + }, + "suggest": { + "dragonmantank/cron-expression": "Required to use scheduler (^3.0.2).", + "guzzlehttp/guzzle": "Required to use the ping methods on schedules (^6.5.5|^7.0.1).", + "illuminate/bus": "Required to use the scheduled job dispatcher (^8.0).", + "illuminate/container": "Required to use the scheduler (^8.0).", + "illuminate/filesystem": "Required to use the generator command (^8.0).", + "illuminate/queue": "Required to use closures for scheduled jobs (^8.0)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Console\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Console package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2021-10-21T19:19:36+00:00" + }, + { + "name": "illuminate/container", + "version": "v8.68.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/container.git", + "reference": "ef73feb5216ef97ab7023cf59c0c8dbbd5505a9d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/container/zipball/ef73feb5216ef97ab7023cf59c0c8dbbd5505a9d", + "reference": "ef73feb5216ef97ab7023cf59c0c8dbbd5505a9d", + "shasum": "" + }, + "require": { + "illuminate/contracts": "^8.0", + "php": "^7.3|^8.0", + "psr/container": "^1.0" + }, + "provide": { + "psr/container-implementation": "1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Container\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Container package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2021-09-15T14:32:50+00:00" + }, + { + "name": "illuminate/contracts", + "version": "v8.68.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/contracts.git", + "reference": "e76f4bce73a2a1656add24bd5210ebc4b8af49c0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/contracts/zipball/e76f4bce73a2a1656add24bd5210ebc4b8af49c0", + "reference": "e76f4bce73a2a1656add24bd5210ebc4b8af49c0", + "shasum": "" + }, + "require": { + "php": "^7.3|^8.0", + "psr/container": "^1.0", + "psr/simple-cache": "^1.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Contracts\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Contracts package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2021-10-22T18:01:46+00:00" + }, + { + "name": "illuminate/database", + "version": "v8.68.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/database.git", + "reference": "945487fe35ad874896fc6119b0540ba8cda3f02e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/database/zipball/945487fe35ad874896fc6119b0540ba8cda3f02e", + "reference": "945487fe35ad874896fc6119b0540ba8cda3f02e", + "shasum": "" + }, + "require": { + "ext-json": "*", + "illuminate/collections": "^8.0", + "illuminate/container": "^8.0", + "illuminate/contracts": "^8.0", + "illuminate/macroable": "^8.0", + "illuminate/support": "^8.0", + "php": "^7.3|^8.0", + "symfony/console": "^5.1.4" + }, + "suggest": { + "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.13.3|^3.1.2).", + "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", + "illuminate/console": "Required to use the database commands (^8.0).", + "illuminate/events": "Required to use the observers with Eloquent (^8.0).", + "illuminate/filesystem": "Required to use the migrations (^8.0).", + "illuminate/pagination": "Required to paginate the result set (^8.0).", + "symfony/finder": "Required to use Eloquent model factories (^5.1.4)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Database\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Database package.", + "homepage": "https://laravel.com", + "keywords": [ + "database", + "laravel", + "orm", + "sql" + ], + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2021-10-25T13:17:09+00:00" + }, + { + "name": "illuminate/events", + "version": "v8.68.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/events.git", + "reference": "b7f06cafb6c09581617f2ca05d69e9b159e5a35d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/events/zipball/b7f06cafb6c09581617f2ca05d69e9b159e5a35d", + "reference": "b7f06cafb6c09581617f2ca05d69e9b159e5a35d", + "shasum": "" + }, + "require": { + "illuminate/bus": "^8.0", + "illuminate/collections": "^8.0", + "illuminate/container": "^8.0", + "illuminate/contracts": "^8.0", + "illuminate/macroable": "^8.0", + "illuminate/support": "^8.0", + "php": "^7.3|^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Events\\": "" + }, + "files": [ + "functions.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Events package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2021-09-15T14:32:50+00:00" + }, + { + "name": "illuminate/filesystem", + "version": "v8.68.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/filesystem.git", + "reference": "a7bc30dac4e27dbeb37b026f3dbaee13bd578861" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/filesystem/zipball/a7bc30dac4e27dbeb37b026f3dbaee13bd578861", + "reference": "a7bc30dac4e27dbeb37b026f3dbaee13bd578861", + "shasum": "" + }, + "require": { + "illuminate/collections": "^8.0", + "illuminate/contracts": "^8.0", + "illuminate/macroable": "^8.0", + "illuminate/support": "^8.0", + "php": "^7.3|^8.0", + "symfony/finder": "^5.1.4" + }, + "suggest": { + "ext-ftp": "Required to use the Flysystem FTP driver.", + "illuminate/http": "Required for handling uploaded files (^7.0).", + "league/flysystem": "Required to use the Flysystem local and FTP drivers (^1.1).", + "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", + "league/flysystem-cached-adapter": "Required to use the Flysystem cache (^1.0).", + "league/flysystem-sftp": "Required to use the Flysystem SFTP driver (^1.0).", + "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^5.1.4).", + "symfony/mime": "Required to enable support for guessing extensions (^5.1.4)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Filesystem\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Filesystem package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2021-10-22T13:20:42+00:00" + }, + { + "name": "illuminate/macroable", + "version": "v8.68.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/macroable.git", + "reference": "300aa13c086f25116b5f3cde3ca54ff5c822fb05" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/macroable/zipball/300aa13c086f25116b5f3cde3ca54ff5c822fb05", + "reference": "300aa13c086f25116b5f3cde3ca54ff5c822fb05", + "shasum": "" + }, + "require": { + "php": "^7.3|^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Support\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Macroable package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2020-10-27T15:20:30+00:00" + }, + { + "name": "illuminate/pipeline", + "version": "v8.68.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/pipeline.git", + "reference": "23aeff5b26ae4aee3f370835c76bd0f4e93f71d2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/pipeline/zipball/23aeff5b26ae4aee3f370835c76bd0f4e93f71d2", + "reference": "23aeff5b26ae4aee3f370835c76bd0f4e93f71d2", + "shasum": "" + }, + "require": { + "illuminate/contracts": "^8.0", + "illuminate/support": "^8.0", + "php": "^7.3|^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Pipeline\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Pipeline package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2021-03-26T18:39:16+00:00" + }, + { + "name": "illuminate/support", + "version": "v8.68.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/support.git", + "reference": "f0a1ffbfd93a24758f39cc76821ce5a408e20b53" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/support/zipball/f0a1ffbfd93a24758f39cc76821ce5a408e20b53", + "reference": "f0a1ffbfd93a24758f39cc76821ce5a408e20b53", + "shasum": "" + }, + "require": { + "doctrine/inflector": "^1.4|^2.0", + "ext-json": "*", + "ext-mbstring": "*", + "illuminate/collections": "^8.0", + "illuminate/contracts": "^8.0", + "illuminate/macroable": "^8.0", + "nesbot/carbon": "^2.53.1", + "php": "^7.3|^8.0", + "voku/portable-ascii": "^1.4.8" + }, + "conflict": { + "tightenco/collect": "<5.5.33" + }, + "suggest": { + "illuminate/filesystem": "Required to use the composer class (^8.0).", + "league/commonmark": "Required to use Str::markdown() and Stringable::markdown() (^1.3|^2.0.2).", + "ramsey/uuid": "Required to use Str::uuid() (^4.2.2).", + "symfony/process": "Required to use the composer class (^5.1.4).", + "symfony/var-dumper": "Required to use the dd function (^5.1.4).", + "vlucas/phpdotenv": "Required to use the Env class and env helper (^5.2)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Support\\": "" + }, + "files": [ + "helpers.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Support package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2021-10-24T14:32:18+00:00" + }, + { + "name": "illuminate/translation", + "version": "v8.68.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/translation.git", + "reference": "019c83d17b6311be5e52ab99487804d210110d9d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/translation/zipball/019c83d17b6311be5e52ab99487804d210110d9d", + "reference": "019c83d17b6311be5e52ab99487804d210110d9d", + "shasum": "" + }, + "require": { + "ext-json": "*", + "illuminate/collections": "^8.0", + "illuminate/contracts": "^8.0", + "illuminate/filesystem": "^8.0", + "illuminate/macroable": "^8.0", + "illuminate/support": "^8.0", + "php": "^7.3|^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Translation\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Translation package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2021-10-21T16:07:23+00:00" + }, + { + "name": "illuminate/validation", + "version": "v8.68.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/validation.git", + "reference": "b0be37f9bfeac3ff2bbca337394c6f09564bfa80" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/validation/zipball/b0be37f9bfeac3ff2bbca337394c6f09564bfa80", + "reference": "b0be37f9bfeac3ff2bbca337394c6f09564bfa80", + "shasum": "" + }, + "require": { + "egulias/email-validator": "^2.1.10", + "ext-json": "*", + "illuminate/collections": "^8.0", + "illuminate/container": "^8.0", + "illuminate/contracts": "^8.0", + "illuminate/macroable": "^8.0", + "illuminate/support": "^8.0", + "illuminate/translation": "^8.0", + "php": "^7.3|^8.0", + "symfony/http-foundation": "^5.1.4", + "symfony/mime": "^5.1.4" + }, + "suggest": { + "ext-bcmath": "Required to use the multiple_of validation rule.", + "illuminate/database": "Required to use the database presence verifier (^8.0)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Validation\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Validation package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2021-10-26T12:04:24+00:00" + }, + { + "name": "illuminate/view", + "version": "v8.68.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/view.git", + "reference": "931d349fd7a29b25118155601aed9a37821e3b83" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/view/zipball/931d349fd7a29b25118155601aed9a37821e3b83", + "reference": "931d349fd7a29b25118155601aed9a37821e3b83", + "shasum": "" + }, + "require": { + "ext-json": "*", + "illuminate/collections": "^8.0", + "illuminate/container": "^8.0", + "illuminate/contracts": "^8.0", + "illuminate/events": "^8.0", + "illuminate/filesystem": "^8.0", + "illuminate/macroable": "^8.0", + "illuminate/support": "^8.0", + "php": "^7.3|^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "8.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\View\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate View package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2021-10-22T18:01:46+00:00" + }, + { + "name": "laravel/ui", + "version": "v3.3.0", + "source": { + "type": "git", + "url": "https://github.com/laravel/ui.git", + "reference": "07d725813350c695c779382cbd6dac0ab8665537" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/ui/zipball/07d725813350c695c779382cbd6dac0ab8665537", + "reference": "07d725813350c695c779382cbd6dac0ab8665537", + "shasum": "" + }, + "require": { + "illuminate/console": "^8.42", + "illuminate/filesystem": "^8.42", + "illuminate/support": "^8.42", + "illuminate/validation": "^8.42", + "php": "^7.3|^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + }, + "laravel": { + "providers": [ + "Laravel\\Ui\\UiServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Ui\\": "src/", + "Illuminate\\Foundation\\Auth\\": "auth-backend/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Laravel UI utilities and presets.", + "keywords": [ + "laravel", + "ui" + ], + "support": { + "source": "https://github.com/laravel/ui/tree/v3.3.0" + }, + "time": "2021-05-25T16:45:33+00:00" + }, + { + "name": "livewire/livewire", + "version": "v2.7.2", + "source": { + "type": "git", + "url": "https://github.com/livewire/livewire.git", + "reference": "991e5bd8a48e450d23cd55336964f916e92a6464" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/livewire/livewire/zipball/991e5bd8a48e450d23cd55336964f916e92a6464", + "reference": "991e5bd8a48e450d23cd55336964f916e92a6464", + "shasum": "" + }, + "require": { + "illuminate/database": "^7.0|^8.0", + "illuminate/support": "^7.0|^8.0", + "illuminate/validation": "^7.0|^8.0", + "php": "^7.2.5|^8.0", + "symfony/http-kernel": "^5.0" + }, + "require-dev": { + "calebporzio/sushi": "^2.1", + "laravel/framework": "^7.0|^8.0", + "mockery/mockery": "^1.3.1", + "orchestra/testbench": "^5.0|^6.0", + "orchestra/testbench-dusk": "^5.2|^6.0", + "phpunit/phpunit": "^8.4|^9.0", + "psy/psysh": "@stable" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Livewire\\LivewireServiceProvider" + ], + "aliases": { + "Livewire": "Livewire\\Livewire" + } + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Livewire\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Caleb Porzio", + "email": "calebporzio@gmail.com" + } + ], + "description": "A front-end framework for Laravel.", + "support": { + "issues": "https://github.com/livewire/livewire/issues", + "source": "https://github.com/livewire/livewire/tree/v2.7.2" + }, + "funding": [ + { + "url": "https://github.com/calebporzio", + "type": "github" + } + ], + "time": "2021-10-20T02:27:35+00:00" + }, + { + "name": "nesbot/carbon", + "version": "2.53.1", + "source": { + "type": "git", + "url": "https://github.com/briannesbitt/Carbon.git", + "reference": "f4655858a784988f880c1b8c7feabbf02dfdf045" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/f4655858a784988f880c1b8c7feabbf02dfdf045", + "reference": "f4655858a784988f880c1b8c7feabbf02dfdf045", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^7.1.8 || ^8.0", + "symfony/polyfill-mbstring": "^1.0", + "symfony/polyfill-php80": "^1.16", + "symfony/translation": "^3.4 || ^4.0 || ^5.0" + }, + "require-dev": { + "doctrine/orm": "^2.7", + "friendsofphp/php-cs-fixer": "^3.0", + "kylekatarnls/multi-tester": "^2.0", + "phpmd/phpmd": "^2.9", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12.54", + "phpunit/phpunit": "^7.5.20 || ^8.5.14", + "squizlabs/php_codesniffer": "^3.4" + }, + "bin": [ + "bin/carbon" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-3.x": "3.x-dev", + "dev-master": "2.x-dev" + }, + "laravel": { + "providers": [ + "Carbon\\Laravel\\ServiceProvider" + ] + }, + "phpstan": { + "includes": [ + "extension.neon" + ] + } + }, + "autoload": { + "psr-4": { + "Carbon\\": "src/Carbon/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "https://markido.com" + }, + { + "name": "kylekatarnls", + "homepage": "https://github.com/kylekatarnls" + } + ], + "description": "An API extension for DateTime that supports 281 different languages.", + "homepage": "https://carbon.nesbot.com", + "keywords": [ + "date", + "datetime", + "time" + ], + "support": { + "issues": "https://github.com/briannesbitt/Carbon/issues", + "source": "https://github.com/briannesbitt/Carbon" + }, + "funding": [ + { + "url": "https://opencollective.com/Carbon", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", + "type": "tidelift" + } + ], + "time": "2021-09-06T09:29:23+00:00" + }, + { + "name": "psr/container", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", + "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/1.1.1" + }, + "time": "2021-03-05T17:36:06+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" + }, + { + "name": "psr/log", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/ef29f6d262798707a9edd554e2b82517ef3a9376", + "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/2.0.0" + }, + "time": "2021-07-14T16:41:46+00:00" + }, + { + "name": "psr/simple-cache", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "reference": "408d5eafb83c57f6365a3ca330ff23aa4a5fa39b", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "support": { + "source": "https://github.com/php-fig/simple-cache/tree/master" + }, + "time": "2017-10-23T01:57:42+00:00" + }, + { + "name": "spatie/laravel-package-tools", + "version": "1.9.2", + "source": { + "type": "git", + "url": "https://github.com/spatie/laravel-package-tools.git", + "reference": "f710fe196c126fb9e0aee67eb5af49ad8f13f528" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/f710fe196c126fb9e0aee67eb5af49ad8f13f528", + "reference": "f710fe196c126fb9e0aee67eb5af49ad8f13f528", + "shasum": "" + }, + "require": { + "illuminate/contracts": "^7.0|^8.0", + "php": "^7.4|^8.0" + }, + "require-dev": { + "mockery/mockery": "^1.4", + "orchestra/testbench": "^5.0|^6.0", + "phpunit/phpunit": "^9.3", + "spatie/test-time": "^1.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\LaravelPackageTools\\": "src", + "Spatie\\LaravelPackageTools\\Database\\Factories\\": "database/factories" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "role": "Developer" + } + ], + "description": "Tools for creating Laravel packages", + "homepage": "https://github.com/spatie/laravel-package-tools", + "keywords": [ + "laravel-package-tools", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/laravel-package-tools/issues", + "source": "https://github.com/spatie/laravel-package-tools/tree/1.9.2" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2021-09-21T13:06:51+00:00" + }, + { + "name": "symfony/console", + "version": "v5.3.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "8b1008344647462ae6ec57559da166c2bfa5e16a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/8b1008344647462ae6ec57559da166c2bfa5e16a", + "reference": "8b1008344647462ae6ec57559da166c2bfa5e16a", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "^1.8", + "symfony/polyfill-php80": "^1.16", + "symfony/service-contracts": "^1.1|^2", + "symfony/string": "^5.1" + }, + "conflict": { + "psr/log": ">=3", + "symfony/dependency-injection": "<4.4", + "symfony/dotenv": "<5.1", + "symfony/event-dispatcher": "<4.4", + "symfony/lock": "<4.4", + "symfony/process": "<4.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0" + }, + "require-dev": { + "psr/log": "^1|^2", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/event-dispatcher": "^4.4|^5.0", + "symfony/lock": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "symfony/var-dumper": "^4.4|^5.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Eases the creation of beautiful and testable command line interfaces", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v5.3.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-08-25T20:02:16+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5f38c8804a9e97d23e0c8d63341088cd8a22d627", + "reference": "5f38c8804a9e97d23e0c8d63341088cd8a22d627", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v2.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-03-23T23:28:01+00:00" + }, + { + "name": "symfony/error-handler", + "version": "v5.3.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/error-handler.git", + "reference": "3bc60d0fba00ae8d1eaa9eb5ab11a2bbdd1fc321" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/3bc60d0fba00ae8d1eaa9eb5ab11a2bbdd1fc321", + "reference": "3bc60d0fba00ae8d1eaa9eb5ab11a2bbdd1fc321", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/log": "^1|^2|^3", + "symfony/var-dumper": "^4.4|^5.0" + }, + "require-dev": { + "symfony/deprecation-contracts": "^2.1", + "symfony/http-kernel": "^4.4|^5.0", + "symfony/serializer": "^4.4|^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\ErrorHandler\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools to manage errors and ease debugging PHP code", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/error-handler/tree/v5.3.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-08-28T15:07:08+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v5.3.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "ce7b20d69c66a20939d8952b617506a44d102130" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/ce7b20d69c66a20939d8952b617506a44d102130", + "reference": "ce7b20d69c66a20939d8952b617506a44d102130", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/event-dispatcher-contracts": "^2", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "symfony/dependency-injection": "<4.4" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/error-handler": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/service-contracts": "^1.1|^2", + "symfony/stopwatch": "^4.4|^5.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v5.3.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-08-04T21:20:46+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/69fee1ad2332a7cbab3aca13591953da9cdb7a11", + "reference": "69fee1ad2332a7cbab3aca13591953da9cdb7a11", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/event-dispatcher": "^1" + }, + "suggest": { + "symfony/event-dispatcher-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\EventDispatcher\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to dispatching event", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v2.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-03-23T23:28:01+00:00" + }, + { + "name": "symfony/finder", + "version": "v5.3.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "a10000ada1e600d109a6c7632e9ac42e8bf2fb93" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/a10000ada1e600d109a6c7632e9ac42e8bf2fb93", + "reference": "a10000ada1e600d109a6c7632e9ac42e8bf2fb93", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.16" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Finds files and directories via an intuitive fluent interface", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v5.3.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-08-04T21:20:46+00:00" + }, + { + "name": "symfony/http-client-contracts", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-client-contracts.git", + "reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/7e82f6084d7cae521a75ef2cb5c9457bbda785f4", + "reference": "7e82f6084d7cae521a75ef2cb5c9457bbda785f4", + "shasum": "" + }, + "require": { + "php": ">=7.2.5" + }, + "suggest": { + "symfony/http-client-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\HttpClient\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to HTTP clients", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/http-client-contracts/tree/v2.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-04-11T23:07:08+00:00" + }, + { + "name": "symfony/http-foundation", + "version": "v5.3.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "e36c8e5502b4f3f0190c675f1c1f1248a64f04e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/e36c8e5502b4f3f0190c675f1c1f1248a64f04e5", + "reference": "e36c8e5502b4f3f0190c675f1c1f1248a64f04e5", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php80": "^1.16" + }, + "require-dev": { + "predis/predis": "~1.0", + "symfony/cache": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/mime": "^4.4|^5.0" + }, + "suggest": { + "symfony/mime": "To use the file extension guesser" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpFoundation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Defines an object-oriented layer for the HTTP specification", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-foundation/tree/v5.3.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-08-27T11:20:35+00:00" + }, + { + "name": "symfony/http-kernel", + "version": "v5.3.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-kernel.git", + "reference": "ceaf46a992f60e90645e7279825a830f733a17c5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/ceaf46a992f60e90645e7279825a830f733a17c5", + "reference": "ceaf46a992f60e90645e7279825a830f733a17c5", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/log": "^1|^2", + "symfony/deprecation-contracts": "^2.1", + "symfony/error-handler": "^4.4|^5.0", + "symfony/event-dispatcher": "^5.0", + "symfony/http-client-contracts": "^1.1|^2", + "symfony/http-foundation": "^5.3.7", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-php73": "^1.9", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "symfony/browser-kit": "<4.4", + "symfony/cache": "<5.0", + "symfony/config": "<5.0", + "symfony/console": "<4.4", + "symfony/dependency-injection": "<5.3", + "symfony/doctrine-bridge": "<5.0", + "symfony/form": "<5.0", + "symfony/http-client": "<5.0", + "symfony/mailer": "<5.0", + "symfony/messenger": "<5.0", + "symfony/translation": "<5.0", + "symfony/twig-bridge": "<5.0", + "symfony/validator": "<5.0", + "twig/twig": "<2.13" + }, + "provide": { + "psr/log-implementation": "1.0|2.0" + }, + "require-dev": { + "psr/cache": "^1.0|^2.0|^3.0", + "symfony/browser-kit": "^4.4|^5.0", + "symfony/config": "^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/css-selector": "^4.4|^5.0", + "symfony/dependency-injection": "^5.3", + "symfony/dom-crawler": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "symfony/routing": "^4.4|^5.0", + "symfony/stopwatch": "^4.4|^5.0", + "symfony/translation": "^4.4|^5.0", + "symfony/translation-contracts": "^1.1|^2", + "twig/twig": "^2.13|^3.0.4" + }, + "suggest": { + "symfony/browser-kit": "", + "symfony/config": "", + "symfony/console": "", + "symfony/dependency-injection": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpKernel\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides a structured process for converting a Request into a Response", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-kernel/tree/v5.3.9" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-09-28T10:25:11+00:00" + }, + { + "name": "symfony/mime", + "version": "v5.3.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/mime.git", + "reference": "a756033d0a7e53db389618653ae991eba5a19a11" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mime/zipball/a756033d0a7e53db389618653ae991eba5a19a11", + "reference": "a756033d0a7e53db389618653ae991eba5a19a11", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "egulias/email-validator": "~3.0.0", + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/mailer": "<4.4" + }, + "require-dev": { + "egulias/email-validator": "^2.1.10|^3.1", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/property-access": "^4.4|^5.1", + "symfony/property-info": "^4.4|^5.1", + "symfony/serializer": "^5.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Mime\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Allows manipulating MIME messages", + "homepage": "https://symfony.com", + "keywords": [ + "mime", + "mime-type" + ], + "support": { + "source": "https://github.com/symfony/mime/tree/v5.3.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-09-10T12:30:38+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.23.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/46cd95797e9df938fdd2b03693b5fca5e64b01ce", + "reference": "46cd95797e9df938fdd2b03693b5fca5e64b01ce", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.23.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-02-19T12:13:01+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.23.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "16880ba9c5ebe3642d1995ab866db29270b36535" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/16880ba9c5ebe3642d1995ab866db29270b36535", + "reference": "16880ba9c5ebe3642d1995ab866db29270b36535", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.23.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-05-27T12:26:48+00:00" + }, + { + "name": "symfony/polyfill-intl-idn", + "version": "v1.23.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "65bd267525e82759e7d8c4e8ceea44f398838e65" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/65bd267525e82759e7d8c4e8ceea44f398838e65", + "reference": "65bd267525e82759e7d8c4e8ceea44f398838e65", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "symfony/polyfill-intl-normalizer": "^1.10", + "symfony/polyfill-php72": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Trevor Rowbotham", + "email": "trevor.rowbotham@pm.me" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "idn", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.23.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-05-27T09:27:20+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.23.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8", + "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.23.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-02-19T12:13:01+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.23.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9174a3d80210dca8daa7f31fec659150bbeabfc6", + "reference": "9174a3d80210dca8daa7f31fec659150bbeabfc6", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.23.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-05-27T12:26:48+00:00" + }, + { + "name": "symfony/polyfill-php72", + "version": "v1.23.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "9a142215a36a3888e30d0a9eeea9766764e96976" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9a142215a36a3888e30d0a9eeea9766764e96976", + "reference": "9a142215a36a3888e30d0a9eeea9766764e96976", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php72/tree/v1.23.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-05-27T09:17:38+00:00" + }, + { + "name": "symfony/polyfill-php73", + "version": "v1.23.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fba8933c384d6476ab14fb7b8526e5287ca7e010", + "reference": "fba8933c384d6476ab14fb7b8526e5287ca7e010", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php73/tree/v1.23.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-02-19T12:13:01+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.23.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/1100343ed1a92e3a38f9ae122fc0eb21602547be", + "reference": "1100343ed1a92e3a38f9ae122fc0eb21602547be", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.23-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.23.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-07-28T13:41:28+00:00" + }, + { + "name": "symfony/process", + "version": "v5.3.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "38f26c7d6ed535217ea393e05634cb0b244a1967" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/38f26c7d6ed535217ea393e05634cb0b244a1967", + "reference": "38f26c7d6ed535217ea393e05634cb0b244a1967", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.16" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Executes commands in sub-processes", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v5.3.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-08-04T21:20:46+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb", + "reference": "f040a30e04b57fbcc9c6cbcf4dbaa96bd318b9bb", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/container": "^1.1" + }, + "suggest": { + "symfony/service-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v2.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-04-01T10:43:52+00:00" + }, + { + "name": "symfony/string", + "version": "v5.3.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "8d224396e28d30f81969f083a58763b8b9ceb0a5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/8d224396e28d30f81969f083a58763b8b9ceb0a5", + "reference": "8d224396e28d30f81969f083a58763b8b9ceb0a5", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "~1.15" + }, + "require-dev": { + "symfony/error-handler": "^4.4|^5.0", + "symfony/http-client": "^4.4|^5.0", + "symfony/translation-contracts": "^1.1|^2", + "symfony/var-exporter": "^4.4|^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "files": [ + "Resources/functions.php" + ], + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v5.3.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-08-26T08:00:08+00:00" + }, + { + "name": "symfony/translation", + "version": "v5.3.9", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "6e69f3551c1a3356cf6ea8d019bf039a0f8b6886" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/6e69f3551c1a3356cf6ea8d019bf039a0f8b6886", + "reference": "6e69f3551c1a3356cf6ea8d019bf039a0f8b6886", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.16", + "symfony/translation-contracts": "^2.3" + }, + "conflict": { + "symfony/config": "<4.4", + "symfony/dependency-injection": "<5.0", + "symfony/http-kernel": "<5.0", + "symfony/twig-bundle": "<5.0", + "symfony/yaml": "<4.4" + }, + "provide": { + "symfony/translation-implementation": "2.3" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^4.4|^5.0", + "symfony/console": "^4.4|^5.0", + "symfony/dependency-injection": "^5.0", + "symfony/finder": "^4.4|^5.0", + "symfony/http-kernel": "^5.0", + "symfony/intl": "^4.4|^5.0", + "symfony/polyfill-intl-icu": "^1.21", + "symfony/service-contracts": "^1.1.2|^2", + "symfony/yaml": "^4.4|^5.0" + }, + "suggest": { + "psr/log-implementation": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools to internationalize your application", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/translation/tree/v5.3.9" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-08-26T08:22:53+00:00" + }, + { + "name": "symfony/translation-contracts", + "version": "v2.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "95c812666f3e91db75385749fe219c5e494c7f95" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/95c812666f3e91db75385749fe219c5e494c7f95", + "reference": "95c812666f3e91db75385749fe219c5e494c7f95", + "shasum": "" + }, + "require": { + "php": ">=7.2.5" + }, + "suggest": { + "symfony/translation-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Translation\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to translation", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/translation-contracts/tree/v2.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-03-23T23:28:01+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "v5.3.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "eaaea4098be1c90c8285543e1356a09c8aa5c8da" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/eaaea4098be1c90c8285543e1356a09c8aa5c8da", + "reference": "eaaea4098be1c90c8285543e1356a09c8aa5c8da", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "phpunit/phpunit": "<5.4.3", + "symfony/console": "<4.4" + }, + "require-dev": { + "ext-iconv": "*", + "symfony/console": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "twig/twig": "^2.13|^3.0.4" + }, + "suggest": { + "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", + "ext-intl": "To show region name in time zone dump", + "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" + }, + "bin": [ + "Resources/bin/var-dump-server" + ], + "type": "library", + "autoload": { + "files": [ + "Resources/functions/dump.php" + ], + "psr-4": { + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides mechanisms for walking through any arbitrary PHP variable", + "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], + "support": { + "source": "https://github.com/symfony/var-dumper/tree/v5.3.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2021-09-24T15:59:58+00:00" + }, + { + "name": "voku/portable-ascii", + "version": "1.5.6", + "source": { + "type": "git", + "url": "https://github.com/voku/portable-ascii.git", + "reference": "80953678b19901e5165c56752d087fc11526017c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/80953678b19901e5165c56752d087fc11526017c", + "reference": "80953678b19901e5165c56752d087fc11526017c", + "shasum": "" + }, + "require": { + "php": ">=7.0.0" + }, + "require-dev": { + "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" + }, + "suggest": { + "ext-intl": "Use Intl for transliterator_transliterate() support" + }, + "type": "library", + "autoload": { + "psr-4": { + "voku\\": "src/voku/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Lars Moelleken", + "homepage": "http://www.moelleken.org/" + } + ], + "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", + "homepage": "https://github.com/voku/portable-ascii", + "keywords": [ + "ascii", + "clean", + "php" + ], + "support": { + "issues": "https://github.com/voku/portable-ascii/issues", + "source": "https://github.com/voku/portable-ascii/tree/1.5.6" + }, + "funding": [ + { + "url": "https://www.paypal.me/moelleken", + "type": "custom" + }, + { + "url": "https://github.com/voku", + "type": "github" + }, + { + "url": "https://opencollective.com/portable-ascii", + "type": "open_collective" + }, + { + "url": "https://www.patreon.com/voku", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", + "type": "tidelift" + } + ], + "time": "2020-11-12T00:07:28+00:00" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "dev", + "stability-flags": { + "filament/forms": 20 + }, + "prefer-stable": true, + "prefer-lowest": false, + "platform": { + "php": "^8.0" + }, + "platform-dev": [], + "plugin-api-version": "2.0.0" +} diff --git a/packages/admin/config/filament.php b/packages/admin/config/filament.php new file mode 100644 index 0000000000..a773e565b9 --- /dev/null +++ b/packages/admin/config/filament.php @@ -0,0 +1,122 @@ + env('FILAMENT_PATH', 'admin'), + + /* + |-------------------------------------------------------------------------- + | Filament Domain + |-------------------------------------------------------------------------- + | + | You may change the domain where Filament should be active. If the domain + | is empty, all domains will be valid. + | + */ + + 'domain' => env('FILAMENT_DOMAIN', null), + + /* + |-------------------------------------------------------------------------- + | Pages + |-------------------------------------------------------------------------- + | + | This is the namespace and directory that Filament will automatically + | register pages from. + | + */ + + 'pages' => [ + 'namespace' => 'App\\Filament\\Pages', + 'path' => app_path('Filament/Pages'), + ], + + /* + |-------------------------------------------------------------------------- + | Resources + |-------------------------------------------------------------------------- + | + | This is the namespace and directory that Filament will automatically + | register resources from. + | + */ + + 'resources' => [ + 'namespace' => 'App\\Filament\\Resources', + 'path' => app_path('Filament/Resources'), + ], + + /* + |-------------------------------------------------------------------------- + | Widgets + |-------------------------------------------------------------------------- + | + | This is the namespace and directory that Filament will automatically + | register widgets from. + | + */ + + 'widgets' => [ + 'namespace' => 'App\\Filament\\Widgets', + 'path' => app_path('Filament/Widgets'), + 'default' => [ + 'account' => true, + 'info' => true, + ], + ], + + /* + |-------------------------------------------------------------------------- + | Default Filesystem Disk + |-------------------------------------------------------------------------- + | + | This is the storage disk Filament will use to put media. You may use any + | of the disks defined in the `config/filesystems.php`. + | + */ + + 'default_filesystem_disk' => env('FILAMENT_FILESYSTEM_DRIVER', 'public'), + + /* + |-------------------------------------------------------------------------- + | Middleware + |-------------------------------------------------------------------------- + | + | You may customise the middleware stack that Filament uses to handle + | requests. + | + */ + + 'middleware' => [ + Authenticate::class, + EncryptCookies::class, + AddQueuedCookiesToResponse::class, + StartSession::class, + AuthenticateSession::class, + ShareErrorsFromSession::class, + VerifyCsrfToken::class, + SubstituteBindings::class, + DispatchServingFilamentEvent::class, + ], + +]; diff --git a/packages/admin/dist/app.css b/packages/admin/dist/app.css new file mode 100644 index 0000000000..ff2db7e767 --- /dev/null +++ b/packages/admin/dist/app.css @@ -0,0 +1,4415 @@ +@charset "UTF-8"; + +/* node_modules/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css */ +.filepond--image-preview-markup { + position: absolute; + left: 0; + top: 0; +} +.filepond--image-preview-wrapper { + z-index: 2; +} +.filepond--image-preview-overlay { + display: block; + position: absolute; + left: 0; + top: 0; + width: 100%; + min-height: 5rem; + max-height: 7rem; + margin: 0; + opacity: 0; + z-index: 2; + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.filepond--image-preview-overlay svg { + width: 100%; + height: auto; + color: inherit; + max-height: inherit; +} +.filepond--image-preview-overlay-idle { + mix-blend-mode: multiply; + color: rgba(40, 40, 40, 0.85); +} +.filepond--image-preview-overlay-success { + mix-blend-mode: normal; + color: rgba(54, 151, 99, 1); +} +.filepond--image-preview-overlay-failure { + mix-blend-mode: normal; + color: rgba(196, 78, 71, 1); +} +@supports (-webkit-marquee-repetition: infinite) and ((-o-object-fit: fill) or (object-fit: fill)) { + .filepond--image-preview-overlay-idle { + mix-blend-mode: normal; + } +} +.filepond--image-preview-wrapper { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + position: absolute; + left: 0; + top: 0; + right: 0; + height: 100%; + margin: 0; + border-radius: 0.45em; + overflow: hidden; + background: rgba(0, 0, 0, 0.01); +} +.filepond--image-preview { + position: absolute; + left: 0; + top: 0; + z-index: 1; + display: flex; + align-items: center; + height: 100%; + width: 100%; + pointer-events: none; + background: #222; + will-change: transform, opacity; +} +.filepond--image-clip { + position: relative; + overflow: hidden; + margin: 0 auto; +} +.filepond--image-clip[data-transparency-indicator=grid] img, +.filepond--image-clip[data-transparency-indicator=grid] canvas { + background-color: #fff; + background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' fill='%23eee'%3E%3Cpath d='M0 0 H50 V50 H0'/%3E%3Cpath d='M50 50 H100 V100 H50'/%3E%3C/svg%3E"); + background-size: 1.25em 1.25em; +} +.filepond--image-bitmap, +.filepond--image-vector { + position: absolute; + left: 0; + top: 0; + will-change: transform; +} +.filepond--root[data-style-panel-layout~=integrated] .filepond--image-preview-wrapper { + border-radius: 0; +} +.filepond--root[data-style-panel-layout~=integrated] .filepond--image-preview { + height: 100%; + display: flex; + justify-content: center; + align-items: center; +} +.filepond--root[data-style-panel-layout~=circle] .filepond--image-preview-wrapper { + border-radius: 99999rem; +} +.filepond--root[data-style-panel-layout~=circle] .filepond--image-preview-overlay { + top: auto; + bottom: 0; + transform: scaleY(-1); +} +.filepond--root[data-style-panel-layout~=circle] .filepond--file .filepond--file-action-button[data-align*=bottom]:not([data-align*="center"]) { + margin-bottom: 0.325em; +} +.filepond--root[data-style-panel-layout~=circle] .filepond--file [data-align*=left] { + left: calc(50% - 3em); +} +.filepond--root[data-style-panel-layout~=circle] .filepond--file [data-align*=right] { + right: calc(50% - 3em); +} +.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=left], +.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=right] { + margin-bottom: calc(0.325em + 0.1875em); +} +.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=center] { + margin-top: 0; + margin-bottom: 0.1875em; + margin-left: 0.1875em; +} + +/* node_modules/filepond/dist/filepond.min.css */ +.filepond--assistant { + position: absolute; + overflow: hidden; + height: 1px; + width: 1px; + padding: 0; + border: 0; + clip: rect(1px, 1px, 1px, 1px); + -webkit-clip-path: inset(50%); + clip-path: inset(50%); + white-space: nowrap; +} +.filepond--browser.filepond--browser { + position: absolute; + margin: 0; + padding: 0; + left: 1em; + top: 1.75em; + width: calc(100% - 2em); + opacity: 0; + font-size: 0; +} +.filepond--data { + position: absolute; + width: 0; + height: 0; + padding: 0; + margin: 0; + border: none; + visibility: hidden; + pointer-events: none; + contain: strict; +} +.filepond--drip { + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + overflow: hidden; + opacity: .1; + pointer-events: none; + border-radius: .5em; + background: rgba(0, 0, 0, .01); +} +.filepond--drip-blob { + transform-origin: center center; + width: 8em; + height: 8em; + margin-left: -4em; + margin-top: -4em; + background: #292625; + border-radius: 50%; +} +.filepond--drip-blob, +.filepond--drop-label { + position: absolute; + top: 0; + left: 0; + will-change: transform, opacity; +} +.filepond--drop-label { + right: 0; + margin: 0; + color: #4f4f4f; + display: flex; + justify-content: center; + align-items: center; + height: 0; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.filepond--drop-label.filepond--drop-label label { + display: block; + margin: 0; + padding: .5em; +} +.filepond--drop-label label { + cursor: default; + font-size: .875em; + font-weight: 400; + text-align: center; + line-height: 1.5; +} +.filepond--label-action { + text-decoration: underline; + -webkit-text-decoration-skip: ink; + text-decoration-skip-ink: auto; + -webkit-text-decoration-color: #a7a4a4; + text-decoration-color: #a7a4a4; + cursor: pointer; +} +.filepond--root[data-disabled] .filepond--drop-label label { + opacity: .5; +} +.filepond--file-action-button.filepond--file-action-button { + font-size: 1em; + width: 1.625em; + height: 1.625em; + font-family: inherit; + line-height: inherit; + margin: 0; + padding: 0; + border: none; + outline: none; + will-change: transform, opacity; +} +.filepond--file-action-button.filepond--file-action-button span { + position: absolute; + overflow: hidden; + height: 1px; + width: 1px; + padding: 0; + border: 0; + clip: rect(1px, 1px, 1px, 1px); + -webkit-clip-path: inset(50%); + clip-path: inset(50%); + white-space: nowrap; +} +.filepond--file-action-button.filepond--file-action-button svg { + width: 100%; + height: 100%; +} +.filepond--file-action-button.filepond--file-action-button:after { + position: absolute; + left: -.75em; + right: -.75em; + top: -.75em; + bottom: -.75em; + content: ""; +} +.filepond--file-action-button { + cursor: auto; + color: #fff; + border-radius: 50%; + background-color: rgba(0, 0, 0, .5); + background-image: none; + box-shadow: 0 0 0 0 hsla(0, 0%, 100%, 0); + transition: box-shadow .25s ease-in; +} +.filepond--file-action-button:focus, +.filepond--file-action-button:hover { + box-shadow: 0 0 0 .125em hsla(0, 0%, 100%, .9); +} +.filepond--file-action-button[disabled] { + color: hsla(0, 0%, 100%, .5); + background-color: rgba(0, 0, 0, .25); +} +.filepond--file-action-button[hidden] { + display: none; +} +.filepond--action-edit-item.filepond--action-edit-item { + width: 2em; + height: 2em; + padding: .1875em; +} +.filepond--action-edit-item.filepond--action-edit-item[data-align*=center] { + margin-left: -.1875em; +} +.filepond--action-edit-item.filepond--action-edit-item[data-align*=bottom] { + margin-bottom: -.1875em; +} +.filepond--action-edit-item-alt { + border: none; + line-height: inherit; + background: transparent; + font-family: inherit; + color: inherit; + outline: none; + padding: 0; + margin: 0 0 0 .25em; + pointer-events: all; + position: absolute; +} +.filepond--action-edit-item-alt svg { + width: 1.3125em; + height: 1.3125em; +} +.filepond--action-edit-item-alt span { + font-size: 0; + opacity: 0; +} +.filepond--file-info { + position: static; + display: flex; + flex-direction: column; + align-items: flex-start; + flex: 1; + margin: 0 .5em 0 0; + min-width: 0; + will-change: transform, opacity; + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.filepond--file-info * { + margin: 0; +} +.filepond--file-info .filepond--file-info-main { + font-size: .75em; + line-height: 1.2; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + width: 100%; +} +.filepond--file-info .filepond--file-info-sub { + font-size: .625em; + opacity: .5; + transition: opacity .25s ease-in-out; + white-space: nowrap; +} +.filepond--file-info .filepond--file-info-sub:empty { + display: none; +} +.filepond--file-status { + position: static; + display: flex; + flex-direction: column; + align-items: flex-end; + flex-grow: 0; + flex-shrink: 0; + margin: 0; + min-width: 2.25em; + text-align: right; + will-change: transform, opacity; + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.filepond--file-status * { + margin: 0; + white-space: nowrap; +} +.filepond--file-status .filepond--file-status-main { + font-size: .75em; + line-height: 1.2; +} +.filepond--file-status .filepond--file-status-sub { + font-size: .625em; + opacity: .5; + transition: opacity .25s ease-in-out; +} +.filepond--file-wrapper.filepond--file-wrapper { + border: none; + margin: 0; + padding: 0; + min-width: 0; + height: 100%; +} +.filepond--file-wrapper.filepond--file-wrapper > legend { + position: absolute; + overflow: hidden; + height: 1px; + width: 1px; + padding: 0; + border: 0; + clip: rect(1px, 1px, 1px, 1px); + -webkit-clip-path: inset(50%); + clip-path: inset(50%); + white-space: nowrap; +} +.filepond--file { + position: static; + display: flex; + height: 100%; + align-items: flex-start; + padding: .5625em; + color: #fff; + border-radius: .5em; +} +.filepond--file .filepond--file-status { + margin-left: auto; + margin-right: 2.25em; +} +.filepond--file .filepond--processing-complete-indicator { + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + z-index: 3; +} +.filepond--file .filepond--file-action-button, +.filepond--file .filepond--processing-complete-indicator, +.filepond--file .filepond--progress-indicator { + position: absolute; +} +.filepond--file [data-align*=left] { + left: .5625em; +} +.filepond--file [data-align*=right] { + right: .5625em; +} +.filepond--file [data-align*=center] { + left: calc(50% - .8125em); +} +.filepond--file [data-align*=bottom] { + bottom: 1.125em; +} +.filepond--file [data-align=center] { + top: calc(50% - .8125em); +} +.filepond--file .filepond--progress-indicator { + margin-top: .1875em; +} +.filepond--file .filepond--progress-indicator[data-align*=right] { + margin-right: .1875em; +} +.filepond--file .filepond--progress-indicator[data-align*=left] { + margin-left: .1875em; +} +[data-filepond-item-state*=error] .filepond--file-info, +[data-filepond-item-state*=invalid] .filepond--file-info, +[data-filepond-item-state=cancelled] .filepond--file-info { + margin-right: 2.25em; +} +[data-filepond-item-state~=processing] .filepond--file-status-sub { + opacity: 0; +} +[data-filepond-item-state~=processing] .filepond--action-abort-item-processing ~ .filepond--file-status .filepond--file-status-sub { + opacity: .5; +} +[data-filepond-item-state=processing-error] .filepond--file-status-sub { + opacity: 0; +} +[data-filepond-item-state=processing-error] .filepond--action-retry-item-processing ~ .filepond--file-status .filepond--file-status-sub { + opacity: .5; +} +[data-filepond-item-state=processing-complete] .filepond--action-revert-item-processing svg { + -webkit-animation: fall .5s linear .125s both; + animation: fall .5s linear .125s both; +} +[data-filepond-item-state=processing-complete] .filepond--file-status-sub { + opacity: .5; +} +[data-filepond-item-state=processing-complete] .filepond--file-info-sub, +[data-filepond-item-state=processing-complete] .filepond--processing-complete-indicator:not([style*=hidden]) ~ .filepond--file-status .filepond--file-status-sub { + opacity: 0; +} +[data-filepond-item-state=processing-complete] .filepond--action-revert-item-processing ~ .filepond--file-info .filepond--file-info-sub { + opacity: .5; +} +[data-filepond-item-state*=error] .filepond--file-wrapper, +[data-filepond-item-state*=error] .filepond--panel, +[data-filepond-item-state*=invalid] .filepond--file-wrapper, +[data-filepond-item-state*=invalid] .filepond--panel { + -webkit-animation: shake .65s linear both; + animation: shake .65s linear both; +} +[data-filepond-item-state*=busy] .filepond--progress-indicator svg { + -webkit-animation: spin 1s linear infinite; + animation: spin 1s linear infinite; +} +@-webkit-keyframes spin { + 0% { + transform: rotate(0deg); + } + to { + transform: rotate(1turn); + } +} +@keyframes spin { + 0% { + transform: rotate(0deg); + } + to { + transform: rotate(1turn); + } +} +@-webkit-keyframes shake { + 10%, 90% { + transform: translateX(-.0625em); + } + 20%, 80% { + transform: translateX(.125em); + } + 30%, 50%, 70% { + transform: translateX(-.25em); + } + 40%, 60% { + transform: translateX(.25em); + } +} +@keyframes shake { + 10%, 90% { + transform: translateX(-.0625em); + } + 20%, 80% { + transform: translateX(.125em); + } + 30%, 50%, 70% { + transform: translateX(-.25em); + } + 40%, 60% { + transform: translateX(.25em); + } +} +@-webkit-keyframes fall { + 0% { + opacity: 0; + transform: scale(.5); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + 70% { + opacity: 1; + transform: scale(1.1); + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + to { + transform: scale(1); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } +} +@keyframes fall { + 0% { + opacity: 0; + transform: scale(.5); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } + 70% { + opacity: 1; + transform: scale(1.1); + -webkit-animation-timing-function: ease-in-out; + animation-timing-function: ease-in-out; + } + to { + transform: scale(1); + -webkit-animation-timing-function: ease-out; + animation-timing-function: ease-out; + } +} +.filepond--hopper[data-hopper-state=drag-over] > * { + pointer-events: none; +} +.filepond--hopper[data-hopper-state=drag-over]:after { + content: ""; + position: absolute; + left: 0; + top: 0; + right: 0; + bottom: 0; + z-index: 100; +} +.filepond--progress-indicator { + z-index: 103; +} +.filepond--file-action-button { + z-index: 102; +} +.filepond--file-status { + z-index: 101; +} +.filepond--file-info { + z-index: 100; +} +.filepond--item { + position: absolute; + top: 0; + left: 0; + right: 0; + z-index: 1; + padding: 0; + margin: .25em; + will-change: transform, opacity; +} +.filepond--item > .filepond--panel { + z-index: -1; +} +.filepond--item > .filepond--panel .filepond--panel-bottom { + box-shadow: 0 .0625em .125em -.0625em rgba(0, 0, 0, .25); +} +.filepond--item > .filepond--file-wrapper, +.filepond--item > .filepond--panel { + transition: opacity .15s ease-out; +} +.filepond--item[data-drag-state] { + cursor: -webkit-grab; + cursor: grab; +} +.filepond--item[data-drag-state] > .filepond--panel { + transition: box-shadow .125s ease-in-out; + box-shadow: 0 0 0 transparent; +} +.filepond--item[data-drag-state=drag] { + cursor: -webkit-grabbing; + cursor: grabbing; +} +.filepond--item[data-drag-state=drag] > .filepond--panel { + box-shadow: 0 .125em .3125em rgba(0, 0, 0, .325); +} +.filepond--item[data-drag-state]:not([data-drag-state=idle]) { + z-index: 2; +} +.filepond--item-panel { + background-color: #64605e; +} +[data-filepond-item-state=processing-complete] .filepond--item-panel { + background-color: #369763; +} +[data-filepond-item-state*=error] .filepond--item-panel, +[data-filepond-item-state*=invalid] .filepond--item-panel { + background-color: #c44e47; +} +.filepond--item-panel { + border-radius: .5em; + transition: background-color .25s; +} +.filepond--list-scroller { + position: absolute; + top: 0; + left: 0; + right: 0; + margin: 0; + will-change: transform; +} +.filepond--list-scroller[data-state=overflow] .filepond--list { + bottom: 0; + right: 0; +} +.filepond--list-scroller[data-state=overflow] { + overflow-y: scroll; + overflow-x: hidden; + -webkit-overflow-scrolling: touch; + -webkit-mask: linear-gradient(180deg, #000 calc(100% - .5em), transparent); + mask: linear-gradient(180deg, #000 calc(100% - .5em), transparent); +} +.filepond--list-scroller::-webkit-scrollbar { + background: transparent; +} +.filepond--list-scroller::-webkit-scrollbar:vertical { + width: 1em; +} +.filepond--list-scroller::-webkit-scrollbar:horizontal { + height: 0; +} +.filepond--list-scroller::-webkit-scrollbar-thumb { + background-color: rgba(0, 0, 0, .3); + border-radius: 99999px; + border: .3125em solid transparent; + background-clip: content-box; +} +.filepond--list.filepond--list { + position: absolute; + top: 0; + margin: 0; + padding: 0; + list-style-type: none; + will-change: transform; +} +.filepond--list { + left: .75em; + right: .75em; +} +.filepond--root[data-style-panel-layout~=integrated] { + width: 100%; + height: 100%; + max-width: none; + margin: 0; +} +.filepond--root[data-style-panel-layout~=circle] .filepond--panel-root, +.filepond--root[data-style-panel-layout~=integrated] .filepond--panel-root { + border-radius: 0; +} +.filepond--root[data-style-panel-layout~=circle] .filepond--panel-root > *, +.filepond--root[data-style-panel-layout~=integrated] .filepond--panel-root > * { + display: none; +} +.filepond--root[data-style-panel-layout~=circle] .filepond--drop-label, +.filepond--root[data-style-panel-layout~=integrated] .filepond--drop-label { + bottom: 0; + height: auto; + display: flex; + justify-content: center; + align-items: center; + z-index: 7; +} +.filepond--root[data-style-panel-layout~=circle] .filepond--item-panel, +.filepond--root[data-style-panel-layout~=integrated] .filepond--item-panel { + display: none; +} +.filepond--root[data-style-panel-layout~=compact] .filepond--list-scroller, +.filepond--root[data-style-panel-layout~=integrated] .filepond--list-scroller { + overflow: hidden; + height: 100%; + margin-top: 0; + margin-bottom: 0; +} +.filepond--root[data-style-panel-layout~=compact] .filepond--list, +.filepond--root[data-style-panel-layout~=integrated] .filepond--list { + left: 0; + right: 0; + height: 100%; +} +.filepond--root[data-style-panel-layout~=compact] .filepond--item, +.filepond--root[data-style-panel-layout~=integrated] .filepond--item { + margin: 0; +} +.filepond--root[data-style-panel-layout~=compact] .filepond--file-wrapper, +.filepond--root[data-style-panel-layout~=integrated] .filepond--file-wrapper { + height: 100%; +} +.filepond--root[data-style-panel-layout~=compact] .filepond--drop-label, +.filepond--root[data-style-panel-layout~=integrated] .filepond--drop-label { + z-index: 7; +} +.filepond--root[data-style-panel-layout~=circle] { + border-radius: 99999rem; + overflow: hidden; +} +.filepond--root[data-style-panel-layout~=circle] > .filepond--panel { + border-radius: inherit; +} +.filepond--root[data-style-panel-layout~=circle] > .filepond--panel > * { + display: none; +} +.filepond--root[data-style-panel-layout~=circle] .filepond--file-info, +.filepond--root[data-style-panel-layout~=circle] .filepond--file-status { + display: none; +} +.filepond--root[data-style-panel-layout~=circle] .filepond--action-edit-item { + opacity: 1 !important; + visibility: visible !important; +} +@media not all and (-webkit-min-device-pixel-ratio:0), not all and (min-resolution:0.001dpcm) { + @supports (-webkit-appearance:none) and (stroke-color:transparent) { + .filepond--root[data-style-panel-layout~=circle] { + will-change: transform; + } + } +} +.filepond--panel-root { + border-radius: .5em; + background-color: #f1f0ef; +} +.filepond--panel { + position: absolute; + left: 0; + top: 0; + right: 0; + margin: 0; + height: 100% !important; + pointer-events: none; +} +.filepond-panel:not([data-scalable=false]) { + height: auto !important; +} +.filepond--panel[data-scalable=false] > div { + display: none; +} +.filepond--panel[data-scalable=true] { + transform-style: preserve-3d; + background-color: transparent !important; + border: none !important; +} +.filepond--panel-bottom, +.filepond--panel-center, +.filepond--panel-top { + position: absolute; + left: 0; + top: 0; + right: 0; + margin: 0; + padding: 0; +} +.filepond--panel-bottom, +.filepond--panel-top { + height: .5em; +} +.filepond--panel-top { + border-bottom-left-radius: 0 !important; + border-bottom-right-radius: 0 !important; + border-bottom: none !important; +} +.filepond--panel-top:after { + content: ""; + position: absolute; + height: 2px; + left: 0; + right: 0; + bottom: -1px; + background-color: inherit; +} +.filepond--panel-bottom, +.filepond--panel-center { + will-change: transform; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + transform-origin: left top; + transform: translate3d(0, .5em, 0); +} +.filepond--panel-bottom { + border-top-left-radius: 0 !important; + border-top-right-radius: 0 !important; + border-top: none !important; +} +.filepond--panel-bottom:before { + content: ""; + position: absolute; + height: 2px; + left: 0; + right: 0; + top: -1px; + background-color: inherit; +} +.filepond--panel-center { + height: 100px !important; + border-top: none !important; + border-bottom: none !important; + border-radius: 0 !important; +} +.filepond--panel-center:not([style]) { + visibility: hidden; +} +.filepond--progress-indicator { + position: static; + width: 1.25em; + height: 1.25em; + color: #fff; + margin: 0; + pointer-events: none; + will-change: transform, opacity; +} +.filepond--progress-indicator svg { + width: 100%; + height: 100%; + vertical-align: top; + transform-box: fill-box; +} +.filepond--progress-indicator path { + fill: none; + stroke: currentColor; +} +.filepond--list-scroller { + z-index: 6; +} +.filepond--drop-label { + z-index: 5; +} +.filepond--drip { + z-index: 3; +} +.filepond--root > .filepond--panel { + z-index: 2; +} +.filepond--browser { + z-index: 1; +} +.filepond--root { + box-sizing: border-box; + position: relative; + margin-bottom: 1em; + font-size: 1rem; + line-height: normal; + font-family: + -apple-system, + BlinkMacSystemFont, + Segoe UI, + Roboto, + Helvetica, + Arial, + sans-serif, + Apple Color Emoji, + Segoe UI Emoji, + Segoe UI Symbol; + font-weight: 450; + text-align: left; + text-rendering: optimizeLegibility; + direction: ltr; + contain: layout style size; +} +.filepond--root * { + box-sizing: inherit; + line-height: inherit; +} +.filepond--root :not(text) { + font-size: inherit; +} +.filepond--root[data-disabled] { + pointer-events: none; +} +.filepond--root[data-disabled] .filepond--list-scroller { + pointer-events: all; +} +.filepond--root[data-disabled] .filepond--list { + pointer-events: none; +} +.filepond--root .filepond--drop-label { + min-height: 4.75em; +} +.filepond--root .filepond--list-scroller { + margin-top: 1em; + margin-bottom: 1em; +} +.filepond--root .filepond--credits { + position: absolute; + right: 0; + opacity: .175; + line-height: .85; + font-size: 11px; + color: inherit; + text-decoration: none; + z-index: 3; + bottom: -14px; +} +.filepond--root .filepond--credits[style] { + top: 0; + bottom: auto; + margin-top: 14px; +} + +/* node_modules/trix/dist/trix.css */ +trix-editor { + border: 1px solid #bbb; + border-radius: 3px; + margin: 0; + padding: 0.4em 0.6em; + min-height: 5em; + outline: none; +} +trix-toolbar * { + box-sizing: border-box; +} +trix-toolbar .trix-button-row { + display: flex; + flex-wrap: nowrap; + justify-content: space-between; + overflow-x: auto; +} +trix-toolbar .trix-button-group { + display: flex; + margin-bottom: 10px; + border: 1px solid #bbb; + border-top-color: #ccc; + border-bottom-color: #888; + border-radius: 3px; +} +trix-toolbar .trix-button-group:not(:first-child) { + margin-left: 1.5vw; +} +@media (max-device-width: 768px) { + trix-toolbar .trix-button-group:not(:first-child) { + margin-left: 0; + } +} +trix-toolbar .trix-button-group-spacer { + flex-grow: 1; +} +@media (max-device-width: 768px) { + trix-toolbar .trix-button-group-spacer { + display: none; + } +} +trix-toolbar .trix-button { + position: relative; + float: left; + color: rgba(0, 0, 0, 0.6); + font-size: 0.75em; + font-weight: 600; + white-space: nowrap; + padding: 0 0.5em; + margin: 0; + outline: none; + border: none; + border-bottom: 1px solid #ddd; + border-radius: 0; + background: transparent; +} +trix-toolbar .trix-button:not(:first-child) { + border-left: 1px solid #ccc; +} +trix-toolbar .trix-button.trix-active { + background: #cbeefa; + color: black; +} +trix-toolbar .trix-button:not(:disabled) { + cursor: pointer; +} +trix-toolbar .trix-button:disabled { + color: rgba(0, 0, 0, 0.125); +} +@media (max-device-width: 768px) { + trix-toolbar .trix-button { + letter-spacing: -0.01em; + padding: 0 0.3em; + } +} +trix-toolbar .trix-button--icon { + font-size: inherit; + width: 2.6em; + height: 1.6em; + max-width: calc(0.8em + 4vw); + text-indent: -9999px; +} +@media (max-device-width: 768px) { + trix-toolbar .trix-button--icon { + height: 2em; + max-width: calc(0.8em + 3.5vw); + } +} +trix-toolbar .trix-button--icon::before { + display: inline-block; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + opacity: 0.6; + content: ""; + background-position: center; + background-repeat: no-repeat; + background-size: contain; +} +@media (max-device-width: 768px) { + trix-toolbar .trix-button--icon::before { + right: 6%; + left: 6%; + } +} +trix-toolbar .trix-button--icon.trix-active::before { + opacity: 1; +} +trix-toolbar .trix-button--icon:disabled::before { + opacity: 0.125; +} +trix-toolbar .trix-button--icon-attach::before { + background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M16.5%206v11.5a4%204%200%201%201-8%200V5a2.5%202.5%200%200%201%205%200v10.5a1%201%200%201%201-2%200V6H10v9.5a2.5%202.5%200%200%200%205%200V5a4%204%200%201%200-8%200v12.5a5.5%205.5%200%200%200%2011%200V6h-1.5z%22%2F%3E%3C%2Fsvg%3E); + top: 8%; + bottom: 4%; +} +trix-toolbar .trix-button--icon-bold::before { + background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M15.6%2011.8c1-.7%201.6-1.8%201.6-2.8a4%204%200%200%200-4-4H7v14h7c2.1%200%203.7-1.7%203.7-3.8%200-1.5-.8-2.8-2.1-3.4zM10%207.5h3a1.5%201.5%200%201%201%200%203h-3v-3zm3.5%209H10v-3h3.5a1.5%201.5%200%201%201%200%203z%22%2F%3E%3C%2Fsvg%3E); +} +trix-toolbar .trix-button--icon-italic::before { + background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M10%205v3h2.2l-3.4%208H6v3h8v-3h-2.2l3.4-8H18V5h-8z%22%2F%3E%3C%2Fsvg%3E); +} +trix-toolbar .trix-button--icon-link::before { + background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M9.88%2013.7a4.3%204.3%200%200%201%200-6.07l3.37-3.37a4.26%204.26%200%200%201%206.07%200%204.3%204.3%200%200%201%200%206.06l-1.96%201.72a.91.91%200%201%201-1.3-1.3l1.97-1.71a2.46%202.46%200%200%200-3.48-3.48l-3.38%203.37a2.46%202.46%200%200%200%200%203.48.91.91%200%201%201-1.3%201.3z%22%2F%3E%3Cpath%20d%3D%22M4.25%2019.46a4.3%204.3%200%200%201%200-6.07l1.93-1.9a.91.91%200%201%201%201.3%201.3l-1.93%201.9a2.46%202.46%200%200%200%203.48%203.48l3.37-3.38c.96-.96.96-2.52%200-3.48a.91.91%200%201%201%201.3-1.3%204.3%204.3%200%200%201%200%206.07l-3.38%203.38a4.26%204.26%200%200%201-6.07%200z%22%2F%3E%3C%2Fsvg%3E); +} +trix-toolbar .trix-button--icon-strike::before { + background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M12.73%2014l.28.14c.26.15.45.3.57.44.12.14.18.3.18.5%200%20.3-.15.56-.44.75-.3.2-.76.3-1.39.3A13.52%2013.52%200%200%201%207%2014.95v3.37a10.64%2010.64%200%200%200%204.84.88c1.26%200%202.35-.19%203.28-.56.93-.37%201.64-.9%202.14-1.57s.74-1.45.74-2.32c0-.26-.02-.51-.06-.75h-5.21zm-5.5-4c-.08-.34-.12-.7-.12-1.1%200-1.29.52-2.3%201.58-3.02%201.05-.72%202.5-1.08%204.34-1.08%201.62%200%203.28.34%204.97%201l-1.3%202.93c-1.47-.6-2.73-.9-3.8-.9-.55%200-.96.08-1.2.26-.26.17-.38.38-.38.64%200%20.27.16.52.48.74.17.12.53.3%201.05.53H7.23zM3%2013h18v-2H3v2z%22%2F%3E%3C%2Fsvg%3E); +} +trix-toolbar .trix-button--icon-quote::before { + background-image: url(data:image/svg+xml,%3Csvg%20version%3D%221%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M6%2017h3l2-4V7H5v6h3zm8%200h3l2-4V7h-6v6h3z%22%2F%3E%3C%2Fsvg%3E); +} +trix-toolbar .trix-button--icon-heading-1::before { + background-image: url(data:image/svg+xml,%3Csvg%20version%3D%221%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M12%209v3H9v7H6v-7H3V9h9zM8%204h14v3h-6v12h-3V7H8V4z%22%2F%3E%3C%2Fsvg%3E); +} +trix-toolbar .trix-button--icon-code::before { + background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M18.2%2012L15%2015.2l1.4%201.4L21%2012l-4.6-4.6L15%208.8l3.2%203.2zM5.8%2012L9%208.8%207.6%207.4%203%2012l4.6%204.6L9%2015.2%205.8%2012z%22%2F%3E%3C%2Fsvg%3E); +} +trix-toolbar .trix-button--icon-bullet-list::before { + background-image: url(data:image/svg+xml,%3Csvg%20version%3D%221%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%204a2%202%200%201%200%200%204%202%202%200%200%200%200-4zm0%206a2%202%200%201%200%200%204%202%202%200%200%200%200-4zm0%206a2%202%200%201%200%200%204%202%202%200%200%200%200-4zm4%203h14v-2H8v2zm0-6h14v-2H8v2zm0-8v2h14V5H8z%22%2F%3E%3C%2Fsvg%3E); +} +trix-toolbar .trix-button--icon-number-list::before { + background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M2%2017h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1%203h1.8L2%2013.1v.9h3v-1H3.2L5%2010.9V10H2v1zm5-6v2h14V5H7zm0%2014h14v-2H7v2zm0-6h14v-2H7v2z%22%2F%3E%3C%2Fsvg%3E); +} +trix-toolbar .trix-button--icon-undo::before { + background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M12.5%208c-2.6%200-5%201-6.9%202.6L2%207v9h9l-3.6-3.6A8%208%200%200%201%2020%2016l2.4-.8a10.5%2010.5%200%200%200-10-7.2z%22%2F%3E%3C%2Fsvg%3E); +} +trix-toolbar .trix-button--icon-redo::before { + background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M18.4%2010.6a10.5%2010.5%200%200%200-16.9%204.6L4%2016a8%208%200%200%201%2012.7-3.6L13%2016h9V7l-3.6%203.6z%22%2F%3E%3C%2Fsvg%3E); +} +trix-toolbar .trix-button--icon-decrease-nesting-level::before { + background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M3%2019h19v-2H3v2zm7-6h12v-2H10v2zm-8.3-.3l2.8%202.9L6%2014.2%204%2012l2-2-1.4-1.5L1%2012l.7.7zM3%205v2h19V5H3z%22%2F%3E%3C%2Fsvg%3E); +} +trix-toolbar .trix-button--icon-increase-nesting-level::before { + background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M3%2019h19v-2H3v2zm7-6h12v-2H10v2zm-6.9-1L1%2014.2l1.4%201.4L6%2012l-.7-.7-2.8-2.8L1%209.9%203.1%2012zM3%205v2h19V5H3z%22%2F%3E%3C%2Fsvg%3E); +} +trix-toolbar .trix-dialogs { + position: relative; +} +trix-toolbar .trix-dialog { + position: absolute; + top: 0; + left: 0; + right: 0; + font-size: 0.75em; + padding: 15px 10px; + background: #fff; + box-shadow: 0 0.3em 1em #ccc; + border-top: 2px solid #888; + border-radius: 5px; + z-index: 5; +} +trix-toolbar .trix-input--dialog { + font-size: inherit; + font-weight: normal; + padding: 0.5em 0.8em; + margin: 0 10px 0 0; + border-radius: 3px; + border: 1px solid #bbb; + background-color: #fff; + box-shadow: none; + outline: none; + -webkit-appearance: none; + -moz-appearance: none; +} +trix-toolbar .trix-input--dialog.validate:invalid { + box-shadow: #F00 0px 0px 1.5px 1px; +} +trix-toolbar .trix-button--dialog { + font-size: inherit; + padding: 0.5em; + border-bottom: none; +} +trix-toolbar .trix-dialog--link { + max-width: 600px; +} +trix-toolbar .trix-dialog__link-fields { + display: flex; + align-items: baseline; +} +trix-toolbar .trix-dialog__link-fields .trix-input { + flex: 1; +} +trix-toolbar .trix-dialog__link-fields .trix-button-group { + flex: 0 0 content; + margin: 0; +} +trix-editor [data-trix-mutable]:not(.attachment__caption-editor) { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +trix-editor [data-trix-mutable]::-moz-selection, +trix-editor [data-trix-cursor-target]::-moz-selection, +trix-editor [data-trix-mutable] ::-moz-selection { + background: none; +} +trix-editor [data-trix-mutable]::-moz-selection, trix-editor [data-trix-cursor-target]::-moz-selection, trix-editor [data-trix-mutable] ::-moz-selection { + background: none; +} +trix-editor [data-trix-mutable]::selection, +trix-editor [data-trix-cursor-target]::selection, +trix-editor [data-trix-mutable] ::selection { + background: none; +} +trix-editor [data-trix-mutable].attachment__caption-editor:focus::-moz-selection { + background: highlight; +} +trix-editor [data-trix-mutable].attachment__caption-editor:focus::selection { + background: highlight; +} +trix-editor [data-trix-mutable].attachment.attachment--file { + box-shadow: 0 0 0 2px highlight; + border-color: transparent; +} +trix-editor [data-trix-mutable].attachment img { + box-shadow: 0 0 0 2px highlight; +} +trix-editor .attachment { + position: relative; +} +trix-editor .attachment:hover { + cursor: default; +} +trix-editor .attachment--preview .attachment__caption:hover { + cursor: text; +} +trix-editor .attachment__progress { + position: absolute; + z-index: 1; + height: 20px; + top: calc(50% - 10px); + left: 5%; + width: 90%; + opacity: 0.9; + transition: opacity 200ms ease-in; +} +trix-editor .attachment__progress[value="100"] { + opacity: 0; +} +trix-editor .attachment__caption-editor { + display: inline-block; + width: 100%; + margin: 0; + padding: 0; + font-size: inherit; + font-family: inherit; + line-height: inherit; + color: inherit; + text-align: center; + vertical-align: top; + border: none; + outline: none; + -webkit-appearance: none; + -moz-appearance: none; +} +trix-editor .attachment__toolbar { + position: absolute; + z-index: 1; + top: -0.9em; + left: 0; + width: 100%; + text-align: center; +} +trix-editor .trix-button-group { + display: inline-flex; +} +trix-editor .trix-button { + position: relative; + float: left; + color: #666; + white-space: nowrap; + font-size: 80%; + padding: 0 0.8em; + margin: 0; + outline: none; + border: none; + border-radius: 0; + background: transparent; +} +trix-editor .trix-button:not(:first-child) { + border-left: 1px solid #ccc; +} +trix-editor .trix-button.trix-active { + background: #cbeefa; +} +trix-editor .trix-button:not(:disabled) { + cursor: pointer; +} +trix-editor .trix-button--remove { + text-indent: -9999px; + display: inline-block; + padding: 0; + outline: none; + width: 1.8em; + height: 1.8em; + line-height: 1.8em; + border-radius: 50%; + background-color: #fff; + border: 2px solid highlight; + box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.25); +} +trix-editor .trix-button--remove::before { + display: inline-block; + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + opacity: 0.7; + content: ""; + background-image: url(data:image/svg+xml,%3Csvg%20height%3D%2224%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M19%206.4L17.6%205%2012%2010.6%206.4%205%205%206.4l5.6%205.6L5%2017.6%206.4%2019l5.6-5.6%205.6%205.6%201.4-1.4-5.6-5.6z%22%2F%3E%3Cpath%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E); + background-position: center; + background-repeat: no-repeat; + background-size: 90%; +} +trix-editor .trix-button--remove:hover { + border-color: #333; +} +trix-editor .trix-button--remove:hover::before { + opacity: 1; +} +trix-editor .attachment__metadata-container { + position: relative; +} +trix-editor .attachment__metadata { + position: absolute; + left: 50%; + top: 2em; + transform: translate(-50%, 0); + max-width: 90%; + padding: 0.1em 0.6em; + font-size: 0.8em; + color: #fff; + background-color: rgba(0, 0, 0, 0.7); + border-radius: 3px; +} +trix-editor .attachment__metadata .attachment__name { + display: inline-block; + max-width: 100%; + vertical-align: bottom; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +trix-editor .attachment__metadata .attachment__size { + margin-left: 0.2em; + white-space: nowrap; +} +.trix-content { + line-height: 1.5; +} +.trix-content * { + box-sizing: border-box; + margin: 0; + padding: 0; +} +.trix-content h1 { + font-size: 1.2em; + line-height: 1.2; +} +.trix-content blockquote { + border: 0 solid #ccc; + border-left-width: 0.3em; + margin-left: 0.3em; + padding-left: 0.6em; +} +.trix-content [dir=rtl] blockquote, +.trix-content blockquote[dir=rtl] { + border-width: 0; + border-right-width: 0.3em; + margin-right: 0.3em; + padding-right: 0.6em; +} +.trix-content li { + margin-left: 1em; +} +.trix-content [dir=rtl] li { + margin-right: 1em; +} +.trix-content pre { + display: inline-block; + width: 100%; + vertical-align: top; + font-family: monospace; + font-size: 0.9em; + padding: 0.5em; + white-space: pre; + background-color: #eee; + overflow-x: auto; +} +.trix-content img { + max-width: 100%; + height: auto; +} +.trix-content .attachment { + display: inline-block; + position: relative; + max-width: 100%; +} +.trix-content .attachment a { + color: inherit; + text-decoration: none; +} +.trix-content .attachment a:hover, +.trix-content .attachment a:visited:hover { + color: inherit; +} +.trix-content .attachment__caption { + text-align: center; +} +.trix-content .attachment__caption .attachment__name + .attachment__size::before { + content: " \b7 "; +} +.trix-content .attachment--preview { + width: 100%; + text-align: center; +} +.trix-content .attachment--preview .attachment__caption { + color: #666; + font-size: 0.9em; + line-height: 1.2; +} +.trix-content .attachment--file { + color: #333; + line-height: 1; + margin: 0 2px 2px 2px; + padding: 0.4em 1em; + border: 1px solid #bbb; + border-radius: 5px; +} +.trix-content .attachment-gallery { + display: flex; + flex-wrap: wrap; + position: relative; +} +.trix-content .attachment-gallery .attachment { + flex: 1 0 33%; + padding: 0 0.5em; + max-width: 33%; +} +.trix-content .attachment-gallery.attachment-gallery--2 .attachment, +.trix-content .attachment-gallery.attachment-gallery--4 .attachment { + flex-basis: 50%; + max-width: 50%; +} + +/* packages/forms/resources/css/components/file-upload.css */ +.filepond--root { + margin-bottom: 0; +} + +/*! tailwindcss v2.2.19 | MIT License | https://tailwindcss.com */ + +/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */ + +/* +Document +======== +*/ + +/** +Use a better box model (opinionated). +*/ + +*, +::before, +::after { + box-sizing: border-box; +} + +/** +Use a more readable tab size (opinionated). +*/ + +html { + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; +} + +/** +1. Correct the line height in all browsers. +2. Prevent adjustments of font size after orientation changes in iOS. +*/ + +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* +Sections +======== +*/ + +/** +Remove the margin in all browsers. +*/ + +body { + margin: 0; +} + +/** +Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) +*/ + +body { + font-family: + system-ui, + -apple-system, /* Firefox supports this but not yet `system-ui` */ + 'Segoe UI', + Roboto, + Helvetica, + Arial, + sans-serif, + 'Apple Color Emoji', + 'Segoe UI Emoji'; +} + +/* +Grouping content +================ +*/ + +/** +1. Add the correct height in Firefox. +2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655) +*/ + +hr { + height: 0; /* 1 */ + color: inherit; /* 2 */ +} + +/* +Text-level semantics +==================== +*/ + +/** +Add the correct text decoration in Chrome, Edge, and Safari. +*/ + +abbr[title] { + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; +} + +/** +Add the correct font weight in Edge and Safari. +*/ + +b, +strong { + font-weight: bolder; +} + +/** +1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) +2. Correct the odd 'em' font sizing in all browsers. +*/ + +code, +kbd, +samp, +pre { + font-family: + ui-monospace, + SFMono-Regular, + Consolas, + 'Liberation Mono', + Menlo, + monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** +Add the correct font size in all browsers. +*/ + +small { + font-size: 80%; +} + +/** +Prevent 'sub' and 'sup' elements from affecting the line height in all browsers. +*/ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* +Tabular data +============ +*/ + +/** +1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297) +2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016) +*/ + +table { + text-indent: 0; /* 1 */ + border-color: inherit; /* 2 */ +} + +/* +Forms +===== +*/ + +/** +1. Change the font styles in all browsers. +2. Remove the margin in Firefox and Safari. +*/ + +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** +Remove the inheritance of text transform in Edge and Firefox. +1. Remove the inheritance of text transform in Firefox. +*/ + +button, +select { /* 1 */ + text-transform: none; +} + +/** +Correct the inability to style clickable types in iOS and Safari. +*/ + +button, +[type='button'], +[type='reset'], +[type='submit'] { + -webkit-appearance: button; +} + +/** +Remove the inner border and padding in Firefox. +*/ + +::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** +Restore the focus styles unset by the previous rule. +*/ + +:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** +Remove the additional ':invalid' styles in Firefox. +See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737 +*/ + +:-moz-ui-invalid { + box-shadow: none; +} + +/** +Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers. +*/ + +legend { + padding: 0; +} + +/** +Add the correct vertical alignment in Chrome and Firefox. +*/ + +progress { + vertical-align: baseline; +} + +/** +Correct the cursor style of increment and decrement buttons in Safari. +*/ + +::-webkit-inner-spin-button, +::-webkit-outer-spin-button { + height: auto; +} + +/** +1. Correct the odd appearance in Chrome and Safari. +2. Correct the outline style in Safari. +*/ + +[type='search'] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** +Remove the inner padding in Chrome and Safari on macOS. +*/ + +::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** +1. Correct the inability to style clickable types in iOS and Safari. +2. Change font properties to 'inherit' in Safari. +*/ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* +Interactive +=========== +*/ + +/* +Add the correct display in Chrome and Safari. +*/ + +summary { + display: list-item; +} + +/** + * Manually forked from SUIT CSS Base: https://github.com/suitcss/base + * A thin layer on top of normalize.css that provides a starting point more + * suitable for web applications. + */ + +/** + * Removes the default spacing and border for appropriate elements. + */ + +blockquote, +dl, +dd, +h1, +h2, +h3, +h4, +h5, +h6, +hr, +figure, +p, +pre { + margin: 0; +} + +button { + background-color: transparent; + background-image: none; +} + +fieldset { + margin: 0; + padding: 0; +} + +ol, +ul { + list-style: none; + margin: 0; + padding: 0; +} + +/** + * Tailwind custom reset styles + */ + +/** + * 1. Use the user's configured `sans` font-family (with Tailwind's default + * sans-serif font stack as a fallback) as a sane default. + * 2. Use Tailwind's default "normal" line-height so the user isn't forced + * to override it to ensure consistency even when using the default theme. + */ + +html { + font-family: DM Sans, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 1 */ + line-height: 1.5; /* 2 */ +} + +/** + * Inherit font-family and line-height from `html` so users can set them as + * a class directly on the `html` element. + */ + +body { + font-family: inherit; + line-height: inherit; +} + +/** + * 1. Prevent padding and border from affecting element width. + * + * We used to set this in the html element and inherit from + * the parent element for everything else. This caused issues + * in shadow-dom-enhanced elements like
where the content + * is wrapped by a div with box-sizing set to `content-box`. + * + * https://github.com/mozdevs/cssremedy/issues/4 + * + * + * 2. Allow adding a border to an element by just adding a border-width. + * + * By default, the way the browser specifies that an element should have no + * border is by setting it's border-style to `none` in the user-agent + * stylesheet. + * + * In order to easily add borders to elements by just setting the `border-width` + * property, we change the default border-style for all elements to `solid`, and + * use border-width to hide them instead. This way our `border` utilities only + * need to set the `border-width` property instead of the entire `border` + * shorthand, making our border utilities much more straightforward to compose. + * + * https://github.com/tailwindcss/tailwindcss/pull/116 + */ + +*, +::before, +::after { + box-sizing: border-box; /* 1 */ + border-width: 0; /* 2 */ + border-style: solid; /* 2 */ + border-color: currentColor; /* 2 */ +} + +/* + * Ensure horizontal rules are visible by default + */ + +hr { + border-top-width: 1px; +} + +/** + * Undo the `border-style: none` reset that Normalize applies to images so that + * our `border-{width}` utilities have the expected effect. + * + * The Normalize reset is unnecessary for us since we default the border-width + * to 0 on all elements. + * + * https://github.com/tailwindcss/tailwindcss/issues/362 + */ + +img { + border-style: solid; +} + +textarea { + resize: vertical; +} + +input::-moz-placeholder, textarea::-moz-placeholder { + opacity: 1; + color: #9ca3af; +} + +input:-ms-input-placeholder, textarea:-ms-input-placeholder { + opacity: 1; + color: #9ca3af; +} + +input::placeholder, +textarea::placeholder { + opacity: 1; + color: #9ca3af; +} + +button, +[role="button"] { + cursor: pointer; +} + +/** + * Override legacy focus reset from Normalize with modern Firefox focus styles. + * + * This is actually an improvement over the new defaults in Firefox in our testing, + * as it triggers the better focus styles even for links, which still use a dotted + * outline in Firefox by default. + */ + +:-moz-focusring { + outline: auto; +} + +table { + border-collapse: collapse; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + font-size: inherit; + font-weight: inherit; +} + +/** + * Reset links to optimize for opt-in styling instead of + * opt-out. + */ + +a { + color: inherit; + text-decoration: inherit; +} + +/** + * Reset form element properties that are easy to forget to + * style explicitly so you don't inadvertently introduce + * styles that deviate from your design system. These styles + * supplement a partial reset that is already applied by + * normalize.css. + */ + +button, +input, +optgroup, +select, +textarea { + padding: 0; + line-height: inherit; + color: inherit; +} + +/** + * Use the configured 'mono' font family for elements that + * are expected to be rendered with a monospace font, falling + * back to the system monospace stack if there is no configured + * 'mono' font family. + */ + +pre, +code, +kbd, +samp { + font-family: JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} + +/** + * 1. Make replaced elements `display: block` by default as that's + * the behavior you want almost all of the time. Inspired by + * CSS Remedy, with `svg` added as well. + * + * https://github.com/mozdevs/cssremedy/issues/14 + * + * 2. Add `vertical-align: middle` to align replaced elements more + * sensibly by default when overriding `display` by adding a + * utility like `inline`. + * + * This can trigger a poorly considered linting error in some + * tools but is included by design. + * + * https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210 + */ + +img, +svg, +video, +canvas, +audio, +iframe, +embed, +object { + display: block; /* 1 */ + vertical-align: middle; /* 2 */ +} + +/** + * Constrain images and videos to the parent width and preserve + * their intrinsic aspect ratio. + * + * https://github.com/mozdevs/cssremedy/issues/14 + */ + +img, +video { + max-width: 100%; + height: auto; +} + +/** + * Ensure the default browser behavior of the `hidden` attribute. + */ + +[hidden] { + display: none; +} + +*, ::before, ::after{ + --tw-translate-x: 0; + --tw-translate-y: 0; + --tw-rotate: 0; + --tw-skew-x: 0; + --tw-skew-y: 0; + --tw-scale-x: 1; + --tw-scale-y: 1; + --tw-transform: translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y)); + --tw-border-opacity: 1; + border-color: rgba(229, 231, 235, var(--tw-border-opacity)); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: rgba(59, 130, 246, 0.5); + --tw-ring-offset-shadow: 0 0 #0000; + --tw-ring-shadow: 0 0 #0000; + --tw-shadow: 0 0 #0000; + --tw-blur: var(--tw-empty,/*!*/ /*!*/); + --tw-brightness: var(--tw-empty,/*!*/ /*!*/); + --tw-contrast: var(--tw-empty,/*!*/ /*!*/); + --tw-grayscale: var(--tw-empty,/*!*/ /*!*/); + --tw-hue-rotate: var(--tw-empty,/*!*/ /*!*/); + --tw-invert: var(--tw-empty,/*!*/ /*!*/); + --tw-saturate: var(--tw-empty,/*!*/ /*!*/); + --tw-sepia: var(--tw-empty,/*!*/ /*!*/); + --tw-drop-shadow: var(--tw-empty,/*!*/ /*!*/); + --tw-filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow); +} + +[type='text'],[type='email'],[type='url'],[type='password'],[type='number'],[type='date'],[type='datetime-local'],[type='month'],[type='search'],[type='tel'],[type='time'],[type='week'],[multiple],textarea,select{ + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + background-color: #fff; + border-color: #6b7280; + border-width: 1px; + border-radius: 0px; + padding-top: 0.5rem; + padding-right: 0.75rem; + padding-bottom: 0.5rem; + padding-left: 0.75rem; + font-size: 1rem; + line-height: 1.5rem; + --tw-shadow: 0 0 #0000; +} + +[type='text']:focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus{ + outline: 2px solid transparent; + outline-offset: 2px; + --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); + --tw-ring-offset-width: 0px; + --tw-ring-offset-color: #fff; + --tw-ring-color: #2563eb; + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); + border-color: #2563eb; +} + +input::-moz-placeholder, textarea::-moz-placeholder{ + color: #6b7280; + opacity: 1; +} + +input:-ms-input-placeholder, textarea:-ms-input-placeholder{ + color: #6b7280; + opacity: 1; +} + +input::placeholder,textarea::placeholder{ + color: #6b7280; + opacity: 1; +} + +::-webkit-datetime-edit-fields-wrapper{ + padding: 0; +} + +::-webkit-date-and-time-value{ + min-height: 1.5em; +} + +select{ + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e"); + background-position: right 0.5rem center; + background-repeat: no-repeat; + background-size: 1.5em 1.5em; + padding-right: 2.5rem; + -webkit-print-color-adjust: exact; + color-adjust: exact; +} + +[multiple]{ + background-image: initial; + background-position: initial; + background-repeat: unset; + background-size: initial; + padding-right: 0.75rem; + -webkit-print-color-adjust: unset; + color-adjust: unset; +} + +[type='checkbox'],[type='radio']{ + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + padding: 0; + -webkit-print-color-adjust: exact; + color-adjust: exact; + display: inline-block; + vertical-align: middle; + background-origin: border-box; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + flex-shrink: 0; + height: 1rem; + width: 1rem; + color: #2563eb; + background-color: #fff; + border-color: #6b7280; + border-width: 1px; + --tw-shadow: 0 0 #0000; +} + +[type='checkbox']{ + border-radius: 0px; +} + +[type='radio']{ + border-radius: 100%; +} + +[type='checkbox']:focus,[type='radio']:focus{ + outline: 2px solid transparent; + outline-offset: 2px; + --tw-ring-inset: var(--tw-empty,/*!*/ /*!*/); + --tw-ring-offset-width: 2px; + --tw-ring-offset-color: #fff; + --tw-ring-color: #2563eb; + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow); +} + +[type='checkbox']:checked,[type='radio']:checked{ + border-color: transparent; + background-color: currentColor; + background-size: 100% 100%; + background-position: center; + background-repeat: no-repeat; +} + +[type='checkbox']:checked{ + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e"); +} + +[type='radio']:checked{ + background-image: url("data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e"); +} + +[type='checkbox']:checked:hover,[type='checkbox']:checked:focus,[type='radio']:checked:hover,[type='radio']:checked:focus{ + border-color: transparent; + background-color: currentColor; +} + +[type='checkbox']:indeterminate{ + background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e"); + border-color: transparent; + background-color: currentColor; + background-size: 100% 100%; + background-position: center; + background-repeat: no-repeat; +} + +[type='checkbox']:indeterminate:hover,[type='checkbox']:indeterminate:focus{ + border-color: transparent; + background-color: currentColor; +} + +[type='file']{ + background: unset; + border-color: inherit; + border-width: 0; + border-radius: 0; + padding: 0; + font-size: unset; + line-height: inherit; +} + +[type='file']:focus{ + outline: 1px auto -webkit-focus-ring-color; +} +.prose{ + color: #374151; + max-width: 65ch; +} +.prose [class~="lead"]{ + color: #4b5563; + font-size: 1.25em; + line-height: 1.6; + margin-top: 1.2em; + margin-bottom: 1.2em; +} +.prose a{ + color: #111827; + text-decoration: underline; + font-weight: 500; +} +.prose strong{ + color: #111827; + font-weight: 600; +} +.prose ol[type="A"]{ + --list-counter-style: upper-alpha; +} +.prose ol[type="a"]{ + --list-counter-style: lower-alpha; +} +.prose ol[type="A" s]{ + --list-counter-style: upper-alpha; +} +.prose ol[type="a" s]{ + --list-counter-style: lower-alpha; +} +.prose ol[type="I"]{ + --list-counter-style: upper-roman; +} +.prose ol[type="i"]{ + --list-counter-style: lower-roman; +} +.prose ol[type="I" s]{ + --list-counter-style: upper-roman; +} +.prose ol[type="i" s]{ + --list-counter-style: lower-roman; +} +.prose ol[type="1"]{ + --list-counter-style: decimal; +} +.prose ol > li{ + position: relative; + padding-left: 1.75em; +} +.prose ol > li::before{ + content: counter(list-item, var(--list-counter-style, decimal)) "."; + position: absolute; + font-weight: 400; + color: #6b7280; + left: 0; +} +.prose ul > li{ + position: relative; + padding-left: 1.75em; +} +.prose ul > li::before{ + content: ""; + position: absolute; + background-color: #d1d5db; + border-radius: 50%; + width: 0.375em; + height: 0.375em; + top: calc(0.875em - 0.1875em); + left: 0.25em; +} +.prose hr{ + border-color: #e5e7eb; + border-top-width: 1px; + margin-top: 3em; + margin-bottom: 3em; +} +.prose blockquote{ + font-weight: 500; + font-style: italic; + color: #111827; + border-left-width: 0.25rem; + border-left-color: #e5e7eb; + quotes: "\201C""\201D""\2018""\2019"; + margin-top: 1.6em; + margin-bottom: 1.6em; + padding-left: 1em; +} +.prose blockquote p:first-of-type::before{ + content: open-quote; +} +.prose blockquote p:last-of-type::after{ + content: close-quote; +} +.prose h1{ + color: #111827; + font-weight: 800; + font-size: 2.25em; + margin-top: 0; + margin-bottom: 0.8888889em; + line-height: 1.1111111; +} +.prose h2{ + color: #111827; + font-weight: 700; + font-size: 1.5em; + margin-top: 2em; + margin-bottom: 1em; + line-height: 1.3333333; +} +.prose h3{ + color: #111827; + font-weight: 600; + font-size: 1.25em; + margin-top: 1.6em; + margin-bottom: 0.6em; + line-height: 1.6; +} +.prose h4{ + color: #111827; + font-weight: 600; + margin-top: 1.5em; + margin-bottom: 0.5em; + line-height: 1.5; +} +.prose figure figcaption{ + color: #6b7280; + font-size: 0.875em; + line-height: 1.4285714; + margin-top: 0.8571429em; +} +.prose code{ + color: #111827; + font-weight: 600; + font-size: 0.875em; +} +.prose code::before{ + content: "`"; +} +.prose code::after{ + content: "`"; +} +.prose a code{ + color: #111827; +} +.prose pre{ + color: #e5e7eb; + background-color: #1f2937; + overflow-x: auto; + font-size: 0.875em; + line-height: 1.7142857; + margin-top: 1.7142857em; + margin-bottom: 1.7142857em; + border-radius: 0.375rem; + padding-top: 0.8571429em; + padding-right: 1.1428571em; + padding-bottom: 0.8571429em; + padding-left: 1.1428571em; +} +.prose pre code{ + background-color: transparent; + border-width: 0; + border-radius: 0; + padding: 0; + font-weight: 400; + color: inherit; + font-size: inherit; + font-family: inherit; + line-height: inherit; +} +.prose pre code::before{ + content: none; +} +.prose pre code::after{ + content: none; +} +.prose table{ + width: 100%; + table-layout: auto; + text-align: left; + margin-top: 2em; + margin-bottom: 2em; + font-size: 0.875em; + line-height: 1.7142857; +} +.prose thead{ + color: #111827; + font-weight: 600; + border-bottom-width: 1px; + border-bottom-color: #d1d5db; +} +.prose thead th{ + vertical-align: bottom; + padding-right: 0.5714286em; + padding-bottom: 0.5714286em; + padding-left: 0.5714286em; +} +.prose tbody tr{ + border-bottom-width: 1px; + border-bottom-color: #e5e7eb; +} +.prose tbody tr:last-child{ + border-bottom-width: 0; +} +.prose tbody td{ + vertical-align: top; + padding-top: 0.5714286em; + padding-right: 0.5714286em; + padding-bottom: 0.5714286em; + padding-left: 0.5714286em; +} +.prose{ + font-size: 1rem; + line-height: 1.75; +} +.prose p{ + margin-top: 1.25em; + margin-bottom: 1.25em; +} +.prose img{ + margin-top: 2em; + margin-bottom: 2em; +} +.prose video{ + margin-top: 2em; + margin-bottom: 2em; +} +.prose figure{ + margin-top: 2em; + margin-bottom: 2em; +} +.prose figure > *{ + margin-top: 0; + margin-bottom: 0; +} +.prose h2 code{ + font-size: 0.875em; +} +.prose h3 code{ + font-size: 0.9em; +} +.prose ol{ + margin-top: 1.25em; + margin-bottom: 1.25em; +} +.prose ul{ + margin-top: 1.25em; + margin-bottom: 1.25em; +} +.prose li{ + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.prose > ul > li p{ + margin-top: 0.75em; + margin-bottom: 0.75em; +} +.prose > ul > li > *:first-child{ + margin-top: 1.25em; +} +.prose > ul > li > *:last-child{ + margin-bottom: 1.25em; +} +.prose > ol > li > *:first-child{ + margin-top: 1.25em; +} +.prose > ol > li > *:last-child{ + margin-bottom: 1.25em; +} +.prose ul ul, .prose ul ol, .prose ol ul, .prose ol ol{ + margin-top: 0.75em; + margin-bottom: 0.75em; +} +.prose hr + *{ + margin-top: 0; +} +.prose h2 + *{ + margin-top: 0; +} +.prose h3 + *{ + margin-top: 0; +} +.prose h4 + *{ + margin-top: 0; +} +.prose thead th:first-child{ + padding-left: 0; +} +.prose thead th:last-child{ + padding-right: 0; +} +.prose tbody td:first-child{ + padding-left: 0; +} +.prose tbody td:last-child{ + padding-right: 0; +} +.prose > :first-child{ + margin-top: 0; +} +.prose > :last-child{ + margin-bottom: 0; +} +.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; +} +.pointer-events-none{ + pointer-events: none; +} +.fixed{ + position: fixed; +} +.absolute{ + position: absolute; +} +.relative{ + position: relative; +} +.inset-0{ + top: 0px; + right: 0px; + bottom: 0px; + left: 0px; +} +.inset-y-0{ + top: 0px; + bottom: 0px; +} +.right-0{ + right: 0px; +} +.top-0{ + top: 0px; +} +.left-0{ + left: 0px; +} +.top-full{ + top: 100%; +} +.z-10{ + z-index: 10; +} +.z-40{ + z-index: 40; +} +.col-span-1{ + grid-column: span 1 / span 1; +} +.col-span-2{ + grid-column: span 2 / span 2; +} +.col-span-3{ + grid-column: span 3 / span 3; +} +.col-span-4{ + grid-column: span 4 / span 4; +} +.col-span-5{ + grid-column: span 5 / span 5; +} +.col-span-6{ + grid-column: span 6 / span 6; +} +.col-span-7{ + grid-column: span 7 / span 7; +} +.col-span-8{ + grid-column: span 8 / span 8; +} +.col-span-9{ + grid-column: span 9 / span 9; +} +.col-span-10{ + grid-column: span 10 / span 10; +} +.col-span-11{ + grid-column: span 11 / span 11; +} +.col-span-12{ + grid-column: span 12 / span 12; +} +.col-span-full{ + grid-column: 1 / -1; +} +.-mx-3{ + margin-left: -0.75rem; + margin-right: -0.75rem; +} +.my-1{ + margin-top: 0.25rem; + margin-bottom: 0.25rem; +} +.mx-auto{ + margin-left: auto; + margin-right: auto; +} +.-my-2{ + margin-top: -0.5rem; + margin-bottom: -0.5rem; +} +.-my-3{ + margin-top: -0.75rem; + margin-bottom: -0.75rem; +} +.mt-2{ + margin-top: 0.5rem; +} +.-mr-6{ + margin-right: -1.5rem; +} +.mt-9{ + margin-top: 2.25rem; +} +.mr-2{ + margin-right: 0.5rem; +} +.-ml-1{ + margin-left: -0.25rem; +} +.mr-1{ + margin-right: 0.25rem; +} +.-ml-2{ + margin-left: -0.5rem; +} +.-mr-2{ + margin-right: -0.5rem; +} +.ml-11{ + margin-left: 2.75rem; +} +.-ml-3{ + margin-left: -0.75rem; +} +.-ml-1\.5{ + margin-left: -0.375rem; +} +.ml-1{ + margin-left: 0.25rem; +} +.ml-2{ + margin-left: 0.5rem; +} +.-mr-3{ + margin-right: -0.75rem; +} +.-mr-1\.5{ + margin-right: -0.375rem; +} +.-mr-1{ + margin-right: -0.25rem; +} +.ml-auto{ + margin-left: auto; +} +.mt-auto{ + margin-top: auto; +} +.block{ + display: block; +} +.inline-block{ + display: inline-block; +} +.inline{ + display: inline; +} +.flex{ + display: flex; +} +.inline-flex{ + display: inline-flex; +} +.table{ + display: table; +} +.grid{ + display: grid; +} +.hidden{ + display: none; +} +.h-6{ + height: 1.5rem; +} +.h-11{ + height: 2.75rem; +} +.h-8{ + height: 2rem; +} +.h-5{ + height: 1.25rem; +} +.h-12{ + height: 3rem; +} +.h-9{ + height: 2.25rem; +} +.h-full{ + height: 100%; +} +.h-10{ + height: 2.5rem; +} +.h-3{ + height: 0.75rem; +} +.h-7{ + height: 1.75rem; +} +.h-16{ + height: 4rem; +} +.max-h-60{ + max-height: 15rem; +} +.min-h-screen{ + min-height: 100vh; +} +.min-h-full{ + min-height: 100%; +} +.w-6{ + width: 1.5rem; +} +.w-11{ + width: 2.75rem; +} +.w-8{ + width: 2rem; +} +.w-full{ + width: 100%; +} +.w-5{ + width: 1.25rem; +} +.w-52{ + width: 13rem; +} +.w-64{ + width: 16rem; +} +.w-20{ + width: 5rem; +} +.w-16{ + width: 4rem; +} +.w-32{ + width: 8rem; +} +.w-4{ + width: 1rem; +} +.w-3{ + width: 0.75rem; +} +.w-10{ + width: 2.5rem; +} +.w-7{ + width: 1.75rem; +} +.w-9{ + width: 2.25rem; +} +.w-screen{ + width: 100vw; +} +.max-w-none{ + max-width: none; +} +.max-w-xs{ + max-width: 20rem; +} +.max-w-md{ + max-width: 28rem; +} +.max-w-sm{ + max-width: 24rem; +} +.max-w-lg{ + max-width: 32rem; +} +.max-w-xl{ + max-width: 36rem; +} +.max-w-2xl{ + max-width: 42rem; +} +.max-w-3xl{ + max-width: 48rem; +} +.max-w-4xl{ + max-width: 56rem; +} +.max-w-5xl{ + max-width: 64rem; +} +.max-w-6xl{ + max-width: 72rem; +} +.max-w-7xl{ + max-width: 80rem; +} +.flex-1{ + flex: 1 1 0%; +} +.flex-shrink-0{ + flex-shrink: 0; +} +.flex-grow{ + flex-grow: 1; +} +.table-auto{ + table-layout: auto; +} +.translate-x-0{ + --tw-translate-x: 0px; + transform: var(--tw-transform); +} +.translate-x-5{ + --tw-translate-x: 1.25rem; + transform: var(--tw-transform); +} +.-translate-y-1{ + --tw-translate-y: -0.25rem; + transform: var(--tw-transform); +} +.translate-y-0{ + --tw-translate-y: 0px; + transform: var(--tw-transform); +} +.-translate-y-2{ + --tw-translate-y: -0.5rem; + transform: var(--tw-transform); +} +.translate-y-2{ + --tw-translate-y: 0.5rem; + transform: var(--tw-transform); +} +.translate-y-8{ + --tw-translate-y: 2rem; + transform: var(--tw-transform); +} +.-rotate-180{ + --tw-rotate: -180deg; + transform: var(--tw-transform); +} +.-skew-x-12{ + --tw-skew-x: -12deg; + transform: var(--tw-transform); +} +.transform{ + transform: var(--tw-transform); +} +.cursor-default{ + cursor: default; +} +.cursor-pointer{ + cursor: pointer; +} +.cursor-not-allowed{ + cursor: not-allowed; +} +.select-none{ + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.resize-none{ + resize: none; +} +.resize{ + resize: both; +} +.grid-cols-\[20rem\2c 1fr\]{ + grid-template-columns: 20rem 1fr; +} +.grid-cols-1{ + grid-template-columns: repeat(1, minmax(0, 1fr)); +} +.grid-cols-2{ + grid-template-columns: repeat(2, minmax(0, 1fr)); +} +.grid-cols-3{ + grid-template-columns: repeat(3, minmax(0, 1fr)); +} +.grid-cols-4{ + grid-template-columns: repeat(4, minmax(0, 1fr)); +} +.grid-cols-5{ + grid-template-columns: repeat(5, minmax(0, 1fr)); +} +.grid-cols-6{ + grid-template-columns: repeat(6, minmax(0, 1fr)); +} +.grid-cols-7{ + grid-template-columns: repeat(7, minmax(0, 1fr)); +} +.grid-cols-8{ + grid-template-columns: repeat(8, minmax(0, 1fr)); +} +.grid-cols-9{ + grid-template-columns: repeat(9, minmax(0, 1fr)); +} +.grid-cols-10{ + grid-template-columns: repeat(10, minmax(0, 1fr)); +} +.grid-cols-11{ + grid-template-columns: repeat(11, minmax(0, 1fr)); +} +.grid-cols-12{ + grid-template-columns: repeat(12, minmax(0, 1fr)); +} +.grid-cols-\[repeat\(auto-fit\2c minmax\(0\2c 1fr\)\)\]{ + grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); +} +.grid-rows-\[4rem\2c 1fr\2c auto\]{ + grid-template-rows: 4rem 1fr auto; +} +.grid-rows-\[4rem\2c 1fr\]{ + grid-template-rows: 4rem 1fr; +} +.flex-col{ + flex-direction: column; +} +.items-center{ + align-items: center; +} +.items-stretch{ + align-items: stretch; +} +.justify-end{ + justify-content: flex-end; +} +.justify-center{ + justify-content: center; +} +.justify-between{ + justify-content: space-between; +} +.gap-3{ + gap: 0.75rem; +} +.gap-4{ + gap: 1rem; +} +.gap-6{ + gap: 1.5rem; +} +.gap-1{ + gap: 0.25rem; +} +.gap-2{ + gap: 0.5rem; +} +.space-y-6 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(1.5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(1.5rem * var(--tw-space-y-reverse)); +} +.space-y-4 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(1rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(1rem * var(--tw-space-y-reverse)); +} +.space-y-1 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0.25rem * var(--tw-space-y-reverse)); +} +.space-y-3 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0.75rem * var(--tw-space-y-reverse)); +} +.space-x-1 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(0.25rem * var(--tw-space-x-reverse)); + margin-left: calc(0.25rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-y-2 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(0.5rem * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0.5rem * var(--tw-space-y-reverse)); +} +.space-x-2 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(0.5rem * var(--tw-space-x-reverse)); + margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-3 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(0.75rem * var(--tw-space-x-reverse)); + margin-left: calc(0.75rem * calc(1 - var(--tw-space-x-reverse))); +} +.space-x-4 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(1rem * var(--tw-space-x-reverse)); + margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse))); +} +.divide-y > :not([hidden]) ~ :not([hidden]){ + --tw-divide-y-reverse: 0; + border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse))); + border-bottom-width: calc(1px * var(--tw-divide-y-reverse)); +} +.divide-x > :not([hidden]) ~ :not([hidden]){ + --tw-divide-x-reverse: 0; + border-right-width: calc(1px * var(--tw-divide-x-reverse)); + border-left-width: calc(1px * calc(1 - var(--tw-divide-x-reverse))); +} +.divide-gray-300 > :not([hidden]) ~ :not([hidden]){ + --tw-divide-opacity: 1; + border-color: rgba(209, 213, 219, var(--tw-divide-opacity)); +} +.overflow-auto{ + overflow: auto; +} +.overflow-hidden{ + overflow: hidden; +} +.overflow-y-auto{ + overflow-y: auto; +} +.overflow-y-hidden{ + overflow-y: hidden; +} +.truncate{ + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.whitespace-nowrap{ + white-space: nowrap; +} +.whitespace-pre-wrap{ + white-space: pre-wrap; +} +.break-words{ + overflow-wrap: break-word; +} +.rounded-md{ + border-radius: 0.375rem; +} +.rounded-full{ + border-radius: 9999px; +} +.rounded-xl{ + border-radius: 0.75rem; +} +.rounded-lg{ + border-radius: 0.5rem; +} +.rounded{ + border-radius: 0.25rem; +} +.rounded-2xl{ + border-radius: 1rem; +} +.rounded-l-lg{ + border-top-left-radius: 0.5rem; + border-bottom-left-radius: 0.5rem; +} +.rounded-r-lg{ + border-top-right-radius: 0.5rem; + border-bottom-right-radius: 0.5rem; +} +.rounded-b-lg{ + border-bottom-right-radius: 0.5rem; + border-bottom-left-radius: 0.5rem; +} +.rounded-t-xl{ + border-top-left-radius: 0.75rem; + border-top-right-radius: 0.75rem; +} +.border{ + border-width: 1px; +} +.border-0{ + border-width: 0px; +} +.border-2{ + border-width: 2px; +} +.border-b{ + border-bottom-width: 1px; +} +.border-t{ + border-top-width: 1px; +} +.border-r{ + border-right-width: 1px; +} +.border-l{ + border-left-width: 1px; +} +.border-gray-300{ + --tw-border-opacity: 1; + border-color: rgba(209, 213, 219, var(--tw-border-opacity)); +} +.border-danger-300{ + --tw-border-opacity: 1; + border-color: rgba(253, 164, 175, var(--tw-border-opacity)); +} +.border-danger-600{ + --tw-border-opacity: 1; + border-color: rgba(225, 29, 72, var(--tw-border-opacity)); +} +.border-transparent{ + border-color: transparent; +} +.border-gray-200{ + --tw-border-opacity: 1; + border-color: rgba(229, 231, 235, var(--tw-border-opacity)); +} +.bg-white{ + --tw-bg-opacity: 1; + background-color: rgba(255, 255, 255, var(--tw-bg-opacity)); +} +.bg-gray-100{ + --tw-bg-opacity: 1; + background-color: rgba(243, 244, 246, var(--tw-bg-opacity)); +} +.bg-primary-500{ + --tw-bg-opacity: 1; + background-color: rgba(234, 179, 8, var(--tw-bg-opacity)); +} +.bg-gray-200{ + --tw-bg-opacity: 1; + background-color: rgba(229, 231, 235, var(--tw-bg-opacity)); +} +.bg-gray-50{ + --tw-bg-opacity: 1; + background-color: rgba(249, 250, 251, var(--tw-bg-opacity)); +} +.bg-primary-50{ + --tw-bg-opacity: 1; + background-color: rgba(254, 252, 232, var(--tw-bg-opacity)); +} +.bg-primary-200{ + --tw-bg-opacity: 1; + background-color: rgba(254, 240, 138, var(--tw-bg-opacity)); +} +.bg-transparent{ + background-color: transparent; +} +.bg-primary-500\/10{ + background-color: rgba(234, 179, 8, 0.1); +} +.bg-primary-600{ + --tw-bg-opacity: 1; + background-color: rgba(202, 138, 4, var(--tw-bg-opacity)); +} +.bg-blue-50{ + --tw-bg-opacity: 1; + background-color: rgba(239, 246, 255, var(--tw-bg-opacity)); +} +.bg-danger-500\/10{ + background-color: rgba(244, 63, 94, 0.1); +} +.bg-success-500\/10{ + background-color: rgba(34, 197, 94, 0.1); +} +.bg-warning-500\/10{ + background-color: rgba(245, 158, 11, 0.1); +} +.bg-gray-500\/10{ + background-color: rgba(107, 114, 128, 0.1); +} +.bg-danger-600{ + --tw-bg-opacity: 1; + background-color: rgba(225, 29, 72, var(--tw-bg-opacity)); +} +.bg-success-600{ + --tw-bg-opacity: 1; + background-color: rgba(22, 163, 74, var(--tw-bg-opacity)); +} +.bg-warning-600{ + --tw-bg-opacity: 1; + background-color: rgba(217, 119, 6, var(--tw-bg-opacity)); +} +.bg-black\/50{ + background-color: rgba(0, 0, 0, 0.5); +} +.p-6{ + padding: 1.5rem; +} +.p-0{ + padding: 0px; +} +.p-4{ + padding: 1rem; +} +.p-3{ + padding: 0.75rem; +} +.p-2{ + padding: 0.5rem; +} +.px-6{ + padding-left: 1.5rem; + padding-right: 1.5rem; +} +.py-6{ + padding-top: 1.5rem; + padding-bottom: 1.5rem; +} +.px-3{ + padding-left: 0.75rem; + padding-right: 0.75rem; +} +.py-2{ + padding-top: 0.5rem; + padding-bottom: 0.5rem; +} +.py-3{ + padding-top: 0.75rem; + padding-bottom: 0.75rem; +} +.py-1{ + padding-top: 0.25rem; + padding-bottom: 0.25rem; +} +.px-4{ + padding-left: 1rem; + padding-right: 1rem; +} +.px-2{ + padding-left: 0.5rem; + padding-right: 0.5rem; +} +.py-4{ + padding-top: 1rem; + padding-bottom: 1rem; +} +.px-1{ + padding-left: 0.25rem; + padding-right: 0.25rem; +} +.py-8{ + padding-top: 2rem; + padding-bottom: 2rem; +} +.pl-3{ + padding-left: 0.75rem; +} +.pr-10{ + padding-right: 2.5rem; +} +.pr-2{ + padding-right: 0.5rem; +} +.pr-1{ + padding-right: 0.25rem; +} +.pr-9{ + padding-right: 2.25rem; +} +.pr-4{ + padding-right: 1rem; +} +.pt-2{ + padding-top: 0.5rem; +} +.pl-9{ + padding-left: 2.25rem; +} +.pl-2{ + padding-left: 0.5rem; +} +.pr-8{ + padding-right: 2rem; +} +.text-left{ + text-align: left; +} +.text-center{ + text-align: center; +} +.text-right{ + text-align: right; +} +.font-sans{ + font-family: DM Sans, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; +} +.font-mono{ + font-family: JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; +} +.text-xl{ + font-size: 1.25rem; + line-height: 1.75rem; +} +.text-xs{ + font-size: 0.75rem; + line-height: 1rem; +} +.text-sm{ + font-size: 0.875rem; + line-height: 1.25rem; +} +.text-lg{ + font-size: 1.125rem; + line-height: 1.75rem; +} +.text-base{ + font-size: 1rem; + line-height: 1.5rem; +} +.font-bold{ + font-weight: 700; +} +.font-medium{ + font-weight: 500; +} +.font-normal{ + font-weight: 400; +} +.font-semibold{ + font-weight: 600; +} +.uppercase{ + text-transform: uppercase; +} +.italic{ + font-style: italic; +} +.leading-none{ + line-height: 1; +} +.leading-loose{ + line-height: 2; +} +.leading-4{ + line-height: 1rem; +} +.leading-tight{ + line-height: 1.25; +} +.leading-6{ + line-height: 1.5rem; +} +.tracking-wider{ + letter-spacing: 0.05em; +} +.tracking-tight{ + letter-spacing: -0.025em; +} +.tracking-normal{ + letter-spacing: 0em; +} +.text-gray-800{ + --tw-text-opacity: 1; + color: rgba(31, 41, 55, var(--tw-text-opacity)); +} +.text-gray-600{ + --tw-text-opacity: 1; + color: rgba(75, 85, 99, var(--tw-text-opacity)); +} +.text-white{ + --tw-text-opacity: 1; + color: rgba(255, 255, 255, var(--tw-text-opacity)); +} +.text-gray-500{ + --tw-text-opacity: 1; + color: rgba(107, 114, 128, var(--tw-text-opacity)); +} +.text-danger-600{ + --tw-text-opacity: 1; + color: rgba(225, 29, 72, var(--tw-text-opacity)); +} +.text-primary-500{ + --tw-text-opacity: 1; + color: rgba(234, 179, 8, var(--tw-text-opacity)); +} +.text-gray-400{ + --tw-text-opacity: 1; + color: rgba(156, 163, 175, var(--tw-text-opacity)); +} +.text-gray-700{ + --tw-text-opacity: 1; + color: rgba(55, 65, 81, var(--tw-text-opacity)); +} +.text-danger-700{ + --tw-text-opacity: 1; + color: rgba(190, 18, 60, var(--tw-text-opacity)); +} +.text-gray-900{ + --tw-text-opacity: 1; + color: rgba(17, 24, 39, var(--tw-text-opacity)); +} +.text-primary-700{ + --tw-text-opacity: 1; + color: rgba(161, 98, 7, var(--tw-text-opacity)); +} +.text-danger-400{ + --tw-text-opacity: 1; + color: rgba(251, 113, 133, var(--tw-text-opacity)); +} +.text-primary-600{ + --tw-text-opacity: 1; + color: rgba(202, 138, 4, var(--tw-text-opacity)); +} +.text-blue-500{ + --tw-text-opacity: 1; + color: rgba(59, 130, 246, var(--tw-text-opacity)); +} +.text-success-700{ + --tw-text-opacity: 1; + color: rgba(21, 128, 61, var(--tw-text-opacity)); +} +.text-warning-700{ + --tw-text-opacity: 1; + color: rgba(180, 83, 9, var(--tw-text-opacity)); +} +.text-danger-500{ + --tw-text-opacity: 1; + color: rgba(244, 63, 94, var(--tw-text-opacity)); +} +.text-success-500{ + --tw-text-opacity: 1; + color: rgba(34, 197, 94, var(--tw-text-opacity)); +} +.text-warning-500{ + --tw-text-opacity: 1; + color: rgba(245, 158, 11, var(--tw-text-opacity)); +} +.text-success-600{ + --tw-text-opacity: 1; + color: rgba(22, 163, 74, var(--tw-text-opacity)); +} +.text-warning-600{ + --tw-text-opacity: 1; + color: rgba(217, 119, 6, var(--tw-text-opacity)); +} +.antialiased{ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.placeholder-gray-400::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgba(156, 163, 175, var(--tw-placeholder-opacity)); +} +.placeholder-gray-400:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgba(156, 163, 175, var(--tw-placeholder-opacity)); +} +.placeholder-gray-400::placeholder{ + --tw-placeholder-opacity: 1; + color: rgba(156, 163, 175, var(--tw-placeholder-opacity)); +} +.opacity-50{ + opacity: 0.5; +} +.opacity-100{ + opacity: 1; +} +.opacity-0{ + opacity: 0; +} +.opacity-75{ + opacity: 0.75; +} +.shadow-lg{ + --tw-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} +.shadow-sm{ + --tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} +.shadow-xl{ + --tw-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} +.shadow{ + --tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06); + box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow); +} +.ring-0{ + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +} +.ring-2{ + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +} +.ring-danger-500{ + --tw-ring-opacity: 1; + --tw-ring-color: rgba(244, 63, 94, var(--tw-ring-opacity)); +} +.ring-danger-600{ + --tw-ring-opacity: 1; + --tw-ring-color: rgba(225, 29, 72, var(--tw-ring-opacity)); +} +.ring-primary-500{ + --tw-ring-opacity: 1; + --tw-ring-color: rgba(234, 179, 8, var(--tw-ring-opacity)); +} +.filter{ + filter: var(--tw-filter); +} +.transition{ + transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter; + transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter; + transition-property: background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} +.transition-colors{ + transition-property: background-color, border-color, color, fill, stroke; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} +.transition-opacity{ + transition-property: opacity; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} +.duration-75{ + transition-duration: 75ms; +} +.duration-100{ + transition-duration: 100ms; +} +.duration-200{ + transition-duration: 200ms; +} +.duration-300{ + transition-duration: 300ms; +} +.ease-in-out{ + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); +} +.ease-in{ + transition-timing-function: cubic-bezier(0.4, 0, 1, 1); +} +.ease-out{ + transition-timing-function: cubic-bezier(0, 0, 0.2, 1); +} +.invalid\:text-gray-400:invalid{ + --tw-text-opacity: 1; + color: rgba(156, 163, 175, var(--tw-text-opacity)); +} +.focus-within\:border-primary-600:focus-within{ + --tw-border-opacity: 1; + border-color: rgba(202, 138, 4, var(--tw-border-opacity)); +} +.focus-within\:ring-1:focus-within{ + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +} +.focus-within\:ring-inset:focus-within{ + --tw-ring-inset: inset; +} +.focus-within\:ring-primary-600:focus-within{ + --tw-ring-opacity: 1; + --tw-ring-color: rgba(202, 138, 4, var(--tw-ring-opacity)); +} +.hover\:bg-gray-50:hover{ + --tw-bg-opacity: 1; + background-color: rgba(249, 250, 251, var(--tw-bg-opacity)); +} +.hover\:bg-primary-600:hover{ + --tw-bg-opacity: 1; + background-color: rgba(202, 138, 4, var(--tw-bg-opacity)); +} +.hover\:bg-gray-500\/5:hover{ + background-color: rgba(107, 114, 128, 0.05); +} +.hover\:bg-gray-100:hover{ + --tw-bg-opacity: 1; + background-color: rgba(243, 244, 246, var(--tw-bg-opacity)); +} +.hover\:bg-primary-500:hover{ + --tw-bg-opacity: 1; + background-color: rgba(234, 179, 8, var(--tw-bg-opacity)); +} +.hover\:bg-danger-500:hover{ + --tw-bg-opacity: 1; + background-color: rgba(244, 63, 94, var(--tw-bg-opacity)); +} +.hover\:bg-success-500:hover{ + --tw-bg-opacity: 1; + background-color: rgba(34, 197, 94, var(--tw-bg-opacity)); +} +.hover\:bg-warning-500:hover{ + --tw-bg-opacity: 1; + background-color: rgba(245, 158, 11, var(--tw-bg-opacity)); +} +.hover\:bg-danger-600:hover{ + --tw-bg-opacity: 1; + background-color: rgba(225, 29, 72, var(--tw-bg-opacity)); +} +.hover\:bg-success-600:hover{ + --tw-bg-opacity: 1; + background-color: rgba(22, 163, 74, var(--tw-bg-opacity)); +} +.hover\:bg-warning-600:hover{ + --tw-bg-opacity: 1; + background-color: rgba(217, 119, 6, var(--tw-bg-opacity)); +} +.hover\:text-white:hover{ + --tw-text-opacity: 1; + color: rgba(255, 255, 255, var(--tw-text-opacity)); +} +.hover\:text-primary-500:hover{ + --tw-text-opacity: 1; + color: rgba(234, 179, 8, var(--tw-text-opacity)); +} +.hover\:text-danger-500:hover{ + --tw-text-opacity: 1; + color: rgba(244, 63, 94, var(--tw-text-opacity)); +} +.hover\:text-gray-500:hover{ + --tw-text-opacity: 1; + color: rgba(107, 114, 128, var(--tw-text-opacity)); +} +.hover\:text-success-500:hover{ + --tw-text-opacity: 1; + color: rgba(34, 197, 94, var(--tw-text-opacity)); +} +.hover\:text-warning-500:hover{ + --tw-text-opacity: 1; + color: rgba(245, 158, 11, var(--tw-text-opacity)); +} +.hover\:underline:hover{ + text-decoration: underline; +} +.focus\:border-primary-600:focus{ + --tw-border-opacity: 1; + border-color: rgba(202, 138, 4, var(--tw-border-opacity)); +} +.focus\:border-primary-500:focus{ + --tw-border-opacity: 1; + border-color: rgba(234, 179, 8, var(--tw-border-opacity)); +} +.focus\:border-primary-300:focus{ + --tw-border-opacity: 1; + border-color: rgba(253, 224, 71, var(--tw-border-opacity)); +} +.focus\:bg-primary-50:focus{ + --tw-bg-opacity: 1; + background-color: rgba(254, 252, 232, var(--tw-bg-opacity)); +} +.focus\:bg-primary-700:focus{ + --tw-bg-opacity: 1; + background-color: rgba(161, 98, 7, var(--tw-bg-opacity)); +} +.focus\:bg-primary-500\/10:focus{ + background-color: rgba(234, 179, 8, 0.1); +} +.focus\:bg-danger-700:focus{ + --tw-bg-opacity: 1; + background-color: rgba(190, 18, 60, var(--tw-bg-opacity)); +} +.focus\:bg-success-700:focus{ + --tw-bg-opacity: 1; + background-color: rgba(21, 128, 61, var(--tw-bg-opacity)); +} +.focus\:bg-warning-700:focus{ + --tw-bg-opacity: 1; + background-color: rgba(180, 83, 9, var(--tw-bg-opacity)); +} +.focus\:bg-danger-500\/10:focus{ + background-color: rgba(244, 63, 94, 0.1); +} +.focus\:bg-gray-500\/10:focus{ + background-color: rgba(107, 114, 128, 0.1); +} +.focus\:bg-success-500\/10:focus{ + background-color: rgba(34, 197, 94, 0.1); +} +.focus\:bg-warning-500\/10:focus{ + background-color: rgba(245, 158, 11, 0.1); +} +.focus\:text-primary-600:focus{ + --tw-text-opacity: 1; + color: rgba(202, 138, 4, var(--tw-text-opacity)); +} +.focus\:text-danger-600:focus{ + --tw-text-opacity: 1; + color: rgba(225, 29, 72, var(--tw-text-opacity)); +} +.focus\:text-white:focus{ + --tw-text-opacity: 1; + color: rgba(255, 255, 255, var(--tw-text-opacity)); +} +.focus\:underline:focus{ + text-decoration: underline; +} +.focus\:placeholder-gray-500:focus::-moz-placeholder{ + --tw-placeholder-opacity: 1; + color: rgba(107, 114, 128, var(--tw-placeholder-opacity)); +} +.focus\:placeholder-gray-500:focus:-ms-input-placeholder{ + --tw-placeholder-opacity: 1; + color: rgba(107, 114, 128, var(--tw-placeholder-opacity)); +} +.focus\:placeholder-gray-500:focus::placeholder{ + --tw-placeholder-opacity: 1; + color: rgba(107, 114, 128, var(--tw-placeholder-opacity)); +} +.focus\:outline-none:focus{ + outline: 2px solid transparent; + outline-offset: 2px; +} +.focus\:ring-2:focus{ + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +} +.focus\:ring-0:focus{ + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +} +.focus\:ring-1:focus{ + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +} +.focus\:ring:focus{ + --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color); + --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color); + box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000); +} +.focus\:ring-inset:focus{ + --tw-ring-inset: inset; +} +.focus\:ring-white:focus{ + --tw-ring-opacity: 1; + --tw-ring-color: rgba(255, 255, 255, var(--tw-ring-opacity)); +} +.focus\:ring-primary-600:focus{ + --tw-ring-opacity: 1; + --tw-ring-color: rgba(202, 138, 4, var(--tw-ring-opacity)); +} +.focus\:ring-primary-500:focus{ + --tw-ring-opacity: 1; + --tw-ring-color: rgba(234, 179, 8, var(--tw-ring-opacity)); +} +.focus\:ring-primary-200:focus{ + --tw-ring-opacity: 1; + --tw-ring-color: rgba(254, 240, 138, var(--tw-ring-opacity)); +} +.focus\:ring-blue-200:focus{ + --tw-ring-opacity: 1; + --tw-ring-color: rgba(191, 219, 254, var(--tw-ring-opacity)); +} +.focus\:ring-opacity-50:focus{ + --tw-ring-opacity: 0.5; +} +.focus\:ring-offset-2:focus{ + --tw-ring-offset-width: 2px; +} +.focus\:ring-offset-primary-700:focus{ + --tw-ring-offset-color: #a16207; +} +.focus\:ring-offset-danger-700:focus{ + --tw-ring-offset-color: #be123c; +} +.focus\:ring-offset-success-700:focus{ + --tw-ring-offset-color: #15803d; +} +.focus\:ring-offset-warning-700:focus{ + --tw-ring-offset-color: #b45309; +} +.group:focus-within .group-focus-within\:text-primary-500{ + --tw-text-opacity: 1; + color: rgba(234, 179, 8, var(--tw-text-opacity)); +} +.group:hover .group-hover\:text-white{ + --tw-text-opacity: 1; + color: rgba(255, 255, 255, var(--tw-text-opacity)); +} +.group:hover .group-hover\:text-primary-100{ + --tw-text-opacity: 1; + color: rgba(254, 249, 195, var(--tw-text-opacity)); +} +.group:hover .group-hover\:text-danger-100{ + --tw-text-opacity: 1; + color: rgba(255, 228, 230, var(--tw-text-opacity)); +} +.group:hover .group-hover\:text-success-100{ + --tw-text-opacity: 1; + color: rgba(220, 252, 231, var(--tw-text-opacity)); +} +.group:hover .group-hover\:text-warning-100{ + --tw-text-opacity: 1; + color: rgba(254, 243, 199, var(--tw-text-opacity)); +} +.group:focus .group-focus\:text-white{ + --tw-text-opacity: 1; + color: rgba(255, 255, 255, var(--tw-text-opacity)); +} +.group:focus .group-focus\:text-primary-100{ + --tw-text-opacity: 1; + color: rgba(254, 249, 195, var(--tw-text-opacity)); +} +.group:focus .group-focus\:text-danger-100{ + --tw-text-opacity: 1; + color: rgba(255, 228, 230, var(--tw-text-opacity)); +} +.group:focus .group-focus\:text-success-100{ + --tw-text-opacity: 1; + color: rgba(220, 252, 231, var(--tw-text-opacity)); +} +.group:focus .group-focus\:text-warning-100{ + --tw-text-opacity: 1; + color: rgba(254, 243, 199, var(--tw-text-opacity)); +} +[dir="rtl"] .rtl\:space-x-reverse > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 1; +} +@media (min-width: 640px){ + + .sm\:col-span-1{ + grid-column: span 1 / span 1; + } + + .sm\:col-span-2{ + grid-column: span 2 / span 2; + } + + .sm\:col-span-3{ + grid-column: span 3 / span 3; + } + + .sm\:col-span-4{ + grid-column: span 4 / span 4; + } + + .sm\:col-span-5{ + grid-column: span 5 / span 5; + } + + .sm\:col-span-6{ + grid-column: span 6 / span 6; + } + + .sm\:col-span-7{ + grid-column: span 7 / span 7; + } + + .sm\:col-span-8{ + grid-column: span 8 / span 8; + } + + .sm\:col-span-9{ + grid-column: span 9 / span 9; + } + + .sm\:col-span-10{ + grid-column: span 10 / span 10; + } + + .sm\:col-span-11{ + grid-column: span 11 / span 11; + } + + .sm\:col-span-12{ + grid-column: span 12 / span 12; + } + + .sm\:col-span-full{ + grid-column: 1 / -1; + } + + .sm\:table-cell{ + display: table-cell; + } + + .sm\:hidden{ + display: none; + } + + .sm\:grid-cols-1{ + grid-template-columns: repeat(1, minmax(0, 1fr)); + } + + .sm\:grid-cols-2{ + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + + .sm\:grid-cols-3{ + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + + .sm\:grid-cols-4{ + grid-template-columns: repeat(4, minmax(0, 1fr)); + } + + .sm\:grid-cols-5{ + grid-template-columns: repeat(5, minmax(0, 1fr)); + } + + .sm\:grid-cols-6{ + grid-template-columns: repeat(6, minmax(0, 1fr)); + } + + .sm\:grid-cols-7{ + grid-template-columns: repeat(7, minmax(0, 1fr)); + } + + .sm\:grid-cols-8{ + grid-template-columns: repeat(8, minmax(0, 1fr)); + } + + .sm\:grid-cols-9{ + grid-template-columns: repeat(9, minmax(0, 1fr)); + } + + .sm\:grid-cols-10{ + grid-template-columns: repeat(10, minmax(0, 1fr)); + } + + .sm\:grid-cols-11{ + grid-template-columns: repeat(11, minmax(0, 1fr)); + } + + .sm\:grid-cols-12{ + grid-template-columns: repeat(12, minmax(0, 1fr)); + } +} +@media (min-width: 768px){ + + .md\:col-span-1{ + grid-column: span 1 / span 1; + } + + .md\:col-span-2{ + grid-column: span 2 / span 2; + } + + .md\:col-span-3{ + grid-column: span 3 / span 3; + } + + .md\:col-span-4{ + grid-column: span 4 / span 4; + } + + .md\:col-span-5{ + grid-column: span 5 / span 5; + } + + .md\:col-span-6{ + grid-column: span 6 / span 6; + } + + .md\:col-span-7{ + grid-column: span 7 / span 7; + } + + .md\:col-span-8{ + grid-column: span 8 / span 8; + } + + .md\:col-span-9{ + grid-column: span 9 / span 9; + } + + .md\:col-span-10{ + grid-column: span 10 / span 10; + } + + .md\:col-span-11{ + grid-column: span 11 / span 11; + } + + .md\:col-span-12{ + grid-column: span 12 / span 12; + } + + .md\:col-span-full{ + grid-column: 1 / -1; + } + + .md\:mb-auto{ + margin-bottom: auto; + } + + .md\:flex{ + display: flex; + } + + .md\:table-cell{ + display: table-cell; + } + + .md\:hidden{ + display: none; + } + + .md\:w-auto{ + width: auto; + } + + .md\:max-w-md{ + max-width: 28rem; + } + + .md\:grid-cols-1{ + grid-template-columns: repeat(1, minmax(0, 1fr)); + } + + .md\:grid-cols-2{ + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + + .md\:grid-cols-3{ + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + + .md\:grid-cols-4{ + grid-template-columns: repeat(4, minmax(0, 1fr)); + } + + .md\:grid-cols-5{ + grid-template-columns: repeat(5, minmax(0, 1fr)); + } + + .md\:grid-cols-6{ + grid-template-columns: repeat(6, minmax(0, 1fr)); + } + + .md\:grid-cols-7{ + grid-template-columns: repeat(7, minmax(0, 1fr)); + } + + .md\:grid-cols-8{ + grid-template-columns: repeat(8, minmax(0, 1fr)); + } + + .md\:grid-cols-9{ + grid-template-columns: repeat(9, minmax(0, 1fr)); + } + + .md\:grid-cols-10{ + grid-template-columns: repeat(10, minmax(0, 1fr)); + } + + .md\:grid-cols-11{ + grid-template-columns: repeat(11, minmax(0, 1fr)); + } + + .md\:grid-cols-12{ + grid-template-columns: repeat(12, minmax(0, 1fr)); + } + + .md\:space-y-0 > :not([hidden]) ~ :not([hidden]){ + --tw-space-y-reverse: 0; + margin-top: calc(0px * calc(1 - var(--tw-space-y-reverse))); + margin-bottom: calc(0px * var(--tw-space-y-reverse)); + } + + .md\:space-x-2 > :not([hidden]) ~ :not([hidden]){ + --tw-space-x-reverse: 0; + margin-right: calc(0.5rem * var(--tw-space-x-reverse)); + margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse))); + } +} +@media (min-width: 1024px){ + + .lg\:col-span-1{ + grid-column: span 1 / span 1; + } + + .lg\:col-span-2{ + grid-column: span 2 / span 2; + } + + .lg\:col-span-3{ + grid-column: span 3 / span 3; + } + + .lg\:col-span-4{ + grid-column: span 4 / span 4; + } + + .lg\:col-span-5{ + grid-column: span 5 / span 5; + } + + .lg\:col-span-6{ + grid-column: span 6 / span 6; + } + + .lg\:col-span-7{ + grid-column: span 7 / span 7; + } + + .lg\:col-span-8{ + grid-column: span 8 / span 8; + } + + .lg\:col-span-9{ + grid-column: span 9 / span 9; + } + + .lg\:col-span-10{ + grid-column: span 10 / span 10; + } + + .lg\:col-span-11{ + grid-column: span 11 / span 11; + } + + .lg\:col-span-12{ + grid-column: span 12 / span 12; + } + + .lg\:col-span-full{ + grid-column: 1 / -1; + } + + .lg\:table-cell{ + display: table-cell; + } + + .lg\:grid{ + display: grid; + } + + .lg\:hidden{ + display: none; + } + + .lg\:grid-cols-1{ + grid-template-columns: repeat(1, minmax(0, 1fr)); + } + + .lg\:grid-cols-2{ + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + + .lg\:grid-cols-3{ + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + + .lg\:grid-cols-4{ + grid-template-columns: repeat(4, minmax(0, 1fr)); + } + + .lg\:grid-cols-5{ + grid-template-columns: repeat(5, minmax(0, 1fr)); + } + + .lg\:grid-cols-6{ + grid-template-columns: repeat(6, minmax(0, 1fr)); + } + + .lg\:grid-cols-7{ + grid-template-columns: repeat(7, minmax(0, 1fr)); + } + + .lg\:grid-cols-8{ + grid-template-columns: repeat(8, minmax(0, 1fr)); + } + + .lg\:grid-cols-9{ + grid-template-columns: repeat(9, minmax(0, 1fr)); + } + + .lg\:grid-cols-10{ + grid-template-columns: repeat(10, minmax(0, 1fr)); + } + + .lg\:grid-cols-11{ + grid-template-columns: repeat(11, minmax(0, 1fr)); + } + + .lg\:grid-cols-12{ + grid-template-columns: repeat(12, minmax(0, 1fr)); + } +} +@media (min-width: 1280px){ + + .xl\:col-span-1{ + grid-column: span 1 / span 1; + } + + .xl\:col-span-2{ + grid-column: span 2 / span 2; + } + + .xl\:col-span-3{ + grid-column: span 3 / span 3; + } + + .xl\:col-span-4{ + grid-column: span 4 / span 4; + } + + .xl\:col-span-5{ + grid-column: span 5 / span 5; + } + + .xl\:col-span-6{ + grid-column: span 6 / span 6; + } + + .xl\:col-span-7{ + grid-column: span 7 / span 7; + } + + .xl\:col-span-8{ + grid-column: span 8 / span 8; + } + + .xl\:col-span-9{ + grid-column: span 9 / span 9; + } + + .xl\:col-span-10{ + grid-column: span 10 / span 10; + } + + .xl\:col-span-11{ + grid-column: span 11 / span 11; + } + + .xl\:col-span-12{ + grid-column: span 12 / span 12; + } + + .xl\:col-span-full{ + grid-column: 1 / -1; + } + + .xl\:table-cell{ + display: table-cell; + } + + .xl\:hidden{ + display: none; + } + + .xl\:grid-cols-1{ + grid-template-columns: repeat(1, minmax(0, 1fr)); + } + + .xl\:grid-cols-2{ + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + + .xl\:grid-cols-3{ + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + + .xl\:grid-cols-4{ + grid-template-columns: repeat(4, minmax(0, 1fr)); + } + + .xl\:grid-cols-5{ + grid-template-columns: repeat(5, minmax(0, 1fr)); + } + + .xl\:grid-cols-6{ + grid-template-columns: repeat(6, minmax(0, 1fr)); + } + + .xl\:grid-cols-7{ + grid-template-columns: repeat(7, minmax(0, 1fr)); + } + + .xl\:grid-cols-8{ + grid-template-columns: repeat(8, minmax(0, 1fr)); + } + + .xl\:grid-cols-9{ + grid-template-columns: repeat(9, minmax(0, 1fr)); + } + + .xl\:grid-cols-10{ + grid-template-columns: repeat(10, minmax(0, 1fr)); + } + + .xl\:grid-cols-11{ + grid-template-columns: repeat(11, minmax(0, 1fr)); + } + + .xl\:grid-cols-12{ + grid-template-columns: repeat(12, minmax(0, 1fr)); + } +} +@media (min-width: 1536px){ + + .\32xl\:col-span-1{ + grid-column: span 1 / span 1; + } + + .\32xl\:col-span-2{ + grid-column: span 2 / span 2; + } + + .\32xl\:col-span-3{ + grid-column: span 3 / span 3; + } + + .\32xl\:col-span-4{ + grid-column: span 4 / span 4; + } + + .\32xl\:col-span-5{ + grid-column: span 5 / span 5; + } + + .\32xl\:col-span-6{ + grid-column: span 6 / span 6; + } + + .\32xl\:col-span-7{ + grid-column: span 7 / span 7; + } + + .\32xl\:col-span-8{ + grid-column: span 8 / span 8; + } + + .\32xl\:col-span-9{ + grid-column: span 9 / span 9; + } + + .\32xl\:col-span-10{ + grid-column: span 10 / span 10; + } + + .\32xl\:col-span-11{ + grid-column: span 11 / span 11; + } + + .\32xl\:col-span-12{ + grid-column: span 12 / span 12; + } + + .\32xl\:col-span-full{ + grid-column: 1 / -1; + } + + .\32xl\:table-cell{ + display: table-cell; + } + + .\32xl\:hidden{ + display: none; + } + + .\32xl\:grid-cols-1{ + grid-template-columns: repeat(1, minmax(0, 1fr)); + } + + .\32xl\:grid-cols-2{ + grid-template-columns: repeat(2, minmax(0, 1fr)); + } + + .\32xl\:grid-cols-3{ + grid-template-columns: repeat(3, minmax(0, 1fr)); + } + + .\32xl\:grid-cols-4{ + grid-template-columns: repeat(4, minmax(0, 1fr)); + } + + .\32xl\:grid-cols-5{ + grid-template-columns: repeat(5, minmax(0, 1fr)); + } + + .\32xl\:grid-cols-6{ + grid-template-columns: repeat(6, minmax(0, 1fr)); + } + + .\32xl\:grid-cols-7{ + grid-template-columns: repeat(7, minmax(0, 1fr)); + } + + .\32xl\:grid-cols-8{ + grid-template-columns: repeat(8, minmax(0, 1fr)); + } + + .\32xl\:grid-cols-9{ + grid-template-columns: repeat(9, minmax(0, 1fr)); + } + + .\32xl\:grid-cols-10{ + grid-template-columns: repeat(10, minmax(0, 1fr)); + } + + .\32xl\:grid-cols-11{ + grid-template-columns: repeat(11, minmax(0, 1fr)); + } + + .\32xl\:grid-cols-12{ + grid-template-columns: repeat(12, minmax(0, 1fr)); + } +} + diff --git a/packages/admin/dist/app.css.map b/packages/admin/dist/app.css.map new file mode 100644 index 0000000000..567aa60a75 --- /dev/null +++ b/packages/admin/dist/app.css.map @@ -0,0 +1 @@ +{"version":3,"file":"app.css","mappings":"AAGA,gCAEE,MAAO,CADP,iBAAkB,CAElB,KACF,CACA,iCACE,SACF,CACA,iCACE,aAAc,CAEd,MAAO,CAKP,QAAS,CADT,eAAgB,CADhB,eAAgB,CAGhB,SAAU,CAEV,mBAAoB,CATpB,iBAAkB,CAElB,KAAM,CAQN,wBAAyB,CACzB,qBAAsB,CACtB,oBAAqB,CACrB,gBAAiB,CAVjB,UAAW,CAKX,SAMF,CACA,qCAGE,aAAc,CADd,WAAY,CAEZ,kBAAmB,CAHnB,UAIF,CACA,sCAEE,wBAA6B,CAD7B,uBAEF,CACA,yCAEE,aAA2B,CAD3B,qBAEF,CACA,yCAEE,aAA2B,CAD3B,qBAEF,CACA,gGACE,sCACE,qBACF,CACF,CACA,iCAaE,0BAA+B,CAF/B,mBAAqB,CAFrB,WAAY,CAHZ,MAAO,CAIP,QAAS,CAET,eAAgB,CAPhB,iBAAkB,CAGlB,OAAQ,CADR,KAAM,CANN,wBAAyB,CACzB,qBAAsB,CACtB,oBAAqB,CACrB,gBAUF,CACA,yBAME,kBAAmB,CAInB,eAAgB,CALhB,YAAa,CAEb,WAAY,CALZ,MAAO,CAOP,mBAAoB,CARpB,iBAAkB,CAElB,KAAM,CAKN,UAAW,CAGX,6BAA+B,CAP/B,SAQF,CACA,sBAGE,aAAc,CADd,eAAgB,CADhB,iBAGF,CACA,2HAEE,qBAAsB,CACtB,8LAAyM,CACzM,6BACF,CACA,gDAGE,MAAO,CADP,iBAAkB,CAElB,KAAM,CACN,qBACF,CACA,sFACE,eACF,CACA,8EAIE,kBAAmB,CAFnB,YAAa,CADb,WAAY,CAEZ,sBAEF,CACA,kFACE,sBACF,CACA,kFAEE,QAAS,CADT,QAAS,CAGT,oBACF,CACA,6IACE,oBACF,CACA,oFACE,oBACF,CACA,qFACE,qBACF,CACA,2OAEE,qBACF,CACA,uHAEE,qBAAuB,CACvB,mBAAqB,CAFrB,YAGF,CAGA,qBAOE,0BAA8B,CAD9B,QAAS,CAET,4BAA6B,CAC7B,oBAAqB,CANrB,UAAW,CADX,eAAgB,CAGhB,SAAU,CAJV,iBAAkB,CASlB,kBAAmB,CANnB,SAOF,CACA,qCAQE,WAAY,CAJZ,QAAS,CAFT,QAAS,CAKT,SAAU,CAJV,SAAU,CAFV,iBAAkB,CAIlB,UAAW,CACX,sBAGF,CACA,gBAME,WAAY,CAGZ,cAAe,CANf,QAAS,CAET,QAAS,CADT,SAAU,CAGV,iBAAkB,CALlB,OAQF,CACA,gCAHE,mBAAoB,CAPpB,iBAqBF,CAXA,gBAUE,0BAA8B,CAD9B,kBAAmB,CAJnB,QAAS,CAFT,MAAO,CAIP,UAAW,CADX,eAAgB,CAFhB,OAAQ,CAFR,KASF,CACA,qBAOE,kBAAmB,CACnB,iBAAkB,CAJlB,UAAW,CACX,gBAAiB,CACjB,eAAgB,CAJhB,8BAA+B,CAC/B,SAMF,CACA,2CAIE,MAAO,CAFP,iBAAkB,CAClB,KAAM,CAEN,6BACF,CACA,sBAME,kBAAmB,CAHnB,aAAc,CACd,YAAa,CAGb,QAAS,CAFT,sBAAuB,CAHvB,QAAS,CADT,OAAQ,CAOR,wBAAyB,CACzB,qBAAsB,CACtB,oBAAqB,CACrB,gBACF,CACA,iDACE,aAAc,CACd,QAAS,CACT,YACF,CACA,4BACE,cAAe,CACf,gBAAiB,CACjB,eAAgB,CAEhB,eAAgB,CADhB,iBAEF,CACA,wBAEE,gCAAiC,CAIjC,cAAe,CALf,yBAA0B,CAG1B,qCAAsC,CACtC,6BAA8B,CAF9B,6BAIF,CACA,2DACE,UACF,CACA,2DAQE,WAAY,CAJZ,mBAAoB,CAHpB,aAAc,CAEd,cAAe,CAEf,mBAAoB,CACpB,QAAS,CAGT,YAAa,CAFb,SAAU,CALV,aAAc,CAQd,6BACF,CACA,gEAOE,0BAA8B,CAD9B,QAAS,CAET,4BAA6B,CAC7B,oBAAqB,CANrB,UAAW,CADX,eAAgB,CAGhB,SAAU,CAJV,iBAAkB,CASlB,kBAAmB,CANnB,SAOF,CACA,+DAEE,WAAY,CADZ,UAEF,CACA,iEAKE,aAAc,CACd,UAAW,CAJX,WAAY,CADZ,iBAAkB,CAElB,YAAa,CACb,UAGF,CACA,8BAIE,+BAAmC,CACnC,qBAAsB,CAFtB,iBAAkB,CAGlB,oCAAwC,CAJxC,UAAW,CADX,WAAY,CAMZ,kCACF,CACA,wEAEE,0CACF,CACA,wCAEE,gCAAoC,CADpC,wBAEF,CACA,sCACE,YACF,CACA,uDAEE,UAAW,CACX,eAAgB,CAFhB,SAGF,CACA,2EACE,oBACF,CACA,2EACE,sBACF,CACA,gCAGE,sBAAuB,CAFvB,WAAY,CAIZ,aAAc,CADd,mBAAoB,CAFpB,mBAAoB,CAMpB,kBAAmB,CAFnB,YAAa,CACb,SAAU,CAEV,kBAAmB,CACnB,iBACF,CACA,oCAEE,eAAgB,CADhB,cAEF,CACA,qCACE,WAAY,CACZ,SACF,CACA,qBAIE,sBAAuB,CAFvB,YAAa,CAGb,MAAO,CAFP,qBAAsB,CAGtB,iBAAkB,CAClB,WAAY,CAEZ,mBAAoB,CARpB,eAAgB,CAShB,wBAAyB,CACzB,qBAAsB,CACtB,oBAAqB,CACrB,gBAAiB,CALjB,6BAMF,CACA,uBACE,QACF,CACA,+CACE,eAAgB,CAChB,eAAgB,CAEhB,eAAgB,CADhB,sBAAuB,CAEvB,kBAAmB,CACnB,UACF,CACA,8CACE,gBAAiB,CACjB,UAAW,CACX,mCAAoC,CACpC,kBACF,CACA,oDACE,YACF,CACA,uBAIE,oBAAqB,CAFrB,YAAa,CACb,qBAAsB,CAEtB,WAAY,CACZ,aAAc,CACd,QAAS,CACT,gBAAiB,CAGjB,mBAAoB,CAVpB,eAAgB,CAQhB,gBAAiB,CAGjB,wBAAyB,CACzB,qBAAsB,CACtB,oBAAqB,CACrB,gBAAiB,CALjB,6BAMF,CACA,yBACE,QAAS,CACT,kBACF,CACA,mDACE,eAAgB,CAChB,eACF,CACA,kDACE,gBAAiB,CACjB,UAAW,CACX,mCACF,CACA,+CACE,WAAY,CAIZ,WAAY,CAHZ,QAAS,CAET,WAAY,CADZ,SAGF,CACA,sDAOE,0BAA8B,CAD9B,QAAS,CAET,4BAA6B,CAC7B,oBAAqB,CANrB,UAAW,CADX,eAAgB,CAGhB,SAAU,CAJV,iBAAkB,CASlB,kBAAmB,CANnB,SAOF,CACA,gBAIE,sBAAuB,CAGvB,kBAAmB,CADnB,UAAW,CAJX,YAAa,CACb,WAAY,CAEZ,eAAgB,CAJhB,eAOF,CACA,uCACE,gBAAiB,CACjB,mBACF,CACA,yDACE,mBAAoB,CACpB,wBAAyB,CACzB,qBAAsB,CACtB,oBAAqB,CACrB,gBAAiB,CACjB,SACF,CACA,qJAGE,iBACF,CACA,mCACE,YACF,CACA,oCACE,aACF,CACA,qCACE,wBACF,CACA,qCACE,cACF,CACA,oCACE,uBACF,CACA,8CACE,kBACF,CACA,iEACE,oBACF,CACA,gEACE,mBACF,CACA,0KAGE,mBACF,CACA,kEACE,SACF,CACA,iIACE,UACF,CACA,uEACE,SACF,CACA,sIACE,UACF,CACA,4FACE,4CAA6C,CAC7C,oCACF,CACA,0EACE,UACF,CACA,uOAEE,SACF,CACA,sIACE,UACF,CACA,8NAIE,wCAAyC,CACzC,gCACF,CACA,mEACE,yCAA0C,CAC1C,iCACF,CACA,wBACE,GAEE,sBACF,CACA,GAEE,uBACF,CACF,CACA,gBACE,GAEE,sBACF,CACA,GAEE,uBACF,CACF,CACA,yBACE,QAEE,8BACF,CACA,QAEE,4BACF,CACA,YAEE,4BACF,CACA,QAEE,2BACF,CACF,CACA,iBACE,QAEE,8BACF,CACA,QAEE,4BACF,CACA,YAEE,4BACF,CACA,QAEE,2BACF,CACF,CACA,wBACE,GAIE,0CAA2C,CAC3C,kCAAmC,CAJnC,SAAU,CAEV,mBAGF,CACA,IAIE,6CAA8C,CAC9C,qCAAsC,CAJtC,SAAU,CAEV,oBAGF,CACA,GAGE,0CAA2C,CAC3C,kCAAmC,CAFnC,kBAGF,CACF,CACA,gBACE,GAIE,0CAA2C,CAC3C,kCAAmC,CAJnC,SAAU,CAEV,mBAGF,CACA,IAIE,6CAA8C,CAC9C,qCAAsC,CAJtC,SAAU,CAEV,oBAGF,CACA,GAGE,0CAA2C,CAC3C,kCAAmC,CAFnC,kBAGF,CACF,CACA,iDACE,mBACF,CACA,qDAME,QAAS,CALT,UAAW,CAEX,MAAO,CADP,iBAAkB,CAGlB,OAAQ,CADR,KAAM,CAGN,WACF,CACA,8BACE,WACF,CACA,8BACE,WACF,CACA,uBACE,WACF,CACA,qBACE,WACF,CACA,gBAGE,MAAO,CAIP,YAAa,CADb,SAAU,CALV,iBAAkB,CAGlB,OAAQ,CAFR,KAAM,CAMN,6BAA+B,CAH/B,SAIF,CACA,iCACE,UACF,CACA,yDACE,oDACF,CACA,yEAEE,gCACF,CACA,iCACE,mBAAoB,CACpB,WACF,CACA,kDAEE,4BAA6B,CAD7B,uCAEF,CACA,sCACE,uBAAwB,CACxB,eACF,CACA,uDACE,4CACF,CACA,6DACE,SACF,CACA,sBACE,wBACF,CACA,qEACE,wBACF,CACA,kHAEE,wBACF,CACA,sBACE,kBAAmB,CACnB,gCACF,CACA,yBAGE,MAAO,CAEP,QAAS,CAJT,iBAAkB,CAGlB,OAAQ,CAFR,KAAM,CAIN,qBACF,CACA,8DACE,QAAS,CACT,OACF,CACA,8CAGE,gCAAiC,CACjC,uEAA0E,CAC1E,+DAAkE,CAHlE,iBAAkB,CADlB,iBAKF,CACA,4CACE,sBACF,CACA,qDACE,SACF,CACA,uDACE,QACF,CACA,kDAIE,2BAA4B,CAH5B,+BAAmC,CAEnC,gCAAiC,CADjC,qBAGF,CACA,+BAKE,oBAAqB,CAFrB,QAAS,CACT,SAAU,CAHV,iBAAkB,CAClB,KAAM,CAIN,qBACF,CACA,gBACE,UAAW,CACX,WACF,CACA,qDAEE,WAAY,CAEZ,QAAS,CADT,cAAe,CAFf,UAIF,CACA,kJAEE,eACF,CACA,sJAEE,YACF,CACA,kJAME,kBAAmB,CAJnB,QAAS,CAET,YAAa,CADb,WAAY,CAEZ,sBAAuB,CAEvB,SACF,CACA,kJAEE,YACF,CACA,yJAGE,WAAY,CAEZ,eAAgB,CADhB,YAAa,CAFb,eAIF,CACA,uIAIE,WAAY,CAFZ,MAAO,CACP,OAEF,CACA,uIAEE,QACF,CACA,uJAEE,WACF,CACA,mJAEE,SACF,CACA,iDACE,sBAAuB,CACvB,eACF,CACA,kEACE,qBACF,CAIA,kNAEE,YACF,CACA,6EACE,mBAAqB,CACrB,4BACF,CACA,6FACE,mEACE,iDACE,qBACF,CACF,CACF,CACA,sBAEE,wBAAyB,CADzB,kBAEF,CACA,iBAME,qBAAuB,CAJvB,MAAO,CAGP,QAAS,CAET,mBAAoB,CANpB,iBAAkB,CAGlB,OAAQ,CADR,KAKF,CACA,2CACE,qBACF,CACA,0CACE,YACF,CACA,qCAGE,sCAAwC,CACxC,qBAAuB,CAFvB,2BAGF,CACA,qEAIE,MAAO,CAGP,QAAS,CACT,SAAU,CALV,iBAAkB,CAGlB,OAAQ,CADR,KAIF,CACA,6CAEE,WACF,CACA,qBAGE,4BAA8B,CAF9B,qCAAuC,CACvC,sCAEF,CACA,2BAOE,wBAAyB,CADzB,WAAY,CALZ,UAAW,CAEX,UAAW,CACX,MAAO,CAFP,iBAAkB,CAGlB,OAGF,CACA,gDAGE,kCAAmC,CACnC,0BAA2B,CAI3B,+BAAkC,CAFlC,yBAA0B,CAJ1B,qBAOF,CACA,wBAGE,yBAA2B,CAF3B,kCAAoC,CACpC,mCAEF,CACA,+BAOE,wBAAyB,CANzB,UAAW,CAEX,UAAW,CACX,MAAO,CAFP,iBAAkB,CAGlB,OAAQ,CACR,QAEF,CACA,wBAGE,4BAA8B,CAC9B,yBAA2B,CAF3B,yBAA2B,CAD3B,sBAIF,CACA,qCACE,iBACF,CACA,8BAIE,UAAW,CADX,aAAc,CAEd,QAAS,CACT,mBAAoB,CALpB,eAAgB,CAChB,YAAa,CAKb,6BACF,CACA,kCAEE,WAAY,CAEZ,sBAAuB,CADvB,kBAAmB,CAFnB,UAIF,CACA,mCACE,SAAU,CACV,mBACF,CACA,yBACE,SACF,CACA,sBACE,SACF,CACA,gBACE,SACF,CACA,iCACE,SACF,CACA,mBACE,SACF,CACA,gBAmBE,iCAAkC,CAlBlC,qBAAsB,CAoBtB,yBAA0B,CAD1B,aAAc,CAdd,wIAUiB,CAZjB,cAAe,CAaf,eAAgB,CAZhB,kBAAmB,CAFnB,iBAAkB,CADlB,iBAAkB,CAgBlB,eAIF,CACA,kBACE,kBAAmB,CACnB,mBACF,CACA,2BACE,iBACF,CACA,+BACE,mBACF,CACA,wDACE,kBACF,CACA,+CACE,mBACF,CACA,sCACE,iBACF,CACA,yCAEE,iBAAkB,CADlB,cAEF,CACA,mCASE,YAAa,CAHb,aAAc,CADd,cAAe,CADf,eAAgB,CADhB,YAAa,CAFb,iBAAkB,CAClB,OAAQ,CAKR,oBAAqB,CACrB,SAEF,CACA,0CAEE,WAAY,CACZ,eAAgB,CAFhB,KAGF,CAGA,YACE,qBAAsB,CACtB,iBAAkB,CAClB,QAAS,CAET,cAAe,CACf,YAAa,CAFb,iBAGF,CACA,eACE,qBACF,CACA,8BACE,YAAa,CACb,gBAAiB,CACjB,6BAA8B,CAC9B,eACF,CACA,gCAKE,2BAAyB,CACzB,iBAAkB,CADlB,kBAAyB,CAAzB,gBAAyB,CAJzB,YAAa,CACb,kBAKF,CACA,kDACE,iBACF,CACA,gCACE,kDACE,aACF,CACF,CACA,uCACE,WACF,CACA,gCACE,uCACE,YACF,CACF,CACA,0BAaE,sBAAuB,CAFvB,WAA6B,CAA7B,4BAA6B,CAC7B,eAAgB,CAThB,oBAAyB,CADzB,UAAW,CAEX,eAAiB,CACjB,eAAgB,CAGhB,QAAS,CACT,YAAa,CAFb,cAAgB,CANhB,iBAAkB,CAKlB,kBAQF,CACA,4CACE,0BACF,CACA,sCACE,kBAAmB,CACnB,UACF,CACA,yCACE,cACF,CACA,mCACE,sBACF,CACA,gCACE,0BACE,qBAAuB,CACvB,cACF,CACF,CACA,gCACE,iBAAkB,CAElB,YAAa,CACb,0BAA4B,CAC5B,mBAAoB,CAHpB,WAIF,CACA,gCACE,gCACE,UAAW,CACX,4BACF,CACF,CACA,uCASE,uBAA2B,CAC3B,2BAA4B,CAC5B,uBAAwB,CANxB,QAAS,CAGT,UAAW,CAPX,oBAAqB,CAKrB,MAAO,CACP,UAAY,CALZ,iBAAkB,CAElB,OAAQ,CADR,KASF,CACA,gCACE,uCAEE,OAAQ,CADR,QAEF,CACF,CACA,mDACE,SACF,CACA,gDACE,YACF,CACA,8CACE,kSAAqY,CAErY,SAAU,CADV,MAEF,CACA,4CACE,2TACF,CACA,8CACE,qMACF,CACA,4CACE,skBACF,CACA,8CACE,qnBACF,CACA,6CACE,0MACF,CACA,iDACE,kNACF,CACA,4CACE,8PACF,CACA,mDACE,iTACF,CACA,mDACE,gSACF,CACA,4CACE,gPACF,CACA,4CACE,qOACF,CACA,8DACE,uPACF,CACA,8DACE,4PACF,CACA,2BACE,iBACF,CACA,0BAOE,eAAgB,CAGhB,iBAAkB,CADlB,yBAA0B,CAD1B,0BAA4B,CAH5B,eAAiB,CAFjB,MAAO,CAGP,iBAAkB,CALlB,iBAAkB,CAGlB,OAAQ,CAFR,KAAM,CASN,SACF,CACA,iCAUE,uBAAwB,CACxB,oBAAqB,CAJrB,qBAAsB,CADtB,qBAAsB,CADtB,iBAAkB,CAGlB,eAAgB,CAPhB,iBAAkB,CAClB,eAAmB,CAEnB,iBAAkB,CAKlB,YAAa,CANb,iBASF,CACA,kDACE,4BACF,CACA,kCAGE,kBAAmB,CAFnB,iBAAkB,CAClB,YAEF,CACA,gCACE,eACF,CACA,uCAEE,oBAAqB,CADrB,YAEF,CACA,mDACE,MACF,CACA,0DACE,gBAAiB,CACjB,QACF,CACA,iEACE,wBAAyB,CACzB,qBAAsB,CACtB,oBAAqB,CACrB,gBACF,CAMA,uJAGE,eACF,CAJA,wIAGE,eACF,CACA,iFACE,oBACF,CACA,4EACE,oBACF,CACA,4DAEE,wBAAyB,CADzB,8BAEF,CACA,+CACE,8BACF,CACA,wBACE,iBACF,CACA,8BACE,cACF,CACA,4DACE,WACF,CACA,kCAGE,WAAY,CAEZ,OAAQ,CAER,UAAY,CANZ,iBAAkB,CAGlB,oBAAqB,CAIrB,8BAAiC,CAFjC,SAAU,CAJV,SAOF,CACA,+CACE,SACF,CACA,wCAaE,uBAAwB,CACxB,oBAAqB,CAHrB,WAAY,CAHZ,aAAc,CAPd,oBAAqB,CAKrB,mBAAoB,CADpB,iBAAkB,CAElB,mBAAoB,CAJpB,QAAS,CAST,YAAa,CARb,SAAU,CAKV,iBAAkB,CAClB,kBAAmB,CARnB,UAaF,CACA,iCAIE,MAAO,CAHP,iBAAkB,CAKlB,iBAAkB,CAHlB,SAAW,CAEX,UAAW,CAHX,SAKF,CACA,+BACE,mBACF,CACA,yBAWE,sBAAuB,CAFvB,WAAY,CACZ,eAAgB,CAPhB,UAAW,CADX,UAAW,CAGX,aAAc,CAEd,QAAS,CACT,YAAa,CAFb,cAAgB,CALhB,iBAAkB,CAGlB,kBAQF,CACA,2CACE,0BACF,CACA,qCACE,kBACF,CACA,wCACE,cACF,CACA,iCASE,qBAAsB,CACtB,0BAA2B,CAF3B,iBAAkB,CAGlB,sCAA2C,CAT3C,oBAAqB,CAIrB,YAAa,CACb,iBAAkB,CAHlB,YAAa,CADb,SAAU,CAFV,mBAAoB,CAIpB,WAOF,CACA,wCASE,wRAAyW,CACzW,uBAA2B,CAC3B,2BAA4B,CAC5B,mBAAoB,CAPpB,QAAS,CAGT,UAAW,CAPX,oBAAqB,CAKrB,MAAO,CACP,UAAY,CALZ,iBAAkB,CAElB,OAAQ,CADR,KAUF,CACA,uCACE,iBACF,CACA,8CACE,SACF,CACA,4CACE,iBACF,CACA,kCASE,+BAAoC,CACpC,iBAAkB,CAFlB,UAAW,CADX,cAAgB,CALhB,QAAS,CAGT,aAAc,CACd,iBAAoB,CALpB,iBAAkB,CAElB,OAAQ,CACR,yBAOF,CACA,oDACE,oBAAqB,CACrB,cAAe,CAEf,eAAgB,CAChB,sBAAuB,CAFvB,qBAAsB,CAGtB,kBACF,CACA,oDACE,gBAAkB,CAClB,kBACF,CACA,cACE,eACF,CACA,gBACE,qBAAsB,CACtB,QAAS,CACT,SACF,CACA,iBACE,eAAgB,CAChB,eACF,CACA,yBAEE,iBAAwB,CAAxB,uBAAwB,CACxB,gBAAkB,CAClB,iBACF,CACA,qEAGE,uBAAyB,CACzB,iBAAmB,CACnB,kBACF,CACA,iBACE,eACF,CACA,2BACE,gBACF,CACA,kBAQE,qBAAsB,CAPtB,oBAAqB,CAGrB,qBAAsB,CACtB,cAAgB,CAIhB,eAAgB,CAHhB,YAAc,CAHd,kBAAmB,CAInB,eAAgB,CALhB,UAQF,CACA,kBAEE,WAAY,CADZ,cAEF,CACA,0BACE,oBAAqB,CAErB,cAAe,CADf,iBAEF,CACA,4BACE,aAAc,CACd,oBACF,CACA,4EAEE,aACF,CACA,mCACE,iBACF,CACA,8EACE,gBACF,CACA,mCAEE,iBAAkB,CADlB,UAEF,CACA,wDACE,UAAW,CACX,cAAgB,CAChB,eACF,CACA,gCAKE,qBAAsB,CACtB,iBAAkB,CALlB,UAAW,CACX,aAAc,CACd,gBAAqB,CACrB,gBAGF,CACA,kCACE,YAAa,CACb,cAAe,CACf,iBACF,CACA,8CACE,YAAa,CAEb,aAAc,CADd,cAEF,CACA,wIAEE,cAAe,CACf,aACF,CAGA,gBACE,eACF,C;ACt6CA,gEAAc;;AAAd,8FAAc,CAAd,KC+BC,6BAA8B,CAD9B,gBAAiB,CAVjB,eAAgB,CAChB,aAAW,CAAX,UDrBa,CAAd,KCoDC,+GASiB,CAjBjB,QD5Ca,CAAd,GC4EC,aAAc,CADd,QD3Ea,CAAd,YCyFC,wCAAiC,CAAjC,gCDzFa,CAAd,SCkGC,kBDlGa,CAAd,kBC8GC,gFAMU,CACV,aDrHa,CAAd,MC6HC,aD7Ha,CAAd,QCsIC,aAAc,CACd,aAAc,CACd,iBAAkB,CAClB,uBDzIa,CAAd,IC6IC,aD7Ia,CAAd,ICiJC,SDjJa,CAAd,MCgKC,oBAAqB,CADrB,aD/Ja,CAAd,sCCkLC,mBAAoB,CACpB,cAAe,CACf,gBAAiB,CACjB,QDrLa,CAAd,cC+LC,mBD/La,CAAd,gDC0MC,yBD1Ma,CAAd,mBCkNC,iBAAkB,CAClB,SDnNa,CAAd,gBC2NC,6BD3Na,CAAd,iBCoOC,eDpOa,CAAd,OC4OC,SD5Oa,CAAd,SCoPC,uBDpPa,CAAd,wDC6PC,WD7Pa,CAAd,cCsQC,4BAA6B,CAC7B,mBDvQa,CAAd,4BC+QC,uBD/Qa,CAAd,6BCwRC,yBAA0B,CAC1B,YDzRa,CAAd,QCsSC,iBDtSa,CAAd,mDEqBE,QFrBY,CAAd,OEyBE,4BAA6B,CAC7B,qBF1BY,CAAd,eE8BE,QAAS,CACT,SF/BY,CAAd,MEoCE,eFpCY,CAAd,KEqDE,wMAAsP,CACtP,eFtDY,CAAd,KEgEE,mBAAoB,CACpB,mBFjEY,CAAd,iBEoGE,cAA0B,CAH1B,qBFjGY,CAAd,GE4GE,oBF5GY,CAAd,IE0HE,kBF1HY,CAAd,SE8HE,eF9HY,CAAd,mDEoIE,aAAwC,CADxC,SFnIY,CAAd,2DEoIE,aAAwC,CADxC,SFnIY,CAAd,yCEoIE,aAAwC,CADxC,SFnIY,CAAd,qBEyIE,cFzIY,CAAd,gBEqJC,YFrJa,CAAd,MEyJE,wBFzJY,CAAd,kBEkKE,iBAAkB,CAClB,mBFnKY,CAAd,EE4KE,aAAc,CACd,uBF7KY,CAAd,sCE+LE,aAAc,CADd,mBAAoB,CADpB,SF7LY,CAAd,kBE6ME,kHF7MY,CAAd,+CEyOE,aAAc,CACd,qBF1OY,CAAd,UEuPE,WAAY,CADZ,cFtPY,CAAd,SE+PE,YF/PY,CGFd,wjDHEc,CAAd,uRGFA,meHEc,CAAd,mDGFA,uBHEc,CAAd,2DGFA,uBHEc,CAAd,yCGFA,uBHEc,CAAd,uCGFA,SHEc,CAAd,8BGFA,gBHEc,CAAd,OGFA,waHEc,CAAd,WGFA,sKHEc,CAAd,6BGFA,4ZHEc,CAAd,gBGFA,eHEc,CAAd,aGFA,kBHEc,CAAd,yCGFA,8cHEc,CAAd,6CGFA,oIHEc,CAAd,wBGFA,2RHEc,CAAd,qBGFA,kLHEc,CAAd,kHGFA,sDHEc,CAAd,8BGFA,0XHEc,CAAd,wEGFA,sDHEc,CAAd,YGFA,kHHEc,CAAd,kBGFA,yCHEc,CACd,OGHA,4BHGoB,CAApB,qBGHA,mFHGoB,CAApB,SGHA,uDHGoB,CAApB,cGHA,6BHGoB,CAApB,kBGHA,gCHGoB,CAApB,kBGHA,gCHGoB,CAApB,oBGHA,gCHGoB,CAApB,oBGHA,gCHGoB,CAApB,kBGHA,gCHGoB,CAApB,kBGHA,gCHGoB,CAApB,oBGHA,gCHGoB,CAApB,oBGHA,gCHGoB,CAApB,oBGHA,4BHGoB,CAApB,aGHA,qCHGoB,CAApB,oBGHA,uHHGoB,CAApB,aGHA,qCHGoB,CAApB,oBGHA,yHHGoB,CAApB,UGHA,0EHGoB,CAApB,kBGHA,4LHGoB,CAApB,yCGHA,kBHGoB,CAApB,uCGHA,mBHGoB,CAApB,UGHA,0GHGoB,CAApB,UGHA,oGHGoB,CAApB,UGHA,kGHGoB,CAApB,UGHA,iFHGoB,CAApB,yBGHA,0EHGoB,CAApB,YGHA,8CHGoB,CAApB,qCGHA,WHGoB,CAApB,cGHA,aHGoB,CAApB,WGHA,mMHGoB,CAApB,gBGHA,6JHGoB,CAApB,6CGHA,YHGoB,CAApB,aGHA,oHHGoB,CAApB,aGHA,iFHGoB,CAApB,gBGHA,gGHGoB,CAApB,gBGHA,mDHGoB,CAApB,2BGHA,qBHGoB,CAApB,gBGHA,qCHGoB,CAApB,OGHA,+BHGoB,CAApB,SGHA,sCHGoB,CAApB,sCGHA,gCHGoB,CAApB,gBGHA,4BHGoB,CAApB,eGHA,gBHGoB,CAApB,eGHA,cHGoB,CAApB,oBGHA,sCHGoB,CAApB,UGHA,kCHGoB,CAApB,eGHA,oCHGoB,CAApB,0BGHA,iBHGoB,CAApB,yBGHA,oBHGoB,CAApB,0BGHA,iBHGoB,CAApB,yBGHA,oBHGoB,CAApB,oDGHA,oCHGoB,CAApB,gDGHA,YHGoB,CAApB,4BGHA,cHGoB,CAApB,2BGHA,eHGoB,CAApB,4BGHA,cHGoB,CAApB,2BGHA,eHGoB,CAApB,oBGHA,YHGoB,CAApB,mBGHA,eHGoB,CACpB,SGJA,iIHImB,CAAnB,qBGJA,mBHImB,CAAnB,OGJA,cHImB,CAAnB,UGJA,iBHImB,CAAnB,UGJA,iBHImB,CAAnB,SGJA,cHImB,CAAnB,oBGJA,cHImB,CAAnB,SGJA,OHImB,CAAnB,OGJA,KHImB,CAAnB,QGJA,MHImB,CAAnB,UGJA,QHImB,CAAnB,MGJA,UHImB,CAAnB,MGJA,UHImB,CAAnB,YGJA,yBHImB,CAAnB,YGJA,yBHImB,CAAnB,YGJA,yBHImB,CAAnB,YGJA,yBHImB,CAAnB,YGJA,yBHImB,CAAnB,YGJA,yBHImB,CAAnB,YGJA,yBHImB,CAAnB,YGJA,yBHImB,CAAnB,YGJA,yBHImB,CAAnB,aGJA,2BHImB,CAAnB,aGJA,2BHImB,CAAnB,aGJA,2BHImB,CAAnB,eGJA,gBHImB,CAAnB,OGJA,wCHImB,CAAnB,MGJA,sCHImB,CAAnB,SGJA,kCHImB,CAAnB,OGJA,sCHImB,CAAnB,OGJA,wCHImB,CAAnB,MGJA,gBHImB,CAAnB,OGJA,oBHImB,CAAnB,MGJA,kBHImB,CAAnB,MGJA,kBHImB,CAAnB,OGJA,mBHImB,CAAnB,MGJA,mBHImB,CAAnB,OGJA,kBHImB,CAAnB,OGJA,mBHImB,CAAnB,OGJA,mBHImB,CAAnB,OGJA,mBHImB,CAAnB,UGJA,oBHImB,CAAnB,MGJA,kBHImB,CAAnB,MGJA,iBHImB,CAAnB,OGJA,oBHImB,CAAnB,UGJA,qBHImB,CAAnB,OGJA,oBHImB,CAAnB,SGJA,gBHImB,CAAnB,SGJA,eHImB,CAAnB,OGJA,aHImB,CAAnB,cGJA,oBHImB,CAAnB,QGJA,cHImB,CAAnB,MGJA,YHImB,CAAnB,aGJA,mBHImB,CAAnB,OGJA,aHImB,CAAnB,MGJA,YHImB,CAAnB,QGJA,YHImB,CAAnB,KGJA,aHImB,CAAnB,MGJA,cHImB,CAAnB,KGJA,WHImB,CAAnB,KGJA,cHImB,CAAnB,MGJA,WHImB,CAAnB,KGJA,cHImB,CAAnB,QGJA,WHImB,CAAnB,MGJA,aHImB,CAAnB,KGJA,aHImB,CAAnB,KGJA,cHImB,CAAnB,MGJA,WHImB,CAAnB,UGJA,gBHImB,CAAnB,cGJA,gBHImB,CAAnB,YGJA,eHImB,CAAnB,KGJA,YHImB,CAAnB,MGJA,aHImB,CAAnB,KGJA,UHImB,CAAnB,QGJA,UHImB,CAAnB,KGJA,aHImB,CAAnB,MGJA,WHImB,CAAnB,MGJA,WHImB,CAAnB,MGJA,UHImB,CAAnB,MGJA,UHImB,CAAnB,MGJA,UHImB,CAAnB,KGJA,UHImB,CAAnB,KGJA,YHImB,CAAnB,MGJA,YHImB,CAAnB,KGJA,aHImB,CAAnB,KGJA,aHImB,CAAnB,UGJA,WHImB,CAAnB,YGJA,cHImB,CAAnB,UGJA,eHImB,CAAnB,UGJA,eHImB,CAAnB,UGJA,eHImB,CAAnB,UGJA,eHImB,CAAnB,UGJA,eHImB,CAAnB,WGJA,eHImB,CAAnB,WGJA,eHImB,CAAnB,WGJA,eHImB,CAAnB,WGJA,eHImB,CAAnB,WGJA,eHImB,CAAnB,WGJA,eHImB,CAAnB,QGJA,WHImB,CAAnB,eGJA,aHImB,CAAnB,WGJA,WHImB,CAAnB,YGJA,iBHImB,CAAnB,eGJA,kDHImB,CAAnB,eGJA,sDHImB,CAAnB,gBGJA,uDHImB,CAAnB,eGJA,kDHImB,CAAnB,gBGJA,sDHImB,CAAnB,eGJA,qDHImB,CAAnB,eGJA,mDHImB,CAAnB,aGJA,mBHImB,CAAnB,yBGJA,6BHImB,CAAnB,YGJA,kBHImB,CAAnB,WGJA,6BHImB,CAAnB,gBGJA,cHImB,CAAnB,gBGJA,cHImB,CAAnB,oBGJA,kBHImB,CAAnB,aGJA,oFHImB,CAAnB,aGJA,WHImB,CAAnB,QGJA,WHImB,CAAnB,4BGJA,+BHImB,CAAnB,aGJA,6CHImB,CAAnB,aGJA,6CHImB,CAAnB,aGJA,6CHImB,CAAnB,aGJA,6CHImB,CAAnB,aGJA,6CHImB,CAAnB,aGJA,6CHImB,CAAnB,aGJA,6CHImB,CAAnB,aGJA,6CHImB,CAAnB,aGJA,6CHImB,CAAnB,cGJA,8CHImB,CAAnB,cGJA,8CHImB,CAAnB,cGJA,8CHImB,CAAnB,wDGJA,oDHImB,CAAnB,mCGJA,gCHImB,CAAnB,2BGJA,2BHImB,CAAnB,UGJA,qBHImB,CAAnB,cGJA,kBHImB,CAAnB,eGJA,mBHImB,CAAnB,aGJA,wBHImB,CAAnB,gBGJA,sBHImB,CAAnB,iBGJA,6BHImB,CAAnB,OGJA,UHImB,CAAnB,OGJA,QHImB,CAAnB,OGJA,UHImB,CAAnB,OGJA,UHImB,CAAnB,OGJA,SHImB,CAAnB,yCGJA,mIHImB,CAAnB,yCGJA,+HHImB,CAAnB,yCGJA,mIHImB,CAAnB,yCGJA,mIHImB,CAAnB,yCGJA,mIHImB,CAAnB,yCGJA,iIHImB,CAAnB,yCGJA,iIHImB,CAAnB,yCGJA,mIHImB,CAAnB,yCGJA,+HHImB,CAAnB,wCGJA,4IHImB,CAAnB,wCGJA,4IHImB,CAAnB,+CGJA,6EHImB,CAAnB,eGJA,aHImB,CAAnB,iBGJA,eHImB,CAAnB,iBGJA,eHImB,CAAnB,mBGJA,iBHImB,CAAnB,UGJA,sCHImB,CAAnB,6BGJA,kBHImB,CAAnB,qBGJA,oBHImB,CAAnB,aGJA,wBHImB,CAAnB,YGJA,qBHImB,CAAnB,cGJA,oBHImB,CAAnB,YGJA,oBHImB,CAAnB,YGJA,mBHImB,CAAnB,SGJA,oBHImB,CAAnB,aGJA,kBHImB,CAAnB,cGJA,4DHImB,CAAnB,cGJA,6BHImB,CAAnB,4BGJA,gCHImB,CAAnB,cGJA,+BHImB,CAAnB,cGJA,4DHImB,CAAnB,QGJA,gBHImB,CAAnB,UGJA,cHImB,CAAnB,UGJA,gBHImB,CAAnB,UGJA,uBHImB,CAAnB,UGJA,oBHImB,CAAnB,UGJA,sBHImB,CAAnB,UGJA,qBHImB,CAAnB,iBGJA,6EHImB,CAAnB,mBGJA,6EHImB,CAAnB,mBGJA,2EHImB,CAAnB,oBGJA,wBHImB,CAAnB,iBGJA,6EHImB,CAAnB,UGJA,yEHImB,CAAnB,aGJA,yEHImB,CAAnB,gBGJA,uEHImB,CAAnB,aGJA,yEHImB,CAAnB,YGJA,yEHImB,CAAnB,eGJA,yEHImB,CAAnB,gBGJA,yEHImB,CAAnB,gBGJA,4BHImB,CAAnB,oBGJA,mCHImB,CAAnB,gBGJA,uEHImB,CAAnB,YGJA,yEHImB,CAAnB,mBGJA,mCHImB,CAAnB,oBGJA,mCHImB,CAAnB,oBGJA,oCHImB,CAAnB,iBGJA,oCHImB,CAAnB,eGJA,uEHImB,CAAnB,gBGJA,uEHImB,CAAnB,gBGJA,uEHImB,CAAnB,cGJA,+BHImB,CAAnB,KGJA,cHImB,CAAnB,KGJA,SHImB,CAAnB,KGJA,YHImB,CAAnB,KGJA,cHImB,CAAnB,KGJA,aHImB,CAAnB,MGJA,wCHImB,CAAnB,MGJA,wCHImB,CAAnB,MGJA,wCHImB,CAAnB,MGJA,sCHImB,CAAnB,MGJA,wCHImB,CAAnB,MGJA,wCHImB,CAAnB,MGJA,oCHImB,CAAnB,MGJA,sCHImB,CAAnB,MGJA,oCHImB,CAAnB,MGJA,wCHImB,CAAnB,MGJA,oCHImB,CAAnB,MGJA,mBHImB,CAAnB,OGJA,oBHImB,CAAnB,MGJA,mBHImB,CAAnB,MGJA,oBHImB,CAAnB,MGJA,qBHImB,CAAnB,MGJA,kBHImB,CAAnB,MGJA,iBHImB,CAAnB,MGJA,oBHImB,CAAnB,MGJA,kBHImB,CAAnB,MGJA,kBHImB,CAAnB,WGJA,eHImB,CAAnB,aGJA,iBHImB,CAAnB,YGJA,gBHImB,CAAnB,WGJA,wMHImB,CAAnB,WGJA,kHHImB,CAAnB,SGJA,qCHImB,CAAnB,SGJA,iCHImB,CAAnB,SGJA,qCHImB,CAAnB,SGJA,sCHImB,CAAnB,WGJA,iCHImB,CAAnB,WGJA,eHImB,CAAnB,aGJA,eHImB,CAAnB,aGJA,eHImB,CAAnB,eGJA,eHImB,CAAnB,WGJA,wBHImB,CAAnB,QGJA,iBHImB,CAAnB,cGJA,aHImB,CAAnB,eGJA,aHImB,CAAnB,WGJA,gBHImB,CAAnB,eGJA,gBHImB,CAAnB,WGJA,kBHImB,CAAnB,gBGJA,oBHImB,CAAnB,gBGJA,sBHImB,CAAnB,iBGJA,gBHImB,CAAnB,eGJA,+DHImB,CAAnB,eGJA,+DHImB,CAAnB,YGJA,kEHImB,CAAnB,eGJA,kEHImB,CAAnB,iBGJA,gEHImB,CAAnB,kBGJA,gEHImB,CAAnB,eGJA,kEHImB,CAAnB,eGJA,+DHImB,CAAnB,iBGJA,gEHImB,CAAnB,eGJA,+DHImB,CAAnB,kBGJA,+DHImB,CAAnB,iBGJA,kEHImB,CAAnB,kBGJA,gEHImB,CAAnB,eGJA,iEHImB,CAAnB,kBGJA,gEHImB,CAAnB,kBGJA,+DHImB,CAAnB,iBGJA,gEHImB,CAAnB,kBGJA,gEHImB,CAAnB,kBGJA,iEHImB,CAAnB,kBGJA,gEHImB,CAAnB,kBGJA,gEHImB,CAAnB,aGJA,oEHImB,CAAnB,wCGJA,gFHImB,CAAnB,4CGJA,gFHImB,CAAnB,mCGJA,gFHImB,CAAnB,YGJA,UHImB,CAAnB,aGJA,SHImB,CAAnB,WGJA,SHImB,CAAnB,YGJA,WHImB,CAAnB,WGJA,0EHImB,CAAnB,sBGJA,kGHImB,CAAnB,WGJA,uCHImB,CAAnB,WGJA,4EHImB,CAAnB,mBGJA,kGHImB,CAAnB,QGJA,kEHImB,CAAnB,QGJA,6MHImB,CAAnB,gBGJA,wFHImB,CAAnB,QGJA,mNHImB,CAAnB,iBGJA,0EHImB,CAAnB,iBGJA,0EHImB,CAAnB,kBGJA,0EHImB,CAAnB,QGJA,uBHImB,CAAnB,YGJA,mdHImB,CAAnB,mBGJA,+IHImB,CAAnB,oBGJA,uGHImB,CAAnB,aGJA,wBHImB,CAAnB,cGJA,uBHImB,CAAnB,cGJA,uBHImB,CAAnB,cGJA,uBHImB,CAAnB,aGJA,kDHImB,CAAnB,SGJA,iDHImB,CAAnB,UGJA,iDHImB,CAJnB,gCGAA,+ge","sources":["webpack://filament/./packages/forms/dist/module.esm.css","webpack://filament/./packages/admin/resources/css/app.css","webpack://filament/./packages/admin/resources/css/%3Cinput%20css%20xXyyns%3E","webpack://filament/./packages/admin/resources/css/%3Cinput%20css%20K4JDyu%3E","webpack://filament/"],"sourcesContent":["@charset \"UTF-8\";\n\n/* node_modules/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css */\n.filepond--image-preview-markup {\n position: absolute;\n left: 0;\n top: 0;\n}\n.filepond--image-preview-wrapper {\n z-index: 2;\n}\n.filepond--image-preview-overlay {\n display: block;\n position: absolute;\n left: 0;\n top: 0;\n width: 100%;\n min-height: 5rem;\n max-height: 7rem;\n margin: 0;\n opacity: 0;\n z-index: 2;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.filepond--image-preview-overlay svg {\n width: 100%;\n height: auto;\n color: inherit;\n max-height: inherit;\n}\n.filepond--image-preview-overlay-idle {\n mix-blend-mode: multiply;\n color: rgba(40, 40, 40, 0.85);\n}\n.filepond--image-preview-overlay-success {\n mix-blend-mode: normal;\n color: rgba(54, 151, 99, 1);\n}\n.filepond--image-preview-overlay-failure {\n mix-blend-mode: normal;\n color: rgba(196, 78, 71, 1);\n}\n@supports (-webkit-marquee-repetition: infinite) and ((-o-object-fit: fill) or (object-fit: fill)) {\n .filepond--image-preview-overlay-idle {\n mix-blend-mode: normal;\n }\n}\n.filepond--image-preview-wrapper {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n height: 100%;\n margin: 0;\n border-radius: 0.45em;\n overflow: hidden;\n background: rgba(0, 0, 0, 0.01);\n}\n.filepond--image-preview {\n position: absolute;\n left: 0;\n top: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n height: 100%;\n width: 100%;\n pointer-events: none;\n background: #222;\n will-change: transform, opacity;\n}\n.filepond--image-clip {\n position: relative;\n overflow: hidden;\n margin: 0 auto;\n}\n.filepond--image-clip[data-transparency-indicator=grid] img,\n.filepond--image-clip[data-transparency-indicator=grid] canvas {\n background-color: #fff;\n background-image: url(\"data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' fill='%23eee'%3E%3Cpath d='M0 0 H50 V50 H0'/%3E%3Cpath d='M50 50 H100 V100 H50'/%3E%3C/svg%3E\");\n background-size: 1.25em 1.25em;\n}\n.filepond--image-bitmap,\n.filepond--image-vector {\n position: absolute;\n left: 0;\n top: 0;\n will-change: transform;\n}\n.filepond--root[data-style-panel-layout~=integrated] .filepond--image-preview-wrapper {\n border-radius: 0;\n}\n.filepond--root[data-style-panel-layout~=integrated] .filepond--image-preview {\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n.filepond--root[data-style-panel-layout~=circle] .filepond--image-preview-wrapper {\n border-radius: 99999rem;\n}\n.filepond--root[data-style-panel-layout~=circle] .filepond--image-preview-overlay {\n top: auto;\n bottom: 0;\n -webkit-transform: scaleY(-1);\n transform: scaleY(-1);\n}\n.filepond--root[data-style-panel-layout~=circle] .filepond--file .filepond--file-action-button[data-align*=bottom]:not([data-align*=\"center\"]) {\n margin-bottom: 0.325em;\n}\n.filepond--root[data-style-panel-layout~=circle] .filepond--file [data-align*=left] {\n left: calc(50% - 3em);\n}\n.filepond--root[data-style-panel-layout~=circle] .filepond--file [data-align*=right] {\n right: calc(50% - 3em);\n}\n.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=left],\n.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=right] {\n margin-bottom: calc(0.325em + 0.1875em);\n}\n.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=center] {\n margin-top: 0;\n margin-bottom: 0.1875em;\n margin-left: 0.1875em;\n}\n\n/* node_modules/filepond/dist/filepond.min.css */\n.filepond--assistant {\n position: absolute;\n overflow: hidden;\n height: 1px;\n width: 1px;\n padding: 0;\n border: 0;\n clip: rect(1px, 1px, 1px, 1px);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n white-space: nowrap;\n}\n.filepond--browser.filepond--browser {\n position: absolute;\n margin: 0;\n padding: 0;\n left: 1em;\n top: 1.75em;\n width: calc(100% - 2em);\n opacity: 0;\n font-size: 0;\n}\n.filepond--data {\n position: absolute;\n width: 0;\n height: 0;\n padding: 0;\n margin: 0;\n border: none;\n visibility: hidden;\n pointer-events: none;\n contain: strict;\n}\n.filepond--drip {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n overflow: hidden;\n opacity: .1;\n pointer-events: none;\n border-radius: .5em;\n background: rgba(0, 0, 0, .01);\n}\n.filepond--drip-blob {\n -webkit-transform-origin: center center;\n transform-origin: center center;\n width: 8em;\n height: 8em;\n margin-left: -4em;\n margin-top: -4em;\n background: #292625;\n border-radius: 50%;\n}\n.filepond--drip-blob,\n.filepond--drop-label {\n position: absolute;\n top: 0;\n left: 0;\n will-change: transform, opacity;\n}\n.filepond--drop-label {\n right: 0;\n margin: 0;\n color: #4f4f4f;\n display: flex;\n justify-content: center;\n align-items: center;\n height: 0;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.filepond--drop-label.filepond--drop-label label {\n display: block;\n margin: 0;\n padding: .5em;\n}\n.filepond--drop-label label {\n cursor: default;\n font-size: .875em;\n font-weight: 400;\n text-align: center;\n line-height: 1.5;\n}\n.filepond--label-action {\n text-decoration: underline;\n -webkit-text-decoration-skip: ink;\n text-decoration-skip-ink: auto;\n -webkit-text-decoration-color: #a7a4a4;\n text-decoration-color: #a7a4a4;\n cursor: pointer;\n}\n.filepond--root[data-disabled] .filepond--drop-label label {\n opacity: .5;\n}\n.filepond--file-action-button.filepond--file-action-button {\n font-size: 1em;\n width: 1.625em;\n height: 1.625em;\n font-family: inherit;\n line-height: inherit;\n margin: 0;\n padding: 0;\n border: none;\n outline: none;\n will-change: transform, opacity;\n}\n.filepond--file-action-button.filepond--file-action-button span {\n position: absolute;\n overflow: hidden;\n height: 1px;\n width: 1px;\n padding: 0;\n border: 0;\n clip: rect(1px, 1px, 1px, 1px);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n white-space: nowrap;\n}\n.filepond--file-action-button.filepond--file-action-button svg {\n width: 100%;\n height: 100%;\n}\n.filepond--file-action-button.filepond--file-action-button:after {\n position: absolute;\n left: -.75em;\n right: -.75em;\n top: -.75em;\n bottom: -.75em;\n content: \"\";\n}\n.filepond--file-action-button {\n cursor: auto;\n color: #fff;\n border-radius: 50%;\n background-color: rgba(0, 0, 0, .5);\n background-image: none;\n box-shadow: 0 0 0 0 hsla(0, 0%, 100%, 0);\n transition: box-shadow .25s ease-in;\n}\n.filepond--file-action-button:focus,\n.filepond--file-action-button:hover {\n box-shadow: 0 0 0 .125em hsla(0, 0%, 100%, .9);\n}\n.filepond--file-action-button[disabled] {\n color: hsla(0, 0%, 100%, .5);\n background-color: rgba(0, 0, 0, .25);\n}\n.filepond--file-action-button[hidden] {\n display: none;\n}\n.filepond--action-edit-item.filepond--action-edit-item {\n width: 2em;\n height: 2em;\n padding: .1875em;\n}\n.filepond--action-edit-item.filepond--action-edit-item[data-align*=center] {\n margin-left: -.1875em;\n}\n.filepond--action-edit-item.filepond--action-edit-item[data-align*=bottom] {\n margin-bottom: -.1875em;\n}\n.filepond--action-edit-item-alt {\n border: none;\n line-height: inherit;\n background: transparent;\n font-family: inherit;\n color: inherit;\n outline: none;\n padding: 0;\n margin: 0 0 0 .25em;\n pointer-events: all;\n position: absolute;\n}\n.filepond--action-edit-item-alt svg {\n width: 1.3125em;\n height: 1.3125em;\n}\n.filepond--action-edit-item-alt span {\n font-size: 0;\n opacity: 0;\n}\n.filepond--file-info {\n position: static;\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n flex: 1;\n margin: 0 .5em 0 0;\n min-width: 0;\n will-change: transform, opacity;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.filepond--file-info * {\n margin: 0;\n}\n.filepond--file-info .filepond--file-info-main {\n font-size: .75em;\n line-height: 1.2;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n width: 100%;\n}\n.filepond--file-info .filepond--file-info-sub {\n font-size: .625em;\n opacity: .5;\n transition: opacity .25s ease-in-out;\n white-space: nowrap;\n}\n.filepond--file-info .filepond--file-info-sub:empty {\n display: none;\n}\n.filepond--file-status {\n position: static;\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n flex-grow: 0;\n flex-shrink: 0;\n margin: 0;\n min-width: 2.25em;\n text-align: right;\n will-change: transform, opacity;\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.filepond--file-status * {\n margin: 0;\n white-space: nowrap;\n}\n.filepond--file-status .filepond--file-status-main {\n font-size: .75em;\n line-height: 1.2;\n}\n.filepond--file-status .filepond--file-status-sub {\n font-size: .625em;\n opacity: .5;\n transition: opacity .25s ease-in-out;\n}\n.filepond--file-wrapper.filepond--file-wrapper {\n border: none;\n margin: 0;\n padding: 0;\n min-width: 0;\n height: 100%;\n}\n.filepond--file-wrapper.filepond--file-wrapper > legend {\n position: absolute;\n overflow: hidden;\n height: 1px;\n width: 1px;\n padding: 0;\n border: 0;\n clip: rect(1px, 1px, 1px, 1px);\n -webkit-clip-path: inset(50%);\n clip-path: inset(50%);\n white-space: nowrap;\n}\n.filepond--file {\n position: static;\n display: flex;\n height: 100%;\n align-items: flex-start;\n padding: .5625em;\n color: #fff;\n border-radius: .5em;\n}\n.filepond--file .filepond--file-status {\n margin-left: auto;\n margin-right: 2.25em;\n}\n.filepond--file .filepond--processing-complete-indicator {\n pointer-events: none;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n z-index: 3;\n}\n.filepond--file .filepond--file-action-button,\n.filepond--file .filepond--processing-complete-indicator,\n.filepond--file .filepond--progress-indicator {\n position: absolute;\n}\n.filepond--file [data-align*=left] {\n left: .5625em;\n}\n.filepond--file [data-align*=right] {\n right: .5625em;\n}\n.filepond--file [data-align*=center] {\n left: calc(50% - .8125em);\n}\n.filepond--file [data-align*=bottom] {\n bottom: 1.125em;\n}\n.filepond--file [data-align=center] {\n top: calc(50% - .8125em);\n}\n.filepond--file .filepond--progress-indicator {\n margin-top: .1875em;\n}\n.filepond--file .filepond--progress-indicator[data-align*=right] {\n margin-right: .1875em;\n}\n.filepond--file .filepond--progress-indicator[data-align*=left] {\n margin-left: .1875em;\n}\n[data-filepond-item-state*=error] .filepond--file-info,\n[data-filepond-item-state*=invalid] .filepond--file-info,\n[data-filepond-item-state=cancelled] .filepond--file-info {\n margin-right: 2.25em;\n}\n[data-filepond-item-state~=processing] .filepond--file-status-sub {\n opacity: 0;\n}\n[data-filepond-item-state~=processing] .filepond--action-abort-item-processing ~ .filepond--file-status .filepond--file-status-sub {\n opacity: .5;\n}\n[data-filepond-item-state=processing-error] .filepond--file-status-sub {\n opacity: 0;\n}\n[data-filepond-item-state=processing-error] .filepond--action-retry-item-processing ~ .filepond--file-status .filepond--file-status-sub {\n opacity: .5;\n}\n[data-filepond-item-state=processing-complete] .filepond--action-revert-item-processing svg {\n -webkit-animation: fall .5s linear .125s both;\n animation: fall .5s linear .125s both;\n}\n[data-filepond-item-state=processing-complete] .filepond--file-status-sub {\n opacity: .5;\n}\n[data-filepond-item-state=processing-complete] .filepond--file-info-sub,\n[data-filepond-item-state=processing-complete] .filepond--processing-complete-indicator:not([style*=hidden]) ~ .filepond--file-status .filepond--file-status-sub {\n opacity: 0;\n}\n[data-filepond-item-state=processing-complete] .filepond--action-revert-item-processing ~ .filepond--file-info .filepond--file-info-sub {\n opacity: .5;\n}\n[data-filepond-item-state*=error] .filepond--file-wrapper,\n[data-filepond-item-state*=error] .filepond--panel,\n[data-filepond-item-state*=invalid] .filepond--file-wrapper,\n[data-filepond-item-state*=invalid] .filepond--panel {\n -webkit-animation: shake .65s linear both;\n animation: shake .65s linear both;\n}\n[data-filepond-item-state*=busy] .filepond--progress-indicator svg {\n -webkit-animation: spin 1s linear infinite;\n animation: spin 1s linear infinite;\n}\n@-webkit-keyframes spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n to {\n -webkit-transform: rotate(1turn);\n transform: rotate(1turn);\n }\n}\n@keyframes spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n to {\n -webkit-transform: rotate(1turn);\n transform: rotate(1turn);\n }\n}\n@-webkit-keyframes shake {\n 10%, 90% {\n -webkit-transform: translateX(-.0625em);\n transform: translateX(-.0625em);\n }\n 20%, 80% {\n -webkit-transform: translateX(.125em);\n transform: translateX(.125em);\n }\n 30%, 50%, 70% {\n -webkit-transform: translateX(-.25em);\n transform: translateX(-.25em);\n }\n 40%, 60% {\n -webkit-transform: translateX(.25em);\n transform: translateX(.25em);\n }\n}\n@keyframes shake {\n 10%, 90% {\n -webkit-transform: translateX(-.0625em);\n transform: translateX(-.0625em);\n }\n 20%, 80% {\n -webkit-transform: translateX(.125em);\n transform: translateX(.125em);\n }\n 30%, 50%, 70% {\n -webkit-transform: translateX(-.25em);\n transform: translateX(-.25em);\n }\n 40%, 60% {\n -webkit-transform: translateX(.25em);\n transform: translateX(.25em);\n }\n}\n@-webkit-keyframes fall {\n 0% {\n opacity: 0;\n -webkit-transform: scale(.5);\n transform: scale(.5);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n 70% {\n opacity: 1;\n -webkit-transform: scale(1.1);\n transform: scale(1.1);\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n }\n to {\n -webkit-transform: scale(1);\n transform: scale(1);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n}\n@keyframes fall {\n 0% {\n opacity: 0;\n -webkit-transform: scale(.5);\n transform: scale(.5);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n 70% {\n opacity: 1;\n -webkit-transform: scale(1.1);\n transform: scale(1.1);\n -webkit-animation-timing-function: ease-in-out;\n animation-timing-function: ease-in-out;\n }\n to {\n -webkit-transform: scale(1);\n transform: scale(1);\n -webkit-animation-timing-function: ease-out;\n animation-timing-function: ease-out;\n }\n}\n.filepond--hopper[data-hopper-state=drag-over] > * {\n pointer-events: none;\n}\n.filepond--hopper[data-hopper-state=drag-over]:after {\n content: \"\";\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n bottom: 0;\n z-index: 100;\n}\n.filepond--progress-indicator {\n z-index: 103;\n}\n.filepond--file-action-button {\n z-index: 102;\n}\n.filepond--file-status {\n z-index: 101;\n}\n.filepond--file-info {\n z-index: 100;\n}\n.filepond--item {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n z-index: 1;\n padding: 0;\n margin: .25em;\n will-change: transform, opacity;\n}\n.filepond--item > .filepond--panel {\n z-index: -1;\n}\n.filepond--item > .filepond--panel .filepond--panel-bottom {\n box-shadow: 0 .0625em .125em -.0625em rgba(0, 0, 0, .25);\n}\n.filepond--item > .filepond--file-wrapper,\n.filepond--item > .filepond--panel {\n transition: opacity .15s ease-out;\n}\n.filepond--item[data-drag-state] {\n cursor: -webkit-grab;\n cursor: grab;\n}\n.filepond--item[data-drag-state] > .filepond--panel {\n transition: box-shadow .125s ease-in-out;\n box-shadow: 0 0 0 transparent;\n}\n.filepond--item[data-drag-state=drag] {\n cursor: -webkit-grabbing;\n cursor: grabbing;\n}\n.filepond--item[data-drag-state=drag] > .filepond--panel {\n box-shadow: 0 .125em .3125em rgba(0, 0, 0, .325);\n}\n.filepond--item[data-drag-state]:not([data-drag-state=idle]) {\n z-index: 2;\n}\n.filepond--item-panel {\n background-color: #64605e;\n}\n[data-filepond-item-state=processing-complete] .filepond--item-panel {\n background-color: #369763;\n}\n[data-filepond-item-state*=error] .filepond--item-panel,\n[data-filepond-item-state*=invalid] .filepond--item-panel {\n background-color: #c44e47;\n}\n.filepond--item-panel {\n border-radius: .5em;\n transition: background-color .25s;\n}\n.filepond--list-scroller {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n margin: 0;\n will-change: transform;\n}\n.filepond--list-scroller[data-state=overflow] .filepond--list {\n bottom: 0;\n right: 0;\n}\n.filepond--list-scroller[data-state=overflow] {\n overflow-y: scroll;\n overflow-x: hidden;\n -webkit-overflow-scrolling: touch;\n -webkit-mask: linear-gradient(180deg, #000 calc(100% - .5em), transparent);\n mask: linear-gradient(180deg, #000 calc(100% - .5em), transparent);\n}\n.filepond--list-scroller::-webkit-scrollbar {\n background: transparent;\n}\n.filepond--list-scroller::-webkit-scrollbar:vertical {\n width: 1em;\n}\n.filepond--list-scroller::-webkit-scrollbar:horizontal {\n height: 0;\n}\n.filepond--list-scroller::-webkit-scrollbar-thumb {\n background-color: rgba(0, 0, 0, .3);\n border-radius: 99999px;\n border: .3125em solid transparent;\n background-clip: content-box;\n}\n.filepond--list.filepond--list {\n position: absolute;\n top: 0;\n margin: 0;\n padding: 0;\n list-style-type: none;\n will-change: transform;\n}\n.filepond--list {\n left: .75em;\n right: .75em;\n}\n.filepond--root[data-style-panel-layout~=integrated] {\n width: 100%;\n height: 100%;\n max-width: none;\n margin: 0;\n}\n.filepond--root[data-style-panel-layout~=circle] .filepond--panel-root,\n.filepond--root[data-style-panel-layout~=integrated] .filepond--panel-root {\n border-radius: 0;\n}\n.filepond--root[data-style-panel-layout~=circle] .filepond--panel-root > *,\n.filepond--root[data-style-panel-layout~=integrated] .filepond--panel-root > * {\n display: none;\n}\n.filepond--root[data-style-panel-layout~=circle] .filepond--drop-label,\n.filepond--root[data-style-panel-layout~=integrated] .filepond--drop-label {\n bottom: 0;\n height: auto;\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 7;\n}\n.filepond--root[data-style-panel-layout~=circle] .filepond--item-panel,\n.filepond--root[data-style-panel-layout~=integrated] .filepond--item-panel {\n display: none;\n}\n.filepond--root[data-style-panel-layout~=compact] .filepond--list-scroller,\n.filepond--root[data-style-panel-layout~=integrated] .filepond--list-scroller {\n overflow: hidden;\n height: 100%;\n margin-top: 0;\n margin-bottom: 0;\n}\n.filepond--root[data-style-panel-layout~=compact] .filepond--list,\n.filepond--root[data-style-panel-layout~=integrated] .filepond--list {\n left: 0;\n right: 0;\n height: 100%;\n}\n.filepond--root[data-style-panel-layout~=compact] .filepond--item,\n.filepond--root[data-style-panel-layout~=integrated] .filepond--item {\n margin: 0;\n}\n.filepond--root[data-style-panel-layout~=compact] .filepond--file-wrapper,\n.filepond--root[data-style-panel-layout~=integrated] .filepond--file-wrapper {\n height: 100%;\n}\n.filepond--root[data-style-panel-layout~=compact] .filepond--drop-label,\n.filepond--root[data-style-panel-layout~=integrated] .filepond--drop-label {\n z-index: 7;\n}\n.filepond--root[data-style-panel-layout~=circle] {\n border-radius: 99999rem;\n overflow: hidden;\n}\n.filepond--root[data-style-panel-layout~=circle] > .filepond--panel {\n border-radius: inherit;\n}\n.filepond--root[data-style-panel-layout~=circle] > .filepond--panel > * {\n display: none;\n}\n.filepond--root[data-style-panel-layout~=circle] .filepond--file-info,\n.filepond--root[data-style-panel-layout~=circle] .filepond--file-status {\n display: none;\n}\n.filepond--root[data-style-panel-layout~=circle] .filepond--action-edit-item {\n opacity: 1 !important;\n visibility: visible !important;\n}\n@media not all and (min-resolution:0.001dpcm) {\n @supports (-webkit-appearance:none) and (stroke-color:transparent) {\n .filepond--root[data-style-panel-layout~=circle] {\n will-change: transform;\n }\n }\n}\n.filepond--panel-root {\n border-radius: .5em;\n background-color: #f1f0ef;\n}\n.filepond--panel {\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n margin: 0;\n height: 100% !important;\n pointer-events: none;\n}\n.filepond-panel:not([data-scalable=false]) {\n height: auto !important;\n}\n.filepond--panel[data-scalable=false] > div {\n display: none;\n}\n.filepond--panel[data-scalable=true] {\n -webkit-transform-style: preserve-3d;\n transform-style: preserve-3d;\n background-color: transparent !important;\n border: none !important;\n}\n.filepond--panel-bottom,\n.filepond--panel-center,\n.filepond--panel-top {\n position: absolute;\n left: 0;\n top: 0;\n right: 0;\n margin: 0;\n padding: 0;\n}\n.filepond--panel-bottom,\n.filepond--panel-top {\n height: .5em;\n}\n.filepond--panel-top {\n border-bottom-left-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n border-bottom: none !important;\n}\n.filepond--panel-top:after {\n content: \"\";\n position: absolute;\n height: 2px;\n left: 0;\n right: 0;\n bottom: -1px;\n background-color: inherit;\n}\n.filepond--panel-bottom,\n.filepond--panel-center {\n will-change: transform;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-transform-origin: left top;\n transform-origin: left top;\n -webkit-transform: translate3d(0, .5em, 0);\n transform: translate3d(0, .5em, 0);\n}\n.filepond--panel-bottom {\n border-top-left-radius: 0 !important;\n border-top-right-radius: 0 !important;\n border-top: none !important;\n}\n.filepond--panel-bottom:before {\n content: \"\";\n position: absolute;\n height: 2px;\n left: 0;\n right: 0;\n top: -1px;\n background-color: inherit;\n}\n.filepond--panel-center {\n height: 100px !important;\n border-top: none !important;\n border-bottom: none !important;\n border-radius: 0 !important;\n}\n.filepond--panel-center:not([style]) {\n visibility: hidden;\n}\n.filepond--progress-indicator {\n position: static;\n width: 1.25em;\n height: 1.25em;\n color: #fff;\n margin: 0;\n pointer-events: none;\n will-change: transform, opacity;\n}\n.filepond--progress-indicator svg {\n width: 100%;\n height: 100%;\n vertical-align: top;\n transform-box: fill-box;\n}\n.filepond--progress-indicator path {\n fill: none;\n stroke: currentColor;\n}\n.filepond--list-scroller {\n z-index: 6;\n}\n.filepond--drop-label {\n z-index: 5;\n}\n.filepond--drip {\n z-index: 3;\n}\n.filepond--root > .filepond--panel {\n z-index: 2;\n}\n.filepond--browser {\n z-index: 1;\n}\n.filepond--root {\n box-sizing: border-box;\n position: relative;\n margin-bottom: 1em;\n font-size: 1rem;\n line-height: normal;\n font-family:\n -apple-system,\n BlinkMacSystemFont,\n Segoe UI,\n Roboto,\n Helvetica,\n Arial,\n sans-serif,\n Apple Color Emoji,\n Segoe UI Emoji,\n Segoe UI Symbol;\n font-weight: 450;\n text-align: left;\n text-rendering: optimizeLegibility;\n direction: ltr;\n contain: layout style size;\n}\n.filepond--root * {\n box-sizing: inherit;\n line-height: inherit;\n}\n.filepond--root :not(text) {\n font-size: inherit;\n}\n.filepond--root[data-disabled] {\n pointer-events: none;\n}\n.filepond--root[data-disabled] .filepond--list-scroller {\n pointer-events: all;\n}\n.filepond--root[data-disabled] .filepond--list {\n pointer-events: none;\n}\n.filepond--root .filepond--drop-label {\n min-height: 4.75em;\n}\n.filepond--root .filepond--list-scroller {\n margin-top: 1em;\n margin-bottom: 1em;\n}\n.filepond--root .filepond--credits {\n position: absolute;\n right: 0;\n opacity: .175;\n line-height: .85;\n font-size: 11px;\n color: inherit;\n text-decoration: none;\n z-index: 3;\n bottom: -14px;\n}\n.filepond--root .filepond--credits[style] {\n top: 0;\n bottom: auto;\n margin-top: 14px;\n}\n\n/* node_modules/trix/dist/trix.css */\ntrix-editor {\n border: 1px solid #bbb;\n border-radius: 3px;\n margin: 0;\n padding: 0.4em 0.6em;\n min-height: 5em;\n outline: none;\n}\ntrix-toolbar * {\n box-sizing: border-box;\n}\ntrix-toolbar .trix-button-row {\n display: flex;\n flex-wrap: nowrap;\n justify-content: space-between;\n overflow-x: auto;\n}\ntrix-toolbar .trix-button-group {\n display: flex;\n margin-bottom: 10px;\n border: 1px solid #bbb;\n border-top-color: #ccc;\n border-bottom-color: #888;\n border-radius: 3px;\n}\ntrix-toolbar .trix-button-group:not(:first-child) {\n margin-left: 1.5vw;\n}\n@media (max-device-width: 768px) {\n trix-toolbar .trix-button-group:not(:first-child) {\n margin-left: 0;\n }\n}\ntrix-toolbar .trix-button-group-spacer {\n flex-grow: 1;\n}\n@media (max-device-width: 768px) {\n trix-toolbar .trix-button-group-spacer {\n display: none;\n }\n}\ntrix-toolbar .trix-button {\n position: relative;\n float: left;\n color: rgba(0, 0, 0, 0.6);\n font-size: 0.75em;\n font-weight: 600;\n white-space: nowrap;\n padding: 0 0.5em;\n margin: 0;\n outline: none;\n border: none;\n border-bottom: 1px solid #ddd;\n border-radius: 0;\n background: transparent;\n}\ntrix-toolbar .trix-button:not(:first-child) {\n border-left: 1px solid #ccc;\n}\ntrix-toolbar .trix-button.trix-active {\n background: #cbeefa;\n color: black;\n}\ntrix-toolbar .trix-button:not(:disabled) {\n cursor: pointer;\n}\ntrix-toolbar .trix-button:disabled {\n color: rgba(0, 0, 0, 0.125);\n}\n@media (max-device-width: 768px) {\n trix-toolbar .trix-button {\n letter-spacing: -0.01em;\n padding: 0 0.3em;\n }\n}\ntrix-toolbar .trix-button--icon {\n font-size: inherit;\n width: 2.6em;\n height: 1.6em;\n max-width: calc(0.8em + 4vw);\n text-indent: -9999px;\n}\n@media (max-device-width: 768px) {\n trix-toolbar .trix-button--icon {\n height: 2em;\n max-width: calc(0.8em + 3.5vw);\n }\n}\ntrix-toolbar .trix-button--icon::before {\n display: inline-block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n opacity: 0.6;\n content: \"\";\n background-position: center;\n background-repeat: no-repeat;\n background-size: contain;\n}\n@media (max-device-width: 768px) {\n trix-toolbar .trix-button--icon::before {\n right: 6%;\n left: 6%;\n }\n}\ntrix-toolbar .trix-button--icon.trix-active::before {\n opacity: 1;\n}\ntrix-toolbar .trix-button--icon:disabled::before {\n opacity: 0.125;\n}\ntrix-toolbar .trix-button--icon-attach::before {\n background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M16.5%206v11.5a4%204%200%201%201-8%200V5a2.5%202.5%200%200%201%205%200v10.5a1%201%200%201%201-2%200V6H10v9.5a2.5%202.5%200%200%200%205%200V5a4%204%200%201%200-8%200v12.5a5.5%205.5%200%200%200%2011%200V6h-1.5z%22%2F%3E%3C%2Fsvg%3E);\n top: 8%;\n bottom: 4%;\n}\ntrix-toolbar .trix-button--icon-bold::before {\n background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M15.6%2011.8c1-.7%201.6-1.8%201.6-2.8a4%204%200%200%200-4-4H7v14h7c2.1%200%203.7-1.7%203.7-3.8%200-1.5-.8-2.8-2.1-3.4zM10%207.5h3a1.5%201.5%200%201%201%200%203h-3v-3zm3.5%209H10v-3h3.5a1.5%201.5%200%201%201%200%203z%22%2F%3E%3C%2Fsvg%3E);\n}\ntrix-toolbar .trix-button--icon-italic::before {\n background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M10%205v3h2.2l-3.4%208H6v3h8v-3h-2.2l3.4-8H18V5h-8z%22%2F%3E%3C%2Fsvg%3E);\n}\ntrix-toolbar .trix-button--icon-link::before {\n background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M9.88%2013.7a4.3%204.3%200%200%201%200-6.07l3.37-3.37a4.26%204.26%200%200%201%206.07%200%204.3%204.3%200%200%201%200%206.06l-1.96%201.72a.91.91%200%201%201-1.3-1.3l1.97-1.71a2.46%202.46%200%200%200-3.48-3.48l-3.38%203.37a2.46%202.46%200%200%200%200%203.48.91.91%200%201%201-1.3%201.3z%22%2F%3E%3Cpath%20d%3D%22M4.25%2019.46a4.3%204.3%200%200%201%200-6.07l1.93-1.9a.91.91%200%201%201%201.3%201.3l-1.93%201.9a2.46%202.46%200%200%200%203.48%203.48l3.37-3.38c.96-.96.96-2.52%200-3.48a.91.91%200%201%201%201.3-1.3%204.3%204.3%200%200%201%200%206.07l-3.38%203.38a4.26%204.26%200%200%201-6.07%200z%22%2F%3E%3C%2Fsvg%3E);\n}\ntrix-toolbar .trix-button--icon-strike::before {\n background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M12.73%2014l.28.14c.26.15.45.3.57.44.12.14.18.3.18.5%200%20.3-.15.56-.44.75-.3.2-.76.3-1.39.3A13.52%2013.52%200%200%201%207%2014.95v3.37a10.64%2010.64%200%200%200%204.84.88c1.26%200%202.35-.19%203.28-.56.93-.37%201.64-.9%202.14-1.57s.74-1.45.74-2.32c0-.26-.02-.51-.06-.75h-5.21zm-5.5-4c-.08-.34-.12-.7-.12-1.1%200-1.29.52-2.3%201.58-3.02%201.05-.72%202.5-1.08%204.34-1.08%201.62%200%203.28.34%204.97%201l-1.3%202.93c-1.47-.6-2.73-.9-3.8-.9-.55%200-.96.08-1.2.26-.26.17-.38.38-.38.64%200%20.27.16.52.48.74.17.12.53.3%201.05.53H7.23zM3%2013h18v-2H3v2z%22%2F%3E%3C%2Fsvg%3E);\n}\ntrix-toolbar .trix-button--icon-quote::before {\n background-image: url(data:image/svg+xml,%3Csvg%20version%3D%221%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M6%2017h3l2-4V7H5v6h3zm8%200h3l2-4V7h-6v6h3z%22%2F%3E%3C%2Fsvg%3E);\n}\ntrix-toolbar .trix-button--icon-heading-1::before {\n background-image: url(data:image/svg+xml,%3Csvg%20version%3D%221%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M12%209v3H9v7H6v-7H3V9h9zM8%204h14v3h-6v12h-3V7H8V4z%22%2F%3E%3C%2Fsvg%3E);\n}\ntrix-toolbar .trix-button--icon-code::before {\n background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M18.2%2012L15%2015.2l1.4%201.4L21%2012l-4.6-4.6L15%208.8l3.2%203.2zM5.8%2012L9%208.8%207.6%207.4%203%2012l4.6%204.6L9%2015.2%205.8%2012z%22%2F%3E%3C%2Fsvg%3E);\n}\ntrix-toolbar .trix-button--icon-bullet-list::before {\n background-image: url(data:image/svg+xml,%3Csvg%20version%3D%221%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%204a2%202%200%201%200%200%204%202%202%200%200%200%200-4zm0%206a2%202%200%201%200%200%204%202%202%200%200%200%200-4zm0%206a2%202%200%201%200%200%204%202%202%200%200%200%200-4zm4%203h14v-2H8v2zm0-6h14v-2H8v2zm0-8v2h14V5H8z%22%2F%3E%3C%2Fsvg%3E);\n}\ntrix-toolbar .trix-button--icon-number-list::before {\n background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M2%2017h2v.5H3v1h1v.5H2v1h3v-4H2v1zm1-9h1V4H2v1h1v3zm-1%203h1.8L2%2013.1v.9h3v-1H3.2L5%2010.9V10H2v1zm5-6v2h14V5H7zm0%2014h14v-2H7v2zm0-6h14v-2H7v2z%22%2F%3E%3C%2Fsvg%3E);\n}\ntrix-toolbar .trix-button--icon-undo::before {\n background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M12.5%208c-2.6%200-5%201-6.9%202.6L2%207v9h9l-3.6-3.6A8%208%200%200%201%2020%2016l2.4-.8a10.5%2010.5%200%200%200-10-7.2z%22%2F%3E%3C%2Fsvg%3E);\n}\ntrix-toolbar .trix-button--icon-redo::before {\n background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M18.4%2010.6a10.5%2010.5%200%200%200-16.9%204.6L4%2016a8%208%200%200%201%2012.7-3.6L13%2016h9V7l-3.6%203.6z%22%2F%3E%3C%2Fsvg%3E);\n}\ntrix-toolbar .trix-button--icon-decrease-nesting-level::before {\n background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M3%2019h19v-2H3v2zm7-6h12v-2H10v2zm-8.3-.3l2.8%202.9L6%2014.2%204%2012l2-2-1.4-1.5L1%2012l.7.7zM3%205v2h19V5H3z%22%2F%3E%3C%2Fsvg%3E);\n}\ntrix-toolbar .trix-button--icon-increase-nesting-level::before {\n background-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M3%2019h19v-2H3v2zm7-6h12v-2H10v2zm-6.9-1L1%2014.2l1.4%201.4L6%2012l-.7-.7-2.8-2.8L1%209.9%203.1%2012zM3%205v2h19V5H3z%22%2F%3E%3C%2Fsvg%3E);\n}\ntrix-toolbar .trix-dialogs {\n position: relative;\n}\ntrix-toolbar .trix-dialog {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n font-size: 0.75em;\n padding: 15px 10px;\n background: #fff;\n box-shadow: 0 0.3em 1em #ccc;\n border-top: 2px solid #888;\n border-radius: 5px;\n z-index: 5;\n}\ntrix-toolbar .trix-input--dialog {\n font-size: inherit;\n font-weight: normal;\n padding: 0.5em 0.8em;\n margin: 0 10px 0 0;\n border-radius: 3px;\n border: 1px solid #bbb;\n background-color: #fff;\n box-shadow: none;\n outline: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n}\ntrix-toolbar .trix-input--dialog.validate:invalid {\n box-shadow: #F00 0px 0px 1.5px 1px;\n}\ntrix-toolbar .trix-button--dialog {\n font-size: inherit;\n padding: 0.5em;\n border-bottom: none;\n}\ntrix-toolbar .trix-dialog--link {\n max-width: 600px;\n}\ntrix-toolbar .trix-dialog__link-fields {\n display: flex;\n align-items: baseline;\n}\ntrix-toolbar .trix-dialog__link-fields .trix-input {\n flex: 1;\n}\ntrix-toolbar .trix-dialog__link-fields .trix-button-group {\n flex: 0 0 content;\n margin: 0;\n}\ntrix-editor [data-trix-mutable]:not(.attachment__caption-editor) {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\ntrix-editor [data-trix-mutable]::-moz-selection,\ntrix-editor [data-trix-cursor-target]::-moz-selection,\ntrix-editor [data-trix-mutable] ::-moz-selection {\n background: none;\n}\ntrix-editor [data-trix-mutable]::selection,\ntrix-editor [data-trix-cursor-target]::selection,\ntrix-editor [data-trix-mutable] ::selection {\n background: none;\n}\ntrix-editor [data-trix-mutable].attachment__caption-editor:focus::-moz-selection {\n background: highlight;\n}\ntrix-editor [data-trix-mutable].attachment__caption-editor:focus::selection {\n background: highlight;\n}\ntrix-editor [data-trix-mutable].attachment.attachment--file {\n box-shadow: 0 0 0 2px highlight;\n border-color: transparent;\n}\ntrix-editor [data-trix-mutable].attachment img {\n box-shadow: 0 0 0 2px highlight;\n}\ntrix-editor .attachment {\n position: relative;\n}\ntrix-editor .attachment:hover {\n cursor: default;\n}\ntrix-editor .attachment--preview .attachment__caption:hover {\n cursor: text;\n}\ntrix-editor .attachment__progress {\n position: absolute;\n z-index: 1;\n height: 20px;\n top: calc(50% - 10px);\n left: 5%;\n width: 90%;\n opacity: 0.9;\n transition: opacity 200ms ease-in;\n}\ntrix-editor .attachment__progress[value=\"100\"] {\n opacity: 0;\n}\ntrix-editor .attachment__caption-editor {\n display: inline-block;\n width: 100%;\n margin: 0;\n padding: 0;\n font-size: inherit;\n font-family: inherit;\n line-height: inherit;\n color: inherit;\n text-align: center;\n vertical-align: top;\n border: none;\n outline: none;\n -webkit-appearance: none;\n -moz-appearance: none;\n}\ntrix-editor .attachment__toolbar {\n position: absolute;\n z-index: 1;\n top: -0.9em;\n left: 0;\n width: 100%;\n text-align: center;\n}\ntrix-editor .trix-button-group {\n display: inline-flex;\n}\ntrix-editor .trix-button {\n position: relative;\n float: left;\n color: #666;\n white-space: nowrap;\n font-size: 80%;\n padding: 0 0.8em;\n margin: 0;\n outline: none;\n border: none;\n border-radius: 0;\n background: transparent;\n}\ntrix-editor .trix-button:not(:first-child) {\n border-left: 1px solid #ccc;\n}\ntrix-editor .trix-button.trix-active {\n background: #cbeefa;\n}\ntrix-editor .trix-button:not(:disabled) {\n cursor: pointer;\n}\ntrix-editor .trix-button--remove {\n text-indent: -9999px;\n display: inline-block;\n padding: 0;\n outline: none;\n width: 1.8em;\n height: 1.8em;\n line-height: 1.8em;\n border-radius: 50%;\n background-color: #fff;\n border: 2px solid highlight;\n box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.25);\n}\ntrix-editor .trix-button--remove::before {\n display: inline-block;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n opacity: 0.7;\n content: \"\";\n background-image: url(data:image/svg+xml,%3Csvg%20height%3D%2224%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M19%206.4L17.6%205%2012%2010.6%206.4%205%205%206.4l5.6%205.6L5%2017.6%206.4%2019l5.6-5.6%205.6%205.6%201.4-1.4-5.6-5.6z%22%2F%3E%3Cpath%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E);\n background-position: center;\n background-repeat: no-repeat;\n background-size: 90%;\n}\ntrix-editor .trix-button--remove:hover {\n border-color: #333;\n}\ntrix-editor .trix-button--remove:hover::before {\n opacity: 1;\n}\ntrix-editor .attachment__metadata-container {\n position: relative;\n}\ntrix-editor .attachment__metadata {\n position: absolute;\n left: 50%;\n top: 2em;\n transform: translate(-50%, 0);\n max-width: 90%;\n padding: 0.1em 0.6em;\n font-size: 0.8em;\n color: #fff;\n background-color: rgba(0, 0, 0, 0.7);\n border-radius: 3px;\n}\ntrix-editor .attachment__metadata .attachment__name {\n display: inline-block;\n max-width: 100%;\n vertical-align: bottom;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\ntrix-editor .attachment__metadata .attachment__size {\n margin-left: 0.2em;\n white-space: nowrap;\n}\n.trix-content {\n line-height: 1.5;\n}\n.trix-content * {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n}\n.trix-content h1 {\n font-size: 1.2em;\n line-height: 1.2;\n}\n.trix-content blockquote {\n border: 0 solid #ccc;\n border-left-width: 0.3em;\n margin-left: 0.3em;\n padding-left: 0.6em;\n}\n.trix-content [dir=rtl] blockquote,\n.trix-content blockquote[dir=rtl] {\n border-width: 0;\n border-right-width: 0.3em;\n margin-right: 0.3em;\n padding-right: 0.6em;\n}\n.trix-content li {\n margin-left: 1em;\n}\n.trix-content [dir=rtl] li {\n margin-right: 1em;\n}\n.trix-content pre {\n display: inline-block;\n width: 100%;\n vertical-align: top;\n font-family: monospace;\n font-size: 0.9em;\n padding: 0.5em;\n white-space: pre;\n background-color: #eee;\n overflow-x: auto;\n}\n.trix-content img {\n max-width: 100%;\n height: auto;\n}\n.trix-content .attachment {\n display: inline-block;\n position: relative;\n max-width: 100%;\n}\n.trix-content .attachment a {\n color: inherit;\n text-decoration: none;\n}\n.trix-content .attachment a:hover,\n.trix-content .attachment a:visited:hover {\n color: inherit;\n}\n.trix-content .attachment__caption {\n text-align: center;\n}\n.trix-content .attachment__caption .attachment__name + .attachment__size::before {\n content: \" \\b7 \";\n}\n.trix-content .attachment--preview {\n width: 100%;\n text-align: center;\n}\n.trix-content .attachment--preview .attachment__caption {\n color: #666;\n font-size: 0.9em;\n line-height: 1.2;\n}\n.trix-content .attachment--file {\n color: #333;\n line-height: 1;\n margin: 0 2px 2px 2px;\n padding: 0.4em 1em;\n border: 1px solid #bbb;\n border-radius: 5px;\n}\n.trix-content .attachment-gallery {\n display: flex;\n flex-wrap: wrap;\n position: relative;\n}\n.trix-content .attachment-gallery .attachment {\n flex: 1 0 33%;\n padding: 0 0.5em;\n max-width: 33%;\n}\n.trix-content .attachment-gallery.attachment-gallery--2 .attachment,\n.trix-content .attachment-gallery.attachment-gallery--4 .attachment {\n flex-basis: 50%;\n max-width: 50%;\n}\n\n/* packages/forms/resources/css/components/file-upload.css */\n.filepond--root {\n margin-bottom: 0;\n}\n","@import '../../../forms/dist/module.esm.css';\n\n@tailwind base;\n@tailwind components;\n@tailwind utilities;\n","/*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */\n\n/*\nDocument\n========\n*/\n\n/**\nUse a better box model (opinionated).\n*/\n\n*,\n::before,\n::after {\n\tbox-sizing: border-box;\n}\n\n/**\nUse a more readable tab size (opinionated).\n*/\n\nhtml {\n\t-moz-tab-size: 4;\n\ttab-size: 4;\n}\n\n/**\n1. Correct the line height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n*/\n\nhtml {\n\tline-height: 1.15; /* 1 */\n\t-webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/*\nSections\n========\n*/\n\n/**\nRemove the margin in all browsers.\n*/\n\nbody {\n\tmargin: 0;\n}\n\n/**\nImprove consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n*/\n\nbody {\n\tfont-family:\n\t\tsystem-ui,\n\t\t-apple-system, /* Firefox supports this but not yet `system-ui` */\n\t\t'Segoe UI',\n\t\tRoboto,\n\t\tHelvetica,\n\t\tArial,\n\t\tsans-serif,\n\t\t'Apple Color Emoji',\n\t\t'Segoe UI Emoji';\n}\n\n/*\nGrouping content\n================\n*/\n\n/**\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n*/\n\nhr {\n\theight: 0; /* 1 */\n\tcolor: inherit; /* 2 */\n}\n\n/*\nText-level semantics\n====================\n*/\n\n/**\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr[title] {\n\ttext-decoration: underline dotted;\n}\n\n/**\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n\tfont-weight: bolder;\n}\n\n/**\n1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\n2. Correct the odd 'em' font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n\tfont-family:\n\t\tui-monospace,\n\t\tSFMono-Regular,\n\t\tConsolas,\n\t\t'Liberation Mono',\n\t\tMenlo,\n\t\tmonospace; /* 1 */\n\tfont-size: 1em; /* 2 */\n}\n\n/**\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n\tfont-size: 80%;\n}\n\n/**\nPrevent 'sub' and 'sup' elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n\tfont-size: 75%;\n\tline-height: 0;\n\tposition: relative;\n\tvertical-align: baseline;\n}\n\nsub {\n\tbottom: -0.25em;\n}\n\nsup {\n\ttop: -0.5em;\n}\n\n/*\nTabular data\n============\n*/\n\n/**\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n*/\n\ntable {\n\ttext-indent: 0; /* 1 */\n\tborder-color: inherit; /* 2 */\n}\n\n/*\nForms\n=====\n*/\n\n/**\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n\tfont-family: inherit; /* 1 */\n\tfont-size: 100%; /* 1 */\n\tline-height: 1.15; /* 1 */\n\tmargin: 0; /* 2 */\n}\n\n/**\nRemove the inheritance of text transform in Edge and Firefox.\n1. Remove the inheritance of text transform in Firefox.\n*/\n\nbutton,\nselect { /* 1 */\n\ttext-transform: none;\n}\n\n/**\nCorrect the inability to style clickable types in iOS and Safari.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n\t-webkit-appearance: button;\n}\n\n/**\nRemove the inner border and padding in Firefox.\n*/\n\n::-moz-focus-inner {\n\tborder-style: none;\n\tpadding: 0;\n}\n\n/**\nRestore the focus styles unset by the previous rule.\n*/\n\n:-moz-focusring {\n\toutline: 1px dotted ButtonText;\n}\n\n/**\nRemove the additional ':invalid' styles in Firefox.\nSee: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737\n*/\n\n:-moz-ui-invalid {\n\tbox-shadow: none;\n}\n\n/**\nRemove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.\n*/\n\nlegend {\n\tpadding: 0;\n}\n\n/**\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n\tvertical-align: baseline;\n}\n\n/**\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n\theight: auto;\n}\n\n/**\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n\t-webkit-appearance: textfield; /* 1 */\n\toutline-offset: -2px; /* 2 */\n}\n\n/**\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n\t-webkit-appearance: none;\n}\n\n/**\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to 'inherit' in Safari.\n*/\n\n::-webkit-file-upload-button {\n\t-webkit-appearance: button; /* 1 */\n\tfont: inherit; /* 2 */\n}\n\n/*\nInteractive\n===========\n*/\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n\tdisplay: list-item;\n}\n","/**\n * Manually forked from SUIT CSS Base: https://github.com/suitcss/base\n * A thin layer on top of normalize.css that provides a starting point more\n * suitable for web applications.\n */\n\n/**\n * Removes the default spacing and border for appropriate elements.\n */\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nbutton {\n background-color: transparent;\n background-image: none;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nol,\nul {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/**\n * Tailwind custom reset styles\n */\n\n/**\n * 1. Use the user's configured `sans` font-family (with Tailwind's default\n * sans-serif font stack as a fallback) as a sane default.\n * 2. Use Tailwind's default \"normal\" line-height so the user isn't forced\n * to override it to ensure consistency even when using the default theme.\n */\n\nhtml {\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 1 */\n line-height: 1.5; /* 2 */\n}\n\n\n/**\n * Inherit font-family and line-height from `html` so users can set them as\n * a class directly on the `html` element.\n */\n\nbody {\n font-family: inherit;\n line-height: inherit;\n}\n\n/**\n * 1. Prevent padding and border from affecting element width.\n *\n * We used to set this in the html element and inherit from\n * the parent element for everything else. This caused issues\n * in shadow-dom-enhanced elements like
where the content\n * is wrapped by a div with box-sizing set to `content-box`.\n *\n * https://github.com/mozdevs/cssremedy/issues/4\n *\n *\n * 2. Allow adding a border to an element by just adding a border-width.\n *\n * By default, the way the browser specifies that an element should have no\n * border is by setting it's border-style to `none` in the user-agent\n * stylesheet.\n *\n * In order to easily add borders to elements by just setting the `border-width`\n * property, we change the default border-style for all elements to `solid`, and\n * use border-width to hide them instead. This way our `border` utilities only\n * need to set the `border-width` property instead of the entire `border`\n * shorthand, making our border utilities much more straightforward to compose.\n *\n * https://github.com/tailwindcss/tailwindcss/pull/116\n */\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: currentColor; /* 2 */\n}\n\n/*\n * Ensure horizontal rules are visible by default\n */\n\nhr {\n border-top-width: 1px;\n}\n\n/**\n * Undo the `border-style: none` reset that Normalize applies to images so that\n * our `border-{width}` utilities have the expected effect.\n *\n * The Normalize reset is unnecessary for us since we default the border-width\n * to 0 on all elements.\n *\n * https://github.com/tailwindcss/tailwindcss/issues/362\n */\n\nimg {\n border-style: solid;\n}\n\ntextarea {\n resize: vertical;\n}\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1;\n color: theme('colors.gray.400', #a1a1aa);\n}\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/**\n * Override legacy focus reset from Normalize with modern Firefox focus styles.\n *\n * This is actually an improvement over the new defaults in Firefox in our testing,\n * as it triggers the better focus styles even for links, which still use a dotted\n * outline in Firefox by default.\n */\n \n:-moz-focusring {\n\toutline: auto;\n}\n\ntable {\n border-collapse: collapse;\n}\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/**\n * Reset links to optimize for opt-in styling instead of\n * opt-out.\n */\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/**\n * Reset form element properties that are easy to forget to\n * style explicitly so you don't inadvertently introduce\n * styles that deviate from your design system. These styles\n * supplement a partial reset that is already applied by\n * normalize.css.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n padding: 0;\n line-height: inherit;\n color: inherit;\n}\n\n/**\n * Use the configured 'mono' font family for elements that\n * are expected to be rendered with a monospace font, falling\n * back to the system monospace stack if there is no configured\n * 'mono' font family.\n */\n\npre,\ncode,\nkbd,\nsamp {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n}\n\n/**\n * 1. Make replaced elements `display: block` by default as that's\n * the behavior you want almost all of the time. Inspired by\n * CSS Remedy, with `svg` added as well.\n *\n * https://github.com/mozdevs/cssremedy/issues/14\n * \n * 2. Add `vertical-align: middle` to align replaced elements more\n * sensibly by default when overriding `display` by adding a\n * utility like `inline`.\n *\n * This can trigger a poorly considered linting error in some\n * tools but is included by design.\n * \n * https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210\n */\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/**\n * Constrain images and videos to the parent width and preserve\n * their intrinsic aspect ratio.\n *\n * https://github.com/mozdevs/cssremedy/issues/14\n */\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/**\n * Ensure the default browser behavior of the `hidden` attribute.\n */\n\n[hidden] {\n display: none;\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/packages/admin/dist/app.js b/packages/admin/dist/app.js new file mode 100644 index 0000000000..6f85d86374 --- /dev/null +++ b/packages/admin/dist/app.js @@ -0,0 +1,270 @@ +/* + * ATTENTION: An "eval-source-map" devtool has been used. + * This devtool is neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/@alpinejs/trap/dist/module.esm.js": +/*!********************************************************!*\ + !*** ./node_modules/@alpinejs/trap/dist/module.esm.js ***! + \********************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ module_default)\n/* harmony export */ });\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __markAsModule = (target) => __defProp(target, \"__esModule\", {value: true});\nvar __commonJS = (callback, module) => () => {\n if (!module) {\n module = {exports: {}};\n callback(module.exports, module);\n }\n return module.exports;\n};\nvar __exportStar = (target, module, desc) => {\n if (module && typeof module === \"object\" || typeof module === \"function\") {\n for (let key of __getOwnPropNames(module))\n if (!__hasOwnProp.call(target, key) && key !== \"default\")\n __defProp(target, key, {get: () => module[key], enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable});\n }\n return target;\n};\nvar __toModule = (module) => {\n return __exportStar(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, \"default\", module && module.__esModule && \"default\" in module ? {get: () => module.default, enumerable: true} : {value: module, enumerable: true})), module);\n};\n\n// node_modules/tabbable/dist/index.js\nvar require_dist = __commonJS((exports) => {\n /*!\n * tabbable 5.2.1\n * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE\n */\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", {value: true});\n var candidateSelectors = [\"input\", \"select\", \"textarea\", \"a[href]\", \"button\", \"[tabindex]\", \"audio[controls]\", \"video[controls]\", '[contenteditable]:not([contenteditable=\"false\"])', \"details>summary:first-of-type\", \"details\"];\n var candidateSelector = /* @__PURE__ */ candidateSelectors.join(\",\");\n var matches = typeof Element === \"undefined\" ? function() {\n } : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n var getCandidates = function getCandidates2(el, includeContainer, filter) {\n var candidates = Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));\n if (includeContainer && matches.call(el, candidateSelector)) {\n candidates.unshift(el);\n }\n candidates = candidates.filter(filter);\n return candidates;\n };\n var isContentEditable = function isContentEditable2(node) {\n return node.contentEditable === \"true\";\n };\n var getTabindex = function getTabindex2(node) {\n var tabindexAttr = parseInt(node.getAttribute(\"tabindex\"), 10);\n if (!isNaN(tabindexAttr)) {\n return tabindexAttr;\n }\n if (isContentEditable(node)) {\n return 0;\n }\n if ((node.nodeName === \"AUDIO\" || node.nodeName === \"VIDEO\" || node.nodeName === \"DETAILS\") && node.getAttribute(\"tabindex\") === null) {\n return 0;\n }\n return node.tabIndex;\n };\n var sortOrderedTabbables = function sortOrderedTabbables2(a, b) {\n return a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex;\n };\n var isInput = function isInput2(node) {\n return node.tagName === \"INPUT\";\n };\n var isHiddenInput = function isHiddenInput2(node) {\n return isInput(node) && node.type === \"hidden\";\n };\n var isDetailsWithSummary = function isDetailsWithSummary2(node) {\n var r = node.tagName === \"DETAILS\" && Array.prototype.slice.apply(node.children).some(function(child) {\n return child.tagName === \"SUMMARY\";\n });\n return r;\n };\n var getCheckedRadio = function getCheckedRadio2(nodes, form) {\n for (var i = 0; i < nodes.length; i++) {\n if (nodes[i].checked && nodes[i].form === form) {\n return nodes[i];\n }\n }\n };\n var isTabbableRadio = function isTabbableRadio2(node) {\n if (!node.name) {\n return true;\n }\n var radioScope = node.form || node.ownerDocument;\n var queryRadios = function queryRadios2(name) {\n return radioScope.querySelectorAll('input[type=\"radio\"][name=\"' + name + '\"]');\n };\n var radioSet;\n if (typeof window !== \"undefined\" && typeof window.CSS !== \"undefined\" && typeof window.CSS.escape === \"function\") {\n radioSet = queryRadios(window.CSS.escape(node.name));\n } else {\n try {\n radioSet = queryRadios(node.name);\n } catch (err) {\n console.error(\"Looks like you have a radio button with a name attribute containing invalid CSS selector characters and need the CSS.escape polyfill: %s\", err.message);\n return false;\n }\n }\n var checked = getCheckedRadio(radioSet, node.form);\n return !checked || checked === node;\n };\n var isRadio = function isRadio2(node) {\n return isInput(node) && node.type === \"radio\";\n };\n var isNonTabbableRadio = function isNonTabbableRadio2(node) {\n return isRadio(node) && !isTabbableRadio(node);\n };\n var isHidden = function isHidden2(node, displayCheck) {\n if (getComputedStyle(node).visibility === \"hidden\") {\n return true;\n }\n var isDirectSummary = matches.call(node, \"details>summary:first-of-type\");\n var nodeUnderDetails = isDirectSummary ? node.parentElement : node;\n if (matches.call(nodeUnderDetails, \"details:not([open]) *\")) {\n return true;\n }\n if (!displayCheck || displayCheck === \"full\") {\n while (node) {\n if (getComputedStyle(node).display === \"none\") {\n return true;\n }\n node = node.parentElement;\n }\n } else if (displayCheck === \"non-zero-area\") {\n var _node$getBoundingClie = node.getBoundingClientRect(), width = _node$getBoundingClie.width, height = _node$getBoundingClie.height;\n return width === 0 && height === 0;\n }\n return false;\n };\n var isDisabledFromFieldset = function isDisabledFromFieldset2(node) {\n if (isInput(node) || node.tagName === \"SELECT\" || node.tagName === \"TEXTAREA\" || node.tagName === \"BUTTON\") {\n var parentNode = node.parentElement;\n while (parentNode) {\n if (parentNode.tagName === \"FIELDSET\" && parentNode.disabled) {\n for (var i = 0; i < parentNode.children.length; i++) {\n var child = parentNode.children.item(i);\n if (child.tagName === \"LEGEND\") {\n if (child.contains(node)) {\n return false;\n }\n return true;\n }\n }\n return true;\n }\n parentNode = parentNode.parentElement;\n }\n }\n return false;\n };\n var isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable2(options, node) {\n if (node.disabled || isHiddenInput(node) || isHidden(node, options.displayCheck) || isDetailsWithSummary(node) || isDisabledFromFieldset(node)) {\n return false;\n }\n return true;\n };\n var isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable2(options, node) {\n if (!isNodeMatchingSelectorFocusable(options, node) || isNonTabbableRadio(node) || getTabindex(node) < 0) {\n return false;\n }\n return true;\n };\n var tabbable = function tabbable2(el, options) {\n options = options || {};\n var regularTabbables = [];\n var orderedTabbables = [];\n var candidates = getCandidates(el, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options));\n candidates.forEach(function(candidate, i) {\n var candidateTabindex = getTabindex(candidate);\n if (candidateTabindex === 0) {\n regularTabbables.push(candidate);\n } else {\n orderedTabbables.push({\n documentOrder: i,\n tabIndex: candidateTabindex,\n node: candidate\n });\n }\n });\n var tabbableNodes = orderedTabbables.sort(sortOrderedTabbables).map(function(a) {\n return a.node;\n }).concat(regularTabbables);\n return tabbableNodes;\n };\n var focusable = function focusable2(el, options) {\n options = options || {};\n var candidates = getCandidates(el, options.includeContainer, isNodeMatchingSelectorFocusable.bind(null, options));\n return candidates;\n };\n var isTabbable = function isTabbable2(node, options) {\n options = options || {};\n if (!node) {\n throw new Error(\"No node provided\");\n }\n if (matches.call(node, candidateSelector) === false) {\n return false;\n }\n return isNodeMatchingSelectorTabbable(options, node);\n };\n var focusableCandidateSelector = /* @__PURE__ */ candidateSelectors.concat(\"iframe\").join(\",\");\n var isFocusable = function isFocusable2(node, options) {\n options = options || {};\n if (!node) {\n throw new Error(\"No node provided\");\n }\n if (matches.call(node, focusableCandidateSelector) === false) {\n return false;\n }\n return isNodeMatchingSelectorFocusable(options, node);\n };\n exports.focusable = focusable;\n exports.isFocusable = isFocusable;\n exports.isTabbable = isTabbable;\n exports.tabbable = tabbable;\n});\n\n// node_modules/focus-trap/dist/focus-trap.js\nvar require_focus_trap = __commonJS((exports) => {\n /*!\n * focus-trap 6.6.1\n * @license MIT, https://github.com/focus-trap/focus-trap/blob/master/LICENSE\n */\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", {value: true});\n var tabbable = require_dist();\n function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n }\n function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function(key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n return target;\n }\n function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n }\n var activeFocusTraps = function() {\n var trapQueue = [];\n return {\n activateTrap: function activateTrap(trap) {\n if (trapQueue.length > 0) {\n var activeTrap = trapQueue[trapQueue.length - 1];\n if (activeTrap !== trap) {\n activeTrap.pause();\n }\n }\n var trapIndex = trapQueue.indexOf(trap);\n if (trapIndex === -1) {\n trapQueue.push(trap);\n } else {\n trapQueue.splice(trapIndex, 1);\n trapQueue.push(trap);\n }\n },\n deactivateTrap: function deactivateTrap(trap) {\n var trapIndex = trapQueue.indexOf(trap);\n if (trapIndex !== -1) {\n trapQueue.splice(trapIndex, 1);\n }\n if (trapQueue.length > 0) {\n trapQueue[trapQueue.length - 1].unpause();\n }\n }\n };\n }();\n var isSelectableInput = function isSelectableInput2(node) {\n return node.tagName && node.tagName.toLowerCase() === \"input\" && typeof node.select === \"function\";\n };\n var isEscapeEvent = function isEscapeEvent2(e) {\n return e.key === \"Escape\" || e.key === \"Esc\" || e.keyCode === 27;\n };\n var isTabEvent = function isTabEvent2(e) {\n return e.key === \"Tab\" || e.keyCode === 9;\n };\n var delay = function delay2(fn) {\n return setTimeout(fn, 0);\n };\n var findIndex = function findIndex2(arr, fn) {\n var idx = -1;\n arr.every(function(value, i) {\n if (fn(value)) {\n idx = i;\n return false;\n }\n return true;\n });\n return idx;\n };\n var valueOrHandler = function valueOrHandler2(value) {\n for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n params[_key - 1] = arguments[_key];\n }\n return typeof value === \"function\" ? value.apply(void 0, params) : value;\n };\n var createFocusTrap2 = function createFocusTrap3(elements, userOptions) {\n var doc = document;\n var config = _objectSpread2({\n returnFocusOnDeactivate: true,\n escapeDeactivates: true,\n delayInitialFocus: true\n }, userOptions);\n var state = {\n containers: [],\n tabbableGroups: [],\n nodeFocusedBeforeActivation: null,\n mostRecentlyFocusedNode: null,\n active: false,\n paused: false,\n delayInitialFocusTimer: void 0\n };\n var trap;\n var getOption = function getOption2(configOverrideOptions, optionName, configOptionName) {\n return configOverrideOptions && configOverrideOptions[optionName] !== void 0 ? configOverrideOptions[optionName] : config[configOptionName || optionName];\n };\n var containersContain = function containersContain2(element) {\n return state.containers.some(function(container) {\n return container.contains(element);\n });\n };\n var getNodeForOption = function getNodeForOption2(optionName) {\n var optionValue = config[optionName];\n if (!optionValue) {\n return null;\n }\n var node = optionValue;\n if (typeof optionValue === \"string\") {\n node = doc.querySelector(optionValue);\n if (!node) {\n throw new Error(\"`\".concat(optionName, \"` refers to no known node\"));\n }\n }\n if (typeof optionValue === \"function\") {\n node = optionValue();\n if (!node) {\n throw new Error(\"`\".concat(optionName, \"` did not return a node\"));\n }\n }\n return node;\n };\n var getInitialFocusNode = function getInitialFocusNode2() {\n var node;\n if (getOption({}, \"initialFocus\") === false) {\n return false;\n }\n if (getNodeForOption(\"initialFocus\") !== null) {\n node = getNodeForOption(\"initialFocus\");\n } else if (containersContain(doc.activeElement)) {\n node = doc.activeElement;\n } else {\n var firstTabbableGroup = state.tabbableGroups[0];\n var firstTabbableNode = firstTabbableGroup && firstTabbableGroup.firstTabbableNode;\n node = firstTabbableNode || getNodeForOption(\"fallbackFocus\");\n }\n if (!node) {\n throw new Error(\"Your focus-trap needs to have at least one focusable element\");\n }\n return node;\n };\n var updateTabbableNodes = function updateTabbableNodes2() {\n state.tabbableGroups = state.containers.map(function(container) {\n var tabbableNodes = tabbable.tabbable(container);\n if (tabbableNodes.length > 0) {\n return {\n container,\n firstTabbableNode: tabbableNodes[0],\n lastTabbableNode: tabbableNodes[tabbableNodes.length - 1]\n };\n }\n return void 0;\n }).filter(function(group) {\n return !!group;\n });\n if (state.tabbableGroups.length <= 0 && !getNodeForOption(\"fallbackFocus\")) {\n throw new Error(\"Your focus-trap must have at least one container with at least one tabbable node in it at all times\");\n }\n };\n var tryFocus = function tryFocus2(node) {\n if (node === false) {\n return;\n }\n if (node === doc.activeElement) {\n return;\n }\n if (!node || !node.focus) {\n tryFocus2(getInitialFocusNode());\n return;\n }\n node.focus({\n preventScroll: !!config.preventScroll\n });\n state.mostRecentlyFocusedNode = node;\n if (isSelectableInput(node)) {\n node.select();\n }\n };\n var getReturnFocusNode = function getReturnFocusNode2(previousActiveElement) {\n var node = getNodeForOption(\"setReturnFocus\");\n return node ? node : previousActiveElement;\n };\n var checkPointerDown = function checkPointerDown2(e) {\n if (containersContain(e.target)) {\n return;\n }\n if (valueOrHandler(config.clickOutsideDeactivates, e)) {\n trap.deactivate({\n returnFocus: config.returnFocusOnDeactivate && !tabbable.isFocusable(e.target)\n });\n return;\n }\n if (valueOrHandler(config.allowOutsideClick, e)) {\n return;\n }\n e.preventDefault();\n };\n var checkFocusIn = function checkFocusIn2(e) {\n var targetContained = containersContain(e.target);\n if (targetContained || e.target instanceof Document) {\n if (targetContained) {\n state.mostRecentlyFocusedNode = e.target;\n }\n } else {\n e.stopImmediatePropagation();\n tryFocus(state.mostRecentlyFocusedNode || getInitialFocusNode());\n }\n };\n var checkTab = function checkTab2(e) {\n updateTabbableNodes();\n var destinationNode = null;\n if (state.tabbableGroups.length > 0) {\n var containerIndex = findIndex(state.tabbableGroups, function(_ref) {\n var container = _ref.container;\n return container.contains(e.target);\n });\n if (containerIndex < 0) {\n if (e.shiftKey) {\n destinationNode = state.tabbableGroups[state.tabbableGroups.length - 1].lastTabbableNode;\n } else {\n destinationNode = state.tabbableGroups[0].firstTabbableNode;\n }\n } else if (e.shiftKey) {\n var startOfGroupIndex = findIndex(state.tabbableGroups, function(_ref2) {\n var firstTabbableNode = _ref2.firstTabbableNode;\n return e.target === firstTabbableNode;\n });\n if (startOfGroupIndex < 0 && state.tabbableGroups[containerIndex].container === e.target) {\n startOfGroupIndex = containerIndex;\n }\n if (startOfGroupIndex >= 0) {\n var destinationGroupIndex = startOfGroupIndex === 0 ? state.tabbableGroups.length - 1 : startOfGroupIndex - 1;\n var destinationGroup = state.tabbableGroups[destinationGroupIndex];\n destinationNode = destinationGroup.lastTabbableNode;\n }\n } else {\n var lastOfGroupIndex = findIndex(state.tabbableGroups, function(_ref3) {\n var lastTabbableNode = _ref3.lastTabbableNode;\n return e.target === lastTabbableNode;\n });\n if (lastOfGroupIndex < 0 && state.tabbableGroups[containerIndex].container === e.target) {\n lastOfGroupIndex = containerIndex;\n }\n if (lastOfGroupIndex >= 0) {\n var _destinationGroupIndex = lastOfGroupIndex === state.tabbableGroups.length - 1 ? 0 : lastOfGroupIndex + 1;\n var _destinationGroup = state.tabbableGroups[_destinationGroupIndex];\n destinationNode = _destinationGroup.firstTabbableNode;\n }\n }\n } else {\n destinationNode = getNodeForOption(\"fallbackFocus\");\n }\n if (destinationNode) {\n e.preventDefault();\n tryFocus(destinationNode);\n }\n };\n var checkKey = function checkKey2(e) {\n if (isEscapeEvent(e) && valueOrHandler(config.escapeDeactivates) !== false) {\n e.preventDefault();\n trap.deactivate();\n return;\n }\n if (isTabEvent(e)) {\n checkTab(e);\n return;\n }\n };\n var checkClick = function checkClick2(e) {\n if (valueOrHandler(config.clickOutsideDeactivates, e)) {\n return;\n }\n if (containersContain(e.target)) {\n return;\n }\n if (valueOrHandler(config.allowOutsideClick, e)) {\n return;\n }\n e.preventDefault();\n e.stopImmediatePropagation();\n };\n var addListeners = function addListeners2() {\n if (!state.active) {\n return;\n }\n activeFocusTraps.activateTrap(trap);\n state.delayInitialFocusTimer = config.delayInitialFocus ? delay(function() {\n tryFocus(getInitialFocusNode());\n }) : tryFocus(getInitialFocusNode());\n doc.addEventListener(\"focusin\", checkFocusIn, true);\n doc.addEventListener(\"mousedown\", checkPointerDown, {\n capture: true,\n passive: false\n });\n doc.addEventListener(\"touchstart\", checkPointerDown, {\n capture: true,\n passive: false\n });\n doc.addEventListener(\"click\", checkClick, {\n capture: true,\n passive: false\n });\n doc.addEventListener(\"keydown\", checkKey, {\n capture: true,\n passive: false\n });\n return trap;\n };\n var removeListeners = function removeListeners2() {\n if (!state.active) {\n return;\n }\n doc.removeEventListener(\"focusin\", checkFocusIn, true);\n doc.removeEventListener(\"mousedown\", checkPointerDown, true);\n doc.removeEventListener(\"touchstart\", checkPointerDown, true);\n doc.removeEventListener(\"click\", checkClick, true);\n doc.removeEventListener(\"keydown\", checkKey, true);\n return trap;\n };\n trap = {\n activate: function activate(activateOptions) {\n if (state.active) {\n return this;\n }\n var onActivate = getOption(activateOptions, \"onActivate\");\n var onPostActivate = getOption(activateOptions, \"onPostActivate\");\n var checkCanFocusTrap = getOption(activateOptions, \"checkCanFocusTrap\");\n if (!checkCanFocusTrap) {\n updateTabbableNodes();\n }\n state.active = true;\n state.paused = false;\n state.nodeFocusedBeforeActivation = doc.activeElement;\n if (onActivate) {\n onActivate();\n }\n var finishActivation = function finishActivation2() {\n if (checkCanFocusTrap) {\n updateTabbableNodes();\n }\n addListeners();\n if (onPostActivate) {\n onPostActivate();\n }\n };\n if (checkCanFocusTrap) {\n checkCanFocusTrap(state.containers.concat()).then(finishActivation, finishActivation);\n return this;\n }\n finishActivation();\n return this;\n },\n deactivate: function deactivate(deactivateOptions) {\n if (!state.active) {\n return this;\n }\n clearTimeout(state.delayInitialFocusTimer);\n state.delayInitialFocusTimer = void 0;\n removeListeners();\n state.active = false;\n state.paused = false;\n activeFocusTraps.deactivateTrap(trap);\n var onDeactivate = getOption(deactivateOptions, \"onDeactivate\");\n var onPostDeactivate = getOption(deactivateOptions, \"onPostDeactivate\");\n var checkCanReturnFocus = getOption(deactivateOptions, \"checkCanReturnFocus\");\n if (onDeactivate) {\n onDeactivate();\n }\n var returnFocus = getOption(deactivateOptions, \"returnFocus\", \"returnFocusOnDeactivate\");\n var finishDeactivation = function finishDeactivation2() {\n delay(function() {\n if (returnFocus) {\n tryFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation));\n }\n if (onPostDeactivate) {\n onPostDeactivate();\n }\n });\n };\n if (returnFocus && checkCanReturnFocus) {\n checkCanReturnFocus(getReturnFocusNode(state.nodeFocusedBeforeActivation)).then(finishDeactivation, finishDeactivation);\n return this;\n }\n finishDeactivation();\n return this;\n },\n pause: function pause() {\n if (state.paused || !state.active) {\n return this;\n }\n state.paused = true;\n removeListeners();\n return this;\n },\n unpause: function unpause() {\n if (!state.paused || !state.active) {\n return this;\n }\n state.paused = false;\n updateTabbableNodes();\n addListeners();\n return this;\n },\n updateContainerElements: function updateContainerElements(containerElements) {\n var elementsAsArray = [].concat(containerElements).filter(Boolean);\n state.containers = elementsAsArray.map(function(element) {\n return typeof element === \"string\" ? doc.querySelector(element) : element;\n });\n if (state.active) {\n updateTabbableNodes();\n }\n return this;\n }\n };\n trap.updateContainerElements(elements);\n return trap;\n };\n exports.createFocusTrap = createFocusTrap2;\n});\n\n// packages/trap/src/index.js\nvar import_focus_trap = __toModule(require_focus_trap());\nfunction src_default(Alpine) {\n Alpine.directive(\"trap\", (el, {expression, modifiers}, {effect, evaluateLater}) => {\n let evaluator = evaluateLater(expression);\n let oldValue = false;\n let trap = (0, import_focus_trap.createFocusTrap)(el, {\n escapeDeactivates: false,\n allowOutsideClick: true,\n fallbackFocus: () => el\n });\n let undoInert = () => {\n };\n let undoDisableScrolling = () => {\n };\n effect(() => evaluator((value) => {\n if (oldValue === value)\n return;\n if (value && !oldValue) {\n setTimeout(() => {\n if (modifiers.includes(\"inert\"))\n undoInert = setInert(el);\n if (modifiers.includes(\"noscroll\"))\n undoDisableScrolling = disableScrolling();\n trap.activate();\n });\n }\n if (!value && oldValue) {\n undoInert();\n undoInert = () => {\n };\n undoDisableScrolling();\n undoDisableScrolling = () => {\n };\n trap.deactivate();\n }\n oldValue = !!value;\n }));\n });\n}\nfunction setInert(el) {\n let undos = [];\n crawlSiblingsUp(el, (sibling) => {\n let cache = sibling.hasAttribute(\"aria-hidden\");\n sibling.setAttribute(\"aria-hidden\", \"true\");\n undos.push(() => cache || sibling.removeAttribute(\"aria-hidden\"));\n });\n return () => {\n while (undos.length)\n undos.pop()();\n };\n}\nfunction crawlSiblingsUp(el, callback) {\n if (el.isSameNode(document.body) || !el.parentNode)\n return;\n Array.from(el.parentNode.children).forEach((sibling) => {\n if (!sibling.isSameNode(el))\n callback(sibling);\n crawlSiblingsUp(el.parentNode, callback);\n });\n}\nfunction disableScrolling() {\n let overflow = document.documentElement.style.overflow;\n let paddingRight = document.documentElement.style.paddingRight;\n let scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n document.documentElement.style.overflow = \"hidden\";\n document.documentElement.style.paddingRight = `${scrollbarWidth}px`;\n return () => {\n document.documentElement.style.overflow = overflow;\n document.documentElement.style.paddingRight = paddingRight;\n };\n}\n\n// packages/trap/builds/module.js\nvar module_default = src_default;\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGFscGluZWpzL3RyYXAvZGlzdC9tb2R1bGUuZXNtLmpzLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrRUFBa0UsWUFBWTtBQUM5RTtBQUNBO0FBQ0EsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnQ0FBZ0MsK0ZBQStGO0FBQy9IO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUdBQW1HLG1FQUFtRSw2Q0FBNkMsR0FBRyxnQ0FBZ0M7QUFDdFA7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxnREFBZ0QsWUFBWTtBQUM1RDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQixrQkFBa0I7QUFDdEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMEJBQTBCLGdDQUFnQztBQUMxRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdEQUFnRCxZQUFZO0FBQzVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0JBQW9CLHNCQUFzQjtBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVM7QUFDVCxRQUFRO0FBQ1I7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBLFNBQVM7QUFDVDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVTtBQUNWO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLDZGQUE2RixhQUFhO0FBQzFHO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0I7QUFDdEI7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRO0FBQ1I7QUFDQSxRQUFRO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUTtBQUNSO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0EsWUFBWTtBQUNaO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUMsc0JBQXNCLEdBQUcsc0JBQXNCO0FBQ2hGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUztBQUNUO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtREFBbUQsZUFBZTtBQUNsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFHRSIsInNvdXJjZXMiOlsid2VicGFjazovL2ZpbGFtZW50Ly4vbm9kZV9tb2R1bGVzL0BhbHBpbmVqcy90cmFwL2Rpc3QvbW9kdWxlLmVzbS5qcz80MDg2Il0sInNvdXJjZXNDb250ZW50IjpbInZhciBfX2NyZWF0ZSA9IE9iamVjdC5jcmVhdGU7XG52YXIgX19kZWZQcm9wID0gT2JqZWN0LmRlZmluZVByb3BlcnR5O1xudmFyIF9fZ2V0UHJvdG9PZiA9IE9iamVjdC5nZXRQcm90b3R5cGVPZjtcbnZhciBfX2hhc093blByb3AgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xudmFyIF9fZ2V0T3duUHJvcE5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM7XG52YXIgX19nZXRPd25Qcm9wRGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG52YXIgX19tYXJrQXNNb2R1bGUgPSAodGFyZ2V0KSA9PiBfX2RlZlByb3AodGFyZ2V0LCBcIl9fZXNNb2R1bGVcIiwge3ZhbHVlOiB0cnVlfSk7XG52YXIgX19jb21tb25KUyA9IChjYWxsYmFjaywgbW9kdWxlKSA9PiAoKSA9PiB7XG4gIGlmICghbW9kdWxlKSB7XG4gICAgbW9kdWxlID0ge2V4cG9ydHM6IHt9fTtcbiAgICBjYWxsYmFjayhtb2R1bGUuZXhwb3J0cywgbW9kdWxlKTtcbiAgfVxuICByZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG59O1xudmFyIF9fZXhwb3J0U3RhciA9ICh0YXJnZXQsIG1vZHVsZSwgZGVzYykgPT4ge1xuICBpZiAobW9kdWxlICYmIHR5cGVvZiBtb2R1bGUgPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIG1vZHVsZSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgZm9yIChsZXQga2V5IG9mIF9fZ2V0T3duUHJvcE5hbWVzKG1vZHVsZSkpXG4gICAgICBpZiAoIV9faGFzT3duUHJvcC5jYWxsKHRhcmdldCwga2V5KSAmJiBrZXkgIT09IFwiZGVmYXVsdFwiKVxuICAgICAgICBfX2RlZlByb3AodGFyZ2V0LCBrZXksIHtnZXQ6ICgpID0+IG1vZHVsZVtrZXldLCBlbnVtZXJhYmxlOiAhKGRlc2MgPSBfX2dldE93blByb3BEZXNjKG1vZHVsZSwga2V5KSkgfHwgZGVzYy5lbnVtZXJhYmxlfSk7XG4gIH1cbiAgcmV0dXJuIHRhcmdldDtcbn07XG52YXIgX190b01vZHVsZSA9IChtb2R1bGUpID0+IHtcbiAgcmV0dXJuIF9fZXhwb3J0U3RhcihfX21hcmtBc01vZHVsZShfX2RlZlByb3AobW9kdWxlICE9IG51bGwgPyBfX2NyZWF0ZShfX2dldFByb3RvT2YobW9kdWxlKSkgOiB7fSwgXCJkZWZhdWx0XCIsIG1vZHVsZSAmJiBtb2R1bGUuX19lc01vZHVsZSAmJiBcImRlZmF1bHRcIiBpbiBtb2R1bGUgPyB7Z2V0OiAoKSA9PiBtb2R1bGUuZGVmYXVsdCwgZW51bWVyYWJsZTogdHJ1ZX0gOiB7dmFsdWU6IG1vZHVsZSwgZW51bWVyYWJsZTogdHJ1ZX0pKSwgbW9kdWxlKTtcbn07XG5cbi8vIG5vZGVfbW9kdWxlcy90YWJiYWJsZS9kaXN0L2luZGV4LmpzXG52YXIgcmVxdWlyZV9kaXN0ID0gX19jb21tb25KUygoZXhwb3J0cykgPT4ge1xuICAvKiFcbiAgKiB0YWJiYWJsZSA1LjIuMVxuICAqIEBsaWNlbnNlIE1JVCwgaHR0cHM6Ly9naXRodWIuY29tL2ZvY3VzLXRyYXAvdGFiYmFibGUvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICAqL1xuICBcInVzZSBzdHJpY3RcIjtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7dmFsdWU6IHRydWV9KTtcbiAgdmFyIGNhbmRpZGF0ZVNlbGVjdG9ycyA9IFtcImlucHV0XCIsIFwic2VsZWN0XCIsIFwidGV4dGFyZWFcIiwgXCJhW2hyZWZdXCIsIFwiYnV0dG9uXCIsIFwiW3RhYmluZGV4XVwiLCBcImF1ZGlvW2NvbnRyb2xzXVwiLCBcInZpZGVvW2NvbnRyb2xzXVwiLCAnW2NvbnRlbnRlZGl0YWJsZV06bm90KFtjb250ZW50ZWRpdGFibGU9XCJmYWxzZVwiXSknLCBcImRldGFpbHM+c3VtbWFyeTpmaXJzdC1vZi10eXBlXCIsIFwiZGV0YWlsc1wiXTtcbiAgdmFyIGNhbmRpZGF0ZVNlbGVjdG9yID0gLyogQF9fUFVSRV9fICovIGNhbmRpZGF0ZVNlbGVjdG9ycy5qb2luKFwiLFwiKTtcbiAgdmFyIG1hdGNoZXMgPSB0eXBlb2YgRWxlbWVudCA9PT0gXCJ1bmRlZmluZWRcIiA/IGZ1bmN0aW9uKCkge1xuICB9IDogRWxlbWVudC5wcm90b3R5cGUubWF0Y2hlcyB8fCBFbGVtZW50LnByb3RvdHlwZS5tc01hdGNoZXNTZWxlY3RvciB8fCBFbGVtZW50LnByb3RvdHlwZS53ZWJraXRNYXRjaGVzU2VsZWN0b3I7XG4gIHZhciBnZXRDYW5kaWRhdGVzID0gZnVuY3Rpb24gZ2V0Q2FuZGlkYXRlczIoZWwsIGluY2x1ZGVDb250YWluZXIsIGZpbHRlcikge1xuICAgIHZhciBjYW5kaWRhdGVzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmFwcGx5KGVsLnF1ZXJ5U2VsZWN0b3JBbGwoY2FuZGlkYXRlU2VsZWN0b3IpKTtcbiAgICBpZiAoaW5jbHVkZUNvbnRhaW5lciAmJiBtYXRjaGVzLmNhbGwoZWwsIGNhbmRpZGF0ZVNlbGVjdG9yKSkge1xuICAgICAgY2FuZGlkYXRlcy51bnNoaWZ0KGVsKTtcbiAgICB9XG4gICAgY2FuZGlkYXRlcyA9IGNhbmRpZGF0ZXMuZmlsdGVyKGZpbHRlcik7XG4gICAgcmV0dXJuIGNhbmRpZGF0ZXM7XG4gIH07XG4gIHZhciBpc0NvbnRlbnRFZGl0YWJsZSA9IGZ1bmN0aW9uIGlzQ29udGVudEVkaXRhYmxlMihub2RlKSB7XG4gICAgcmV0dXJuIG5vZGUuY29udGVudEVkaXRhYmxlID09PSBcInRydWVcIjtcbiAgfTtcbiAgdmFyIGdldFRhYmluZGV4ID0gZnVuY3Rpb24gZ2V0VGFiaW5kZXgyKG5vZGUpIHtcbiAgICB2YXIgdGFiaW5kZXhBdHRyID0gcGFyc2VJbnQobm9kZS5nZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiKSwgMTApO1xuICAgIGlmICghaXNOYU4odGFiaW5kZXhBdHRyKSkge1xuICAgICAgcmV0dXJuIHRhYmluZGV4QXR0cjtcbiAgICB9XG4gICAgaWYgKGlzQ29udGVudEVkaXRhYmxlKG5vZGUpKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgaWYgKChub2RlLm5vZGVOYW1lID09PSBcIkFVRElPXCIgfHwgbm9kZS5ub2RlTmFtZSA9PT0gXCJWSURFT1wiIHx8IG5vZGUubm9kZU5hbWUgPT09IFwiREVUQUlMU1wiKSAmJiBub2RlLmdldEF0dHJpYnV0ZShcInRhYmluZGV4XCIpID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIG5vZGUudGFiSW5kZXg7XG4gIH07XG4gIHZhciBzb3J0T3JkZXJlZFRhYmJhYmxlcyA9IGZ1bmN0aW9uIHNvcnRPcmRlcmVkVGFiYmFibGVzMihhLCBiKSB7XG4gICAgcmV0dXJuIGEudGFiSW5kZXggPT09IGIudGFiSW5kZXggPyBhLmRvY3VtZW50T3JkZXIgLSBiLmRvY3VtZW50T3JkZXIgOiBhLnRhYkluZGV4IC0gYi50YWJJbmRleDtcbiAgfTtcbiAgdmFyIGlzSW5wdXQgPSBmdW5jdGlvbiBpc0lucHV0Mihub2RlKSB7XG4gICAgcmV0dXJuIG5vZGUudGFnTmFtZSA9PT0gXCJJTlBVVFwiO1xuICB9O1xuICB2YXIgaXNIaWRkZW5JbnB1dCA9IGZ1bmN0aW9uIGlzSGlkZGVuSW5wdXQyKG5vZGUpIHtcbiAgICByZXR1cm4gaXNJbnB1dChub2RlKSAmJiBub2RlLnR5cGUgPT09IFwiaGlkZGVuXCI7XG4gIH07XG4gIHZhciBpc0RldGFpbHNXaXRoU3VtbWFyeSA9IGZ1bmN0aW9uIGlzRGV0YWlsc1dpdGhTdW1tYXJ5Mihub2RlKSB7XG4gICAgdmFyIHIgPSBub2RlLnRhZ05hbWUgPT09IFwiREVUQUlMU1wiICYmIEFycmF5LnByb3RvdHlwZS5zbGljZS5hcHBseShub2RlLmNoaWxkcmVuKS5zb21lKGZ1bmN0aW9uKGNoaWxkKSB7XG4gICAgICByZXR1cm4gY2hpbGQudGFnTmFtZSA9PT0gXCJTVU1NQVJZXCI7XG4gICAgfSk7XG4gICAgcmV0dXJuIHI7XG4gIH07XG4gIHZhciBnZXRDaGVja2VkUmFkaW8gPSBmdW5jdGlvbiBnZXRDaGVja2VkUmFkaW8yKG5vZGVzLCBmb3JtKSB7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBub2Rlcy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKG5vZGVzW2ldLmNoZWNrZWQgJiYgbm9kZXNbaV0uZm9ybSA9PT0gZm9ybSkge1xuICAgICAgICByZXR1cm4gbm9kZXNbaV07XG4gICAgICB9XG4gICAgfVxuICB9O1xuICB2YXIgaXNUYWJiYWJsZVJhZGlvID0gZnVuY3Rpb24gaXNUYWJiYWJsZVJhZGlvMihub2RlKSB7XG4gICAgaWYgKCFub2RlLm5hbWUpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICB2YXIgcmFkaW9TY29wZSA9IG5vZGUuZm9ybSB8fCBub2RlLm93bmVyRG9jdW1lbnQ7XG4gICAgdmFyIHF1ZXJ5UmFkaW9zID0gZnVuY3Rpb24gcXVlcnlSYWRpb3MyKG5hbWUpIHtcbiAgICAgIHJldHVybiByYWRpb1Njb3BlLnF1ZXJ5U2VsZWN0b3JBbGwoJ2lucHV0W3R5cGU9XCJyYWRpb1wiXVtuYW1lPVwiJyArIG5hbWUgKyAnXCJdJyk7XG4gICAgfTtcbiAgICB2YXIgcmFkaW9TZXQ7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgdHlwZW9mIHdpbmRvdy5DU1MgIT09IFwidW5kZWZpbmVkXCIgJiYgdHlwZW9mIHdpbmRvdy5DU1MuZXNjYXBlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIHJhZGlvU2V0ID0gcXVlcnlSYWRpb3Mod2luZG93LkNTUy5lc2NhcGUobm9kZS5uYW1lKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJhZGlvU2V0ID0gcXVlcnlSYWRpb3Mobm9kZS5uYW1lKTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiTG9va3MgbGlrZSB5b3UgaGF2ZSBhIHJhZGlvIGJ1dHRvbiB3aXRoIGEgbmFtZSBhdHRyaWJ1dGUgY29udGFpbmluZyBpbnZhbGlkIENTUyBzZWxlY3RvciBjaGFyYWN0ZXJzIGFuZCBuZWVkIHRoZSBDU1MuZXNjYXBlIHBvbHlmaWxsOiAlc1wiLCBlcnIubWVzc2FnZSk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgdmFyIGNoZWNrZWQgPSBnZXRDaGVja2VkUmFkaW8ocmFkaW9TZXQsIG5vZGUuZm9ybSk7XG4gICAgcmV0dXJuICFjaGVja2VkIHx8IGNoZWNrZWQgPT09IG5vZGU7XG4gIH07XG4gIHZhciBpc1JhZGlvID0gZnVuY3Rpb24gaXNSYWRpbzIobm9kZSkge1xuICAgIHJldHVybiBpc0lucHV0KG5vZGUpICYmIG5vZGUudHlwZSA9PT0gXCJyYWRpb1wiO1xuICB9O1xuICB2YXIgaXNOb25UYWJiYWJsZVJhZGlvID0gZnVuY3Rpb24gaXNOb25UYWJiYWJsZVJhZGlvMihub2RlKSB7XG4gICAgcmV0dXJuIGlzUmFkaW8obm9kZSkgJiYgIWlzVGFiYmFibGVSYWRpbyhub2RlKTtcbiAgfTtcbiAgdmFyIGlzSGlkZGVuID0gZnVuY3Rpb24gaXNIaWRkZW4yKG5vZGUsIGRpc3BsYXlDaGVjaykge1xuICAgIGlmIChnZXRDb21wdXRlZFN0eWxlKG5vZGUpLnZpc2liaWxpdHkgPT09IFwiaGlkZGVuXCIpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICB2YXIgaXNEaXJlY3RTdW1tYXJ5ID0gbWF0Y2hlcy5jYWxsKG5vZGUsIFwiZGV0YWlscz5zdW1tYXJ5OmZpcnN0LW9mLXR5cGVcIik7XG4gICAgdmFyIG5vZGVVbmRlckRldGFpbHMgPSBpc0RpcmVjdFN1bW1hcnkgPyBub2RlLnBhcmVudEVsZW1lbnQgOiBub2RlO1xuICAgIGlmIChtYXRjaGVzLmNhbGwobm9kZVVuZGVyRGV0YWlscywgXCJkZXRhaWxzOm5vdChbb3Blbl0pICpcIikpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoIWRpc3BsYXlDaGVjayB8fCBkaXNwbGF5Q2hlY2sgPT09IFwiZnVsbFwiKSB7XG4gICAgICB3aGlsZSAobm9kZSkge1xuICAgICAgICBpZiAoZ2V0Q29tcHV0ZWRTdHlsZShub2RlKS5kaXNwbGF5ID09PSBcIm5vbmVcIikge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIG5vZGUgPSBub2RlLnBhcmVudEVsZW1lbnQ7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChkaXNwbGF5Q2hlY2sgPT09IFwibm9uLXplcm8tYXJlYVwiKSB7XG4gICAgICB2YXIgX25vZGUkZ2V0Qm91bmRpbmdDbGllID0gbm9kZS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSwgd2lkdGggPSBfbm9kZSRnZXRCb3VuZGluZ0NsaWUud2lkdGgsIGhlaWdodCA9IF9ub2RlJGdldEJvdW5kaW5nQ2xpZS5oZWlnaHQ7XG4gICAgICByZXR1cm4gd2lkdGggPT09IDAgJiYgaGVpZ2h0ID09PSAwO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG4gIHZhciBpc0Rpc2FibGVkRnJvbUZpZWxkc2V0ID0gZnVuY3Rpb24gaXNEaXNhYmxlZEZyb21GaWVsZHNldDIobm9kZSkge1xuICAgIGlmIChpc0lucHV0KG5vZGUpIHx8IG5vZGUudGFnTmFtZSA9PT0gXCJTRUxFQ1RcIiB8fCBub2RlLnRhZ05hbWUgPT09IFwiVEVYVEFSRUFcIiB8fCBub2RlLnRhZ05hbWUgPT09IFwiQlVUVE9OXCIpIHtcbiAgICAgIHZhciBwYXJlbnROb2RlID0gbm9kZS5wYXJlbnRFbGVtZW50O1xuICAgICAgd2hpbGUgKHBhcmVudE5vZGUpIHtcbiAgICAgICAgaWYgKHBhcmVudE5vZGUudGFnTmFtZSA9PT0gXCJGSUVMRFNFVFwiICYmIHBhcmVudE5vZGUuZGlzYWJsZWQpIHtcbiAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHBhcmVudE5vZGUuY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHZhciBjaGlsZCA9IHBhcmVudE5vZGUuY2hpbGRyZW4uaXRlbShpKTtcbiAgICAgICAgICAgIGlmIChjaGlsZC50YWdOYW1lID09PSBcIkxFR0VORFwiKSB7XG4gICAgICAgICAgICAgIGlmIChjaGlsZC5jb250YWlucyhub2RlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcGFyZW50Tm9kZSA9IHBhcmVudE5vZGUucGFyZW50RWxlbWVudDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xuICB2YXIgaXNOb2RlTWF0Y2hpbmdTZWxlY3RvckZvY3VzYWJsZSA9IGZ1bmN0aW9uIGlzTm9kZU1hdGNoaW5nU2VsZWN0b3JGb2N1c2FibGUyKG9wdGlvbnMsIG5vZGUpIHtcbiAgICBpZiAobm9kZS5kaXNhYmxlZCB8fCBpc0hpZGRlbklucHV0KG5vZGUpIHx8IGlzSGlkZGVuKG5vZGUsIG9wdGlvbnMuZGlzcGxheUNoZWNrKSB8fCBpc0RldGFpbHNXaXRoU3VtbWFyeShub2RlKSB8fCBpc0Rpc2FibGVkRnJvbUZpZWxkc2V0KG5vZGUpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9O1xuICB2YXIgaXNOb2RlTWF0Y2hpbmdTZWxlY3RvclRhYmJhYmxlID0gZnVuY3Rpb24gaXNOb2RlTWF0Y2hpbmdTZWxlY3RvclRhYmJhYmxlMihvcHRpb25zLCBub2RlKSB7XG4gICAgaWYgKCFpc05vZGVNYXRjaGluZ1NlbGVjdG9yRm9jdXNhYmxlKG9wdGlvbnMsIG5vZGUpIHx8IGlzTm9uVGFiYmFibGVSYWRpbyhub2RlKSB8fCBnZXRUYWJpbmRleChub2RlKSA8IDApIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG4gIHZhciB0YWJiYWJsZSA9IGZ1bmN0aW9uIHRhYmJhYmxlMihlbCwgb3B0aW9ucykge1xuICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgIHZhciByZWd1bGFyVGFiYmFibGVzID0gW107XG4gICAgdmFyIG9yZGVyZWRUYWJiYWJsZXMgPSBbXTtcbiAgICB2YXIgY2FuZGlkYXRlcyA9IGdldENhbmRpZGF0ZXMoZWwsIG9wdGlvbnMuaW5jbHVkZUNvbnRhaW5lciwgaXNOb2RlTWF0Y2hpbmdTZWxlY3RvclRhYmJhYmxlLmJpbmQobnVsbCwgb3B0aW9ucykpO1xuICAgIGNhbmRpZGF0ZXMuZm9yRWFjaChmdW5jdGlvbihjYW5kaWRhdGUsIGkpIHtcbiAgICAgIHZhciBjYW5kaWRhdGVUYWJpbmRleCA9IGdldFRhYmluZGV4KGNhbmRpZGF0ZSk7XG4gICAgICBpZiAoY2FuZGlkYXRlVGFiaW5kZXggPT09IDApIHtcbiAgICAgICAgcmVndWxhclRhYmJhYmxlcy5wdXNoKGNhbmRpZGF0ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvcmRlcmVkVGFiYmFibGVzLnB1c2goe1xuICAgICAgICAgIGRvY3VtZW50T3JkZXI6IGksXG4gICAgICAgICAgdGFiSW5kZXg6IGNhbmRpZGF0ZVRhYmluZGV4LFxuICAgICAgICAgIG5vZGU6IGNhbmRpZGF0ZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB2YXIgdGFiYmFibGVOb2RlcyA9IG9yZGVyZWRUYWJiYWJsZXMuc29ydChzb3J0T3JkZXJlZFRhYmJhYmxlcykubWFwKGZ1bmN0aW9uKGEpIHtcbiAgICAgIHJldHVybiBhLm5vZGU7XG4gICAgfSkuY29uY2F0KHJlZ3VsYXJUYWJiYWJsZXMpO1xuICAgIHJldHVybiB0YWJiYWJsZU5vZGVzO1xuICB9O1xuICB2YXIgZm9jdXNhYmxlID0gZnVuY3Rpb24gZm9jdXNhYmxlMihlbCwgb3B0aW9ucykge1xuICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgIHZhciBjYW5kaWRhdGVzID0gZ2V0Q2FuZGlkYXRlcyhlbCwgb3B0aW9ucy5pbmNsdWRlQ29udGFpbmVyLCBpc05vZGVNYXRjaGluZ1NlbGVjdG9yRm9jdXNhYmxlLmJpbmQobnVsbCwgb3B0aW9ucykpO1xuICAgIHJldHVybiBjYW5kaWRhdGVzO1xuICB9O1xuICB2YXIgaXNUYWJiYWJsZSA9IGZ1bmN0aW9uIGlzVGFiYmFibGUyKG5vZGUsIG9wdGlvbnMpIHtcbiAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICBpZiAoIW5vZGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vIG5vZGUgcHJvdmlkZWRcIik7XG4gICAgfVxuICAgIGlmIChtYXRjaGVzLmNhbGwobm9kZSwgY2FuZGlkYXRlU2VsZWN0b3IpID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gaXNOb2RlTWF0Y2hpbmdTZWxlY3RvclRhYmJhYmxlKG9wdGlvbnMsIG5vZGUpO1xuICB9O1xuICB2YXIgZm9jdXNhYmxlQ2FuZGlkYXRlU2VsZWN0b3IgPSAvKiBAX19QVVJFX18gKi8gY2FuZGlkYXRlU2VsZWN0b3JzLmNvbmNhdChcImlmcmFtZVwiKS5qb2luKFwiLFwiKTtcbiAgdmFyIGlzRm9jdXNhYmxlID0gZnVuY3Rpb24gaXNGb2N1c2FibGUyKG5vZGUsIG9wdGlvbnMpIHtcbiAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICBpZiAoIW5vZGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vIG5vZGUgcHJvdmlkZWRcIik7XG4gICAgfVxuICAgIGlmIChtYXRjaGVzLmNhbGwobm9kZSwgZm9jdXNhYmxlQ2FuZGlkYXRlU2VsZWN0b3IpID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gaXNOb2RlTWF0Y2hpbmdTZWxlY3RvckZvY3VzYWJsZShvcHRpb25zLCBub2RlKTtcbiAgfTtcbiAgZXhwb3J0cy5mb2N1c2FibGUgPSBmb2N1c2FibGU7XG4gIGV4cG9ydHMuaXNGb2N1c2FibGUgPSBpc0ZvY3VzYWJsZTtcbiAgZXhwb3J0cy5pc1RhYmJhYmxlID0gaXNUYWJiYWJsZTtcbiAgZXhwb3J0cy50YWJiYWJsZSA9IHRhYmJhYmxlO1xufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9mb2N1cy10cmFwL2Rpc3QvZm9jdXMtdHJhcC5qc1xudmFyIHJlcXVpcmVfZm9jdXNfdHJhcCA9IF9fY29tbW9uSlMoKGV4cG9ydHMpID0+IHtcbiAgLyohXG4gICogZm9jdXMtdHJhcCA2LjYuMVxuICAqIEBsaWNlbnNlIE1JVCwgaHR0cHM6Ly9naXRodWIuY29tL2ZvY3VzLXRyYXAvZm9jdXMtdHJhcC9ibG9iL21hc3Rlci9MSUNFTlNFXG4gICovXG4gIFwidXNlIHN0cmljdFwiO1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHt2YWx1ZTogdHJ1ZX0pO1xuICB2YXIgdGFiYmFibGUgPSByZXF1aXJlX2Rpc3QoKTtcbiAgZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7XG4gICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpO1xuICAgIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgICB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTtcbiAgICAgIGlmIChlbnVtZXJhYmxlT25seSkge1xuICAgICAgICBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24oc3ltKSB7XG4gICAgICAgICAgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAga2V5cy5wdXNoLmFwcGx5KGtleXMsIHN5bWJvbHMpO1xuICAgIH1cbiAgICByZXR1cm4ga2V5cztcbiAgfVxuICBmdW5jdGlvbiBfb2JqZWN0U3ByZWFkMih0YXJnZXQpIHtcbiAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHNvdXJjZSA9IGFyZ3VtZW50c1tpXSAhPSBudWxsID8gYXJndW1lbnRzW2ldIDoge307XG4gICAgICBpZiAoaSAlIDIpIHtcbiAgICAgICAgb3duS2V5cyhPYmplY3Qoc291cmNlKSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbihrZXkpIHtcbiAgICAgICAgICBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTtcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvd25LZXlzKE9iamVjdChzb3VyY2UpKS5mb3JFYWNoKGZ1bmN0aW9uKGtleSkge1xuICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIGtleSkpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRhcmdldDtcbiAgfVxuICBmdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7XG4gICAgaWYgKGtleSBpbiBvYmopIHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwge1xuICAgICAgICB2YWx1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICB3cml0YWJsZTogdHJ1ZVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG9ialtrZXldID0gdmFsdWU7XG4gICAgfVxuICAgIHJldHVybiBvYmo7XG4gIH1cbiAgdmFyIGFjdGl2ZUZvY3VzVHJhcHMgPSBmdW5jdGlvbigpIHtcbiAgICB2YXIgdHJhcFF1ZXVlID0gW107XG4gICAgcmV0dXJuIHtcbiAgICAgIGFjdGl2YXRlVHJhcDogZnVuY3Rpb24gYWN0aXZhdGVUcmFwKHRyYXApIHtcbiAgICAgICAgaWYgKHRyYXBRdWV1ZS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdmFyIGFjdGl2ZVRyYXAgPSB0cmFwUXVldWVbdHJhcFF1ZXVlLmxlbmd0aCAtIDFdO1xuICAgICAgICAgIGlmIChhY3RpdmVUcmFwICE9PSB0cmFwKSB7XG4gICAgICAgICAgICBhY3RpdmVUcmFwLnBhdXNlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHZhciB0cmFwSW5kZXggPSB0cmFwUXVldWUuaW5kZXhPZih0cmFwKTtcbiAgICAgICAgaWYgKHRyYXBJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgICB0cmFwUXVldWUucHVzaCh0cmFwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0cmFwUXVldWUuc3BsaWNlKHRyYXBJbmRleCwgMSk7XG4gICAgICAgICAgdHJhcFF1ZXVlLnB1c2godHJhcCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBkZWFjdGl2YXRlVHJhcDogZnVuY3Rpb24gZGVhY3RpdmF0ZVRyYXAodHJhcCkge1xuICAgICAgICB2YXIgdHJhcEluZGV4ID0gdHJhcFF1ZXVlLmluZGV4T2YodHJhcCk7XG4gICAgICAgIGlmICh0cmFwSW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgdHJhcFF1ZXVlLnNwbGljZSh0cmFwSW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0cmFwUXVldWUubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHRyYXBRdWV1ZVt0cmFwUXVldWUubGVuZ3RoIC0gMV0udW5wYXVzZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfSgpO1xuICB2YXIgaXNTZWxlY3RhYmxlSW5wdXQgPSBmdW5jdGlvbiBpc1NlbGVjdGFibGVJbnB1dDIobm9kZSkge1xuICAgIHJldHVybiBub2RlLnRhZ05hbWUgJiYgbm9kZS50YWdOYW1lLnRvTG93ZXJDYXNlKCkgPT09IFwiaW5wdXRcIiAmJiB0eXBlb2Ygbm9kZS5zZWxlY3QgPT09IFwiZnVuY3Rpb25cIjtcbiAgfTtcbiAgdmFyIGlzRXNjYXBlRXZlbnQgPSBmdW5jdGlvbiBpc0VzY2FwZUV2ZW50MihlKSB7XG4gICAgcmV0dXJuIGUua2V5ID09PSBcIkVzY2FwZVwiIHx8IGUua2V5ID09PSBcIkVzY1wiIHx8IGUua2V5Q29kZSA9PT0gMjc7XG4gIH07XG4gIHZhciBpc1RhYkV2ZW50ID0gZnVuY3Rpb24gaXNUYWJFdmVudDIoZSkge1xuICAgIHJldHVybiBlLmtleSA9PT0gXCJUYWJcIiB8fCBlLmtleUNvZGUgPT09IDk7XG4gIH07XG4gIHZhciBkZWxheSA9IGZ1bmN0aW9uIGRlbGF5Mihmbikge1xuICAgIHJldHVybiBzZXRUaW1lb3V0KGZuLCAwKTtcbiAgfTtcbiAgdmFyIGZpbmRJbmRleCA9IGZ1bmN0aW9uIGZpbmRJbmRleDIoYXJyLCBmbikge1xuICAgIHZhciBpZHggPSAtMTtcbiAgICBhcnIuZXZlcnkoZnVuY3Rpb24odmFsdWUsIGkpIHtcbiAgICAgIGlmIChmbih2YWx1ZSkpIHtcbiAgICAgICAgaWR4ID0gaTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSk7XG4gICAgcmV0dXJuIGlkeDtcbiAgfTtcbiAgdmFyIHZhbHVlT3JIYW5kbGVyID0gZnVuY3Rpb24gdmFsdWVPckhhbmRsZXIyKHZhbHVlKSB7XG4gICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIHBhcmFtcyA9IG5ldyBBcnJheShfbGVuID4gMSA/IF9sZW4gLSAxIDogMCksIF9rZXkgPSAxOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgICBwYXJhbXNbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xuICAgIH1cbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSBcImZ1bmN0aW9uXCIgPyB2YWx1ZS5hcHBseSh2b2lkIDAsIHBhcmFtcykgOiB2YWx1ZTtcbiAgfTtcbiAgdmFyIGNyZWF0ZUZvY3VzVHJhcDIgPSBmdW5jdGlvbiBjcmVhdGVGb2N1c1RyYXAzKGVsZW1lbnRzLCB1c2VyT3B0aW9ucykge1xuICAgIHZhciBkb2MgPSBkb2N1bWVudDtcbiAgICB2YXIgY29uZmlnID0gX29iamVjdFNwcmVhZDIoe1xuICAgICAgcmV0dXJuRm9jdXNPbkRlYWN0aXZhdGU6IHRydWUsXG4gICAgICBlc2NhcGVEZWFjdGl2YXRlczogdHJ1ZSxcbiAgICAgIGRlbGF5SW5pdGlhbEZvY3VzOiB0cnVlXG4gICAgfSwgdXNlck9wdGlvbnMpO1xuICAgIHZhciBzdGF0ZSA9IHtcbiAgICAgIGNvbnRhaW5lcnM6IFtdLFxuICAgICAgdGFiYmFibGVHcm91cHM6IFtdLFxuICAgICAgbm9kZUZvY3VzZWRCZWZvcmVBY3RpdmF0aW9uOiBudWxsLFxuICAgICAgbW9zdFJlY2VudGx5Rm9jdXNlZE5vZGU6IG51bGwsXG4gICAgICBhY3RpdmU6IGZhbHNlLFxuICAgICAgcGF1c2VkOiBmYWxzZSxcbiAgICAgIGRlbGF5SW5pdGlhbEZvY3VzVGltZXI6IHZvaWQgMFxuICAgIH07XG4gICAgdmFyIHRyYXA7XG4gICAgdmFyIGdldE9wdGlvbiA9IGZ1bmN0aW9uIGdldE9wdGlvbjIoY29uZmlnT3ZlcnJpZGVPcHRpb25zLCBvcHRpb25OYW1lLCBjb25maWdPcHRpb25OYW1lKSB7XG4gICAgICByZXR1cm4gY29uZmlnT3ZlcnJpZGVPcHRpb25zICYmIGNvbmZpZ092ZXJyaWRlT3B0aW9uc1tvcHRpb25OYW1lXSAhPT0gdm9pZCAwID8gY29uZmlnT3ZlcnJpZGVPcHRpb25zW29wdGlvbk5hbWVdIDogY29uZmlnW2NvbmZpZ09wdGlvbk5hbWUgfHwgb3B0aW9uTmFtZV07XG4gICAgfTtcbiAgICB2YXIgY29udGFpbmVyc0NvbnRhaW4gPSBmdW5jdGlvbiBjb250YWluZXJzQ29udGFpbjIoZWxlbWVudCkge1xuICAgICAgcmV0dXJuIHN0YXRlLmNvbnRhaW5lcnMuc29tZShmdW5jdGlvbihjb250YWluZXIpIHtcbiAgICAgICAgcmV0dXJuIGNvbnRhaW5lci5jb250YWlucyhlbGVtZW50KTtcbiAgICAgIH0pO1xuICAgIH07XG4gICAgdmFyIGdldE5vZGVGb3JPcHRpb24gPSBmdW5jdGlvbiBnZXROb2RlRm9yT3B0aW9uMihvcHRpb25OYW1lKSB7XG4gICAgICB2YXIgb3B0aW9uVmFsdWUgPSBjb25maWdbb3B0aW9uTmFtZV07XG4gICAgICBpZiAoIW9wdGlvblZhbHVlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgdmFyIG5vZGUgPSBvcHRpb25WYWx1ZTtcbiAgICAgIGlmICh0eXBlb2Ygb3B0aW9uVmFsdWUgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgbm9kZSA9IGRvYy5xdWVyeVNlbGVjdG9yKG9wdGlvblZhbHVlKTtcbiAgICAgICAgaWYgKCFub2RlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiYFwiLmNvbmNhdChvcHRpb25OYW1lLCBcImAgcmVmZXJzIHRvIG5vIGtub3duIG5vZGVcIikpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIG9wdGlvblZhbHVlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgbm9kZSA9IG9wdGlvblZhbHVlKCk7XG4gICAgICAgIGlmICghbm9kZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImBcIi5jb25jYXQob3B0aW9uTmFtZSwgXCJgIGRpZCBub3QgcmV0dXJuIGEgbm9kZVwiKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBub2RlO1xuICAgIH07XG4gICAgdmFyIGdldEluaXRpYWxGb2N1c05vZGUgPSBmdW5jdGlvbiBnZXRJbml0aWFsRm9jdXNOb2RlMigpIHtcbiAgICAgIHZhciBub2RlO1xuICAgICAgaWYgKGdldE9wdGlvbih7fSwgXCJpbml0aWFsRm9jdXNcIikgPT09IGZhbHNlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmIChnZXROb2RlRm9yT3B0aW9uKFwiaW5pdGlhbEZvY3VzXCIpICE9PSBudWxsKSB7XG4gICAgICAgIG5vZGUgPSBnZXROb2RlRm9yT3B0aW9uKFwiaW5pdGlhbEZvY3VzXCIpO1xuICAgICAgfSBlbHNlIGlmIChjb250YWluZXJzQ29udGFpbihkb2MuYWN0aXZlRWxlbWVudCkpIHtcbiAgICAgICAgbm9kZSA9IGRvYy5hY3RpdmVFbGVtZW50O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIGZpcnN0VGFiYmFibGVHcm91cCA9IHN0YXRlLnRhYmJhYmxlR3JvdXBzWzBdO1xuICAgICAgICB2YXIgZmlyc3RUYWJiYWJsZU5vZGUgPSBmaXJzdFRhYmJhYmxlR3JvdXAgJiYgZmlyc3RUYWJiYWJsZUdyb3VwLmZpcnN0VGFiYmFibGVOb2RlO1xuICAgICAgICBub2RlID0gZmlyc3RUYWJiYWJsZU5vZGUgfHwgZ2V0Tm9kZUZvck9wdGlvbihcImZhbGxiYWNrRm9jdXNcIik7XG4gICAgICB9XG4gICAgICBpZiAoIW5vZGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiWW91ciBmb2N1cy10cmFwIG5lZWRzIHRvIGhhdmUgYXQgbGVhc3Qgb25lIGZvY3VzYWJsZSBlbGVtZW50XCIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfTtcbiAgICB2YXIgdXBkYXRlVGFiYmFibGVOb2RlcyA9IGZ1bmN0aW9uIHVwZGF0ZVRhYmJhYmxlTm9kZXMyKCkge1xuICAgICAgc3RhdGUudGFiYmFibGVHcm91cHMgPSBzdGF0ZS5jb250YWluZXJzLm1hcChmdW5jdGlvbihjb250YWluZXIpIHtcbiAgICAgICAgdmFyIHRhYmJhYmxlTm9kZXMgPSB0YWJiYWJsZS50YWJiYWJsZShjb250YWluZXIpO1xuICAgICAgICBpZiAodGFiYmFibGVOb2Rlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbnRhaW5lcixcbiAgICAgICAgICAgIGZpcnN0VGFiYmFibGVOb2RlOiB0YWJiYWJsZU5vZGVzWzBdLFxuICAgICAgICAgICAgbGFzdFRhYmJhYmxlTm9kZTogdGFiYmFibGVOb2Rlc1t0YWJiYWJsZU5vZGVzLmxlbmd0aCAtIDFdXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdm9pZCAwO1xuICAgICAgfSkuZmlsdGVyKGZ1bmN0aW9uKGdyb3VwKSB7XG4gICAgICAgIHJldHVybiAhIWdyb3VwO1xuICAgICAgfSk7XG4gICAgICBpZiAoc3RhdGUudGFiYmFibGVHcm91cHMubGVuZ3RoIDw9IDAgJiYgIWdldE5vZGVGb3JPcHRpb24oXCJmYWxsYmFja0ZvY3VzXCIpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIllvdXIgZm9jdXMtdHJhcCBtdXN0IGhhdmUgYXQgbGVhc3Qgb25lIGNvbnRhaW5lciB3aXRoIGF0IGxlYXN0IG9uZSB0YWJiYWJsZSBub2RlIGluIGl0IGF0IGFsbCB0aW1lc1wiKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHZhciB0cnlGb2N1cyA9IGZ1bmN0aW9uIHRyeUZvY3VzMihub2RlKSB7XG4gICAgICBpZiAobm9kZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKG5vZGUgPT09IGRvYy5hY3RpdmVFbGVtZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmICghbm9kZSB8fCAhbm9kZS5mb2N1cykge1xuICAgICAgICB0cnlGb2N1czIoZ2V0SW5pdGlhbEZvY3VzTm9kZSgpKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgbm9kZS5mb2N1cyh7XG4gICAgICAgIHByZXZlbnRTY3JvbGw6ICEhY29uZmlnLnByZXZlbnRTY3JvbGxcbiAgICAgIH0pO1xuICAgICAgc3RhdGUubW9zdFJlY2VudGx5Rm9jdXNlZE5vZGUgPSBub2RlO1xuICAgICAgaWYgKGlzU2VsZWN0YWJsZUlucHV0KG5vZGUpKSB7XG4gICAgICAgIG5vZGUuc2VsZWN0KCk7XG4gICAgICB9XG4gICAgfTtcbiAgICB2YXIgZ2V0UmV0dXJuRm9jdXNOb2RlID0gZnVuY3Rpb24gZ2V0UmV0dXJuRm9jdXNOb2RlMihwcmV2aW91c0FjdGl2ZUVsZW1lbnQpIHtcbiAgICAgIHZhciBub2RlID0gZ2V0Tm9kZUZvck9wdGlvbihcInNldFJldHVybkZvY3VzXCIpO1xuICAgICAgcmV0dXJuIG5vZGUgPyBub2RlIDogcHJldmlvdXNBY3RpdmVFbGVtZW50O1xuICAgIH07XG4gICAgdmFyIGNoZWNrUG9pbnRlckRvd24gPSBmdW5jdGlvbiBjaGVja1BvaW50ZXJEb3duMihlKSB7XG4gICAgICBpZiAoY29udGFpbmVyc0NvbnRhaW4oZS50YXJnZXQpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmICh2YWx1ZU9ySGFuZGxlcihjb25maWcuY2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXMsIGUpKSB7XG4gICAgICAgIHRyYXAuZGVhY3RpdmF0ZSh7XG4gICAgICAgICAgcmV0dXJuRm9jdXM6IGNvbmZpZy5yZXR1cm5Gb2N1c09uRGVhY3RpdmF0ZSAmJiAhdGFiYmFibGUuaXNGb2N1c2FibGUoZS50YXJnZXQpXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAodmFsdWVPckhhbmRsZXIoY29uZmlnLmFsbG93T3V0c2lkZUNsaWNrLCBlKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgfTtcbiAgICB2YXIgY2hlY2tGb2N1c0luID0gZnVuY3Rpb24gY2hlY2tGb2N1c0luMihlKSB7XG4gICAgICB2YXIgdGFyZ2V0Q29udGFpbmVkID0gY29udGFpbmVyc0NvbnRhaW4oZS50YXJnZXQpO1xuICAgICAgaWYgKHRhcmdldENvbnRhaW5lZCB8fCBlLnRhcmdldCBpbnN0YW5jZW9mIERvY3VtZW50KSB7XG4gICAgICAgIGlmICh0YXJnZXRDb250YWluZWQpIHtcbiAgICAgICAgICBzdGF0ZS5tb3N0UmVjZW50bHlGb2N1c2VkTm9kZSA9IGUudGFyZ2V0O1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICB0cnlGb2N1cyhzdGF0ZS5tb3N0UmVjZW50bHlGb2N1c2VkTm9kZSB8fCBnZXRJbml0aWFsRm9jdXNOb2RlKCkpO1xuICAgICAgfVxuICAgIH07XG4gICAgdmFyIGNoZWNrVGFiID0gZnVuY3Rpb24gY2hlY2tUYWIyKGUpIHtcbiAgICAgIHVwZGF0ZVRhYmJhYmxlTm9kZXMoKTtcbiAgICAgIHZhciBkZXN0aW5hdGlvbk5vZGUgPSBudWxsO1xuICAgICAgaWYgKHN0YXRlLnRhYmJhYmxlR3JvdXBzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdmFyIGNvbnRhaW5lckluZGV4ID0gZmluZEluZGV4KHN0YXRlLnRhYmJhYmxlR3JvdXBzLCBmdW5jdGlvbihfcmVmKSB7XG4gICAgICAgICAgdmFyIGNvbnRhaW5lciA9IF9yZWYuY29udGFpbmVyO1xuICAgICAgICAgIHJldHVybiBjb250YWluZXIuY29udGFpbnMoZS50YXJnZXQpO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGNvbnRhaW5lckluZGV4IDwgMCkge1xuICAgICAgICAgIGlmIChlLnNoaWZ0S2V5KSB7XG4gICAgICAgICAgICBkZXN0aW5hdGlvbk5vZGUgPSBzdGF0ZS50YWJiYWJsZUdyb3Vwc1tzdGF0ZS50YWJiYWJsZUdyb3Vwcy5sZW5ndGggLSAxXS5sYXN0VGFiYmFibGVOb2RlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkZXN0aW5hdGlvbk5vZGUgPSBzdGF0ZS50YWJiYWJsZUdyb3Vwc1swXS5maXJzdFRhYmJhYmxlTm9kZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoZS5zaGlmdEtleSkge1xuICAgICAgICAgIHZhciBzdGFydE9mR3JvdXBJbmRleCA9IGZpbmRJbmRleChzdGF0ZS50YWJiYWJsZUdyb3VwcywgZnVuY3Rpb24oX3JlZjIpIHtcbiAgICAgICAgICAgIHZhciBmaXJzdFRhYmJhYmxlTm9kZSA9IF9yZWYyLmZpcnN0VGFiYmFibGVOb2RlO1xuICAgICAgICAgICAgcmV0dXJuIGUudGFyZ2V0ID09PSBmaXJzdFRhYmJhYmxlTm9kZTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBpZiAoc3RhcnRPZkdyb3VwSW5kZXggPCAwICYmIHN0YXRlLnRhYmJhYmxlR3JvdXBzW2NvbnRhaW5lckluZGV4XS5jb250YWluZXIgPT09IGUudGFyZ2V0KSB7XG4gICAgICAgICAgICBzdGFydE9mR3JvdXBJbmRleCA9IGNvbnRhaW5lckluZGV4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoc3RhcnRPZkdyb3VwSW5kZXggPj0gMCkge1xuICAgICAgICAgICAgdmFyIGRlc3RpbmF0aW9uR3JvdXBJbmRleCA9IHN0YXJ0T2ZHcm91cEluZGV4ID09PSAwID8gc3RhdGUudGFiYmFibGVHcm91cHMubGVuZ3RoIC0gMSA6IHN0YXJ0T2ZHcm91cEluZGV4IC0gMTtcbiAgICAgICAgICAgIHZhciBkZXN0aW5hdGlvbkdyb3VwID0gc3RhdGUudGFiYmFibGVHcm91cHNbZGVzdGluYXRpb25Hcm91cEluZGV4XTtcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uTm9kZSA9IGRlc3RpbmF0aW9uR3JvdXAubGFzdFRhYmJhYmxlTm9kZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFyIGxhc3RPZkdyb3VwSW5kZXggPSBmaW5kSW5kZXgoc3RhdGUudGFiYmFibGVHcm91cHMsIGZ1bmN0aW9uKF9yZWYzKSB7XG4gICAgICAgICAgICB2YXIgbGFzdFRhYmJhYmxlTm9kZSA9IF9yZWYzLmxhc3RUYWJiYWJsZU5vZGU7XG4gICAgICAgICAgICByZXR1cm4gZS50YXJnZXQgPT09IGxhc3RUYWJiYWJsZU5vZGU7XG4gICAgICAgICAgfSk7XG4gICAgICAgICAgaWYgKGxhc3RPZkdyb3VwSW5kZXggPCAwICYmIHN0YXRlLnRhYmJhYmxlR3JvdXBzW2NvbnRhaW5lckluZGV4XS5jb250YWluZXIgPT09IGUudGFyZ2V0KSB7XG4gICAgICAgICAgICBsYXN0T2ZHcm91cEluZGV4ID0gY29udGFpbmVySW5kZXg7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChsYXN0T2ZHcm91cEluZGV4ID49IDApIHtcbiAgICAgICAgICAgIHZhciBfZGVzdGluYXRpb25Hcm91cEluZGV4ID0gbGFzdE9mR3JvdXBJbmRleCA9PT0gc3RhdGUudGFiYmFibGVHcm91cHMubGVuZ3RoIC0gMSA/IDAgOiBsYXN0T2ZHcm91cEluZGV4ICsgMTtcbiAgICAgICAgICAgIHZhciBfZGVzdGluYXRpb25Hcm91cCA9IHN0YXRlLnRhYmJhYmxlR3JvdXBzW19kZXN0aW5hdGlvbkdyb3VwSW5kZXhdO1xuICAgICAgICAgICAgZGVzdGluYXRpb25Ob2RlID0gX2Rlc3RpbmF0aW9uR3JvdXAuZmlyc3RUYWJiYWJsZU5vZGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkZXN0aW5hdGlvbk5vZGUgPSBnZXROb2RlRm9yT3B0aW9uKFwiZmFsbGJhY2tGb2N1c1wiKTtcbiAgICAgIH1cbiAgICAgIGlmIChkZXN0aW5hdGlvbk5vZGUpIHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0cnlGb2N1cyhkZXN0aW5hdGlvbk5vZGUpO1xuICAgICAgfVxuICAgIH07XG4gICAgdmFyIGNoZWNrS2V5ID0gZnVuY3Rpb24gY2hlY2tLZXkyKGUpIHtcbiAgICAgIGlmIChpc0VzY2FwZUV2ZW50KGUpICYmIHZhbHVlT3JIYW5kbGVyKGNvbmZpZy5lc2NhcGVEZWFjdGl2YXRlcykgIT09IGZhbHNlKSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdHJhcC5kZWFjdGl2YXRlKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChpc1RhYkV2ZW50KGUpKSB7XG4gICAgICAgIGNoZWNrVGFiKGUpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfTtcbiAgICB2YXIgY2hlY2tDbGljayA9IGZ1bmN0aW9uIGNoZWNrQ2xpY2syKGUpIHtcbiAgICAgIGlmICh2YWx1ZU9ySGFuZGxlcihjb25maWcuY2xpY2tPdXRzaWRlRGVhY3RpdmF0ZXMsIGUpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChjb250YWluZXJzQ29udGFpbihlLnRhcmdldCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKHZhbHVlT3JIYW5kbGVyKGNvbmZpZy5hbGxvd091dHNpZGVDbGljaywgZSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcbiAgICB9O1xuICAgIHZhciBhZGRMaXN0ZW5lcnMgPSBmdW5jdGlvbiBhZGRMaXN0ZW5lcnMyKCkge1xuICAgICAgaWYgKCFzdGF0ZS5hY3RpdmUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgYWN0aXZlRm9jdXNUcmFwcy5hY3RpdmF0ZVRyYXAodHJhcCk7XG4gICAgICBzdGF0ZS5kZWxheUluaXRpYWxGb2N1c1RpbWVyID0gY29uZmlnLmRlbGF5SW5pdGlhbEZvY3VzID8gZGVsYXkoZnVuY3Rpb24oKSB7XG4gICAgICAgIHRyeUZvY3VzKGdldEluaXRpYWxGb2N1c05vZGUoKSk7XG4gICAgICB9KSA6IHRyeUZvY3VzKGdldEluaXRpYWxGb2N1c05vZGUoKSk7XG4gICAgICBkb2MuYWRkRXZlbnRMaXN0ZW5lcihcImZvY3VzaW5cIiwgY2hlY2tGb2N1c0luLCB0cnVlKTtcbiAgICAgIGRvYy5hZGRFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIGNoZWNrUG9pbnRlckRvd24sIHtcbiAgICAgICAgY2FwdHVyZTogdHJ1ZSxcbiAgICAgICAgcGFzc2l2ZTogZmFsc2VcbiAgICAgIH0pO1xuICAgICAgZG9jLmFkZEV2ZW50TGlzdGVuZXIoXCJ0b3VjaHN0YXJ0XCIsIGNoZWNrUG9pbnRlckRvd24sIHtcbiAgICAgICAgY2FwdHVyZTogdHJ1ZSxcbiAgICAgICAgcGFzc2l2ZTogZmFsc2VcbiAgICAgIH0pO1xuICAgICAgZG9jLmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBjaGVja0NsaWNrLCB7XG4gICAgICAgIGNhcHR1cmU6IHRydWUsXG4gICAgICAgIHBhc3NpdmU6IGZhbHNlXG4gICAgICB9KTtcbiAgICAgIGRvYy5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCBjaGVja0tleSwge1xuICAgICAgICBjYXB0dXJlOiB0cnVlLFxuICAgICAgICBwYXNzaXZlOiBmYWxzZVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gdHJhcDtcbiAgICB9O1xuICAgIHZhciByZW1vdmVMaXN0ZW5lcnMgPSBmdW5jdGlvbiByZW1vdmVMaXN0ZW5lcnMyKCkge1xuICAgICAgaWYgKCFzdGF0ZS5hY3RpdmUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgZG9jLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJmb2N1c2luXCIsIGNoZWNrRm9jdXNJbiwgdHJ1ZSk7XG4gICAgICBkb2MucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlZG93blwiLCBjaGVja1BvaW50ZXJEb3duLCB0cnVlKTtcbiAgICAgIGRvYy5yZW1vdmVFdmVudExpc3RlbmVyKFwidG91Y2hzdGFydFwiLCBjaGVja1BvaW50ZXJEb3duLCB0cnVlKTtcbiAgICAgIGRvYy5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgY2hlY2tDbGljaywgdHJ1ZSk7XG4gICAgICBkb2MucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgY2hlY2tLZXksIHRydWUpO1xuICAgICAgcmV0dXJuIHRyYXA7XG4gICAgfTtcbiAgICB0cmFwID0ge1xuICAgICAgYWN0aXZhdGU6IGZ1bmN0aW9uIGFjdGl2YXRlKGFjdGl2YXRlT3B0aW9ucykge1xuICAgICAgICBpZiAoc3RhdGUuYWN0aXZlKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIG9uQWN0aXZhdGUgPSBnZXRPcHRpb24oYWN0aXZhdGVPcHRpb25zLCBcIm9uQWN0aXZhdGVcIik7XG4gICAgICAgIHZhciBvblBvc3RBY3RpdmF0ZSA9IGdldE9wdGlvbihhY3RpdmF0ZU9wdGlvbnMsIFwib25Qb3N0QWN0aXZhdGVcIik7XG4gICAgICAgIHZhciBjaGVja0NhbkZvY3VzVHJhcCA9IGdldE9wdGlvbihhY3RpdmF0ZU9wdGlvbnMsIFwiY2hlY2tDYW5Gb2N1c1RyYXBcIik7XG4gICAgICAgIGlmICghY2hlY2tDYW5Gb2N1c1RyYXApIHtcbiAgICAgICAgICB1cGRhdGVUYWJiYWJsZU5vZGVzKCk7XG4gICAgICAgIH1cbiAgICAgICAgc3RhdGUuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgc3RhdGUucGF1c2VkID0gZmFsc2U7XG4gICAgICAgIHN0YXRlLm5vZGVGb2N1c2VkQmVmb3JlQWN0aXZhdGlvbiA9IGRvYy5hY3RpdmVFbGVtZW50O1xuICAgICAgICBpZiAob25BY3RpdmF0ZSkge1xuICAgICAgICAgIG9uQWN0aXZhdGUoKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgZmluaXNoQWN0aXZhdGlvbiA9IGZ1bmN0aW9uIGZpbmlzaEFjdGl2YXRpb24yKCkge1xuICAgICAgICAgIGlmIChjaGVja0NhbkZvY3VzVHJhcCkge1xuICAgICAgICAgICAgdXBkYXRlVGFiYmFibGVOb2RlcygpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBhZGRMaXN0ZW5lcnMoKTtcbiAgICAgICAgICBpZiAob25Qb3N0QWN0aXZhdGUpIHtcbiAgICAgICAgICAgIG9uUG9zdEFjdGl2YXRlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBpZiAoY2hlY2tDYW5Gb2N1c1RyYXApIHtcbiAgICAgICAgICBjaGVja0NhbkZvY3VzVHJhcChzdGF0ZS5jb250YWluZXJzLmNvbmNhdCgpKS50aGVuKGZpbmlzaEFjdGl2YXRpb24sIGZpbmlzaEFjdGl2YXRpb24pO1xuICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICB9XG4gICAgICAgIGZpbmlzaEFjdGl2YXRpb24oKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9LFxuICAgICAgZGVhY3RpdmF0ZTogZnVuY3Rpb24gZGVhY3RpdmF0ZShkZWFjdGl2YXRlT3B0aW9ucykge1xuICAgICAgICBpZiAoIXN0YXRlLmFjdGl2ZSkge1xuICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICB9XG4gICAgICAgIGNsZWFyVGltZW91dChzdGF0ZS5kZWxheUluaXRpYWxGb2N1c1RpbWVyKTtcbiAgICAgICAgc3RhdGUuZGVsYXlJbml0aWFsRm9jdXNUaW1lciA9IHZvaWQgMDtcbiAgICAgICAgcmVtb3ZlTGlzdGVuZXJzKCk7XG4gICAgICAgIHN0YXRlLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICBzdGF0ZS5wYXVzZWQgPSBmYWxzZTtcbiAgICAgICAgYWN0aXZlRm9jdXNUcmFwcy5kZWFjdGl2YXRlVHJhcCh0cmFwKTtcbiAgICAgICAgdmFyIG9uRGVhY3RpdmF0ZSA9IGdldE9wdGlvbihkZWFjdGl2YXRlT3B0aW9ucywgXCJvbkRlYWN0aXZhdGVcIik7XG4gICAgICAgIHZhciBvblBvc3REZWFjdGl2YXRlID0gZ2V0T3B0aW9uKGRlYWN0aXZhdGVPcHRpb25zLCBcIm9uUG9zdERlYWN0aXZhdGVcIik7XG4gICAgICAgIHZhciBjaGVja0NhblJldHVybkZvY3VzID0gZ2V0T3B0aW9uKGRlYWN0aXZhdGVPcHRpb25zLCBcImNoZWNrQ2FuUmV0dXJuRm9jdXNcIik7XG4gICAgICAgIGlmIChvbkRlYWN0aXZhdGUpIHtcbiAgICAgICAgICBvbkRlYWN0aXZhdGUoKTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcmV0dXJuRm9jdXMgPSBnZXRPcHRpb24oZGVhY3RpdmF0ZU9wdGlvbnMsIFwicmV0dXJuRm9jdXNcIiwgXCJyZXR1cm5Gb2N1c09uRGVhY3RpdmF0ZVwiKTtcbiAgICAgICAgdmFyIGZpbmlzaERlYWN0aXZhdGlvbiA9IGZ1bmN0aW9uIGZpbmlzaERlYWN0aXZhdGlvbjIoKSB7XG4gICAgICAgICAgZGVsYXkoZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBpZiAocmV0dXJuRm9jdXMpIHtcbiAgICAgICAgICAgICAgdHJ5Rm9jdXMoZ2V0UmV0dXJuRm9jdXNOb2RlKHN0YXRlLm5vZGVGb2N1c2VkQmVmb3JlQWN0aXZhdGlvbikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG9uUG9zdERlYWN0aXZhdGUpIHtcbiAgICAgICAgICAgICAgb25Qb3N0RGVhY3RpdmF0ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgICAgICBpZiAocmV0dXJuRm9jdXMgJiYgY2hlY2tDYW5SZXR1cm5Gb2N1cykge1xuICAgICAgICAgIGNoZWNrQ2FuUmV0dXJuRm9jdXMoZ2V0UmV0dXJuRm9jdXNOb2RlKHN0YXRlLm5vZGVGb2N1c2VkQmVmb3JlQWN0aXZhdGlvbikpLnRoZW4oZmluaXNoRGVhY3RpdmF0aW9uLCBmaW5pc2hEZWFjdGl2YXRpb24pO1xuICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICB9XG4gICAgICAgIGZpbmlzaERlYWN0aXZhdGlvbigpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH0sXG4gICAgICBwYXVzZTogZnVuY3Rpb24gcGF1c2UoKSB7XG4gICAgICAgIGlmIChzdGF0ZS5wYXVzZWQgfHwgIXN0YXRlLmFjdGl2ZSkge1xuICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICB9XG4gICAgICAgIHN0YXRlLnBhdXNlZCA9IHRydWU7XG4gICAgICAgIHJlbW92ZUxpc3RlbmVycygpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH0sXG4gICAgICB1bnBhdXNlOiBmdW5jdGlvbiB1bnBhdXNlKCkge1xuICAgICAgICBpZiAoIXN0YXRlLnBhdXNlZCB8fCAhc3RhdGUuYWN0aXZlKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgIH1cbiAgICAgICAgc3RhdGUucGF1c2VkID0gZmFsc2U7XG4gICAgICAgIHVwZGF0ZVRhYmJhYmxlTm9kZXMoKTtcbiAgICAgICAgYWRkTGlzdGVuZXJzKCk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgfSxcbiAgICAgIHVwZGF0ZUNvbnRhaW5lckVsZW1lbnRzOiBmdW5jdGlvbiB1cGRhdGVDb250YWluZXJFbGVtZW50cyhjb250YWluZXJFbGVtZW50cykge1xuICAgICAgICB2YXIgZWxlbWVudHNBc0FycmF5ID0gW10uY29uY2F0KGNvbnRhaW5lckVsZW1lbnRzKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgICAgIHN0YXRlLmNvbnRhaW5lcnMgPSBlbGVtZW50c0FzQXJyYXkubWFwKGZ1bmN0aW9uKGVsZW1lbnQpIHtcbiAgICAgICAgICByZXR1cm4gdHlwZW9mIGVsZW1lbnQgPT09IFwic3RyaW5nXCIgPyBkb2MucXVlcnlTZWxlY3RvcihlbGVtZW50KSA6IGVsZW1lbnQ7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoc3RhdGUuYWN0aXZlKSB7XG4gICAgICAgICAgdXBkYXRlVGFiYmFibGVOb2RlcygpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgfVxuICAgIH07XG4gICAgdHJhcC51cGRhdGVDb250YWluZXJFbGVtZW50cyhlbGVtZW50cyk7XG4gICAgcmV0dXJuIHRyYXA7XG4gIH07XG4gIGV4cG9ydHMuY3JlYXRlRm9jdXNUcmFwID0gY3JlYXRlRm9jdXNUcmFwMjtcbn0pO1xuXG4vLyBwYWNrYWdlcy90cmFwL3NyYy9pbmRleC5qc1xudmFyIGltcG9ydF9mb2N1c190cmFwID0gX190b01vZHVsZShyZXF1aXJlX2ZvY3VzX3RyYXAoKSk7XG5mdW5jdGlvbiBzcmNfZGVmYXVsdChBbHBpbmUpIHtcbiAgQWxwaW5lLmRpcmVjdGl2ZShcInRyYXBcIiwgKGVsLCB7ZXhwcmVzc2lvbiwgbW9kaWZpZXJzfSwge2VmZmVjdCwgZXZhbHVhdGVMYXRlcn0pID0+IHtcbiAgICBsZXQgZXZhbHVhdG9yID0gZXZhbHVhdGVMYXRlcihleHByZXNzaW9uKTtcbiAgICBsZXQgb2xkVmFsdWUgPSBmYWxzZTtcbiAgICBsZXQgdHJhcCA9ICgwLCBpbXBvcnRfZm9jdXNfdHJhcC5jcmVhdGVGb2N1c1RyYXApKGVsLCB7XG4gICAgICBlc2NhcGVEZWFjdGl2YXRlczogZmFsc2UsXG4gICAgICBhbGxvd091dHNpZGVDbGljazogdHJ1ZSxcbiAgICAgIGZhbGxiYWNrRm9jdXM6ICgpID0+IGVsXG4gICAgfSk7XG4gICAgbGV0IHVuZG9JbmVydCA9ICgpID0+IHtcbiAgICB9O1xuICAgIGxldCB1bmRvRGlzYWJsZVNjcm9sbGluZyA9ICgpID0+IHtcbiAgICB9O1xuICAgIGVmZmVjdCgoKSA9PiBldmFsdWF0b3IoKHZhbHVlKSA9PiB7XG4gICAgICBpZiAob2xkVmFsdWUgPT09IHZhbHVlKVxuICAgICAgICByZXR1cm47XG4gICAgICBpZiAodmFsdWUgJiYgIW9sZFZhbHVlKSB7XG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIGlmIChtb2RpZmllcnMuaW5jbHVkZXMoXCJpbmVydFwiKSlcbiAgICAgICAgICAgIHVuZG9JbmVydCA9IHNldEluZXJ0KGVsKTtcbiAgICAgICAgICBpZiAobW9kaWZpZXJzLmluY2x1ZGVzKFwibm9zY3JvbGxcIikpXG4gICAgICAgICAgICB1bmRvRGlzYWJsZVNjcm9sbGluZyA9IGRpc2FibGVTY3JvbGxpbmcoKTtcbiAgICAgICAgICB0cmFwLmFjdGl2YXRlKCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaWYgKCF2YWx1ZSAmJiBvbGRWYWx1ZSkge1xuICAgICAgICB1bmRvSW5lcnQoKTtcbiAgICAgICAgdW5kb0luZXJ0ID0gKCkgPT4ge1xuICAgICAgICB9O1xuICAgICAgICB1bmRvRGlzYWJsZVNjcm9sbGluZygpO1xuICAgICAgICB1bmRvRGlzYWJsZVNjcm9sbGluZyA9ICgpID0+IHtcbiAgICAgICAgfTtcbiAgICAgICAgdHJhcC5kZWFjdGl2YXRlKCk7XG4gICAgICB9XG4gICAgICBvbGRWYWx1ZSA9ICEhdmFsdWU7XG4gICAgfSkpO1xuICB9KTtcbn1cbmZ1bmN0aW9uIHNldEluZXJ0KGVsKSB7XG4gIGxldCB1bmRvcyA9IFtdO1xuICBjcmF3bFNpYmxpbmdzVXAoZWwsIChzaWJsaW5nKSA9PiB7XG4gICAgbGV0IGNhY2hlID0gc2libGluZy5oYXNBdHRyaWJ1dGUoXCJhcmlhLWhpZGRlblwiKTtcbiAgICBzaWJsaW5nLnNldEF0dHJpYnV0ZShcImFyaWEtaGlkZGVuXCIsIFwidHJ1ZVwiKTtcbiAgICB1bmRvcy5wdXNoKCgpID0+IGNhY2hlIHx8IHNpYmxpbmcucmVtb3ZlQXR0cmlidXRlKFwiYXJpYS1oaWRkZW5cIikpO1xuICB9KTtcbiAgcmV0dXJuICgpID0+IHtcbiAgICB3aGlsZSAodW5kb3MubGVuZ3RoKVxuICAgICAgdW5kb3MucG9wKCkoKTtcbiAgfTtcbn1cbmZ1bmN0aW9uIGNyYXdsU2libGluZ3NVcChlbCwgY2FsbGJhY2spIHtcbiAgaWYgKGVsLmlzU2FtZU5vZGUoZG9jdW1lbnQuYm9keSkgfHwgIWVsLnBhcmVudE5vZGUpXG4gICAgcmV0dXJuO1xuICBBcnJheS5mcm9tKGVsLnBhcmVudE5vZGUuY2hpbGRyZW4pLmZvckVhY2goKHNpYmxpbmcpID0+IHtcbiAgICBpZiAoIXNpYmxpbmcuaXNTYW1lTm9kZShlbCkpXG4gICAgICBjYWxsYmFjayhzaWJsaW5nKTtcbiAgICBjcmF3bFNpYmxpbmdzVXAoZWwucGFyZW50Tm9kZSwgY2FsbGJhY2spO1xuICB9KTtcbn1cbmZ1bmN0aW9uIGRpc2FibGVTY3JvbGxpbmcoKSB7XG4gIGxldCBvdmVyZmxvdyA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5vdmVyZmxvdztcbiAgbGV0IHBhZGRpbmdSaWdodCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5wYWRkaW5nUmlnaHQ7XG4gIGxldCBzY3JvbGxiYXJXaWR0aCA9IHdpbmRvdy5pbm5lcldpZHRoIC0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoO1xuICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUub3ZlcmZsb3cgPSBcImhpZGRlblwiO1xuICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUucGFkZGluZ1JpZ2h0ID0gYCR7c2Nyb2xsYmFyV2lkdGh9cHhgO1xuICByZXR1cm4gKCkgPT4ge1xuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5vdmVyZmxvdyA9IG92ZXJmbG93O1xuICAgIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5wYWRkaW5nUmlnaHQgPSBwYWRkaW5nUmlnaHQ7XG4gIH07XG59XG5cbi8vIHBhY2thZ2VzL3RyYXAvYnVpbGRzL21vZHVsZS5qc1xudmFyIG1vZHVsZV9kZWZhdWx0ID0gc3JjX2RlZmF1bHQ7XG5leHBvcnQge1xuICBtb2R1bGVfZGVmYXVsdCBhcyBkZWZhdWx0XG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@alpinejs/trap/dist/module.esm.js\n"); + +/***/ }), + +/***/ "./node_modules/@babel/runtime/regenerator/index.js": +/*!**********************************************************!*\ + !*** ./node_modules/@babel/runtime/regenerator/index.js ***! + \**********************************************************/ +/***/ ((module, __unused_webpack_exports, __webpack_require__) => { + +eval("module.exports = __webpack_require__(/*! regenerator-runtime */ \"./node_modules/regenerator-runtime/runtime.js\");\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvcmVnZW5lcmF0b3IvaW5kZXguanMuanMiLCJtYXBwaW5ncyI6IkFBQUEsZ0hBQStDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZmlsYW1lbnQvLi9ub2RlX21vZHVsZXMvQGJhYmVsL3J1bnRpbWUvcmVnZW5lcmF0b3IvaW5kZXguanM/ODE0NCJdLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJyZWdlbmVyYXRvci1ydW50aW1lXCIpO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/@babel/runtime/regenerator/index.js\n"); + +/***/ }), + +/***/ "./node_modules/alpinejs/dist/module.esm.js": +/*!**************************************************!*\ + !*** ./node_modules/alpinejs/dist/module.esm.js ***! + \**************************************************/ +/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { + +"use strict"; +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ module_default)\n/* harmony export */ });\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __markAsModule = (target) => __defProp(target, \"__esModule\", {value: true});\nvar __commonJS = (callback, module) => () => {\n if (!module) {\n module = {exports: {}};\n callback(module.exports, module);\n }\n return module.exports;\n};\nvar __exportStar = (target, module, desc) => {\n if (module && typeof module === \"object\" || typeof module === \"function\") {\n for (let key of __getOwnPropNames(module))\n if (!__hasOwnProp.call(target, key) && key !== \"default\")\n __defProp(target, key, {get: () => module[key], enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable});\n }\n return target;\n};\nvar __toModule = (module) => {\n return __exportStar(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, \"default\", module && module.__esModule && \"default\" in module ? {get: () => module.default, enumerable: true} : {value: module, enumerable: true})), module);\n};\n\n// node_modules/@vue/shared/dist/shared.cjs.js\nvar require_shared_cjs = __commonJS((exports) => {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", {value: true});\n function makeMap(str, expectsLowerCase) {\n const map = Object.create(null);\n const list = str.split(\",\");\n for (let i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase ? (val) => !!map[val.toLowerCase()] : (val) => !!map[val];\n }\n var PatchFlagNames = {\n [1]: `TEXT`,\n [2]: `CLASS`,\n [4]: `STYLE`,\n [8]: `PROPS`,\n [16]: `FULL_PROPS`,\n [32]: `HYDRATE_EVENTS`,\n [64]: `STABLE_FRAGMENT`,\n [128]: `KEYED_FRAGMENT`,\n [256]: `UNKEYED_FRAGMENT`,\n [512]: `NEED_PATCH`,\n [1024]: `DYNAMIC_SLOTS`,\n [2048]: `DEV_ROOT_FRAGMENT`,\n [-1]: `HOISTED`,\n [-2]: `BAIL`\n };\n var slotFlagsText = {\n [1]: \"STABLE\",\n [2]: \"DYNAMIC\",\n [3]: \"FORWARDED\"\n };\n var GLOBALS_WHITE_LISTED = \"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt\";\n var isGloballyWhitelisted = /* @__PURE__ */ makeMap(GLOBALS_WHITE_LISTED);\n var range = 2;\n function generateCodeFrame(source, start2 = 0, end = source.length) {\n const lines = source.split(/\\r?\\n/);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + 1;\n if (count >= start2) {\n for (let j = i - range; j <= i + range || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(`${line}${\" \".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}`);\n const lineLength = lines[j].length;\n if (j === i) {\n const pad = start2 - (count - lineLength) + 1;\n const length = Math.max(1, end > count ? lineLength - pad : end - start2);\n res.push(` | ` + \" \".repeat(pad) + \"^\".repeat(length));\n } else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + \"^\".repeat(length));\n }\n count += lineLength + 1;\n }\n }\n break;\n }\n }\n return res.join(\"\\n\");\n }\n var specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;\n var isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);\n var isBooleanAttr2 = /* @__PURE__ */ makeMap(specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`);\n var unsafeAttrCharRE = /[>/=\"'\\u0009\\u000a\\u000c\\u0020]/;\n var attrValidationCache = {};\n function isSSRSafeAttrName(name) {\n if (attrValidationCache.hasOwnProperty(name)) {\n return attrValidationCache[name];\n }\n const isUnsafe = unsafeAttrCharRE.test(name);\n if (isUnsafe) {\n console.error(`unsafe attribute name: ${name}`);\n }\n return attrValidationCache[name] = !isUnsafe;\n }\n var propsToAttrMap = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\"\n };\n var isNoUnitNumericStyleProp = /* @__PURE__ */ makeMap(`animation-iteration-count,border-image-outset,border-image-slice,border-image-width,box-flex,box-flex-group,box-ordinal-group,column-count,columns,flex,flex-grow,flex-positive,flex-shrink,flex-negative,flex-order,grid-row,grid-row-end,grid-row-span,grid-row-start,grid-column,grid-column-end,grid-column-span,grid-column-start,font-weight,line-clamp,line-height,opacity,order,orphans,tab-size,widows,z-index,zoom,fill-opacity,flood-opacity,stop-opacity,stroke-dasharray,stroke-dashoffset,stroke-miterlimit,stroke-opacity,stroke-width`);\n var isKnownAttr = /* @__PURE__ */ makeMap(`accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap`);\n function normalizeStyle(value) {\n if (isArray(value)) {\n const res = {};\n for (let i = 0; i < value.length; i++) {\n const item = value[i];\n const normalized = normalizeStyle(isString(item) ? parseStringStyle(item) : item);\n if (normalized) {\n for (const key in normalized) {\n res[key] = normalized[key];\n }\n }\n }\n return res;\n } else if (isObject(value)) {\n return value;\n }\n }\n var listDelimiterRE = /;(?![^(]*\\))/g;\n var propertyDelimiterRE = /:(.+)/;\n function parseStringStyle(cssText) {\n const ret = {};\n cssText.split(listDelimiterRE).forEach((item) => {\n if (item) {\n const tmp = item.split(propertyDelimiterRE);\n tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim());\n }\n });\n return ret;\n }\n function stringifyStyle(styles) {\n let ret = \"\";\n if (!styles) {\n return ret;\n }\n for (const key in styles) {\n const value = styles[key];\n const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key);\n if (isString(value) || typeof value === \"number\" && isNoUnitNumericStyleProp(normalizedKey)) {\n ret += `${normalizedKey}:${value};`;\n }\n }\n return ret;\n }\n function normalizeClass(value) {\n let res = \"\";\n if (isString(value)) {\n res = value;\n } else if (isArray(value)) {\n for (let i = 0; i < value.length; i++) {\n const normalized = normalizeClass(value[i]);\n if (normalized) {\n res += normalized + \" \";\n }\n }\n } else if (isObject(value)) {\n for (const name in value) {\n if (value[name]) {\n res += name + \" \";\n }\n }\n }\n return res.trim();\n }\n var HTML_TAGS = \"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot\";\n var SVG_TAGS = \"svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistanceLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view\";\n var VOID_TAGS = \"area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr\";\n var isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS);\n var isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS);\n var isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS);\n var escapeRE = /[\"'&<>]/;\n function escapeHtml(string) {\n const str = \"\" + string;\n const match = escapeRE.exec(str);\n if (!match) {\n return str;\n }\n let html = \"\";\n let escaped;\n let index;\n let lastIndex = 0;\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n escaped = \""\";\n break;\n case 38:\n escaped = \"&\";\n break;\n case 39:\n escaped = \"'\";\n break;\n case 60:\n escaped = \"<\";\n break;\n case 62:\n escaped = \">\";\n break;\n default:\n continue;\n }\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n lastIndex = index + 1;\n html += escaped;\n }\n return lastIndex !== index ? html + str.substring(lastIndex, index) : html;\n }\n var commentStripRE = /^-?>||--!>| looseEqual(item, val));\n }\n var toDisplayString = (val) => {\n return val == null ? \"\" : isObject(val) ? JSON.stringify(val, replacer, 2) : String(val);\n };\n var replacer = (_key, val) => {\n if (isMap(val)) {\n return {\n [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val2]) => {\n entries[`${key} =>`] = val2;\n return entries;\n }, {})\n };\n } else if (isSet(val)) {\n return {\n [`Set(${val.size})`]: [...val.values()]\n };\n } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {\n return String(val);\n }\n return val;\n };\n var babelParserDefaultPlugins = [\n \"bigInt\",\n \"optionalChaining\",\n \"nullishCoalescingOperator\"\n ];\n var EMPTY_OBJ = Object.freeze({});\n var EMPTY_ARR = Object.freeze([]);\n var NOOP = () => {\n };\n var NO = () => false;\n var onRE = /^on[^a-z]/;\n var isOn = (key) => onRE.test(key);\n var isModelListener = (key) => key.startsWith(\"onUpdate:\");\n var extend = Object.assign;\n var remove = (arr, el) => {\n const i = arr.indexOf(el);\n if (i > -1) {\n arr.splice(i, 1);\n }\n };\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n var hasOwn = (val, key) => hasOwnProperty.call(val, key);\n var isArray = Array.isArray;\n var isMap = (val) => toTypeString(val) === \"[object Map]\";\n var isSet = (val) => toTypeString(val) === \"[object Set]\";\n var isDate = (val) => val instanceof Date;\n var isFunction = (val) => typeof val === \"function\";\n var isString = (val) => typeof val === \"string\";\n var isSymbol = (val) => typeof val === \"symbol\";\n var isObject = (val) => val !== null && typeof val === \"object\";\n var isPromise = (val) => {\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\n };\n var objectToString = Object.prototype.toString;\n var toTypeString = (value) => objectToString.call(value);\n var toRawType = (value) => {\n return toTypeString(value).slice(8, -1);\n };\n var isPlainObject = (val) => toTypeString(val) === \"[object Object]\";\n var isIntegerKey = (key) => isString(key) && key !== \"NaN\" && key[0] !== \"-\" && \"\" + parseInt(key, 10) === key;\n var isReservedProp = /* @__PURE__ */ makeMap(\",key,ref,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\");\n var cacheStringFunction = (fn) => {\n const cache = Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n };\n var camelizeRE = /-(\\w)/g;\n var camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n });\n var hyphenateRE = /\\B([A-Z])/g;\n var hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, \"-$1\").toLowerCase());\n var capitalize = cacheStringFunction((str) => str.charAt(0).toUpperCase() + str.slice(1));\n var toHandlerKey = cacheStringFunction((str) => str ? `on${capitalize(str)}` : ``);\n var hasChanged = (value, oldValue) => value !== oldValue && (value === value || oldValue === oldValue);\n var invokeArrayFns = (fns, arg) => {\n for (let i = 0; i < fns.length; i++) {\n fns[i](arg);\n }\n };\n var def = (obj, key, value) => {\n Object.defineProperty(obj, key, {\n configurable: true,\n enumerable: false,\n value\n });\n };\n var toNumber = (val) => {\n const n = parseFloat(val);\n return isNaN(n) ? val : n;\n };\n var _globalThis;\n var getGlobalThis = () => {\n return _globalThis || (_globalThis = typeof globalThis !== \"undefined\" ? globalThis : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : typeof __webpack_require__.g !== \"undefined\" ? __webpack_require__.g : {});\n };\n exports.EMPTY_ARR = EMPTY_ARR;\n exports.EMPTY_OBJ = EMPTY_OBJ;\n exports.NO = NO;\n exports.NOOP = NOOP;\n exports.PatchFlagNames = PatchFlagNames;\n exports.babelParserDefaultPlugins = babelParserDefaultPlugins;\n exports.camelize = camelize;\n exports.capitalize = capitalize;\n exports.def = def;\n exports.escapeHtml = escapeHtml;\n exports.escapeHtmlComment = escapeHtmlComment;\n exports.extend = extend;\n exports.generateCodeFrame = generateCodeFrame;\n exports.getGlobalThis = getGlobalThis;\n exports.hasChanged = hasChanged;\n exports.hasOwn = hasOwn;\n exports.hyphenate = hyphenate;\n exports.invokeArrayFns = invokeArrayFns;\n exports.isArray = isArray;\n exports.isBooleanAttr = isBooleanAttr2;\n exports.isDate = isDate;\n exports.isFunction = isFunction;\n exports.isGloballyWhitelisted = isGloballyWhitelisted;\n exports.isHTMLTag = isHTMLTag;\n exports.isIntegerKey = isIntegerKey;\n exports.isKnownAttr = isKnownAttr;\n exports.isMap = isMap;\n exports.isModelListener = isModelListener;\n exports.isNoUnitNumericStyleProp = isNoUnitNumericStyleProp;\n exports.isObject = isObject;\n exports.isOn = isOn;\n exports.isPlainObject = isPlainObject;\n exports.isPromise = isPromise;\n exports.isReservedProp = isReservedProp;\n exports.isSSRSafeAttrName = isSSRSafeAttrName;\n exports.isSVGTag = isSVGTag;\n exports.isSet = isSet;\n exports.isSpecialBooleanAttr = isSpecialBooleanAttr;\n exports.isString = isString;\n exports.isSymbol = isSymbol;\n exports.isVoidTag = isVoidTag;\n exports.looseEqual = looseEqual;\n exports.looseIndexOf = looseIndexOf;\n exports.makeMap = makeMap;\n exports.normalizeClass = normalizeClass;\n exports.normalizeStyle = normalizeStyle;\n exports.objectToString = objectToString;\n exports.parseStringStyle = parseStringStyle;\n exports.propsToAttrMap = propsToAttrMap;\n exports.remove = remove;\n exports.slotFlagsText = slotFlagsText;\n exports.stringifyStyle = stringifyStyle;\n exports.toDisplayString = toDisplayString;\n exports.toHandlerKey = toHandlerKey;\n exports.toNumber = toNumber;\n exports.toRawType = toRawType;\n exports.toTypeString = toTypeString;\n});\n\n// node_modules/@vue/shared/index.js\nvar require_shared = __commonJS((exports, module) => {\n \"use strict\";\n if (false) {} else {\n module.exports = require_shared_cjs();\n }\n});\n\n// node_modules/@vue/reactivity/dist/reactivity.cjs.js\nvar require_reactivity_cjs = __commonJS((exports) => {\n \"use strict\";\n Object.defineProperty(exports, \"__esModule\", {value: true});\n var shared = require_shared();\n var targetMap = new WeakMap();\n var effectStack = [];\n var activeEffect;\n var ITERATE_KEY = Symbol(\"iterate\");\n var MAP_KEY_ITERATE_KEY = Symbol(\"Map key iterate\");\n function isEffect(fn) {\n return fn && fn._isEffect === true;\n }\n function effect3(fn, options = shared.EMPTY_OBJ) {\n if (isEffect(fn)) {\n fn = fn.raw;\n }\n const effect4 = createReactiveEffect(fn, options);\n if (!options.lazy) {\n effect4();\n }\n return effect4;\n }\n function stop2(effect4) {\n if (effect4.active) {\n cleanup(effect4);\n if (effect4.options.onStop) {\n effect4.options.onStop();\n }\n effect4.active = false;\n }\n }\n var uid = 0;\n function createReactiveEffect(fn, options) {\n const effect4 = function reactiveEffect() {\n if (!effect4.active) {\n return fn();\n }\n if (!effectStack.includes(effect4)) {\n cleanup(effect4);\n try {\n enableTracking();\n effectStack.push(effect4);\n activeEffect = effect4;\n return fn();\n } finally {\n effectStack.pop();\n resetTracking();\n activeEffect = effectStack[effectStack.length - 1];\n }\n }\n };\n effect4.id = uid++;\n effect4.allowRecurse = !!options.allowRecurse;\n effect4._isEffect = true;\n effect4.active = true;\n effect4.raw = fn;\n effect4.deps = [];\n effect4.options = options;\n return effect4;\n }\n function cleanup(effect4) {\n const {deps} = effect4;\n if (deps.length) {\n for (let i = 0; i < deps.length; i++) {\n deps[i].delete(effect4);\n }\n deps.length = 0;\n }\n }\n var shouldTrack = true;\n var trackStack = [];\n function pauseTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = false;\n }\n function enableTracking() {\n trackStack.push(shouldTrack);\n shouldTrack = true;\n }\n function resetTracking() {\n const last = trackStack.pop();\n shouldTrack = last === void 0 ? true : last;\n }\n function track(target, type, key) {\n if (!shouldTrack || activeEffect === void 0) {\n return;\n }\n let depsMap = targetMap.get(target);\n if (!depsMap) {\n targetMap.set(target, depsMap = new Map());\n }\n let dep = depsMap.get(key);\n if (!dep) {\n depsMap.set(key, dep = new Set());\n }\n if (!dep.has(activeEffect)) {\n dep.add(activeEffect);\n activeEffect.deps.push(dep);\n if (activeEffect.options.onTrack) {\n activeEffect.options.onTrack({\n effect: activeEffect,\n target,\n type,\n key\n });\n }\n }\n }\n function trigger(target, type, key, newValue, oldValue, oldTarget) {\n const depsMap = targetMap.get(target);\n if (!depsMap) {\n return;\n }\n const effects = new Set();\n const add2 = (effectsToAdd) => {\n if (effectsToAdd) {\n effectsToAdd.forEach((effect4) => {\n if (effect4 !== activeEffect || effect4.allowRecurse) {\n effects.add(effect4);\n }\n });\n }\n };\n if (type === \"clear\") {\n depsMap.forEach(add2);\n } else if (key === \"length\" && shared.isArray(target)) {\n depsMap.forEach((dep, key2) => {\n if (key2 === \"length\" || key2 >= newValue) {\n add2(dep);\n }\n });\n } else {\n if (key !== void 0) {\n add2(depsMap.get(key));\n }\n switch (type) {\n case \"add\":\n if (!shared.isArray(target)) {\n add2(depsMap.get(ITERATE_KEY));\n if (shared.isMap(target)) {\n add2(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n } else if (shared.isIntegerKey(key)) {\n add2(depsMap.get(\"length\"));\n }\n break;\n case \"delete\":\n if (!shared.isArray(target)) {\n add2(depsMap.get(ITERATE_KEY));\n if (shared.isMap(target)) {\n add2(depsMap.get(MAP_KEY_ITERATE_KEY));\n }\n }\n break;\n case \"set\":\n if (shared.isMap(target)) {\n add2(depsMap.get(ITERATE_KEY));\n }\n break;\n }\n }\n const run = (effect4) => {\n if (effect4.options.onTrigger) {\n effect4.options.onTrigger({\n effect: effect4,\n target,\n key,\n type,\n newValue,\n oldValue,\n oldTarget\n });\n }\n if (effect4.options.scheduler) {\n effect4.options.scheduler(effect4);\n } else {\n effect4();\n }\n };\n effects.forEach(run);\n }\n var isNonTrackableKeys = /* @__PURE__ */ shared.makeMap(`__proto__,__v_isRef,__isVue`);\n var builtInSymbols = new Set(Object.getOwnPropertyNames(Symbol).map((key) => Symbol[key]).filter(shared.isSymbol));\n var get2 = /* @__PURE__ */ createGetter();\n var shallowGet = /* @__PURE__ */ createGetter(false, true);\n var readonlyGet = /* @__PURE__ */ createGetter(true);\n var shallowReadonlyGet = /* @__PURE__ */ createGetter(true, true);\n var arrayInstrumentations = {};\n [\"includes\", \"indexOf\", \"lastIndexOf\"].forEach((key) => {\n const method = Array.prototype[key];\n arrayInstrumentations[key] = function(...args) {\n const arr = toRaw2(this);\n for (let i = 0, l = this.length; i < l; i++) {\n track(arr, \"get\", i + \"\");\n }\n const res = method.apply(arr, args);\n if (res === -1 || res === false) {\n return method.apply(arr, args.map(toRaw2));\n } else {\n return res;\n }\n };\n });\n [\"push\", \"pop\", \"shift\", \"unshift\", \"splice\"].forEach((key) => {\n const method = Array.prototype[key];\n arrayInstrumentations[key] = function(...args) {\n pauseTracking();\n const res = method.apply(this, args);\n resetTracking();\n return res;\n };\n });\n function createGetter(isReadonly2 = false, shallow = false) {\n return function get3(target, key, receiver) {\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_raw\" && receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target)) {\n return target;\n }\n const targetIsArray = shared.isArray(target);\n if (!isReadonly2 && targetIsArray && shared.hasOwn(arrayInstrumentations, key)) {\n return Reflect.get(arrayInstrumentations, key, receiver);\n }\n const res = Reflect.get(target, key, receiver);\n if (shared.isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) {\n return res;\n }\n if (!isReadonly2) {\n track(target, \"get\", key);\n }\n if (shallow) {\n return res;\n }\n if (isRef(res)) {\n const shouldUnwrap = !targetIsArray || !shared.isIntegerKey(key);\n return shouldUnwrap ? res.value : res;\n }\n if (shared.isObject(res)) {\n return isReadonly2 ? readonly(res) : reactive3(res);\n }\n return res;\n };\n }\n var set2 = /* @__PURE__ */ createSetter();\n var shallowSet = /* @__PURE__ */ createSetter(true);\n function createSetter(shallow = false) {\n return function set3(target, key, value, receiver) {\n let oldValue = target[key];\n if (!shallow) {\n value = toRaw2(value);\n oldValue = toRaw2(oldValue);\n if (!shared.isArray(target) && isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n }\n }\n const hadKey = shared.isArray(target) && shared.isIntegerKey(key) ? Number(key) < target.length : shared.hasOwn(target, key);\n const result = Reflect.set(target, key, value, receiver);\n if (target === toRaw2(receiver)) {\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (shared.hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n }\n return result;\n };\n }\n function deleteProperty(target, key) {\n const hadKey = shared.hasOwn(target, key);\n const oldValue = target[key];\n const result = Reflect.deleteProperty(target, key);\n if (result && hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n function has(target, key) {\n const result = Reflect.has(target, key);\n if (!shared.isSymbol(key) || !builtInSymbols.has(key)) {\n track(target, \"has\", key);\n }\n return result;\n }\n function ownKeys(target) {\n track(target, \"iterate\", shared.isArray(target) ? \"length\" : ITERATE_KEY);\n return Reflect.ownKeys(target);\n }\n var mutableHandlers = {\n get: get2,\n set: set2,\n deleteProperty,\n has,\n ownKeys\n };\n var readonlyHandlers = {\n get: readonlyGet,\n set(target, key) {\n {\n console.warn(`Set operation on key \"${String(key)}\" failed: target is readonly.`, target);\n }\n return true;\n },\n deleteProperty(target, key) {\n {\n console.warn(`Delete operation on key \"${String(key)}\" failed: target is readonly.`, target);\n }\n return true;\n }\n };\n var shallowReactiveHandlers = shared.extend({}, mutableHandlers, {\n get: shallowGet,\n set: shallowSet\n });\n var shallowReadonlyHandlers = shared.extend({}, readonlyHandlers, {\n get: shallowReadonlyGet\n });\n var toReactive = (value) => shared.isObject(value) ? reactive3(value) : value;\n var toReadonly = (value) => shared.isObject(value) ? readonly(value) : value;\n var toShallow = (value) => value;\n var getProto = (v) => Reflect.getPrototypeOf(v);\n function get$1(target, key, isReadonly2 = false, isShallow = false) {\n target = target[\"__v_raw\"];\n const rawTarget = toRaw2(target);\n const rawKey = toRaw2(key);\n if (key !== rawKey) {\n !isReadonly2 && track(rawTarget, \"get\", key);\n }\n !isReadonly2 && track(rawTarget, \"get\", rawKey);\n const {has: has2} = getProto(rawTarget);\n const wrap = isShallow ? toShallow : isReadonly2 ? toReadonly : toReactive;\n if (has2.call(rawTarget, key)) {\n return wrap(target.get(key));\n } else if (has2.call(rawTarget, rawKey)) {\n return wrap(target.get(rawKey));\n } else if (target !== rawTarget) {\n target.get(key);\n }\n }\n function has$1(key, isReadonly2 = false) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw2(target);\n const rawKey = toRaw2(key);\n if (key !== rawKey) {\n !isReadonly2 && track(rawTarget, \"has\", key);\n }\n !isReadonly2 && track(rawTarget, \"has\", rawKey);\n return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey);\n }\n function size(target, isReadonly2 = false) {\n target = target[\"__v_raw\"];\n !isReadonly2 && track(toRaw2(target), \"iterate\", ITERATE_KEY);\n return Reflect.get(target, \"size\", target);\n }\n function add(value) {\n value = toRaw2(value);\n const target = toRaw2(this);\n const proto = getProto(target);\n const hadKey = proto.has.call(target, value);\n if (!hadKey) {\n target.add(value);\n trigger(target, \"add\", value, value);\n }\n return this;\n }\n function set$1(key, value) {\n value = toRaw2(value);\n const target = toRaw2(this);\n const {has: has2, get: get3} = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw2(key);\n hadKey = has2.call(target, key);\n } else {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get3.call(target, key);\n target.set(key, value);\n if (!hadKey) {\n trigger(target, \"add\", key, value);\n } else if (shared.hasChanged(value, oldValue)) {\n trigger(target, \"set\", key, value, oldValue);\n }\n return this;\n }\n function deleteEntry(key) {\n const target = toRaw2(this);\n const {has: has2, get: get3} = getProto(target);\n let hadKey = has2.call(target, key);\n if (!hadKey) {\n key = toRaw2(key);\n hadKey = has2.call(target, key);\n } else {\n checkIdentityKeys(target, has2, key);\n }\n const oldValue = get3 ? get3.call(target, key) : void 0;\n const result = target.delete(key);\n if (hadKey) {\n trigger(target, \"delete\", key, void 0, oldValue);\n }\n return result;\n }\n function clear() {\n const target = toRaw2(this);\n const hadItems = target.size !== 0;\n const oldTarget = shared.isMap(target) ? new Map(target) : new Set(target);\n const result = target.clear();\n if (hadItems) {\n trigger(target, \"clear\", void 0, void 0, oldTarget);\n }\n return result;\n }\n function createForEach(isReadonly2, isShallow) {\n return function forEach(callback, thisArg) {\n const observed = this;\n const target = observed[\"__v_raw\"];\n const rawTarget = toRaw2(target);\n const wrap = isShallow ? toShallow : isReadonly2 ? toReadonly : toReactive;\n !isReadonly2 && track(rawTarget, \"iterate\", ITERATE_KEY);\n return target.forEach((value, key) => {\n return callback.call(thisArg, wrap(value), wrap(key), observed);\n });\n };\n }\n function createIterableMethod(method, isReadonly2, isShallow) {\n return function(...args) {\n const target = this[\"__v_raw\"];\n const rawTarget = toRaw2(target);\n const targetIsMap = shared.isMap(rawTarget);\n const isPair = method === \"entries\" || method === Symbol.iterator && targetIsMap;\n const isKeyOnly = method === \"keys\" && targetIsMap;\n const innerIterator = target[method](...args);\n const wrap = isShallow ? toShallow : isReadonly2 ? toReadonly : toReactive;\n !isReadonly2 && track(rawTarget, \"iterate\", isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY);\n return {\n next() {\n const {value, done} = innerIterator.next();\n return done ? {value, done} : {\n value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value),\n done\n };\n },\n [Symbol.iterator]() {\n return this;\n }\n };\n };\n }\n function createReadonlyMethod(type) {\n return function(...args) {\n {\n const key = args[0] ? `on key \"${args[0]}\" ` : ``;\n console.warn(`${shared.capitalize(type)} operation ${key}failed: target is readonly.`, toRaw2(this));\n }\n return type === \"delete\" ? false : this;\n };\n }\n var mutableInstrumentations = {\n get(key) {\n return get$1(this, key);\n },\n get size() {\n return size(this);\n },\n has: has$1,\n add,\n set: set$1,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, false)\n };\n var shallowInstrumentations = {\n get(key) {\n return get$1(this, key, false, true);\n },\n get size() {\n return size(this);\n },\n has: has$1,\n add,\n set: set$1,\n delete: deleteEntry,\n clear,\n forEach: createForEach(false, true)\n };\n var readonlyInstrumentations = {\n get(key) {\n return get$1(this, key, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has$1.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, false)\n };\n var shallowReadonlyInstrumentations = {\n get(key) {\n return get$1(this, key, true, true);\n },\n get size() {\n return size(this, true);\n },\n has(key) {\n return has$1.call(this, key, true);\n },\n add: createReadonlyMethod(\"add\"),\n set: createReadonlyMethod(\"set\"),\n delete: createReadonlyMethod(\"delete\"),\n clear: createReadonlyMethod(\"clear\"),\n forEach: createForEach(true, true)\n };\n var iteratorMethods = [\"keys\", \"values\", \"entries\", Symbol.iterator];\n iteratorMethods.forEach((method) => {\n mutableInstrumentations[method] = createIterableMethod(method, false, false);\n readonlyInstrumentations[method] = createIterableMethod(method, true, false);\n shallowInstrumentations[method] = createIterableMethod(method, false, true);\n shallowReadonlyInstrumentations[method] = createIterableMethod(method, true, true);\n });\n function createInstrumentationGetter(isReadonly2, shallow) {\n const instrumentations = shallow ? isReadonly2 ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly2 ? readonlyInstrumentations : mutableInstrumentations;\n return (target, key, receiver) => {\n if (key === \"__v_isReactive\") {\n return !isReadonly2;\n } else if (key === \"__v_isReadonly\") {\n return isReadonly2;\n } else if (key === \"__v_raw\") {\n return target;\n }\n return Reflect.get(shared.hasOwn(instrumentations, key) && key in target ? instrumentations : target, key, receiver);\n };\n }\n var mutableCollectionHandlers = {\n get: createInstrumentationGetter(false, false)\n };\n var shallowCollectionHandlers = {\n get: createInstrumentationGetter(false, true)\n };\n var readonlyCollectionHandlers = {\n get: createInstrumentationGetter(true, false)\n };\n var shallowReadonlyCollectionHandlers = {\n get: createInstrumentationGetter(true, true)\n };\n function checkIdentityKeys(target, has2, key) {\n const rawKey = toRaw2(key);\n if (rawKey !== key && has2.call(target, rawKey)) {\n const type = shared.toRawType(target);\n console.warn(`Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`);\n }\n }\n var reactiveMap = new WeakMap();\n var shallowReactiveMap = new WeakMap();\n var readonlyMap = new WeakMap();\n var shallowReadonlyMap = new WeakMap();\n function targetTypeMap(rawType) {\n switch (rawType) {\n case \"Object\":\n case \"Array\":\n return 1;\n case \"Map\":\n case \"Set\":\n case \"WeakMap\":\n case \"WeakSet\":\n return 2;\n default:\n return 0;\n }\n }\n function getTargetType(value) {\n return value[\"__v_skip\"] || !Object.isExtensible(value) ? 0 : targetTypeMap(shared.toRawType(value));\n }\n function reactive3(target) {\n if (target && target[\"__v_isReadonly\"]) {\n return target;\n }\n return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers, reactiveMap);\n }\n function shallowReactive(target) {\n return createReactiveObject(target, false, shallowReactiveHandlers, shallowCollectionHandlers, shallowReactiveMap);\n }\n function readonly(target) {\n return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers, readonlyMap);\n }\n function shallowReadonly(target) {\n return createReactiveObject(target, true, shallowReadonlyHandlers, shallowReadonlyCollectionHandlers, shallowReadonlyMap);\n }\n function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) {\n if (!shared.isObject(target)) {\n {\n console.warn(`value cannot be made reactive: ${String(target)}`);\n }\n return target;\n }\n if (target[\"__v_raw\"] && !(isReadonly2 && target[\"__v_isReactive\"])) {\n return target;\n }\n const existingProxy = proxyMap.get(target);\n if (existingProxy) {\n return existingProxy;\n }\n const targetType = getTargetType(target);\n if (targetType === 0) {\n return target;\n }\n const proxy = new Proxy(target, targetType === 2 ? collectionHandlers : baseHandlers);\n proxyMap.set(target, proxy);\n return proxy;\n }\n function isReactive2(value) {\n if (isReadonly(value)) {\n return isReactive2(value[\"__v_raw\"]);\n }\n return !!(value && value[\"__v_isReactive\"]);\n }\n function isReadonly(value) {\n return !!(value && value[\"__v_isReadonly\"]);\n }\n function isProxy(value) {\n return isReactive2(value) || isReadonly(value);\n }\n function toRaw2(observed) {\n return observed && toRaw2(observed[\"__v_raw\"]) || observed;\n }\n function markRaw(value) {\n shared.def(value, \"__v_skip\", true);\n return value;\n }\n var convert = (val) => shared.isObject(val) ? reactive3(val) : val;\n function isRef(r) {\n return Boolean(r && r.__v_isRef === true);\n }\n function ref(value) {\n return createRef(value);\n }\n function shallowRef(value) {\n return createRef(value, true);\n }\n var RefImpl = class {\n constructor(_rawValue, _shallow = false) {\n this._rawValue = _rawValue;\n this._shallow = _shallow;\n this.__v_isRef = true;\n this._value = _shallow ? _rawValue : convert(_rawValue);\n }\n get value() {\n track(toRaw2(this), \"get\", \"value\");\n return this._value;\n }\n set value(newVal) {\n if (shared.hasChanged(toRaw2(newVal), this._rawValue)) {\n this._rawValue = newVal;\n this._value = this._shallow ? newVal : convert(newVal);\n trigger(toRaw2(this), \"set\", \"value\", newVal);\n }\n }\n };\n function createRef(rawValue, shallow = false) {\n if (isRef(rawValue)) {\n return rawValue;\n }\n return new RefImpl(rawValue, shallow);\n }\n function triggerRef(ref2) {\n trigger(toRaw2(ref2), \"set\", \"value\", ref2.value);\n }\n function unref(ref2) {\n return isRef(ref2) ? ref2.value : ref2;\n }\n var shallowUnwrapHandlers = {\n get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),\n set: (target, key, value, receiver) => {\n const oldValue = target[key];\n if (isRef(oldValue) && !isRef(value)) {\n oldValue.value = value;\n return true;\n } else {\n return Reflect.set(target, key, value, receiver);\n }\n }\n };\n function proxyRefs(objectWithRefs) {\n return isReactive2(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers);\n }\n var CustomRefImpl = class {\n constructor(factory) {\n this.__v_isRef = true;\n const {get: get3, set: set3} = factory(() => track(this, \"get\", \"value\"), () => trigger(this, \"set\", \"value\"));\n this._get = get3;\n this._set = set3;\n }\n get value() {\n return this._get();\n }\n set value(newVal) {\n this._set(newVal);\n }\n };\n function customRef(factory) {\n return new CustomRefImpl(factory);\n }\n function toRefs(object) {\n if (!isProxy(object)) {\n console.warn(`toRefs() expects a reactive object but received a plain one.`);\n }\n const ret = shared.isArray(object) ? new Array(object.length) : {};\n for (const key in object) {\n ret[key] = toRef(object, key);\n }\n return ret;\n }\n var ObjectRefImpl = class {\n constructor(_object, _key) {\n this._object = _object;\n this._key = _key;\n this.__v_isRef = true;\n }\n get value() {\n return this._object[this._key];\n }\n set value(newVal) {\n this._object[this._key] = newVal;\n }\n };\n function toRef(object, key) {\n return isRef(object[key]) ? object[key] : new ObjectRefImpl(object, key);\n }\n var ComputedRefImpl = class {\n constructor(getter, _setter, isReadonly2) {\n this._setter = _setter;\n this._dirty = true;\n this.__v_isRef = true;\n this.effect = effect3(getter, {\n lazy: true,\n scheduler: () => {\n if (!this._dirty) {\n this._dirty = true;\n trigger(toRaw2(this), \"set\", \"value\");\n }\n }\n });\n this[\"__v_isReadonly\"] = isReadonly2;\n }\n get value() {\n const self2 = toRaw2(this);\n if (self2._dirty) {\n self2._value = this.effect();\n self2._dirty = false;\n }\n track(self2, \"get\", \"value\");\n return self2._value;\n }\n set value(newValue) {\n this._setter(newValue);\n }\n };\n function computed(getterOrOptions) {\n let getter;\n let setter;\n if (shared.isFunction(getterOrOptions)) {\n getter = getterOrOptions;\n setter = () => {\n console.warn(\"Write operation failed: computed value is readonly\");\n };\n } else {\n getter = getterOrOptions.get;\n setter = getterOrOptions.set;\n }\n return new ComputedRefImpl(getter, setter, shared.isFunction(getterOrOptions) || !getterOrOptions.set);\n }\n exports.ITERATE_KEY = ITERATE_KEY;\n exports.computed = computed;\n exports.customRef = customRef;\n exports.effect = effect3;\n exports.enableTracking = enableTracking;\n exports.isProxy = isProxy;\n exports.isReactive = isReactive2;\n exports.isReadonly = isReadonly;\n exports.isRef = isRef;\n exports.markRaw = markRaw;\n exports.pauseTracking = pauseTracking;\n exports.proxyRefs = proxyRefs;\n exports.reactive = reactive3;\n exports.readonly = readonly;\n exports.ref = ref;\n exports.resetTracking = resetTracking;\n exports.shallowReactive = shallowReactive;\n exports.shallowReadonly = shallowReadonly;\n exports.shallowRef = shallowRef;\n exports.stop = stop2;\n exports.toRaw = toRaw2;\n exports.toRef = toRef;\n exports.toRefs = toRefs;\n exports.track = track;\n exports.trigger = trigger;\n exports.triggerRef = triggerRef;\n exports.unref = unref;\n});\n\n// node_modules/@vue/reactivity/index.js\nvar require_reactivity = __commonJS((exports, module) => {\n \"use strict\";\n if (false) {} else {\n module.exports = require_reactivity_cjs();\n }\n});\n\n// packages/alpinejs/src/scheduler.js\nvar flushPending = false;\nvar flushing = false;\nvar queue = [];\nfunction scheduler(callback) {\n queueJob(callback);\n}\nfunction queueJob(job) {\n if (!queue.includes(job))\n queue.push(job);\n queueFlush();\n}\nfunction queueFlush() {\n if (!flushing && !flushPending) {\n flushPending = true;\n queueMicrotask(flushJobs);\n }\n}\nfunction flushJobs() {\n flushPending = false;\n flushing = true;\n for (let i = 0; i < queue.length; i++) {\n queue[i]();\n }\n queue.length = 0;\n flushing = false;\n}\n\n// packages/alpinejs/src/reactivity.js\nvar reactive;\nvar effect;\nvar release;\nvar raw;\nvar shouldSchedule = true;\nfunction disableEffectScheduling(callback) {\n shouldSchedule = false;\n callback();\n shouldSchedule = true;\n}\nfunction setReactivityEngine(engine) {\n reactive = engine.reactive;\n release = engine.release;\n effect = (callback) => engine.effect(callback, {scheduler: (task) => {\n if (shouldSchedule) {\n scheduler(task);\n } else {\n task();\n }\n }});\n raw = engine.raw;\n}\nfunction overrideEffect(override) {\n effect = override;\n}\nfunction elementBoundEffect(el) {\n let cleanup = () => {\n };\n let wrappedEffect = (callback) => {\n let effectReference = effect(callback);\n if (!el._x_effects) {\n el._x_effects = new Set();\n el._x_runEffects = () => {\n el._x_effects.forEach((i) => i());\n };\n }\n el._x_effects.add(effectReference);\n cleanup = () => {\n if (effectReference === void 0)\n return;\n el._x_effects.delete(effectReference);\n release(effectReference);\n };\n };\n return [wrappedEffect, () => {\n cleanup();\n }];\n}\n\n// packages/alpinejs/src/mutation.js\nvar onAttributeAddeds = [];\nvar onElRemoveds = [];\nvar onElAddeds = [];\nfunction onElAdded(callback) {\n onElAddeds.push(callback);\n}\nfunction onElRemoved(callback) {\n onElRemoveds.push(callback);\n}\nfunction onAttributesAdded(callback) {\n onAttributeAddeds.push(callback);\n}\nfunction onAttributeRemoved(el, name, callback) {\n if (!el._x_attributeCleanups)\n el._x_attributeCleanups = {};\n if (!el._x_attributeCleanups[name])\n el._x_attributeCleanups[name] = [];\n el._x_attributeCleanups[name].push(callback);\n}\nfunction cleanupAttributes(el, names) {\n if (!el._x_attributeCleanups)\n return;\n Object.entries(el._x_attributeCleanups).forEach(([name, value]) => {\n if (names === void 0 || names.includes(name)) {\n value.forEach((i) => i());\n delete el._x_attributeCleanups[name];\n }\n });\n}\nvar observer = new MutationObserver(onMutate);\nvar currentlyObserving = false;\nfunction startObservingMutations() {\n observer.observe(document, {subtree: true, childList: true, attributes: true, attributeOldValue: true});\n currentlyObserving = true;\n}\nfunction stopObservingMutations() {\n flushObserver();\n observer.disconnect();\n currentlyObserving = false;\n}\nvar recordQueue = [];\nvar willProcessRecordQueue = false;\nfunction flushObserver() {\n recordQueue = recordQueue.concat(observer.takeRecords());\n if (recordQueue.length && !willProcessRecordQueue) {\n willProcessRecordQueue = true;\n queueMicrotask(() => {\n processRecordQueue();\n willProcessRecordQueue = false;\n });\n }\n}\nfunction processRecordQueue() {\n onMutate(recordQueue);\n recordQueue.length = 0;\n}\nfunction mutateDom(callback) {\n if (!currentlyObserving)\n return callback();\n stopObservingMutations();\n let result = callback();\n startObservingMutations();\n return result;\n}\nvar isCollecting = false;\nvar deferredMutations = [];\nfunction deferMutations() {\n isCollecting = true;\n}\nfunction flushAndStopDeferringMutations() {\n isCollecting = false;\n onMutate(deferredMutations);\n deferredMutations = [];\n}\nfunction onMutate(mutations) {\n if (isCollecting) {\n deferredMutations = deferredMutations.concat(mutations);\n return;\n }\n let addedNodes = [];\n let removedNodes = [];\n let addedAttributes = new Map();\n let removedAttributes = new Map();\n for (let i = 0; i < mutations.length; i++) {\n if (mutations[i].target._x_ignoreMutationObserver)\n continue;\n if (mutations[i].type === \"childList\") {\n mutations[i].addedNodes.forEach((node) => node.nodeType === 1 && addedNodes.push(node));\n mutations[i].removedNodes.forEach((node) => node.nodeType === 1 && removedNodes.push(node));\n }\n if (mutations[i].type === \"attributes\") {\n let el = mutations[i].target;\n let name = mutations[i].attributeName;\n let oldValue = mutations[i].oldValue;\n let add = () => {\n if (!addedAttributes.has(el))\n addedAttributes.set(el, []);\n addedAttributes.get(el).push({name, value: el.getAttribute(name)});\n };\n let remove = () => {\n if (!removedAttributes.has(el))\n removedAttributes.set(el, []);\n removedAttributes.get(el).push(name);\n };\n if (el.hasAttribute(name) && oldValue === null) {\n add();\n } else if (el.hasAttribute(name)) {\n remove();\n add();\n } else {\n remove();\n }\n }\n }\n removedAttributes.forEach((attrs, el) => {\n cleanupAttributes(el, attrs);\n });\n addedAttributes.forEach((attrs, el) => {\n onAttributeAddeds.forEach((i) => i(el, attrs));\n });\n for (let node of addedNodes) {\n if (removedNodes.includes(node))\n continue;\n onElAddeds.forEach((i) => i(node));\n }\n for (let node of removedNodes) {\n if (addedNodes.includes(node))\n continue;\n onElRemoveds.forEach((i) => i(node));\n }\n addedNodes = null;\n removedNodes = null;\n addedAttributes = null;\n removedAttributes = null;\n}\n\n// packages/alpinejs/src/scope.js\nfunction addScopeToNode(node, data2, referenceNode) {\n node._x_dataStack = [data2, ...closestDataStack(referenceNode || node)];\n return () => {\n node._x_dataStack = node._x_dataStack.filter((i) => i !== data2);\n };\n}\nfunction refreshScope(element, scope) {\n let existingScope = element._x_dataStack[0];\n Object.entries(scope).forEach(([key, value]) => {\n existingScope[key] = value;\n });\n}\nfunction closestDataStack(node) {\n if (node._x_dataStack)\n return node._x_dataStack;\n if (typeof ShadowRoot === \"function\" && node instanceof ShadowRoot) {\n return closestDataStack(node.host);\n }\n if (!node.parentNode) {\n return [];\n }\n return closestDataStack(node.parentNode);\n}\nfunction mergeProxies(objects) {\n let thisProxy = new Proxy({}, {\n ownKeys: () => {\n return Array.from(new Set(objects.flatMap((i) => Object.keys(i))));\n },\n has: (target, name) => {\n return objects.some((obj) => obj.hasOwnProperty(name));\n },\n get: (target, name) => {\n return (objects.find((obj) => {\n if (obj.hasOwnProperty(name)) {\n let descriptor = Object.getOwnPropertyDescriptor(obj, name);\n if (descriptor.get && descriptor.get._x_alreadyBound || descriptor.set && descriptor.set._x_alreadyBound) {\n return true;\n }\n if ((descriptor.get || descriptor.set) && descriptor.enumerable) {\n let getter = descriptor.get;\n let setter = descriptor.set;\n let property = descriptor;\n getter = getter && getter.bind(thisProxy);\n setter = setter && setter.bind(thisProxy);\n if (getter)\n getter._x_alreadyBound = true;\n if (setter)\n setter._x_alreadyBound = true;\n Object.defineProperty(obj, name, {\n ...property,\n get: getter,\n set: setter\n });\n }\n return true;\n }\n return false;\n }) || {})[name];\n },\n set: (target, name, value) => {\n let closestObjectWithKey = objects.find((obj) => obj.hasOwnProperty(name));\n if (closestObjectWithKey) {\n closestObjectWithKey[name] = value;\n } else {\n objects[objects.length - 1][name] = value;\n }\n return true;\n }\n });\n return thisProxy;\n}\n\n// packages/alpinejs/src/interceptor.js\nfunction initInterceptors(data2) {\n let isObject = (val) => typeof val === \"object\" && !Array.isArray(val) && val !== null;\n let recurse = (obj, basePath = \"\") => {\n Object.entries(Object.getOwnPropertyDescriptors(obj)).forEach(([key, {value, enumerable}]) => {\n if (enumerable === false || value === void 0)\n return;\n let path = basePath === \"\" ? key : `${basePath}.${key}`;\n if (typeof value === \"object\" && value !== null && value._x_interceptor) {\n obj[key] = value.initialize(data2, path, key);\n } else {\n if (isObject(value) && value !== obj && !(value instanceof Element)) {\n recurse(value, path);\n }\n }\n });\n };\n return recurse(data2);\n}\nfunction interceptor(callback, mutateObj = () => {\n}) {\n let obj = {\n initialValue: void 0,\n _x_interceptor: true,\n initialize(data2, path, key) {\n return callback(this.initialValue, () => get(data2, path), (value) => set(data2, path, value), path, key);\n }\n };\n mutateObj(obj);\n return (initialValue) => {\n if (typeof initialValue === \"object\" && initialValue !== null && initialValue._x_interceptor) {\n let initialize = obj.initialize.bind(obj);\n obj.initialize = (data2, path, key) => {\n let innerValue = initialValue.initialize(data2, path, key);\n obj.initialValue = innerValue;\n return initialize(data2, path, key);\n };\n } else {\n obj.initialValue = initialValue;\n }\n return obj;\n };\n}\nfunction get(obj, path) {\n return path.split(\".\").reduce((carry, segment) => carry[segment], obj);\n}\nfunction set(obj, path, value) {\n if (typeof path === \"string\")\n path = path.split(\".\");\n if (path.length === 1)\n obj[path[0]] = value;\n else if (path.length === 0)\n throw error;\n else {\n if (obj[path[0]])\n return set(obj[path[0]], path.slice(1), value);\n else {\n obj[path[0]] = {};\n return set(obj[path[0]], path.slice(1), value);\n }\n }\n}\n\n// packages/alpinejs/src/magics.js\nvar magics = {};\nfunction magic(name, callback) {\n magics[name] = callback;\n}\nfunction injectMagics(obj, el) {\n Object.entries(magics).forEach(([name, callback]) => {\n Object.defineProperty(obj, `$${name}`, {\n get() {\n return callback(el, {Alpine: alpine_default, interceptor});\n },\n enumerable: false\n });\n });\n return obj;\n}\n\n// packages/alpinejs/src/utils/error.js\nfunction tryCatch(el, expression, callback, ...args) {\n try {\n return callback(...args);\n } catch (e) {\n handleError(e, el, expression);\n }\n}\nfunction handleError(error2, el, expression = void 0) {\n Object.assign(error2, {el, expression});\n console.warn(`Alpine Expression Error: ${error2.message}\n\n${expression ? 'Expression: \"' + expression + '\"\\n\\n' : \"\"}`, el);\n setTimeout(() => {\n throw error2;\n }, 0);\n}\n\n// packages/alpinejs/src/evaluator.js\nfunction evaluate(el, expression, extras = {}) {\n let result;\n evaluateLater(el, expression)((value) => result = value, extras);\n return result;\n}\nfunction evaluateLater(...args) {\n return theEvaluatorFunction(...args);\n}\nvar theEvaluatorFunction = normalEvaluator;\nfunction setEvaluator(newEvaluator) {\n theEvaluatorFunction = newEvaluator;\n}\nfunction normalEvaluator(el, expression) {\n let overriddenMagics = {};\n injectMagics(overriddenMagics, el);\n let dataStack = [overriddenMagics, ...closestDataStack(el)];\n if (typeof expression === \"function\") {\n return generateEvaluatorFromFunction(dataStack, expression);\n }\n let evaluator = generateEvaluatorFromString(dataStack, expression, el);\n return tryCatch.bind(null, el, expression, evaluator);\n}\nfunction generateEvaluatorFromFunction(dataStack, func) {\n return (receiver = () => {\n }, {scope = {}, params = []} = {}) => {\n let result = func.apply(mergeProxies([scope, ...dataStack]), params);\n runIfTypeOfFunction(receiver, result);\n };\n}\nvar evaluatorMemo = {};\nfunction generateFunctionFromString(expression, el) {\n if (evaluatorMemo[expression]) {\n return evaluatorMemo[expression];\n }\n let AsyncFunction = Object.getPrototypeOf(async function() {\n }).constructor;\n let rightSideSafeExpression = /^[\\n\\s]*if.*\\(.*\\)/.test(expression) || /^(let|const)\\s/.test(expression) ? `(() => { ${expression} })()` : expression;\n const safeAsyncFunction = () => {\n try {\n return new AsyncFunction([\"__self\", \"scope\"], `with (scope) { __self.result = ${rightSideSafeExpression} }; __self.finished = true; return __self.result;`);\n } catch (error2) {\n handleError(error2, el, expression);\n return Promise.resolve();\n }\n };\n let func = safeAsyncFunction();\n evaluatorMemo[expression] = func;\n return func;\n}\nfunction generateEvaluatorFromString(dataStack, expression, el) {\n let func = generateFunctionFromString(expression, el);\n return (receiver = () => {\n }, {scope = {}, params = []} = {}) => {\n func.result = void 0;\n func.finished = false;\n let completeScope = mergeProxies([scope, ...dataStack]);\n if (typeof func === \"function\") {\n let promise = func(func, completeScope).catch((error2) => handleError(error2, el, expression));\n if (func.finished) {\n runIfTypeOfFunction(receiver, func.result, completeScope, params, el);\n } else {\n promise.then((result) => {\n runIfTypeOfFunction(receiver, result, completeScope, params, el);\n }).catch((error2) => handleError(error2, el, expression));\n }\n }\n };\n}\nfunction runIfTypeOfFunction(receiver, value, scope, params, el) {\n if (typeof value === \"function\") {\n let result = value.apply(scope, params);\n if (result instanceof Promise) {\n result.then((i) => runIfTypeOfFunction(receiver, i, scope, params)).catch((error2) => handleError(error2, el, value));\n } else {\n receiver(result);\n }\n } else {\n receiver(value);\n }\n}\n\n// packages/alpinejs/src/directives.js\nvar prefixAsString = \"x-\";\nfunction prefix(subject = \"\") {\n return prefixAsString + subject;\n}\nfunction setPrefix(newPrefix) {\n prefixAsString = newPrefix;\n}\nvar directiveHandlers = {};\nfunction directive(name, callback) {\n directiveHandlers[name] = callback;\n}\nfunction directives(el, attributes, originalAttributeOverride) {\n let transformedAttributeMap = {};\n let directives2 = Array.from(attributes).map(toTransformedAttributes((newName, oldName) => transformedAttributeMap[newName] = oldName)).filter(outNonAlpineAttributes).map(toParsedDirectives(transformedAttributeMap, originalAttributeOverride)).sort(byPriority);\n return directives2.map((directive2) => {\n return getDirectiveHandler(el, directive2);\n });\n}\nfunction attributesOnly(attributes) {\n return Array.from(attributes).map(toTransformedAttributes()).filter((attr) => !outNonAlpineAttributes(attr));\n}\nvar isDeferringHandlers = false;\nvar directiveHandlerStacks = new Map();\nvar currentHandlerStackKey = Symbol();\nfunction deferHandlingDirectives(callback) {\n isDeferringHandlers = true;\n let key = Symbol();\n currentHandlerStackKey = key;\n directiveHandlerStacks.set(key, []);\n let flushHandlers = () => {\n while (directiveHandlerStacks.get(key).length)\n directiveHandlerStacks.get(key).shift()();\n directiveHandlerStacks.delete(key);\n };\n let stopDeferring = () => {\n isDeferringHandlers = false;\n flushHandlers();\n };\n callback(flushHandlers);\n stopDeferring();\n}\nfunction getDirectiveHandler(el, directive2) {\n let noop = () => {\n };\n let handler3 = directiveHandlers[directive2.type] || noop;\n let cleanups = [];\n let cleanup = (callback) => cleanups.push(callback);\n let [effect3, cleanupEffect] = elementBoundEffect(el);\n cleanups.push(cleanupEffect);\n let utilities = {\n Alpine: alpine_default,\n effect: effect3,\n cleanup,\n evaluateLater: evaluateLater.bind(evaluateLater, el),\n evaluate: evaluate.bind(evaluate, el)\n };\n let doCleanup = () => cleanups.forEach((i) => i());\n onAttributeRemoved(el, directive2.original, doCleanup);\n let fullHandler = () => {\n if (el._x_ignore || el._x_ignoreSelf)\n return;\n handler3.inline && handler3.inline(el, directive2, utilities);\n handler3 = handler3.bind(handler3, el, directive2, utilities);\n isDeferringHandlers ? directiveHandlerStacks.get(currentHandlerStackKey).push(handler3) : handler3();\n };\n fullHandler.runCleanups = doCleanup;\n return fullHandler;\n}\nvar startingWith = (subject, replacement) => ({name, value}) => {\n if (name.startsWith(subject))\n name = name.replace(subject, replacement);\n return {name, value};\n};\nvar into = (i) => i;\nfunction toTransformedAttributes(callback = () => {\n}) {\n return ({name, value}) => {\n let {name: newName, value: newValue} = attributeTransformers.reduce((carry, transform) => {\n return transform(carry);\n }, {name, value});\n if (newName !== name)\n callback(newName, name);\n return {name: newName, value: newValue};\n };\n}\nvar attributeTransformers = [];\nfunction mapAttributes(callback) {\n attributeTransformers.push(callback);\n}\nfunction outNonAlpineAttributes({name}) {\n return alpineAttributeRegex().test(name);\n}\nvar alpineAttributeRegex = () => new RegExp(`^${prefixAsString}([^:^.]+)\\\\b`);\nfunction toParsedDirectives(transformedAttributeMap, originalAttributeOverride) {\n return ({name, value}) => {\n let typeMatch = name.match(alpineAttributeRegex());\n let valueMatch = name.match(/:([a-zA-Z0-9\\-:]+)/);\n let modifiers = name.match(/\\.[^.\\]]+(?=[^\\]]*$)/g) || [];\n let original = originalAttributeOverride || transformedAttributeMap[name] || name;\n return {\n type: typeMatch ? typeMatch[1] : null,\n value: valueMatch ? valueMatch[1] : null,\n modifiers: modifiers.map((i) => i.replace(\".\", \"\")),\n expression: value,\n original\n };\n };\n}\nvar DEFAULT = \"DEFAULT\";\nvar directiveOrder = [\n \"ignore\",\n \"ref\",\n \"data\",\n \"bind\",\n \"init\",\n \"for\",\n \"model\",\n \"transition\",\n \"show\",\n \"if\",\n DEFAULT,\n \"element\"\n];\nfunction byPriority(a, b) {\n let typeA = directiveOrder.indexOf(a.type) === -1 ? DEFAULT : a.type;\n let typeB = directiveOrder.indexOf(b.type) === -1 ? DEFAULT : b.type;\n return directiveOrder.indexOf(typeA) - directiveOrder.indexOf(typeB);\n}\n\n// packages/alpinejs/src/utils/dispatch.js\nfunction dispatch(el, name, detail = {}) {\n el.dispatchEvent(new CustomEvent(name, {\n detail,\n bubbles: true,\n composed: true,\n cancelable: true\n }));\n}\n\n// packages/alpinejs/src/nextTick.js\nvar tickStack = [];\nvar isHolding = false;\nfunction nextTick(callback) {\n tickStack.push(callback);\n queueMicrotask(() => {\n isHolding || setTimeout(() => {\n releaseNextTicks();\n });\n });\n}\nfunction releaseNextTicks() {\n isHolding = false;\n while (tickStack.length)\n tickStack.shift()();\n}\nfunction holdNextTicks() {\n isHolding = true;\n}\n\n// packages/alpinejs/src/utils/walk.js\nfunction walk(el, callback) {\n if (typeof ShadowRoot === \"function\" && el instanceof ShadowRoot) {\n Array.from(el.children).forEach((el2) => walk(el2, callback));\n return;\n }\n let skip = false;\n callback(el, () => skip = true);\n if (skip)\n return;\n let node = el.firstElementChild;\n while (node) {\n walk(node, callback, false);\n node = node.nextElementSibling;\n }\n}\n\n// packages/alpinejs/src/utils/warn.js\nfunction warn(message, ...args) {\n console.warn(`Alpine Warning: ${message}`, ...args);\n}\n\n// packages/alpinejs/src/lifecycle.js\nfunction start() {\n if (!document.body)\n warn(\"Unable to initialize. Trying to load Alpine before `` is available. Did you forget to add `defer` in Alpine's ` + + + + @foreach (\Filament\Facades\Filament::getScripts() as $path) + + @endforeach + + diff --git a/packages/admin/resources/views/dashboard.blade.php b/packages/admin/resources/views/dashboard.blade.php new file mode 100644 index 0000000000..11ce8e5909 --- /dev/null +++ b/packages/admin/resources/views/dashboard.blade.php @@ -0,0 +1,3 @@ +
+ Dashboard +
diff --git a/packages/admin/routes/web.php b/packages/admin/routes/web.php new file mode 100644 index 0000000000..cbced82ea6 --- /dev/null +++ b/packages/admin/routes/web.php @@ -0,0 +1,24 @@ +middleware(config('filament.middleware')) + ->name('filament.') + ->prefix(config('filament.path')) + ->group(function () { + Route::get('/', Livewire\Dashboard::class)->name('dashboard'); + + foreach (Filament::getResources() as $resource) { + $resource::registerRoutes(); + } + + foreach (Filament::getPages() as $page) { + $page::registerRoutes(); + } + + Route::get('/assets/{path}', AssetController::class)->name('asset'); + }); diff --git a/packages/admin/src/Events/ServingFilament.php b/packages/admin/src/Events/ServingFilament.php new file mode 100644 index 0000000000..f844e131ec --- /dev/null +++ b/packages/admin/src/Events/ServingFilament.php @@ -0,0 +1,15 @@ +navigationGroups = array_merge($this->navigationGroups, $groups); + } + + public function registerNavigationItems(array $items): void + { + $this->navigationItems = array_merge($this->navigationItems, $items); + } + + public function registerPages(array $pages): void + { + $this->pages = array_merge($this->pages, $pages); + + foreach ($pages as $page) { + $page::registerNavigationItems(); + } + } + + public function registerResources(array $resources): void + { + $this->resources = array_merge($this->resources, $resources); + + foreach ($resources as $resource) { + $resource::registerNavigationItems(); + } + } + + public function registerScripts(array $scripts): void + { + $this->scripts = array_merge($this->scripts, $scripts); + } + + public function registerScriptData(array $data): void + { + $this->scriptData = array_merge($this->scriptData, $data); + } + + public function registerStyles(array $styles): void + { + $this->styles = array_merge($this->styles, $styles); + } + + public function registerWidgets(array $widgets): void + { + $this->widgets = array_merge($this->widgets, $widgets); + } + + public function getNavigation(): array + { + $groupedItems = collect($this->navigationItems) + ->sortBy(fn (NavigationItem $item): int => $item->getSort()) + ->groupBy(fn (NavigationItem $item): ?string => $item->getGroup()); + + $sortedGroups = $groupedItems + ->keys() + ->sortBy(function (?string $group): int { + if (! $group) { + return -1; + } + + $sort = array_search($group, $this->navigationGroups); + + if ($sort === false) { + return count($this->navigationGroups); + } + + return $sort; + }); + + return $sortedGroups + ->mapWithKeys(function (?string $group) use ($groupedItems): array { + return [$group => $groupedItems->get($group)]; + }) + ->toArray(); + } + + public function getNavigationGroups(): array + { + return $this->navigationGroups; + } + + public function getNavigationItems(): array + { + return $this->navigationItems; + } + + public function getPages(): array + { + return $this->pages; + } + + public function getResources(): array + { + return $this->resources; + } + + public function getScripts(): array + { + return $this->scripts; + } + + public function getScriptData(): array + { + return $this->scriptData; + } + + public function getStyles(): array + { + return $this->styles; + } + + public function getWidgets(): array + { + return $this->widgets; + } +} diff --git a/packages/admin/src/FilamentServiceProvider.php b/packages/admin/src/FilamentServiceProvider.php new file mode 100644 index 0000000000..4d09e56aba --- /dev/null +++ b/packages/admin/src/FilamentServiceProvider.php @@ -0,0 +1,173 @@ +name('filament') + ->hasConfigFile() + ->hasRoutes(['web']) + ->hasTranslations() + ->hasViews(); + } + + public function boot(): void + { + parent::boot(); + + $this->bootLivewireComponents(); + } + + public function register(): void + { + parent::register(); + + $this->app->singleton('filament', function (): FilamentManager { + return new FilamentManager; + }); + + $this->mergeConfigFrom(__DIR__ . '/../config/filament.php', 'filament'); + + $this->discoverPages(); + $this->discoverResources(); + $this->discoverWidgets(); + + Filament::registerPages([ + Dashboard::class, + ]); + } + + protected function bootLivewireComponents(): void + { + $this->registerLivewireComponentDirectory(__DIR__ . '/Http/Livewire', 'Filament\\Http\\Livewire', 'filament.core.'); + $this->registerLivewireComponentDirectory(__DIR__ . '/Resources', 'Filament\\Resources', 'filament.core.resources.'); + $this->registerLivewireComponentDirectory(app_path('Filament'), 'App\\Filament', 'filament.'); + } + + protected function discoverPages(): void + { + $filesystem = new Filesystem(); + + $filesystem->ensureDirectoryExists(config('filament.pages.path')); + + Filament::registerPages(collect($filesystem->allFiles(config('filament.pages.path'))) + ->map(function (SplFileInfo $file): string { + return (string) Str::of(config('filament.pages.namespace')) + ->append('\\', $file->getRelativePathname()) + ->replace(['/', '.php'], ['\\', '']); + }) + ->filter(fn (string $class): bool => is_subclass_of($class, Page::class) && (! (new ReflectionClass($class))->isAbstract())) + ->toArray()); + } + + protected function discoverResources(): void + { + $filesystem = new Filesystem(); + + $filesystem->ensureDirectoryExists(config('filament.resources.path')); + + Filament::registerResources(collect($filesystem->allFiles(config('filament.resources.path'))) + ->map(function (SplFileInfo $file): string { + return (string) Str::of(config('filament.resources.namespace')) + ->append('\\', $file->getRelativePathname()) + ->replace(['/', '.php'], ['\\', '']); + }) + ->filter(fn (string $class): bool => is_subclass_of($class, Resource::class) && (! (new ReflectionClass($class))->isAbstract())) + ->toArray()); + } + + protected function discoverWidgets(): void + { + $filesystem = new Filesystem(); + + $filesystem->ensureDirectoryExists(config('filament.widgets.path')); + + Filament::registerWidgets(collect($filesystem->allFiles(config('filament.widgets.path'))) + ->map(function (SplFileInfo $file): string { + return (string) Str::of(config('filament.widgets.namespace')) + ->append('\\', $file->getRelativePathname()) + ->replace(['/', '.php'], ['\\', '']); + }) + ->filter(fn ($class): bool => is_subclass_of($class, Widget::class) && (! (new ReflectionClass($class))->isAbstract())) + ->toArray()); + } + + protected function mergeConfig(array $original, array $merging): array + { + $array = array_merge($original, $merging); + + foreach ($original as $key => $value) { + if (! is_array($value)) { + continue; + } + + if (! Arr::exists($merging, $key)) { + continue; + } + + if (is_numeric($key)) { + continue; + } + + if ($key === 'middleware') { + continue; + } + + $array[$key] = $this->mergeConfig($value, $merging[$key]); + } + + return $array; + } + + protected function mergeConfigFrom($path, $key): void + { + $config = $this->app['config']->get($key, []); + + $this->app['config']->set($key, $this->mergeConfig(require $path, $config)); + } + + protected function registerLivewireComponentDirectory(string $directory, string $namespace, string $aliasPrefix = ''): void + { + $filesystem = new Filesystem(); + + if (! $filesystem->isDirectory($directory)) { + return; + } + + collect($filesystem->allFiles($directory)) + ->map(function (SplFileInfo $file) use ($namespace): string { + return (string) Str::of($namespace) + ->append('\\', $file->getRelativePathname()) + ->replace(['/', '.php'], ['\\', '']); + }) + ->filter(fn (string $class): bool => is_subclass_of($class, Component::class) && (! (new ReflectionClass($class))->isAbstract())) + ->each(function (string $class) use ($namespace, $aliasPrefix): void { + $alias = Str::of($class) + ->after($namespace . '\\') + ->replace(['/', '\\'], '.') + ->prepend($aliasPrefix) + ->explode('.') + ->map([Str::class, 'kebab']) + ->implode('.'); + + Livewire::component($alias, $class); + }); + } +} diff --git a/packages/admin/src/Http/Controllers/AssetController.php b/packages/admin/src/Http/Controllers/AssetController.php new file mode 100644 index 0000000000..077bc63582 --- /dev/null +++ b/packages/admin/src/Http/Controllers/AssetController.php @@ -0,0 +1,51 @@ +pretendResponseIsFile(__DIR__ . '/../../../dist/app.css', 'text/css; charset=utf-8'); + case 'app.css.map': + return $this->pretendResponseIsFile(__DIR__ . '/../../../dist/app.css.map', 'text/css; charset=utf-8'); + case 'app.js': + return $this->pretendResponseIsFile(__DIR__ . '/../../../dist/app.js', 'application/javascript; charset=utf-8'); + case 'app.js.map': + return $this->pretendResponseIsFile(__DIR__ . '/../../../dist/app.js.map', 'application/json; charset=utf-8'); + } + + abort(404); + } + + protected function getHttpDate($timestamp) + { + return sprintf('%s GMT', gmdate('D, d M Y H:i:s', $timestamp)); + } + + protected function pretendResponseIsFile($path, $contentType) + { + abort_if(! file_exists($path), 404); + + $cacheControl = 'public, max-age=31536000'; + $expires = strtotime('+1 year'); + + $lastModified = filemtime($path); + + if (@strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE'] ?? '') === $lastModified) { + return response()->noContent(304, [ + 'Expires' => $this->getHttpDate($expires), + 'Cache-Control' => $cacheControl, + ]); + } + + return response()->file($path, [ + 'Content-Type' => $contentType, + 'Expires' => $this->getHttpDate($expires), + 'Cache-Control' => $cacheControl, + 'Last-Modified' => $this->getHttpDate($lastModified), + ]); + } +} diff --git a/packages/admin/src/Http/Livewire/Dashboard.php b/packages/admin/src/Http/Livewire/Dashboard.php new file mode 100644 index 0000000000..1a5dc5fb06 --- /dev/null +++ b/packages/admin/src/Http/Livewire/Dashboard.php @@ -0,0 +1,16 @@ +group = $group; + + return $this; + } + + public function icon(string $icon): static + { + $this->icon = $icon; + + return $this; + } + + public function isActiveWhen(Closure $callback): static + { + $this->isActiveWhen = $callback; + + return $this; + } + + public function label(string $label): static + { + $this->label = $label; + + return $this; + } + + public function sort(?int $sort): static + { + $this->sort = $sort; + + return $this; + } + + public function url(?string $url): static + { + $this->url = $url; + + return $this; + } + + public function getGroup(): ?string + { + return $this->group; + } + + public function getIcon(): string + { + return $this->icon; + } + + public function getLabel(): string + { + return $this->label; + } + + public function getSort(): int + { + return $this->sort ?? -1; + } + + public function getUrl(): ?string + { + return $this->url; + } + + public function isActive(): bool + { + $callback = $this->isActiveWhen; + + if ($callback === null) { + return false; + } + + return app()->call($callback); + } +} diff --git a/packages/admin/src/Pages/Page.php b/packages/admin/src/Pages/Page.php new file mode 100644 index 0000000000..3818ccdcb2 --- /dev/null +++ b/packages/admin/src/Pages/Page.php @@ -0,0 +1,130 @@ +group(static::getNavigationGroup()) + ->icon(static::getNavigationIcon()) + ->isActiveWhen(fn () => request()->routeIs([ + $routeName = static::getRouteName(), + "{$routeName}*", + ])) + ->label(static::getNavigationLabel()) + ->sort(static::getNavigationSort()) + ->url(static::getNavigationUrl()), + ]); + } + + public static function registerRoutes(): void + { + // + } + + public function render(): View + { + return view(static::$view, $this->getViewData()) + ->layout(static::$layout, $this->getLayoutData()); + } + + protected static function getBreadcrumbs(): array + { + return [ + + ]; + } + + protected static function getNavigationGroup(): ?string + { + return static::$navigationGroup; + } + + protected static function getNavigationIcon(): string + { + return static::$navigationIcon ?? 'heroicon-o-document-text'; + } + + protected static function getNavigationLabel(): string + { + return static::$navigationLabel ?? static::getTitle(); + } + + protected static function getNavigationSort(): ?int + { + return static::$navigationSort; + } + + protected static function getNavigationUrl(): string + { + return ''; + } + + protected static function getRouteName(): string + { + $slug = static::getSlug(); + + return static::$routeName ?? "filament.pages.{$slug}"; + } + + protected static function getSlug(): string + { + return static::$slug ?? (string) Str::kebab(static::getTitle()); + } + + protected static function getTitle(): string + { + return static::$title ?? (string) Str::of(class_basename(static::class)) + ->kebab() + ->replace('-', ' ') + ->title(); + } + + protected static function getUrl(): string + { + return route(static::getRouteName()); + } + + protected function getLayoutData(): array + { + return [ + 'title' => static::getTitle(), + ]; + } + + protected function getViewData(): array + { + return [ + 'title' => static::getTitle(), + ]; + } +} diff --git a/packages/admin/src/Resources/Resource.php b/packages/admin/src/Resources/Resource.php new file mode 100644 index 0000000000..1015f05917 --- /dev/null +++ b/packages/admin/src/Resources/Resource.php @@ -0,0 +1,112 @@ +group(static::getNavigationGroup()) + ->icon(static::getNavigationIcon()) + ->isActiveWhen(fn () => request()->routeIs([ + $routeName = static::getRouteName(), + "{$routeName}*", + ])) + ->label(static::getNavigationLabel()) + ->sort(static::getNavigationSort()) + ->url(static::getNavigationUrl()), + ]); + } + + public static function registerRoutes(): void + { + // + } + + protected static function getLabel(): string + { + return static::$label ?? (string) Str::of(class_basename(static::getModel())) + ->kebab() + ->replace('-', ' '); + } + + protected static function getModel(): string + { + return static::$model ?? (string) Str::of(class_basename(static::class)) + ->beforeLast('Resource') + ->prepend('App\\Models\\'); + } + + protected static function getNavigationGroup(): ?string + { + return static::$navigationGroup; + } + + protected static function getNavigationIcon(): string + { + return static::$navigationIcon ?? 'heroicon-o-collection'; + } + + protected static function getNavigationLabel(): string + { + return static::$navigationLabel ?? Str::title(static::getPluralLabel()); + } + + protected static function getNavigationSort(): ?int + { + return static::$navigationSort; + } + + protected static function getNavigationUrl(): string + { + return ''; + } + + protected static function getPluralLabel(): string + { + return static::$pluralLabel ?? Str::plural(static::getLabel()); + } + + protected static function getRouteName(): string + { + $slug = static::getSlug(); + + return static::$routeName ?? "filament.resources.{$slug}"; + } + + protected static function getSlug(): string + { + return static::$slug ?? (string) Str::of(class_basename(static::getModel())) + ->plural() + ->kebab(); + } + + protected static function getUrl(): string + { + return route(static::getRouteName()); + } +} diff --git a/packages/admin/src/helpers.php b/packages/admin/src/helpers.php new file mode 100644 index 0000000000..dbda271755 --- /dev/null +++ b/packages/admin/src/helpers.php @@ -0,0 +1,30 @@ +after('id='); + } +} diff --git a/packages/admin/tailwind.config.js b/packages/admin/tailwind.config.js new file mode 100644 index 0000000000..17e7cd6374 --- /dev/null +++ b/packages/admin/tailwind.config.js @@ -0,0 +1,29 @@ +const colors = require('tailwindcss/colors') +const defaultTheme = require('tailwindcss/defaultTheme') + +module.exports = { + mode: 'jit', + purge: [ + './packages/admin/resources/**/*.blade.php', + './packages/forms/resources/**/*.blade.php', + './packages/tables/resources/**/*.blade.php', + ], + theme: { + extend: { + colors: { + danger: colors.rose, + primary: colors.yellow, + success: colors.green, + warning: colors.amber, + }, + fontFamily: { + mono: ['JetBrains Mono', ...defaultTheme.fontFamily.mono], + sans: ['DM Sans', ...defaultTheme.fontFamily.sans], + }, + }, + }, + plugins: [ + require('@tailwindcss/forms'), + require('@tailwindcss/typography'), + ], +} diff --git a/packages/forms/dist/module.esm.css b/packages/forms/dist/module.esm.css index 17b7771f09..29ce6dbfc1 100644 --- a/packages/forms/dist/module.esm.css +++ b/packages/forms/dist/module.esm.css @@ -1,5 +1,137 @@ @charset "UTF-8"; +/* node_modules/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css */ +.filepond--image-preview-markup { + position: absolute; + left: 0; + top: 0; +} +.filepond--image-preview-wrapper { + z-index: 2; +} +.filepond--image-preview-overlay { + display: block; + position: absolute; + left: 0; + top: 0; + width: 100%; + min-height: 5rem; + max-height: 7rem; + margin: 0; + opacity: 0; + z-index: 2; + pointer-events: none; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.filepond--image-preview-overlay svg { + width: 100%; + height: auto; + color: inherit; + max-height: inherit; +} +.filepond--image-preview-overlay-idle { + mix-blend-mode: multiply; + color: rgba(40, 40, 40, 0.85); +} +.filepond--image-preview-overlay-success { + mix-blend-mode: normal; + color: rgba(54, 151, 99, 1); +} +.filepond--image-preview-overlay-failure { + mix-blend-mode: normal; + color: rgba(196, 78, 71, 1); +} +@supports (-webkit-marquee-repetition: infinite) and ((-o-object-fit: fill) or (object-fit: fill)) { + .filepond--image-preview-overlay-idle { + mix-blend-mode: normal; + } +} +.filepond--image-preview-wrapper { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + position: absolute; + left: 0; + top: 0; + right: 0; + height: 100%; + margin: 0; + border-radius: 0.45em; + overflow: hidden; + background: rgba(0, 0, 0, 0.01); +} +.filepond--image-preview { + position: absolute; + left: 0; + top: 0; + z-index: 1; + display: flex; + align-items: center; + height: 100%; + width: 100%; + pointer-events: none; + background: #222; + will-change: transform, opacity; +} +.filepond--image-clip { + position: relative; + overflow: hidden; + margin: 0 auto; +} +.filepond--image-clip[data-transparency-indicator=grid] img, +.filepond--image-clip[data-transparency-indicator=grid] canvas { + background-color: #fff; + background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' fill='%23eee'%3E%3Cpath d='M0 0 H50 V50 H0'/%3E%3Cpath d='M50 50 H100 V100 H50'/%3E%3C/svg%3E"); + background-size: 1.25em 1.25em; +} +.filepond--image-bitmap, +.filepond--image-vector { + position: absolute; + left: 0; + top: 0; + will-change: transform; +} +.filepond--root[data-style-panel-layout~=integrated] .filepond--image-preview-wrapper { + border-radius: 0; +} +.filepond--root[data-style-panel-layout~=integrated] .filepond--image-preview { + height: 100%; + display: flex; + justify-content: center; + align-items: center; +} +.filepond--root[data-style-panel-layout~=circle] .filepond--image-preview-wrapper { + border-radius: 99999rem; +} +.filepond--root[data-style-panel-layout~=circle] .filepond--image-preview-overlay { + top: auto; + bottom: 0; + -webkit-transform: scaleY(-1); + transform: scaleY(-1); +} +.filepond--root[data-style-panel-layout~=circle] .filepond--file .filepond--file-action-button[data-align*=bottom]:not([data-align*="center"]) { + margin-bottom: 0.325em; +} +.filepond--root[data-style-panel-layout~=circle] .filepond--file [data-align*=left] { + left: calc(50% - 3em); +} +.filepond--root[data-style-panel-layout~=circle] .filepond--file [data-align*=right] { + right: calc(50% - 3em); +} +.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=left], +.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=right] { + margin-bottom: calc(0.325em + 0.1875em); +} +.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=center] { + margin-top: 0; + margin-bottom: 0.1875em; + margin-left: 0.1875em; +} + /* node_modules/filepond/dist/filepond.min.css */ .filepond--assistant { position: absolute; @@ -844,143 +976,6 @@ margin-top: 14px; } -/* node_modules/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.css */ -.filepond--image-preview-markup { - position: absolute; - left: 0; - top: 0; -} -.filepond--image-preview-wrapper { - z-index: 2; -} -.filepond--image-preview-overlay { - display: block; - position: absolute; - left: 0; - top: 0; - width: 100%; - min-height: 5rem; - max-height: 7rem; - margin: 0; - opacity: 0; - z-index: 2; - pointer-events: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; -} -.filepond--image-preview-overlay svg { - width: 100%; - height: auto; - color: inherit; - max-height: inherit; -} -.filepond--image-preview-overlay-idle { - mix-blend-mode: multiply; - color: rgba(40, 40, 40, 0.85); -} -.filepond--image-preview-overlay-success { - mix-blend-mode: normal; - color: rgba(54, 151, 99, 1); -} -.filepond--image-preview-overlay-failure { - mix-blend-mode: normal; - color: rgba(196, 78, 71, 1); -} -@supports (-webkit-marquee-repetition: infinite) and ((-o-object-fit: fill) or (object-fit: fill)) { - .filepond--image-preview-overlay-idle { - mix-blend-mode: normal; - } -} -.filepond--image-preview-wrapper { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - position: absolute; - left: 0; - top: 0; - right: 0; - height: 100%; - margin: 0; - border-radius: 0.45em; - overflow: hidden; - background: rgba(0, 0, 0, 0.01); -} -.filepond--image-preview { - position: absolute; - left: 0; - top: 0; - z-index: 1; - display: flex; - align-items: center; - height: 100%; - width: 100%; - pointer-events: none; - background: #222; - will-change: transform, opacity; -} -.filepond--image-clip { - position: relative; - overflow: hidden; - margin: 0 auto; -} -.filepond--image-clip[data-transparency-indicator=grid] img, -.filepond--image-clip[data-transparency-indicator=grid] canvas { - background-color: #fff; - background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg' fill='%23eee'%3E%3Cpath d='M0 0 H50 V50 H0'/%3E%3Cpath d='M50 50 H100 V100 H50'/%3E%3C/svg%3E"); - background-size: 1.25em 1.25em; -} -.filepond--image-bitmap, -.filepond--image-vector { - position: absolute; - left: 0; - top: 0; - will-change: transform; -} -.filepond--root[data-style-panel-layout~=integrated] .filepond--image-preview-wrapper { - border-radius: 0; -} -.filepond--root[data-style-panel-layout~=integrated] .filepond--image-preview { - height: 100%; - display: flex; - justify-content: center; - align-items: center; -} -.filepond--root[data-style-panel-layout~=circle] .filepond--image-preview-wrapper { - border-radius: 99999rem; -} -.filepond--root[data-style-panel-layout~=circle] .filepond--image-preview-overlay { - top: auto; - bottom: 0; - -webkit-transform: scaleY(-1); - transform: scaleY(-1); -} -.filepond--root[data-style-panel-layout~=circle] .filepond--file .filepond--file-action-button[data-align*=bottom]:not([data-align*="center"]) { - margin-bottom: 0.325em; -} -.filepond--root[data-style-panel-layout~=circle] .filepond--file [data-align*=left] { - left: calc(50% - 3em); -} -.filepond--root[data-style-panel-layout~=circle] .filepond--file [data-align*=right] { - right: calc(50% - 3em); -} -.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=left], -.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=right] { - margin-bottom: calc(0.325em + 0.1875em); -} -.filepond--root[data-style-panel-layout~=circle] .filepond--progress-indicator[data-align*=bottom][data-align*=center] { - margin-top: 0; - margin-bottom: 0.1875em; - margin-left: 0.1875em; -} - -/* packages/forms/resources/css/components/file-upload.css */ -.filepond--root { - margin-bottom: 0; -} - /* node_modules/trix/dist/trix.css */ trix-editor { border: 1px solid #bbb; @@ -1447,3 +1442,8 @@ trix-editor .attachment__metadata .attachment__size { flex-basis: 50%; max-width: 50%; } + +/* packages/forms/resources/css/components/file-upload.css */ +.filepond--root { + margin-bottom: 0; +} diff --git a/packages/forms/dist/module.esm.js b/packages/forms/dist/module.esm.js index dcb14d57d5..7c2dbc0532 100644 --- a/packages/forms/dist/module.esm.js +++ b/packages/forms/dist/module.esm.js @@ -1,5505 +1,5503 @@ var __create = Object.create; var __defProp = Object.defineProperty; -var __getOwnPropDesc = Object.getOwnPropertyDescriptor; -var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; -var __markAsModule = (target) => __defProp(target, "__esModule", { value: true }); -var __commonJS = (cb, mod) => function __require() { - return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __markAsModule = (target) => __defProp(target, "__esModule", {value: true}); +var __commonJS = (callback, module) => () => { + if (!module) { + module = {exports: {}}; + callback(module.exports, module); + } + return module.exports; }; -var __reExport = (target, module, desc) => { +var __exportStar = (target, module, desc) => { if (module && typeof module === "object" || typeof module === "function") { for (let key of __getOwnPropNames(module)) if (!__hasOwnProp.call(target, key) && key !== "default") - __defProp(target, key, { get: () => module[key], enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable }); + __defProp(target, key, {get: () => module[key], enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable}); } return target; }; var __toModule = (module) => { - return __reExport(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, "default", module && module.__esModule && "default" in module ? { get: () => module.default, enumerable: true } : { value: module, enumerable: true })), module); + return __exportStar(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, "default", module && module.__esModule && "default" in module ? {get: () => module.default, enumerable: true} : {value: module, enumerable: true})), module); }; // node_modules/dayjs/plugin/customParseFormat.js -var require_customParseFormat = __commonJS({ - "node_modules/dayjs/plugin/customParseFormat.js"(exports, module) { - !function(t2, e2) { - typeof exports == "object" && typeof module != "undefined" ? module.exports = e2() : typeof define == "function" && define.amd ? define(e2) : (t2 = typeof globalThis != "undefined" ? globalThis : t2 || self).dayjs_plugin_customParseFormat = e2(); - }(exports, function() { - "use strict"; - var t2 = { LTS: "h:mm:ss A", LT: "h:mm A", L: "MM/DD/YYYY", LL: "MMMM D, YYYY", LLL: "MMMM D, YYYY h:mm A", LLLL: "dddd, MMMM D, YYYY h:mm A" }, e2 = /(\[[^[]*\])|([-:/.()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g, n2 = /\d\d/, r2 = /\d\d?/, i = /\d*[^\s\d-_:/()]+/, o2 = {}, s2 = function(t3) { - return (t3 = +t3) + (t3 > 68 ? 1900 : 2e3); +var require_customParseFormat = __commonJS((exports, module) => { + !function(t2, e2) { + typeof exports == "object" && typeof module != "undefined" ? module.exports = e2() : typeof define == "function" && define.amd ? define(e2) : (t2 = typeof globalThis != "undefined" ? globalThis : t2 || self).dayjs_plugin_customParseFormat = e2(); + }(exports, function() { + "use strict"; + var t2 = {LTS: "h:mm:ss A", LT: "h:mm A", L: "MM/DD/YYYY", LL: "MMMM D, YYYY", LLL: "MMMM D, YYYY h:mm A", LLLL: "dddd, MMMM D, YYYY h:mm A"}, e2 = /(\[[^[]*\])|([-:/.()\s]+)|(A|a|YYYY|YY?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g, n2 = /\d\d/, r2 = /\d\d?/, i = /\d*[^\s\d-_:/()]+/, o2 = {}, s2 = function(t3) { + return (t3 = +t3) + (t3 > 68 ? 1900 : 2e3); + }; + var a2 = function(t3) { + return function(e3) { + this[t3] = +e3; }; - var a2 = function(t3) { - return function(e3) { - this[t3] = +e3; - }; - }, f = [/[+-]\d\d:?(\d\d)?|Z/, function(t3) { - (this.zone || (this.zone = {})).offset = function(t4) { - if (!t4) - return 0; - if (t4 === "Z") - return 0; - var e3 = t4.match(/([+-]|\d\d)/g), n3 = 60 * e3[1] + (+e3[2] || 0); - return n3 === 0 ? 0 : e3[0] === "+" ? -n3 : n3; - }(t3); - }], u = function(t3) { - var e3 = o2[t3]; - return e3 && (e3.indexOf ? e3 : e3.s.concat(e3.f)); - }, h = function(t3, e3) { - var n3, r3 = o2.meridiem; - if (r3) { - for (var i2 = 1; i2 <= 24; i2 += 1) - if (t3.indexOf(r3(i2, 0, e3)) > -1) { - n3 = i2 > 12; + }, f = [/[+-]\d\d:?(\d\d)?|Z/, function(t3) { + (this.zone || (this.zone = {})).offset = function(t4) { + if (!t4) + return 0; + if (t4 === "Z") + return 0; + var e3 = t4.match(/([+-]|\d\d)/g), n3 = 60 * e3[1] + (+e3[2] || 0); + return n3 === 0 ? 0 : e3[0] === "+" ? -n3 : n3; + }(t3); + }], u = function(t3) { + var e3 = o2[t3]; + return e3 && (e3.indexOf ? e3 : e3.s.concat(e3.f)); + }, h = function(t3, e3) { + var n3, r3 = o2.meridiem; + if (r3) { + for (var i2 = 1; i2 <= 24; i2 += 1) + if (t3.indexOf(r3(i2, 0, e3)) > -1) { + n3 = i2 > 12; + break; + } + } else + n3 = t3 === (e3 ? "pm" : "PM"); + return n3; + }, d = {A: [i, function(t3) { + this.afternoon = h(t3, false); + }], a: [i, function(t3) { + this.afternoon = h(t3, true); + }], S: [/\d/, function(t3) { + this.milliseconds = 100 * +t3; + }], SS: [n2, function(t3) { + this.milliseconds = 10 * +t3; + }], SSS: [/\d{3}/, function(t3) { + this.milliseconds = +t3; + }], s: [r2, a2("seconds")], ss: [r2, a2("seconds")], m: [r2, a2("minutes")], mm: [r2, a2("minutes")], H: [r2, a2("hours")], h: [r2, a2("hours")], HH: [r2, a2("hours")], hh: [r2, a2("hours")], D: [r2, a2("day")], DD: [n2, a2("day")], Do: [i, function(t3) { + var e3 = o2.ordinal, n3 = t3.match(/\d+/); + if (this.day = n3[0], e3) + for (var r3 = 1; r3 <= 31; r3 += 1) + e3(r3).replace(/\[|\]/g, "") === t3 && (this.day = r3); + }], M: [r2, a2("month")], MM: [n2, a2("month")], MMM: [i, function(t3) { + var e3 = u("months"), n3 = (u("monthsShort") || e3.map(function(t4) { + return t4.substr(0, 3); + })).indexOf(t3) + 1; + if (n3 < 1) + throw new Error(); + this.month = n3 % 12 || n3; + }], MMMM: [i, function(t3) { + var e3 = u("months").indexOf(t3) + 1; + if (e3 < 1) + throw new Error(); + this.month = e3 % 12 || e3; + }], Y: [/[+-]?\d+/, a2("year")], YY: [n2, function(t3) { + this.year = s2(t3); + }], YYYY: [/\d{4}/, a2("year")], Z: f, ZZ: f}; + function c2(n3) { + var r3, i2; + r3 = n3, i2 = o2 && o2.formats; + for (var s3 = (n3 = r3.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g, function(e3, n4, r4) { + var o3 = r4 && r4.toUpperCase(); + return n4 || i2[r4] || t2[r4] || i2[o3].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, function(t3, e4, n5) { + return e4 || n5.slice(1); + }); + })).match(e2), a3 = s3.length, f2 = 0; f2 < a3; f2 += 1) { + var u2 = s3[f2], h2 = d[u2], c3 = h2 && h2[0], l = h2 && h2[1]; + s3[f2] = l ? {regex: c3, parser: l} : u2.replace(/^\[|\]$/g, ""); + } + return function(t3) { + for (var e3 = {}, n4 = 0, r4 = 0; n4 < a3; n4 += 1) { + var i3 = s3[n4]; + if (typeof i3 == "string") + r4 += i3.length; + else { + var o3 = i3.regex, f3 = i3.parser, u3 = t3.substr(r4), h3 = o3.exec(u3)[0]; + f3.call(e3, h3), t3 = t3.replace(h3, ""); + } + } + return function(t4) { + var e4 = t4.afternoon; + if (e4 !== void 0) { + var n5 = t4.hours; + e4 ? n5 < 12 && (t4.hours += 12) : n5 === 12 && (t4.hours = 0), delete t4.afternoon; + } + }(e3), e3; + }; + } + return function(t3, e3, n3) { + n3.p.customParseFormat = true, t3 && t3.parseTwoDigitYear && (s2 = t3.parseTwoDigitYear); + var r3 = e3.prototype, i2 = r3.parse; + r3.parse = function(t4) { + var e4 = t4.date, r4 = t4.utc, s3 = t4.args; + this.$u = r4; + var a3 = s3[1]; + if (typeof a3 == "string") { + var f2 = s3[2] === true, u2 = s3[3] === true, h2 = f2 || u2, d2 = s3[2]; + u2 && (d2 = s3[2]), o2 = this.$locale(), !f2 && d2 && (o2 = n3.Ls[d2]), this.$d = function(t5, e5, n4) { + try { + if (["x", "X"].indexOf(e5) > -1) + return new Date((e5 === "X" ? 1e3 : 1) * t5); + var r5 = c2(e5)(t5), i3 = r5.year, o3 = r5.month, s4 = r5.day, a4 = r5.hours, f3 = r5.minutes, u3 = r5.seconds, h3 = r5.milliseconds, d3 = r5.zone, l2 = new Date(), m2 = s4 || (i3 || o3 ? 1 : l2.getDate()), M3 = i3 || l2.getFullYear(), Y2 = 0; + i3 && !o3 || (Y2 = o3 > 0 ? o3 - 1 : l2.getMonth()); + var p2 = a4 || 0, v = f3 || 0, D2 = u3 || 0, g = h3 || 0; + return d3 ? new Date(Date.UTC(M3, Y2, m2, p2, v, D2, g + 60 * d3.offset * 1e3)) : n4 ? new Date(Date.UTC(M3, Y2, m2, p2, v, D2, g)) : new Date(M3, Y2, m2, p2, v, D2, g); + } catch (t6) { + return new Date(""); + } + }(e4, a3, r4), this.init(), d2 && d2 !== true && (this.$L = this.locale(d2).$L), h2 && e4 != this.format(a3) && (this.$d = new Date("")), o2 = {}; + } else if (a3 instanceof Array) + for (var l = a3.length, m = 1; m <= l; m += 1) { + s3[1] = a3[m - 1]; + var M2 = n3.apply(this, s3); + if (M2.isValid()) { + this.$d = M2.$d, this.$L = M2.$L, this.init(); break; } - } else - n3 = t3 === (e3 ? "pm" : "PM"); - return n3; - }, d = { A: [i, function(t3) { - this.afternoon = h(t3, false); - }], a: [i, function(t3) { - this.afternoon = h(t3, true); - }], S: [/\d/, function(t3) { - this.milliseconds = 100 * +t3; - }], SS: [n2, function(t3) { - this.milliseconds = 10 * +t3; - }], SSS: [/\d{3}/, function(t3) { - this.milliseconds = +t3; - }], s: [r2, a2("seconds")], ss: [r2, a2("seconds")], m: [r2, a2("minutes")], mm: [r2, a2("minutes")], H: [r2, a2("hours")], h: [r2, a2("hours")], HH: [r2, a2("hours")], hh: [r2, a2("hours")], D: [r2, a2("day")], DD: [n2, a2("day")], Do: [i, function(t3) { - var e3 = o2.ordinal, n3 = t3.match(/\d+/); - if (this.day = n3[0], e3) - for (var r3 = 1; r3 <= 31; r3 += 1) - e3(r3).replace(/\[|\]/g, "") === t3 && (this.day = r3); - }], M: [r2, a2("month")], MM: [n2, a2("month")], MMM: [i, function(t3) { - var e3 = u("months"), n3 = (u("monthsShort") || e3.map(function(t4) { - return t4.substr(0, 3); - })).indexOf(t3) + 1; - if (n3 < 1) - throw new Error(); - this.month = n3 % 12 || n3; - }], MMMM: [i, function(t3) { - var e3 = u("months").indexOf(t3) + 1; - if (e3 < 1) - throw new Error(); - this.month = e3 % 12 || e3; - }], Y: [/[+-]?\d+/, a2("year")], YY: [n2, function(t3) { - this.year = s2(t3); - }], YYYY: [/\d{4}/, a2("year")], Z: f, ZZ: f }; - function c2(n3) { - var r3, i2; - r3 = n3, i2 = o2 && o2.formats; - for (var s3 = (n3 = r3.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g, function(e3, n4, r4) { - var o3 = r4 && r4.toUpperCase(); - return n4 || i2[r4] || t2[r4] || i2[o3].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, function(t3, e4, n5) { - return e4 || n5.slice(1); - }); - })).match(e2), a3 = s3.length, f2 = 0; f2 < a3; f2 += 1) { - var u2 = s3[f2], h2 = d[u2], c3 = h2 && h2[0], l = h2 && h2[1]; - s3[f2] = l ? { regex: c3, parser: l } : u2.replace(/^\[|\]$/g, ""); - } - return function(t3) { - for (var e3 = {}, n4 = 0, r4 = 0; n4 < a3; n4 += 1) { - var i3 = s3[n4]; - if (typeof i3 == "string") - r4 += i3.length; - else { - var o3 = i3.regex, f3 = i3.parser, u3 = t3.substr(r4), h3 = o3.exec(u3)[0]; - f3.call(e3, h3), t3 = t3.replace(h3, ""); - } + m === l && (this.$d = new Date("")); } - return function(t4) { - var e4 = t4.afternoon; - if (e4 !== void 0) { - var n5 = t4.hours; - e4 ? n5 < 12 && (t4.hours += 12) : n5 === 12 && (t4.hours = 0), delete t4.afternoon; - } - }(e3), e3; - }; - } - return function(t3, e3, n3) { - n3.p.customParseFormat = true, t3 && t3.parseTwoDigitYear && (s2 = t3.parseTwoDigitYear); - var r3 = e3.prototype, i2 = r3.parse; - r3.parse = function(t4) { - var e4 = t4.date, r4 = t4.utc, s3 = t4.args; - this.$u = r4; - var a3 = s3[1]; - if (typeof a3 == "string") { - var f2 = s3[2] === true, u2 = s3[3] === true, h2 = f2 || u2, d2 = s3[2]; - u2 && (d2 = s3[2]), o2 = this.$locale(), !f2 && d2 && (o2 = n3.Ls[d2]), this.$d = function(t5, e5, n4) { - try { - if (["x", "X"].indexOf(e5) > -1) - return new Date((e5 === "X" ? 1e3 : 1) * t5); - var r5 = c2(e5)(t5), i3 = r5.year, o3 = r5.month, s4 = r5.day, a4 = r5.hours, f3 = r5.minutes, u3 = r5.seconds, h3 = r5.milliseconds, d3 = r5.zone, l2 = new Date(), m2 = s4 || (i3 || o3 ? 1 : l2.getDate()), M3 = i3 || l2.getFullYear(), Y2 = 0; - i3 && !o3 || (Y2 = o3 > 0 ? o3 - 1 : l2.getMonth()); - var p2 = a4 || 0, v = f3 || 0, D2 = u3 || 0, g = h3 || 0; - return d3 ? new Date(Date.UTC(M3, Y2, m2, p2, v, D2, g + 60 * d3.offset * 1e3)) : n4 ? new Date(Date.UTC(M3, Y2, m2, p2, v, D2, g)) : new Date(M3, Y2, m2, p2, v, D2, g); - } catch (t6) { - return new Date(""); - } - }(e4, a3, r4), this.init(), d2 && d2 !== true && (this.$L = this.locale(d2).$L), h2 && e4 != this.format(a3) && (this.$d = new Date("")), o2 = {}; - } else if (a3 instanceof Array) - for (var l = a3.length, m = 1; m <= l; m += 1) { - s3[1] = a3[m - 1]; - var M2 = n3.apply(this, s3); - if (M2.isValid()) { - this.$d = M2.$d, this.$L = M2.$L, this.init(); - break; - } - m === l && (this.$d = new Date("")); - } - else - i2.call(this, t4); - }; + else + i2.call(this, t4); }; - }); - } + }; + }); }); // node_modules/dayjs/plugin/localeData.js -var require_localeData = __commonJS({ - "node_modules/dayjs/plugin/localeData.js"(exports, module) { - !function(n2, e2) { - typeof exports == "object" && typeof module != "undefined" ? module.exports = e2() : typeof define == "function" && define.amd ? define(e2) : (n2 = typeof globalThis != "undefined" ? globalThis : n2 || self).dayjs_plugin_localeData = e2(); - }(exports, function() { - "use strict"; - return function(n2, e2, t2) { - var r2 = e2.prototype, o2 = function(n3) { - return n3 && (n3.indexOf ? n3 : n3.s); - }, u = function(n3, e3, t3, r3, u2) { - var i2 = n3.name ? n3 : n3.$locale(), a3 = o2(i2[e3]), s3 = o2(i2[t3]), f = a3 || s3.map(function(n4) { - return n4.substr(0, r3); +var require_localeData = __commonJS((exports, module) => { + !function(n2, e2) { + typeof exports == "object" && typeof module != "undefined" ? module.exports = e2() : typeof define == "function" && define.amd ? define(e2) : (n2 = typeof globalThis != "undefined" ? globalThis : n2 || self).dayjs_plugin_localeData = e2(); + }(exports, function() { + "use strict"; + return function(n2, e2, t2) { + var r2 = e2.prototype, o2 = function(n3) { + return n3 && (n3.indexOf ? n3 : n3.s); + }, u = function(n3, e3, t3, r3, u2) { + var i2 = n3.name ? n3 : n3.$locale(), a3 = o2(i2[e3]), s3 = o2(i2[t3]), f = a3 || s3.map(function(n4) { + return n4.substr(0, r3); + }); + if (!u2) + return f; + var d = i2.weekStart; + return f.map(function(n4, e4) { + return f[(e4 + (d || 0)) % 7]; + }); + }, i = function() { + return t2.Ls[t2.locale()]; + }, a2 = function(n3, e3) { + return n3.formats[e3] || function(n4) { + return n4.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, function(n5, e4, t3) { + return e4 || t3.slice(1); }); - if (!u2) - return f; - var d = i2.weekStart; - return f.map(function(n4, e4) { - return f[(e4 + (d || 0)) % 7]; - }); - }, i = function() { - return t2.Ls[t2.locale()]; - }, a2 = function(n3, e3) { - return n3.formats[e3] || function(n4) { - return n4.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, function(n5, e4, t3) { - return e4 || t3.slice(1); - }); - }(n3.formats[e3.toUpperCase()]); - }, s2 = function() { - var n3 = this; - return { months: function(e3) { - return e3 ? e3.format("MMMM") : u(n3, "months"); - }, monthsShort: function(e3) { - return e3 ? e3.format("MMM") : u(n3, "monthsShort", "months", 3); - }, firstDayOfWeek: function() { - return n3.$locale().weekStart || 0; - }, weekdays: function(e3) { - return e3 ? e3.format("dddd") : u(n3, "weekdays"); - }, weekdaysMin: function(e3) { - return e3 ? e3.format("dd") : u(n3, "weekdaysMin", "weekdays", 2); - }, weekdaysShort: function(e3) { - return e3 ? e3.format("ddd") : u(n3, "weekdaysShort", "weekdays", 3); - }, longDateFormat: function(e3) { - return a2(n3.$locale(), e3); - }, meridiem: this.$locale().meridiem, ordinal: this.$locale().ordinal }; - }; - r2.localeData = function() { - return s2.bind(this)(); - }, t2.localeData = function() { - var n3 = i(); - return { firstDayOfWeek: function() { - return n3.weekStart || 0; - }, weekdays: function() { - return t2.weekdays(); - }, weekdaysShort: function() { - return t2.weekdaysShort(); - }, weekdaysMin: function() { - return t2.weekdaysMin(); - }, months: function() { - return t2.months(); - }, monthsShort: function() { - return t2.monthsShort(); - }, longDateFormat: function(e3) { - return a2(n3, e3); - }, meridiem: n3.meridiem, ordinal: n3.ordinal }; - }, t2.months = function() { - return u(i(), "months"); - }, t2.monthsShort = function() { - return u(i(), "monthsShort", "months", 3); - }, t2.weekdays = function(n3) { - return u(i(), "weekdays", null, null, n3); - }, t2.weekdaysShort = function(n3) { - return u(i(), "weekdaysShort", "weekdays", 3, n3); - }, t2.weekdaysMin = function(n3) { - return u(i(), "weekdaysMin", "weekdays", 2, n3); - }; + }(n3.formats[e3.toUpperCase()]); + }, s2 = function() { + var n3 = this; + return {months: function(e3) { + return e3 ? e3.format("MMMM") : u(n3, "months"); + }, monthsShort: function(e3) { + return e3 ? e3.format("MMM") : u(n3, "monthsShort", "months", 3); + }, firstDayOfWeek: function() { + return n3.$locale().weekStart || 0; + }, weekdays: function(e3) { + return e3 ? e3.format("dddd") : u(n3, "weekdays"); + }, weekdaysMin: function(e3) { + return e3 ? e3.format("dd") : u(n3, "weekdaysMin", "weekdays", 2); + }, weekdaysShort: function(e3) { + return e3 ? e3.format("ddd") : u(n3, "weekdaysShort", "weekdays", 3); + }, longDateFormat: function(e3) { + return a2(n3.$locale(), e3); + }, meridiem: this.$locale().meridiem, ordinal: this.$locale().ordinal}; }; - }); - } + r2.localeData = function() { + return s2.bind(this)(); + }, t2.localeData = function() { + var n3 = i(); + return {firstDayOfWeek: function() { + return n3.weekStart || 0; + }, weekdays: function() { + return t2.weekdays(); + }, weekdaysShort: function() { + return t2.weekdaysShort(); + }, weekdaysMin: function() { + return t2.weekdaysMin(); + }, months: function() { + return t2.months(); + }, monthsShort: function() { + return t2.monthsShort(); + }, longDateFormat: function(e3) { + return a2(n3, e3); + }, meridiem: n3.meridiem, ordinal: n3.ordinal}; + }, t2.months = function() { + return u(i(), "months"); + }, t2.monthsShort = function() { + return u(i(), "monthsShort", "months", 3); + }, t2.weekdays = function(n3) { + return u(i(), "weekdays", null, null, n3); + }, t2.weekdaysShort = function(n3) { + return u(i(), "weekdaysShort", "weekdays", 3, n3); + }, t2.weekdaysMin = function(n3) { + return u(i(), "weekdaysMin", "weekdays", 2, n3); + }; + }; + }); }); // node_modules/trix/dist/trix.js -var require_trix = __commonJS({ - "node_modules/trix/dist/trix.js"(exports, module) { - (function() { - }).call(exports), function() { - var t2; - window.Set == null && (window.Set = t2 = function() { - function t3() { - this.clear(); - } - return t3.prototype.clear = function() { - return this.values = []; - }, t3.prototype.has = function(t4) { - return this.values.indexOf(t4) !== -1; - }, t3.prototype.add = function(t4) { - return this.has(t4) || this.values.push(t4), this; - }, t3.prototype["delete"] = function(t4) { - var e2; - return (e2 = this.values.indexOf(t4)) === -1 ? false : (this.values.splice(e2, 1), true); - }, t3.prototype.forEach = function() { - var t4; - return (t4 = this.values).forEach.apply(t4, arguments); - }, t3; - }()); - }.call(exports), function(t2) { - function e2() { +var require_trix = __commonJS((exports, module) => { + (function() { + }).call(exports), function() { + var t2; + window.Set == null && (window.Set = t2 = function() { + function t3() { + this.clear(); } - function n2(t3, e3) { - return function() { - t3.apply(e3, arguments); - }; - } - function i(t3) { - if (typeof this != "object") - throw new TypeError("Promises must be constructed via new"); - if (typeof t3 != "function") - throw new TypeError("not a function"); - this._state = 0, this._handled = false, this._value = void 0, this._deferreds = [], c2(t3, this); - } - function o2(t3, e3) { - for (; t3._state === 3; ) - t3 = t3._value; - return t3._state === 0 ? void t3._deferreds.push(e3) : (t3._handled = true, void h(function() { - var n3 = t3._state === 1 ? e3.onFulfilled : e3.onRejected; - if (n3 === null) - return void (t3._state === 1 ? r2 : s2)(e3.promise, t3._value); - var i2; - try { - i2 = n3(t3._value); - } catch (o3) { - return void s2(e3.promise, o3); - } - r2(e3.promise, i2); - })); - } - function r2(t3, e3) { - try { - if (e3 === t3) - throw new TypeError("A promise cannot be resolved with itself."); - if (e3 && (typeof e3 == "object" || typeof e3 == "function")) { - var o3 = e3.then; - if (e3 instanceof i) - return t3._state = 3, t3._value = e3, void a2(t3); - if (typeof o3 == "function") - return void c2(n2(o3, e3), t3); - } - t3._state = 1, t3._value = e3, a2(t3); - } catch (r3) { - s2(t3, r3); - } - } - function s2(t3, e3) { - t3._state = 2, t3._value = e3, a2(t3); - } - function a2(t3) { - t3._state === 2 && t3._deferreds.length === 0 && setTimeout(function() { - t3._handled || p2(t3._value); - }, 1); - for (var e3 = 0, n3 = t3._deferreds.length; n3 > e3; e3++) - o2(t3, t3._deferreds[e3]); - t3._deferreds = null; - } - function u(t3, e3, n3) { - this.onFulfilled = typeof t3 == "function" ? t3 : null, this.onRejected = typeof e3 == "function" ? e3 : null, this.promise = n3; - } - function c2(t3, e3) { - var n3 = false; - try { - t3(function(t4) { - n3 || (n3 = true, r2(e3, t4)); - }, function(t4) { - n3 || (n3 = true, s2(e3, t4)); - }); - } catch (i2) { - if (n3) - return; - n3 = true, s2(e3, i2); - } - } - var l = setTimeout, h = typeof setImmediate == "function" && setImmediate || function(t3) { - l(t3, 1); - }, p2 = function(t3) { - typeof console != "undefined" && console && console.warn("Possible Unhandled Promise Rejection:", t3); + return t3.prototype.clear = function() { + return this.values = []; + }, t3.prototype.has = function(t4) { + return this.values.indexOf(t4) !== -1; + }, t3.prototype.add = function(t4) { + return this.has(t4) || this.values.push(t4), this; + }, t3.prototype["delete"] = function(t4) { + var e2; + return (e2 = this.values.indexOf(t4)) === -1 ? false : (this.values.splice(e2, 1), true); + }, t3.prototype.forEach = function() { + var t4; + return (t4 = this.values).forEach.apply(t4, arguments); + }, t3; + }()); + }.call(exports), function(t2) { + function e2() { + } + function n2(t3, e3) { + return function() { + t3.apply(e3, arguments); }; - i.prototype["catch"] = function(t3) { - return this.then(null, t3); - }, i.prototype.then = function(t3, n3) { - var r3 = new i(e2); - return o2(this, new u(t3, n3, r3)), r3; - }, i.all = function(t3) { - var e3 = Array.prototype.slice.call(t3); - return new i(function(t4, n3) { - function i2(r4, s3) { - try { - if (s3 && (typeof s3 == "object" || typeof s3 == "function")) { - var a3 = s3.then; - if (typeof a3 == "function") - return void a3.call(s3, function(t5) { - i2(r4, t5); - }, n3); - } - e3[r4] = s3, --o3 === 0 && t4(e3); - } catch (u2) { - n3(u2); + } + function i(t3) { + if (typeof this != "object") + throw new TypeError("Promises must be constructed via new"); + if (typeof t3 != "function") + throw new TypeError("not a function"); + this._state = 0, this._handled = false, this._value = void 0, this._deferreds = [], c2(t3, this); + } + function o2(t3, e3) { + for (; t3._state === 3; ) + t3 = t3._value; + return t3._state === 0 ? void t3._deferreds.push(e3) : (t3._handled = true, void h(function() { + var n3 = t3._state === 1 ? e3.onFulfilled : e3.onRejected; + if (n3 === null) + return void (t3._state === 1 ? r2 : s2)(e3.promise, t3._value); + var i2; + try { + i2 = n3(t3._value); + } catch (o3) { + return void s2(e3.promise, o3); + } + r2(e3.promise, i2); + })); + } + function r2(t3, e3) { + try { + if (e3 === t3) + throw new TypeError("A promise cannot be resolved with itself."); + if (e3 && (typeof e3 == "object" || typeof e3 == "function")) { + var o3 = e3.then; + if (e3 instanceof i) + return t3._state = 3, t3._value = e3, void a2(t3); + if (typeof o3 == "function") + return void c2(n2(o3, e3), t3); + } + t3._state = 1, t3._value = e3, a2(t3); + } catch (r3) { + s2(t3, r3); + } + } + function s2(t3, e3) { + t3._state = 2, t3._value = e3, a2(t3); + } + function a2(t3) { + t3._state === 2 && t3._deferreds.length === 0 && setTimeout(function() { + t3._handled || p2(t3._value); + }, 1); + for (var e3 = 0, n3 = t3._deferreds.length; n3 > e3; e3++) + o2(t3, t3._deferreds[e3]); + t3._deferreds = null; + } + function u(t3, e3, n3) { + this.onFulfilled = typeof t3 == "function" ? t3 : null, this.onRejected = typeof e3 == "function" ? e3 : null, this.promise = n3; + } + function c2(t3, e3) { + var n3 = false; + try { + t3(function(t4) { + n3 || (n3 = true, r2(e3, t4)); + }, function(t4) { + n3 || (n3 = true, s2(e3, t4)); + }); + } catch (i2) { + if (n3) + return; + n3 = true, s2(e3, i2); + } + } + var l = setTimeout, h = typeof setImmediate == "function" && setImmediate || function(t3) { + l(t3, 1); + }, p2 = function(t3) { + typeof console != "undefined" && console && console.warn("Possible Unhandled Promise Rejection:", t3); + }; + i.prototype["catch"] = function(t3) { + return this.then(null, t3); + }, i.prototype.then = function(t3, n3) { + var r3 = new i(e2); + return o2(this, new u(t3, n3, r3)), r3; + }, i.all = function(t3) { + var e3 = Array.prototype.slice.call(t3); + return new i(function(t4, n3) { + function i2(r4, s3) { + try { + if (s3 && (typeof s3 == "object" || typeof s3 == "function")) { + var a3 = s3.then; + if (typeof a3 == "function") + return void a3.call(s3, function(t5) { + i2(r4, t5); + }, n3); } + e3[r4] = s3, --o3 === 0 && t4(e3); + } catch (u2) { + n3(u2); } - if (e3.length === 0) - return t4([]); - for (var o3 = e3.length, r3 = 0; r3 < e3.length; r3++) - i2(r3, e3[r3]); + } + if (e3.length === 0) + return t4([]); + for (var o3 = e3.length, r3 = 0; r3 < e3.length; r3++) + i2(r3, e3[r3]); + }); + }, i.resolve = function(t3) { + return t3 && typeof t3 == "object" && t3.constructor === i ? t3 : new i(function(e3) { + e3(t3); + }); + }, i.reject = function(t3) { + return new i(function(e3, n3) { + n3(t3); + }); + }, i.race = function(t3) { + return new i(function(e3, n3) { + for (var i2 = 0, o3 = t3.length; o3 > i2; i2++) + t3[i2].then(e3, n3); + }); + }, i._setImmediateFn = function(t3) { + h = t3; + }, i._setUnhandledRejectionFn = function(t3) { + p2 = t3; + }, typeof module != "undefined" && module.exports ? module.exports = i : t2.Promise || (t2.Promise = i); + }(exports), function() { + var t2 = typeof window.customElements == "object", e2 = typeof document.registerElement == "function", n2 = t2 || e2; + n2 || (typeof WeakMap == "undefined" && !function() { + var t3 = Object.defineProperty, e3 = Date.now() % 1e9, n3 = function() { + this.name = "__st" + (1e9 * Math.random() >>> 0) + (e3++ + "__"); + }; + n3.prototype = {set: function(e4, n4) { + var i = e4[this.name]; + return i && i[0] === e4 ? i[1] = n4 : t3(e4, this.name, {value: [e4, n4], writable: true}), this; + }, get: function(t4) { + var e4; + return (e4 = t4[this.name]) && e4[0] === t4 ? e4[1] : void 0; + }, delete: function(t4) { + var e4 = t4[this.name]; + return e4 && e4[0] === t4 ? (e4[0] = e4[1] = void 0, true) : false; + }, has: function(t4) { + var e4 = t4[this.name]; + return e4 ? e4[0] === t4 : false; + }}, window.WeakMap = n3; + }(), function(t3) { + function e3(t4) { + A.push(t4), b || (b = true, g(i)); + } + function n3(t4) { + return window.ShadowDOMPolyfill && window.ShadowDOMPolyfill.wrapIfNeeded(t4) || t4; + } + function i() { + b = false; + var t4 = A; + A = [], t4.sort(function(t5, e5) { + return t5.uid_ - e5.uid_; }); - }, i.resolve = function(t3) { - return t3 && typeof t3 == "object" && t3.constructor === i ? t3 : new i(function(e3) { - e3(t3); + var e4 = false; + t4.forEach(function(t5) { + var n4 = t5.takeRecords(); + o2(t5), n4.length && (t5.callback_(n4, t5), e4 = true); + }), e4 && i(); + } + function o2(t4) { + t4.nodes_.forEach(function(e4) { + var n4 = m.get(e4); + n4 && n4.forEach(function(e5) { + e5.observer === t4 && e5.removeTransientObservers(); + }); }); - }, i.reject = function(t3) { - return new i(function(e3, n3) { - n3(t3); - }); - }, i.race = function(t3) { - return new i(function(e3, n3) { - for (var i2 = 0, o3 = t3.length; o3 > i2; i2++) - t3[i2].then(e3, n3); - }); - }, i._setImmediateFn = function(t3) { - h = t3; - }, i._setUnhandledRejectionFn = function(t3) { - p2 = t3; - }, typeof module != "undefined" && module.exports ? module.exports = i : t2.Promise || (t2.Promise = i); - }(exports), function() { - var t2 = typeof window.customElements == "object", e2 = typeof document.registerElement == "function", n2 = t2 || e2; - n2 || (typeof WeakMap == "undefined" && !function() { - var t3 = Object.defineProperty, e3 = Date.now() % 1e9, n3 = function() { - this.name = "__st" + (1e9 * Math.random() >>> 0) + (e3++ + "__"); + } + function r2(t4, e4) { + for (var n4 = t4; n4; n4 = n4.parentNode) { + var i2 = m.get(n4); + if (i2) + for (var o3 = 0; o3 < i2.length; o3++) { + var r3 = i2[o3], s3 = r3.options; + if (n4 === t4 || s3.subtree) { + var a3 = e4(s3); + a3 && r3.enqueue(a3); + } + } + } + } + function s2(t4) { + this.callback_ = t4, this.nodes_ = [], this.records_ = [], this.uid_ = ++C3; + } + function a2(t4, e4) { + this.type = t4, this.target = e4, this.addedNodes = [], this.removedNodes = [], this.previousSibling = null, this.nextSibling = null, this.attributeName = null, this.attributeNamespace = null, this.oldValue = null; + } + function u(t4) { + var e4 = new a2(t4.type, t4.target); + return e4.addedNodes = t4.addedNodes.slice(), e4.removedNodes = t4.removedNodes.slice(), e4.previousSibling = t4.previousSibling, e4.nextSibling = t4.nextSibling, e4.attributeName = t4.attributeName, e4.attributeNamespace = t4.attributeNamespace, e4.oldValue = t4.oldValue, e4; + } + function c2(t4, e4) { + return x = new a2(t4, e4); + } + function l(t4) { + return w ? w : (w = u(x), w.oldValue = t4, w); + } + function h() { + x = w = void 0; + } + function p2(t4) { + return t4 === w || t4 === x; + } + function d(t4, e4) { + return t4 === e4 ? t4 : w && p2(t4) ? w : null; + } + function f(t4, e4, n4) { + this.observer = t4, this.target = e4, this.options = n4, this.transientObservedNodes = []; + } + if (!t3.JsMutationObserver) { + var g, m = new WeakMap(); + if (/Trident|Edge/.test(navigator.userAgent)) + g = setTimeout; + else if (window.setImmediate) + g = window.setImmediate; + else { + var v = [], y = String(Math.random()); + window.addEventListener("message", function(t4) { + if (t4.data === y) { + var e4 = v; + v = [], e4.forEach(function(t5) { + t5(); + }); + } + }), g = function(t4) { + v.push(t4), window.postMessage(y, "*"); + }; + } + var b = false, A = [], C3 = 0; + s2.prototype = {observe: function(t4, e4) { + if (t4 = n3(t4), !e4.childList && !e4.attributes && !e4.characterData || e4.attributeOldValue && !e4.attributes || e4.attributeFilter && e4.attributeFilter.length && !e4.attributes || e4.characterDataOldValue && !e4.characterData) + throw new SyntaxError(); + var i2 = m.get(t4); + i2 || m.set(t4, i2 = []); + for (var o3, r3 = 0; r3 < i2.length; r3++) + if (i2[r3].observer === this) { + o3 = i2[r3], o3.removeListeners(), o3.options = e4; + break; + } + o3 || (o3 = new f(this, t4, e4), i2.push(o3), this.nodes_.push(t4)), o3.addListeners(); + }, disconnect: function() { + this.nodes_.forEach(function(t4) { + for (var e4 = m.get(t4), n4 = 0; n4 < e4.length; n4++) { + var i2 = e4[n4]; + if (i2.observer === this) { + i2.removeListeners(), e4.splice(n4, 1); + break; + } + } + }, this), this.records_ = []; + }, takeRecords: function() { + var t4 = this.records_; + return this.records_ = [], t4; + }}; + var x, w; + f.prototype = {enqueue: function(t4) { + var n4 = this.observer.records_, i2 = n4.length; + if (n4.length > 0) { + var o3 = n4[i2 - 1], r3 = d(o3, t4); + if (r3) + return void (n4[i2 - 1] = r3); + } else + e3(this.observer); + n4[i2] = t4; + }, addListeners: function() { + this.addListeners_(this.target); + }, addListeners_: function(t4) { + var e4 = this.options; + e4.attributes && t4.addEventListener("DOMAttrModified", this, true), e4.characterData && t4.addEventListener("DOMCharacterDataModified", this, true), e4.childList && t4.addEventListener("DOMNodeInserted", this, true), (e4.childList || e4.subtree) && t4.addEventListener("DOMNodeRemoved", this, true); + }, removeListeners: function() { + this.removeListeners_(this.target); + }, removeListeners_: function(t4) { + var e4 = this.options; + e4.attributes && t4.removeEventListener("DOMAttrModified", this, true), e4.characterData && t4.removeEventListener("DOMCharacterDataModified", this, true), e4.childList && t4.removeEventListener("DOMNodeInserted", this, true), (e4.childList || e4.subtree) && t4.removeEventListener("DOMNodeRemoved", this, true); + }, addTransientObserver: function(t4) { + if (t4 !== this.target) { + this.addListeners_(t4), this.transientObservedNodes.push(t4); + var e4 = m.get(t4); + e4 || m.set(t4, e4 = []), e4.push(this); + } + }, removeTransientObservers: function() { + var t4 = this.transientObservedNodes; + this.transientObservedNodes = [], t4.forEach(function(t5) { + this.removeListeners_(t5); + for (var e4 = m.get(t5), n4 = 0; n4 < e4.length; n4++) + if (e4[n4] === this) { + e4.splice(n4, 1); + break; + } + }, this); + }, handleEvent: function(t4) { + switch (t4.stopImmediatePropagation(), t4.type) { + case "DOMAttrModified": + var e4 = t4.attrName, n4 = t4.relatedNode.namespaceURI, i2 = t4.target, o3 = new c2("attributes", i2); + o3.attributeName = e4, o3.attributeNamespace = n4; + var s3 = t4.attrChange === MutationEvent.ADDITION ? null : t4.prevValue; + r2(i2, function(t5) { + return !t5.attributes || t5.attributeFilter && t5.attributeFilter.length && t5.attributeFilter.indexOf(e4) === -1 && t5.attributeFilter.indexOf(n4) === -1 ? void 0 : t5.attributeOldValue ? l(s3) : o3; + }); + break; + case "DOMCharacterDataModified": + var i2 = t4.target, o3 = c2("characterData", i2), s3 = t4.prevValue; + r2(i2, function(t5) { + return t5.characterData ? t5.characterDataOldValue ? l(s3) : o3 : void 0; + }); + break; + case "DOMNodeRemoved": + this.addTransientObserver(t4.target); + case "DOMNodeInserted": + var a3, u2, p3 = t4.target; + t4.type === "DOMNodeInserted" ? (a3 = [p3], u2 = []) : (a3 = [], u2 = [p3]); + var d2 = p3.previousSibling, f2 = p3.nextSibling, o3 = c2("childList", t4.target.parentNode); + o3.addedNodes = a3, o3.removedNodes = u2, o3.previousSibling = d2, o3.nextSibling = f2, r2(t4.relatedNode, function(t5) { + return t5.childList ? o3 : void 0; + }); + } + h(); + }}, t3.JsMutationObserver = s2, t3.MutationObserver || (t3.MutationObserver = s2, s2._isPolyfilled = true); + } + }(self), function() { + "use strict"; + if (!window.performance || !window.performance.now) { + var t3 = Date.now(); + window.performance = {now: function() { + return Date.now() - t3; + }}; + } + window.requestAnimationFrame || (window.requestAnimationFrame = function() { + var t4 = window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame; + return t4 ? function(e4) { + return t4(function() { + e4(performance.now()); + }); + } : function(t5) { + return window.setTimeout(t5, 1e3 / 60); }; - n3.prototype = { set: function(e4, n4) { - var i = e4[this.name]; - return i && i[0] === e4 ? i[1] = n4 : t3(e4, this.name, { value: [e4, n4], writable: true }), this; - }, get: function(t4) { - var e4; - return (e4 = t4[this.name]) && e4[0] === t4 ? e4[1] : void 0; - }, "delete": function(t4) { - var e4 = t4[this.name]; - return e4 && e4[0] === t4 ? (e4[0] = e4[1] = void 0, true) : false; - }, has: function(t4) { - var e4 = t4[this.name]; - return e4 ? e4[0] === t4 : false; - } }, window.WeakMap = n3; - }(), function(t3) { - function e3(t4) { - A.push(t4), b || (b = true, g(i)); - } - function n3(t4) { - return window.ShadowDOMPolyfill && window.ShadowDOMPolyfill.wrapIfNeeded(t4) || t4; - } - function i() { - b = false; - var t4 = A; - A = [], t4.sort(function(t5, e5) { - return t5.uid_ - e5.uid_; - }); - var e4 = false; - t4.forEach(function(t5) { - var n4 = t5.takeRecords(); - o2(t5), n4.length && (t5.callback_(n4, t5), e4 = true); - }), e4 && i(); - } - function o2(t4) { - t4.nodes_.forEach(function(e4) { - var n4 = m.get(e4); - n4 && n4.forEach(function(e5) { - e5.observer === t4 && e5.removeTransientObservers(); - }); - }); - } - function r2(t4, e4) { - for (var n4 = t4; n4; n4 = n4.parentNode) { - var i2 = m.get(n4); - if (i2) - for (var o3 = 0; o3 < i2.length; o3++) { - var r3 = i2[o3], s3 = r3.options; - if (n4 === t4 || s3.subtree) { - var a3 = e4(s3); - a3 && r3.enqueue(a3); - } - } - } - } - function s2(t4) { - this.callback_ = t4, this.nodes_ = [], this.records_ = [], this.uid_ = ++C3; - } - function a2(t4, e4) { - this.type = t4, this.target = e4, this.addedNodes = [], this.removedNodes = [], this.previousSibling = null, this.nextSibling = null, this.attributeName = null, this.attributeNamespace = null, this.oldValue = null; - } - function u(t4) { - var e4 = new a2(t4.type, t4.target); - return e4.addedNodes = t4.addedNodes.slice(), e4.removedNodes = t4.removedNodes.slice(), e4.previousSibling = t4.previousSibling, e4.nextSibling = t4.nextSibling, e4.attributeName = t4.attributeName, e4.attributeNamespace = t4.attributeNamespace, e4.oldValue = t4.oldValue, e4; - } - function c2(t4, e4) { - return x = new a2(t4, e4); - } - function l(t4) { - return w ? w : (w = u(x), w.oldValue = t4, w); - } - function h() { - x = w = void 0; - } - function p2(t4) { - return t4 === w || t4 === x; - } - function d(t4, e4) { - return t4 === e4 ? t4 : w && p2(t4) ? w : null; - } - function f(t4, e4, n4) { - this.observer = t4, this.target = e4, this.options = n4, this.transientObservedNodes = []; - } - if (!t3.JsMutationObserver) { - var g, m = new WeakMap(); - if (/Trident|Edge/.test(navigator.userAgent)) - g = setTimeout; - else if (window.setImmediate) - g = window.setImmediate; - else { - var v = [], y = String(Math.random()); - window.addEventListener("message", function(t4) { - if (t4.data === y) { - var e4 = v; - v = [], e4.forEach(function(t5) { - t5(); - }); - } - }), g = function(t4) { - v.push(t4), window.postMessage(y, "*"); - }; - } - var b = false, A = [], C3 = 0; - s2.prototype = { observe: function(t4, e4) { - if (t4 = n3(t4), !e4.childList && !e4.attributes && !e4.characterData || e4.attributeOldValue && !e4.attributes || e4.attributeFilter && e4.attributeFilter.length && !e4.attributes || e4.characterDataOldValue && !e4.characterData) - throw new SyntaxError(); - var i2 = m.get(t4); - i2 || m.set(t4, i2 = []); - for (var o3, r3 = 0; r3 < i2.length; r3++) - if (i2[r3].observer === this) { - o3 = i2[r3], o3.removeListeners(), o3.options = e4; - break; - } - o3 || (o3 = new f(this, t4, e4), i2.push(o3), this.nodes_.push(t4)), o3.addListeners(); - }, disconnect: function() { - this.nodes_.forEach(function(t4) { - for (var e4 = m.get(t4), n4 = 0; n4 < e4.length; n4++) { - var i2 = e4[n4]; - if (i2.observer === this) { - i2.removeListeners(), e4.splice(n4, 1); - break; - } - } - }, this), this.records_ = []; - }, takeRecords: function() { - var t4 = this.records_; - return this.records_ = [], t4; - } }; - var x, w; - f.prototype = { enqueue: function(t4) { - var n4 = this.observer.records_, i2 = n4.length; - if (n4.length > 0) { - var o3 = n4[i2 - 1], r3 = d(o3, t4); - if (r3) - return void (n4[i2 - 1] = r3); - } else - e3(this.observer); - n4[i2] = t4; - }, addListeners: function() { - this.addListeners_(this.target); - }, addListeners_: function(t4) { - var e4 = this.options; - e4.attributes && t4.addEventListener("DOMAttrModified", this, true), e4.characterData && t4.addEventListener("DOMCharacterDataModified", this, true), e4.childList && t4.addEventListener("DOMNodeInserted", this, true), (e4.childList || e4.subtree) && t4.addEventListener("DOMNodeRemoved", this, true); - }, removeListeners: function() { - this.removeListeners_(this.target); - }, removeListeners_: function(t4) { - var e4 = this.options; - e4.attributes && t4.removeEventListener("DOMAttrModified", this, true), e4.characterData && t4.removeEventListener("DOMCharacterDataModified", this, true), e4.childList && t4.removeEventListener("DOMNodeInserted", this, true), (e4.childList || e4.subtree) && t4.removeEventListener("DOMNodeRemoved", this, true); - }, addTransientObserver: function(t4) { - if (t4 !== this.target) { - this.addListeners_(t4), this.transientObservedNodes.push(t4); - var e4 = m.get(t4); - e4 || m.set(t4, e4 = []), e4.push(this); - } - }, removeTransientObservers: function() { - var t4 = this.transientObservedNodes; - this.transientObservedNodes = [], t4.forEach(function(t5) { - this.removeListeners_(t5); - for (var e4 = m.get(t5), n4 = 0; n4 < e4.length; n4++) - if (e4[n4] === this) { - e4.splice(n4, 1); - break; - } - }, this); - }, handleEvent: function(t4) { - switch (t4.stopImmediatePropagation(), t4.type) { - case "DOMAttrModified": - var e4 = t4.attrName, n4 = t4.relatedNode.namespaceURI, i2 = t4.target, o3 = new c2("attributes", i2); - o3.attributeName = e4, o3.attributeNamespace = n4; - var s3 = t4.attrChange === MutationEvent.ADDITION ? null : t4.prevValue; - r2(i2, function(t5) { - return !t5.attributes || t5.attributeFilter && t5.attributeFilter.length && t5.attributeFilter.indexOf(e4) === -1 && t5.attributeFilter.indexOf(n4) === -1 ? void 0 : t5.attributeOldValue ? l(s3) : o3; - }); - break; - case "DOMCharacterDataModified": - var i2 = t4.target, o3 = c2("characterData", i2), s3 = t4.prevValue; - r2(i2, function(t5) { - return t5.characterData ? t5.characterDataOldValue ? l(s3) : o3 : void 0; - }); - break; - case "DOMNodeRemoved": - this.addTransientObserver(t4.target); - case "DOMNodeInserted": - var a3, u2, p3 = t4.target; - t4.type === "DOMNodeInserted" ? (a3 = [p3], u2 = []) : (a3 = [], u2 = [p3]); - var d2 = p3.previousSibling, f2 = p3.nextSibling, o3 = c2("childList", t4.target.parentNode); - o3.addedNodes = a3, o3.removedNodes = u2, o3.previousSibling = d2, o3.nextSibling = f2, r2(t4.relatedNode, function(t5) { - return t5.childList ? o3 : void 0; - }); - } - h(); - } }, t3.JsMutationObserver = s2, t3.MutationObserver || (t3.MutationObserver = s2, s2._isPolyfilled = true); - } - }(self), function() { - "use strict"; - if (!window.performance || !window.performance.now) { - var t3 = Date.now(); - window.performance = { now: function() { - return Date.now() - t3; - } }; - } - window.requestAnimationFrame || (window.requestAnimationFrame = function() { - var t4 = window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame; - return t4 ? function(e4) { - return t4(function() { - e4(performance.now()); - }); - } : function(t5) { - return window.setTimeout(t5, 1e3 / 60); - }; - }()), window.cancelAnimationFrame || (window.cancelAnimationFrame = function() { - return window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || function(t4) { - clearTimeout(t4); - }; - }()); - var e3 = function() { - var t4 = document.createEvent("Event"); - return t4.initEvent("foo", true, true), t4.preventDefault(), t4.defaultPrevented; - }(); - if (!e3) { - var n3 = Event.prototype.preventDefault; - Event.prototype.preventDefault = function() { - this.cancelable && (n3.call(this), Object.defineProperty(this, "defaultPrevented", { get: function() { - return true; - }, configurable: true })); - }; - } - var i = /Trident/.test(navigator.userAgent); - if ((!window.CustomEvent || i && typeof window.CustomEvent != "function") && (window.CustomEvent = function(t4, e4) { + }()), window.cancelAnimationFrame || (window.cancelAnimationFrame = function() { + return window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || function(t4) { + clearTimeout(t4); + }; + }()); + var e3 = function() { + var t4 = document.createEvent("Event"); + return t4.initEvent("foo", true, true), t4.preventDefault(), t4.defaultPrevented; + }(); + if (!e3) { + var n3 = Event.prototype.preventDefault; + Event.prototype.preventDefault = function() { + this.cancelable && (n3.call(this), Object.defineProperty(this, "defaultPrevented", {get: function() { + return true; + }, configurable: true})); + }; + } + var i = /Trident/.test(navigator.userAgent); + if ((!window.CustomEvent || i && typeof window.CustomEvent != "function") && (window.CustomEvent = function(t4, e4) { + e4 = e4 || {}; + var n4 = document.createEvent("CustomEvent"); + return n4.initCustomEvent(t4, Boolean(e4.bubbles), Boolean(e4.cancelable), e4.detail), n4; + }, window.CustomEvent.prototype = window.Event.prototype), !window.Event || i && typeof window.Event != "function") { + var o2 = window.Event; + window.Event = function(t4, e4) { e4 = e4 || {}; - var n4 = document.createEvent("CustomEvent"); - return n4.initCustomEvent(t4, Boolean(e4.bubbles), Boolean(e4.cancelable), e4.detail), n4; - }, window.CustomEvent.prototype = window.Event.prototype), !window.Event || i && typeof window.Event != "function") { - var o2 = window.Event; - window.Event = function(t4, e4) { - e4 = e4 || {}; - var n4 = document.createEvent("Event"); - return n4.initEvent(t4, Boolean(e4.bubbles), Boolean(e4.cancelable)), n4; - }, window.Event.prototype = o2.prototype; + var n4 = document.createEvent("Event"); + return n4.initEvent(t4, Boolean(e4.bubbles), Boolean(e4.cancelable)), n4; + }, window.Event.prototype = o2.prototype; + } + }(window.WebComponents), window.CustomElements = window.CustomElements || {flags: {}}, function(t3) { + var e3 = t3.flags, n3 = [], i = function(t4) { + n3.push(t4); + }, o2 = function() { + n3.forEach(function(e4) { + e4(t3); + }); + }; + t3.addModule = i, t3.initializeModules = o2, t3.hasNative = Boolean(document.registerElement), t3.isIE = /Trident/.test(navigator.userAgent), t3.useNative = !e3.register && t3.hasNative && !window.ShadowDOMPolyfill && (!window.HTMLImports || window.HTMLImports.useNative); + }(window.CustomElements), window.CustomElements.addModule(function(t3) { + function e3(t4, e4) { + n3(t4, function(t5) { + return e4(t5) ? true : void i(t5, e4); + }), i(t4, e4); + } + function n3(t4, e4, i2) { + var o3 = t4.firstElementChild; + if (!o3) + for (o3 = t4.firstChild; o3 && o3.nodeType !== Node.ELEMENT_NODE; ) + o3 = o3.nextSibling; + for (; o3; ) + e4(o3, i2) !== true && n3(o3, e4, i2), o3 = o3.nextElementSibling; + return null; + } + function i(t4, n4) { + for (var i2 = t4.shadowRoot; i2; ) + e3(i2, n4), i2 = i2.olderShadowRoot; + } + function o2(t4, e4) { + r2(t4, e4, []); + } + function r2(t4, e4, n4) { + if (t4 = window.wrap(t4), !(n4.indexOf(t4) >= 0)) { + n4.push(t4); + for (var i2, o3 = t4.querySelectorAll("link[rel=" + s2 + "]"), a2 = 0, u = o3.length; u > a2 && (i2 = o3[a2]); a2++) + i2.import && r2(i2.import, e4, n4); + e4(t4); } - }(window.WebComponents), window.CustomElements = window.CustomElements || { flags: {} }, function(t3) { - var e3 = t3.flags, n3 = [], i = function(t4) { - n3.push(t4); - }, o2 = function() { - n3.forEach(function(e4) { - e4(t3); - }); + } + var s2 = window.HTMLImports ? window.HTMLImports.IMPORT_LINK_TYPE : "none"; + t3.forDocumentTree = o2, t3.forSubtree = e3; + }), window.CustomElements.addModule(function(t3) { + function e3(t4, e4) { + return n3(t4, e4) || i(t4, e4); + } + function n3(e4, n4) { + return t3.upgrade(e4, n4) ? true : void (n4 && s2(e4)); + } + function i(t4, e4) { + b(t4, function(t5) { + return n3(t5, e4) ? true : void 0; + }); + } + function o2(t4) { + w.push(t4), x || (x = true, setTimeout(r2)); + } + function r2() { + x = false; + for (var t4, e4 = w, n4 = 0, i2 = e4.length; i2 > n4 && (t4 = e4[n4]); n4++) + t4(); + w = []; + } + function s2(t4) { + C3 ? o2(function() { + a2(t4); + }) : a2(t4); + } + function a2(t4) { + t4.__upgraded__ && !t4.__attached && (t4.__attached = true, t4.attachedCallback && t4.attachedCallback()); + } + function u(t4) { + c2(t4), b(t4, function(t5) { + c2(t5); + }); + } + function c2(t4) { + C3 ? o2(function() { + l(t4); + }) : l(t4); + } + function l(t4) { + t4.__upgraded__ && t4.__attached && (t4.__attached = false, t4.detachedCallback && t4.detachedCallback()); + } + function h(t4) { + for (var e4 = t4, n4 = window.wrap(document); e4; ) { + if (e4 == n4) + return true; + e4 = e4.parentNode || e4.nodeType === Node.DOCUMENT_FRAGMENT_NODE && e4.host; + } + } + function p2(t4) { + if (t4.shadowRoot && !t4.shadowRoot.__watched) { + y.dom && console.log("watching shadow-root for: ", t4.localName); + for (var e4 = t4.shadowRoot; e4; ) + g(e4), e4 = e4.olderShadowRoot; + } + } + function d(t4, n4) { + if (y.dom) { + var i2 = n4[0]; + if (i2 && i2.type === "childList" && i2.addedNodes && i2.addedNodes) { + for (var o3 = i2.addedNodes[0]; o3 && o3 !== document && !o3.host; ) + o3 = o3.parentNode; + var r3 = o3 && (o3.URL || o3._URL || o3.host && o3.host.localName) || ""; + r3 = r3.split("/?").shift().split("/").pop(); + } + console.group("mutations (%d) [%s]", n4.length, r3 || ""); + } + var s3 = h(t4); + n4.forEach(function(t5) { + t5.type === "childList" && (E(t5.addedNodes, function(t6) { + t6.localName && e3(t6, s3); + }), E(t5.removedNodes, function(t6) { + t6.localName && u(t6); + })); + }), y.dom && console.groupEnd(); + } + function f(t4) { + for (t4 = window.wrap(t4), t4 || (t4 = window.wrap(document)); t4.parentNode; ) + t4 = t4.parentNode; + var e4 = t4.__observer; + e4 && (d(t4, e4.takeRecords()), r2()); + } + function g(t4) { + if (!t4.__observer) { + var e4 = new MutationObserver(d.bind(this, t4)); + e4.observe(t4, {childList: true, subtree: true}), t4.__observer = e4; + } + } + function m(t4) { + t4 = window.wrap(t4), y.dom && console.group("upgradeDocument: ", t4.baseURI.split("/").pop()); + var n4 = t4 === window.wrap(document); + e3(t4, n4), g(t4), y.dom && console.groupEnd(); + } + function v(t4) { + A(t4, m); + } + var y = t3.flags, b = t3.forSubtree, A = t3.forDocumentTree, C3 = window.MutationObserver._isPolyfilled && y["throttle-attached"]; + t3.hasPolyfillMutations = C3, t3.hasThrottledAttached = C3; + var x = false, w = [], E = Array.prototype.forEach.call.bind(Array.prototype.forEach), S2 = Element.prototype.createShadowRoot; + S2 && (Element.prototype.createShadowRoot = function() { + var t4 = S2.call(this); + return window.CustomElements.watchShadow(this), t4; + }), t3.watchShadow = p2, t3.upgradeDocumentTree = v, t3.upgradeDocument = m, t3.upgradeSubtree = i, t3.upgradeAll = e3, t3.attached = s2, t3.takeRecords = f; + }), window.CustomElements.addModule(function(t3) { + function e3(e4, i2) { + if (e4.localName === "template" && window.HTMLTemplateElement && HTMLTemplateElement.decorate && HTMLTemplateElement.decorate(e4), !e4.__upgraded__ && e4.nodeType === Node.ELEMENT_NODE) { + var o3 = e4.getAttribute("is"), r3 = t3.getRegisteredDefinition(e4.localName) || t3.getRegisteredDefinition(o3); + if (r3 && (o3 && r3.tag == e4.localName || !o3 && !r3.extends)) + return n3(e4, r3, i2); + } + } + function n3(e4, n4, o3) { + return s2.upgrade && console.group("upgrade:", e4.localName), n4.is && e4.setAttribute("is", n4.is), i(e4, n4), e4.__upgraded__ = true, r2(e4), o3 && t3.attached(e4), t3.upgradeSubtree(e4, o3), s2.upgrade && console.groupEnd(), e4; + } + function i(t4, e4) { + Object.__proto__ ? t4.__proto__ = e4.prototype : (o2(t4, e4.prototype, e4.native), t4.__proto__ = e4.prototype); + } + function o2(t4, e4, n4) { + for (var i2 = {}, o3 = e4; o3 !== n4 && o3 !== HTMLElement.prototype; ) { + for (var r3, s3 = Object.getOwnPropertyNames(o3), a2 = 0; r3 = s3[a2]; a2++) + i2[r3] || (Object.defineProperty(t4, r3, Object.getOwnPropertyDescriptor(o3, r3)), i2[r3] = 1); + o3 = Object.getPrototypeOf(o3); + } + } + function r2(t4) { + t4.createdCallback && t4.createdCallback(); + } + var s2 = t3.flags; + t3.upgrade = e3, t3.upgradeWithDefinition = n3, t3.implementPrototype = i; + }), window.CustomElements.addModule(function(t3) { + function e3(e4, i2) { + var u2 = i2 || {}; + if (!e4) + throw new Error("document.registerElement: first argument `name` must not be empty"); + if (e4.indexOf("-") < 0) + throw new Error("document.registerElement: first argument ('name') must contain a dash ('-'). Argument provided was '" + String(e4) + "'."); + if (o2(e4)) + throw new Error("Failed to execute 'registerElement' on 'Document': Registration failed for type '" + String(e4) + "'. The type name is invalid."); + if (c2(e4)) + throw new Error("DuplicateDefinitionError: a type with name '" + String(e4) + "' is already registered"); + return u2.prototype || (u2.prototype = Object.create(HTMLElement.prototype)), u2.__name = e4.toLowerCase(), u2.extends && (u2.extends = u2.extends.toLowerCase()), u2.lifecycle = u2.lifecycle || {}, u2.ancestry = r2(u2.extends), s2(u2), a2(u2), n3(u2.prototype), l(u2.__name, u2), u2.ctor = h(u2), u2.ctor.prototype = u2.prototype, u2.prototype.constructor = u2.ctor, t3.ready && m(document), u2.ctor; + } + function n3(t4) { + if (!t4.setAttribute._polyfilled) { + var e4 = t4.setAttribute; + t4.setAttribute = function(t5, n5) { + i.call(this, t5, n5, e4); + }; + var n4 = t4.removeAttribute; + t4.removeAttribute = function(t5) { + i.call(this, t5, null, n4); + }, t4.setAttribute._polyfilled = true; + } + } + function i(t4, e4, n4) { + t4 = t4.toLowerCase(); + var i2 = this.getAttribute(t4); + n4.apply(this, arguments); + var o3 = this.getAttribute(t4); + this.attributeChangedCallback && o3 !== i2 && this.attributeChangedCallback(t4, i2, o3); + } + function o2(t4) { + for (var e4 = 0; e4 < C3.length; e4++) + if (t4 === C3[e4]) + return true; + } + function r2(t4) { + var e4 = c2(t4); + return e4 ? r2(e4.extends).concat([e4]) : []; + } + function s2(t4) { + for (var e4, n4 = t4.extends, i2 = 0; e4 = t4.ancestry[i2]; i2++) + n4 = e4.is && e4.tag; + t4.tag = n4 || t4.__name, n4 && (t4.is = t4.__name); + } + function a2(t4) { + if (!Object.__proto__) { + var e4 = HTMLElement.prototype; + if (t4.is) { + var n4 = document.createElement(t4.tag); + e4 = Object.getPrototypeOf(n4); + } + for (var i2, o3 = t4.prototype, r3 = false; o3; ) + o3 == e4 && (r3 = true), i2 = Object.getPrototypeOf(o3), i2 && (o3.__proto__ = i2), o3 = i2; + r3 || console.warn(t4.tag + " prototype not found in prototype chain for " + t4.is), t4.native = e4; + } + } + function u(t4) { + return y(E(t4.tag), t4); + } + function c2(t4) { + return t4 ? x[t4.toLowerCase()] : void 0; + } + function l(t4, e4) { + x[t4] = e4; + } + function h(t4) { + return function() { + return u(t4); }; - t3.addModule = i, t3.initializeModules = o2, t3.hasNative = Boolean(document.registerElement), t3.isIE = /Trident/.test(navigator.userAgent), t3.useNative = !e3.register && t3.hasNative && !window.ShadowDOMPolyfill && (!window.HTMLImports || window.HTMLImports.useNative); - }(window.CustomElements), window.CustomElements.addModule(function(t3) { - function e3(t4, e4) { - n3(t4, function(t5) { - return e4(t5) ? true : void i(t5, e4); - }), i(t4, e4); + } + function p2(t4, e4, n4) { + return t4 === w ? d(e4, n4) : S2(t4, e4); + } + function d(t4, e4) { + t4 && (t4 = t4.toLowerCase()), e4 && (e4 = e4.toLowerCase()); + var n4 = c2(e4 || t4); + if (n4) { + if (t4 == n4.tag && e4 == n4.is) + return new n4.ctor(); + if (!e4 && !n4.is) + return new n4.ctor(); } - function n3(t4, e4, i2) { - var o3 = t4.firstElementChild; - if (!o3) - for (o3 = t4.firstChild; o3 && o3.nodeType !== Node.ELEMENT_NODE; ) - o3 = o3.nextSibling; - for (; o3; ) - e4(o3, i2) !== true && n3(o3, e4, i2), o3 = o3.nextElementSibling; - return null; + var i2; + return e4 ? (i2 = d(t4), i2.setAttribute("is", e4), i2) : (i2 = E(t4), t4.indexOf("-") >= 0 && b(i2, HTMLElement), i2); + } + function f(t4, e4) { + var n4 = t4[e4]; + t4[e4] = function() { + var t5 = n4.apply(this, arguments); + return v(t5), t5; + }; + } + var g, m = (t3.isIE, t3.upgradeDocumentTree), v = t3.upgradeAll, y = t3.upgradeWithDefinition, b = t3.implementPrototype, A = t3.useNative, C3 = ["annotation-xml", "color-profile", "font-face", "font-face-src", "font-face-uri", "font-face-format", "font-face-name", "missing-glyph"], x = {}, w = "http://www.w3.org/1999/xhtml", E = document.createElement.bind(document), S2 = document.createElementNS.bind(document); + g = Object.__proto__ || A ? function(t4, e4) { + return t4 instanceof e4; + } : function(t4, e4) { + if (t4 instanceof e4) + return true; + for (var n4 = t4; n4; ) { + if (n4 === e4.prototype) + return true; + n4 = n4.__proto__; } - function i(t4, n4) { - for (var i2 = t4.shadowRoot; i2; ) - e3(i2, n4), i2 = i2.olderShadowRoot; - } - function o2(t4, e4) { - r2(t4, e4, []); - } - function r2(t4, e4, n4) { - if (t4 = window.wrap(t4), !(n4.indexOf(t4) >= 0)) { - n4.push(t4); - for (var i2, o3 = t4.querySelectorAll("link[rel=" + s2 + "]"), a2 = 0, u = o3.length; u > a2 && (i2 = o3[a2]); a2++) - i2.import && r2(i2.import, e4, n4); - e4(t4); - } - } - var s2 = window.HTMLImports ? window.HTMLImports.IMPORT_LINK_TYPE : "none"; - t3.forDocumentTree = o2, t3.forSubtree = e3; - }), window.CustomElements.addModule(function(t3) { - function e3(t4, e4) { - return n3(t4, e4) || i(t4, e4); - } - function n3(e4, n4) { - return t3.upgrade(e4, n4) ? true : void (n4 && s2(e4)); - } - function i(t4, e4) { - b(t4, function(t5) { - return n3(t5, e4) ? true : void 0; + return false; + }, f(Node.prototype, "cloneNode"), f(document, "importNode"), document.registerElement = e3, document.createElement = d, document.createElementNS = p2, t3.registry = x, t3.instanceof = g, t3.reservedTagList = C3, t3.getRegisteredDefinition = c2, document.register = document.registerElement; + }), function(t3) { + function e3() { + r2(window.wrap(document)), window.CustomElements.ready = true; + var t4 = window.requestAnimationFrame || function(t5) { + setTimeout(t5, 16); + }; + t4(function() { + setTimeout(function() { + window.CustomElements.readyTime = Date.now(), window.HTMLImports && (window.CustomElements.elapsed = window.CustomElements.readyTime - window.HTMLImports.readyTime), document.dispatchEvent(new CustomEvent("WebComponentsReady", {bubbles: true})); }); - } - function o2(t4) { - w.push(t4), x || (x = true, setTimeout(r2)); - } - function r2() { - x = false; - for (var t4, e4 = w, n4 = 0, i2 = e4.length; i2 > n4 && (t4 = e4[n4]); n4++) - t4(); - w = []; - } - function s2(t4) { - C3 ? o2(function() { - a2(t4); - }) : a2(t4); - } - function a2(t4) { - t4.__upgraded__ && !t4.__attached && (t4.__attached = true, t4.attachedCallback && t4.attachedCallback()); - } - function u(t4) { - c2(t4), b(t4, function(t5) { - c2(t5); - }); - } - function c2(t4) { - C3 ? o2(function() { - l(t4); - }) : l(t4); - } - function l(t4) { - t4.__upgraded__ && t4.__attached && (t4.__attached = false, t4.detachedCallback && t4.detachedCallback()); - } - function h(t4) { - for (var e4 = t4, n4 = window.wrap(document); e4; ) { - if (e4 == n4) - return true; - e4 = e4.parentNode || e4.nodeType === Node.DOCUMENT_FRAGMENT_NODE && e4.host; - } - } - function p2(t4) { - if (t4.shadowRoot && !t4.shadowRoot.__watched) { - y.dom && console.log("watching shadow-root for: ", t4.localName); - for (var e4 = t4.shadowRoot; e4; ) - g(e4), e4 = e4.olderShadowRoot; - } - } - function d(t4, n4) { - if (y.dom) { - var i2 = n4[0]; - if (i2 && i2.type === "childList" && i2.addedNodes && i2.addedNodes) { - for (var o3 = i2.addedNodes[0]; o3 && o3 !== document && !o3.host; ) - o3 = o3.parentNode; - var r3 = o3 && (o3.URL || o3._URL || o3.host && o3.host.localName) || ""; - r3 = r3.split("/?").shift().split("/").pop(); - } - console.group("mutations (%d) [%s]", n4.length, r3 || ""); - } - var s3 = h(t4); - n4.forEach(function(t5) { - t5.type === "childList" && (E(t5.addedNodes, function(t6) { - t6.localName && e3(t6, s3); - }), E(t5.removedNodes, function(t6) { - t6.localName && u(t6); - })); - }), y.dom && console.groupEnd(); - } - function f(t4) { - for (t4 = window.wrap(t4), t4 || (t4 = window.wrap(document)); t4.parentNode; ) - t4 = t4.parentNode; - var e4 = t4.__observer; - e4 && (d(t4, e4.takeRecords()), r2()); - } - function g(t4) { - if (!t4.__observer) { - var e4 = new MutationObserver(d.bind(this, t4)); - e4.observe(t4, { childList: true, subtree: true }), t4.__observer = e4; - } - } - function m(t4) { - t4 = window.wrap(t4), y.dom && console.group("upgradeDocument: ", t4.baseURI.split("/").pop()); - var n4 = t4 === window.wrap(document); - e3(t4, n4), g(t4), y.dom && console.groupEnd(); - } - function v(t4) { - A(t4, m); - } - var y = t3.flags, b = t3.forSubtree, A = t3.forDocumentTree, C3 = window.MutationObserver._isPolyfilled && y["throttle-attached"]; - t3.hasPolyfillMutations = C3, t3.hasThrottledAttached = C3; - var x = false, w = [], E = Array.prototype.forEach.call.bind(Array.prototype.forEach), S2 = Element.prototype.createShadowRoot; - S2 && (Element.prototype.createShadowRoot = function() { - var t4 = S2.call(this); - return window.CustomElements.watchShadow(this), t4; - }), t3.watchShadow = p2, t3.upgradeDocumentTree = v, t3.upgradeDocument = m, t3.upgradeSubtree = i, t3.upgradeAll = e3, t3.attached = s2, t3.takeRecords = f; - }), window.CustomElements.addModule(function(t3) { - function e3(e4, i2) { - if (e4.localName === "template" && window.HTMLTemplateElement && HTMLTemplateElement.decorate && HTMLTemplateElement.decorate(e4), !e4.__upgraded__ && e4.nodeType === Node.ELEMENT_NODE) { - var o3 = e4.getAttribute("is"), r3 = t3.getRegisteredDefinition(e4.localName) || t3.getRegisteredDefinition(o3); - if (r3 && (o3 && r3.tag == e4.localName || !o3 && !r3.extends)) - return n3(e4, r3, i2); - } - } - function n3(e4, n4, o3) { - return s2.upgrade && console.group("upgrade:", e4.localName), n4.is && e4.setAttribute("is", n4.is), i(e4, n4), e4.__upgraded__ = true, r2(e4), o3 && t3.attached(e4), t3.upgradeSubtree(e4, o3), s2.upgrade && console.groupEnd(), e4; - } - function i(t4, e4) { - Object.__proto__ ? t4.__proto__ = e4.prototype : (o2(t4, e4.prototype, e4.native), t4.__proto__ = e4.prototype); - } - function o2(t4, e4, n4) { - for (var i2 = {}, o3 = e4; o3 !== n4 && o3 !== HTMLElement.prototype; ) { - for (var r3, s3 = Object.getOwnPropertyNames(o3), a2 = 0; r3 = s3[a2]; a2++) - i2[r3] || (Object.defineProperty(t4, r3, Object.getOwnPropertyDescriptor(o3, r3)), i2[r3] = 1); - o3 = Object.getPrototypeOf(o3); - } - } - function r2(t4) { - t4.createdCallback && t4.createdCallback(); - } - var s2 = t3.flags; - t3.upgrade = e3, t3.upgradeWithDefinition = n3, t3.implementPrototype = i; - }), window.CustomElements.addModule(function(t3) { - function e3(e4, i2) { - var u2 = i2 || {}; - if (!e4) - throw new Error("document.registerElement: first argument `name` must not be empty"); - if (e4.indexOf("-") < 0) - throw new Error("document.registerElement: first argument ('name') must contain a dash ('-'). Argument provided was '" + String(e4) + "'."); - if (o2(e4)) - throw new Error("Failed to execute 'registerElement' on 'Document': Registration failed for type '" + String(e4) + "'. The type name is invalid."); - if (c2(e4)) - throw new Error("DuplicateDefinitionError: a type with name '" + String(e4) + "' is already registered"); - return u2.prototype || (u2.prototype = Object.create(HTMLElement.prototype)), u2.__name = e4.toLowerCase(), u2.extends && (u2.extends = u2.extends.toLowerCase()), u2.lifecycle = u2.lifecycle || {}, u2.ancestry = r2(u2.extends), s2(u2), a2(u2), n3(u2.prototype), l(u2.__name, u2), u2.ctor = h(u2), u2.ctor.prototype = u2.prototype, u2.prototype.constructor = u2.ctor, t3.ready && m(document), u2.ctor; - } - function n3(t4) { - if (!t4.setAttribute._polyfilled) { - var e4 = t4.setAttribute; - t4.setAttribute = function(t5, n5) { - i.call(this, t5, n5, e4); - }; - var n4 = t4.removeAttribute; - t4.removeAttribute = function(t5) { - i.call(this, t5, null, n4); - }, t4.setAttribute._polyfilled = true; - } - } - function i(t4, e4, n4) { - t4 = t4.toLowerCase(); - var i2 = this.getAttribute(t4); - n4.apply(this, arguments); - var o3 = this.getAttribute(t4); - this.attributeChangedCallback && o3 !== i2 && this.attributeChangedCallback(t4, i2, o3); - } - function o2(t4) { - for (var e4 = 0; e4 < C3.length; e4++) - if (t4 === C3[e4]) - return true; - } - function r2(t4) { - var e4 = c2(t4); - return e4 ? r2(e4.extends).concat([e4]) : []; - } - function s2(t4) { - for (var e4, n4 = t4.extends, i2 = 0; e4 = t4.ancestry[i2]; i2++) - n4 = e4.is && e4.tag; - t4.tag = n4 || t4.__name, n4 && (t4.is = t4.__name); - } - function a2(t4) { - if (!Object.__proto__) { - var e4 = HTMLElement.prototype; - if (t4.is) { - var n4 = document.createElement(t4.tag); - e4 = Object.getPrototypeOf(n4); - } - for (var i2, o3 = t4.prototype, r3 = false; o3; ) - o3 == e4 && (r3 = true), i2 = Object.getPrototypeOf(o3), i2 && (o3.__proto__ = i2), o3 = i2; - r3 || console.warn(t4.tag + " prototype not found in prototype chain for " + t4.is), t4.native = e4; - } - } - function u(t4) { - return y(E(t4.tag), t4); - } - function c2(t4) { - return t4 ? x[t4.toLowerCase()] : void 0; - } - function l(t4, e4) { - x[t4] = e4; - } - function h(t4) { - return function() { - return u(t4); - }; - } - function p2(t4, e4, n4) { - return t4 === w ? d(e4, n4) : S2(t4, e4); - } - function d(t4, e4) { - t4 && (t4 = t4.toLowerCase()), e4 && (e4 = e4.toLowerCase()); - var n4 = c2(e4 || t4); - if (n4) { - if (t4 == n4.tag && e4 == n4.is) - return new n4.ctor(); - if (!e4 && !n4.is) - return new n4.ctor(); - } - var i2; - return e4 ? (i2 = d(t4), i2.setAttribute("is", e4), i2) : (i2 = E(t4), t4.indexOf("-") >= 0 && b(i2, HTMLElement), i2); - } - function f(t4, e4) { - var n4 = t4[e4]; - t4[e4] = function() { - var t5 = n4.apply(this, arguments); - return v(t5), t5; - }; - } - var g, m = (t3.isIE, t3.upgradeDocumentTree), v = t3.upgradeAll, y = t3.upgradeWithDefinition, b = t3.implementPrototype, A = t3.useNative, C3 = ["annotation-xml", "color-profile", "font-face", "font-face-src", "font-face-uri", "font-face-format", "font-face-name", "missing-glyph"], x = {}, w = "http://www.w3.org/1999/xhtml", E = document.createElement.bind(document), S2 = document.createElementNS.bind(document); - g = Object.__proto__ || A ? function(t4, e4) { + }); + } + var n3 = t3.useNative, i = t3.initializeModules; + if (t3.isIE, n3) { + var o2 = function() { + }; + t3.watchShadow = o2, t3.upgrade = o2, t3.upgradeAll = o2, t3.upgradeDocumentTree = o2, t3.upgradeSubtree = o2, t3.takeRecords = o2, t3.instanceof = function(t4, e4) { return t4 instanceof e4; - } : function(t4, e4) { - if (t4 instanceof e4) - return true; - for (var n4 = t4; n4; ) { - if (n4 === e4.prototype) - return true; - n4 = n4.__proto__; + }; + } else + i(); + var r2 = t3.upgradeDocumentTree, s2 = t3.upgradeDocument; + if (window.wrap || (window.ShadowDOMPolyfill ? (window.wrap = window.ShadowDOMPolyfill.wrapIfNeeded, window.unwrap = window.ShadowDOMPolyfill.unwrapIfNeeded) : window.wrap = window.unwrap = function(t4) { + return t4; + }), window.HTMLImports && (window.HTMLImports.__importsParsingHook = function(t4) { + t4.import && s2(wrap(t4.import)); + }), document.readyState === "complete" || t3.flags.eager) + e3(); + else if (document.readyState !== "interactive" || window.attachEvent || window.HTMLImports && !window.HTMLImports.ready) { + var a2 = window.HTMLImports && !window.HTMLImports.ready ? "HTMLImportsLoaded" : "DOMContentLoaded"; + window.addEventListener(a2, e3); + } else + e3(); + }(window.CustomElements)); + }.call(exports), function() { + }.call(exports), function() { + var t2 = this; + (function() { + (function() { + this.Trix = {VERSION: "1.3.1", ZERO_WIDTH_SPACE: "\uFEFF", NON_BREAKING_SPACE: "\xA0", OBJECT_REPLACEMENT_CHARACTER: "\uFFFC", browser: {composesExistingText: /Android.*Chrome/.test(navigator.userAgent), forcesObjectResizing: /Trident.*rv:11/.test(navigator.userAgent), supportsInputEvents: function() { + var t3, e3, n2, i; + if (typeof InputEvent == "undefined") + return false; + for (i = ["data", "getTargetRanges", "inputType"], t3 = 0, e3 = i.length; e3 > t3; t3++) + if (n2 = i[t3], !(n2 in InputEvent.prototype)) + return false; + return true; + }()}, config: {}}; + }).call(this); + }).call(t2); + var e2 = t2.Trix; + (function() { + (function() { + e2.BasicObject = function() { + function t3() { } - return false; - }, f(Node.prototype, "cloneNode"), f(document, "importNode"), document.registerElement = e3, document.createElement = d, document.createElementNS = p2, t3.registry = x, t3.instanceof = g, t3.reservedTagList = C3, t3.getRegisteredDefinition = c2, document.register = document.registerElement; - }), function(t3) { - function e3() { - r2(window.wrap(document)), window.CustomElements.ready = true; - var t4 = window.requestAnimationFrame || function(t5) { - setTimeout(t5, 16); - }; - t4(function() { - setTimeout(function() { - window.CustomElements.readyTime = Date.now(), window.HTMLImports && (window.CustomElements.elapsed = window.CustomElements.readyTime - window.HTMLImports.readyTime), document.dispatchEvent(new CustomEvent("WebComponentsReady", { bubbles: true })); - }); - }); - } - var n3 = t3.useNative, i = t3.initializeModules; - if (t3.isIE, n3) { - var o2 = function() { - }; - t3.watchShadow = o2, t3.upgrade = o2, t3.upgradeAll = o2, t3.upgradeDocumentTree = o2, t3.upgradeSubtree = o2, t3.takeRecords = o2, t3.instanceof = function(t4, e4) { - return t4 instanceof e4; - }; - } else - i(); - var r2 = t3.upgradeDocumentTree, s2 = t3.upgradeDocument; - if (window.wrap || (window.ShadowDOMPolyfill ? (window.wrap = window.ShadowDOMPolyfill.wrapIfNeeded, window.unwrap = window.ShadowDOMPolyfill.unwrapIfNeeded) : window.wrap = window.unwrap = function(t4) { - return t4; - }), window.HTMLImports && (window.HTMLImports.__importsParsingHook = function(t4) { - t4.import && s2(wrap(t4.import)); - }), document.readyState === "complete" || t3.flags.eager) - e3(); - else if (document.readyState !== "interactive" || window.attachEvent || window.HTMLImports && !window.HTMLImports.ready) { - var a2 = window.HTMLImports && !window.HTMLImports.ready ? "HTMLImportsLoaded" : "DOMContentLoaded"; - window.addEventListener(a2, e3); - } else - e3(); - }(window.CustomElements)); - }.call(exports), function() { - }.call(exports), function() { - var t2 = this; - (function() { - (function() { - this.Trix = { VERSION: "1.3.1", ZERO_WIDTH_SPACE: "\uFEFF", NON_BREAKING_SPACE: "\xA0", OBJECT_REPLACEMENT_CHARACTER: "\uFFFC", browser: { composesExistingText: /Android.*Chrome/.test(navigator.userAgent), forcesObjectResizing: /Trident.*rv:11/.test(navigator.userAgent), supportsInputEvents: function() { - var t3, e3, n2, i; - if (typeof InputEvent == "undefined") - return false; - for (i = ["data", "getTargetRanges", "inputType"], t3 = 0, e3 = i.length; e3 > t3; t3++) - if (n2 = i[t3], !(n2 in InputEvent.prototype)) - return false; - return true; - }() }, config: {} }; - }).call(this); - }).call(t2); - var e2 = t2.Trix; - (function() { - (function() { - e2.BasicObject = function() { - function t3() { - } - var e3, n2, i; - return t3.proxyMethod = function(t4) { - var i2, o2, r2, s2, a2; - return r2 = n2(t4), i2 = r2.name, s2 = r2.toMethod, a2 = r2.toProperty, o2 = r2.optional, this.prototype[i2] = function() { - var t5, n3; - return t5 = s2 != null ? o2 ? typeof this[s2] == "function" ? this[s2]() : void 0 : this[s2]() : a2 != null ? this[a2] : void 0, o2 ? (n3 = t5 != null ? t5[i2] : void 0, n3 != null ? e3.call(n3, t5, arguments) : void 0) : (n3 = t5[i2], e3.call(n3, t5, arguments)); - }; - }, n2 = function(t4) { - var e4, n3; - if (!(n3 = t4.match(i))) - throw new Error("can't parse @proxyMethod expression: " + t4); - return e4 = { name: n3[4] }, n3[2] != null ? e4.toMethod = n3[1] : e4.toProperty = n3[1], n3[3] != null && (e4.optional = true), e4; - }, e3 = Function.prototype.apply, i = /^(.+?)(\(\))?(\?)?\.(.+?)$/, t3; - }(); - }).call(this), function() { - var t3 = function(t4, e3) { - function i() { - this.constructor = t4; - } - for (var o2 in e3) - n2.call(e3, o2) && (t4[o2] = e3[o2]); - return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; - }, n2 = {}.hasOwnProperty; - e2.Object = function(n3) { - function i() { - this.id = ++o2; - } - var o2; - return t3(i, n3), o2 = 0, i.fromJSONString = function(t4) { - return this.fromJSON(JSON.parse(t4)); - }, i.prototype.hasSameConstructorAs = function(t4) { - return this.constructor === (t4 != null ? t4.constructor : void 0); - }, i.prototype.isEqualTo = function(t4) { - return this === t4; - }, i.prototype.inspect = function() { - var t4, e3, n4; - return t4 = function() { - var t5, i2, o3; - i2 = (t5 = this.contentsForInspection()) != null ? t5 : {}, o3 = []; - for (e3 in i2) - n4 = i2[e3], o3.push(e3 + "=" + n4); - return o3; - }.call(this), "#<" + this.constructor.name + ":" + this.id + (t4.length ? " " + t4.join(", ") : "") + ">"; - }, i.prototype.contentsForInspection = function() { - }, i.prototype.toJSONString = function() { - return JSON.stringify(this); - }, i.prototype.toUTF16String = function() { - return e2.UTF16String.box(this); - }, i.prototype.getCacheKey = function() { - return this.id.toString(); - }, i; - }(e2.BasicObject); - }.call(this), function() { - e2.extend = function(t3) { - var e3, n2; - for (e3 in t3) - n2 = t3[e3], this[e3] = n2; - return this; - }; - }.call(this), function() { - e2.extend({ defer: function(t3) { - return setTimeout(t3, 1); - } }); - }.call(this), function() { - var t3, n2; - e2.extend({ normalizeSpaces: function(t4) { - return t4.replace(RegExp("" + e2.ZERO_WIDTH_SPACE, "g"), "").replace(RegExp("" + e2.NON_BREAKING_SPACE, "g"), " "); - }, normalizeNewlines: function(t4) { - return t4.replace(/\r\n/g, "\n"); - }, breakableWhitespacePattern: RegExp("[^\\S" + e2.NON_BREAKING_SPACE + "]"), squishBreakableWhitespace: function(t4) { - return t4.replace(RegExp("" + e2.breakableWhitespacePattern.source, "g"), " ").replace(/\ {2,}/g, " "); - }, summarizeStringChange: function(t4, i) { - var o2, r2, s2, a2; - return t4 = e2.UTF16String.box(t4), i = e2.UTF16String.box(i), i.length < t4.length ? (r2 = n2(t4, i), a2 = r2[0], o2 = r2[1]) : (s2 = n2(i, t4), o2 = s2[0], a2 = s2[1]), { added: o2, removed: a2 }; - } }), n2 = function(n3, i) { - var o2, r2, s2, a2, u; - return n3.isEqualTo(i) ? ["", ""] : (r2 = t3(n3, i), a2 = r2.utf16String.length, s2 = a2 ? (u = r2.offset, r2, o2 = n3.codepoints.slice(0, u).concat(n3.codepoints.slice(u + a2)), t3(i, e2.UTF16String.fromCodepoints(o2))) : t3(i, n3), [r2.utf16String.toString(), s2.utf16String.toString()]); - }, t3 = function(t4, e3) { - var n3, i, o2; - for (n3 = 0, i = t4.length, o2 = e3.length; i > n3 && t4.charAt(n3).isEqualTo(e3.charAt(n3)); ) - n3++; - for (; i > n3 + 1 && t4.charAt(i - 1).isEqualTo(e3.charAt(o2 - 1)); ) - i--, o2--; - return { utf16String: t4.slice(n3, i), offset: n3 }; - }; - }.call(this), function() { - e2.extend({ copyObject: function(t3) { - var e3, n2, i; - t3 == null && (t3 = {}), n2 = {}; - for (e3 in t3) - i = t3[e3], n2[e3] = i; - return n2; - }, objectsAreEqual: function(t3, e3) { - var n2, i; - if (t3 == null && (t3 = {}), e3 == null && (e3 = {}), Object.keys(t3).length !== Object.keys(e3).length) - return false; - for (n2 in t3) - if (i = t3[n2], i !== e3[n2]) - return false; - return true; - } }); - }.call(this), function() { - var t3 = [].slice; - e2.extend({ arraysAreEqual: function(t4, e3) { - var n2, i, o2, r2; - if (t4 == null && (t4 = []), e3 == null && (e3 = []), t4.length !== e3.length) - return false; - for (i = n2 = 0, o2 = t4.length; o2 > n2; i = ++n2) - if (r2 = t4[i], r2 !== e3[i]) - return false; - return true; - }, arrayStartsWith: function(t4, n2) { - return t4 == null && (t4 = []), n2 == null && (n2 = []), e2.arraysAreEqual(t4.slice(0, n2.length), n2); - }, spliceArray: function() { - var e3, n2, i; - return n2 = arguments[0], e3 = 2 <= arguments.length ? t3.call(arguments, 1) : [], i = n2.slice(0), i.splice.apply(i, e3), i; - }, summarizeArrayChange: function(t4, e3) { - var n2, i, o2, r2, s2, a2, u, c2, l, h, p2; - for (t4 == null && (t4 = []), e3 == null && (e3 = []), n2 = [], h = [], o2 = new Set(), r2 = 0, u = t4.length; u > r2; r2++) - p2 = t4[r2], o2.add(p2); - for (i = new Set(), s2 = 0, c2 = e3.length; c2 > s2; s2++) - p2 = e3[s2], i.add(p2), o2.has(p2) || n2.push(p2); - for (a2 = 0, l = t4.length; l > a2; a2++) - p2 = t4[a2], i.has(p2) || h.push(p2); - return { added: n2, removed: h }; - } }); - }.call(this), function() { - var t3, n2, i, o2; - t3 = null, n2 = null, o2 = null, i = null, e2.extend({ getAllAttributeNames: function() { - return t3 != null ? t3 : t3 = e2.getTextAttributeNames().concat(e2.getBlockAttributeNames()); - }, getBlockConfig: function(t4) { - return e2.config.blockAttributes[t4]; - }, getBlockAttributeNames: function() { - return n2 != null ? n2 : n2 = Object.keys(e2.config.blockAttributes); - }, getTextConfig: function(t4) { - return e2.config.textAttributes[t4]; - }, getTextAttributeNames: function() { - return o2 != null ? o2 : o2 = Object.keys(e2.config.textAttributes); - }, getListAttributeNames: function() { - var t4, n3; - return i != null ? i : i = function() { - var i2, o3; - i2 = e2.config.blockAttributes, o3 = []; - for (t4 in i2) - n3 = i2[t4].listAttribute, n3 != null && o3.push(n3); + var e3, n2, i; + return t3.proxyMethod = function(t4) { + var i2, o2, r2, s2, a2; + return r2 = n2(t4), i2 = r2.name, s2 = r2.toMethod, a2 = r2.toProperty, o2 = r2.optional, this.prototype[i2] = function() { + var t5, n3; + return t5 = s2 != null ? o2 ? typeof this[s2] == "function" ? this[s2]() : void 0 : this[s2]() : a2 != null ? this[a2] : void 0, o2 ? (n3 = t5 != null ? t5[i2] : void 0, n3 != null ? e3.call(n3, t5, arguments) : void 0) : (n3 = t5[i2], e3.call(n3, t5, arguments)); + }; + }, n2 = function(t4) { + var e4, n3; + if (!(n3 = t4.match(i))) + throw new Error("can't parse @proxyMethod expression: " + t4); + return e4 = {name: n3[4]}, n3[2] != null ? e4.toMethod = n3[1] : e4.toProperty = n3[1], n3[3] != null && (e4.optional = true), e4; + }, e3 = Function.prototype.apply, i = /^(.+?)(\(\))?(\?)?\.(.+?)$/, t3; + }(); + }).call(this), function() { + var t3 = function(t4, e3) { + function i() { + this.constructor = t4; + } + for (var o2 in e3) + n2.call(e3, o2) && (t4[o2] = e3[o2]); + return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; + }, n2 = {}.hasOwnProperty; + e2.Object = function(n3) { + function i() { + this.id = ++o2; + } + var o2; + return t3(i, n3), o2 = 0, i.fromJSONString = function(t4) { + return this.fromJSON(JSON.parse(t4)); + }, i.prototype.hasSameConstructorAs = function(t4) { + return this.constructor === (t4 != null ? t4.constructor : void 0); + }, i.prototype.isEqualTo = function(t4) { + return this === t4; + }, i.prototype.inspect = function() { + var t4, e3, n4; + return t4 = function() { + var t5, i2, o3; + i2 = (t5 = this.contentsForInspection()) != null ? t5 : {}, o3 = []; + for (e3 in i2) + n4 = i2[e3], o3.push(e3 + "=" + n4); return o3; - }(); - } }); - }.call(this), function() { - var t3, n2, i, o2, r2, s2 = [].indexOf || function(t4) { - for (var e3 = 0, n3 = this.length; n3 > e3; e3++) - if (e3 in this && this[e3] === t4) - return e3; - return -1; - }; - t3 = document.documentElement, n2 = (i = (o2 = (r2 = t3.matchesSelector) != null ? r2 : t3.webkitMatchesSelector) != null ? o2 : t3.msMatchesSelector) != null ? i : t3.mozMatchesSelector, e2.extend({ handleEvent: function(n3, i2) { - var o3, r3, s3, a2, u, c2, l, h, p2, d, f, g; - return h = i2 != null ? i2 : {}, c2 = h.onElement, u = h.matchingSelector, g = h.withCallback, a2 = h.inPhase, l = h.preventDefault, d = h.times, r3 = c2 != null ? c2 : t3, p2 = u, o3 = g, f = a2 === "capturing", s3 = function(t4) { - var n4; - return d != null && --d === 0 && s3.destroy(), n4 = e2.findClosestElementFromNode(t4.target, { matchingSelector: p2 }), n4 != null && (g != null && g.call(n4, t4, n4), l) ? t4.preventDefault() : void 0; - }, s3.destroy = function() { - return r3.removeEventListener(n3, s3, f); - }, r3.addEventListener(n3, s3, f), s3; - }, handleEventOnce: function(t4, n3) { - return n3 == null && (n3 = {}), n3.times = 1, e2.handleEvent(t4, n3); - }, triggerEvent: function(n3, i2) { - var o3, r3, s3, a2, u, c2, l; - return l = i2 != null ? i2 : {}, c2 = l.onElement, r3 = l.bubbles, s3 = l.cancelable, o3 = l.attributes, a2 = c2 != null ? c2 : t3, r3 = r3 !== false, s3 = s3 !== false, u = document.createEvent("Events"), u.initEvent(n3, r3, s3), o3 != null && e2.extend.call(u, o3), a2.dispatchEvent(u); - }, elementMatchesSelector: function(t4, e3) { - return (t4 != null ? t4.nodeType : void 0) === 1 ? n2.call(t4, e3) : void 0; - }, findClosestElementFromNode: function(t4, n3) { - var i2, o3, r3; - for (o3 = n3 != null ? n3 : {}, i2 = o3.matchingSelector, r3 = o3.untilNode; t4 != null && t4.nodeType !== Node.ELEMENT_NODE; ) - t4 = t4.parentNode; - if (t4 != null) { - if (i2 == null) + }.call(this), "#<" + this.constructor.name + ":" + this.id + (t4.length ? " " + t4.join(", ") : "") + ">"; + }, i.prototype.contentsForInspection = function() { + }, i.prototype.toJSONString = function() { + return JSON.stringify(this); + }, i.prototype.toUTF16String = function() { + return e2.UTF16String.box(this); + }, i.prototype.getCacheKey = function() { + return this.id.toString(); + }, i; + }(e2.BasicObject); + }.call(this), function() { + e2.extend = function(t3) { + var e3, n2; + for (e3 in t3) + n2 = t3[e3], this[e3] = n2; + return this; + }; + }.call(this), function() { + e2.extend({defer: function(t3) { + return setTimeout(t3, 1); + }}); + }.call(this), function() { + var t3, n2; + e2.extend({normalizeSpaces: function(t4) { + return t4.replace(RegExp("" + e2.ZERO_WIDTH_SPACE, "g"), "").replace(RegExp("" + e2.NON_BREAKING_SPACE, "g"), " "); + }, normalizeNewlines: function(t4) { + return t4.replace(/\r\n/g, "\n"); + }, breakableWhitespacePattern: RegExp("[^\\S" + e2.NON_BREAKING_SPACE + "]"), squishBreakableWhitespace: function(t4) { + return t4.replace(RegExp("" + e2.breakableWhitespacePattern.source, "g"), " ").replace(/\ {2,}/g, " "); + }, summarizeStringChange: function(t4, i) { + var o2, r2, s2, a2; + return t4 = e2.UTF16String.box(t4), i = e2.UTF16String.box(i), i.length < t4.length ? (r2 = n2(t4, i), a2 = r2[0], o2 = r2[1]) : (s2 = n2(i, t4), o2 = s2[0], a2 = s2[1]), {added: o2, removed: a2}; + }}), n2 = function(n3, i) { + var o2, r2, s2, a2, u; + return n3.isEqualTo(i) ? ["", ""] : (r2 = t3(n3, i), a2 = r2.utf16String.length, s2 = a2 ? (u = r2.offset, r2, o2 = n3.codepoints.slice(0, u).concat(n3.codepoints.slice(u + a2)), t3(i, e2.UTF16String.fromCodepoints(o2))) : t3(i, n3), [r2.utf16String.toString(), s2.utf16String.toString()]); + }, t3 = function(t4, e3) { + var n3, i, o2; + for (n3 = 0, i = t4.length, o2 = e3.length; i > n3 && t4.charAt(n3).isEqualTo(e3.charAt(n3)); ) + n3++; + for (; i > n3 + 1 && t4.charAt(i - 1).isEqualTo(e3.charAt(o2 - 1)); ) + i--, o2--; + return {utf16String: t4.slice(n3, i), offset: n3}; + }; + }.call(this), function() { + e2.extend({copyObject: function(t3) { + var e3, n2, i; + t3 == null && (t3 = {}), n2 = {}; + for (e3 in t3) + i = t3[e3], n2[e3] = i; + return n2; + }, objectsAreEqual: function(t3, e3) { + var n2, i; + if (t3 == null && (t3 = {}), e3 == null && (e3 = {}), Object.keys(t3).length !== Object.keys(e3).length) + return false; + for (n2 in t3) + if (i = t3[n2], i !== e3[n2]) + return false; + return true; + }}); + }.call(this), function() { + var t3 = [].slice; + e2.extend({arraysAreEqual: function(t4, e3) { + var n2, i, o2, r2; + if (t4 == null && (t4 = []), e3 == null && (e3 = []), t4.length !== e3.length) + return false; + for (i = n2 = 0, o2 = t4.length; o2 > n2; i = ++n2) + if (r2 = t4[i], r2 !== e3[i]) + return false; + return true; + }, arrayStartsWith: function(t4, n2) { + return t4 == null && (t4 = []), n2 == null && (n2 = []), e2.arraysAreEqual(t4.slice(0, n2.length), n2); + }, spliceArray: function() { + var e3, n2, i; + return n2 = arguments[0], e3 = 2 <= arguments.length ? t3.call(arguments, 1) : [], i = n2.slice(0), i.splice.apply(i, e3), i; + }, summarizeArrayChange: function(t4, e3) { + var n2, i, o2, r2, s2, a2, u, c2, l, h, p2; + for (t4 == null && (t4 = []), e3 == null && (e3 = []), n2 = [], h = [], o2 = new Set(), r2 = 0, u = t4.length; u > r2; r2++) + p2 = t4[r2], o2.add(p2); + for (i = new Set(), s2 = 0, c2 = e3.length; c2 > s2; s2++) + p2 = e3[s2], i.add(p2), o2.has(p2) || n2.push(p2); + for (a2 = 0, l = t4.length; l > a2; a2++) + p2 = t4[a2], i.has(p2) || h.push(p2); + return {added: n2, removed: h}; + }}); + }.call(this), function() { + var t3, n2, i, o2; + t3 = null, n2 = null, o2 = null, i = null, e2.extend({getAllAttributeNames: function() { + return t3 != null ? t3 : t3 = e2.getTextAttributeNames().concat(e2.getBlockAttributeNames()); + }, getBlockConfig: function(t4) { + return e2.config.blockAttributes[t4]; + }, getBlockAttributeNames: function() { + return n2 != null ? n2 : n2 = Object.keys(e2.config.blockAttributes); + }, getTextConfig: function(t4) { + return e2.config.textAttributes[t4]; + }, getTextAttributeNames: function() { + return o2 != null ? o2 : o2 = Object.keys(e2.config.textAttributes); + }, getListAttributeNames: function() { + var t4, n3; + return i != null ? i : i = function() { + var i2, o3; + i2 = e2.config.blockAttributes, o3 = []; + for (t4 in i2) + n3 = i2[t4].listAttribute, n3 != null && o3.push(n3); + return o3; + }(); + }}); + }.call(this), function() { + var t3, n2, i, o2, r2, s2 = [].indexOf || function(t4) { + for (var e3 = 0, n3 = this.length; n3 > e3; e3++) + if (e3 in this && this[e3] === t4) + return e3; + return -1; + }; + t3 = document.documentElement, n2 = (i = (o2 = (r2 = t3.matchesSelector) != null ? r2 : t3.webkitMatchesSelector) != null ? o2 : t3.msMatchesSelector) != null ? i : t3.mozMatchesSelector, e2.extend({handleEvent: function(n3, i2) { + var o3, r3, s3, a2, u, c2, l, h, p2, d, f, g; + return h = i2 != null ? i2 : {}, c2 = h.onElement, u = h.matchingSelector, g = h.withCallback, a2 = h.inPhase, l = h.preventDefault, d = h.times, r3 = c2 != null ? c2 : t3, p2 = u, o3 = g, f = a2 === "capturing", s3 = function(t4) { + var n4; + return d != null && --d === 0 && s3.destroy(), n4 = e2.findClosestElementFromNode(t4.target, {matchingSelector: p2}), n4 != null && (g != null && g.call(n4, t4, n4), l) ? t4.preventDefault() : void 0; + }, s3.destroy = function() { + return r3.removeEventListener(n3, s3, f); + }, r3.addEventListener(n3, s3, f), s3; + }, handleEventOnce: function(t4, n3) { + return n3 == null && (n3 = {}), n3.times = 1, e2.handleEvent(t4, n3); + }, triggerEvent: function(n3, i2) { + var o3, r3, s3, a2, u, c2, l; + return l = i2 != null ? i2 : {}, c2 = l.onElement, r3 = l.bubbles, s3 = l.cancelable, o3 = l.attributes, a2 = c2 != null ? c2 : t3, r3 = r3 !== false, s3 = s3 !== false, u = document.createEvent("Events"), u.initEvent(n3, r3, s3), o3 != null && e2.extend.call(u, o3), a2.dispatchEvent(u); + }, elementMatchesSelector: function(t4, e3) { + return (t4 != null ? t4.nodeType : void 0) === 1 ? n2.call(t4, e3) : void 0; + }, findClosestElementFromNode: function(t4, n3) { + var i2, o3, r3; + for (o3 = n3 != null ? n3 : {}, i2 = o3.matchingSelector, r3 = o3.untilNode; t4 != null && t4.nodeType !== Node.ELEMENT_NODE; ) + t4 = t4.parentNode; + if (t4 != null) { + if (i2 == null) + return t4; + if (t4.closest && r3 == null) + return t4.closest(i2); + for (; t4 && t4 !== r3; ) { + if (e2.elementMatchesSelector(t4, i2)) return t4; - if (t4.closest && r3 == null) - return t4.closest(i2); - for (; t4 && t4 !== r3; ) { - if (e2.elementMatchesSelector(t4, i2)) - return t4; - t4 = t4.parentNode; - } + t4 = t4.parentNode; } - }, findInnerElement: function(t4) { - for (; t4 != null ? t4.firstElementChild : void 0; ) - t4 = t4.firstElementChild; - return t4; - }, innerElementIsActive: function(t4) { - return document.activeElement !== t4 && e2.elementContainsNode(t4, document.activeElement); - }, elementContainsNode: function(t4, e3) { - if (t4 && e3) - for (; e3; ) { - if (e3 === t4) - return true; - e3 = e3.parentNode; - } - }, findNodeFromContainerAndOffset: function(t4, e3) { - var n3; - if (t4) - return t4.nodeType === Node.TEXT_NODE ? t4 : e3 === 0 ? (n3 = t4.firstChild) != null ? n3 : t4 : t4.childNodes.item(e3 - 1); - }, findElementFromContainerAndOffset: function(t4, n3) { - var i2; - return i2 = e2.findNodeFromContainerAndOffset(t4, n3), e2.findClosestElementFromNode(i2); - }, findChildIndexOfNode: function(t4) { - var e3; - if (t4 != null ? t4.parentNode : void 0) { - for (e3 = 0; t4 = t4.previousSibling; ) - e3++; - return e3; + } + }, findInnerElement: function(t4) { + for (; t4 != null ? t4.firstElementChild : void 0; ) + t4 = t4.firstElementChild; + return t4; + }, innerElementIsActive: function(t4) { + return document.activeElement !== t4 && e2.elementContainsNode(t4, document.activeElement); + }, elementContainsNode: function(t4, e3) { + if (t4 && e3) + for (; e3; ) { + if (e3 === t4) + return true; + e3 = e3.parentNode; } - }, removeNode: function(t4) { - var e3; - return t4 != null && (e3 = t4.parentNode) != null ? e3.removeChild(t4) : void 0; - }, walkTree: function(t4, e3) { - var n3, i2, o3, r3, s3; - return o3 = e3 != null ? e3 : {}, i2 = o3.onlyNodesOfType, r3 = o3.usingFilter, n3 = o3.expandEntityReferences, s3 = function() { - switch (i2) { - case "element": - return NodeFilter.SHOW_ELEMENT; - case "text": - return NodeFilter.SHOW_TEXT; - case "comment": - return NodeFilter.SHOW_COMMENT; - default: - return NodeFilter.SHOW_ALL; - } - }(), document.createTreeWalker(t4, s3, r3 != null ? r3 : null, n3 === true); - }, tagName: function(t4) { - var e3; - return t4 != null && (e3 = t4.tagName) != null ? e3.toLowerCase() : void 0; - }, makeElement: function(t4, e3) { - var n3, i2, o3, r3, s3, a2, u, c2, l, h, p2, d, f, g; - if (e3 == null && (e3 = {}), typeof t4 == "object" ? (e3 = t4, t4 = e3.tagName) : e3 = { attributes: e3 }, o3 = document.createElement(t4), e3.editable != null && (e3.attributes == null && (e3.attributes = {}), e3.attributes.contenteditable = e3.editable), e3.attributes) { - l = e3.attributes; - for (a2 in l) - g = l[a2], o3.setAttribute(a2, g); - } - if (e3.style) { - h = e3.style; - for (a2 in h) - g = h[a2], o3.style[a2] = g; - } - if (e3.data) { - p2 = e3.data; - for (a2 in p2) - g = p2[a2], o3.dataset[a2] = g; - } - if (e3.className) - for (d = e3.className.split(" "), r3 = 0, u = d.length; u > r3; r3++) - i2 = d[r3], o3.classList.add(i2); - if (e3.textContent && (o3.textContent = e3.textContent), e3.childNodes) - for (f = [].concat(e3.childNodes), s3 = 0, c2 = f.length; c2 > s3; s3++) - n3 = f[s3], o3.appendChild(n3); - return o3; - }, getBlockTagNames: function() { - var t4, n3; - return e2.blockTagNames != null ? e2.blockTagNames : e2.blockTagNames = function() { - var i2, o3; - i2 = e2.config.blockAttributes, o3 = []; - for (t4 in i2) - n3 = i2[t4].tagName, n3 && o3.push(n3); - return o3; - }(); - }, nodeIsBlockContainer: function(t4) { - return e2.nodeIsBlockStartComment(t4 != null ? t4.firstChild : void 0); - }, nodeProbablyIsBlockContainer: function(t4) { - var n3, i2; - return n3 = e2.tagName(t4), s2.call(e2.getBlockTagNames(), n3) >= 0 && (i2 = e2.tagName(t4.firstChild), s2.call(e2.getBlockTagNames(), i2) < 0); - }, nodeIsBlockStart: function(t4, n3) { - var i2; - return i2 = (n3 != null ? n3 : { strict: true }).strict, i2 ? e2.nodeIsBlockStartComment(t4) : e2.nodeIsBlockStartComment(t4) || !e2.nodeIsBlockStartComment(t4.firstChild) && e2.nodeProbablyIsBlockContainer(t4); - }, nodeIsBlockStartComment: function(t4) { - return e2.nodeIsCommentNode(t4) && (t4 != null ? t4.data : void 0) === "block"; - }, nodeIsCommentNode: function(t4) { - return (t4 != null ? t4.nodeType : void 0) === Node.COMMENT_NODE; - }, nodeIsCursorTarget: function(t4, n3) { - var i2; - return i2 = (n3 != null ? n3 : {}).name, t4 ? e2.nodeIsTextNode(t4) ? t4.data === e2.ZERO_WIDTH_SPACE ? i2 ? t4.parentNode.dataset.trixCursorTarget === i2 : true : void 0 : e2.nodeIsCursorTarget(t4.firstChild) : void 0; - }, nodeIsAttachmentElement: function(t4) { - return e2.elementMatchesSelector(t4, e2.AttachmentView.attachmentSelector); - }, nodeIsEmptyTextNode: function(t4) { - return e2.nodeIsTextNode(t4) && (t4 != null ? t4.data : void 0) === ""; - }, nodeIsTextNode: function(t4) { - return (t4 != null ? t4.nodeType : void 0) === Node.TEXT_NODE; - } }); - }.call(this), function() { - var t3, n2, i, o2, r2; - t3 = e2.copyObject, o2 = e2.objectsAreEqual, e2.extend({ normalizeRange: i = function(t4) { - var e3; - if (t4 != null) - return Array.isArray(t4) || (t4 = [t4, t4]), [n2(t4[0]), n2((e3 = t4[1]) != null ? e3 : t4[0])]; - }, rangeIsCollapsed: function(t4) { - var e3, n3, o3; - if (t4 != null) - return n3 = i(t4), o3 = n3[0], e3 = n3[1], r2(o3, e3); - }, rangesAreEqual: function(t4, e3) { - var n3, o3, s2, a2, u, c2; - if (t4 != null && e3 != null) - return s2 = i(t4), o3 = s2[0], n3 = s2[1], a2 = i(e3), c2 = a2[0], u = a2[1], r2(o3, c2) && r2(n3, u); - } }), n2 = function(e3) { - return typeof e3 == "number" ? e3 : t3(e3); - }, r2 = function(t4, e3) { - return typeof t4 == "number" ? t4 === e3 : o2(t4, e3); - }; - }.call(this), function() { - var t3, n2, i, o2, r2, s2, a2; - e2.registerElement = function(t4, e3) { - var n3, i2; - return e3 == null && (e3 = {}), t4 = t4.toLowerCase(), e3 = a2(e3), i2 = s2(e3), (n3 = i2.defaultCSS) && (delete i2.defaultCSS, o2(n3, t4)), r2(t4, i2); - }, o2 = function(t4, e3) { - var n3; - return n3 = i(e3), n3.textContent = t4.replace(/%t/g, e3); - }, i = function(e3) { - var n3, i2; - return n3 = document.createElement("style"), n3.setAttribute("type", "text/css"), n3.setAttribute("data-tag-name", e3.toLowerCase()), (i2 = t3()) && n3.setAttribute("nonce", i2), document.head.insertBefore(n3, document.head.firstChild), n3; - }, t3 = function() { - var t4; - return (t4 = n2("trix-csp-nonce") || n2("csp-nonce")) ? t4.getAttribute("content") : void 0; - }, n2 = function(t4) { - return document.head.querySelector("meta[name=" + t4 + "]"); - }, s2 = function(t4) { - var e3, n3, i2; - n3 = {}; - for (e3 in t4) - i2 = t4[e3], n3[e3] = typeof i2 == "function" ? { value: i2 } : i2; - return n3; - }, a2 = function() { - var t4; - return t4 = function(t5) { - var e3, n3, i2, o3, r3; - for (e3 = {}, r3 = ["initialize", "connect", "disconnect"], n3 = 0, o3 = r3.length; o3 > n3; n3++) - i2 = r3[n3], e3[i2] = t5[i2], delete t5[i2]; - return e3; - }, window.customElements ? function(e3) { - var n3, i2, o3, r3, s3; - return s3 = t4(e3), o3 = s3.initialize, n3 = s3.connect, i2 = s3.disconnect, o3 && (r3 = n3, n3 = function() { - return this.initialized || (this.initialized = true, o3.call(this)), r3 != null ? r3.call(this) : void 0; - }), n3 && (e3.connectedCallback = n3), i2 && (e3.disconnectedCallback = i2), e3; - } : function(e3) { - var n3, i2, o3, r3; - return r3 = t4(e3), o3 = r3.initialize, n3 = r3.connect, i2 = r3.disconnect, o3 && (e3.createdCallback = o3), n3 && (e3.attachedCallback = n3), i2 && (e3.detachedCallback = i2), e3; - }; - }(), r2 = function() { - return window.customElements ? function(t4, e3) { - var n3; - return n3 = function() { - return typeof Reflect == "object" ? Reflect.construct(HTMLElement, [], n3) : HTMLElement.apply(this); - }, Object.setPrototypeOf(n3.prototype, HTMLElement.prototype), Object.setPrototypeOf(n3, HTMLElement), Object.defineProperties(n3.prototype, e3), window.customElements.define(t4, n3), n3; - } : function(t4, e3) { - var n3, i2; - return i2 = Object.create(HTMLElement.prototype, e3), n3 = document.registerElement(t4, { prototype: i2 }), Object.defineProperty(i2, "constructor", { value: n3 }), n3; - }; - }(); - }.call(this), function() { - var t3, n2; - e2.extend({ getDOMSelection: function() { - var t4; - return t4 = window.getSelection(), t4.rangeCount > 0 ? t4 : void 0; - }, getDOMRange: function() { - var n3, i; - return (n3 = (i = e2.getDOMSelection()) != null ? i.getRangeAt(0) : void 0) && !t3(n3) ? n3 : void 0; - }, setDOMRange: function(t4) { - var n3; - return n3 = window.getSelection(), n3.removeAllRanges(), n3.addRange(t4), e2.selectionChangeObserver.update(); - } }), t3 = function(t4) { - return n2(t4.startContainer) || n2(t4.endContainer); - }, n2 = function(t4) { - return !Object.getPrototypeOf(t4); - }; - }.call(this), function() { - var t3; - t3 = { "application/x-trix-feature-detection": "test" }, e2.extend({ dataTransferIsPlainText: function(t4) { - var e3, n2, i; - return i = t4.getData("text/plain"), n2 = t4.getData("text/html"), i && n2 ? (e3 = new DOMParser().parseFromString(n2, "text/html").body, e3.textContent === i ? !e3.querySelector("*") : void 0) : i != null ? i.length : void 0; - }, dataTransferIsWritable: function(e3) { - var n2, i; - if ((e3 != null ? e3.setData : void 0) != null) { - for (n2 in t3) - if (i = t3[n2], !function() { - try { - return e3.setData(n2, i), e3.getData(n2) === i; - } catch (t4) { - } - }()) - return; - return true; - } - }, keyEventIsKeyboardCommand: function() { - return /Mac|^iP/.test(navigator.platform) ? function(t4) { - return t4.metaKey; - } : function(t4) { - return t4.ctrlKey; - }; - }() }); - }.call(this), function() { - e2.extend({ RTL_PATTERN: /[\u05BE\u05C0\u05C3\u05D0-\u05EA\u05F0-\u05F4\u061B\u061F\u0621-\u063A\u0640-\u064A\u066D\u0671-\u06B7\u06BA-\u06BE\u06C0-\u06CE\u06D0-\u06D5\u06E5\u06E6\u200F\u202B\u202E\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE72\uFE74\uFE76-\uFEFC]/, getDirection: function() { - var t3, n2, i, o2; - return n2 = e2.makeElement("input", { dir: "auto", name: "x", dirName: "x.dir" }), t3 = e2.makeElement("form"), t3.appendChild(n2), i = function() { - try { - return new FormData(t3).has(n2.dirName); - } catch (e3) { - } - }(), o2 = function() { - try { - return n2.matches(":dir(ltr),:dir(rtl)"); - } catch (t4) { - } - }(), i ? function(e3) { - return n2.value = e3, new FormData(t3).get(n2.dirName); - } : o2 ? function(t4) { - return n2.value = t4, n2.matches(":dir(rtl)") ? "rtl" : "ltr"; - } : function(t4) { - var n3; - return n3 = t4.trim().charAt(0), e2.RTL_PATTERN.test(n3) ? "rtl" : "ltr"; - }; - }() }); - }.call(this), function() { - }.call(this), function() { - var t3, n2 = function(t4, e3) { - function n3() { - this.constructor = t4; - } - for (var o2 in e3) - i.call(e3, o2) && (t4[o2] = e3[o2]); - return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; - }, i = {}.hasOwnProperty; - t3 = e2.arraysAreEqual, e2.Hash = function(i2) { - function o2(t4) { - t4 == null && (t4 = {}), this.values = s2(t4), o2.__super__.constructor.apply(this, arguments); - } - var r2, s2, a2, u, c2; - return n2(o2, i2), o2.fromCommonAttributesOfObjects = function(t4) { - var e3, n3, i3, o3, s3, a3; - if (t4 == null && (t4 = []), !t4.length) - return new this(); - for (e3 = r2(t4[0]), i3 = e3.getKeys(), a3 = t4.slice(1), n3 = 0, o3 = a3.length; o3 > n3; n3++) - s3 = a3[n3], i3 = e3.getKeysCommonToHash(r2(s3)), e3 = e3.slice(i3); - return e3; - }, o2.box = function(t4) { - return r2(t4); - }, o2.prototype.add = function(t4, e3) { - return this.merge(u(t4, e3)); - }, o2.prototype.remove = function(t4) { - return new e2.Hash(s2(this.values, t4)); - }, o2.prototype.get = function(t4) { - return this.values[t4]; - }, o2.prototype.has = function(t4) { - return t4 in this.values; - }, o2.prototype.merge = function(t4) { - return new e2.Hash(a2(this.values, c2(t4))); - }, o2.prototype.slice = function(t4) { - var n3, i3, o3, r3; - for (r3 = {}, n3 = 0, o3 = t4.length; o3 > n3; n3++) - i3 = t4[n3], this.has(i3) && (r3[i3] = this.values[i3]); - return new e2.Hash(r3); - }, o2.prototype.getKeys = function() { - return Object.keys(this.values); - }, o2.prototype.getKeysCommonToHash = function(t4) { - var e3, n3, i3, o3, s3; - for (t4 = r2(t4), o3 = this.getKeys(), s3 = [], e3 = 0, i3 = o3.length; i3 > e3; e3++) - n3 = o3[e3], this.values[n3] === t4.values[n3] && s3.push(n3); - return s3; - }, o2.prototype.isEqualTo = function(e3) { - return t3(this.toArray(), r2(e3).toArray()); - }, o2.prototype.isEmpty = function() { - return this.getKeys().length === 0; - }, o2.prototype.toArray = function() { - var t4, e3, n3; - return (this.array != null ? this.array : this.array = function() { - var i3; - e3 = [], i3 = this.values; - for (t4 in i3) - n3 = i3[t4], e3.push(t4, n3); - return e3; - }.call(this)).slice(0); - }, o2.prototype.toObject = function() { - return s2(this.values); - }, o2.prototype.toJSON = function() { - return this.toObject(); - }, o2.prototype.contentsForInspection = function() { - return { values: JSON.stringify(this.values) }; - }, u = function(t4, e3) { - var n3; - return n3 = {}, n3[t4] = e3, n3; - }, a2 = function(t4, e3) { - var n3, i3, o3; - i3 = s2(t4); - for (n3 in e3) - o3 = e3[n3], i3[n3] = o3; - return i3; - }, s2 = function(t4, e3) { - var n3, i3, o3, r3, s3; - for (r3 = {}, s3 = Object.keys(t4).sort(), n3 = 0, o3 = s3.length; o3 > n3; n3++) - i3 = s3[n3], i3 !== e3 && (r3[i3] = t4[i3]); - return r3; - }, r2 = function(t4) { - return t4 instanceof e2.Hash ? t4 : new e2.Hash(t4); - }, c2 = function(t4) { - return t4 instanceof e2.Hash ? t4.values : t4; - }, o2; - }(e2.Object); - }.call(this), function() { - e2.ObjectGroup = function() { - function t3(t4, e3) { - var n2, i; - this.objects = t4 != null ? t4 : [], i = e3.depth, n2 = e3.asTree, n2 && (this.depth = i, this.objects = this.constructor.groupObjects(this.objects, { asTree: n2, depth: this.depth + 1 })); - } - return t3.groupObjects = function(t4, e3) { - var n2, i, o2, r2, s2, a2, u, c2, l; - for (t4 == null && (t4 = []), l = e3 != null ? e3 : {}, o2 = l.depth, n2 = l.asTree, n2 && o2 == null && (o2 = 0), c2 = [], s2 = 0, a2 = t4.length; a2 > s2; s2++) { - if (u = t4[s2], r2) { - if ((typeof u.canBeGrouped == "function" ? u.canBeGrouped(o2) : void 0) && (typeof (i = r2[r2.length - 1]).canBeGroupedWith == "function" ? i.canBeGroupedWith(u, o2) : void 0)) { - r2.push(u); - continue; - } - c2.push(new this(r2, { depth: o2, asTree: n2 })), r2 = null; - } - (typeof u.canBeGrouped == "function" ? u.canBeGrouped(o2) : void 0) ? r2 = [u] : c2.push(u); - } - return r2 && c2.push(new this(r2, { depth: o2, asTree: n2 })), c2; - }, t3.prototype.getObjects = function() { - return this.objects; - }, t3.prototype.getDepth = function() { - return this.depth; - }, t3.prototype.getCacheKey = function() { - var t4, e3, n2, i, o2; - for (e3 = ["objectGroup"], o2 = this.getObjects(), t4 = 0, n2 = o2.length; n2 > t4; t4++) - i = o2[t4], e3.push(i.getCacheKey()); - return e3.join("/"); - }, t3; - }(); - }.call(this), function() { - var t3 = function(t4, e3) { - function i() { - this.constructor = t4; - } - for (var o2 in e3) - n2.call(e3, o2) && (t4[o2] = e3[o2]); - return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; - }, n2 = {}.hasOwnProperty; - e2.ObjectMap = function(e3) { - function n3(t4) { - var e4, n4, i, o2, r2; - for (t4 == null && (t4 = []), this.objects = {}, i = 0, o2 = t4.length; o2 > i; i++) - r2 = t4[i], n4 = JSON.stringify(r2), (e4 = this.objects)[n4] == null && (e4[n4] = r2); - } - return t3(n3, e3), n3.prototype.find = function(t4) { - var e4; - return e4 = JSON.stringify(t4), this.objects[e4]; - }, n3; - }(e2.BasicObject); - }.call(this), function() { - e2.ElementStore = function() { - function t3(t4) { - this.reset(t4); - } - var e3; - return t3.prototype.add = function(t4) { - var n2; - return n2 = e3(t4), this.elements[n2] = t4; - }, t3.prototype.remove = function(t4) { - var n2, i; - return n2 = e3(t4), (i = this.elements[n2]) ? (delete this.elements[n2], i) : void 0; - }, t3.prototype.reset = function(t4) { - var e4, n2, i; - for (t4 == null && (t4 = []), this.elements = {}, n2 = 0, i = t4.length; i > n2; n2++) - e4 = t4[n2], this.add(e4); - return t4; - }, e3 = function(t4) { - return t4.dataset.trixStoreKey; - }, t3; - }(); - }.call(this), function() { - }.call(this), function() { - var t3 = function(t4, e3) { - function i() { - this.constructor = t4; - } - for (var o2 in e3) - n2.call(e3, o2) && (t4[o2] = e3[o2]); - return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; - }, n2 = {}.hasOwnProperty; - e2.Operation = function(e3) { - function n3() { - return n3.__super__.constructor.apply(this, arguments); - } - return t3(n3, e3), n3.prototype.isPerforming = function() { - return this.performing === true; - }, n3.prototype.hasPerformed = function() { - return this.performed === true; - }, n3.prototype.hasSucceeded = function() { - return this.performed && this.succeeded; - }, n3.prototype.hasFailed = function() { - return this.performed && !this.succeeded; - }, n3.prototype.getPromise = function() { - return this.promise != null ? this.promise : this.promise = new Promise(function(t4) { - return function(e4, n4) { - return t4.performing = true, t4.perform(function(i, o2) { - return t4.succeeded = i, t4.performing = false, t4.performed = true, t4.succeeded ? e4(o2) : n4(o2); - }); - }; - }(this)); - }, n3.prototype.perform = function(t4) { - return t4(false); - }, n3.prototype.release = function() { - var t4; - return (t4 = this.promise) != null && typeof t4.cancel == "function" && t4.cancel(), this.promise = null, this.performing = null, this.performed = null, this.succeeded = null; - }, n3.proxyMethod("getPromise().then"), n3.proxyMethod("getPromise().catch"), n3; - }(e2.BasicObject); - }.call(this), function() { - var t3, n2, i, o2, r2, s2 = function(t4, e3) { - function n3() { - this.constructor = t4; - } - for (var i2 in e3) - a2.call(e3, i2) && (t4[i2] = e3[i2]); - return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; - }, a2 = {}.hasOwnProperty; - e2.UTF16String = function(t4) { - function e3(t5, e4) { - this.ucs2String = t5, this.codepoints = e4, this.length = this.codepoints.length, this.ucs2Length = this.ucs2String.length; - } - return s2(e3, t4), e3.box = function(t5) { - return t5 == null && (t5 = ""), t5 instanceof this ? t5 : this.fromUCS2String(t5 != null ? t5.toString() : void 0); - }, e3.fromUCS2String = function(t5) { - return new this(t5, o2(t5)); - }, e3.fromCodepoints = function(t5) { - return new this(r2(t5), t5); - }, e3.prototype.offsetToUCS2Offset = function(t5) { - return r2(this.codepoints.slice(0, Math.max(0, t5))).length; - }, e3.prototype.offsetFromUCS2Offset = function(t5) { - return o2(this.ucs2String.slice(0, Math.max(0, t5))).length; - }, e3.prototype.slice = function() { - var t5; - return this.constructor.fromCodepoints((t5 = this.codepoints).slice.apply(t5, arguments)); - }, e3.prototype.charAt = function(t5) { - return this.slice(t5, t5 + 1); - }, e3.prototype.isEqualTo = function(t5) { - return this.constructor.box(t5).ucs2String === this.ucs2String; - }, e3.prototype.toJSON = function() { - return this.ucs2String; - }, e3.prototype.getCacheKey = function() { - return this.ucs2String; - }, e3.prototype.toString = function() { - return this.ucs2String; - }, e3; - }(e2.BasicObject), t3 = (typeof Array.from == "function" ? Array.from("\u{1F47C}").length : void 0) === 1, n2 = (typeof " ".codePointAt == "function" ? " ".codePointAt(0) : void 0) != null, i = (typeof String.fromCodePoint == "function" ? String.fromCodePoint(32, 128124) : void 0) === " \u{1F47C}", o2 = t3 && n2 ? function(t4) { - return Array.from(t4).map(function(t5) { - return t5.codePointAt(0); - }); - } : function(t4) { - var e3, n3, i2, o3, r3; - for (o3 = [], e3 = 0, i2 = t4.length; i2 > e3; ) - r3 = t4.charCodeAt(e3++), r3 >= 55296 && 56319 >= r3 && i2 > e3 && (n3 = t4.charCodeAt(e3++), (64512 & n3) === 56320 ? r3 = ((1023 & r3) << 10) + (1023 & n3) + 65536 : e3--), o3.push(r3); - return o3; - }, r2 = i ? function(t4) { - return String.fromCodePoint.apply(String, t4); - } : function(t4) { - var e3, n3, i2; - return e3 = function() { - var e4, o3, r3; - for (r3 = [], e4 = 0, o3 = t4.length; o3 > e4; e4++) - i2 = t4[e4], n3 = "", i2 > 65535 && (i2 -= 65536, n3 += String.fromCharCode(i2 >>> 10 & 1023 | 55296), i2 = 56320 | 1023 & i2), r3.push(n3 + String.fromCharCode(i2)); - return r3; - }(), e3.join(""); - }; - }.call(this), function() { - }.call(this), function() { - }.call(this), function() { - e2.config.lang = { attachFiles: "Attach Files", bold: "Bold", bullets: "Bullets", "byte": "Byte", bytes: "Bytes", captionPlaceholder: "Add a caption\u2026", code: "Code", heading1: "Heading", indent: "Increase Level", italic: "Italic", link: "Link", numbers: "Numbers", outdent: "Decrease Level", quote: "Quote", redo: "Redo", remove: "Remove", strike: "Strikethrough", undo: "Undo", unlink: "Unlink", url: "URL", urlPlaceholder: "Enter a URL\u2026", GB: "GB", KB: "KB", MB: "MB", PB: "PB", TB: "TB" }; - }.call(this), function() { - e2.config.css = { attachment: "attachment", attachmentCaption: "attachment__caption", attachmentCaptionEditor: "attachment__caption-editor", attachmentMetadata: "attachment__metadata", attachmentMetadataContainer: "attachment__metadata-container", attachmentName: "attachment__name", attachmentProgress: "attachment__progress", attachmentSize: "attachment__size", attachmentToolbar: "attachment__toolbar", attachmentGallery: "attachment-gallery" }; - }.call(this), function() { - var t3; - e2.config.blockAttributes = t3 = { "default": { tagName: "div", parse: false }, quote: { tagName: "blockquote", nestable: true }, heading1: { tagName: "h1", terminal: true, breakOnReturn: true, group: false }, code: { tagName: "pre", terminal: true, text: { plaintext: true } }, bulletList: { tagName: "ul", parse: false }, bullet: { tagName: "li", listAttribute: "bulletList", group: false, nestable: true, test: function(n2) { - return e2.tagName(n2.parentNode) === t3[this.listAttribute].tagName; - } }, numberList: { tagName: "ol", parse: false }, number: { tagName: "li", listAttribute: "numberList", group: false, nestable: true, test: function(n2) { - return e2.tagName(n2.parentNode) === t3[this.listAttribute].tagName; - } }, attachmentGallery: { tagName: "div", exclusive: true, terminal: true, parse: false, group: false } }; - }.call(this), function() { - var t3, n2; - t3 = e2.config.lang, n2 = [t3.bytes, t3.KB, t3.MB, t3.GB, t3.TB, t3.PB], e2.config.fileSize = { prefix: "IEC", precision: 2, formatter: function(e3) { - var i, o2, r2, s2, a2; - switch (e3) { - case 0: - return "0 " + t3.bytes; - case 1: - return "1 " + t3.byte; + }, findNodeFromContainerAndOffset: function(t4, e3) { + var n3; + if (t4) + return t4.nodeType === Node.TEXT_NODE ? t4 : e3 === 0 ? (n3 = t4.firstChild) != null ? n3 : t4 : t4.childNodes.item(e3 - 1); + }, findElementFromContainerAndOffset: function(t4, n3) { + var i2; + return i2 = e2.findNodeFromContainerAndOffset(t4, n3), e2.findClosestElementFromNode(i2); + }, findChildIndexOfNode: function(t4) { + var e3; + if (t4 != null ? t4.parentNode : void 0) { + for (e3 = 0; t4 = t4.previousSibling; ) + e3++; + return e3; + } + }, removeNode: function(t4) { + var e3; + return t4 != null && (e3 = t4.parentNode) != null ? e3.removeChild(t4) : void 0; + }, walkTree: function(t4, e3) { + var n3, i2, o3, r3, s3; + return o3 = e3 != null ? e3 : {}, i2 = o3.onlyNodesOfType, r3 = o3.usingFilter, n3 = o3.expandEntityReferences, s3 = function() { + switch (i2) { + case "element": + return NodeFilter.SHOW_ELEMENT; + case "text": + return NodeFilter.SHOW_TEXT; + case "comment": + return NodeFilter.SHOW_COMMENT; default: - return i = function() { - switch (this.prefix) { - case "SI": - return 1e3; - case "IEC": - return 1024; - } - }.call(this), o2 = Math.floor(Math.log(e3) / Math.log(i)), r2 = e3 / Math.pow(i, o2), s2 = r2.toFixed(this.precision), a2 = s2.replace(/0*$/, "").replace(/\.$/, ""), a2 + " " + n2[o2]; + return NodeFilter.SHOW_ALL; } - } }; - }.call(this), function() { - e2.config.textAttributes = { bold: { tagName: "strong", inheritable: true, parser: function(t3) { - var e3; - return e3 = window.getComputedStyle(t3), e3.fontWeight === "bold" || e3.fontWeight >= 600; - } }, italic: { tagName: "em", inheritable: true, parser: function(t3) { - var e3; - return e3 = window.getComputedStyle(t3), e3.fontStyle === "italic"; - } }, href: { groupTagName: "a", parser: function(t3) { - var n2, i, o2; - return n2 = e2.AttachmentView.attachmentSelector, o2 = "a:not(" + n2 + ")", (i = e2.findClosestElementFromNode(t3, { matchingSelector: o2 })) ? i.getAttribute("href") : void 0; - } }, strike: { tagName: "del", inheritable: true }, frozen: { style: { backgroundColor: "highlight" } } }; - }.call(this), function() { - var t3, n2, i, o2, r2; - r2 = "[data-trix-serialize=false]", o2 = ["contenteditable", "data-trix-id", "data-trix-store-key", "data-trix-mutable", "data-trix-placeholder", "tabindex"], n2 = "data-trix-serialized-attributes", i = "[" + n2 + "]", t3 = new RegExp("", "g"), e2.extend({ serializers: { "application/json": function(t4) { + }(), document.createTreeWalker(t4, s3, r3 != null ? r3 : null, n3 === true); + }, tagName: function(t4) { + var e3; + return t4 != null && (e3 = t4.tagName) != null ? e3.toLowerCase() : void 0; + }, makeElement: function(t4, e3) { + var n3, i2, o3, r3, s3, a2, u, c2, l, h, p2, d, f, g; + if (e3 == null && (e3 = {}), typeof t4 == "object" ? (e3 = t4, t4 = e3.tagName) : e3 = {attributes: e3}, o3 = document.createElement(t4), e3.editable != null && (e3.attributes == null && (e3.attributes = {}), e3.attributes.contenteditable = e3.editable), e3.attributes) { + l = e3.attributes; + for (a2 in l) + g = l[a2], o3.setAttribute(a2, g); + } + if (e3.style) { + h = e3.style; + for (a2 in h) + g = h[a2], o3.style[a2] = g; + } + if (e3.data) { + p2 = e3.data; + for (a2 in p2) + g = p2[a2], o3.dataset[a2] = g; + } + if (e3.className) + for (d = e3.className.split(" "), r3 = 0, u = d.length; u > r3; r3++) + i2 = d[r3], o3.classList.add(i2); + if (e3.textContent && (o3.textContent = e3.textContent), e3.childNodes) + for (f = [].concat(e3.childNodes), s3 = 0, c2 = f.length; c2 > s3; s3++) + n3 = f[s3], o3.appendChild(n3); + return o3; + }, getBlockTagNames: function() { + var t4, n3; + return e2.blockTagNames != null ? e2.blockTagNames : e2.blockTagNames = function() { + var i2, o3; + i2 = e2.config.blockAttributes, o3 = []; + for (t4 in i2) + n3 = i2[t4].tagName, n3 && o3.push(n3); + return o3; + }(); + }, nodeIsBlockContainer: function(t4) { + return e2.nodeIsBlockStartComment(t4 != null ? t4.firstChild : void 0); + }, nodeProbablyIsBlockContainer: function(t4) { + var n3, i2; + return n3 = e2.tagName(t4), s2.call(e2.getBlockTagNames(), n3) >= 0 && (i2 = e2.tagName(t4.firstChild), s2.call(e2.getBlockTagNames(), i2) < 0); + }, nodeIsBlockStart: function(t4, n3) { + var i2; + return i2 = (n3 != null ? n3 : {strict: true}).strict, i2 ? e2.nodeIsBlockStartComment(t4) : e2.nodeIsBlockStartComment(t4) || !e2.nodeIsBlockStartComment(t4.firstChild) && e2.nodeProbablyIsBlockContainer(t4); + }, nodeIsBlockStartComment: function(t4) { + return e2.nodeIsCommentNode(t4) && (t4 != null ? t4.data : void 0) === "block"; + }, nodeIsCommentNode: function(t4) { + return (t4 != null ? t4.nodeType : void 0) === Node.COMMENT_NODE; + }, nodeIsCursorTarget: function(t4, n3) { + var i2; + return i2 = (n3 != null ? n3 : {}).name, t4 ? e2.nodeIsTextNode(t4) ? t4.data === e2.ZERO_WIDTH_SPACE ? i2 ? t4.parentNode.dataset.trixCursorTarget === i2 : true : void 0 : e2.nodeIsCursorTarget(t4.firstChild) : void 0; + }, nodeIsAttachmentElement: function(t4) { + return e2.elementMatchesSelector(t4, e2.AttachmentView.attachmentSelector); + }, nodeIsEmptyTextNode: function(t4) { + return e2.nodeIsTextNode(t4) && (t4 != null ? t4.data : void 0) === ""; + }, nodeIsTextNode: function(t4) { + return (t4 != null ? t4.nodeType : void 0) === Node.TEXT_NODE; + }}); + }.call(this), function() { + var t3, n2, i, o2, r2; + t3 = e2.copyObject, o2 = e2.objectsAreEqual, e2.extend({normalizeRange: i = function(t4) { + var e3; + if (t4 != null) + return Array.isArray(t4) || (t4 = [t4, t4]), [n2(t4[0]), n2((e3 = t4[1]) != null ? e3 : t4[0])]; + }, rangeIsCollapsed: function(t4) { + var e3, n3, o3; + if (t4 != null) + return n3 = i(t4), o3 = n3[0], e3 = n3[1], r2(o3, e3); + }, rangesAreEqual: function(t4, e3) { + var n3, o3, s2, a2, u, c2; + if (t4 != null && e3 != null) + return s2 = i(t4), o3 = s2[0], n3 = s2[1], a2 = i(e3), c2 = a2[0], u = a2[1], r2(o3, c2) && r2(n3, u); + }}), n2 = function(e3) { + return typeof e3 == "number" ? e3 : t3(e3); + }, r2 = function(t4, e3) { + return typeof t4 == "number" ? t4 === e3 : o2(t4, e3); + }; + }.call(this), function() { + var t3, n2, i, o2, r2, s2, a2; + e2.registerElement = function(t4, e3) { + var n3, i2; + return e3 == null && (e3 = {}), t4 = t4.toLowerCase(), e3 = a2(e3), i2 = s2(e3), (n3 = i2.defaultCSS) && (delete i2.defaultCSS, o2(n3, t4)), r2(t4, i2); + }, o2 = function(t4, e3) { + var n3; + return n3 = i(e3), n3.textContent = t4.replace(/%t/g, e3); + }, i = function(e3) { + var n3, i2; + return n3 = document.createElement("style"), n3.setAttribute("type", "text/css"), n3.setAttribute("data-tag-name", e3.toLowerCase()), (i2 = t3()) && n3.setAttribute("nonce", i2), document.head.insertBefore(n3, document.head.firstChild), n3; + }, t3 = function() { + var t4; + return (t4 = n2("trix-csp-nonce") || n2("csp-nonce")) ? t4.getAttribute("content") : void 0; + }, n2 = function(t4) { + return document.head.querySelector("meta[name=" + t4 + "]"); + }, s2 = function(t4) { + var e3, n3, i2; + n3 = {}; + for (e3 in t4) + i2 = t4[e3], n3[e3] = typeof i2 == "function" ? {value: i2} : i2; + return n3; + }, a2 = function() { + var t4; + return t4 = function(t5) { + var e3, n3, i2, o3, r3; + for (e3 = {}, r3 = ["initialize", "connect", "disconnect"], n3 = 0, o3 = r3.length; o3 > n3; n3++) + i2 = r3[n3], e3[i2] = t5[i2], delete t5[i2]; + return e3; + }, window.customElements ? function(e3) { + var n3, i2, o3, r3, s3; + return s3 = t4(e3), o3 = s3.initialize, n3 = s3.connect, i2 = s3.disconnect, o3 && (r3 = n3, n3 = function() { + return this.initialized || (this.initialized = true, o3.call(this)), r3 != null ? r3.call(this) : void 0; + }), n3 && (e3.connectedCallback = n3), i2 && (e3.disconnectedCallback = i2), e3; + } : function(e3) { + var n3, i2, o3, r3; + return r3 = t4(e3), o3 = r3.initialize, n3 = r3.connect, i2 = r3.disconnect, o3 && (e3.createdCallback = o3), n3 && (e3.attachedCallback = n3), i2 && (e3.detachedCallback = i2), e3; + }; + }(), r2 = function() { + return window.customElements ? function(t4, e3) { var n3; - if (t4 instanceof e2.Document) - n3 = t4; - else { - if (!(t4 instanceof HTMLElement)) - throw new Error("unserializable object"); - n3 = e2.Document.fromHTML(t4.innerHTML); - } - return n3.toSerializableDocument().toJSONString(); - }, "text/html": function(s2) { - var a2, u, c2, l, h, p2, d, f, g, m, v, y, b, A, C3, x, w; - if (s2 instanceof e2.Document) - l = e2.DocumentView.render(s2); - else { - if (!(s2 instanceof HTMLElement)) - throw new Error("unserializable object"); - l = s2.cloneNode(true); - } - for (A = l.querySelectorAll(r2), h = 0, g = A.length; g > h; h++) - c2 = A[h], e2.removeNode(c2); - for (p2 = 0, m = o2.length; m > p2; p2++) - for (a2 = o2[p2], C3 = l.querySelectorAll("[" + a2 + "]"), d = 0, v = C3.length; v > d; d++) - c2 = C3[d], c2.removeAttribute(a2); - for (x = l.querySelectorAll(i), f = 0, y = x.length; y > f; f++) { - c2 = x[f]; - try { - u = JSON.parse(c2.getAttribute(n2)), c2.removeAttribute(n2); - for (b in u) - w = u[b], c2.setAttribute(b, w); - } catch (E) { - } - } - return l.innerHTML.replace(t3, ""); - } }, deserializers: { "application/json": function(t4) { - return e2.Document.fromJSONString(t4); - }, "text/html": function(t4) { - return e2.Document.fromHTML(t4); - } }, serializeToContentType: function(t4, n3) { - var i2; - if (i2 = e2.serializers[n3]) - return i2(t4); - throw new Error("unknown content type: " + n3); - }, deserializeFromContentType: function(t4, n3) { - var i2; - if (i2 = e2.deserializers[n3]) - return i2(t4); - throw new Error("unknown content type: " + n3); - } }); - }.call(this), function() { - var t3; - t3 = e2.config.lang, e2.config.toolbar = { getDefaultHTML: function() { - return '
\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n\n \n \n \n\n \n\n \n \n \n \n
\n\n
\n \n
'; - } }; - }.call(this), function() { - e2.config.undoInterval = 5e3; - }.call(this), function() { - e2.config.attachments = { preview: { presentation: "gallery", caption: { name: true, size: true } }, file: { caption: { size: true } } }; - }.call(this), function() { - e2.config.keyNames = { 8: "backspace", 9: "tab", 13: "return", 27: "escape", 37: "left", 39: "right", 46: "delete", 68: "d", 72: "h", 79: "o" }; - }.call(this), function() { - e2.config.input = { level2Enabled: true, getLevel: function() { - return this.level2Enabled && e2.browser.supportsInputEvents ? 2 : 0; - }, pickFiles: function(t3) { - var n2; - return n2 = e2.makeElement("input", { type: "file", multiple: true, hidden: true, id: this.fileInputId }), n2.addEventListener("change", function() { - return t3(n2.files), e2.removeNode(n2); - }), e2.removeNode(document.getElementById(this.fileInputId)), document.body.appendChild(n2), n2.click(); - }, fileInputId: "trix-file-input-" + Date.now().toString(16) }; - }.call(this), function() { - }.call(this), function() { - e2.registerElement("trix-toolbar", { defaultCSS: "%t {\n display: block;\n}\n\n%t {\n white-space: nowrap;\n}\n\n%t [data-trix-dialog] {\n display: none;\n}\n\n%t [data-trix-dialog][data-trix-active] {\n display: block;\n}\n\n%t [data-trix-dialog] [data-trix-validate]:invalid {\n background-color: #ffdddd;\n}", initialize: function() { - return this.innerHTML === "" ? this.innerHTML = e2.config.toolbar.getDefaultHTML() : void 0; - } }); - }.call(this), function() { - var t3 = function(t4, e3) { - function i2() { - this.constructor = t4; - } - for (var o2 in e3) - n2.call(e3, o2) && (t4[o2] = e3[o2]); - return i2.prototype = e3.prototype, t4.prototype = new i2(), t4.__super__ = e3.prototype, t4; - }, n2 = {}.hasOwnProperty, i = [].indexOf || function(t4) { - for (var e3 = 0, n3 = this.length; n3 > e3; e3++) - if (e3 in this && this[e3] === t4) - return e3; - return -1; + return n3 = function() { + return typeof Reflect == "object" ? Reflect.construct(HTMLElement, [], n3) : HTMLElement.apply(this); + }, Object.setPrototypeOf(n3.prototype, HTMLElement.prototype), Object.setPrototypeOf(n3, HTMLElement), Object.defineProperties(n3.prototype, e3), window.customElements.define(t4, n3), n3; + } : function(t4, e3) { + var n3, i2; + return i2 = Object.create(HTMLElement.prototype, e3), n3 = document.registerElement(t4, {prototype: i2}), Object.defineProperty(i2, "constructor", {value: n3}), n3; }; - e2.ObjectView = function(n3) { - function o2(t4, e3) { - this.object = t4, this.options = e3 != null ? e3 : {}, this.childViews = [], this.rootView = this; - } - return t3(o2, n3), o2.prototype.getNodes = function() { - var t4, e3, n4, i2, o3; - for (this.nodes == null && (this.nodes = this.createNodes()), i2 = this.nodes, o3 = [], t4 = 0, e3 = i2.length; e3 > t4; t4++) - n4 = i2[t4], o3.push(n4.cloneNode(true)); - return o3; - }, o2.prototype.invalidate = function() { - var t4; - return this.nodes = null, this.childViews = [], (t4 = this.parentView) != null ? t4.invalidate() : void 0; - }, o2.prototype.invalidateViewForObject = function(t4) { - var e3; - return (e3 = this.findViewForObject(t4)) != null ? e3.invalidate() : void 0; - }, o2.prototype.findOrCreateCachedChildView = function(t4, e3) { - var n4; - return (n4 = this.getCachedViewForObject(e3)) ? this.recordChildView(n4) : (n4 = this.createChildView.apply(this, arguments), this.cacheViewForObject(n4, e3)), n4; - }, o2.prototype.createChildView = function(t4, n4, i2) { - var o3; - return i2 == null && (i2 = {}), n4 instanceof e2.ObjectGroup && (i2.viewClass = t4, t4 = e2.ObjectGroupView), o3 = new t4(n4, i2), this.recordChildView(o3); - }, o2.prototype.recordChildView = function(t4) { - return t4.parentView = this, t4.rootView = this.rootView, this.childViews.push(t4), t4; - }, o2.prototype.getAllChildViews = function() { - var t4, e3, n4, i2, o3; - for (o3 = [], i2 = this.childViews, e3 = 0, n4 = i2.length; n4 > e3; e3++) - t4 = i2[e3], o3.push(t4), o3 = o3.concat(t4.getAllChildViews()); - return o3; - }, o2.prototype.findElement = function() { - return this.findElementForObject(this.object); - }, o2.prototype.findElementForObject = function(t4) { - var e3; - return (e3 = t4 != null ? t4.id : void 0) ? this.rootView.element.querySelector("[data-trix-id='" + e3 + "']") : void 0; - }, o2.prototype.findViewForObject = function(t4) { - var e3, n4, i2, o3; - for (i2 = this.getAllChildViews(), e3 = 0, n4 = i2.length; n4 > e3; e3++) - if (o3 = i2[e3], o3.object === t4) - return o3; - }, o2.prototype.getViewCache = function() { - return this.rootView !== this ? this.rootView.getViewCache() : this.isViewCachingEnabled() ? this.viewCache != null ? this.viewCache : this.viewCache = {} : void 0; - }, o2.prototype.isViewCachingEnabled = function() { - return this.shouldCacheViews !== false; - }, o2.prototype.enableViewCaching = function() { - return this.shouldCacheViews = true; - }, o2.prototype.disableViewCaching = function() { - return this.shouldCacheViews = false; - }, o2.prototype.getCachedViewForObject = function(t4) { - var e3; - return (e3 = this.getViewCache()) != null ? e3[t4.getCacheKey()] : void 0; - }, o2.prototype.cacheViewForObject = function(t4, e3) { - var n4; - return (n4 = this.getViewCache()) != null ? n4[e3.getCacheKey()] = t4 : void 0; - }, o2.prototype.garbageCollectCachedViews = function() { - var t4, e3, n4, o3, r2, s2; - if (t4 = this.getViewCache()) { - s2 = this.getAllChildViews().concat(this), n4 = function() { - var t5, e4, n5; - for (n5 = [], t5 = 0, e4 = s2.length; e4 > t5; t5++) - r2 = s2[t5], n5.push(r2.object.getCacheKey()); - return n5; - }(), o3 = []; - for (e3 in t4) - i.call(n4, e3) < 0 && o3.push(delete t4[e3]); - return o3; - } - }, o2; - }(e2.BasicObject); - }.call(this), function() { - var t3 = function(t4, e3) { - function i() { - this.constructor = t4; - } - for (var o2 in e3) - n2.call(e3, o2) && (t4[o2] = e3[o2]); - return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; - }, n2 = {}.hasOwnProperty; - e2.ObjectGroupView = function(e3) { - function n3() { - n3.__super__.constructor.apply(this, arguments), this.objectGroup = this.object, this.viewClass = this.options.viewClass, delete this.options.viewClass; - } - return t3(n3, e3), n3.prototype.getChildViews = function() { - var t4, e4, n4, i; - if (!this.childViews.length) - for (i = this.objectGroup.getObjects(), t4 = 0, e4 = i.length; e4 > t4; t4++) - n4 = i[t4], this.findOrCreateCachedChildView(this.viewClass, n4, this.options); - return this.childViews; - }, n3.prototype.createNodes = function() { - var t4, e4, n4, i, o2, r2, s2, a2, u; - for (t4 = this.createContainerElement(), s2 = this.getChildViews(), e4 = 0, i = s2.length; i > e4; e4++) - for (u = s2[e4], a2 = u.getNodes(), n4 = 0, o2 = a2.length; o2 > n4; n4++) - r2 = a2[n4], t4.appendChild(r2); - return [t4]; - }, n3.prototype.createContainerElement = function(t4) { - return t4 == null && (t4 = this.objectGroup.getDepth()), this.getChildViews()[0].createContainerElement(t4); - }, n3; - }(e2.ObjectView); - }.call(this), function() { - var t3 = function(t4, e3) { - function i() { - this.constructor = t4; - } - for (var o2 in e3) - n2.call(e3, o2) && (t4[o2] = e3[o2]); - return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; - }, n2 = {}.hasOwnProperty; - e2.Controller = function(e3) { - function n3() { - return n3.__super__.constructor.apply(this, arguments); - } - return t3(n3, e3), n3; - }(e2.BasicObject); - }.call(this), function() { - var t3, n2, i, o2, r2, s2, a2 = function(t4, e3) { - return function() { - return t4.apply(e3, arguments); - }; - }, u = function(t4, e3) { - function n3() { - this.constructor = t4; - } - for (var i2 in e3) - c2.call(e3, i2) && (t4[i2] = e3[i2]); - return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; - }, c2 = {}.hasOwnProperty, l = [].indexOf || function(t4) { - for (var e3 = 0, n3 = this.length; n3 > e3; e3++) - if (e3 in this && this[e3] === t4) - return e3; - return -1; - }; - t3 = e2.findClosestElementFromNode, i = e2.nodeIsEmptyTextNode, n2 = e2.nodeIsBlockStartComment, o2 = e2.normalizeSpaces, r2 = e2.summarizeStringChange, s2 = e2.tagName, e2.MutationObserver = function(e3) { - function c3(t4) { - this.element = t4, this.didMutate = a2(this.didMutate, this), this.observer = new window.MutationObserver(this.didMutate), this.start(); - } - var h, p2, d, f; - return u(c3, e3), p2 = "data-trix-mutable", d = "[" + p2 + "]", f = { attributes: true, childList: true, characterData: true, characterDataOldValue: true, subtree: true }, c3.prototype.start = function() { - return this.reset(), this.observer.observe(this.element, f); - }, c3.prototype.stop = function() { - return this.observer.disconnect(); - }, c3.prototype.didMutate = function(t4) { - var e4, n3; - return (e4 = this.mutations).push.apply(e4, this.findSignificantMutations(t4)), this.mutations.length ? ((n3 = this.delegate) != null && typeof n3.elementDidMutate == "function" && n3.elementDidMutate(this.getMutationSummary()), this.reset()) : void 0; - }, c3.prototype.reset = function() { - return this.mutations = []; - }, c3.prototype.findSignificantMutations = function(t4) { - var e4, n3, i2, o3; - for (o3 = [], e4 = 0, n3 = t4.length; n3 > e4; e4++) - i2 = t4[e4], this.mutationIsSignificant(i2) && o3.push(i2); - return o3; - }, c3.prototype.mutationIsSignificant = function(t4) { - var e4, n3, i2, o3; - if (this.nodeIsMutable(t4.target)) - return false; - for (o3 = this.nodesModifiedByMutation(t4), e4 = 0, n3 = o3.length; n3 > e4; e4++) - if (i2 = o3[e4], this.nodeIsSignificant(i2)) - return true; - return false; - }, c3.prototype.nodeIsSignificant = function(t4) { - return t4 !== this.element && !this.nodeIsMutable(t4) && !i(t4); - }, c3.prototype.nodeIsMutable = function(e4) { - return t3(e4, { matchingSelector: d }); - }, c3.prototype.nodesModifiedByMutation = function(t4) { - var e4; - switch (e4 = [], t4.type) { - case "attributes": - t4.attributeName !== p2 && e4.push(t4.target); - break; - case "characterData": - e4.push(t4.target.parentNode), e4.push(t4.target); - break; - case "childList": - e4.push.apply(e4, t4.addedNodes), e4.push.apply(e4, t4.removedNodes); - } - return e4; - }, c3.prototype.getMutationSummary = function() { - return this.getTextMutationSummary(); - }, c3.prototype.getTextMutationSummary = function() { - var t4, e4, n3, i2, o3, r3, s3, a3, u2, c4, h2; - for (a3 = this.getTextChangesFromCharacterData(), n3 = a3.additions, o3 = a3.deletions, h2 = this.getTextChangesFromChildList(), u2 = h2.additions, r3 = 0, s3 = u2.length; s3 > r3; r3++) - e4 = u2[r3], l.call(n3, e4) < 0 && n3.push(e4); - return o3.push.apply(o3, h2.deletions), c4 = {}, (t4 = n3.join("")) && (c4.textAdded = t4), (i2 = o3.join("")) && (c4.textDeleted = i2), c4; - }, c3.prototype.getMutationsByType = function(t4) { - var e4, n3, i2, o3, r3; - for (o3 = this.mutations, r3 = [], e4 = 0, n3 = o3.length; n3 > e4; e4++) - i2 = o3[e4], i2.type === t4 && r3.push(i2); - return r3; - }, c3.prototype.getTextChangesFromChildList = function() { - var t4, e4, i2, r3, s3, a3, u2, c4, l2, p3, d2; - for (t4 = [], u2 = [], a3 = this.getMutationsByType("childList"), e4 = 0, r3 = a3.length; r3 > e4; e4++) - s3 = a3[e4], t4.push.apply(t4, s3.addedNodes), u2.push.apply(u2, s3.removedNodes); - return c4 = t4.length === 0 && u2.length === 1 && n2(u2[0]), c4 ? (p3 = [], d2 = ["\n"]) : (p3 = h(t4), d2 = h(u2)), { additions: function() { - var t5, e5, n3; - for (n3 = [], i2 = t5 = 0, e5 = p3.length; e5 > t5; i2 = ++t5) - l2 = p3[i2], l2 !== d2[i2] && n3.push(o2(l2)); - return n3; - }(), deletions: function() { - var t5, e5, n3; - for (n3 = [], i2 = t5 = 0, e5 = d2.length; e5 > t5; i2 = ++t5) - l2 = d2[i2], l2 !== p3[i2] && n3.push(o2(l2)); - return n3; - }() }; - }, c3.prototype.getTextChangesFromCharacterData = function() { - var t4, e4, n3, i2, s3, a3, u2, c4; - return e4 = this.getMutationsByType("characterData"), e4.length && (c4 = e4[0], n3 = e4[e4.length - 1], s3 = o2(c4.oldValue), i2 = o2(n3.target.data), a3 = r2(s3, i2), t4 = a3.added, u2 = a3.removed), { additions: t4 ? [t4] : [], deletions: u2 ? [u2] : [] }; - }, h = function(t4) { - var e4, n3, i2, o3; - for (t4 == null && (t4 = []), o3 = [], e4 = 0, n3 = t4.length; n3 > e4; e4++) - switch (i2 = t4[e4], i2.nodeType) { - case Node.TEXT_NODE: - o3.push(i2.data); - break; - case Node.ELEMENT_NODE: - s2(i2) === "br" ? o3.push("\n") : o3.push.apply(o3, h(i2.childNodes)); + }(); + }.call(this), function() { + var t3, n2; + e2.extend({getDOMSelection: function() { + var t4; + return t4 = window.getSelection(), t4.rangeCount > 0 ? t4 : void 0; + }, getDOMRange: function() { + var n3, i; + return (n3 = (i = e2.getDOMSelection()) != null ? i.getRangeAt(0) : void 0) && !t3(n3) ? n3 : void 0; + }, setDOMRange: function(t4) { + var n3; + return n3 = window.getSelection(), n3.removeAllRanges(), n3.addRange(t4), e2.selectionChangeObserver.update(); + }}), t3 = function(t4) { + return n2(t4.startContainer) || n2(t4.endContainer); + }, n2 = function(t4) { + return !Object.getPrototypeOf(t4); + }; + }.call(this), function() { + var t3; + t3 = {"application/x-trix-feature-detection": "test"}, e2.extend({dataTransferIsPlainText: function(t4) { + var e3, n2, i; + return i = t4.getData("text/plain"), n2 = t4.getData("text/html"), i && n2 ? (e3 = new DOMParser().parseFromString(n2, "text/html").body, e3.textContent === i ? !e3.querySelector("*") : void 0) : i != null ? i.length : void 0; + }, dataTransferIsWritable: function(e3) { + var n2, i; + if ((e3 != null ? e3.setData : void 0) != null) { + for (n2 in t3) + if (i = t3[n2], !function() { + try { + return e3.setData(n2, i), e3.getData(n2) === i; + } catch (t4) { } - return o3; - }, c3; - }(e2.BasicObject); - }.call(this), function() { - var t3 = function(t4, e3) { - function i() { - this.constructor = t4; - } - for (var o2 in e3) - n2.call(e3, o2) && (t4[o2] = e3[o2]); - return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; - }, n2 = {}.hasOwnProperty; - e2.FileVerificationOperation = function(e3) { - function n3(t4) { - this.file = t4; - } - return t3(n3, e3), n3.prototype.perform = function(t4) { - var e4; - return e4 = new FileReader(), e4.onerror = function() { - return t4(false); - }, e4.onload = function(n4) { - return function() { - e4.onerror = null; - try { - e4.abort(); - } catch (i) { - } - return t4(true, n4.file); - }; - }(this), e4.readAsArrayBuffer(this.file); - }, n3; - }(e2.Operation); - }.call(this), function() { - var t3, n2, i = function(t4, e3) { - function n3() { - this.constructor = t4; - } - for (var i2 in e3) - o2.call(e3, i2) && (t4[i2] = e3[i2]); - return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; - }, o2 = {}.hasOwnProperty; - t3 = e2.handleEvent, n2 = e2.innerElementIsActive, e2.InputController = function(o3) { - function r2(n3) { - var i2; - this.element = n3, this.mutationObserver = new e2.MutationObserver(this.element), this.mutationObserver.delegate = this; - for (i2 in this.events) - t3(i2, { onElement: this.element, withCallback: this.handlerFor(i2) }); - } - return i(r2, o3), r2.prototype.events = {}, r2.prototype.elementDidMutate = function() { - }, r2.prototype.editorWillSyncDocumentView = function() { - return this.mutationObserver.stop(); - }, r2.prototype.editorDidSyncDocumentView = function() { - return this.mutationObserver.start(); - }, r2.prototype.requestRender = function() { - var t4; - return (t4 = this.delegate) != null && typeof t4.inputControllerDidRequestRender == "function" ? t4.inputControllerDidRequestRender() : void 0; - }, r2.prototype.requestReparse = function() { - var t4; - return (t4 = this.delegate) != null && typeof t4.inputControllerDidRequestReparse == "function" && t4.inputControllerDidRequestReparse(), this.requestRender(); - }, r2.prototype.attachFiles = function(t4) { - var n3, i2; - return i2 = function() { - var i3, o4, r3; - for (r3 = [], i3 = 0, o4 = t4.length; o4 > i3; i3++) - n3 = t4[i3], r3.push(new e2.FileVerificationOperation(n3)); - return r3; - }(), Promise.all(i2).then(function(t5) { - return function(e3) { - return t5.handleInput(function() { - var t6, n4; - return (t6 = this.delegate) != null && t6.inputControllerWillAttachFiles(), (n4 = this.responder) != null && n4.insertFiles(e3), this.requestRender(); - }); - }; - }(this)); - }, r2.prototype.handlerFor = function(t4) { - return function(e3) { - return function(i2) { - return i2.defaultPrevented ? void 0 : e3.handleInput(function() { - return n2(this.element) ? void 0 : (this.eventName = t4, this.events[t4].call(this, i2)); - }); - }; - }(this); - }, r2.prototype.handleInput = function(t4) { - var e3, n3; - try { - return (e3 = this.delegate) != null && e3.inputControllerWillHandleInput(), t4.call(this); - } finally { - (n3 = this.delegate) != null && n3.inputControllerDidHandleInput(); - } - }, r2.prototype.createLinkHTML = function(t4, e3) { - var n3; - return n3 = document.createElement("a"), n3.href = t4, n3.textContent = e3 != null ? e3 : t4, n3.outerHTML; - }, r2; - }(e2.BasicObject); - }.call(this), function() { - var t3, n2, i, o2, r2, s2, a2, u, c2, l, h, p2, d, f = function(t4, e3) { - function n3() { - this.constructor = t4; - } - for (var i2 in e3) - g.call(e3, i2) && (t4[i2] = e3[i2]); - return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; - }, g = {}.hasOwnProperty, m = [].indexOf || function(t4) { - for (var e3 = 0, n3 = this.length; n3 > e3; e3++) - if (e3 in this && this[e3] === t4) - return e3; - return -1; + }()) + return; + return true; + } + }, keyEventIsKeyboardCommand: function() { + return /Mac|^iP/.test(navigator.platform) ? function(t4) { + return t4.metaKey; + } : function(t4) { + return t4.ctrlKey; }; - c2 = e2.makeElement, l = e2.objectsAreEqual, d = e2.tagName, n2 = e2.browser, a2 = e2.keyEventIsKeyboardCommand, o2 = e2.dataTransferIsWritable, i = e2.dataTransferIsPlainText, u = e2.config.keyNames, e2.Level0InputController = function(n3) { - function s3() { - s3.__super__.constructor.apply(this, arguments), this.resetInputSummary(); + }()}); + }.call(this), function() { + e2.extend({RTL_PATTERN: /[\u05BE\u05C0\u05C3\u05D0-\u05EA\u05F0-\u05F4\u061B\u061F\u0621-\u063A\u0640-\u064A\u066D\u0671-\u06B7\u06BA-\u06BE\u06C0-\u06CE\u06D0-\u06D5\u06E5\u06E6\u200F\u202B\u202E\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE72\uFE74\uFE76-\uFEFC]/, getDirection: function() { + var t3, n2, i, o2; + return n2 = e2.makeElement("input", {dir: "auto", name: "x", dirName: "x.dir"}), t3 = e2.makeElement("form"), t3.appendChild(n2), i = function() { + try { + return new FormData(t3).has(n2.dirName); + } catch (e3) { } - var d2; - return f(s3, n3), d2 = 0, s3.prototype.setInputSummary = function(t4) { - var e3, n4; - t4 == null && (t4 = {}), this.inputSummary.eventName = this.eventName; - for (e3 in t4) - n4 = t4[e3], this.inputSummary[e3] = n4; - return this.inputSummary; - }, s3.prototype.resetInputSummary = function() { - return this.inputSummary = {}; - }, s3.prototype.reset = function() { - return this.resetInputSummary(), e2.selectionChangeObserver.reset(); - }, s3.prototype.elementDidMutate = function(t4) { - var e3; - return this.isComposing() ? (e3 = this.delegate) != null && typeof e3.inputControllerDidAllowUnhandledInput == "function" ? e3.inputControllerDidAllowUnhandledInput() : void 0 : this.handleInput(function() { - return this.mutationIsSignificant(t4) && (this.mutationIsExpected(t4) ? this.requestRender() : this.requestReparse()), this.reset(); - }); - }, s3.prototype.mutationIsExpected = function(t4) { - var e3, n4, i2, o3, r3, s4, a3, u2, c3, l2; - return a3 = t4.textAdded, u2 = t4.textDeleted, this.inputSummary.preferDocument ? true : (e3 = a3 != null ? a3 === this.inputSummary.textAdded : !this.inputSummary.textAdded, n4 = u2 != null ? this.inputSummary.didDelete : !this.inputSummary.didDelete, c3 = (a3 === "\n" || a3 === " \n") && !e3, l2 = u2 === "\n" && !n4, s4 = c3 && !l2 || l2 && !c3, s4 && (o3 = this.getSelectedRange()) && (i2 = c3 ? a3.replace(/\n$/, "").length || -1 : (a3 != null ? a3.length : void 0) || 1, (r3 = this.responder) != null ? r3.positionIsBlockBreak(o3[1] + i2) : void 0) ? true : e3 && n4); - }, s3.prototype.mutationIsSignificant = function(t4) { - var e3, n4, i2; - return i2 = Object.keys(t4).length > 0, e3 = ((n4 = this.compositionInput) != null ? n4.getEndData() : void 0) === "", i2 || !e3; - }, s3.prototype.events = { keydown: function(t4) { - var n4, i2, o3, r3, s4, c3, l2, h2, p3; - if (this.isComposing() || this.resetInputSummary(), this.inputSummary.didInput = true, r3 = u[t4.keyCode]) { - for (i2 = this.keys, h2 = ["ctrl", "alt", "shift", "meta"], o3 = 0, c3 = h2.length; c3 > o3; o3++) - l2 = h2[o3], t4[l2 + "Key"] && (l2 === "ctrl" && (l2 = "control"), i2 = i2 != null ? i2[l2] : void 0); - (i2 != null ? i2[r3] : void 0) != null && (this.setInputSummary({ keyName: r3 }), e2.selectionChangeObserver.reset(), i2[r3].call(this, t4)); - } - return a2(t4) && (n4 = String.fromCharCode(t4.keyCode).toLowerCase()) && (s4 = function() { - var e3, n5, i3, o4; - for (i3 = ["alt", "shift"], o4 = [], e3 = 0, n5 = i3.length; n5 > e3; e3++) - l2 = i3[e3], t4[l2 + "Key"] && o4.push(l2); - return o4; - }(), s4.push(n4), (p3 = this.delegate) != null ? p3.inputControllerDidReceiveKeyboardCommand(s4) : void 0) ? t4.preventDefault() : void 0; - }, keypress: function(t4) { - var e3, n4, i2; - if (this.inputSummary.eventName == null && !t4.metaKey && (!t4.ctrlKey || t4.altKey)) - return (i2 = p2(t4)) ? ((e3 = this.delegate) != null && e3.inputControllerWillPerformTyping(), (n4 = this.responder) != null && n4.insertString(i2), this.setInputSummary({ textAdded: i2, didDelete: this.selectionIsExpanded() })) : void 0; - }, textInput: function(t4) { - var e3, n4, i2, o3; - return e3 = t4.data, o3 = this.inputSummary.textAdded, o3 && o3 !== e3 && o3.toUpperCase() === e3 ? (n4 = this.getSelectedRange(), this.setSelectedRange([n4[0], n4[1] + o3.length]), (i2 = this.responder) != null && i2.insertString(e3), this.setInputSummary({ textAdded: e3 }), this.setSelectedRange(n4)) : void 0; - }, dragenter: function(t4) { - return t4.preventDefault(); - }, dragstart: function(t4) { - var e3, n4; - return n4 = t4.target, this.serializeSelectionToDataTransfer(t4.dataTransfer), this.draggedRange = this.getSelectedRange(), (e3 = this.delegate) != null && typeof e3.inputControllerDidStartDrag == "function" ? e3.inputControllerDidStartDrag() : void 0; - }, dragover: function(t4) { - var e3, n4; - return !this.draggedRange && !this.canAcceptDataTransfer(t4.dataTransfer) || (t4.preventDefault(), e3 = { x: t4.clientX, y: t4.clientY }, l(e3, this.draggingPoint)) ? void 0 : (this.draggingPoint = e3, (n4 = this.delegate) != null && typeof n4.inputControllerDidReceiveDragOverPoint == "function" ? n4.inputControllerDidReceiveDragOverPoint(this.draggingPoint) : void 0); - }, dragend: function() { - var t4; - return (t4 = this.delegate) != null && typeof t4.inputControllerDidCancelDrag == "function" && t4.inputControllerDidCancelDrag(), this.draggedRange = null, this.draggingPoint = null; - }, drop: function(t4) { - var n4, i2, o3, r3, s4, a3, u2, c3, l2; - return t4.preventDefault(), o3 = (s4 = t4.dataTransfer) != null ? s4.files : void 0, r3 = { x: t4.clientX, y: t4.clientY }, (a3 = this.responder) != null && a3.setLocationRangeFromPointRange(r3), (o3 != null ? o3.length : void 0) ? this.attachFiles(o3) : this.draggedRange ? ((u2 = this.delegate) != null && u2.inputControllerWillMoveText(), (c3 = this.responder) != null && c3.moveTextFromRange(this.draggedRange), this.draggedRange = null, this.requestRender()) : (i2 = t4.dataTransfer.getData("application/x-trix-document")) && (n4 = e2.Document.fromJSONString(i2), (l2 = this.responder) != null && l2.insertDocument(n4), this.requestRender()), this.draggedRange = null, this.draggingPoint = null; - }, cut: function(t4) { - var e3, n4; - return ((e3 = this.responder) != null ? e3.selectionIsExpanded() : void 0) && (this.serializeSelectionToDataTransfer(t4.clipboardData) && t4.preventDefault(), (n4 = this.delegate) != null && n4.inputControllerWillCutText(), this.deleteInDirection("backward"), t4.defaultPrevented) ? this.requestRender() : void 0; - }, copy: function(t4) { - var e3; - return ((e3 = this.responder) != null ? e3.selectionIsExpanded() : void 0) && this.serializeSelectionToDataTransfer(t4.clipboardData) ? t4.preventDefault() : void 0; - }, paste: function(t4) { - var n4, o3, s4, a3, u2, c3, l2, p3, f2, g2, v, y, b, A, C3, x, w, E, S2, R, k, D2, L2; - return n4 = (p3 = t4.clipboardData) != null ? p3 : t4.testClipboardData, l2 = { clipboard: n4 }, n4 == null || h(t4) ? void this.getPastedHTMLUsingHiddenElement(function(t5) { - return function(e3) { - var n5, i2, o4; - return l2.type = "text/html", l2.html = e3, (n5 = t5.delegate) != null && n5.inputControllerWillPaste(l2), (i2 = t5.responder) != null && i2.insertHTML(l2.html), t5.requestRender(), (o4 = t5.delegate) != null ? o4.inputControllerDidPaste(l2) : void 0; - }; - }(this)) : ((a3 = n4.getData("URL")) ? (l2.type = "text/html", L2 = (c3 = n4.getData("public.url-name")) ? e2.squishBreakableWhitespace(c3).trim() : a3, l2.html = this.createLinkHTML(a3, L2), (f2 = this.delegate) != null && f2.inputControllerWillPaste(l2), this.setInputSummary({ textAdded: L2, didDelete: this.selectionIsExpanded() }), (C3 = this.responder) != null && C3.insertHTML(l2.html), this.requestRender(), (x = this.delegate) != null && x.inputControllerDidPaste(l2)) : i(n4) ? (l2.type = "text/plain", l2.string = n4.getData("text/plain"), (w = this.delegate) != null && w.inputControllerWillPaste(l2), this.setInputSummary({ textAdded: l2.string, didDelete: this.selectionIsExpanded() }), (E = this.responder) != null && E.insertString(l2.string), this.requestRender(), (S2 = this.delegate) != null && S2.inputControllerDidPaste(l2)) : (u2 = n4.getData("text/html")) ? (l2.type = "text/html", l2.html = u2, (R = this.delegate) != null && R.inputControllerWillPaste(l2), (k = this.responder) != null && k.insertHTML(l2.html), this.requestRender(), (D2 = this.delegate) != null && D2.inputControllerDidPaste(l2)) : m.call(n4.types, "Files") >= 0 && (s4 = (g2 = n4.items) != null && (v = g2[0]) != null && typeof v.getAsFile == "function" ? v.getAsFile() : void 0) && (!s4.name && (o3 = r2(s4)) && (s4.name = "pasted-file-" + ++d2 + "." + o3), l2.type = "File", l2.file = s4, (y = this.delegate) != null && y.inputControllerWillAttachFiles(), (b = this.responder) != null && b.insertFile(l2.file), this.requestRender(), (A = this.delegate) != null && A.inputControllerDidPaste(l2)), t4.preventDefault()); - }, compositionstart: function(t4) { - return this.getCompositionInput().start(t4.data); - }, compositionupdate: function(t4) { - return this.getCompositionInput().update(t4.data); - }, compositionend: function(t4) { - return this.getCompositionInput().end(t4.data); - }, beforeinput: function() { - return this.inputSummary.didInput = true; - }, input: function(t4) { - return this.inputSummary.didInput = true, t4.stopPropagation(); - } }, s3.prototype.keys = { backspace: function(t4) { - var e3; - return (e3 = this.delegate) != null && e3.inputControllerWillPerformTyping(), this.deleteInDirection("backward", t4); - }, "delete": function(t4) { - var e3; - return (e3 = this.delegate) != null && e3.inputControllerWillPerformTyping(), this.deleteInDirection("forward", t4); - }, "return": function() { - var t4, e3; - return this.setInputSummary({ preferDocument: true }), (t4 = this.delegate) != null && t4.inputControllerWillPerformTyping(), (e3 = this.responder) != null ? e3.insertLineBreak() : void 0; - }, tab: function(t4) { - var e3, n4; - return ((e3 = this.responder) != null ? e3.canIncreaseNestingLevel() : void 0) ? ((n4 = this.responder) != null && n4.increaseNestingLevel(), this.requestRender(), t4.preventDefault()) : void 0; - }, left: function(t4) { - var e3; - return this.selectionIsInCursorTarget() ? (t4.preventDefault(), (e3 = this.responder) != null ? e3.moveCursorInDirection("backward") : void 0) : void 0; - }, right: function(t4) { - var e3; - return this.selectionIsInCursorTarget() ? (t4.preventDefault(), (e3 = this.responder) != null ? e3.moveCursorInDirection("forward") : void 0) : void 0; - }, control: { d: function(t4) { - var e3; - return (e3 = this.delegate) != null && e3.inputControllerWillPerformTyping(), this.deleteInDirection("forward", t4); - }, h: function(t4) { - var e3; - return (e3 = this.delegate) != null && e3.inputControllerWillPerformTyping(), this.deleteInDirection("backward", t4); - }, o: function(t4) { - var e3, n4; - return t4.preventDefault(), (e3 = this.delegate) != null && e3.inputControllerWillPerformTyping(), (n4 = this.responder) != null && n4.insertString("\n", { updatePosition: false }), this.requestRender(); - } }, shift: { "return": function(t4) { - var e3, n4; - return (e3 = this.delegate) != null && e3.inputControllerWillPerformTyping(), (n4 = this.responder) != null && n4.insertString("\n"), this.requestRender(), t4.preventDefault(); - }, tab: function(t4) { - var e3, n4; - return ((e3 = this.responder) != null ? e3.canDecreaseNestingLevel() : void 0) ? ((n4 = this.responder) != null && n4.decreaseNestingLevel(), this.requestRender(), t4.preventDefault()) : void 0; - }, left: function(t4) { - return this.selectionIsInCursorTarget() ? (t4.preventDefault(), this.expandSelectionInDirection("backward")) : void 0; - }, right: function(t4) { - return this.selectionIsInCursorTarget() ? (t4.preventDefault(), this.expandSelectionInDirection("forward")) : void 0; - } }, alt: { backspace: function() { - var t4; - return this.setInputSummary({ preferDocument: false }), (t4 = this.delegate) != null ? t4.inputControllerWillPerformTyping() : void 0; - } }, meta: { backspace: function() { - var t4; - return this.setInputSummary({ preferDocument: false }), (t4 = this.delegate) != null ? t4.inputControllerWillPerformTyping() : void 0; - } } }, s3.prototype.getCompositionInput = function() { - return this.isComposing() ? this.compositionInput : this.compositionInput = new t3(this); - }, s3.prototype.isComposing = function() { - return this.compositionInput != null && !this.compositionInput.isEnded(); - }, s3.prototype.deleteInDirection = function(t4, e3) { - var n4; - return ((n4 = this.responder) != null ? n4.deleteInDirection(t4) : void 0) !== false ? this.setInputSummary({ didDelete: true }) : e3 ? (e3.preventDefault(), this.requestRender()) : void 0; - }, s3.prototype.serializeSelectionToDataTransfer = function(t4) { - var n4, i2; - if (o2(t4)) - return n4 = (i2 = this.responder) != null ? i2.getSelectedDocument().toSerializableDocument() : void 0, t4.setData("application/x-trix-document", JSON.stringify(n4)), t4.setData("text/html", e2.DocumentView.render(n4).innerHTML), t4.setData("text/plain", n4.toString().replace(/\n$/, "")), true; - }, s3.prototype.canAcceptDataTransfer = function(t4) { - var e3, n4, i2, o3, r3, s4; - for (s4 = {}, o3 = (i2 = t4 != null ? t4.types : void 0) != null ? i2 : [], e3 = 0, n4 = o3.length; n4 > e3; e3++) - r3 = o3[e3], s4[r3] = true; - return s4.Files || s4["application/x-trix-document"] || s4["text/html"] || s4["text/plain"]; - }, s3.prototype.getPastedHTMLUsingHiddenElement = function(t4) { - var n4, i2, o3; - return i2 = this.getSelectedRange(), o3 = { position: "absolute", left: window.pageXOffset + "px", top: window.pageYOffset + "px", opacity: 0 }, n4 = c2({ style: o3, tagName: "div", editable: true }), document.body.appendChild(n4), n4.focus(), requestAnimationFrame(function(o4) { - return function() { - var r3; - return r3 = n4.innerHTML, e2.removeNode(n4), o4.setSelectedRange(i2), t4(r3); - }; - }(this)); - }, s3.proxyMethod("responder?.getSelectedRange"), s3.proxyMethod("responder?.setSelectedRange"), s3.proxyMethod("responder?.expandSelectionInDirection"), s3.proxyMethod("responder?.selectionIsInCursorTarget"), s3.proxyMethod("responder?.selectionIsExpanded"), s3; - }(e2.InputController), r2 = function(t4) { - var e3, n3; - return (e3 = t4.type) != null && (n3 = e3.match(/\/(\w+)$/)) != null ? n3[1] : void 0; - }, s2 = (typeof " ".codePointAt == "function" ? " ".codePointAt(0) : void 0) != null, p2 = function(t4) { + }(), o2 = function() { + try { + return n2.matches(":dir(ltr),:dir(rtl)"); + } catch (t4) { + } + }(), i ? function(e3) { + return n2.value = e3, new FormData(t3).get(n2.dirName); + } : o2 ? function(t4) { + return n2.value = t4, n2.matches(":dir(rtl)") ? "rtl" : "ltr"; + } : function(t4) { var n3; - return t4.key && s2 && t4.key.codePointAt(0) === t4.keyCode ? t4.key : (t4.which === null ? n3 = t4.keyCode : t4.which !== 0 && t4.charCode !== 0 && (n3 = t4.charCode), n3 != null && u[n3] !== "escape" ? e2.UTF16String.fromCodepoints([n3]).toString() : void 0); - }, h = function(t4) { - var e3, n3, i2, o3, r3, s3, a3, u2, c3, l2; - if (u2 = t4.clipboardData) { - if (m.call(u2.types, "text/html") >= 0) { - for (c3 = u2.types, i2 = 0, s3 = c3.length; s3 > i2; i2++) - if (l2 = c3[i2], e3 = /^CorePasteboardFlavorType/.test(l2), n3 = /^dyn\./.test(l2) && u2.getData(l2), a3 = e3 || n3) - return true; - return false; - } - return o3 = m.call(u2.types, "com.apple.webarchive") >= 0, r3 = m.call(u2.types, "com.apple.flat-rtfd") >= 0, o3 || r3; - } - }, t3 = function(t4) { - function e3(t5) { - var e4; - this.inputController = t5, e4 = this.inputController, this.responder = e4.responder, this.delegate = e4.delegate, this.inputSummary = e4.inputSummary, this.data = {}; - } - return f(e3, t4), e3.prototype.start = function(t5) { - var e4, n3; - return this.data.start = t5, this.isSignificant() ? (this.inputSummary.eventName === "keypress" && this.inputSummary.textAdded && (e4 = this.responder) != null && e4.deleteInDirection("left"), this.selectionIsExpanded() || (this.insertPlaceholder(), this.requestRender()), this.range = (n3 = this.responder) != null ? n3.getSelectedRange() : void 0) : void 0; - }, e3.prototype.update = function(t5) { - var e4; - return this.data.update = t5, this.isSignificant() && (e4 = this.selectPlaceholder()) ? (this.forgetPlaceholder(), this.range = e4) : void 0; - }, e3.prototype.end = function(t5) { - var e4, n3, i2, o3; - return this.data.end = t5, this.isSignificant() ? (this.forgetPlaceholder(), this.canApplyToDocument() ? (this.setInputSummary({ preferDocument: true, didInput: false }), (e4 = this.delegate) != null && e4.inputControllerWillPerformTyping(), (n3 = this.responder) != null && n3.setSelectedRange(this.range), (i2 = this.responder) != null && i2.insertString(this.data.end), (o3 = this.responder) != null ? o3.setSelectedRange(this.range[0] + this.data.end.length) : void 0) : this.data.start != null || this.data.update != null ? (this.requestReparse(), this.inputController.reset()) : void 0) : this.inputController.reset(); - }, e3.prototype.getEndData = function() { - return this.data.end; - }, e3.prototype.isEnded = function() { - return this.getEndData() != null; - }, e3.prototype.isSignificant = function() { - return n2.composesExistingText ? this.inputSummary.didInput : true; - }, e3.prototype.canApplyToDocument = function() { - var t5, e4; - return ((t5 = this.data.start) != null ? t5.length : void 0) === 0 && ((e4 = this.data.end) != null ? e4.length : void 0) > 0 && this.range != null; - }, e3.proxyMethod("inputController.setInputSummary"), e3.proxyMethod("inputController.requestRender"), e3.proxyMethod("inputController.requestReparse"), e3.proxyMethod("responder?.selectionIsExpanded"), e3.proxyMethod("responder?.insertPlaceholder"), e3.proxyMethod("responder?.selectPlaceholder"), e3.proxyMethod("responder?.forgetPlaceholder"), e3; - }(e2.BasicObject); - }.call(this), function() { - var t3, n2, i, o2 = function(t4, e3) { - return function() { - return t4.apply(e3, arguments); - }; - }, r2 = function(t4, e3) { - function n3() { - this.constructor = t4; - } - for (var i2 in e3) - s2.call(e3, i2) && (t4[i2] = e3[i2]); - return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; - }, s2 = {}.hasOwnProperty, a2 = [].indexOf || function(t4) { - for (var e3 = 0, n3 = this.length; n3 > e3; e3++) - if (e3 in this && this[e3] === t4) - return e3; - return -1; + return n3 = t4.trim().charAt(0), e2.RTL_PATTERN.test(n3) ? "rtl" : "ltr"; }; - t3 = e2.dataTransferIsPlainText, n2 = e2.keyEventIsKeyboardCommand, i = e2.objectsAreEqual, e2.Level2InputController = function(s3) { - function u() { - return this.render = o2(this.render, this), u.__super__.constructor.apply(this, arguments); - } - var c2, l, h, p2, d, f; - return r2(u, s3), u.prototype.elementDidMutate = function() { - var t4; - return this.scheduledRender ? this.composing && (t4 = this.delegate) != null && typeof t4.inputControllerDidAllowUnhandledInput == "function" ? t4.inputControllerDidAllowUnhandledInput() : void 0 : this.reparse(); - }, u.prototype.scheduleRender = function() { - return this.scheduledRender != null ? this.scheduledRender : this.scheduledRender = requestAnimationFrame(this.render); - }, u.prototype.render = function() { - var t4; - return cancelAnimationFrame(this.scheduledRender), this.scheduledRender = null, this.composing || (t4 = this.delegate) != null && t4.render(), typeof this.afterRender == "function" && this.afterRender(), this.afterRender = null; - }, u.prototype.reparse = function() { - var t4; - return (t4 = this.delegate) != null ? t4.reparse() : void 0; - }, u.prototype.events = { keydown: function(t4) { - var e3, i2, o3, r3; - if (n2(t4)) { - if (e3 = l(t4), (r3 = this.delegate) != null ? r3.inputControllerDidReceiveKeyboardCommand(e3) : void 0) - return t4.preventDefault(); - } else if (o3 = t4.key, t4.altKey && (o3 += "+Alt"), t4.shiftKey && (o3 += "+Shift"), i2 = this.keys[o3]) - return this.withEvent(t4, i2); - }, paste: function(t4) { - var e3, n3, i2, o3, r3, s4, a3, u2, c3; - return h(t4) ? (t4.preventDefault(), this.attachFiles(t4.clipboardData.files)) : p2(t4) ? (t4.preventDefault(), n3 = { type: "text/plain", string: t4.clipboardData.getData("text/plain") }, (i2 = this.delegate) != null && i2.inputControllerWillPaste(n3), (o3 = this.responder) != null && o3.insertString(n3.string), this.render(), (r3 = this.delegate) != null ? r3.inputControllerDidPaste(n3) : void 0) : (e3 = (s4 = t4.clipboardData) != null ? s4.getData("URL") : void 0) ? (t4.preventDefault(), n3 = { type: "text/html", html: this.createLinkHTML(e3) }, (a3 = this.delegate) != null && a3.inputControllerWillPaste(n3), (u2 = this.responder) != null && u2.insertHTML(n3.html), this.render(), (c3 = this.delegate) != null ? c3.inputControllerDidPaste(n3) : void 0) : void 0; - }, beforeinput: function(t4) { - var e3; - return (e3 = this.inputTypes[t4.inputType]) ? (this.withEvent(t4, e3), this.scheduleRender()) : void 0; - }, input: function() { - return e2.selectionChangeObserver.reset(); - }, dragstart: function(t4) { - var e3, n3; - return ((e3 = this.responder) != null ? e3.selectionContainsAttachments() : void 0) ? (t4.dataTransfer.setData("application/x-trix-dragging", true), this.dragging = { range: (n3 = this.responder) != null ? n3.getSelectedRange() : void 0, point: d(t4) }) : void 0; - }, dragenter: function(t4) { - return c2(t4) ? t4.preventDefault() : void 0; - }, dragover: function(t4) { - var e3, n3; - if (this.dragging) { - if (t4.preventDefault(), e3 = d(t4), !i(e3, this.dragging.point)) - return this.dragging.point = e3, (n3 = this.responder) != null ? n3.setLocationRangeFromPointRange(e3) : void 0; - } else if (c2(t4)) - return t4.preventDefault(); - }, drop: function(t4) { - var e3, n3, i2, o3; - return this.dragging ? (t4.preventDefault(), (n3 = this.delegate) != null && n3.inputControllerWillMoveText(), (i2 = this.responder) != null && i2.moveTextFromRange(this.dragging.range), this.dragging = null, this.scheduleRender()) : c2(t4) ? (t4.preventDefault(), e3 = d(t4), (o3 = this.responder) != null && o3.setLocationRangeFromPointRange(e3), this.attachFiles(t4.dataTransfer.files)) : void 0; - }, dragend: function() { - var t4; - return this.dragging ? ((t4 = this.responder) != null && t4.setSelectedRange(this.dragging.range), this.dragging = null) : void 0; - }, compositionend: function() { - return this.composing ? (this.composing = false, this.scheduleRender()) : void 0; - } }, u.prototype.keys = { ArrowLeft: function() { - var t4, e3; - return ((t4 = this.responder) != null ? t4.shouldManageMovingCursorInDirection("backward") : void 0) ? (this.event.preventDefault(), (e3 = this.responder) != null ? e3.moveCursorInDirection("backward") : void 0) : void 0; - }, ArrowRight: function() { - var t4, e3; - return ((t4 = this.responder) != null ? t4.shouldManageMovingCursorInDirection("forward") : void 0) ? (this.event.preventDefault(), (e3 = this.responder) != null ? e3.moveCursorInDirection("forward") : void 0) : void 0; - }, Backspace: function() { - var t4, e3, n3; - return ((t4 = this.responder) != null ? t4.shouldManageDeletingInDirection("backward") : void 0) ? (this.event.preventDefault(), (e3 = this.delegate) != null && e3.inputControllerWillPerformTyping(), (n3 = this.responder) != null && n3.deleteInDirection("backward"), this.render()) : void 0; - }, Tab: function() { - var t4, e3; - return ((t4 = this.responder) != null ? t4.canIncreaseNestingLevel() : void 0) ? (this.event.preventDefault(), (e3 = this.responder) != null && e3.increaseNestingLevel(), this.render()) : void 0; - }, "Tab+Shift": function() { - var t4, e3; - return ((t4 = this.responder) != null ? t4.canDecreaseNestingLevel() : void 0) ? (this.event.preventDefault(), (e3 = this.responder) != null && e3.decreaseNestingLevel(), this.render()) : void 0; - } }, u.prototype.inputTypes = { deleteByComposition: function() { - return this.deleteInDirection("backward", { recordUndoEntry: false }); - }, deleteByCut: function() { - return this.deleteInDirection("backward"); - }, deleteByDrag: function() { - return this.event.preventDefault(), this.withTargetDOMRange(function() { - var t4; - return this.deleteByDragRange = (t4 = this.responder) != null ? t4.getSelectedRange() : void 0; - }); - }, deleteCompositionText: function() { - return this.deleteInDirection("backward", { recordUndoEntry: false }); - }, deleteContent: function() { - return this.deleteInDirection("backward"); - }, deleteContentBackward: function() { - return this.deleteInDirection("backward"); - }, deleteContentForward: function() { - return this.deleteInDirection("forward"); - }, deleteEntireSoftLine: function() { - return this.deleteInDirection("forward"); - }, deleteHardLineBackward: function() { - return this.deleteInDirection("backward"); - }, deleteHardLineForward: function() { - return this.deleteInDirection("forward"); - }, deleteSoftLineBackward: function() { - return this.deleteInDirection("backward"); - }, deleteSoftLineForward: function() { - return this.deleteInDirection("forward"); - }, deleteWordBackward: function() { - return this.deleteInDirection("backward"); - }, deleteWordForward: function() { - return this.deleteInDirection("forward"); - }, formatBackColor: function() { - return this.activateAttributeIfSupported("backgroundColor", this.event.data); - }, formatBold: function() { - return this.toggleAttributeIfSupported("bold"); - }, formatFontColor: function() { - return this.activateAttributeIfSupported("color", this.event.data); - }, formatFontName: function() { - return this.activateAttributeIfSupported("font", this.event.data); - }, formatIndent: function() { - var t4; - return ((t4 = this.responder) != null ? t4.canIncreaseNestingLevel() : void 0) ? this.withTargetDOMRange(function() { - var t5; - return (t5 = this.responder) != null ? t5.increaseNestingLevel() : void 0; - }) : void 0; - }, formatItalic: function() { - return this.toggleAttributeIfSupported("italic"); - }, formatJustifyCenter: function() { - return this.toggleAttributeIfSupported("justifyCenter"); - }, formatJustifyFull: function() { - return this.toggleAttributeIfSupported("justifyFull"); - }, formatJustifyLeft: function() { - return this.toggleAttributeIfSupported("justifyLeft"); - }, formatJustifyRight: function() { - return this.toggleAttributeIfSupported("justifyRight"); - }, formatOutdent: function() { - var t4; - return ((t4 = this.responder) != null ? t4.canDecreaseNestingLevel() : void 0) ? this.withTargetDOMRange(function() { - var t5; - return (t5 = this.responder) != null ? t5.decreaseNestingLevel() : void 0; - }) : void 0; - }, formatRemove: function() { - return this.withTargetDOMRange(function() { - var t4, e3, n3, i2; - i2 = []; - for (t4 in (e3 = this.responder) != null ? e3.getCurrentAttributes() : void 0) - i2.push((n3 = this.responder) != null ? n3.removeCurrentAttribute(t4) : void 0); - return i2; - }); - }, formatSetBlockTextDirection: function() { - return this.activateAttributeIfSupported("blockDir", this.event.data); - }, formatSetInlineTextDirection: function() { - return this.activateAttributeIfSupported("textDir", this.event.data); - }, formatStrikeThrough: function() { - return this.toggleAttributeIfSupported("strike"); - }, formatSubscript: function() { - return this.toggleAttributeIfSupported("sub"); - }, formatSuperscript: function() { - return this.toggleAttributeIfSupported("sup"); - }, formatUnderline: function() { - return this.toggleAttributeIfSupported("underline"); - }, historyRedo: function() { - var t4; - return (t4 = this.delegate) != null ? t4.inputControllerWillPerformRedo() : void 0; - }, historyUndo: function() { - var t4; - return (t4 = this.delegate) != null ? t4.inputControllerWillPerformUndo() : void 0; - }, insertCompositionText: function() { - return this.composing = true, this.insertString(this.event.data); - }, insertFromComposition: function() { - return this.composing = false, this.insertString(this.event.data); - }, insertFromDrop: function() { - var t4, e3; - return (t4 = this.deleteByDragRange) ? (this.deleteByDragRange = null, (e3 = this.delegate) != null && e3.inputControllerWillMoveText(), this.withTargetDOMRange(function() { - var e4; - return (e4 = this.responder) != null ? e4.moveTextFromRange(t4) : void 0; - })) : void 0; - }, insertFromPaste: function() { - var n3, i2, o3, r3, s4, a3, u2, c3, l2, h2, p3; - return n3 = this.event.dataTransfer, s4 = { dataTransfer: n3 }, (i2 = n3.getData("URL")) ? (this.event.preventDefault(), s4.type = "text/html", p3 = (r3 = n3.getData("public.url-name")) ? e2.squishBreakableWhitespace(r3).trim() : i2, s4.html = this.createLinkHTML(i2, p3), (a3 = this.delegate) != null && a3.inputControllerWillPaste(s4), this.withTargetDOMRange(function() { - var t4; - return (t4 = this.responder) != null ? t4.insertHTML(s4.html) : void 0; - }), this.afterRender = function(t4) { - return function() { - var e3; - return (e3 = t4.delegate) != null ? e3.inputControllerDidPaste(s4) : void 0; - }; - }(this)) : t3(n3) ? (s4.type = "text/plain", s4.string = n3.getData("text/plain"), (u2 = this.delegate) != null && u2.inputControllerWillPaste(s4), this.withTargetDOMRange(function() { - var t4; - return (t4 = this.responder) != null ? t4.insertString(s4.string) : void 0; - }), this.afterRender = function(t4) { - return function() { - var e3; - return (e3 = t4.delegate) != null ? e3.inputControllerDidPaste(s4) : void 0; - }; - }(this)) : (o3 = n3.getData("text/html")) ? (this.event.preventDefault(), s4.type = "text/html", s4.html = o3, (c3 = this.delegate) != null && c3.inputControllerWillPaste(s4), this.withTargetDOMRange(function() { - var t4; - return (t4 = this.responder) != null ? t4.insertHTML(s4.html) : void 0; - }), this.afterRender = function(t4) { - return function() { - var e3; - return (e3 = t4.delegate) != null ? e3.inputControllerDidPaste(s4) : void 0; - }; - }(this)) : ((l2 = n3.files) != null ? l2.length : void 0) ? (s4.type = "File", s4.file = n3.files[0], (h2 = this.delegate) != null && h2.inputControllerWillPaste(s4), this.withTargetDOMRange(function() { - var t4; - return (t4 = this.responder) != null ? t4.insertFile(s4.file) : void 0; - }), this.afterRender = function(t4) { - return function() { - var e3; - return (e3 = t4.delegate) != null ? e3.inputControllerDidPaste(s4) : void 0; - }; - }(this)) : void 0; - }, insertFromYank: function() { - return this.insertString(this.event.data); - }, insertLineBreak: function() { - return this.insertString("\n"); - }, insertLink: function() { - return this.activateAttributeIfSupported("href", this.event.data); - }, insertOrderedList: function() { - return this.toggleAttributeIfSupported("number"); - }, insertParagraph: function() { - var t4; - return (t4 = this.delegate) != null && t4.inputControllerWillPerformTyping(), this.withTargetDOMRange(function() { - var t5; - return (t5 = this.responder) != null ? t5.insertLineBreak() : void 0; - }); - }, insertReplacementText: function() { - return this.insertString(this.event.dataTransfer.getData("text/plain"), { updatePosition: false }); - }, insertText: function() { - var t4, e3; - return this.insertString((t4 = this.event.data) != null ? t4 : (e3 = this.event.dataTransfer) != null ? e3.getData("text/plain") : void 0); - }, insertTranspose: function() { - return this.insertString(this.event.data); - }, insertUnorderedList: function() { - return this.toggleAttributeIfSupported("bullet"); - } }, u.prototype.insertString = function(t4, e3) { - var n3; - return t4 == null && (t4 = ""), (n3 = this.delegate) != null && n3.inputControllerWillPerformTyping(), this.withTargetDOMRange(function() { - var n4; - return (n4 = this.responder) != null ? n4.insertString(t4, e3) : void 0; - }); - }, u.prototype.toggleAttributeIfSupported = function(t4) { - var n3; - return a2.call(e2.getAllAttributeNames(), t4) >= 0 ? ((n3 = this.delegate) != null && n3.inputControllerWillPerformFormatting(t4), this.withTargetDOMRange(function() { - var e3; - return (e3 = this.responder) != null ? e3.toggleCurrentAttribute(t4) : void 0; - })) : void 0; - }, u.prototype.activateAttributeIfSupported = function(t4, n3) { - var i2; - return a2.call(e2.getAllAttributeNames(), t4) >= 0 ? ((i2 = this.delegate) != null && i2.inputControllerWillPerformFormatting(t4), this.withTargetDOMRange(function() { - var e3; - return (e3 = this.responder) != null ? e3.setCurrentAttribute(t4, n3) : void 0; - })) : void 0; - }, u.prototype.deleteInDirection = function(t4, e3) { - var n3, i2, o3, r3; - return o3 = (e3 != null ? e3 : { recordUndoEntry: true }).recordUndoEntry, o3 && (r3 = this.delegate) != null && r3.inputControllerWillPerformTyping(), i2 = function(e4) { - return function() { - var n4; - return (n4 = e4.responder) != null ? n4.deleteInDirection(t4) : void 0; - }; - }(this), (n3 = this.getTargetDOMRange({ minLength: 2 })) ? this.withTargetDOMRange(n3, i2) : i2(); - }, u.prototype.withTargetDOMRange = function(t4, n3) { - var i2; - return typeof t4 == "function" && (n3 = t4, t4 = this.getTargetDOMRange()), t4 ? (i2 = this.responder) != null ? i2.withTargetDOMRange(t4, n3.bind(this)) : void 0 : (e2.selectionChangeObserver.reset(), n3.call(this)); - }, u.prototype.getTargetDOMRange = function(t4) { - var e3, n3, i2, o3; - return i2 = (t4 != null ? t4 : { minLength: 0 }).minLength, (o3 = typeof (e3 = this.event).getTargetRanges == "function" ? e3.getTargetRanges() : void 0) && o3.length && (n3 = f(o3[0]), i2 === 0 || n3.toString().length >= i2) ? n3 : void 0; - }, f = function(t4) { - var e3; - return e3 = document.createRange(), e3.setStart(t4.startContainer, t4.startOffset), e3.setEnd(t4.endContainer, t4.endOffset), e3; - }, u.prototype.withEvent = function(t4, e3) { - var n3; - this.event = t4; - try { - n3 = e3.call(this); - } finally { - this.event = null; - } - return n3; - }, c2 = function(t4) { - var e3, n3; - return a2.call((e3 = (n3 = t4.dataTransfer) != null ? n3.types : void 0) != null ? e3 : [], "Files") >= 0; - }, h = function(t4) { - var e3; - return (e3 = t4.clipboardData) ? a2.call(e3.types, "Files") >= 0 && e3.types.length === 1 && e3.files.length >= 1 : void 0; - }, p2 = function(t4) { - var e3; - return (e3 = t4.clipboardData) ? a2.call(e3.types, "text/plain") >= 0 && e3.types.length === 1 : void 0; - }, l = function(t4) { - var e3; - return e3 = [], t4.altKey && e3.push("alt"), t4.shiftKey && e3.push("shift"), e3.push(t4.key), e3; - }, d = function(t4) { - return { x: t4.clientX, y: t4.clientY }; - }, u; - }(e2.InputController); - }.call(this), function() { - var t3, n2, i, o2, r2, s2, a2, u, c2 = function(t4, e3) { - return function() { - return t4.apply(e3, arguments); - }; - }, l = function(t4, e3) { - function n3() { - this.constructor = t4; - } - for (var i2 in e3) - h.call(e3, i2) && (t4[i2] = e3[i2]); - return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; - }, h = {}.hasOwnProperty; - n2 = e2.defer, i = e2.handleEvent, s2 = e2.makeElement, u = e2.tagName, a2 = e2.config, r2 = a2.lang, t3 = a2.css, o2 = a2.keyNames, e2.AttachmentEditorController = function(a3) { - function h2(t4, e3, n3, i2) { - this.attachmentPiece = t4, this.element = e3, this.container = n3, this.options = i2 != null ? i2 : {}, this.didBlurCaption = c2(this.didBlurCaption, this), this.didChangeCaption = c2(this.didChangeCaption, this), this.didInputCaption = c2(this.didInputCaption, this), this.didKeyDownCaption = c2(this.didKeyDownCaption, this), this.didClickActionButton = c2(this.didClickActionButton, this), this.didClickToolbar = c2(this.didClickToolbar, this), this.attachment = this.attachmentPiece.attachment, u(this.element) === "a" && (this.element = this.element.firstChild), this.install(); - } - var p2; - return l(h2, a3), p2 = function(t4) { - return function() { - var e3; - return e3 = t4.apply(this, arguments), e3["do"](), this.undos == null && (this.undos = []), this.undos.push(e3.undo); - }; - }, h2.prototype.install = function() { - return this.makeElementMutable(), this.addToolbar(), this.attachment.isPreviewable() ? this.installCaptionEditor() : void 0; - }, h2.prototype.uninstall = function() { - var t4, e3; - for (this.savePendingCaption(); e3 = this.undos.pop(); ) - e3(); - return (t4 = this.delegate) != null ? t4.didUninstallAttachmentEditor(this) : void 0; - }, h2.prototype.savePendingCaption = function() { - var t4, e3, n3; - return this.pendingCaption != null ? (t4 = this.pendingCaption, this.pendingCaption = null, t4 ? (e3 = this.delegate) != null && typeof e3.attachmentEditorDidRequestUpdatingAttributesForAttachment == "function" ? e3.attachmentEditorDidRequestUpdatingAttributesForAttachment({ caption: t4 }, this.attachment) : void 0 : (n3 = this.delegate) != null && typeof n3.attachmentEditorDidRequestRemovingAttributeForAttachment == "function" ? n3.attachmentEditorDidRequestRemovingAttributeForAttachment("caption", this.attachment) : void 0) : void 0; - }, h2.prototype.makeElementMutable = p2(function() { - return { "do": function(t4) { - return function() { - return t4.element.dataset.trixMutable = true; - }; - }(this), undo: function(t4) { - return function() { - return delete t4.element.dataset.trixMutable; - }; - }(this) }; - }), h2.prototype.addToolbar = p2(function() { - var n3; - return n3 = s2({ tagName: "div", className: t3.attachmentToolbar, data: { trixMutable: true }, childNodes: s2({ tagName: "div", className: "trix-button-row", childNodes: s2({ tagName: "span", className: "trix-button-group trix-button-group--actions", childNodes: s2({ tagName: "button", className: "trix-button trix-button--remove", textContent: r2.remove, attributes: { title: r2.remove }, data: { trixAction: "remove" } }) }) }) }), this.attachment.isPreviewable() && n3.appendChild(s2({ tagName: "div", className: t3.attachmentMetadataContainer, childNodes: s2({ tagName: "span", className: t3.attachmentMetadata, childNodes: [s2({ tagName: "span", className: t3.attachmentName, textContent: this.attachment.getFilename(), attributes: { title: this.attachment.getFilename() } }), s2({ tagName: "span", className: t3.attachmentSize, textContent: this.attachment.getFormattedFilesize() })] }) })), i("click", { onElement: n3, withCallback: this.didClickToolbar }), i("click", { onElement: n3, matchingSelector: "[data-trix-action]", withCallback: this.didClickActionButton }), { "do": function(t4) { - return function() { - return t4.element.appendChild(n3); - }; - }(this), undo: function() { - return function() { - return e2.removeNode(n3); - }; - }(this) }; - }), h2.prototype.installCaptionEditor = p2(function() { - var o3, a4, u2, c3, l2; - return c3 = s2({ tagName: "textarea", className: t3.attachmentCaptionEditor, attributes: { placeholder: r2.captionPlaceholder }, data: { trixMutable: true } }), c3.value = this.attachmentPiece.getCaption(), l2 = c3.cloneNode(), l2.classList.add("trix-autoresize-clone"), l2.tabIndex = -1, o3 = function() { - return l2.value = c3.value, c3.style.height = l2.scrollHeight + "px"; - }, i("input", { onElement: c3, withCallback: o3 }), i("input", { onElement: c3, withCallback: this.didInputCaption }), i("keydown", { onElement: c3, withCallback: this.didKeyDownCaption }), i("change", { onElement: c3, withCallback: this.didChangeCaption }), i("blur", { onElement: c3, withCallback: this.didBlurCaption }), u2 = this.element.querySelector("figcaption"), a4 = u2.cloneNode(), { "do": function(e3) { - return function() { - return u2.style.display = "none", a4.appendChild(c3), a4.appendChild(l2), a4.classList.add(t3.attachmentCaption + "--editing"), u2.parentElement.insertBefore(a4, u2), o3(), e3.options.editCaption ? n2(function() { - return c3.focus(); - }) : void 0; - }; - }(this), undo: function() { - return e2.removeNode(a4), u2.style.display = null; - } }; - }), h2.prototype.didClickToolbar = function(t4) { - return t4.preventDefault(), t4.stopPropagation(); - }, h2.prototype.didClickActionButton = function(t4) { - var e3, n3; - switch (e3 = t4.target.getAttribute("data-trix-action")) { - case "remove": - return (n3 = this.delegate) != null ? n3.attachmentEditorDidRequestRemovalOfAttachment(this.attachment) : void 0; - } - }, h2.prototype.didKeyDownCaption = function(t4) { - var e3; - return o2[t4.keyCode] === "return" ? (t4.preventDefault(), this.savePendingCaption(), (e3 = this.delegate) != null && typeof e3.attachmentEditorDidRequestDeselectingAttachment == "function" ? e3.attachmentEditorDidRequestDeselectingAttachment(this.attachment) : void 0) : void 0; - }, h2.prototype.didInputCaption = function(t4) { - return this.pendingCaption = t4.target.value.replace(/\s/g, " ").trim(); - }, h2.prototype.didChangeCaption = function() { - return this.savePendingCaption(); - }, h2.prototype.didBlurCaption = function() { - return this.savePendingCaption(); - }, h2; - }(e2.BasicObject); - }.call(this), function() { - var t3, n2, i, o2 = function(t4, e3) { - function n3() { - this.constructor = t4; - } - for (var i2 in e3) - r2.call(e3, i2) && (t4[i2] = e3[i2]); - return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; - }, r2 = {}.hasOwnProperty; - i = e2.makeElement, t3 = e2.config.css, e2.AttachmentView = function(r3) { - function s2() { - s2.__super__.constructor.apply(this, arguments), this.attachment = this.object, this.attachment.uploadProgressDelegate = this, this.attachmentPiece = this.options.piece; - } - var a2; - return o2(s2, r3), s2.attachmentSelector = "[data-trix-attachment]", s2.prototype.createContentNodes = function() { - return []; - }, s2.prototype.createNodes = function() { - var e3, n3, o3, r4, s3, u, c2; - if (e3 = r4 = i({ tagName: "figure", className: this.getClassName(), data: this.getData(), editable: false }), (n3 = this.getHref()) && (r4 = i({ tagName: "a", editable: false, attributes: { href: n3, tabindex: -1 } }), e3.appendChild(r4)), this.attachment.hasContent()) - r4.innerHTML = this.attachment.getContent(); - else - for (c2 = this.createContentNodes(), o3 = 0, s3 = c2.length; s3 > o3; o3++) - u = c2[o3], r4.appendChild(u); - return r4.appendChild(this.createCaptionElement()), this.attachment.isPending() && (this.progressElement = i({ tagName: "progress", attributes: { "class": t3.attachmentProgress, value: this.attachment.getUploadProgress(), max: 100 }, data: { trixMutable: true, trixStoreKey: ["progressElement", this.attachment.id].join("/") } }), e3.appendChild(this.progressElement)), [a2("left"), e3, a2("right")]; - }, s2.prototype.createCaptionElement = function() { - var e3, n3, o3, r4, s3, a3, u; - return o3 = i({ tagName: "figcaption", className: t3.attachmentCaption }), (e3 = this.attachmentPiece.getCaption()) ? (o3.classList.add(t3.attachmentCaption + "--edited"), o3.textContent = e3) : (n3 = this.getCaptionConfig(), n3.name && (r4 = this.attachment.getFilename()), n3.size && (a3 = this.attachment.getFormattedFilesize()), r4 && (s3 = i({ tagName: "span", className: t3.attachmentName, textContent: r4 }), o3.appendChild(s3)), a3 && (r4 && o3.appendChild(document.createTextNode(" ")), u = i({ tagName: "span", className: t3.attachmentSize, textContent: a3 }), o3.appendChild(u))), o3; - }, s2.prototype.getClassName = function() { - var e3, n3; - return n3 = [t3.attachment, t3.attachment + "--" + this.attachment.getType()], (e3 = this.attachment.getExtension()) && n3.push(t3.attachment + "--" + e3), n3.join(" "); - }, s2.prototype.getData = function() { - var t4, e3; - return e3 = { trixAttachment: JSON.stringify(this.attachment), trixContentType: this.attachment.getContentType(), trixId: this.attachment.id }, t4 = this.attachmentPiece.attributes, t4.isEmpty() || (e3.trixAttributes = JSON.stringify(t4)), this.attachment.isPending() && (e3.trixSerialize = false), e3; - }, s2.prototype.getHref = function() { - return n2(this.attachment.getContent(), "a") ? void 0 : this.attachment.getHref(); - }, s2.prototype.getCaptionConfig = function() { - var t4, n3, i2; - return i2 = this.attachment.getType(), t4 = e2.copyObject((n3 = e2.config.attachments[i2]) != null ? n3.caption : void 0), i2 === "file" && (t4.name = true), t4; - }, s2.prototype.findProgressElement = function() { - var t4; - return (t4 = this.findElement()) != null ? t4.querySelector("progress") : void 0; - }, a2 = function(t4) { - return i({ tagName: "span", textContent: e2.ZERO_WIDTH_SPACE, data: { trixCursorTarget: t4, trixSerialize: false } }); - }, s2.prototype.attachmentDidChangeUploadProgress = function() { - var t4, e3; - return e3 = this.attachment.getUploadProgress(), (t4 = this.findProgressElement()) != null ? t4.value = e3 : void 0; - }, s2; - }(e2.ObjectView), n2 = function(t4, e3) { - var n3; - return n3 = i("div"), n3.innerHTML = t4 != null ? t4 : "", n3.querySelector(e3); - }; - }.call(this), function() { - var t3, n2 = function(t4, e3) { - function n3() { - this.constructor = t4; - } - for (var o2 in e3) - i.call(e3, o2) && (t4[o2] = e3[o2]); - return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; - }, i = {}.hasOwnProperty; - t3 = e2.makeElement, e2.PreviewableAttachmentView = function(i2) { - function o2() { - o2.__super__.constructor.apply(this, arguments), this.attachment.previewDelegate = this; - } - return n2(o2, i2), o2.prototype.createContentNodes = function() { - return this.image = t3({ tagName: "img", attributes: { src: "" }, data: { trixMutable: true } }), this.refresh(this.image), [this.image]; - }, o2.prototype.createCaptionElement = function() { - var t4; - return t4 = o2.__super__.createCaptionElement.apply(this, arguments), t4.textContent || t4.setAttribute("data-trix-placeholder", e2.config.lang.captionPlaceholder), t4; - }, o2.prototype.refresh = function(t4) { - var e3; - return t4 == null && (t4 = (e3 = this.findElement()) != null ? e3.querySelector("img") : void 0), t4 ? this.updateAttributesForImage(t4) : void 0; - }, o2.prototype.updateAttributesForImage = function(t4) { - var e3, n3, i3, o3, r2, s2; - return r2 = this.attachment.getURL(), n3 = this.attachment.getPreviewURL(), t4.src = n3 || r2, n3 === r2 ? t4.removeAttribute("data-trix-serialized-attributes") : (i3 = JSON.stringify({ src: r2 }), t4.setAttribute("data-trix-serialized-attributes", i3)), s2 = this.attachment.getWidth(), e3 = this.attachment.getHeight(), s2 != null && (t4.width = s2), e3 != null && (t4.height = e3), o3 = ["imageElement", this.attachment.id, t4.src, t4.width, t4.height].join("/"), t4.dataset.trixStoreKey = o3; - }, o2.prototype.attachmentDidChangeAttributes = function() { - return this.refresh(this.image), this.refresh(); - }, o2; - }(e2.AttachmentView); - }.call(this), function() { - var t3, n2, i, o2 = function(t4, e3) { - function n3() { - this.constructor = t4; - } - for (var i2 in e3) - r2.call(e3, i2) && (t4[i2] = e3[i2]); - return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; - }, r2 = {}.hasOwnProperty; - i = e2.makeElement, t3 = e2.findInnerElement, n2 = e2.getTextConfig, e2.PieceView = function(r3) { - function s2() { - var t4; - s2.__super__.constructor.apply(this, arguments), this.piece = this.object, this.attributes = this.piece.getAttributes(), t4 = this.options, this.textConfig = t4.textConfig, this.context = t4.context, this.piece.attachment ? this.attachment = this.piece.attachment : this.string = this.piece.toString(); - } - var a2; - return o2(s2, r3), s2.prototype.createNodes = function() { - var e3, n3, i2, o3, r4, s3; - if (s3 = this.attachment ? this.createAttachmentNodes() : this.createStringNodes(), e3 = this.createElement()) { - for (i2 = t3(e3), n3 = 0, o3 = s3.length; o3 > n3; n3++) - r4 = s3[n3], i2.appendChild(r4); - s3 = [e3]; - } - return s3; - }, s2.prototype.createAttachmentNodes = function() { - var t4, n3; - return t4 = this.attachment.isPreviewable() ? e2.PreviewableAttachmentView : e2.AttachmentView, n3 = this.createChildView(t4, this.piece.attachment, { piece: this.piece }), n3.getNodes(); - }, s2.prototype.createStringNodes = function() { - var t4, e3, n3, o3, r4, s3, a3, u, c2, l; - if ((u = this.textConfig) != null ? u.plaintext : void 0) - return [document.createTextNode(this.string)]; - for (a3 = [], c2 = this.string.split("\n"), n3 = e3 = 0, o3 = c2.length; o3 > e3; n3 = ++e3) - l = c2[n3], n3 > 0 && (t4 = i("br"), a3.push(t4)), (r4 = l.length) && (s3 = document.createTextNode(this.preserveSpaces(l)), a3.push(s3)); - return a3; - }, s2.prototype.createElement = function() { - var t4, e3, o3, r4, s3, a3, u, c2, l; - c2 = {}, a3 = this.attributes; - for (r4 in a3) - if (l = a3[r4], (t4 = n2(r4)) && (t4.tagName && (s3 = i(t4.tagName), o3 ? (o3.appendChild(s3), o3 = s3) : e3 = o3 = s3), t4.styleProperty && (c2[t4.styleProperty] = l), t4.style)) { - u = t4.style; - for (r4 in u) - l = u[r4], c2[r4] = l; - } - if (Object.keys(c2).length) { - e3 == null && (e3 = i("span")); - for (r4 in c2) - l = c2[r4], e3.style[r4] = l; - } - return e3; - }, s2.prototype.createContainerElement = function() { - var t4, e3, o3, r4, s3; - r4 = this.attributes; - for (o3 in r4) - if (s3 = r4[o3], (e3 = n2(o3)) && e3.groupTagName) - return t4 = {}, t4[o3] = s3, i(e3.groupTagName, t4); - }, a2 = e2.NON_BREAKING_SPACE, s2.prototype.preserveSpaces = function(t4) { - return this.context.isLast && (t4 = t4.replace(/\ $/, a2)), t4 = t4.replace(/(\S)\ {3}(\S)/g, "$1 " + a2 + " $2").replace(/\ {2}/g, a2 + " ").replace(/\ {2}/g, " " + a2), (this.context.isFirst || this.context.followsWhitespace) && (t4 = t4.replace(/^\ /, a2)), t4; - }, s2; - }(e2.ObjectView); - }.call(this), function() { - var t3 = function(t4, e3) { - function i() { - this.constructor = t4; - } - for (var o2 in e3) - n2.call(e3, o2) && (t4[o2] = e3[o2]); - return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; - }, n2 = {}.hasOwnProperty; - e2.TextView = function(n3) { - function i() { - i.__super__.constructor.apply(this, arguments), this.text = this.object, this.textConfig = this.options.textConfig; - } - var o2; - return t3(i, n3), i.prototype.createNodes = function() { - var t4, n4, i2, r2, s2, a2, u, c2, l, h; - for (a2 = [], c2 = e2.ObjectGroup.groupObjects(this.getPieces()), r2 = c2.length - 1, i2 = n4 = 0, s2 = c2.length; s2 > n4; i2 = ++n4) - u = c2[i2], t4 = {}, i2 === 0 && (t4.isFirst = true), i2 === r2 && (t4.isLast = true), o2(l) && (t4.followsWhitespace = true), h = this.findOrCreateCachedChildView(e2.PieceView, u, { textConfig: this.textConfig, context: t4 }), a2.push.apply(a2, h.getNodes()), l = u; - return a2; - }, i.prototype.getPieces = function() { - var t4, e3, n4, i2, o3; - for (i2 = this.text.getPieces(), o3 = [], t4 = 0, e3 = i2.length; e3 > t4; t4++) - n4 = i2[t4], n4.hasAttribute("blockBreak") || o3.push(n4); - return o3; - }, o2 = function(t4) { - return /\s$/.test(t4 != null ? t4.toString() : void 0); - }, i; - }(e2.ObjectView); - }.call(this), function() { - var t3, n2, i, o2 = function(t4, e3) { - function n3() { - this.constructor = t4; - } - for (var i2 in e3) - r2.call(e3, i2) && (t4[i2] = e3[i2]); - return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; - }, r2 = {}.hasOwnProperty; - i = e2.makeElement, n2 = e2.getBlockConfig, t3 = e2.config.css, e2.BlockView = function(r3) { - function s2() { - s2.__super__.constructor.apply(this, arguments), this.block = this.object, this.attributes = this.block.getAttributes(); - } - return o2(s2, r3), s2.prototype.createNodes = function() { - var t4, o3, r4, s3, a2, u, c2, l, h, p2, d; - if (o3 = document.createComment("block"), c2 = [o3], this.block.isEmpty() ? c2.push(i("br")) : (p2 = (l = n2(this.block.getLastAttribute())) != null ? l.text : void 0, d = this.findOrCreateCachedChildView(e2.TextView, this.block.text, { textConfig: p2 }), c2.push.apply(c2, d.getNodes()), this.shouldAddExtraNewlineElement() && c2.push(i("br"))), this.attributes.length) - return c2; - for (h = e2.config.blockAttributes["default"].tagName, this.block.isRTL() && (t4 = { dir: "rtl" }), r4 = i({ tagName: h, attributes: t4 }), s3 = 0, a2 = c2.length; a2 > s3; s3++) - u = c2[s3], r4.appendChild(u); - return [r4]; - }, s2.prototype.createContainerElement = function(e3) { - var o3, r4, s3, a2, u; - return o3 = this.attributes[e3], u = n2(o3).tagName, e3 === 0 && this.block.isRTL() && (r4 = { dir: "rtl" }), o3 === "attachmentGallery" && (a2 = this.block.getBlockBreakPosition(), s3 = t3.attachmentGallery + " " + t3.attachmentGallery + "--" + a2), i({ tagName: u, className: s3, attributes: r4 }); - }, s2.prototype.shouldAddExtraNewlineElement = function() { - return /\n\n$/.test(this.block.toString()); - }, s2; - }(e2.ObjectView); - }.call(this), function() { - var t3, n2, i = function(t4, e3) { - function n3() { - this.constructor = t4; - } - for (var i2 in e3) - o2.call(e3, i2) && (t4[i2] = e3[i2]); - return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; - }, o2 = {}.hasOwnProperty; - t3 = e2.defer, n2 = e2.makeElement, e2.DocumentView = function(o3) { - function r2() { - r2.__super__.constructor.apply(this, arguments), this.element = this.options.element, this.elementStore = new e2.ElementStore(), this.setDocument(this.object); - } - var s2, a2, u; - return i(r2, o3), r2.render = function(t4) { - var e3, i2; - return e3 = n2("div"), i2 = new this(t4, { element: e3 }), i2.render(), i2.sync(), e3; - }, r2.prototype.setDocument = function(t4) { - return t4.isEqualTo(this.document) ? void 0 : this.document = this.object = t4; - }, r2.prototype.render = function() { - var t4, i2, o4, r3, s3, a3, u2; - if (this.childViews = [], this.shadowElement = n2("div"), !this.document.isEmpty()) { - for (s3 = e2.ObjectGroup.groupObjects(this.document.getBlocks(), { asTree: true }), a3 = [], t4 = 0, i2 = s3.length; i2 > t4; t4++) - r3 = s3[t4], u2 = this.findOrCreateCachedChildView(e2.BlockView, r3), a3.push(function() { - var t5, e3, n3, i3; - for (n3 = u2.getNodes(), i3 = [], t5 = 0, e3 = n3.length; e3 > t5; t5++) - o4 = n3[t5], i3.push(this.shadowElement.appendChild(o4)); - return i3; - }.call(this)); - return a3; - } - }, r2.prototype.isSynced = function() { - return s2(this.shadowElement, this.element); - }, r2.prototype.sync = function() { - var t4; - for (t4 = this.createDocumentFragmentForSync(); this.element.lastChild; ) - this.element.removeChild(this.element.lastChild); - return this.element.appendChild(t4), this.didSync(); - }, r2.prototype.didSync = function() { - return this.elementStore.reset(a2(this.element)), t3(function(t4) { - return function() { - return t4.garbageCollectCachedViews(); - }; - }(this)); - }, r2.prototype.createDocumentFragmentForSync = function() { - var t4, e3, n3, i2, o4, r3, s3, u2, c2, l; - for (e3 = document.createDocumentFragment(), u2 = this.shadowElement.childNodes, n3 = 0, o4 = u2.length; o4 > n3; n3++) - s3 = u2[n3], e3.appendChild(s3.cloneNode(true)); - for (c2 = a2(e3), i2 = 0, r3 = c2.length; r3 > i2; i2++) - t4 = c2[i2], (l = this.elementStore.remove(t4)) && t4.parentNode.replaceChild(l, t4); - return e3; - }, a2 = function(t4) { - return t4.querySelectorAll("[data-trix-store-key]"); - }, s2 = function(t4, e3) { - return u(t4.innerHTML) === u(e3.innerHTML); - }, u = function(t4) { - return t4.replace(/ /g, " "); - }, r2; - }(e2.ObjectView); - }.call(this), function() { - var t3, n2, i, o2, r2, s2 = function(t4, e3) { - return function() { - return t4.apply(e3, arguments); - }; - }, a2 = function(t4, e3) { - function n3() { - this.constructor = t4; - } - for (var i2 in e3) - u.call(e3, i2) && (t4[i2] = e3[i2]); - return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; - }, u = {}.hasOwnProperty; - i = e2.findClosestElementFromNode, o2 = e2.handleEvent, r2 = e2.innerElementIsActive, n2 = e2.defer, t3 = e2.AttachmentView.attachmentSelector, e2.CompositionController = function(u2) { - function c2(n3, i2) { - this.element = n3, this.composition = i2, this.didClickAttachment = s2(this.didClickAttachment, this), this.didBlur = s2(this.didBlur, this), this.didFocus = s2(this.didFocus, this), this.documentView = new e2.DocumentView(this.composition.document, { element: this.element }), o2("focus", { onElement: this.element, withCallback: this.didFocus }), o2("blur", { onElement: this.element, withCallback: this.didBlur }), o2("click", { onElement: this.element, matchingSelector: "a[contenteditable=false]", preventDefault: true }), o2("mousedown", { onElement: this.element, matchingSelector: t3, withCallback: this.didClickAttachment }), o2("click", { onElement: this.element, matchingSelector: "a" + t3, preventDefault: true }); - } - return a2(c2, u2), c2.prototype.didFocus = function() { - var t4, e3, n3; - return t4 = function(t5) { - return function() { - var e4; - return t5.focused ? void 0 : (t5.focused = true, (e4 = t5.delegate) != null && typeof e4.compositionControllerDidFocus == "function" ? e4.compositionControllerDidFocus() : void 0); - }; - }(this), (e3 = (n3 = this.blurPromise) != null ? n3.then(t4) : void 0) != null ? e3 : t4(); - }, c2.prototype.didBlur = function() { - return this.blurPromise = new Promise(function(t4) { - return function(e3) { - return n2(function() { - var n3; - return r2(t4.element) || (t4.focused = null, (n3 = t4.delegate) != null && typeof n3.compositionControllerDidBlur == "function" && n3.compositionControllerDidBlur()), t4.blurPromise = null, e3(); - }); - }; - }(this)); - }, c2.prototype.didClickAttachment = function(t4, e3) { - var n3, o3, r3; - return n3 = this.findAttachmentForElement(e3), o3 = i(t4.target, { matchingSelector: "figcaption" }) != null, (r3 = this.delegate) != null && typeof r3.compositionControllerDidSelectAttachment == "function" ? r3.compositionControllerDidSelectAttachment(n3, { editCaption: o3 }) : void 0; - }, c2.prototype.getSerializableElement = function() { - return this.isEditingAttachment() ? this.documentView.shadowElement : this.element; - }, c2.prototype.render = function() { - var t4, e3, n3; - return this.revision !== this.composition.revision && (this.documentView.setDocument(this.composition.document), this.documentView.render(), this.revision = this.composition.revision), this.canSyncDocumentView() && !this.documentView.isSynced() && ((t4 = this.delegate) != null && typeof t4.compositionControllerWillSyncDocumentView == "function" && t4.compositionControllerWillSyncDocumentView(), this.documentView.sync(), (e3 = this.delegate) != null && typeof e3.compositionControllerDidSyncDocumentView == "function" && e3.compositionControllerDidSyncDocumentView()), (n3 = this.delegate) != null && typeof n3.compositionControllerDidRender == "function" ? n3.compositionControllerDidRender() : void 0; - }, c2.prototype.rerenderViewForObject = function(t4) { - return this.invalidateViewForObject(t4), this.render(); - }, c2.prototype.invalidateViewForObject = function(t4) { - return this.documentView.invalidateViewForObject(t4); - }, c2.prototype.isViewCachingEnabled = function() { - return this.documentView.isViewCachingEnabled(); - }, c2.prototype.enableViewCaching = function() { - return this.documentView.enableViewCaching(); - }, c2.prototype.disableViewCaching = function() { - return this.documentView.disableViewCaching(); - }, c2.prototype.refreshViewCache = function() { - return this.documentView.garbageCollectCachedViews(); - }, c2.prototype.isEditingAttachment = function() { - return this.attachmentEditor != null; - }, c2.prototype.installAttachmentEditorForAttachment = function(t4, n3) { - var i2, o3, r3; - if (((r3 = this.attachmentEditor) != null ? r3.attachment : void 0) !== t4 && (o3 = this.documentView.findElementForObject(t4))) - return this.uninstallAttachmentEditor(), i2 = this.composition.document.getAttachmentPieceForAttachment(t4), this.attachmentEditor = new e2.AttachmentEditorController(i2, o3, this.element, n3), this.attachmentEditor.delegate = this; - }, c2.prototype.uninstallAttachmentEditor = function() { - var t4; - return (t4 = this.attachmentEditor) != null ? t4.uninstall() : void 0; - }, c2.prototype.didUninstallAttachmentEditor = function() { - return this.attachmentEditor = null, this.render(); - }, c2.prototype.attachmentEditorDidRequestUpdatingAttributesForAttachment = function(t4, e3) { - var n3; - return (n3 = this.delegate) != null && typeof n3.compositionControllerWillUpdateAttachment == "function" && n3.compositionControllerWillUpdateAttachment(e3), this.composition.updateAttributesForAttachment(t4, e3); - }, c2.prototype.attachmentEditorDidRequestRemovingAttributeForAttachment = function(t4, e3) { - var n3; - return (n3 = this.delegate) != null && typeof n3.compositionControllerWillUpdateAttachment == "function" && n3.compositionControllerWillUpdateAttachment(e3), this.composition.removeAttributeForAttachment(t4, e3); - }, c2.prototype.attachmentEditorDidRequestRemovalOfAttachment = function(t4) { - var e3; - return (e3 = this.delegate) != null && typeof e3.compositionControllerDidRequestRemovalOfAttachment == "function" ? e3.compositionControllerDidRequestRemovalOfAttachment(t4) : void 0; - }, c2.prototype.attachmentEditorDidRequestDeselectingAttachment = function(t4) { - var e3; - return (e3 = this.delegate) != null && typeof e3.compositionControllerDidRequestDeselectingAttachment == "function" ? e3.compositionControllerDidRequestDeselectingAttachment(t4) : void 0; - }, c2.prototype.canSyncDocumentView = function() { - return !this.isEditingAttachment(); - }, c2.prototype.findAttachmentForElement = function(t4) { - return this.composition.document.getAttachmentById(parseInt(t4.dataset.trixId, 10)); - }, c2; - }(e2.BasicObject); - }.call(this), function() { - var t3, n2, i, o2 = function(t4, e3) { - return function() { - return t4.apply(e3, arguments); - }; - }, r2 = function(t4, e3) { - function n3() { - this.constructor = t4; - } - for (var i2 in e3) - s2.call(e3, i2) && (t4[i2] = e3[i2]); - return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; - }, s2 = {}.hasOwnProperty; - n2 = e2.handleEvent, i = e2.triggerEvent, t3 = e2.findClosestElementFromNode, e2.ToolbarController = function(e3) { - function s3(t4) { - this.element = t4, this.didKeyDownDialogInput = o2(this.didKeyDownDialogInput, this), this.didClickDialogButton = o2(this.didClickDialogButton, this), this.didClickAttributeButton = o2(this.didClickAttributeButton, this), this.didClickActionButton = o2(this.didClickActionButton, this), this.attributes = {}, this.actions = {}, this.resetDialogInputs(), n2("mousedown", { onElement: this.element, matchingSelector: a2, withCallback: this.didClickActionButton }), n2("mousedown", { onElement: this.element, matchingSelector: c2, withCallback: this.didClickAttributeButton }), n2("click", { onElement: this.element, matchingSelector: v, preventDefault: true }), n2("click", { onElement: this.element, matchingSelector: l, withCallback: this.didClickDialogButton }), n2("keydown", { onElement: this.element, matchingSelector: h, withCallback: this.didKeyDownDialogInput }); - } - var a2, u, c2, l, h, p2, d, f, g, m, v; - return r2(s3, e3), c2 = "[data-trix-attribute]", a2 = "[data-trix-action]", v = c2 + ", " + a2, p2 = "[data-trix-dialog]", u = p2 + "[data-trix-active]", l = p2 + " [data-trix-method]", h = p2 + " [data-trix-input]", s3.prototype.didClickActionButton = function(t4, e4) { - var n3, i2, o3; - return (i2 = this.delegate) != null && i2.toolbarDidClickButton(), t4.preventDefault(), n3 = d(e4), this.getDialog(n3) ? this.toggleDialog(n3) : (o3 = this.delegate) != null ? o3.toolbarDidInvokeAction(n3) : void 0; - }, s3.prototype.didClickAttributeButton = function(t4, e4) { - var n3, i2, o3; - return (i2 = this.delegate) != null && i2.toolbarDidClickButton(), t4.preventDefault(), n3 = f(e4), this.getDialog(n3) ? this.toggleDialog(n3) : (o3 = this.delegate) != null && o3.toolbarDidToggleAttribute(n3), this.refreshAttributeButtons(); - }, s3.prototype.didClickDialogButton = function(e4, n3) { - var i2, o3; - return i2 = t3(n3, { matchingSelector: p2 }), o3 = n3.getAttribute("data-trix-method"), this[o3].call(this, i2); - }, s3.prototype.didKeyDownDialogInput = function(t4, e4) { - var n3, i2; - return t4.keyCode === 13 && (t4.preventDefault(), n3 = e4.getAttribute("name"), i2 = this.getDialog(n3), this.setAttribute(i2)), t4.keyCode === 27 ? (t4.preventDefault(), this.hideDialog()) : void 0; - }, s3.prototype.updateActions = function(t4) { - return this.actions = t4, this.refreshActionButtons(); - }, s3.prototype.refreshActionButtons = function() { - return this.eachActionButton(function(t4) { - return function(e4, n3) { - return e4.disabled = t4.actions[n3] === false; - }; - }(this)); - }, s3.prototype.eachActionButton = function(t4) { - var e4, n3, i2, o3, r3; - for (o3 = this.element.querySelectorAll(a2), r3 = [], n3 = 0, i2 = o3.length; i2 > n3; n3++) - e4 = o3[n3], r3.push(t4(e4, d(e4))); - return r3; - }, s3.prototype.updateAttributes = function(t4) { - return this.attributes = t4, this.refreshAttributeButtons(); - }, s3.prototype.refreshAttributeButtons = function() { - return this.eachAttributeButton(function(t4) { - return function(e4, n3) { - return e4.disabled = t4.attributes[n3] === false, t4.attributes[n3] || t4.dialogIsVisible(n3) ? (e4.setAttribute("data-trix-active", ""), e4.classList.add("trix-active")) : (e4.removeAttribute("data-trix-active"), e4.classList.remove("trix-active")); - }; - }(this)); - }, s3.prototype.eachAttributeButton = function(t4) { - var e4, n3, i2, o3, r3; - for (o3 = this.element.querySelectorAll(c2), r3 = [], n3 = 0, i2 = o3.length; i2 > n3; n3++) - e4 = o3[n3], r3.push(t4(e4, f(e4))); - return r3; - }, s3.prototype.applyKeyboardCommand = function(t4) { - var e4, n3, o3, r3, s4, a3, u2; - for (s4 = JSON.stringify(t4.sort()), u2 = this.element.querySelectorAll("[data-trix-key]"), r3 = 0, a3 = u2.length; a3 > r3; r3++) - if (e4 = u2[r3], o3 = e4.getAttribute("data-trix-key").split("+"), n3 = JSON.stringify(o3.sort()), n3 === s4) - return i("mousedown", { onElement: e4 }), true; - return false; - }, s3.prototype.dialogIsVisible = function(t4) { - var e4; - return (e4 = this.getDialog(t4)) ? e4.hasAttribute("data-trix-active") : void 0; - }, s3.prototype.toggleDialog = function(t4) { - return this.dialogIsVisible(t4) ? this.hideDialog() : this.showDialog(t4); - }, s3.prototype.showDialog = function(t4) { - var e4, n3, i2, o3, r3, s4, a3, u2, c3, l2; - for (this.hideDialog(), (a3 = this.delegate) != null && a3.toolbarWillShowDialog(), i2 = this.getDialog(t4), i2.setAttribute("data-trix-active", ""), i2.classList.add("trix-active"), u2 = i2.querySelectorAll("input[disabled]"), o3 = 0, s4 = u2.length; s4 > o3; o3++) - n3 = u2[o3], n3.removeAttribute("disabled"); - return (e4 = f(i2)) && (r3 = m(i2, t4)) && (r3.value = (c3 = this.attributes[e4]) != null ? c3 : "", r3.select()), (l2 = this.delegate) != null ? l2.toolbarDidShowDialog(t4) : void 0; - }, s3.prototype.setAttribute = function(t4) { - var e4, n3, i2; - return e4 = f(t4), n3 = m(t4, e4), n3.willValidate && !n3.checkValidity() ? (n3.setAttribute("data-trix-validate", ""), n3.classList.add("trix-validate"), n3.focus()) : ((i2 = this.delegate) != null && i2.toolbarDidUpdateAttribute(e4, n3.value), this.hideDialog()); - }, s3.prototype.removeAttribute = function(t4) { - var e4, n3; - return e4 = f(t4), (n3 = this.delegate) != null && n3.toolbarDidRemoveAttribute(e4), this.hideDialog(); - }, s3.prototype.hideDialog = function() { - var t4, e4; - return (t4 = this.element.querySelector(u)) ? (t4.removeAttribute("data-trix-active"), t4.classList.remove("trix-active"), this.resetDialogInputs(), (e4 = this.delegate) != null ? e4.toolbarDidHideDialog(g(t4)) : void 0) : void 0; - }, s3.prototype.resetDialogInputs = function() { - var t4, e4, n3, i2, o3; - for (i2 = this.element.querySelectorAll(h), o3 = [], t4 = 0, n3 = i2.length; n3 > t4; t4++) - e4 = i2[t4], e4.setAttribute("disabled", "disabled"), e4.removeAttribute("data-trix-validate"), o3.push(e4.classList.remove("trix-validate")); - return o3; - }, s3.prototype.getDialog = function(t4) { - return this.element.querySelector("[data-trix-dialog=" + t4 + "]"); - }, m = function(t4, e4) { - return e4 == null && (e4 = f(t4)), t4.querySelector("[data-trix-input][name='" + e4 + "']"); - }, d = function(t4) { - return t4.getAttribute("data-trix-action"); - }, f = function(t4) { - var e4; - return (e4 = t4.getAttribute("data-trix-attribute")) != null ? e4 : t4.getAttribute("data-trix-dialog-attribute"); - }, g = function(t4) { - return t4.getAttribute("data-trix-dialog"); - }, s3; - }(e2.BasicObject); - }.call(this), function() { - var t3 = function(t4, e3) { - function i() { - this.constructor = t4; - } - for (var o2 in e3) - n2.call(e3, o2) && (t4[o2] = e3[o2]); - return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; - }, n2 = {}.hasOwnProperty; - e2.ImagePreloadOperation = function(e3) { - function n3(t4) { - this.url = t4; - } - return t3(n3, e3), n3.prototype.perform = function(t4) { - var e4; - return e4 = new Image(), e4.onload = function(n4) { - return function() { - return e4.width = n4.width = e4.naturalWidth, e4.height = n4.height = e4.naturalHeight, t4(true, e4); - }; - }(this), e4.onerror = function() { - return t4(false); - }, e4.src = this.url; - }, n3; - }(e2.Operation); - }.call(this), function() { - var t3 = function(t4, e3) { - return function() { - return t4.apply(e3, arguments); - }; - }, n2 = function(t4, e3) { - function n3() { - this.constructor = t4; - } - for (var o2 in e3) - i.call(e3, o2) && (t4[o2] = e3[o2]); - return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; - }, i = {}.hasOwnProperty; - e2.Attachment = function(i2) { - function o2(n3) { - n3 == null && (n3 = {}), this.releaseFile = t3(this.releaseFile, this), o2.__super__.constructor.apply(this, arguments), this.attributes = e2.Hash.box(n3), this.didChangeAttributes(); - } - return n2(o2, i2), o2.previewablePattern = /^image(\/(gif|png|jpe?g)|$)/, o2.attachmentForFile = function(t4) { - var e3, n3; - return n3 = this.attributesForFile(t4), e3 = new this(n3), e3.setFile(t4), e3; - }, o2.attributesForFile = function(t4) { - return new e2.Hash({ filename: t4.name, filesize: t4.size, contentType: t4.type }); - }, o2.fromJSON = function(t4) { - return new this(t4); - }, o2.prototype.getAttribute = function(t4) { - return this.attributes.get(t4); - }, o2.prototype.hasAttribute = function(t4) { - return this.attributes.has(t4); - }, o2.prototype.getAttributes = function() { - return this.attributes.toObject(); - }, o2.prototype.setAttributes = function(t4) { - var e3, n3, i3; - return t4 == null && (t4 = {}), e3 = this.attributes.merge(t4), this.attributes.isEqualTo(e3) ? void 0 : (this.attributes = e3, this.didChangeAttributes(), (n3 = this.previewDelegate) != null && typeof n3.attachmentDidChangeAttributes == "function" && n3.attachmentDidChangeAttributes(this), (i3 = this.delegate) != null && typeof i3.attachmentDidChangeAttributes == "function" ? i3.attachmentDidChangeAttributes(this) : void 0); - }, o2.prototype.didChangeAttributes = function() { - return this.isPreviewable() ? this.preloadURL() : void 0; - }, o2.prototype.isPending = function() { - return this.file != null && !(this.getURL() || this.getHref()); - }, o2.prototype.isPreviewable = function() { - return this.attributes.has("previewable") ? this.attributes.get("previewable") : this.constructor.previewablePattern.test(this.getContentType()); - }, o2.prototype.getType = function() { - return this.hasContent() ? "content" : this.isPreviewable() ? "preview" : "file"; - }, o2.prototype.getURL = function() { - return this.attributes.get("url"); - }, o2.prototype.getHref = function() { - return this.attributes.get("href"); - }, o2.prototype.getFilename = function() { - var t4; - return (t4 = this.attributes.get("filename")) != null ? t4 : ""; - }, o2.prototype.getFilesize = function() { - return this.attributes.get("filesize"); - }, o2.prototype.getFormattedFilesize = function() { - var t4; - return t4 = this.attributes.get("filesize"), typeof t4 == "number" ? e2.config.fileSize.formatter(t4) : ""; - }, o2.prototype.getExtension = function() { - var t4; - return (t4 = this.getFilename().match(/\.(\w+)$/)) != null ? t4[1].toLowerCase() : void 0; - }, o2.prototype.getContentType = function() { - return this.attributes.get("contentType"); - }, o2.prototype.hasContent = function() { - return this.attributes.has("content"); - }, o2.prototype.getContent = function() { - return this.attributes.get("content"); - }, o2.prototype.getWidth = function() { - return this.attributes.get("width"); - }, o2.prototype.getHeight = function() { - return this.attributes.get("height"); - }, o2.prototype.getFile = function() { - return this.file; - }, o2.prototype.setFile = function(t4) { - return this.file = t4, this.isPreviewable() ? this.preloadFile() : void 0; - }, o2.prototype.releaseFile = function() { - return this.releasePreloadedFile(), this.file = null; - }, o2.prototype.getUploadProgress = function() { - var t4; - return (t4 = this.uploadProgress) != null ? t4 : 0; - }, o2.prototype.setUploadProgress = function(t4) { - var e3; - return this.uploadProgress !== t4 ? (this.uploadProgress = t4, (e3 = this.uploadProgressDelegate) != null && typeof e3.attachmentDidChangeUploadProgress == "function" ? e3.attachmentDidChangeUploadProgress(this) : void 0) : void 0; - }, o2.prototype.toJSON = function() { - return this.getAttributes(); - }, o2.prototype.getCacheKey = function() { - return [o2.__super__.getCacheKey.apply(this, arguments), this.attributes.getCacheKey(), this.getPreviewURL()].join("/"); - }, o2.prototype.getPreviewURL = function() { - return this.previewURL || this.preloadingURL; - }, o2.prototype.setPreviewURL = function(t4) { - var e3, n3; - return t4 !== this.getPreviewURL() ? (this.previewURL = t4, (e3 = this.previewDelegate) != null && typeof e3.attachmentDidChangeAttributes == "function" && e3.attachmentDidChangeAttributes(this), (n3 = this.delegate) != null && typeof n3.attachmentDidChangePreviewURL == "function" ? n3.attachmentDidChangePreviewURL(this) : void 0) : void 0; - }, o2.prototype.preloadURL = function() { - return this.preload(this.getURL(), this.releaseFile); - }, o2.prototype.preloadFile = function() { - return this.file ? (this.fileObjectURL = URL.createObjectURL(this.file), this.preload(this.fileObjectURL)) : void 0; - }, o2.prototype.releasePreloadedFile = function() { - return this.fileObjectURL ? (URL.revokeObjectURL(this.fileObjectURL), this.fileObjectURL = null) : void 0; - }, o2.prototype.preload = function(t4, n3) { + }()}); + }.call(this), function() { + }.call(this), function() { + var t3, n2 = function(t4, e3) { + function n3() { + this.constructor = t4; + } + for (var o2 in e3) + i.call(e3, o2) && (t4[o2] = e3[o2]); + return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; + }, i = {}.hasOwnProperty; + t3 = e2.arraysAreEqual, e2.Hash = function(i2) { + function o2(t4) { + t4 == null && (t4 = {}), this.values = s2(t4), o2.__super__.constructor.apply(this, arguments); + } + var r2, s2, a2, u, c2; + return n2(o2, i2), o2.fromCommonAttributesOfObjects = function(t4) { + var e3, n3, i3, o3, s3, a3; + if (t4 == null && (t4 = []), !t4.length) + return new this(); + for (e3 = r2(t4[0]), i3 = e3.getKeys(), a3 = t4.slice(1), n3 = 0, o3 = a3.length; o3 > n3; n3++) + s3 = a3[n3], i3 = e3.getKeysCommonToHash(r2(s3)), e3 = e3.slice(i3); + return e3; + }, o2.box = function(t4) { + return r2(t4); + }, o2.prototype.add = function(t4, e3) { + return this.merge(u(t4, e3)); + }, o2.prototype.remove = function(t4) { + return new e2.Hash(s2(this.values, t4)); + }, o2.prototype.get = function(t4) { + return this.values[t4]; + }, o2.prototype.has = function(t4) { + return t4 in this.values; + }, o2.prototype.merge = function(t4) { + return new e2.Hash(a2(this.values, c2(t4))); + }, o2.prototype.slice = function(t4) { + var n3, i3, o3, r3; + for (r3 = {}, n3 = 0, o3 = t4.length; o3 > n3; n3++) + i3 = t4[n3], this.has(i3) && (r3[i3] = this.values[i3]); + return new e2.Hash(r3); + }, o2.prototype.getKeys = function() { + return Object.keys(this.values); + }, o2.prototype.getKeysCommonToHash = function(t4) { + var e3, n3, i3, o3, s3; + for (t4 = r2(t4), o3 = this.getKeys(), s3 = [], e3 = 0, i3 = o3.length; i3 > e3; e3++) + n3 = o3[e3], this.values[n3] === t4.values[n3] && s3.push(n3); + return s3; + }, o2.prototype.isEqualTo = function(e3) { + return t3(this.toArray(), r2(e3).toArray()); + }, o2.prototype.isEmpty = function() { + return this.getKeys().length === 0; + }, o2.prototype.toArray = function() { + var t4, e3, n3; + return (this.array != null ? this.array : this.array = function() { var i3; - return t4 && t4 !== this.getPreviewURL() ? (this.preloadingURL = t4, i3 = new e2.ImagePreloadOperation(t4), i3.then(function(e3) { - return function(i4) { - var o3, r2; - return r2 = i4.width, o3 = i4.height, e3.getWidth() && e3.getHeight() || e3.setAttributes({ width: r2, height: o3 }), e3.preloadingURL = null, e3.setPreviewURL(t4), typeof n3 == "function" ? n3() : void 0; - }; - }(this))["catch"](function(t5) { - return function() { - return t5.preloadingURL = null, typeof n3 == "function" ? n3() : void 0; - }; - }(this))) : void 0; - }, o2; - }(e2.Object); - }.call(this), function() { - var t3 = function(t4, e3) { - function i() { - this.constructor = t4; - } - for (var o2 in e3) - n2.call(e3, o2) && (t4[o2] = e3[o2]); - return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; - }, n2 = {}.hasOwnProperty; - e2.Piece = function(n3) { - function i(t4, n4) { - n4 == null && (n4 = {}), i.__super__.constructor.apply(this, arguments), this.attributes = e2.Hash.box(n4); - } - return t3(i, n3), i.types = {}, i.registerType = function(t4, e3) { - return e3.type = t4, this.types[t4] = e3; - }, i.fromJSON = function(t4) { - var e3; - return (e3 = this.types[t4.type]) ? e3.fromJSON(t4) : void 0; - }, i.prototype.copyWithAttributes = function(t4) { - return new this.constructor(this.getValue(), t4); - }, i.prototype.copyWithAdditionalAttributes = function(t4) { - return this.copyWithAttributes(this.attributes.merge(t4)); - }, i.prototype.copyWithoutAttribute = function(t4) { - return this.copyWithAttributes(this.attributes.remove(t4)); - }, i.prototype.copy = function() { - return this.copyWithAttributes(this.attributes); - }, i.prototype.getAttribute = function(t4) { - return this.attributes.get(t4); - }, i.prototype.getAttributesHash = function() { - return this.attributes; - }, i.prototype.getAttributes = function() { - return this.attributes.toObject(); - }, i.prototype.getCommonAttributes = function() { - var t4, e3, n4; - return (n4 = pieceList.getPieceAtIndex(0)) ? (t4 = n4.attributes, e3 = t4.getKeys(), pieceList.eachPiece(function(n5) { - return e3 = t4.getKeysCommonToHash(n5.attributes), t4 = t4.slice(e3); - }), t4.toObject()) : {}; - }, i.prototype.hasAttribute = function(t4) { - return this.attributes.has(t4); - }, i.prototype.hasSameStringValueAsPiece = function(t4) { - return t4 != null && this.toString() === t4.toString(); - }, i.prototype.hasSameAttributesAsPiece = function(t4) { - return t4 != null && (this.attributes === t4.attributes || this.attributes.isEqualTo(t4.attributes)); - }, i.prototype.isBlockBreak = function() { - return false; - }, i.prototype.isEqualTo = function(t4) { - return i.__super__.isEqualTo.apply(this, arguments) || this.hasSameConstructorAs(t4) && this.hasSameStringValueAsPiece(t4) && this.hasSameAttributesAsPiece(t4); - }, i.prototype.isEmpty = function() { - return this.length === 0; - }, i.prototype.isSerializable = function() { - return true; - }, i.prototype.toJSON = function() { - return { type: this.constructor.type, attributes: this.getAttributes() }; - }, i.prototype.contentsForInspection = function() { - return { type: this.constructor.type, attributes: this.attributes.inspect() }; - }, i.prototype.canBeGrouped = function() { - return this.hasAttribute("href"); - }, i.prototype.canBeGroupedWith = function(t4) { - return this.getAttribute("href") === t4.getAttribute("href"); - }, i.prototype.getLength = function() { - return this.length; - }, i.prototype.canBeConsolidatedWith = function() { - return false; - }, i; - }(e2.Object); - }.call(this), function() { - var t3 = function(t4, e3) { - function i() { - this.constructor = t4; - } - for (var o2 in e3) - n2.call(e3, o2) && (t4[o2] = e3[o2]); - return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; - }, n2 = {}.hasOwnProperty; - e2.Piece.registerType("attachment", e2.AttachmentPiece = function(n3) { - function i(t4) { - this.attachment = t4, i.__super__.constructor.apply(this, arguments), this.length = 1, this.ensureAttachmentExclusivelyHasAttribute("href"), this.attachment.hasContent() || this.removeProhibitedAttributes(); - } - return t3(i, n3), i.fromJSON = function(t4) { - return new this(e2.Attachment.fromJSON(t4.attachment), t4.attributes); - }, i.permittedAttributes = ["caption", "presentation"], i.prototype.ensureAttachmentExclusivelyHasAttribute = function(t4) { - return this.hasAttribute(t4) ? (this.attachment.hasAttribute(t4) || this.attachment.setAttributes(this.attributes.slice(t4)), this.attributes = this.attributes.remove(t4)) : void 0; - }, i.prototype.removeProhibitedAttributes = function() { - var t4; - return t4 = this.attributes.slice(this.constructor.permittedAttributes), t4.isEqualTo(this.attributes) ? void 0 : this.attributes = t4; - }, i.prototype.getValue = function() { - return this.attachment; - }, i.prototype.isSerializable = function() { - return !this.attachment.isPending(); - }, i.prototype.getCaption = function() { - var t4; - return (t4 = this.attributes.get("caption")) != null ? t4 : ""; - }, i.prototype.isEqualTo = function(t4) { - var e3; - return i.__super__.isEqualTo.apply(this, arguments) && this.attachment.id === (t4 != null && (e3 = t4.attachment) != null ? e3.id : void 0); - }, i.prototype.toString = function() { - return e2.OBJECT_REPLACEMENT_CHARACTER; - }, i.prototype.toJSON = function() { - var t4; - return t4 = i.__super__.toJSON.apply(this, arguments), t4.attachment = this.attachment, t4; - }, i.prototype.getCacheKey = function() { - return [i.__super__.getCacheKey.apply(this, arguments), this.attachment.getCacheKey()].join("/"); - }, i.prototype.toConsole = function() { - return JSON.stringify(this.toString()); - }, i; - }(e2.Piece)); - }.call(this), function() { - var t3, n2 = function(t4, e3) { - function n3() { - this.constructor = t4; - } - for (var o2 in e3) - i.call(e3, o2) && (t4[o2] = e3[o2]); - return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; - }, i = {}.hasOwnProperty; - t3 = e2.normalizeNewlines, e2.Piece.registerType("string", e2.StringPiece = function(e3) { - function i2(e4) { - i2.__super__.constructor.apply(this, arguments), this.string = t3(e4), this.length = this.string.length; - } - return n2(i2, e3), i2.fromJSON = function(t4) { - return new this(t4.string, t4.attributes); - }, i2.prototype.getValue = function() { - return this.string; - }, i2.prototype.toString = function() { - return this.string.toString(); - }, i2.prototype.isBlockBreak = function() { - return this.toString() === "\n" && this.getAttribute("blockBreak") === true; - }, i2.prototype.toJSON = function() { - var t4; - return t4 = i2.__super__.toJSON.apply(this, arguments), t4.string = this.string, t4; - }, i2.prototype.canBeConsolidatedWith = function(t4) { - return t4 != null && this.hasSameConstructorAs(t4) && this.hasSameAttributesAsPiece(t4); - }, i2.prototype.consolidateWith = function(t4) { - return new this.constructor(this.toString() + t4.toString(), this.attributes); - }, i2.prototype.splitAtOffset = function(t4) { - var e4, n3; - return t4 === 0 ? (e4 = null, n3 = this) : t4 === this.length ? (e4 = this, n3 = null) : (e4 = new this.constructor(this.string.slice(0, t4), this.attributes), n3 = new this.constructor(this.string.slice(t4), this.attributes)), [e4, n3]; - }, i2.prototype.toConsole = function() { - var t4; - return t4 = this.string, t4.length > 15 && (t4 = t4.slice(0, 14) + "\u2026"), JSON.stringify(t4.toString()); - }, i2; - }(e2.Piece)); - }.call(this), function() { - var t3, n2 = function(t4, e3) { - function n3() { - this.constructor = t4; - } - for (var o3 in e3) - i.call(e3, o3) && (t4[o3] = e3[o3]); - return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; - }, i = {}.hasOwnProperty, o2 = [].slice; - t3 = e2.spliceArray, e2.SplittableList = function(e3) { - function i2(t4) { - t4 == null && (t4 = []), i2.__super__.constructor.apply(this, arguments), this.objects = t4.slice(0), this.length = this.objects.length; - } - var r2, s2, a2; - return n2(i2, e3), i2.box = function(t4) { - return t4 instanceof this ? t4 : new this(t4); - }, i2.prototype.indexOf = function(t4) { - return this.objects.indexOf(t4); - }, i2.prototype.splice = function() { - var e4; - return e4 = 1 <= arguments.length ? o2.call(arguments, 0) : [], new this.constructor(t3.apply(null, [this.objects].concat(o2.call(e4)))); - }, i2.prototype.eachObject = function(t4) { - var e4, n3, i3, o3, r3, s3; - for (r3 = this.objects, s3 = [], n3 = e4 = 0, i3 = r3.length; i3 > e4; n3 = ++e4) - o3 = r3[n3], s3.push(t4(o3, n3)); - return s3; - }, i2.prototype.insertObjectAtIndex = function(t4, e4) { - return this.splice(e4, 0, t4); - }, i2.prototype.insertSplittableListAtIndex = function(t4, e4) { - return this.splice.apply(this, [e4, 0].concat(o2.call(t4.objects))); - }, i2.prototype.insertSplittableListAtPosition = function(t4, e4) { - var n3, i3, o3; - return o3 = this.splitObjectAtPosition(e4), i3 = o3[0], n3 = o3[1], new this.constructor(i3).insertSplittableListAtIndex(t4, n3); - }, i2.prototype.editObjectAtIndex = function(t4, e4) { - return this.replaceObjectAtIndex(e4(this.objects[t4]), t4); - }, i2.prototype.replaceObjectAtIndex = function(t4, e4) { - return this.splice(e4, 1, t4); - }, i2.prototype.removeObjectAtIndex = function(t4) { - return this.splice(t4, 1); - }, i2.prototype.getObjectAtIndex = function(t4) { - return this.objects[t4]; - }, i2.prototype.getSplittableListInRange = function(t4) { - var e4, n3, i3, o3; - return i3 = this.splitObjectsAtRange(t4), n3 = i3[0], e4 = i3[1], o3 = i3[2], new this.constructor(n3.slice(e4, o3 + 1)); - }, i2.prototype.selectSplittableList = function(t4) { - var e4, n3; - return n3 = function() { - var n4, i3, o3, r3; - for (o3 = this.objects, r3 = [], n4 = 0, i3 = o3.length; i3 > n4; n4++) - e4 = o3[n4], t4(e4) && r3.push(e4); - return r3; - }.call(this), new this.constructor(n3); - }, i2.prototype.removeObjectsInRange = function(t4) { - var e4, n3, i3, o3; - return i3 = this.splitObjectsAtRange(t4), n3 = i3[0], e4 = i3[1], o3 = i3[2], new this.constructor(n3).splice(e4, o3 - e4 + 1); - }, i2.prototype.transformObjectsInRange = function(t4, e4) { - var n3, i3, o3, r3, s3, a3, u; - return s3 = this.splitObjectsAtRange(t4), r3 = s3[0], i3 = s3[1], a3 = s3[2], u = function() { - var t5, s4, u2; - for (u2 = [], n3 = t5 = 0, s4 = r3.length; s4 > t5; n3 = ++t5) - o3 = r3[n3], u2.push(n3 >= i3 && a3 >= n3 ? e4(o3) : o3); - return u2; - }(), new this.constructor(u); - }, i2.prototype.splitObjectsAtRange = function(t4) { - var e4, n3, i3, o3, s3, u; - return o3 = this.splitObjectAtPosition(a2(t4)), n3 = o3[0], e4 = o3[1], i3 = o3[2], s3 = new this.constructor(n3).splitObjectAtPosition(r2(t4) + i3), n3 = s3[0], u = s3[1], [n3, e4, u - 1]; - }, i2.prototype.getObjectAtPosition = function(t4) { - var e4, n3, i3; - return i3 = this.findIndexAndOffsetAtPosition(t4), e4 = i3.index, n3 = i3.offset, this.objects[e4]; - }, i2.prototype.splitObjectAtPosition = function(t4) { - var e4, n3, i3, o3, r3, s3, a3, u, c2, l; - return s3 = this.findIndexAndOffsetAtPosition(t4), e4 = s3.index, r3 = s3.offset, o3 = this.objects.slice(0), e4 != null ? r3 === 0 ? (c2 = e4, l = 0) : (i3 = this.getObjectAtIndex(e4), a3 = i3.splitAtOffset(r3), n3 = a3[0], u = a3[1], o3.splice(e4, 1, n3, u), c2 = e4 + 1, l = n3.getLength() - r3) : (c2 = o3.length, l = 0), [o3, c2, l]; - }, i2.prototype.consolidate = function() { - var t4, e4, n3, i3, o3, r3; - for (i3 = [], o3 = this.objects[0], r3 = this.objects.slice(1), t4 = 0, e4 = r3.length; e4 > t4; t4++) - n3 = r3[t4], (typeof o3.canBeConsolidatedWith == "function" ? o3.canBeConsolidatedWith(n3) : void 0) ? o3 = o3.consolidateWith(n3) : (i3.push(o3), o3 = n3); - return o3 != null && i3.push(o3), new this.constructor(i3); - }, i2.prototype.consolidateFromIndexToIndex = function(t4, e4) { - var n3, i3, r3; - return i3 = this.objects.slice(0), r3 = i3.slice(t4, e4 + 1), n3 = new this.constructor(r3).consolidate().toArray(), this.splice.apply(this, [t4, r3.length].concat(o2.call(n3))); - }, i2.prototype.findIndexAndOffsetAtPosition = function(t4) { - var e4, n3, i3, o3, r3, s3, a3; - for (e4 = 0, a3 = this.objects, i3 = n3 = 0, o3 = a3.length; o3 > n3; i3 = ++n3) { - if (s3 = a3[i3], r3 = e4 + s3.getLength(), t4 >= e4 && r3 > t4) - return { index: i3, offset: t4 - e4 }; - e4 = r3; - } - return { index: null, offset: null }; - }, i2.prototype.findPositionAtIndexAndOffset = function(t4, e4) { - var n3, i3, o3, r3, s3, a3; - for (s3 = 0, a3 = this.objects, n3 = i3 = 0, o3 = a3.length; o3 > i3; n3 = ++i3) - if (r3 = a3[n3], t4 > n3) - s3 += r3.getLength(); - else if (n3 === t4) { - s3 += e4; - break; + e3 = [], i3 = this.values; + for (t4 in i3) + n3 = i3[t4], e3.push(t4, n3); + return e3; + }.call(this)).slice(0); + }, o2.prototype.toObject = function() { + return s2(this.values); + }, o2.prototype.toJSON = function() { + return this.toObject(); + }, o2.prototype.contentsForInspection = function() { + return {values: JSON.stringify(this.values)}; + }, u = function(t4, e3) { + var n3; + return n3 = {}, n3[t4] = e3, n3; + }, a2 = function(t4, e3) { + var n3, i3, o3; + i3 = s2(t4); + for (n3 in e3) + o3 = e3[n3], i3[n3] = o3; + return i3; + }, s2 = function(t4, e3) { + var n3, i3, o3, r3, s3; + for (r3 = {}, s3 = Object.keys(t4).sort(), n3 = 0, o3 = s3.length; o3 > n3; n3++) + i3 = s3[n3], i3 !== e3 && (r3[i3] = t4[i3]); + return r3; + }, r2 = function(t4) { + return t4 instanceof e2.Hash ? t4 : new e2.Hash(t4); + }, c2 = function(t4) { + return t4 instanceof e2.Hash ? t4.values : t4; + }, o2; + }(e2.Object); + }.call(this), function() { + e2.ObjectGroup = function() { + function t3(t4, e3) { + var n2, i; + this.objects = t4 != null ? t4 : [], i = e3.depth, n2 = e3.asTree, n2 && (this.depth = i, this.objects = this.constructor.groupObjects(this.objects, {asTree: n2, depth: this.depth + 1})); + } + return t3.groupObjects = function(t4, e3) { + var n2, i, o2, r2, s2, a2, u, c2, l; + for (t4 == null && (t4 = []), l = e3 != null ? e3 : {}, o2 = l.depth, n2 = l.asTree, n2 && o2 == null && (o2 = 0), c2 = [], s2 = 0, a2 = t4.length; a2 > s2; s2++) { + if (u = t4[s2], r2) { + if ((typeof u.canBeGrouped == "function" ? u.canBeGrouped(o2) : void 0) && (typeof (i = r2[r2.length - 1]).canBeGroupedWith == "function" ? i.canBeGroupedWith(u, o2) : void 0)) { + r2.push(u); + continue; } - return s3; - }, i2.prototype.getEndPosition = function() { - var t4, e4; - return this.endPosition != null ? this.endPosition : this.endPosition = function() { - var n3, i3, o3; - for (e4 = 0, o3 = this.objects, n3 = 0, i3 = o3.length; i3 > n3; n3++) - t4 = o3[n3], e4 += t4.getLength(); - return e4; - }.call(this); - }, i2.prototype.toString = function() { - return this.objects.join(""); - }, i2.prototype.toArray = function() { - return this.objects.slice(0); - }, i2.prototype.toJSON = function() { - return this.toArray(); - }, i2.prototype.isEqualTo = function(t4) { - return i2.__super__.isEqualTo.apply(this, arguments) || s2(this.objects, t4 != null ? t4.objects : void 0); - }, s2 = function(t4, e4) { - var n3, i3, o3, r3, s3; - if (e4 == null && (e4 = []), t4.length !== e4.length) - return false; - for (s3 = true, i3 = n3 = 0, o3 = t4.length; o3 > n3; i3 = ++n3) - r3 = t4[i3], s3 && !r3.isEqualTo(e4[i3]) && (s3 = false); - return s3; - }, i2.prototype.contentsForInspection = function() { - var t4; - return { objects: "[" + function() { - var e4, n3, i3, o3; - for (i3 = this.objects, o3 = [], e4 = 0, n3 = i3.length; n3 > e4; e4++) - t4 = i3[e4], o3.push(t4.inspect()); + c2.push(new this(r2, {depth: o2, asTree: n2})), r2 = null; + } + (typeof u.canBeGrouped == "function" ? u.canBeGrouped(o2) : void 0) ? r2 = [u] : c2.push(u); + } + return r2 && c2.push(new this(r2, {depth: o2, asTree: n2})), c2; + }, t3.prototype.getObjects = function() { + return this.objects; + }, t3.prototype.getDepth = function() { + return this.depth; + }, t3.prototype.getCacheKey = function() { + var t4, e3, n2, i, o2; + for (e3 = ["objectGroup"], o2 = this.getObjects(), t4 = 0, n2 = o2.length; n2 > t4; t4++) + i = o2[t4], e3.push(i.getCacheKey()); + return e3.join("/"); + }, t3; + }(); + }.call(this), function() { + var t3 = function(t4, e3) { + function i() { + this.constructor = t4; + } + for (var o2 in e3) + n2.call(e3, o2) && (t4[o2] = e3[o2]); + return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; + }, n2 = {}.hasOwnProperty; + e2.ObjectMap = function(e3) { + function n3(t4) { + var e4, n4, i, o2, r2; + for (t4 == null && (t4 = []), this.objects = {}, i = 0, o2 = t4.length; o2 > i; i++) + r2 = t4[i], n4 = JSON.stringify(r2), (e4 = this.objects)[n4] == null && (e4[n4] = r2); + } + return t3(n3, e3), n3.prototype.find = function(t4) { + var e4; + return e4 = JSON.stringify(t4), this.objects[e4]; + }, n3; + }(e2.BasicObject); + }.call(this), function() { + e2.ElementStore = function() { + function t3(t4) { + this.reset(t4); + } + var e3; + return t3.prototype.add = function(t4) { + var n2; + return n2 = e3(t4), this.elements[n2] = t4; + }, t3.prototype.remove = function(t4) { + var n2, i; + return n2 = e3(t4), (i = this.elements[n2]) ? (delete this.elements[n2], i) : void 0; + }, t3.prototype.reset = function(t4) { + var e4, n2, i; + for (t4 == null && (t4 = []), this.elements = {}, n2 = 0, i = t4.length; i > n2; n2++) + e4 = t4[n2], this.add(e4); + return t4; + }, e3 = function(t4) { + return t4.dataset.trixStoreKey; + }, t3; + }(); + }.call(this), function() { + }.call(this), function() { + var t3 = function(t4, e3) { + function i() { + this.constructor = t4; + } + for (var o2 in e3) + n2.call(e3, o2) && (t4[o2] = e3[o2]); + return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; + }, n2 = {}.hasOwnProperty; + e2.Operation = function(e3) { + function n3() { + return n3.__super__.constructor.apply(this, arguments); + } + return t3(n3, e3), n3.prototype.isPerforming = function() { + return this.performing === true; + }, n3.prototype.hasPerformed = function() { + return this.performed === true; + }, n3.prototype.hasSucceeded = function() { + return this.performed && this.succeeded; + }, n3.prototype.hasFailed = function() { + return this.performed && !this.succeeded; + }, n3.prototype.getPromise = function() { + return this.promise != null ? this.promise : this.promise = new Promise(function(t4) { + return function(e4, n4) { + return t4.performing = true, t4.perform(function(i, o2) { + return t4.succeeded = i, t4.performing = false, t4.performed = true, t4.succeeded ? e4(o2) : n4(o2); + }); + }; + }(this)); + }, n3.prototype.perform = function(t4) { + return t4(false); + }, n3.prototype.release = function() { + var t4; + return (t4 = this.promise) != null && typeof t4.cancel == "function" && t4.cancel(), this.promise = null, this.performing = null, this.performed = null, this.succeeded = null; + }, n3.proxyMethod("getPromise().then"), n3.proxyMethod("getPromise().catch"), n3; + }(e2.BasicObject); + }.call(this), function() { + var t3, n2, i, o2, r2, s2 = function(t4, e3) { + function n3() { + this.constructor = t4; + } + for (var i2 in e3) + a2.call(e3, i2) && (t4[i2] = e3[i2]); + return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; + }, a2 = {}.hasOwnProperty; + e2.UTF16String = function(t4) { + function e3(t5, e4) { + this.ucs2String = t5, this.codepoints = e4, this.length = this.codepoints.length, this.ucs2Length = this.ucs2String.length; + } + return s2(e3, t4), e3.box = function(t5) { + return t5 == null && (t5 = ""), t5 instanceof this ? t5 : this.fromUCS2String(t5 != null ? t5.toString() : void 0); + }, e3.fromUCS2String = function(t5) { + return new this(t5, o2(t5)); + }, e3.fromCodepoints = function(t5) { + return new this(r2(t5), t5); + }, e3.prototype.offsetToUCS2Offset = function(t5) { + return r2(this.codepoints.slice(0, Math.max(0, t5))).length; + }, e3.prototype.offsetFromUCS2Offset = function(t5) { + return o2(this.ucs2String.slice(0, Math.max(0, t5))).length; + }, e3.prototype.slice = function() { + var t5; + return this.constructor.fromCodepoints((t5 = this.codepoints).slice.apply(t5, arguments)); + }, e3.prototype.charAt = function(t5) { + return this.slice(t5, t5 + 1); + }, e3.prototype.isEqualTo = function(t5) { + return this.constructor.box(t5).ucs2String === this.ucs2String; + }, e3.prototype.toJSON = function() { + return this.ucs2String; + }, e3.prototype.getCacheKey = function() { + return this.ucs2String; + }, e3.prototype.toString = function() { + return this.ucs2String; + }, e3; + }(e2.BasicObject), t3 = (typeof Array.from == "function" ? Array.from("\u{1F47C}").length : void 0) === 1, n2 = (typeof " ".codePointAt == "function" ? " ".codePointAt(0) : void 0) != null, i = (typeof String.fromCodePoint == "function" ? String.fromCodePoint(32, 128124) : void 0) === " \u{1F47C}", o2 = t3 && n2 ? function(t4) { + return Array.from(t4).map(function(t5) { + return t5.codePointAt(0); + }); + } : function(t4) { + var e3, n3, i2, o3, r3; + for (o3 = [], e3 = 0, i2 = t4.length; i2 > e3; ) + r3 = t4.charCodeAt(e3++), r3 >= 55296 && 56319 >= r3 && i2 > e3 && (n3 = t4.charCodeAt(e3++), (64512 & n3) === 56320 ? r3 = ((1023 & r3) << 10) + (1023 & n3) + 65536 : e3--), o3.push(r3); + return o3; + }, r2 = i ? function(t4) { + return String.fromCodePoint.apply(String, t4); + } : function(t4) { + var e3, n3, i2; + return e3 = function() { + var e4, o3, r3; + for (r3 = [], e4 = 0, o3 = t4.length; o3 > e4; e4++) + i2 = t4[e4], n3 = "", i2 > 65535 && (i2 -= 65536, n3 += String.fromCharCode(i2 >>> 10 & 1023 | 55296), i2 = 56320 | 1023 & i2), r3.push(n3 + String.fromCharCode(i2)); + return r3; + }(), e3.join(""); + }; + }.call(this), function() { + }.call(this), function() { + }.call(this), function() { + e2.config.lang = {attachFiles: "Attach Files", bold: "Bold", bullets: "Bullets", byte: "Byte", bytes: "Bytes", captionPlaceholder: "Add a caption\u2026", code: "Code", heading1: "Heading", indent: "Increase Level", italic: "Italic", link: "Link", numbers: "Numbers", outdent: "Decrease Level", quote: "Quote", redo: "Redo", remove: "Remove", strike: "Strikethrough", undo: "Undo", unlink: "Unlink", url: "URL", urlPlaceholder: "Enter a URL\u2026", GB: "GB", KB: "KB", MB: "MB", PB: "PB", TB: "TB"}; + }.call(this), function() { + e2.config.css = {attachment: "attachment", attachmentCaption: "attachment__caption", attachmentCaptionEditor: "attachment__caption-editor", attachmentMetadata: "attachment__metadata", attachmentMetadataContainer: "attachment__metadata-container", attachmentName: "attachment__name", attachmentProgress: "attachment__progress", attachmentSize: "attachment__size", attachmentToolbar: "attachment__toolbar", attachmentGallery: "attachment-gallery"}; + }.call(this), function() { + var t3; + e2.config.blockAttributes = t3 = {default: {tagName: "div", parse: false}, quote: {tagName: "blockquote", nestable: true}, heading1: {tagName: "h1", terminal: true, breakOnReturn: true, group: false}, code: {tagName: "pre", terminal: true, text: {plaintext: true}}, bulletList: {tagName: "ul", parse: false}, bullet: {tagName: "li", listAttribute: "bulletList", group: false, nestable: true, test: function(n2) { + return e2.tagName(n2.parentNode) === t3[this.listAttribute].tagName; + }}, numberList: {tagName: "ol", parse: false}, number: {tagName: "li", listAttribute: "numberList", group: false, nestable: true, test: function(n2) { + return e2.tagName(n2.parentNode) === t3[this.listAttribute].tagName; + }}, attachmentGallery: {tagName: "div", exclusive: true, terminal: true, parse: false, group: false}}; + }.call(this), function() { + var t3, n2; + t3 = e2.config.lang, n2 = [t3.bytes, t3.KB, t3.MB, t3.GB, t3.TB, t3.PB], e2.config.fileSize = {prefix: "IEC", precision: 2, formatter: function(e3) { + var i, o2, r2, s2, a2; + switch (e3) { + case 0: + return "0 " + t3.bytes; + case 1: + return "1 " + t3.byte; + default: + return i = function() { + switch (this.prefix) { + case "SI": + return 1e3; + case "IEC": + return 1024; + } + }.call(this), o2 = Math.floor(Math.log(e3) / Math.log(i)), r2 = e3 / Math.pow(i, o2), s2 = r2.toFixed(this.precision), a2 = s2.replace(/0*$/, "").replace(/\.$/, ""), a2 + " " + n2[o2]; + } + }}; + }.call(this), function() { + e2.config.textAttributes = {bold: {tagName: "strong", inheritable: true, parser: function(t3) { + var e3; + return e3 = window.getComputedStyle(t3), e3.fontWeight === "bold" || e3.fontWeight >= 600; + }}, italic: {tagName: "em", inheritable: true, parser: function(t3) { + var e3; + return e3 = window.getComputedStyle(t3), e3.fontStyle === "italic"; + }}, href: {groupTagName: "a", parser: function(t3) { + var n2, i, o2; + return n2 = e2.AttachmentView.attachmentSelector, o2 = "a:not(" + n2 + ")", (i = e2.findClosestElementFromNode(t3, {matchingSelector: o2})) ? i.getAttribute("href") : void 0; + }}, strike: {tagName: "del", inheritable: true}, frozen: {style: {backgroundColor: "highlight"}}}; + }.call(this), function() { + var t3, n2, i, o2, r2; + r2 = "[data-trix-serialize=false]", o2 = ["contenteditable", "data-trix-id", "data-trix-store-key", "data-trix-mutable", "data-trix-placeholder", "tabindex"], n2 = "data-trix-serialized-attributes", i = "[" + n2 + "]", t3 = new RegExp("", "g"), e2.extend({serializers: {"application/json": function(t4) { + var n3; + if (t4 instanceof e2.Document) + n3 = t4; + else { + if (!(t4 instanceof HTMLElement)) + throw new Error("unserializable object"); + n3 = e2.Document.fromHTML(t4.innerHTML); + } + return n3.toSerializableDocument().toJSONString(); + }, "text/html": function(s2) { + var a2, u, c2, l, h, p2, d, f, g, m, v, y, b, A, C3, x, w; + if (s2 instanceof e2.Document) + l = e2.DocumentView.render(s2); + else { + if (!(s2 instanceof HTMLElement)) + throw new Error("unserializable object"); + l = s2.cloneNode(true); + } + for (A = l.querySelectorAll(r2), h = 0, g = A.length; g > h; h++) + c2 = A[h], e2.removeNode(c2); + for (p2 = 0, m = o2.length; m > p2; p2++) + for (a2 = o2[p2], C3 = l.querySelectorAll("[" + a2 + "]"), d = 0, v = C3.length; v > d; d++) + c2 = C3[d], c2.removeAttribute(a2); + for (x = l.querySelectorAll(i), f = 0, y = x.length; y > f; f++) { + c2 = x[f]; + try { + u = JSON.parse(c2.getAttribute(n2)), c2.removeAttribute(n2); + for (b in u) + w = u[b], c2.setAttribute(b, w); + } catch (E) { + } + } + return l.innerHTML.replace(t3, ""); + }}, deserializers: {"application/json": function(t4) { + return e2.Document.fromJSONString(t4); + }, "text/html": function(t4) { + return e2.Document.fromHTML(t4); + }}, serializeToContentType: function(t4, n3) { + var i2; + if (i2 = e2.serializers[n3]) + return i2(t4); + throw new Error("unknown content type: " + n3); + }, deserializeFromContentType: function(t4, n3) { + var i2; + if (i2 = e2.deserializers[n3]) + return i2(t4); + throw new Error("unknown content type: " + n3); + }}); + }.call(this), function() { + var t3; + t3 = e2.config.lang, e2.config.toolbar = {getDefaultHTML: function() { + return '
\n \n \n \n \n \n \n\n \n \n \n \n \n \n \n \n \n\n \n \n \n\n \n\n \n \n \n \n
\n\n
\n \n
'; + }}; + }.call(this), function() { + e2.config.undoInterval = 5e3; + }.call(this), function() { + e2.config.attachments = {preview: {presentation: "gallery", caption: {name: true, size: true}}, file: {caption: {size: true}}}; + }.call(this), function() { + e2.config.keyNames = {8: "backspace", 9: "tab", 13: "return", 27: "escape", 37: "left", 39: "right", 46: "delete", 68: "d", 72: "h", 79: "o"}; + }.call(this), function() { + e2.config.input = {level2Enabled: true, getLevel: function() { + return this.level2Enabled && e2.browser.supportsInputEvents ? 2 : 0; + }, pickFiles: function(t3) { + var n2; + return n2 = e2.makeElement("input", {type: "file", multiple: true, hidden: true, id: this.fileInputId}), n2.addEventListener("change", function() { + return t3(n2.files), e2.removeNode(n2); + }), e2.removeNode(document.getElementById(this.fileInputId)), document.body.appendChild(n2), n2.click(); + }, fileInputId: "trix-file-input-" + Date.now().toString(16)}; + }.call(this), function() { + }.call(this), function() { + e2.registerElement("trix-toolbar", {defaultCSS: "%t {\n display: block;\n}\n\n%t {\n white-space: nowrap;\n}\n\n%t [data-trix-dialog] {\n display: none;\n}\n\n%t [data-trix-dialog][data-trix-active] {\n display: block;\n}\n\n%t [data-trix-dialog] [data-trix-validate]:invalid {\n background-color: #ffdddd;\n}", initialize: function() { + return this.innerHTML === "" ? this.innerHTML = e2.config.toolbar.getDefaultHTML() : void 0; + }}); + }.call(this), function() { + var t3 = function(t4, e3) { + function i2() { + this.constructor = t4; + } + for (var o2 in e3) + n2.call(e3, o2) && (t4[o2] = e3[o2]); + return i2.prototype = e3.prototype, t4.prototype = new i2(), t4.__super__ = e3.prototype, t4; + }, n2 = {}.hasOwnProperty, i = [].indexOf || function(t4) { + for (var e3 = 0, n3 = this.length; n3 > e3; e3++) + if (e3 in this && this[e3] === t4) + return e3; + return -1; + }; + e2.ObjectView = function(n3) { + function o2(t4, e3) { + this.object = t4, this.options = e3 != null ? e3 : {}, this.childViews = [], this.rootView = this; + } + return t3(o2, n3), o2.prototype.getNodes = function() { + var t4, e3, n4, i2, o3; + for (this.nodes == null && (this.nodes = this.createNodes()), i2 = this.nodes, o3 = [], t4 = 0, e3 = i2.length; e3 > t4; t4++) + n4 = i2[t4], o3.push(n4.cloneNode(true)); + return o3; + }, o2.prototype.invalidate = function() { + var t4; + return this.nodes = null, this.childViews = [], (t4 = this.parentView) != null ? t4.invalidate() : void 0; + }, o2.prototype.invalidateViewForObject = function(t4) { + var e3; + return (e3 = this.findViewForObject(t4)) != null ? e3.invalidate() : void 0; + }, o2.prototype.findOrCreateCachedChildView = function(t4, e3) { + var n4; + return (n4 = this.getCachedViewForObject(e3)) ? this.recordChildView(n4) : (n4 = this.createChildView.apply(this, arguments), this.cacheViewForObject(n4, e3)), n4; + }, o2.prototype.createChildView = function(t4, n4, i2) { + var o3; + return i2 == null && (i2 = {}), n4 instanceof e2.ObjectGroup && (i2.viewClass = t4, t4 = e2.ObjectGroupView), o3 = new t4(n4, i2), this.recordChildView(o3); + }, o2.prototype.recordChildView = function(t4) { + return t4.parentView = this, t4.rootView = this.rootView, this.childViews.push(t4), t4; + }, o2.prototype.getAllChildViews = function() { + var t4, e3, n4, i2, o3; + for (o3 = [], i2 = this.childViews, e3 = 0, n4 = i2.length; n4 > e3; e3++) + t4 = i2[e3], o3.push(t4), o3 = o3.concat(t4.getAllChildViews()); + return o3; + }, o2.prototype.findElement = function() { + return this.findElementForObject(this.object); + }, o2.prototype.findElementForObject = function(t4) { + var e3; + return (e3 = t4 != null ? t4.id : void 0) ? this.rootView.element.querySelector("[data-trix-id='" + e3 + "']") : void 0; + }, o2.prototype.findViewForObject = function(t4) { + var e3, n4, i2, o3; + for (i2 = this.getAllChildViews(), e3 = 0, n4 = i2.length; n4 > e3; e3++) + if (o3 = i2[e3], o3.object === t4) return o3; - }.call(this).join(", ") + "]" }; - }, a2 = function(t4) { - return t4[0]; - }, r2 = function(t4) { - return t4[1]; - }, i2; - }(e2.Object); - }.call(this), function() { - var t3 = function(t4, e3) { - function i() { - this.constructor = t4; - } - for (var o2 in e3) - n2.call(e3, o2) && (t4[o2] = e3[o2]); - return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; - }, n2 = {}.hasOwnProperty; - e2.Text = function(n3) { - function i(t4) { - var n4; - t4 == null && (t4 = []), i.__super__.constructor.apply(this, arguments), this.pieceList = new e2.SplittableList(function() { - var e3, i2, o2; - for (o2 = [], e3 = 0, i2 = t4.length; i2 > e3; e3++) - n4 = t4[e3], n4.isEmpty() || o2.push(n4); - return o2; - }()); - } - return t3(i, n3), i.textForAttachmentWithAttributes = function(t4, n4) { - var i2; - return i2 = new e2.AttachmentPiece(t4, n4), new this([i2]); - }, i.textForStringWithAttributes = function(t4, n4) { - var i2; - return i2 = new e2.StringPiece(t4, n4), new this([i2]); - }, i.fromJSON = function(t4) { - var n4, i2; - return i2 = function() { - var i3, o2, r2; - for (r2 = [], i3 = 0, o2 = t4.length; o2 > i3; i3++) - n4 = t4[i3], r2.push(e2.Piece.fromJSON(n4)); - return r2; - }(), new this(i2); - }, i.prototype.copy = function() { - return this.copyWithPieceList(this.pieceList); - }, i.prototype.copyWithPieceList = function(t4) { - return new this.constructor(t4.consolidate().toArray()); - }, i.prototype.copyUsingObjectMap = function(t4) { - var e3, n4; - return n4 = function() { - var n5, i2, o2, r2, s2; - for (o2 = this.getPieces(), s2 = [], n5 = 0, i2 = o2.length; i2 > n5; n5++) - e3 = o2[n5], s2.push((r2 = t4.find(e3)) != null ? r2 : e3); - return s2; - }.call(this), new this.constructor(n4); - }, i.prototype.appendText = function(t4) { - return this.insertTextAtPosition(t4, this.getLength()); - }, i.prototype.insertTextAtPosition = function(t4, e3) { - return this.copyWithPieceList(this.pieceList.insertSplittableListAtPosition(t4.pieceList, e3)); - }, i.prototype.removeTextAtRange = function(t4) { - return this.copyWithPieceList(this.pieceList.removeObjectsInRange(t4)); - }, i.prototype.replaceTextAtRange = function(t4, e3) { - return this.removeTextAtRange(e3).insertTextAtPosition(t4, e3[0]); - }, i.prototype.moveTextFromRangeToPosition = function(t4, e3) { - var n4, i2; - if (!(t4[0] <= e3 && e3 <= t4[1])) - return i2 = this.getTextAtRange(t4), n4 = i2.getLength(), t4[0] < e3 && (e3 -= n4), this.removeTextAtRange(t4).insertTextAtPosition(i2, e3); - }, i.prototype.addAttributeAtRange = function(t4, e3, n4) { - var i2; - return i2 = {}, i2[t4] = e3, this.addAttributesAtRange(i2, n4); - }, i.prototype.addAttributesAtRange = function(t4, e3) { - return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e3, function(e4) { - return e4.copyWithAdditionalAttributes(t4); - })); - }, i.prototype.removeAttributeAtRange = function(t4, e3) { - return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e3, function(e4) { - return e4.copyWithoutAttribute(t4); - })); - }, i.prototype.setAttributesAtRange = function(t4, e3) { - return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e3, function(e4) { - return e4.copyWithAttributes(t4); - })); - }, i.prototype.getAttributesAtPosition = function(t4) { - var e3, n4; - return (e3 = (n4 = this.pieceList.getObjectAtPosition(t4)) != null ? n4.getAttributes() : void 0) != null ? e3 : {}; - }, i.prototype.getCommonAttributes = function() { - var t4, n4; - return t4 = function() { - var t5, e3, i2, o2; - for (i2 = this.pieceList.toArray(), o2 = [], t5 = 0, e3 = i2.length; e3 > t5; t5++) - n4 = i2[t5], o2.push(n4.getAttributes()); - return o2; - }.call(this), e2.Hash.fromCommonAttributesOfObjects(t4).toObject(); - }, i.prototype.getCommonAttributesAtRange = function(t4) { - var e3; - return (e3 = this.getTextAtRange(t4).getCommonAttributes()) != null ? e3 : {}; - }, i.prototype.getExpandedRangeForAttributeAtOffset = function(t4, e3) { - var n4, i2, o2; - for (n4 = o2 = e3, i2 = this.getLength(); n4 > 0 && this.getCommonAttributesAtRange([n4 - 1, o2])[t4]; ) - n4--; - for (; i2 > o2 && this.getCommonAttributesAtRange([e3, o2 + 1])[t4]; ) - o2++; - return [n4, o2]; - }, i.prototype.getTextAtRange = function(t4) { - return this.copyWithPieceList(this.pieceList.getSplittableListInRange(t4)); - }, i.prototype.getStringAtRange = function(t4) { - return this.pieceList.getSplittableListInRange(t4).toString(); - }, i.prototype.getStringAtPosition = function(t4) { - return this.getStringAtRange([t4, t4 + 1]); - }, i.prototype.startsWithString = function(t4) { - return this.getStringAtRange([0, t4.length]) === t4; - }, i.prototype.endsWithString = function(t4) { - var e3; - return e3 = this.getLength(), this.getStringAtRange([e3 - t4.length, e3]) === t4; - }, i.prototype.getAttachmentPieces = function() { - var t4, e3, n4, i2, o2; - for (i2 = this.pieceList.toArray(), o2 = [], t4 = 0, e3 = i2.length; e3 > t4; t4++) - n4 = i2[t4], n4.attachment != null && o2.push(n4); - return o2; - }, i.prototype.getAttachments = function() { - var t4, e3, n4, i2, o2; - for (i2 = this.getAttachmentPieces(), o2 = [], t4 = 0, e3 = i2.length; e3 > t4; t4++) - n4 = i2[t4], o2.push(n4.attachment); - return o2; - }, i.prototype.getAttachmentAndPositionById = function(t4) { - var e3, n4, i2, o2, r2, s2; - for (o2 = 0, r2 = this.pieceList.toArray(), e3 = 0, n4 = r2.length; n4 > e3; e3++) { - if (i2 = r2[e3], ((s2 = i2.attachment) != null ? s2.id : void 0) === t4) - return { attachment: i2.attachment, position: o2 }; - o2 += i2.length; - } - return { attachment: null, position: null }; - }, i.prototype.getAttachmentById = function(t4) { - var e3, n4, i2; - return i2 = this.getAttachmentAndPositionById(t4), e3 = i2.attachment, n4 = i2.position, e3; - }, i.prototype.getRangeOfAttachment = function(t4) { - var e3, n4; - return n4 = this.getAttachmentAndPositionById(t4.id), t4 = n4.attachment, e3 = n4.position, t4 != null ? [e3, e3 + 1] : void 0; - }, i.prototype.updateAttributesForAttachment = function(t4, e3) { - var n4; - return (n4 = this.getRangeOfAttachment(e3)) ? this.addAttributesAtRange(t4, n4) : this; - }, i.prototype.getLength = function() { - return this.pieceList.getEndPosition(); - }, i.prototype.isEmpty = function() { - return this.getLength() === 0; - }, i.prototype.isEqualTo = function(t4) { - var e3; - return i.__super__.isEqualTo.apply(this, arguments) || (t4 != null && (e3 = t4.pieceList) != null ? e3.isEqualTo(this.pieceList) : void 0); - }, i.prototype.isBlockBreak = function() { - return this.getLength() === 1 && this.pieceList.getObjectAtIndex(0).isBlockBreak(); - }, i.prototype.eachPiece = function(t4) { - return this.pieceList.eachObject(t4); - }, i.prototype.getPieces = function() { - return this.pieceList.toArray(); - }, i.prototype.getPieceAtPosition = function(t4) { - return this.pieceList.getObjectAtPosition(t4); - }, i.prototype.contentsForInspection = function() { - return { pieceList: this.pieceList.inspect() }; - }, i.prototype.toSerializableText = function() { - var t4; - return t4 = this.pieceList.selectSplittableList(function(t5) { - return t5.isSerializable(); - }), this.copyWithPieceList(t4); - }, i.prototype.toString = function() { - return this.pieceList.toString(); - }, i.prototype.toJSON = function() { - return this.pieceList.toJSON(); - }, i.prototype.toConsole = function() { - var t4; - return JSON.stringify(function() { - var e3, n4, i2, o2; - for (i2 = this.pieceList.toArray(), o2 = [], e3 = 0, n4 = i2.length; n4 > e3; e3++) - t4 = i2[e3], o2.push(JSON.parse(t4.toConsole())); - return o2; - }.call(this)); - }, i.prototype.getDirection = function() { - return e2.getDirection(this.toString()); - }, i.prototype.isRTL = function() { - return this.getDirection() === "rtl"; - }, i; - }(e2.Object); - }.call(this), function() { - var t3, n2, i, o2, r2, s2 = function(t4, e3) { - function n3() { - this.constructor = t4; - } - for (var i2 in e3) - a2.call(e3, i2) && (t4[i2] = e3[i2]); - return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; - }, a2 = {}.hasOwnProperty, u = [].indexOf || function(t4) { - for (var e3 = 0, n3 = this.length; n3 > e3; e3++) - if (e3 in this && this[e3] === t4) - return e3; - return -1; - }, c2 = [].slice; - t3 = e2.arraysAreEqual, r2 = e2.spliceArray, i = e2.getBlockConfig, n2 = e2.getBlockAttributeNames, o2 = e2.getListAttributeNames, e2.Block = function(n3) { - function a3(t4, n4) { - t4 == null && (t4 = new e2.Text()), n4 == null && (n4 = []), a3.__super__.constructor.apply(this, arguments), this.text = h(t4), this.attributes = n4; - } - var l, h, p2, d, f, g, m, v, y; - return s2(a3, n3), a3.fromJSON = function(t4) { - var n4; - return n4 = e2.Text.fromJSON(t4.text), new this(n4, t4.attributes); - }, a3.prototype.isEmpty = function() { - return this.text.isBlockBreak(); - }, a3.prototype.isEqualTo = function(e3) { - return a3.__super__.isEqualTo.apply(this, arguments) || this.text.isEqualTo(e3 != null ? e3.text : void 0) && t3(this.attributes, e3 != null ? e3.attributes : void 0); - }, a3.prototype.copyWithText = function(t4) { - return new this.constructor(t4, this.attributes); - }, a3.prototype.copyWithoutText = function() { - return this.copyWithText(null); - }, a3.prototype.copyWithAttributes = function(t4) { - return new this.constructor(this.text, t4); - }, a3.prototype.copyWithoutAttributes = function() { - return this.copyWithAttributes(null); - }, a3.prototype.copyUsingObjectMap = function(t4) { - var e3; - return this.copyWithText((e3 = t4.find(this.text)) ? e3 : this.text.copyUsingObjectMap(t4)); - }, a3.prototype.addAttribute = function(t4) { - var e3; - return e3 = this.attributes.concat(d(t4)), this.copyWithAttributes(e3); - }, a3.prototype.removeAttribute = function(t4) { - var e3, n4; - return n4 = i(t4).listAttribute, e3 = g(g(this.attributes, t4), n4), this.copyWithAttributes(e3); - }, a3.prototype.removeLastAttribute = function() { - return this.removeAttribute(this.getLastAttribute()); - }, a3.prototype.getLastAttribute = function() { - return f(this.attributes); - }, a3.prototype.getAttributes = function() { - return this.attributes.slice(0); - }, a3.prototype.getAttributeLevel = function() { - return this.attributes.length; - }, a3.prototype.getAttributeAtLevel = function(t4) { - return this.attributes[t4 - 1]; - }, a3.prototype.hasAttribute = function(t4) { - return u.call(this.attributes, t4) >= 0; - }, a3.prototype.hasAttributes = function() { - return this.getAttributeLevel() > 0; - }, a3.prototype.getLastNestableAttribute = function() { - return f(this.getNestableAttributes()); - }, a3.prototype.getNestableAttributes = function() { - var t4, e3, n4, o3, r3; - for (o3 = this.attributes, r3 = [], e3 = 0, n4 = o3.length; n4 > e3; e3++) - t4 = o3[e3], i(t4).nestable && r3.push(t4); - return r3; - }, a3.prototype.getNestingLevel = function() { - return this.getNestableAttributes().length; - }, a3.prototype.decreaseNestingLevel = function() { - var t4; - return (t4 = this.getLastNestableAttribute()) ? this.removeAttribute(t4) : this; - }, a3.prototype.increaseNestingLevel = function() { - var t4, e3, n4; - return (t4 = this.getLastNestableAttribute()) ? (n4 = this.attributes.lastIndexOf(t4), e3 = r2.apply(null, [this.attributes, n4 + 1, 0].concat(c2.call(d(t4)))), this.copyWithAttributes(e3)) : this; - }, a3.prototype.getListItemAttributes = function() { - var t4, e3, n4, o3, r3; - for (o3 = this.attributes, r3 = [], e3 = 0, n4 = o3.length; n4 > e3; e3++) - t4 = o3[e3], i(t4).listAttribute && r3.push(t4); - return r3; - }, a3.prototype.isListItem = function() { - var t4; - return (t4 = i(this.getLastAttribute())) != null ? t4.listAttribute : void 0; - }, a3.prototype.isTerminalBlock = function() { - var t4; - return (t4 = i(this.getLastAttribute())) != null ? t4.terminal : void 0; - }, a3.prototype.breaksOnReturn = function() { - var t4; - return (t4 = i(this.getLastAttribute())) != null ? t4.breakOnReturn : void 0; - }, a3.prototype.findLineBreakInDirectionFromPosition = function(t4, e3) { - var n4, i2; - return i2 = this.toString(), n4 = function() { - switch (t4) { - case "forward": - return i2.indexOf("\n", e3); - case "backward": - return i2.slice(0, e3).lastIndexOf("\n"); - } - }(), n4 !== -1 ? n4 : void 0; - }, a3.prototype.contentsForInspection = function() { - return { text: this.text.inspect(), attributes: this.attributes }; - }, a3.prototype.toString = function() { - return this.text.toString(); - }, a3.prototype.toJSON = function() { - return { text: this.text, attributes: this.attributes }; - }, a3.prototype.getDirection = function() { - return this.text.getDirection(); - }, a3.prototype.isRTL = function() { - return this.text.isRTL(); - }, a3.prototype.getLength = function() { - return this.text.getLength(); - }, a3.prototype.canBeConsolidatedWith = function(t4) { - return !this.hasAttributes() && !t4.hasAttributes() && this.getDirection() === t4.getDirection(); - }, a3.prototype.consolidateWith = function(t4) { - var n4, i2; - return n4 = e2.Text.textForStringWithAttributes("\n"), i2 = this.getTextWithoutBlockBreak().appendText(n4), this.copyWithText(i2.appendText(t4.text)); - }, a3.prototype.splitAtOffset = function(t4) { - var e3, n4; - return t4 === 0 ? (e3 = null, n4 = this) : t4 === this.getLength() ? (e3 = this, n4 = null) : (e3 = this.copyWithText(this.text.getTextAtRange([0, t4])), n4 = this.copyWithText(this.text.getTextAtRange([t4, this.getLength()]))), [e3, n4]; - }, a3.prototype.getBlockBreakPosition = function() { - return this.text.getLength() - 1; - }, a3.prototype.getTextWithoutBlockBreak = function() { - return m(this.text) ? this.text.getTextAtRange([0, this.getBlockBreakPosition()]) : this.text.copy(); - }, a3.prototype.canBeGrouped = function(t4) { - return this.attributes[t4]; - }, a3.prototype.canBeGroupedWith = function(t4, e3) { - var n4, r3, s3, a4; - return s3 = t4.getAttributes(), r3 = s3[e3], n4 = this.attributes[e3], !(n4 !== r3 || i(n4).group === false && (a4 = s3[e3 + 1], u.call(o2(), a4) < 0) || this.getDirection() !== t4.getDirection() && !t4.isEmpty()); - }, h = function(t4) { - return t4 = y(t4), t4 = l(t4); - }, y = function(t4) { - var n4, i2, o3, r3, s3, a4; - return r3 = false, a4 = t4.getPieces(), i2 = 2 <= a4.length ? c2.call(a4, 0, n4 = a4.length - 1) : (n4 = 0, []), o3 = a4[n4++], o3 == null ? t4 : (i2 = function() { - var t5, e3, n5; - for (n5 = [], t5 = 0, e3 = i2.length; e3 > t5; t5++) - s3 = i2[t5], s3.isBlockBreak() ? (r3 = true, n5.push(v(s3))) : n5.push(s3); + }, o2.prototype.getViewCache = function() { + return this.rootView !== this ? this.rootView.getViewCache() : this.isViewCachingEnabled() ? this.viewCache != null ? this.viewCache : this.viewCache = {} : void 0; + }, o2.prototype.isViewCachingEnabled = function() { + return this.shouldCacheViews !== false; + }, o2.prototype.enableViewCaching = function() { + return this.shouldCacheViews = true; + }, o2.prototype.disableViewCaching = function() { + return this.shouldCacheViews = false; + }, o2.prototype.getCachedViewForObject = function(t4) { + var e3; + return (e3 = this.getViewCache()) != null ? e3[t4.getCacheKey()] : void 0; + }, o2.prototype.cacheViewForObject = function(t4, e3) { + var n4; + return (n4 = this.getViewCache()) != null ? n4[e3.getCacheKey()] = t4 : void 0; + }, o2.prototype.garbageCollectCachedViews = function() { + var t4, e3, n4, o3, r2, s2; + if (t4 = this.getViewCache()) { + s2 = this.getAllChildViews().concat(this), n4 = function() { + var t5, e4, n5; + for (n5 = [], t5 = 0, e4 = s2.length; e4 > t5; t5++) + r2 = s2[t5], n5.push(r2.object.getCacheKey()); return n5; - }(), r3 ? new e2.Text(c2.call(i2).concat([o3])) : t4); - }, p2 = e2.Text.textForStringWithAttributes("\n", { blockBreak: true }), l = function(t4) { - return m(t4) ? t4 : t4.appendText(p2); - }, m = function(t4) { - var e3, n4; - return n4 = t4.getLength(), n4 === 0 ? false : (e3 = t4.getTextAtRange([n4 - 1, n4]), e3.isBlockBreak()); - }, v = function(t4) { - return t4.copyWithoutAttribute("blockBreak"); - }, d = function(t4) { - var e3; - return e3 = i(t4).listAttribute, e3 != null ? [e3, t4] : [t4]; - }, f = function(t4) { - return t4.slice(-1)[0]; - }, g = function(t4, e3) { - var n4; - return n4 = t4.lastIndexOf(e3), n4 === -1 ? t4 : r2(t4, n4, 1); - }, a3; - }(e2.Object); - }.call(this), function() { - var t3, n2, i, o2 = function(t4, e3) { - function n3() { - this.constructor = t4; + }(), o3 = []; + for (e3 in t4) + i.call(n4, e3) < 0 && o3.push(delete t4[e3]); + return o3; } - for (var i2 in e3) - r2.call(e3, i2) && (t4[i2] = e3[i2]); - return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; - }, r2 = {}.hasOwnProperty, s2 = [].indexOf || function(t4) { - for (var e3 = 0, n3 = this.length; n3 > e3; e3++) - if (e3 in this && this[e3] === t4) - return e3; - return -1; - }, a2 = [].slice; - n2 = e2.tagName, i = e2.walkTree, t3 = e2.nodeIsAttachmentElement, e2.HTMLSanitizer = function(r3) { - function u(t4, e3) { - var n3; - n3 = e3 != null ? e3 : {}, this.allowedAttributes = n3.allowedAttributes, this.forbiddenProtocols = n3.forbiddenProtocols, this.forbiddenElements = n3.forbiddenElements, this.allowedAttributes == null && (this.allowedAttributes = c2), this.forbiddenProtocols == null && (this.forbiddenProtocols = h), this.forbiddenElements == null && (this.forbiddenElements = l), this.body = p2(t4); - } - var c2, l, h, p2; - return o2(u, r3), c2 = "style href src width height class".split(" "), h = "javascript:".split(" "), l = "script iframe".split(" "), u.sanitize = function(t4, e3) { - var n3; - return n3 = new this(t4, e3), n3.sanitize(), n3; - }, u.prototype.sanitize = function() { - return this.sanitizeElements(), this.normalizeListElementNesting(); - }, u.prototype.getHTML = function() { - return this.body.innerHTML; - }, u.prototype.getBody = function() { - return this.body; - }, u.prototype.sanitizeElements = function() { - var t4, n3, o3, r4, s3; - for (s3 = i(this.body), r4 = []; s3.nextNode(); ) - switch (o3 = s3.currentNode, o3.nodeType) { - case Node.ELEMENT_NODE: - this.elementIsRemovable(o3) ? r4.push(o3) : this.sanitizeElement(o3); - break; - case Node.COMMENT_NODE: - r4.push(o3); - } - for (t4 = 0, n3 = r4.length; n3 > t4; t4++) - o3 = r4[t4], e2.removeNode(o3); - return this.body; - }, u.prototype.sanitizeElement = function(t4) { - var e3, n3, i2, o3, r4; - for (t4.hasAttribute("href") && (o3 = t4.protocol, s2.call(this.forbiddenProtocols, o3) >= 0 && t4.removeAttribute("href")), r4 = a2.call(t4.attributes), e3 = 0, n3 = r4.length; n3 > e3; e3++) - i2 = r4[e3].name, s2.call(this.allowedAttributes, i2) >= 0 || i2.indexOf("data-trix") === 0 || t4.removeAttribute(i2); - return t4; - }, u.prototype.normalizeListElementNesting = function() { - var t4, e3, i2, o3, r4; - for (r4 = a2.call(this.body.querySelectorAll("ul,ol")), t4 = 0, e3 = r4.length; e3 > t4; t4++) - i2 = r4[t4], (o3 = i2.previousElementSibling) && n2(o3) === "li" && o3.appendChild(i2); - return this.body; - }, u.prototype.elementIsRemovable = function(t4) { - return (t4 != null ? t4.nodeType : void 0) === Node.ELEMENT_NODE ? this.elementIsForbidden(t4) || this.elementIsntSerializable(t4) : void 0; - }, u.prototype.elementIsForbidden = function(t4) { - var e3; - return e3 = n2(t4), s2.call(this.forbiddenElements, e3) >= 0; - }, u.prototype.elementIsntSerializable = function(e3) { - return e3.getAttribute("data-trix-serialize") === "false" && !t3(e3); - }, p2 = function(t4) { - var e3, n3, i2, o3, r4; - for (t4 == null && (t4 = ""), t4 = t4.replace(/<\/html[^>]*>[^]*$/i, ""), e3 = document.implementation.createHTMLDocument(""), e3.documentElement.innerHTML = t4, r4 = e3.head.querySelectorAll("style"), i2 = 0, o3 = r4.length; o3 > i2; i2++) - n3 = r4[i2], e3.body.appendChild(n3); - return e3.body; - }, u; - }(e2.BasicObject); - }.call(this), function() { - var t3, n2, i, o2, r2, s2, a2, u, c2, l, h, p2 = function(t4, e3) { - function n3() { - this.constructor = t4; - } - for (var i2 in e3) - d.call(e3, i2) && (t4[i2] = e3[i2]); - return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; - }, d = {}.hasOwnProperty, f = [].indexOf || function(t4) { - for (var e3 = 0, n3 = this.length; n3 > e3; e3++) - if (e3 in this && this[e3] === t4) - return e3; - return -1; + }, o2; + }(e2.BasicObject); + }.call(this), function() { + var t3 = function(t4, e3) { + function i() { + this.constructor = t4; + } + for (var o2 in e3) + n2.call(e3, o2) && (t4[o2] = e3[o2]); + return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; + }, n2 = {}.hasOwnProperty; + e2.ObjectGroupView = function(e3) { + function n3() { + n3.__super__.constructor.apply(this, arguments), this.objectGroup = this.object, this.viewClass = this.options.viewClass, delete this.options.viewClass; + } + return t3(n3, e3), n3.prototype.getChildViews = function() { + var t4, e4, n4, i; + if (!this.childViews.length) + for (i = this.objectGroup.getObjects(), t4 = 0, e4 = i.length; e4 > t4; t4++) + n4 = i[t4], this.findOrCreateCachedChildView(this.viewClass, n4, this.options); + return this.childViews; + }, n3.prototype.createNodes = function() { + var t4, e4, n4, i, o2, r2, s2, a2, u; + for (t4 = this.createContainerElement(), s2 = this.getChildViews(), e4 = 0, i = s2.length; i > e4; e4++) + for (u = s2[e4], a2 = u.getNodes(), n4 = 0, o2 = a2.length; o2 > n4; n4++) + r2 = a2[n4], t4.appendChild(r2); + return [t4]; + }, n3.prototype.createContainerElement = function(t4) { + return t4 == null && (t4 = this.objectGroup.getDepth()), this.getChildViews()[0].createContainerElement(t4); + }, n3; + }(e2.ObjectView); + }.call(this), function() { + var t3 = function(t4, e3) { + function i() { + this.constructor = t4; + } + for (var o2 in e3) + n2.call(e3, o2) && (t4[o2] = e3[o2]); + return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; + }, n2 = {}.hasOwnProperty; + e2.Controller = function(e3) { + function n3() { + return n3.__super__.constructor.apply(this, arguments); + } + return t3(n3, e3), n3; + }(e2.BasicObject); + }.call(this), function() { + var t3, n2, i, o2, r2, s2, a2 = function(t4, e3) { + return function() { + return t4.apply(e3, arguments); }; - t3 = e2.arraysAreEqual, s2 = e2.makeElement, l = e2.tagName, r2 = e2.getBlockTagNames, h = e2.walkTree, o2 = e2.findClosestElementFromNode, i = e2.elementContainsNode, a2 = e2.nodeIsAttachmentElement, u = e2.normalizeSpaces, n2 = e2.breakableWhitespacePattern, c2 = e2.squishBreakableWhitespace, e2.HTMLParser = function(d2) { - function g(t4, e3) { - this.html = t4, this.referenceElement = (e3 != null ? e3 : {}).referenceElement, this.blocks = [], this.blockElements = [], this.processedElements = []; + }, u = function(t4, e3) { + function n3() { + this.constructor = t4; + } + for (var i2 in e3) + c2.call(e3, i2) && (t4[i2] = e3[i2]); + return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; + }, c2 = {}.hasOwnProperty, l = [].indexOf || function(t4) { + for (var e3 = 0, n3 = this.length; n3 > e3; e3++) + if (e3 in this && this[e3] === t4) + return e3; + return -1; + }; + t3 = e2.findClosestElementFromNode, i = e2.nodeIsEmptyTextNode, n2 = e2.nodeIsBlockStartComment, o2 = e2.normalizeSpaces, r2 = e2.summarizeStringChange, s2 = e2.tagName, e2.MutationObserver = function(e3) { + function c3(t4) { + this.element = t4, this.didMutate = a2(this.didMutate, this), this.observer = new window.MutationObserver(this.didMutate), this.start(); + } + var h, p2, d, f; + return u(c3, e3), p2 = "data-trix-mutable", d = "[" + p2 + "]", f = {attributes: true, childList: true, characterData: true, characterDataOldValue: true, subtree: true}, c3.prototype.start = function() { + return this.reset(), this.observer.observe(this.element, f); + }, c3.prototype.stop = function() { + return this.observer.disconnect(); + }, c3.prototype.didMutate = function(t4) { + var e4, n3; + return (e4 = this.mutations).push.apply(e4, this.findSignificantMutations(t4)), this.mutations.length ? ((n3 = this.delegate) != null && typeof n3.elementDidMutate == "function" && n3.elementDidMutate(this.getMutationSummary()), this.reset()) : void 0; + }, c3.prototype.reset = function() { + return this.mutations = []; + }, c3.prototype.findSignificantMutations = function(t4) { + var e4, n3, i2, o3; + for (o3 = [], e4 = 0, n3 = t4.length; n3 > e4; e4++) + i2 = t4[e4], this.mutationIsSignificant(i2) && o3.push(i2); + return o3; + }, c3.prototype.mutationIsSignificant = function(t4) { + var e4, n3, i2, o3; + if (this.nodeIsMutable(t4.target)) + return false; + for (o3 = this.nodesModifiedByMutation(t4), e4 = 0, n3 = o3.length; n3 > e4; e4++) + if (i2 = o3[e4], this.nodeIsSignificant(i2)) + return true; + return false; + }, c3.prototype.nodeIsSignificant = function(t4) { + return t4 !== this.element && !this.nodeIsMutable(t4) && !i(t4); + }, c3.prototype.nodeIsMutable = function(e4) { + return t3(e4, {matchingSelector: d}); + }, c3.prototype.nodesModifiedByMutation = function(t4) { + var e4; + switch (e4 = [], t4.type) { + case "attributes": + t4.attributeName !== p2 && e4.push(t4.target); + break; + case "characterData": + e4.push(t4.target.parentNode), e4.push(t4.target); + break; + case "childList": + e4.push.apply(e4, t4.addedNodes), e4.push.apply(e4, t4.removedNodes); } - var m, v, y, b, A, C3, x, w, E, S2, R, k; - return p2(g, d2), g.parse = function(t4, e3) { - var n3; - return n3 = new this(t4, e3), n3.parse(), n3; - }, g.prototype.getDocument = function() { - return e2.Document.fromJSON(this.blocks); - }, g.prototype.parse = function() { - var t4, n3; - try { - for (this.createHiddenContainer(), t4 = e2.HTMLSanitizer.sanitize(this.html).getHTML(), this.containerElement.innerHTML = t4, n3 = h(this.containerElement, { usingFilter: x }); n3.nextNode(); ) - this.processNode(n3.currentNode); - return this.translateBlockElementMarginsToNewlines(); - } finally { - this.removeHiddenContainer(); - } - }, g.prototype.createHiddenContainer = function() { - return this.referenceElement ? (this.containerElement = this.referenceElement.cloneNode(false), this.containerElement.removeAttribute("id"), this.containerElement.setAttribute("data-trix-internal", ""), this.containerElement.style.display = "none", this.referenceElement.parentNode.insertBefore(this.containerElement, this.referenceElement.nextSibling)) : (this.containerElement = s2({ tagName: "div", style: { display: "none" } }), document.body.appendChild(this.containerElement)); - }, g.prototype.removeHiddenContainer = function() { - return e2.removeNode(this.containerElement); - }, x = function(t4) { - return l(t4) === "style" ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT; - }, g.prototype.processNode = function(t4) { - switch (t4.nodeType) { + return e4; + }, c3.prototype.getMutationSummary = function() { + return this.getTextMutationSummary(); + }, c3.prototype.getTextMutationSummary = function() { + var t4, e4, n3, i2, o3, r3, s3, a3, u2, c4, h2; + for (a3 = this.getTextChangesFromCharacterData(), n3 = a3.additions, o3 = a3.deletions, h2 = this.getTextChangesFromChildList(), u2 = h2.additions, r3 = 0, s3 = u2.length; s3 > r3; r3++) + e4 = u2[r3], l.call(n3, e4) < 0 && n3.push(e4); + return o3.push.apply(o3, h2.deletions), c4 = {}, (t4 = n3.join("")) && (c4.textAdded = t4), (i2 = o3.join("")) && (c4.textDeleted = i2), c4; + }, c3.prototype.getMutationsByType = function(t4) { + var e4, n3, i2, o3, r3; + for (o3 = this.mutations, r3 = [], e4 = 0, n3 = o3.length; n3 > e4; e4++) + i2 = o3[e4], i2.type === t4 && r3.push(i2); + return r3; + }, c3.prototype.getTextChangesFromChildList = function() { + var t4, e4, i2, r3, s3, a3, u2, c4, l2, p3, d2; + for (t4 = [], u2 = [], a3 = this.getMutationsByType("childList"), e4 = 0, r3 = a3.length; r3 > e4; e4++) + s3 = a3[e4], t4.push.apply(t4, s3.addedNodes), u2.push.apply(u2, s3.removedNodes); + return c4 = t4.length === 0 && u2.length === 1 && n2(u2[0]), c4 ? (p3 = [], d2 = ["\n"]) : (p3 = h(t4), d2 = h(u2)), {additions: function() { + var t5, e5, n3; + for (n3 = [], i2 = t5 = 0, e5 = p3.length; e5 > t5; i2 = ++t5) + l2 = p3[i2], l2 !== d2[i2] && n3.push(o2(l2)); + return n3; + }(), deletions: function() { + var t5, e5, n3; + for (n3 = [], i2 = t5 = 0, e5 = d2.length; e5 > t5; i2 = ++t5) + l2 = d2[i2], l2 !== p3[i2] && n3.push(o2(l2)); + return n3; + }()}; + }, c3.prototype.getTextChangesFromCharacterData = function() { + var t4, e4, n3, i2, s3, a3, u2, c4; + return e4 = this.getMutationsByType("characterData"), e4.length && (c4 = e4[0], n3 = e4[e4.length - 1], s3 = o2(c4.oldValue), i2 = o2(n3.target.data), a3 = r2(s3, i2), t4 = a3.added, u2 = a3.removed), {additions: t4 ? [t4] : [], deletions: u2 ? [u2] : []}; + }, h = function(t4) { + var e4, n3, i2, o3; + for (t4 == null && (t4 = []), o3 = [], e4 = 0, n3 = t4.length; n3 > e4; e4++) + switch (i2 = t4[e4], i2.nodeType) { case Node.TEXT_NODE: - if (!this.isInsignificantTextNode(t4)) - return this.appendBlockForTextNode(t4), this.processTextNode(t4); + o3.push(i2.data); break; case Node.ELEMENT_NODE: - return this.appendBlockForElement(t4), this.processElement(t4); + s2(i2) === "br" ? o3.push("\n") : o3.push.apply(o3, h(i2.childNodes)); } - }, g.prototype.appendBlockForTextNode = function(e3) { - var n3, i2, o3; - return i2 = e3.parentNode, i2 === this.currentBlockElement && this.isBlockElement(e3.previousSibling) ? this.appendStringWithAttributes("\n") : i2 !== this.containerElement && !this.isBlockElement(i2) || (n3 = this.getBlockAttributes(i2), t3(n3, (o3 = this.currentBlock) != null ? o3.attributes : void 0)) ? void 0 : (this.currentBlock = this.appendBlockForAttributesWithElement(n3, i2), this.currentBlockElement = i2); - }, g.prototype.appendBlockForElement = function(e3) { - var n3, o3, r3, s3; - if (r3 = this.isBlockElement(e3), o3 = i(this.currentBlockElement, e3), r3 && !this.isBlockElement(e3.firstChild)) { - if ((!this.isInsignificantTextNode(e3.firstChild) || !this.isBlockElement(e3.firstElementChild)) && (n3 = this.getBlockAttributes(e3), e3.firstChild)) - return o3 && t3(n3, this.currentBlock.attributes) ? this.appendStringWithAttributes("\n") : (this.currentBlock = this.appendBlockForAttributesWithElement(n3, e3), this.currentBlockElement = e3); - } else if (this.currentBlockElement && !o3 && !r3) - return (s3 = this.findParentBlockElement(e3)) ? this.appendBlockForElement(s3) : (this.currentBlock = this.appendEmptyBlock(), this.currentBlockElement = null); - }, g.prototype.findParentBlockElement = function(t4) { - var e3; - for (e3 = t4.parentElement; e3 && e3 !== this.containerElement; ) { - if (this.isBlockElement(e3) && f.call(this.blockElements, e3) >= 0) - return e3; - e3 = e3.parentElement; - } - return null; - }, g.prototype.processTextNode = function(t4) { - var e3, n3; - return n3 = t4.data, v(t4.parentNode) || (n3 = c2(n3), R((e3 = t4.previousSibling) != null ? e3.textContent : void 0) && (n3 = A(n3))), this.appendStringWithAttributes(n3, this.getTextAttributes(t4.parentNode)); - }, g.prototype.processElement = function(t4) { - var e3, n3, i2, o3, r3; - if (a2(t4)) - return e3 = w(t4, "attachment"), Object.keys(e3).length && (o3 = this.getTextAttributes(t4), this.appendAttachmentWithAttributes(e3, o3), t4.innerHTML = ""), this.processedElements.push(t4); - switch (l(t4)) { - case "br": - return this.isExtraBR(t4) || this.isBlockElement(t4.nextSibling) || this.appendStringWithAttributes("\n", this.getTextAttributes(t4)), this.processedElements.push(t4); - case "img": - e3 = { url: t4.getAttribute("src"), contentType: "image" }, i2 = b(t4); - for (n3 in i2) - r3 = i2[n3], e3[n3] = r3; - return this.appendAttachmentWithAttributes(e3, this.getTextAttributes(t4)), this.processedElements.push(t4); - case "tr": - if (t4.parentNode.firstChild !== t4) - return this.appendStringWithAttributes("\n"); - break; - case "td": - if (t4.parentNode.firstChild !== t4) - return this.appendStringWithAttributes(" | "); - } - }, g.prototype.appendBlockForAttributesWithElement = function(t4, e3) { - var n3; - return this.blockElements.push(e3), n3 = m(t4), this.blocks.push(n3), n3; - }, g.prototype.appendEmptyBlock = function() { - return this.appendBlockForAttributesWithElement([], null); - }, g.prototype.appendStringWithAttributes = function(t4, e3) { - return this.appendPiece(S2(t4, e3)); - }, g.prototype.appendAttachmentWithAttributes = function(t4, e3) { - return this.appendPiece(E(t4, e3)); - }, g.prototype.appendPiece = function(t4) { - return this.blocks.length === 0 && this.appendEmptyBlock(), this.blocks[this.blocks.length - 1].text.push(t4); - }, g.prototype.appendStringToTextAtIndex = function(t4, e3) { - var n3, i2; - return i2 = this.blocks[e3].text, n3 = i2[i2.length - 1], (n3 != null ? n3.type : void 0) === "string" ? n3.string += t4 : i2.push(S2(t4)); - }, g.prototype.prependStringToTextAtIndex = function(t4, e3) { - var n3, i2; - return i2 = this.blocks[e3].text, n3 = i2[0], (n3 != null ? n3.type : void 0) === "string" ? n3.string = t4 + n3.string : i2.unshift(S2(t4)); - }, S2 = function(t4, e3) { - var n3; - return e3 == null && (e3 = {}), n3 = "string", t4 = u(t4), { string: t4, attributes: e3, type: n3 }; - }, E = function(t4, e3) { - var n3; - return e3 == null && (e3 = {}), n3 = "attachment", { attachment: t4, attributes: e3, type: n3 }; - }, m = function(t4) { - var e3; - return t4 == null && (t4 = {}), e3 = [], { text: e3, attributes: t4 }; - }, g.prototype.getTextAttributes = function(t4) { - var n3, i2, r3, s3, u2, c3, l2, h2, p3, d3, f2, g2; - r3 = {}, p3 = e2.config.textAttributes; - for (n3 in p3) - if (u2 = p3[n3], u2.tagName && o2(t4, { matchingSelector: u2.tagName, untilNode: this.containerElement })) - r3[n3] = true; - else if (u2.parser) { - if (g2 = u2.parser(t4)) { - for (i2 = false, d3 = this.findBlockElementAncestors(t4), c3 = 0, h2 = d3.length; h2 > c3; c3++) - if (s3 = d3[c3], u2.parser(s3) === g2) { - i2 = true; - break; - } - i2 || (r3[n3] = g2); - } - } else - u2.styleProperty && (g2 = t4.style[u2.styleProperty]) && (r3[n3] = g2); - if (a2(t4)) { - f2 = w(t4, "attributes"); - for (l2 in f2) - g2 = f2[l2], r3[l2] = g2; - } - return r3; - }, g.prototype.getBlockAttributes = function(t4) { - var n3, i2, o3, r3; - for (i2 = []; t4 && t4 !== this.containerElement; ) { - r3 = e2.config.blockAttributes; - for (n3 in r3) - o3 = r3[n3], o3.parse !== false && l(t4) === o3.tagName && ((typeof o3.test == "function" ? o3.test(t4) : void 0) || !o3.test) && (i2.push(n3), o3.listAttribute && i2.push(o3.listAttribute)); - t4 = t4.parentNode; - } - return i2.reverse(); - }, g.prototype.findBlockElementAncestors = function(t4) { - var e3, n3; - for (e3 = []; t4 && t4 !== this.containerElement; ) - n3 = l(t4), f.call(r2(), n3) >= 0 && e3.push(t4), t4 = t4.parentNode; - return e3; - }, w = function(t4, e3) { - try { - return JSON.parse(t4.getAttribute("data-trix-" + e3)); - } catch (n3) { - return {}; - } - }, b = function(t4) { - var e3, n3, i2; - return i2 = t4.getAttribute("width"), n3 = t4.getAttribute("height"), e3 = {}, i2 && (e3.width = parseInt(i2, 10)), n3 && (e3.height = parseInt(n3, 10)), e3; - }, g.prototype.isBlockElement = function(t4) { - var e3; - if ((t4 != null ? t4.nodeType : void 0) === Node.ELEMENT_NODE && !a2(t4) && !o2(t4, { matchingSelector: "td", untilNode: this.containerElement })) - return e3 = l(t4), f.call(r2(), e3) >= 0 || window.getComputedStyle(t4).display === "block"; - }, g.prototype.isInsignificantTextNode = function(t4) { - var e3, n3, i2; - if ((t4 != null ? t4.nodeType : void 0) === Node.TEXT_NODE && k(t4.data) && (n3 = t4.parentNode, i2 = t4.previousSibling, e3 = t4.nextSibling, (!C3(n3.previousSibling) || this.isBlockElement(n3.previousSibling)) && !v(n3))) - return !i2 || this.isBlockElement(i2) || !e3 || this.isBlockElement(e3); - }, g.prototype.isExtraBR = function(t4) { - return l(t4) === "br" && this.isBlockElement(t4.parentNode) && t4.parentNode.lastChild === t4; - }, v = function(t4) { - var e3; - return e3 = window.getComputedStyle(t4).whiteSpace, e3 === "pre" || e3 === "pre-wrap" || e3 === "pre-line"; - }, C3 = function(t4) { - return t4 && !R(t4.textContent); - }, g.prototype.translateBlockElementMarginsToNewlines = function() { - var t4, e3, n3, i2, o3, r3, s3, a3; - for (e3 = this.getMarginOfDefaultBlockElement(), s3 = this.blocks, a3 = [], i2 = n3 = 0, o3 = s3.length; o3 > n3; i2 = ++n3) - t4 = s3[i2], (r3 = this.getMarginOfBlockElementAtIndex(i2)) && (r3.top > 2 * e3.top && this.prependStringToTextAtIndex("\n", i2), a3.push(r3.bottom > 2 * e3.bottom ? this.appendStringToTextAtIndex("\n", i2) : void 0)); - return a3; - }, g.prototype.getMarginOfBlockElementAtIndex = function(t4) { - var e3, n3; - return !(e3 = this.blockElements[t4]) || !e3.textContent || (n3 = l(e3), f.call(r2(), n3) >= 0 || f.call(this.processedElements, e3) >= 0) ? void 0 : y(e3); - }, g.prototype.getMarginOfDefaultBlockElement = function() { - var t4; - return t4 = s2(e2.config.blockAttributes["default"].tagName), this.containerElement.appendChild(t4), y(t4); - }, y = function(t4) { - var e3; - return e3 = window.getComputedStyle(t4), e3.display === "block" ? { top: parseInt(e3.marginTop), bottom: parseInt(e3.marginBottom) } : void 0; - }, A = function(t4) { - return t4.replace(RegExp("^" + n2.source + "+"), ""); - }, k = function(t4) { - return RegExp("^" + n2.source + "*$").test(t4); - }, R = function(t4) { - return /\s$/.test(t4); - }, g; - }(e2.BasicObject); - }.call(this), function() { - var t3, n2, i, o2, r2 = function(t4, e3) { - function n3() { - this.constructor = t4; - } - for (var i2 in e3) - s2.call(e3, i2) && (t4[i2] = e3[i2]); - return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; - }, s2 = {}.hasOwnProperty, a2 = [].slice, u = [].indexOf || function(t4) { - for (var e3 = 0, n3 = this.length; n3 > e3; e3++) - if (e3 in this && this[e3] === t4) - return e3; - return -1; - }; - t3 = e2.arraysAreEqual, i = e2.normalizeRange, o2 = e2.rangeIsCollapsed, n2 = e2.getBlockConfig, e2.Document = function(s3) { - function c2(t4) { - t4 == null && (t4 = []), c2.__super__.constructor.apply(this, arguments), t4.length === 0 && (t4 = [new e2.Block()]), this.blockList = e2.SplittableList.box(t4); - } - var l; - return r2(c2, s3), c2.fromJSON = function(t4) { - var n3, i2; - return i2 = function() { - var i3, o3, r3; - for (r3 = [], i3 = 0, o3 = t4.length; o3 > i3; i3++) - n3 = t4[i3], r3.push(e2.Block.fromJSON(n3)); - return r3; - }(), new this(i2); - }, c2.fromHTML = function(t4, n3) { - return e2.HTMLParser.parse(t4, n3).getDocument(); - }, c2.fromString = function(t4, n3) { - var i2; - return i2 = e2.Text.textForStringWithAttributes(t4, n3), new this([new e2.Block(i2)]); - }, c2.prototype.isEmpty = function() { - var t4; - return this.blockList.length === 1 && (t4 = this.getBlockAtIndex(0), t4.isEmpty() && !t4.hasAttributes()); - }, c2.prototype.copy = function(t4) { - var e3; - return t4 == null && (t4 = {}), e3 = t4.consolidateBlocks ? this.blockList.consolidate().toArray() : this.blockList.toArray(), new this.constructor(e3); - }, c2.prototype.copyUsingObjectsFromDocument = function(t4) { - var n3; - return n3 = new e2.ObjectMap(t4.getObjects()), this.copyUsingObjectMap(n3); - }, c2.prototype.copyUsingObjectMap = function(t4) { - var e3, n3, i2; - return n3 = function() { - var n4, o3, r3, s4; - for (r3 = this.getBlocks(), s4 = [], n4 = 0, o3 = r3.length; o3 > n4; n4++) - e3 = r3[n4], s4.push((i2 = t4.find(e3)) ? i2 : e3.copyUsingObjectMap(t4)); - return s4; - }.call(this), new this.constructor(n3); - }, c2.prototype.copyWithBaseBlockAttributes = function(t4) { - var e3, n3, i2; - return t4 == null && (t4 = []), i2 = function() { - var i3, o3, r3, s4; - for (r3 = this.getBlocks(), s4 = [], i3 = 0, o3 = r3.length; o3 > i3; i3++) - n3 = r3[i3], e3 = t4.concat(n3.getAttributes()), s4.push(n3.copyWithAttributes(e3)); - return s4; - }.call(this), new this.constructor(i2); - }, c2.prototype.replaceBlock = function(t4, e3) { - var n3; - return n3 = this.blockList.indexOf(t4), n3 === -1 ? this : new this.constructor(this.blockList.replaceObjectAtIndex(e3, n3)); - }, c2.prototype.insertDocumentAtRange = function(t4, e3) { - var n3, r3, s4, a3, u2, c3, l2; - return r3 = t4.blockList, u2 = (e3 = i(e3))[0], c3 = this.locationFromPosition(u2), s4 = c3.index, a3 = c3.offset, l2 = this, n3 = this.getBlockAtPosition(u2), o2(e3) && n3.isEmpty() && !n3.hasAttributes() ? l2 = new this.constructor(l2.blockList.removeObjectAtIndex(s4)) : n3.getBlockBreakPosition() === a3 && u2++, l2 = l2.removeTextAtRange(e3), new this.constructor(l2.blockList.insertSplittableListAtPosition(r3, u2)); - }, c2.prototype.mergeDocumentAtRange = function(e3, n3) { - var o3, r3, s4, a3, u2, c3, l2, h, p2, d, f, g; - return f = (n3 = i(n3))[0], d = this.locationFromPosition(f), r3 = this.getBlockAtIndex(d.index).getAttributes(), o3 = e3.getBaseBlockAttributes(), g = r3.slice(-o3.length), t3(o3, g) ? (l2 = r3.slice(0, -o3.length), c3 = e3.copyWithBaseBlockAttributes(l2)) : c3 = e3.copy({ consolidateBlocks: true }).copyWithBaseBlockAttributes(r3), s4 = c3.getBlockCount(), a3 = c3.getBlockAtIndex(0), t3(r3, a3.getAttributes()) ? (u2 = a3.getTextWithoutBlockBreak(), p2 = this.insertTextAtRange(u2, n3), s4 > 1 && (c3 = new this.constructor(c3.getBlocks().slice(1)), h = f + u2.getLength(), p2 = p2.insertDocumentAtRange(c3, h))) : p2 = this.insertDocumentAtRange(c3, n3), p2; - }, c2.prototype.insertTextAtRange = function(t4, e3) { - var n3, o3, r3, s4, a3; - return a3 = (e3 = i(e3))[0], s4 = this.locationFromPosition(a3), o3 = s4.index, r3 = s4.offset, n3 = this.removeTextAtRange(e3), new this.constructor(n3.blockList.editObjectAtIndex(o3, function(e4) { - return e4.copyWithText(e4.text.insertTextAtPosition(t4, r3)); - })); - }, c2.prototype.removeTextAtRange = function(t4) { - var e3, n3, r3, s4, a3, u2, c3, l2, h, p2, d, f, g, m, v, y, b, A, C3, x, w; - return p2 = t4 = i(t4), l2 = p2[0], A = p2[1], o2(t4) ? this : (d = this.locationRangeFromRange(t4), u2 = d[0], y = d[1], a3 = u2.index, c3 = u2.offset, s4 = this.getBlockAtIndex(a3), v = y.index, b = y.offset, m = this.getBlockAtIndex(v), f = A - l2 === 1 && s4.getBlockBreakPosition() === c3 && m.getBlockBreakPosition() !== b && m.text.getStringAtPosition(b) === "\n", f ? r3 = this.blockList.editObjectAtIndex(v, function(t5) { - return t5.copyWithText(t5.text.removeTextAtRange([b, b + 1])); - }) : (h = s4.text.getTextAtRange([0, c3]), C3 = m.text.getTextAtRange([b, m.getLength()]), x = h.appendText(C3), g = a3 !== v && c3 === 0, w = g && s4.getAttributeLevel() >= m.getAttributeLevel(), n3 = w ? m.copyWithText(x) : s4.copyWithText(x), e3 = v + 1 - a3, r3 = this.blockList.splice(a3, e3, n3)), new this.constructor(r3)); - }, c2.prototype.moveTextFromRangeToPosition = function(t4, e3) { - var n3, o3, r3, s4, u2, c3, l2, h, p2, d; - return c3 = t4 = i(t4), p2 = c3[0], r3 = c3[1], e3 >= p2 && r3 >= e3 ? this : (o3 = this.getDocumentAtRange(t4), h = this.removeTextAtRange(t4), u2 = e3 > p2, u2 && (e3 -= o3.getLength()), l2 = o3.getBlocks(), s4 = l2[0], n3 = 2 <= l2.length ? a2.call(l2, 1) : [], n3.length === 0 ? (d = s4.getTextWithoutBlockBreak(), u2 && (e3 += 1)) : d = s4.text, h = h.insertTextAtRange(d, e3), n3.length === 0 ? h : (o3 = new this.constructor(n3), e3 += d.getLength(), h.insertDocumentAtRange(o3, e3))); - }, c2.prototype.addAttributeAtRange = function(t4, e3, i2) { - var o3; - return o3 = this.blockList, this.eachBlockAtRange(i2, function(i3, r3, s4) { - return o3 = o3.editObjectAtIndex(s4, function() { - return n2(t4) ? i3.addAttribute(t4, e3) : r3[0] === r3[1] ? i3 : i3.copyWithText(i3.text.addAttributeAtRange(t4, e3, r3)); - }); - }), new this.constructor(o3); - }, c2.prototype.addAttribute = function(t4, e3) { - var n3; - return n3 = this.blockList, this.eachBlock(function(i2, o3) { - return n3 = n3.editObjectAtIndex(o3, function() { - return i2.addAttribute(t4, e3); - }); - }), new this.constructor(n3); - }, c2.prototype.removeAttributeAtRange = function(t4, e3) { - var i2; - return i2 = this.blockList, this.eachBlockAtRange(e3, function(e4, o3, r3) { - return n2(t4) ? i2 = i2.editObjectAtIndex(r3, function() { - return e4.removeAttribute(t4); - }) : o3[0] !== o3[1] ? i2 = i2.editObjectAtIndex(r3, function() { - return e4.copyWithText(e4.text.removeAttributeAtRange(t4, o3)); - }) : void 0; - }), new this.constructor(i2); - }, c2.prototype.updateAttributesForAttachment = function(t4, e3) { - var n3, i2, o3, r3; - return o3 = (i2 = this.getRangeOfAttachment(e3))[0], n3 = this.locationFromPosition(o3).index, r3 = this.getTextAtIndex(n3), new this.constructor(this.blockList.editObjectAtIndex(n3, function(n4) { - return n4.copyWithText(r3.updateAttributesForAttachment(t4, e3)); - })); - }, c2.prototype.removeAttributeForAttachment = function(t4, e3) { - var n3; - return n3 = this.getRangeOfAttachment(e3), this.removeAttributeAtRange(t4, n3); - }, c2.prototype.insertBlockBreakAtRange = function(t4) { - var n3, o3, r3, s4; - return s4 = (t4 = i(t4))[0], r3 = this.locationFromPosition(s4).offset, o3 = this.removeTextAtRange(t4), r3 === 0 && (n3 = [new e2.Block()]), new this.constructor(o3.blockList.insertSplittableListAtPosition(new e2.SplittableList(n3), s4)); - }, c2.prototype.applyBlockAttributeAtRange = function(t4, e3, i2) { - var o3, r3, s4, a3; - return s4 = this.expandRangeToLineBreaksAndSplitBlocks(i2), r3 = s4.document, i2 = s4.range, o3 = n2(t4), o3.listAttribute ? (r3 = r3.removeLastListAttributeAtRange(i2, { exceptAttributeName: t4 }), a3 = r3.convertLineBreaksToBlockBreaksInRange(i2), r3 = a3.document, i2 = a3.range) : r3 = o3.exclusive ? r3.removeBlockAttributesAtRange(i2) : o3.terminal ? r3.removeLastTerminalAttributeAtRange(i2) : r3.consolidateBlocksAtRange(i2), r3.addAttributeAtRange(t4, e3, i2); - }, c2.prototype.removeLastListAttributeAtRange = function(t4, e3) { - var i2; - return e3 == null && (e3 = {}), i2 = this.blockList, this.eachBlockAtRange(t4, function(t5, o3, r3) { - var s4; - if ((s4 = t5.getLastAttribute()) && n2(s4).listAttribute && s4 !== e3.exceptAttributeName) - return i2 = i2.editObjectAtIndex(r3, function() { - return t5.removeAttribute(s4); - }); - }), new this.constructor(i2); - }, c2.prototype.removeLastTerminalAttributeAtRange = function(t4) { - var e3; - return e3 = this.blockList, this.eachBlockAtRange(t4, function(t5, i2, o3) { - var r3; - if ((r3 = t5.getLastAttribute()) && n2(r3).terminal) - return e3 = e3.editObjectAtIndex(o3, function() { - return t5.removeAttribute(r3); - }); - }), new this.constructor(e3); - }, c2.prototype.removeBlockAttributesAtRange = function(t4) { - var e3; - return e3 = this.blockList, this.eachBlockAtRange(t4, function(t5, n3, i2) { - return t5.hasAttributes() ? e3 = e3.editObjectAtIndex(i2, function() { - return t5.copyWithoutAttributes(); - }) : void 0; - }), new this.constructor(e3); - }, c2.prototype.expandRangeToLineBreaksAndSplitBlocks = function(t4) { - var e3, n3, o3, r3, s4, a3, u2, c3, l2; - return a3 = t4 = i(t4), l2 = a3[0], r3 = a3[1], c3 = this.locationFromPosition(l2), o3 = this.locationFromPosition(r3), e3 = this, u2 = e3.getBlockAtIndex(c3.index), (c3.offset = u2.findLineBreakInDirectionFromPosition("backward", c3.offset)) != null && (s4 = e3.positionFromLocation(c3), e3 = e3.insertBlockBreakAtRange([s4, s4 + 1]), o3.index += 1, o3.offset -= e3.getBlockAtIndex(c3.index).getLength(), c3.index += 1), c3.offset = 0, o3.offset === 0 && o3.index > c3.index ? (o3.index -= 1, o3.offset = e3.getBlockAtIndex(o3.index).getBlockBreakPosition()) : (n3 = e3.getBlockAtIndex(o3.index), n3.text.getStringAtRange([o3.offset - 1, o3.offset]) === "\n" ? o3.offset -= 1 : o3.offset = n3.findLineBreakInDirectionFromPosition("forward", o3.offset), o3.offset !== n3.getBlockBreakPosition() && (s4 = e3.positionFromLocation(o3), e3 = e3.insertBlockBreakAtRange([s4, s4 + 1]))), l2 = e3.positionFromLocation(c3), r3 = e3.positionFromLocation(o3), t4 = i([l2, r3]), { document: e3, range: t4 }; - }, c2.prototype.convertLineBreaksToBlockBreaksInRange = function(t4) { - var e3, n3, o3; - return n3 = (t4 = i(t4))[0], o3 = this.getStringAtRange(t4).slice(0, -1), e3 = this, o3.replace(/.*?\n/g, function(t5) { - return n3 += t5.length, e3 = e3.insertBlockBreakAtRange([n3 - 1, n3]); - }), { document: e3, range: t4 }; - }, c2.prototype.consolidateBlocksAtRange = function(t4) { - var e3, n3, o3, r3, s4; - return o3 = t4 = i(t4), s4 = o3[0], n3 = o3[1], r3 = this.locationFromPosition(s4).index, e3 = this.locationFromPosition(n3).index, new this.constructor(this.blockList.consolidateFromIndexToIndex(r3, e3)); - }, c2.prototype.getDocumentAtRange = function(t4) { - var e3; - return t4 = i(t4), e3 = this.blockList.getSplittableListInRange(t4).toArray(), new this.constructor(e3); - }, c2.prototype.getStringAtRange = function(t4) { - var e3, n3, o3; - return o3 = t4 = i(t4), n3 = o3[o3.length - 1], n3 !== this.getLength() && (e3 = -1), this.getDocumentAtRange(t4).toString().slice(0, e3); - }, c2.prototype.getBlockAtIndex = function(t4) { - return this.blockList.getObjectAtIndex(t4); - }, c2.prototype.getBlockAtPosition = function(t4) { - var e3; - return e3 = this.locationFromPosition(t4).index, this.getBlockAtIndex(e3); - }, c2.prototype.getTextAtIndex = function(t4) { - var e3; - return (e3 = this.getBlockAtIndex(t4)) != null ? e3.text : void 0; - }, c2.prototype.getTextAtPosition = function(t4) { - var e3; - return e3 = this.locationFromPosition(t4).index, this.getTextAtIndex(e3); - }, c2.prototype.getPieceAtPosition = function(t4) { - var e3, n3, i2; - return i2 = this.locationFromPosition(t4), e3 = i2.index, n3 = i2.offset, this.getTextAtIndex(e3).getPieceAtPosition(n3); - }, c2.prototype.getCharacterAtPosition = function(t4) { - var e3, n3, i2; - return i2 = this.locationFromPosition(t4), e3 = i2.index, n3 = i2.offset, this.getTextAtIndex(e3).getStringAtRange([n3, n3 + 1]); - }, c2.prototype.getLength = function() { - return this.blockList.getEndPosition(); - }, c2.prototype.getBlocks = function() { - return this.blockList.toArray(); - }, c2.prototype.getBlockCount = function() { - return this.blockList.length; - }, c2.prototype.getEditCount = function() { - return this.editCount; - }, c2.prototype.eachBlock = function(t4) { - return this.blockList.eachObject(t4); - }, c2.prototype.eachBlockAtRange = function(t4, e3) { - var n3, o3, r3, s4, a3, u2, c3, l2, h, p2, d, f; - if (u2 = t4 = i(t4), d = u2[0], r3 = u2[1], p2 = this.locationFromPosition(d), o3 = this.locationFromPosition(r3), p2.index === o3.index) - return n3 = this.getBlockAtIndex(p2.index), f = [p2.offset, o3.offset], e3(n3, f, p2.index); - for (h = [], a3 = s4 = c3 = p2.index, l2 = o3.index; l2 >= c3 ? l2 >= s4 : s4 >= l2; a3 = l2 >= c3 ? ++s4 : --s4) - (n3 = this.getBlockAtIndex(a3)) ? (f = function() { - switch (a3) { - case p2.index: - return [p2.offset, n3.text.getLength()]; - case o3.index: - return [0, o3.offset]; - default: - return [0, n3.text.getLength()]; - } - }(), h.push(e3(n3, f, a3))) : h.push(void 0); - return h; - }, c2.prototype.getCommonAttributesAtRange = function(t4) { - var n3, r3, s4; - return r3 = (t4 = i(t4))[0], o2(t4) ? this.getCommonAttributesAtPosition(r3) : (s4 = [], n3 = [], this.eachBlockAtRange(t4, function(t5, e3) { - return e3[0] !== e3[1] ? (s4.push(t5.text.getCommonAttributesAtRange(e3)), n3.push(l(t5))) : void 0; - }), e2.Hash.fromCommonAttributesOfObjects(s4).merge(e2.Hash.fromCommonAttributesOfObjects(n3)).toObject()); - }, c2.prototype.getCommonAttributesAtPosition = function(t4) { - var n3, i2, o3, r3, s4, a3, c3, h, p2, d; - if (p2 = this.locationFromPosition(t4), s4 = p2.index, h = p2.offset, o3 = this.getBlockAtIndex(s4), !o3) - return {}; - r3 = l(o3), n3 = o3.text.getAttributesAtPosition(h), i2 = o3.text.getAttributesAtPosition(h - 1), a3 = function() { - var t5, n4; - t5 = e2.config.textAttributes, n4 = []; - for (c3 in t5) - d = t5[c3], d.inheritable && n4.push(c3); - return n4; - }(); - for (c3 in i2) - d = i2[c3], (d === n3[c3] || u.call(a3, c3) >= 0) && (r3[c3] = d); - return r3; - }, c2.prototype.getRangeOfCommonAttributeAtPosition = function(t4, e3) { - var n3, o3, r3, s4, a3, u2, c3, l2, h; - return a3 = this.locationFromPosition(e3), r3 = a3.index, s4 = a3.offset, h = this.getTextAtIndex(r3), u2 = h.getExpandedRangeForAttributeAtOffset(t4, s4), l2 = u2[0], o3 = u2[1], c3 = this.positionFromLocation({ index: r3, offset: l2 }), n3 = this.positionFromLocation({ index: r3, offset: o3 }), i([c3, n3]); - }, c2.prototype.getBaseBlockAttributes = function() { - var t4, e3, n3, i2, o3, r3, s4; - for (t4 = this.getBlockAtIndex(0).getAttributes(), n3 = i2 = 1, s4 = this.getBlockCount(); s4 >= 1 ? s4 > i2 : i2 > s4; n3 = s4 >= 1 ? ++i2 : --i2) - e3 = this.getBlockAtIndex(n3).getAttributes(), r3 = Math.min(t4.length, e3.length), t4 = function() { - var n4, i3, s5; - for (s5 = [], o3 = n4 = 0, i3 = r3; (i3 >= 0 ? i3 > n4 : n4 > i3) && e3[o3] === t4[o3]; o3 = i3 >= 0 ? ++n4 : --n4) - s5.push(e3[o3]); - return s5; - }(); - return t4; - }, l = function(t4) { - var e3, n3; - return n3 = {}, (e3 = t4.getLastAttribute()) && (n3[e3] = true), n3; - }, c2.prototype.getAttachmentById = function(t4) { - var e3, n3, i2, o3; - for (o3 = this.getAttachments(), n3 = 0, i2 = o3.length; i2 > n3; n3++) - if (e3 = o3[n3], e3.id === t4) - return e3; - }, c2.prototype.getAttachmentPieces = function() { - var t4; - return t4 = [], this.blockList.eachObject(function(e3) { - var n3; - return n3 = e3.text, t4 = t4.concat(n3.getAttachmentPieces()); - }), t4; - }, c2.prototype.getAttachments = function() { - var t4, e3, n3, i2, o3; - for (i2 = this.getAttachmentPieces(), o3 = [], t4 = 0, e3 = i2.length; e3 > t4; t4++) - n3 = i2[t4], o3.push(n3.attachment); - return o3; - }, c2.prototype.getRangeOfAttachment = function(t4) { - var e3, n3, o3, r3, s4, a3, u2; - for (r3 = 0, s4 = this.blockList.toArray(), n3 = e3 = 0, o3 = s4.length; o3 > e3; n3 = ++e3) { - if (a3 = s4[n3].text, u2 = a3.getRangeOfAttachment(t4)) - return i([r3 + u2[0], r3 + u2[1]]); - r3 += a3.getLength(); - } - }, c2.prototype.getLocationRangeOfAttachment = function(t4) { - var e3; - return e3 = this.getRangeOfAttachment(t4), this.locationRangeFromRange(e3); - }, c2.prototype.getAttachmentPieceForAttachment = function(t4) { - var e3, n3, i2, o3; - for (o3 = this.getAttachmentPieces(), e3 = 0, n3 = o3.length; n3 > e3; e3++) - if (i2 = o3[e3], i2.attachment === t4) - return i2; - }, c2.prototype.findRangesForBlockAttribute = function(t4) { - var e3, n3, i2, o3, r3, s4, a3; - for (r3 = 0, s4 = [], a3 = this.getBlocks(), n3 = 0, i2 = a3.length; i2 > n3; n3++) - e3 = a3[n3], o3 = e3.getLength(), e3.hasAttribute(t4) && s4.push([r3, r3 + o3]), r3 += o3; - return s4; - }, c2.prototype.findRangesForTextAttribute = function(t4, e3) { - var n3, i2, o3, r3, s4, a3, u2, c3, l2, h; - for (h = (e3 != null ? e3 : {}).withValue, a3 = 0, u2 = [], c3 = [], r3 = function(e4) { - return h != null ? e4.getAttribute(t4) === h : e4.hasAttribute(t4); - }, l2 = this.getPieces(), n3 = 0, i2 = l2.length; i2 > n3; n3++) - s4 = l2[n3], o3 = s4.getLength(), r3(s4) && (u2[1] === a3 ? u2[1] = a3 + o3 : c3.push(u2 = [a3, a3 + o3])), a3 += o3; - return c3; - }, c2.prototype.locationFromPosition = function(t4) { - var e3, n3; - return n3 = this.blockList.findIndexAndOffsetAtPosition(Math.max(0, t4)), n3.index != null ? n3 : (e3 = this.getBlocks(), { index: e3.length - 1, offset: e3[e3.length - 1].getLength() }); - }, c2.prototype.positionFromLocation = function(t4) { - return this.blockList.findPositionAtIndexAndOffset(t4.index, t4.offset); - }, c2.prototype.locationRangeFromPosition = function(t4) { - return i(this.locationFromPosition(t4)); - }, c2.prototype.locationRangeFromRange = function(t4) { - var e3, n3, o3, r3; - if (t4 = i(t4)) - return r3 = t4[0], n3 = t4[1], o3 = this.locationFromPosition(r3), e3 = this.locationFromPosition(n3), i([o3, e3]); - }, c2.prototype.rangeFromLocationRange = function(t4) { - var e3, n3; - return t4 = i(t4), e3 = this.positionFromLocation(t4[0]), o2(t4) || (n3 = this.positionFromLocation(t4[1])), i([e3, n3]); - }, c2.prototype.isEqualTo = function(t4) { - return this.blockList.isEqualTo(t4 != null ? t4.blockList : void 0); - }, c2.prototype.getTexts = function() { - var t4, e3, n3, i2, o3; - for (i2 = this.getBlocks(), o3 = [], e3 = 0, n3 = i2.length; n3 > e3; e3++) - t4 = i2[e3], o3.push(t4.text); - return o3; - }, c2.prototype.getPieces = function() { - var t4, e3, n3, i2, o3; - for (n3 = [], i2 = this.getTexts(), t4 = 0, e3 = i2.length; e3 > t4; t4++) - o3 = i2[t4], n3.push.apply(n3, o3.getPieces()); - return n3; - }, c2.prototype.getObjects = function() { - return this.getBlocks().concat(this.getTexts()).concat(this.getPieces()); - }, c2.prototype.toSerializableDocument = function() { - var t4; - return t4 = [], this.blockList.eachObject(function(e3) { - return t4.push(e3.copyWithText(e3.text.toSerializableText())); - }), new this.constructor(t4); - }, c2.prototype.toString = function() { - return this.blockList.toString(); - }, c2.prototype.toJSON = function() { - return this.blockList.toJSON(); - }, c2.prototype.toConsole = function() { - var t4; - return JSON.stringify(function() { - var e3, n3, i2, o3; - for (i2 = this.blockList.toArray(), o3 = [], e3 = 0, n3 = i2.length; n3 > e3; e3++) - t4 = i2[e3], o3.push(JSON.parse(t4.text.toConsole())); - return o3; - }.call(this)); - }, c2; - }(e2.Object); - }.call(this), function() { - e2.LineBreakInsertion = function() { - function t3(t4) { - var e3; - this.composition = t4, this.document = this.composition.document, e3 = this.composition.getSelectedRange(), this.startPosition = e3[0], this.endPosition = e3[1], this.startLocation = this.document.locationFromPosition(this.startPosition), this.endLocation = this.document.locationFromPosition(this.endPosition), this.block = this.document.getBlockAtIndex(this.endLocation.index), this.breaksOnReturn = this.block.breaksOnReturn(), this.previousCharacter = this.block.text.getStringAtPosition(this.endLocation.offset - 1), this.nextCharacter = this.block.text.getStringAtPosition(this.endLocation.offset); - } - return t3.prototype.shouldInsertBlockBreak = function() { - return this.block.hasAttributes() && this.block.isListItem() && !this.block.isEmpty() ? this.startLocation.offset !== 0 : this.breaksOnReturn && this.nextCharacter !== "\n"; - }, t3.prototype.shouldBreakFormattedBlock = function() { - return this.block.hasAttributes() && !this.block.isListItem() && (this.breaksOnReturn && this.nextCharacter === "\n" || this.previousCharacter === "\n"); - }, t3.prototype.shouldDecreaseListLevel = function() { - return this.block.hasAttributes() && this.block.isListItem() && this.block.isEmpty(); - }, t3.prototype.shouldPrependListItem = function() { - return this.block.isListItem() && this.startLocation.offset === 0 && !this.block.isEmpty(); - }, t3.prototype.shouldRemoveLastBlockAttribute = function() { - return this.block.hasAttributes() && !this.block.isListItem() && this.block.isEmpty(); - }, t3; - }(); - }.call(this), function() { - var t3, n2, i, o2, r2, s2, a2, u, c2, l, h = function(t4, e3) { - function n3() { - this.constructor = t4; - } - for (var i2 in e3) - p2.call(e3, i2) && (t4[i2] = e3[i2]); - return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; - }, p2 = {}.hasOwnProperty; - s2 = e2.normalizeRange, c2 = e2.rangesAreEqual, u = e2.rangeIsCollapsed, a2 = e2.objectsAreEqual, t3 = e2.arrayStartsWith, l = e2.summarizeArrayChange, i = e2.getAllAttributeNames, o2 = e2.getBlockConfig, r2 = e2.getTextConfig, n2 = e2.extend, e2.Composition = function(p3) { - function d() { - this.document = new e2.Document(), this.attachments = [], this.currentAttributes = {}, this.revision = 0; - } - var f; - return h(d, p3), d.prototype.setDocument = function(t4) { - var e3; - return t4.isEqualTo(this.document) ? void 0 : (this.document = t4, this.refreshAttachments(), this.revision++, (e3 = this.delegate) != null && typeof e3.compositionDidChangeDocument == "function" ? e3.compositionDidChangeDocument(t4) : void 0); - }, d.prototype.getSnapshot = function() { - return { document: this.document, selectedRange: this.getSelectedRange() }; - }, d.prototype.loadSnapshot = function(t4) { - var n3, i2, o3, r3; - return n3 = t4.document, r3 = t4.selectedRange, (i2 = this.delegate) != null && typeof i2.compositionWillLoadSnapshot == "function" && i2.compositionWillLoadSnapshot(), this.setDocument(n3 != null ? n3 : new e2.Document()), this.setSelection(r3 != null ? r3 : [0, 0]), (o3 = this.delegate) != null && typeof o3.compositionDidLoadSnapshot == "function" ? o3.compositionDidLoadSnapshot() : void 0; - }, d.prototype.insertText = function(t4, e3) { - var n3, i2, o3, r3; - return r3 = (e3 != null ? e3 : { updatePosition: true }).updatePosition, i2 = this.getSelectedRange(), this.setDocument(this.document.insertTextAtRange(t4, i2)), o3 = i2[0], n3 = o3 + t4.getLength(), r3 && this.setSelection(n3), this.notifyDelegateOfInsertionAtRange([o3, n3]); - }, d.prototype.insertBlock = function(t4) { - var n3; - return t4 == null && (t4 = new e2.Block()), n3 = new e2.Document([t4]), this.insertDocument(n3); - }, d.prototype.insertDocument = function(t4) { - var n3, i2, o3; - return t4 == null && (t4 = new e2.Document()), i2 = this.getSelectedRange(), this.setDocument(this.document.insertDocumentAtRange(t4, i2)), o3 = i2[0], n3 = o3 + t4.getLength(), this.setSelection(n3), this.notifyDelegateOfInsertionAtRange([o3, n3]); - }, d.prototype.insertString = function(t4, n3) { - var i2, o3; - return i2 = this.getCurrentTextAttributes(), o3 = e2.Text.textForStringWithAttributes(t4, i2), this.insertText(o3, n3); - }, d.prototype.insertBlockBreak = function() { - var t4, e3, n3; - return e3 = this.getSelectedRange(), this.setDocument(this.document.insertBlockBreakAtRange(e3)), n3 = e3[0], t4 = n3 + 1, this.setSelection(t4), this.notifyDelegateOfInsertionAtRange([n3, t4]); - }, d.prototype.insertLineBreak = function() { - var t4, n3; - return n3 = new e2.LineBreakInsertion(this), n3.shouldDecreaseListLevel() ? (this.decreaseListLevel(), this.setSelection(n3.startPosition)) : n3.shouldPrependListItem() ? (t4 = new e2.Document([n3.block.copyWithoutText()]), this.insertDocument(t4)) : n3.shouldInsertBlockBreak() ? this.insertBlockBreak() : n3.shouldRemoveLastBlockAttribute() ? this.removeLastBlockAttribute() : n3.shouldBreakFormattedBlock() ? this.breakFormattedBlock(n3) : this.insertString("\n"); - }, d.prototype.insertHTML = function(t4) { - var n3, i2, o3, r3; - return n3 = e2.Document.fromHTML(t4), o3 = this.getSelectedRange(), this.setDocument(this.document.mergeDocumentAtRange(n3, o3)), r3 = o3[0], i2 = r3 + n3.getLength() - 1, this.setSelection(i2), this.notifyDelegateOfInsertionAtRange([r3, i2]); - }, d.prototype.replaceHTML = function(t4) { - var n3, i2, o3; - return n3 = e2.Document.fromHTML(t4).copyUsingObjectsFromDocument(this.document), i2 = this.getLocationRange({ strict: false }), o3 = this.document.rangeFromLocationRange(i2), this.setDocument(n3), this.setSelection(o3); - }, d.prototype.insertFile = function(t4) { - return this.insertFiles([t4]); - }, d.prototype.insertFiles = function(t4) { - var n3, i2, o3, r3, s3, a3; - for (i2 = [], r3 = 0, s3 = t4.length; s3 > r3; r3++) - o3 = t4[r3], ((a3 = this.delegate) != null ? a3.compositionShouldAcceptFile(o3) : void 0) && (n3 = e2.Attachment.attachmentForFile(o3), i2.push(n3)); - return this.insertAttachments(i2); - }, d.prototype.insertAttachment = function(t4) { - return this.insertAttachments([t4]); - }, d.prototype.insertAttachments = function(t4) { - var n3, i2, o3, r3, s3, a3, u2, c3, l2; - for (c3 = new e2.Text(), r3 = 0, s3 = t4.length; s3 > r3; r3++) - n3 = t4[r3], l2 = n3.getType(), a3 = (u2 = e2.config.attachments[l2]) != null ? u2.presentation : void 0, o3 = this.getCurrentTextAttributes(), a3 && (o3.presentation = a3), i2 = e2.Text.textForAttachmentWithAttributes(n3, o3), c3 = c3.appendText(i2); - return this.insertText(c3); - }, d.prototype.shouldManageDeletingInDirection = function(t4) { - var e3; - if (e3 = this.getLocationRange(), u(e3)) { - if (t4 === "backward" && e3[0].offset === 0) - return true; - if (this.shouldManageMovingCursorInDirection(t4)) - return true; - } else if (e3[0].index !== e3[1].index) - return true; - return false; - }, d.prototype.deleteInDirection = function(t4, e3) { - var n3, i2, o3, r3, s3, a3, c3, l2; - return r3 = (e3 != null ? e3 : {}).length, s3 = this.getLocationRange(), a3 = this.getSelectedRange(), c3 = u(a3), c3 ? o3 = t4 === "backward" && s3[0].offset === 0 : l2 = s3[0].index !== s3[1].index, o3 && this.canDecreaseBlockAttributeLevel() && (i2 = this.getBlock(), i2.isListItem() ? this.decreaseListLevel() : this.decreaseBlockAttributeLevel(), this.setSelection(a3[0]), i2.isEmpty()) ? false : (c3 && (a3 = this.getExpandedRangeInDirection(t4, { length: r3 }), t4 === "backward" && (n3 = this.getAttachmentAtRange(a3))), n3 ? (this.editAttachment(n3), false) : (this.setDocument(this.document.removeTextAtRange(a3)), this.setSelection(a3[0]), o3 || l2 ? false : void 0)); - }, d.prototype.moveTextFromRange = function(t4) { - var e3; - return e3 = this.getSelectedRange()[0], this.setDocument(this.document.moveTextFromRangeToPosition(t4, e3)), this.setSelection(e3); - }, d.prototype.removeAttachment = function(t4) { - var e3; - return (e3 = this.document.getRangeOfAttachment(t4)) ? (this.stopEditingAttachment(), this.setDocument(this.document.removeTextAtRange(e3)), this.setSelection(e3[0])) : void 0; - }, d.prototype.removeLastBlockAttribute = function() { - var t4, e3, n3, i2; - return n3 = this.getSelectedRange(), i2 = n3[0], e3 = n3[1], t4 = this.document.getBlockAtPosition(e3), this.removeCurrentAttribute(t4.getLastAttribute()), this.setSelection(i2); - }, f = " ", d.prototype.insertPlaceholder = function() { - return this.placeholderPosition = this.getPosition(), this.insertString(f); - }, d.prototype.selectPlaceholder = function() { - return this.placeholderPosition != null ? (this.setSelectedRange([this.placeholderPosition, this.placeholderPosition + f.length]), this.getSelectedRange()) : void 0; - }, d.prototype.forgetPlaceholder = function() { - return this.placeholderPosition = null; - }, d.prototype.hasCurrentAttribute = function(t4) { - var e3; - return e3 = this.currentAttributes[t4], e3 != null && e3 !== false; - }, d.prototype.toggleCurrentAttribute = function(t4) { - var e3; - return (e3 = !this.currentAttributes[t4]) ? this.setCurrentAttribute(t4, e3) : this.removeCurrentAttribute(t4); - }, d.prototype.canSetCurrentAttribute = function(t4) { - return o2(t4) ? this.canSetCurrentBlockAttribute(t4) : this.canSetCurrentTextAttribute(t4); - }, d.prototype.canSetCurrentTextAttribute = function() { - var t4, e3, n3, i2, o3; - if (e3 = this.getSelectedDocument()) { - for (o3 = e3.getAttachments(), n3 = 0, i2 = o3.length; i2 > n3; n3++) - if (t4 = o3[n3], !t4.hasContent()) - return false; - return true; - } - }, d.prototype.canSetCurrentBlockAttribute = function() { - var t4; - if (t4 = this.getBlock()) - return !t4.isTerminalBlock(); - }, d.prototype.setCurrentAttribute = function(t4, e3) { - return o2(t4) ? this.setBlockAttribute(t4, e3) : (this.setTextAttribute(t4, e3), this.currentAttributes[t4] = e3, this.notifyDelegateOfCurrentAttributesChange()); - }, d.prototype.setTextAttribute = function(t4, n3) { - var i2, o3, r3, s3; - if (o3 = this.getSelectedRange()) - return r3 = o3[0], i2 = o3[1], r3 !== i2 ? this.setDocument(this.document.addAttributeAtRange(t4, n3, o3)) : t4 === "href" ? (s3 = e2.Text.textForStringWithAttributes(n3, { href: n3 }), this.insertText(s3)) : void 0; - }, d.prototype.setBlockAttribute = function(t4, e3) { - var n3, i2; - if (i2 = this.getSelectedRange()) - return this.canSetCurrentAttribute(t4) ? (n3 = this.getBlock(), this.setDocument(this.document.applyBlockAttributeAtRange(t4, e3, i2)), this.setSelection(i2)) : void 0; - }, d.prototype.removeCurrentAttribute = function(t4) { - return o2(t4) ? (this.removeBlockAttribute(t4), this.updateCurrentAttributes()) : (this.removeTextAttribute(t4), delete this.currentAttributes[t4], this.notifyDelegateOfCurrentAttributesChange()); - }, d.prototype.removeTextAttribute = function(t4) { - var e3; - if (e3 = this.getSelectedRange()) - return this.setDocument(this.document.removeAttributeAtRange(t4, e3)); - }, d.prototype.removeBlockAttribute = function(t4) { - var e3; - if (e3 = this.getSelectedRange()) - return this.setDocument(this.document.removeAttributeAtRange(t4, e3)); - }, d.prototype.canDecreaseNestingLevel = function() { - var t4; - return ((t4 = this.getBlock()) != null ? t4.getNestingLevel() : void 0) > 0; - }, d.prototype.canIncreaseNestingLevel = function() { - var e3, n3, i2; - if (e3 = this.getBlock()) - return ((i2 = o2(e3.getLastNestableAttribute())) != null ? i2.listAttribute : 0) ? (n3 = this.getPreviousBlock()) ? t3(n3.getListItemAttributes(), e3.getListItemAttributes()) : void 0 : e3.getNestingLevel() > 0; - }, d.prototype.decreaseNestingLevel = function() { - var t4; - if (t4 = this.getBlock()) - return this.setDocument(this.document.replaceBlock(t4, t4.decreaseNestingLevel())); - }, d.prototype.increaseNestingLevel = function() { - var t4; - if (t4 = this.getBlock()) - return this.setDocument(this.document.replaceBlock(t4, t4.increaseNestingLevel())); - }, d.prototype.canDecreaseBlockAttributeLevel = function() { - var t4; - return ((t4 = this.getBlock()) != null ? t4.getAttributeLevel() : void 0) > 0; - }, d.prototype.decreaseBlockAttributeLevel = function() { - var t4, e3; - return (t4 = (e3 = this.getBlock()) != null ? e3.getLastAttribute() : void 0) ? this.removeCurrentAttribute(t4) : void 0; - }, d.prototype.decreaseListLevel = function() { - var t4, e3, n3, i2, o3, r3; - for (r3 = this.getSelectedRange()[0], o3 = this.document.locationFromPosition(r3).index, n3 = o3, t4 = this.getBlock().getAttributeLevel(); (e3 = this.document.getBlockAtIndex(n3 + 1)) && e3.isListItem() && e3.getAttributeLevel() > t4; ) - n3++; - return r3 = this.document.positionFromLocation({ index: o3, offset: 0 }), i2 = this.document.positionFromLocation({ index: n3, offset: 0 }), this.setDocument(this.document.removeLastListAttributeAtRange([r3, i2])); - }, d.prototype.updateCurrentAttributes = function() { - var t4, e3, n3, o3, r3, s3; - if (s3 = this.getSelectedRange({ ignoreLock: true })) { - for (e3 = this.document.getCommonAttributesAtRange(s3), r3 = i(), n3 = 0, o3 = r3.length; o3 > n3; n3++) - t4 = r3[n3], e3[t4] || this.canSetCurrentAttribute(t4) || (e3[t4] = false); - if (!a2(e3, this.currentAttributes)) - return this.currentAttributes = e3, this.notifyDelegateOfCurrentAttributesChange(); - } - }, d.prototype.getCurrentAttributes = function() { - return n2.call({}, this.currentAttributes); - }, d.prototype.getCurrentTextAttributes = function() { - var t4, e3, n3, i2; - t4 = {}, n3 = this.currentAttributes; - for (e3 in n3) - i2 = n3[e3], i2 !== false && r2(e3) && (t4[e3] = i2); - return t4; - }, d.prototype.freezeSelection = function() { - return this.setCurrentAttribute("frozen", true); - }, d.prototype.thawSelection = function() { - return this.removeCurrentAttribute("frozen"); - }, d.prototype.hasFrozenSelection = function() { - return this.hasCurrentAttribute("frozen"); - }, d.proxyMethod("getSelectionManager().getPointRange"), d.proxyMethod("getSelectionManager().setLocationRangeFromPointRange"), d.proxyMethod("getSelectionManager().createLocationRangeFromDOMRange"), d.proxyMethod("getSelectionManager().locationIsCursorTarget"), d.proxyMethod("getSelectionManager().selectionIsExpanded"), d.proxyMethod("delegate?.getSelectionManager"), d.prototype.setSelection = function(t4) { - var e3, n3; - return e3 = this.document.locationRangeFromRange(t4), (n3 = this.delegate) != null ? n3.compositionDidRequestChangingSelectionToLocationRange(e3) : void 0; - }, d.prototype.getSelectedRange = function() { - var t4; - return (t4 = this.getLocationRange()) ? this.document.rangeFromLocationRange(t4) : void 0; - }, d.prototype.setSelectedRange = function(t4) { - var e3; - return e3 = this.document.locationRangeFromRange(t4), this.getSelectionManager().setLocationRange(e3); - }, d.prototype.getPosition = function() { - var t4; - return (t4 = this.getLocationRange()) ? this.document.positionFromLocation(t4[0]) : void 0; - }, d.prototype.getLocationRange = function(t4) { - var e3, n3; - return (e3 = (n3 = this.targetLocationRange) != null ? n3 : this.getSelectionManager().getLocationRange(t4)) != null ? e3 : s2({ index: 0, offset: 0 }); - }, d.prototype.withTargetLocationRange = function(t4, e3) { - var n3; - this.targetLocationRange = t4; - try { - n3 = e3(); - } finally { - this.targetLocationRange = null; - } - return n3; - }, d.prototype.withTargetRange = function(t4, e3) { - var n3; - return n3 = this.document.locationRangeFromRange(t4), this.withTargetLocationRange(n3, e3); - }, d.prototype.withTargetDOMRange = function(t4, e3) { - var n3; - return n3 = this.createLocationRangeFromDOMRange(t4, { strict: false }), this.withTargetLocationRange(n3, e3); - }, d.prototype.getExpandedRangeInDirection = function(t4, e3) { - var n3, i2, o3, r3; - return i2 = (e3 != null ? e3 : {}).length, o3 = this.getSelectedRange(), r3 = o3[0], n3 = o3[1], t4 === "backward" ? i2 ? r3 -= i2 : r3 = this.translateUTF16PositionFromOffset(r3, -1) : i2 ? n3 += i2 : n3 = this.translateUTF16PositionFromOffset(n3, 1), s2([r3, n3]); - }, d.prototype.shouldManageMovingCursorInDirection = function(t4) { - var e3; - return this.editingAttachment ? true : (e3 = this.getExpandedRangeInDirection(t4), this.getAttachmentAtRange(e3) != null); - }, d.prototype.moveCursorInDirection = function(t4) { - var e3, n3, i2, o3; - return this.editingAttachment ? i2 = this.document.getRangeOfAttachment(this.editingAttachment) : (o3 = this.getSelectedRange(), i2 = this.getExpandedRangeInDirection(t4), n3 = !c2(o3, i2)), this.setSelectedRange(t4 === "backward" ? i2[0] : i2[1]), n3 && (e3 = this.getAttachmentAtRange(i2)) ? this.editAttachment(e3) : void 0; - }, d.prototype.expandSelectionInDirection = function(t4, e3) { - var n3, i2; - return n3 = (e3 != null ? e3 : {}).length, i2 = this.getExpandedRangeInDirection(t4, { length: n3 }), this.setSelectedRange(i2); - }, d.prototype.expandSelectionForEditing = function() { - return this.hasCurrentAttribute("href") ? this.expandSelectionAroundCommonAttribute("href") : void 0; - }, d.prototype.expandSelectionAroundCommonAttribute = function(t4) { - var e3, n3; - return e3 = this.getPosition(), n3 = this.document.getRangeOfCommonAttributeAtPosition(t4, e3), this.setSelectedRange(n3); - }, d.prototype.selectionContainsAttachments = function() { - var t4; - return ((t4 = this.getSelectedAttachments()) != null ? t4.length : void 0) > 0; - }, d.prototype.selectionIsInCursorTarget = function() { - return this.editingAttachment || this.positionIsCursorTarget(this.getPosition()); - }, d.prototype.positionIsCursorTarget = function(t4) { - var e3; - return (e3 = this.document.locationFromPosition(t4)) ? this.locationIsCursorTarget(e3) : void 0; - }, d.prototype.positionIsBlockBreak = function(t4) { - var e3; - return (e3 = this.document.getPieceAtPosition(t4)) != null ? e3.isBlockBreak() : void 0; - }, d.prototype.getSelectedDocument = function() { - var t4; - return (t4 = this.getSelectedRange()) ? this.document.getDocumentAtRange(t4) : void 0; - }, d.prototype.getSelectedAttachments = function() { - var t4; - return (t4 = this.getSelectedDocument()) != null ? t4.getAttachments() : void 0; - }, d.prototype.getAttachments = function() { - return this.attachments.slice(0); - }, d.prototype.refreshAttachments = function() { - var t4, e3, n3, i2, o3, r3, s3, a3, u2, c3, h2, p4; - for (n3 = this.document.getAttachments(), a3 = l(this.attachments, n3), t4 = a3.added, h2 = a3.removed, this.attachments = n3, i2 = 0, r3 = h2.length; r3 > i2; i2++) - e3 = h2[i2], e3.delegate = null, (u2 = this.delegate) != null && typeof u2.compositionDidRemoveAttachment == "function" && u2.compositionDidRemoveAttachment(e3); - for (p4 = [], o3 = 0, s3 = t4.length; s3 > o3; o3++) - e3 = t4[o3], e3.delegate = this, p4.push((c3 = this.delegate) != null && typeof c3.compositionDidAddAttachment == "function" ? c3.compositionDidAddAttachment(e3) : void 0); - return p4; - }, d.prototype.attachmentDidChangeAttributes = function(t4) { - var e3; - return this.revision++, (e3 = this.delegate) != null && typeof e3.compositionDidEditAttachment == "function" ? e3.compositionDidEditAttachment(t4) : void 0; - }, d.prototype.attachmentDidChangePreviewURL = function(t4) { - var e3; - return this.revision++, (e3 = this.delegate) != null && typeof e3.compositionDidChangeAttachmentPreviewURL == "function" ? e3.compositionDidChangeAttachmentPreviewURL(t4) : void 0; - }, d.prototype.editAttachment = function(t4, e3) { - var n3; - if (t4 !== this.editingAttachment) - return this.stopEditingAttachment(), this.editingAttachment = t4, (n3 = this.delegate) != null && typeof n3.compositionDidStartEditingAttachment == "function" ? n3.compositionDidStartEditingAttachment(this.editingAttachment, e3) : void 0; - }, d.prototype.stopEditingAttachment = function() { - var t4; - if (this.editingAttachment) - return (t4 = this.delegate) != null && typeof t4.compositionDidStopEditingAttachment == "function" && t4.compositionDidStopEditingAttachment(this.editingAttachment), this.editingAttachment = null; - }, d.prototype.updateAttributesForAttachment = function(t4, e3) { - return this.setDocument(this.document.updateAttributesForAttachment(t4, e3)); - }, d.prototype.removeAttributeForAttachment = function(t4, e3) { - return this.setDocument(this.document.removeAttributeForAttachment(t4, e3)); - }, d.prototype.breakFormattedBlock = function(t4) { - var n3, i2, o3, r3, s3; - return i2 = t4.document, n3 = t4.block, r3 = t4.startPosition, s3 = [r3 - 1, r3], n3.getBlockBreakPosition() === t4.startLocation.offset ? (n3.breaksOnReturn() && t4.nextCharacter === "\n" ? r3 += 1 : i2 = i2.removeTextAtRange(s3), s3 = [r3, r3]) : t4.nextCharacter === "\n" ? t4.previousCharacter === "\n" ? s3 = [r3 - 1, r3 + 1] : (s3 = [r3, r3 + 1], r3 += 1) : t4.startLocation.offset - 1 !== 0 && (r3 += 1), o3 = new e2.Document([n3.removeLastAttribute().copyWithoutText()]), this.setDocument(i2.insertDocumentAtRange(o3, s3)), this.setSelection(r3); - }, d.prototype.getPreviousBlock = function() { - var t4, e3; - return (e3 = this.getLocationRange()) && (t4 = e3[0].index, t4 > 0) ? this.document.getBlockAtIndex(t4 - 1) : void 0; - }, d.prototype.getBlock = function() { - var t4; - return (t4 = this.getLocationRange()) ? this.document.getBlockAtIndex(t4[0].index) : void 0; - }, d.prototype.getAttachmentAtRange = function(t4) { - var n3; - return n3 = this.document.getDocumentAtRange(t4), n3.toString() === e2.OBJECT_REPLACEMENT_CHARACTER + "\n" ? n3.getAttachments()[0] : void 0; - }, d.prototype.notifyDelegateOfCurrentAttributesChange = function() { - var t4; - return (t4 = this.delegate) != null && typeof t4.compositionDidChangeCurrentAttributes == "function" ? t4.compositionDidChangeCurrentAttributes(this.currentAttributes) : void 0; - }, d.prototype.notifyDelegateOfInsertionAtRange = function(t4) { - var e3; - return (e3 = this.delegate) != null && typeof e3.compositionDidPerformInsertionAtRange == "function" ? e3.compositionDidPerformInsertionAtRange(t4) : void 0; - }, d.prototype.translateUTF16PositionFromOffset = function(t4, e3) { - var n3, i2; - return i2 = this.document.toUTF16String(), n3 = i2.offsetFromUCS2Offset(t4), i2.offsetToUCS2Offset(n3 + e3); - }, d; - }(e2.BasicObject); - }.call(this), function() { - var t3 = function(t4, e3) { - function i() { - this.constructor = t4; - } - for (var o2 in e3) - n2.call(e3, o2) && (t4[o2] = e3[o2]); - return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; - }, n2 = {}.hasOwnProperty; - e2.UndoManager = function(e3) { - function n3(t4) { - this.composition = t4, this.undoEntries = [], this.redoEntries = []; - } - var i; - return t3(n3, e3), n3.prototype.recordUndoEntry = function(t4, e4) { - var n4, o2, r2, s2, a2; - return s2 = e4 != null ? e4 : {}, o2 = s2.context, n4 = s2.consolidatable, r2 = this.undoEntries.slice(-1)[0], n4 && i(r2, t4, o2) ? void 0 : (a2 = this.createEntry({ description: t4, context: o2 }), this.undoEntries.push(a2), this.redoEntries = []); - }, n3.prototype.undo = function() { - var t4, e4; - return (e4 = this.undoEntries.pop()) ? (t4 = this.createEntry(e4), this.redoEntries.push(t4), this.composition.loadSnapshot(e4.snapshot)) : void 0; - }, n3.prototype.redo = function() { - var t4, e4; - return (t4 = this.redoEntries.pop()) ? (e4 = this.createEntry(t4), this.undoEntries.push(e4), this.composition.loadSnapshot(t4.snapshot)) : void 0; - }, n3.prototype.canUndo = function() { - return this.undoEntries.length > 0; - }, n3.prototype.canRedo = function() { - return this.redoEntries.length > 0; - }, n3.prototype.createEntry = function(t4) { - var e4, n4, i2; - return i2 = t4 != null ? t4 : {}, n4 = i2.description, e4 = i2.context, { description: n4 != null ? n4.toString() : void 0, context: JSON.stringify(e4), snapshot: this.composition.getSnapshot() }; - }, i = function(t4, e4, n4) { - return (t4 != null ? t4.description : void 0) === (e4 != null ? e4.toString() : void 0) && (t4 != null ? t4.context : void 0) === JSON.stringify(n4); - }, n3; - }(e2.BasicObject); - }.call(this), function() { - var t3; - e2.attachmentGalleryFilter = function(e3) { - var n2; - return n2 = new t3(e3), n2.perform(), n2.getSnapshot(); - }, t3 = function() { - function t4(t5) { - this.document = t5.document, this.selectedRange = t5.selectedRange; - } - var e3, n2, i; - return e3 = "attachmentGallery", n2 = "presentation", i = "gallery", t4.prototype.perform = function() { - return this.removeBlockAttribute(), this.applyBlockAttribute(); - }, t4.prototype.getSnapshot = function() { - return { document: this.document, selectedRange: this.selectedRange }; - }, t4.prototype.removeBlockAttribute = function() { - var t5, n3, i2, o2, r2; - for (o2 = this.findRangesOfBlocks(), r2 = [], t5 = 0, n3 = o2.length; n3 > t5; t5++) - i2 = o2[t5], r2.push(this.document = this.document.removeAttributeAtRange(e3, i2)); - return r2; - }, t4.prototype.applyBlockAttribute = function() { - var t5, n3, i2, o2, r2, s2; - for (i2 = 0, r2 = this.findRangesOfPieces(), s2 = [], t5 = 0, n3 = r2.length; n3 > t5; t5++) - o2 = r2[t5], o2[1] - o2[0] > 1 && (o2[0] += i2, o2[1] += i2, this.document.getCharacterAtPosition(o2[1]) !== "\n" && (this.document = this.document.insertBlockBreakAtRange(o2[1]), o2[1] < this.selectedRange[1] && this.moveSelectedRangeForward(), o2[1]++, i2++), o2[0] !== 0 && this.document.getCharacterAtPosition(o2[0] - 1) !== "\n" && (this.document = this.document.insertBlockBreakAtRange(o2[0]), o2[0] < this.selectedRange[0] && this.moveSelectedRangeForward(), o2[0]++, i2++), s2.push(this.document = this.document.applyBlockAttributeAtRange(e3, true, o2))); - return s2; - }, t4.prototype.findRangesOfBlocks = function() { - return this.document.findRangesForBlockAttribute(e3); - }, t4.prototype.findRangesOfPieces = function() { - return this.document.findRangesForTextAttribute(n2, { withValue: i }); - }, t4.prototype.moveSelectedRangeForward = function() { - return this.selectedRange[0] += 1, this.selectedRange[1] += 1; - }, t4; - }(); - }.call(this), function() { - var t3 = function(t4, e3) { - return function() { - return t4.apply(e3, arguments); - }; - }; - e2.Editor = function() { - function n2(n3, o2, r2) { - this.composition = n3, this.selectionManager = o2, this.element = r2, this.insertFiles = t3(this.insertFiles, this), this.undoManager = new e2.UndoManager(this.composition), this.filters = i.slice(0); - } - var i; - return i = [e2.attachmentGalleryFilter], n2.prototype.loadDocument = function(t4) { - return this.loadSnapshot({ document: t4, selectedRange: [0, 0] }); - }, n2.prototype.loadHTML = function(t4) { - return t4 == null && (t4 = ""), this.loadDocument(e2.Document.fromHTML(t4, { referenceElement: this.element })); - }, n2.prototype.loadJSON = function(t4) { - var n3, i2; - return n3 = t4.document, i2 = t4.selectedRange, n3 = e2.Document.fromJSON(n3), this.loadSnapshot({ document: n3, selectedRange: i2 }); - }, n2.prototype.loadSnapshot = function(t4) { - return this.undoManager = new e2.UndoManager(this.composition), this.composition.loadSnapshot(t4); - }, n2.prototype.getDocument = function() { - return this.composition.document; - }, n2.prototype.getSelectedDocument = function() { - return this.composition.getSelectedDocument(); - }, n2.prototype.getSnapshot = function() { - return this.composition.getSnapshot(); - }, n2.prototype.toJSON = function() { - return this.getSnapshot(); - }, n2.prototype.deleteInDirection = function(t4) { - return this.composition.deleteInDirection(t4); - }, n2.prototype.insertAttachment = function(t4) { - return this.composition.insertAttachment(t4); - }, n2.prototype.insertAttachments = function(t4) { - return this.composition.insertAttachments(t4); - }, n2.prototype.insertDocument = function(t4) { - return this.composition.insertDocument(t4); - }, n2.prototype.insertFile = function(t4) { - return this.composition.insertFile(t4); - }, n2.prototype.insertFiles = function(t4) { - return this.composition.insertFiles(t4); - }, n2.prototype.insertHTML = function(t4) { - return this.composition.insertHTML(t4); - }, n2.prototype.insertString = function(t4) { - return this.composition.insertString(t4); - }, n2.prototype.insertText = function(t4) { - return this.composition.insertText(t4); - }, n2.prototype.insertLineBreak = function() { - return this.composition.insertLineBreak(); - }, n2.prototype.getSelectedRange = function() { - return this.composition.getSelectedRange(); - }, n2.prototype.getPosition = function() { - return this.composition.getPosition(); - }, n2.prototype.getClientRectAtPosition = function(t4) { - var e3; - return e3 = this.getDocument().locationRangeFromRange([t4, t4 + 1]), this.selectionManager.getClientRectAtLocationRange(e3); - }, n2.prototype.expandSelectionInDirection = function(t4) { - return this.composition.expandSelectionInDirection(t4); - }, n2.prototype.moveCursorInDirection = function(t4) { - return this.composition.moveCursorInDirection(t4); - }, n2.prototype.setSelectedRange = function(t4) { - return this.composition.setSelectedRange(t4); - }, n2.prototype.activateAttribute = function(t4, e3) { - return e3 == null && (e3 = true), this.composition.setCurrentAttribute(t4, e3); - }, n2.prototype.attributeIsActive = function(t4) { - return this.composition.hasCurrentAttribute(t4); - }, n2.prototype.canActivateAttribute = function(t4) { - return this.composition.canSetCurrentAttribute(t4); - }, n2.prototype.deactivateAttribute = function(t4) { - return this.composition.removeCurrentAttribute(t4); - }, n2.prototype.canDecreaseNestingLevel = function() { - return this.composition.canDecreaseNestingLevel(); - }, n2.prototype.canIncreaseNestingLevel = function() { - return this.composition.canIncreaseNestingLevel(); - }, n2.prototype.decreaseNestingLevel = function() { - return this.canDecreaseNestingLevel() ? this.composition.decreaseNestingLevel() : void 0; - }, n2.prototype.increaseNestingLevel = function() { - return this.canIncreaseNestingLevel() ? this.composition.increaseNestingLevel() : void 0; - }, n2.prototype.canRedo = function() { - return this.undoManager.canRedo(); - }, n2.prototype.canUndo = function() { - return this.undoManager.canUndo(); - }, n2.prototype.recordUndoEntry = function(t4, e3) { - var n3, i2, o2; - return o2 = e3 != null ? e3 : {}, i2 = o2.context, n3 = o2.consolidatable, this.undoManager.recordUndoEntry(t4, { context: i2, consolidatable: n3 }); - }, n2.prototype.redo = function() { - return this.canRedo() ? this.undoManager.redo() : void 0; - }, n2.prototype.undo = function() { - return this.canUndo() ? this.undoManager.undo() : void 0; - }, n2; - }(); - }.call(this), function() { - var t3 = function(t4, e3) { - function i() { - this.constructor = t4; - } - for (var o2 in e3) - n2.call(e3, o2) && (t4[o2] = e3[o2]); - return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; - }, n2 = {}.hasOwnProperty; - e2.ManagedAttachment = function(e3) { - function n3(t4, e4) { - var n4; - this.attachmentManager = t4, this.attachment = e4, n4 = this.attachment, this.id = n4.id, this.file = n4.file; - } - return t3(n3, e3), n3.prototype.remove = function() { - return this.attachmentManager.requestRemovalOfAttachment(this.attachment); - }, n3.proxyMethod("attachment.getAttribute"), n3.proxyMethod("attachment.hasAttribute"), n3.proxyMethod("attachment.setAttribute"), n3.proxyMethod("attachment.getAttributes"), n3.proxyMethod("attachment.setAttributes"), n3.proxyMethod("attachment.isPending"), n3.proxyMethod("attachment.isPreviewable"), n3.proxyMethod("attachment.getURL"), n3.proxyMethod("attachment.getHref"), n3.proxyMethod("attachment.getFilename"), n3.proxyMethod("attachment.getFilesize"), n3.proxyMethod("attachment.getFormattedFilesize"), n3.proxyMethod("attachment.getExtension"), n3.proxyMethod("attachment.getContentType"), n3.proxyMethod("attachment.getFile"), n3.proxyMethod("attachment.setFile"), n3.proxyMethod("attachment.releaseFile"), n3.proxyMethod("attachment.getUploadProgress"), n3.proxyMethod("attachment.setUploadProgress"), n3; - }(e2.BasicObject); - }.call(this), function() { - var t3 = function(t4, e3) { - function i() { - this.constructor = t4; - } - for (var o2 in e3) - n2.call(e3, o2) && (t4[o2] = e3[o2]); - return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; - }, n2 = {}.hasOwnProperty; - e2.AttachmentManager = function(n3) { - function i(t4) { - var e3, n4, i2; - for (t4 == null && (t4 = []), this.managedAttachments = {}, n4 = 0, i2 = t4.length; i2 > n4; n4++) - e3 = t4[n4], this.manageAttachment(e3); - } - return t3(i, n3), i.prototype.getAttachments = function() { - var t4, e3, n4, i2; - n4 = this.managedAttachments, i2 = []; - for (e3 in n4) - t4 = n4[e3], i2.push(t4); - return i2; - }, i.prototype.manageAttachment = function(t4) { - var n4, i2; - return (n4 = this.managedAttachments)[i2 = t4.id] != null ? n4[i2] : n4[i2] = new e2.ManagedAttachment(this, t4); - }, i.prototype.attachmentIsManaged = function(t4) { - return t4.id in this.managedAttachments; - }, i.prototype.requestRemovalOfAttachment = function(t4) { - var e3; - return this.attachmentIsManaged(t4) && (e3 = this.delegate) != null && typeof e3.attachmentManagerDidRequestRemovalOfAttachment == "function" ? e3.attachmentManagerDidRequestRemovalOfAttachment(t4) : void 0; - }, i.prototype.unmanageAttachment = function(t4) { - var e3; - return e3 = this.managedAttachments[t4.id], delete this.managedAttachments[t4.id], e3; - }, i; - }(e2.BasicObject); - }.call(this), function() { - var t3, n2, i, o2, r2, s2, a2, u, c2, l, h; - t3 = e2.elementContainsNode, n2 = e2.findChildIndexOfNode, r2 = e2.nodeIsBlockStart, s2 = e2.nodeIsBlockStartComment, o2 = e2.nodeIsBlockContainer, a2 = e2.nodeIsCursorTarget, u = e2.nodeIsEmptyTextNode, c2 = e2.nodeIsTextNode, i = e2.nodeIsAttachmentElement, l = e2.tagName, h = e2.walkTree, e2.LocationMapper = function() { - function e3(t4) { - this.element = t4; - } - var p2, d, f, g; - return e3.prototype.findLocationFromContainerAndOffset = function(e4, i2, o3) { - var s3, u2, l2, p3, g2, m, v; - for (m = (o3 != null ? o3 : { strict: true }).strict, u2 = 0, l2 = false, p3 = { index: 0, offset: 0 }, (s3 = this.findAttachmentElementParentForNode(e4)) && (e4 = s3.parentNode, i2 = n2(s3)), v = h(this.element, { usingFilter: f }); v.nextNode(); ) { - if (g2 = v.currentNode, g2 === e4 && c2(e4)) { - a2(g2) || (p3.offset += i2); - break; - } - if (g2.parentNode === e4) { - if (u2++ === i2) - break; - } else if (!t3(e4, g2) && u2 > 0) - break; - r2(g2, { strict: m }) ? (l2 && p3.index++, p3.offset = 0, l2 = true) : p3.offset += d(g2); - } - return p3; - }, e3.prototype.findContainerAndOffsetFromLocation = function(t4) { - var e4, i2, s3, u2, l2; - if (t4.index === 0 && t4.offset === 0) { - for (e4 = this.element, u2 = 0; e4.firstChild; ) - if (e4 = e4.firstChild, o2(e4)) { - u2 = 1; - break; - } - return [e4, u2]; - } - if (l2 = this.findNodeAndOffsetFromLocation(t4), i2 = l2[0], s3 = l2[1], i2) { - if (c2(i2)) - d(i2) === 0 ? (e4 = i2.parentNode.parentNode, u2 = n2(i2.parentNode), a2(i2, { name: "right" }) && u2++) : (e4 = i2, u2 = t4.offset - s3); - else { - if (e4 = i2.parentNode, !r2(i2.previousSibling) && !o2(e4)) - for (; i2 === e4.lastChild && (i2 = e4, e4 = e4.parentNode, !o2(e4)); ) - ; - u2 = n2(i2), t4.offset !== 0 && u2++; - } - return [e4, u2]; - } - }, e3.prototype.findNodeAndOffsetFromLocation = function(t4) { - var e4, n3, i2, o3, r3, s3, u2, l2; - for (u2 = 0, l2 = this.getSignificantNodesForIndex(t4.index), n3 = 0, i2 = l2.length; i2 > n3; n3++) { - if (e4 = l2[n3], o3 = d(e4), t4.offset <= u2 + o3) - if (c2(e4)) { - if (r3 = e4, s3 = u2, t4.offset === s3 && a2(r3)) - break; - } else - r3 || (r3 = e4, s3 = u2); - if (u2 += o3, u2 > t4.offset) - break; - } - return [r3, s3]; - }, e3.prototype.findAttachmentElementParentForNode = function(t4) { - for (; t4 && t4 !== this.element; ) { - if (i(t4)) - return t4; - t4 = t4.parentNode; - } - }, e3.prototype.getSignificantNodesForIndex = function(t4) { - var e4, n3, i2, o3, r3; - for (i2 = [], r3 = h(this.element, { usingFilter: p2 }), o3 = false; r3.nextNode(); ) - if (n3 = r3.currentNode, s2(n3)) { - if (typeof e4 != "undefined" && e4 !== null ? e4++ : e4 = 0, e4 === t4) - o3 = true; - else if (o3) - break; - } else - o3 && i2.push(n3); - return i2; - }, d = function(t4) { - var e4; - return t4.nodeType === Node.TEXT_NODE ? a2(t4) ? 0 : (e4 = t4.textContent, e4.length) : l(t4) === "br" || i(t4) ? 1 : 0; - }, p2 = function(t4) { - return g(t4) === NodeFilter.FILTER_ACCEPT ? f(t4) : NodeFilter.FILTER_REJECT; - }, g = function(t4) { - return u(t4) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT; - }, f = function(t4) { - return i(t4.parentNode) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT; - }, e3; - }(); - }.call(this), function() { - var t3, n2, i = [].slice; - t3 = e2.getDOMRange, n2 = e2.setDOMRange, e2.PointMapper = function() { - function e3() { - } - return e3.prototype.createDOMRangeFromPoint = function(e4) { - var i2, o2, r2, s2, a2, u, c2, l; - if (c2 = e4.x, l = e4.y, document.caretPositionFromPoint) - return a2 = document.caretPositionFromPoint(c2, l), r2 = a2.offsetNode, o2 = a2.offset, i2 = document.createRange(), i2.setStart(r2, o2), i2; - if (document.caretRangeFromPoint) - return document.caretRangeFromPoint(c2, l); - if (document.body.createTextRange) { - s2 = t3(); + return o3; + }, c3; + }(e2.BasicObject); + }.call(this), function() { + var t3 = function(t4, e3) { + function i() { + this.constructor = t4; + } + for (var o2 in e3) + n2.call(e3, o2) && (t4[o2] = e3[o2]); + return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; + }, n2 = {}.hasOwnProperty; + e2.FileVerificationOperation = function(e3) { + function n3(t4) { + this.file = t4; + } + return t3(n3, e3), n3.prototype.perform = function(t4) { + var e4; + return e4 = new FileReader(), e4.onerror = function() { + return t4(false); + }, e4.onload = function(n4) { + return function() { + e4.onerror = null; try { - u = document.body.createTextRange(), u.moveToPoint(c2, l), u.select(); - } catch (h) { + e4.abort(); + } catch (i) { } - return i2 = t3(), n2(s2), i2; - } - }, e3.prototype.getClientRectsForDOMRange = function(t4) { - var e4, n3, o2; - return n3 = i.call(t4.getClientRects()), o2 = n3[0], e4 = n3[n3.length - 1], [o2, e4]; - }, e3; - }(); - }.call(this), function() { - var t3, n2 = function(t4, e3) { - return function() { - return t4.apply(e3, arguments); - }; - }, i = function(t4, e3) { - function n3() { - this.constructor = t4; + return t4(true, n4.file); + }; + }(this), e4.readAsArrayBuffer(this.file); + }, n3; + }(e2.Operation); + }.call(this), function() { + var t3, n2, i = function(t4, e3) { + function n3() { + this.constructor = t4; + } + for (var i2 in e3) + o2.call(e3, i2) && (t4[i2] = e3[i2]); + return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; + }, o2 = {}.hasOwnProperty; + t3 = e2.handleEvent, n2 = e2.innerElementIsActive, e2.InputController = function(o3) { + function r2(n3) { + var i2; + this.element = n3, this.mutationObserver = new e2.MutationObserver(this.element), this.mutationObserver.delegate = this; + for (i2 in this.events) + t3(i2, {onElement: this.element, withCallback: this.handlerFor(i2)}); + } + return i(r2, o3), r2.prototype.events = {}, r2.prototype.elementDidMutate = function() { + }, r2.prototype.editorWillSyncDocumentView = function() { + return this.mutationObserver.stop(); + }, r2.prototype.editorDidSyncDocumentView = function() { + return this.mutationObserver.start(); + }, r2.prototype.requestRender = function() { + var t4; + return (t4 = this.delegate) != null && typeof t4.inputControllerDidRequestRender == "function" ? t4.inputControllerDidRequestRender() : void 0; + }, r2.prototype.requestReparse = function() { + var t4; + return (t4 = this.delegate) != null && typeof t4.inputControllerDidRequestReparse == "function" && t4.inputControllerDidRequestReparse(), this.requestRender(); + }, r2.prototype.attachFiles = function(t4) { + var n3, i2; + return i2 = function() { + var i3, o4, r3; + for (r3 = [], i3 = 0, o4 = t4.length; o4 > i3; i3++) + n3 = t4[i3], r3.push(new e2.FileVerificationOperation(n3)); + return r3; + }(), Promise.all(i2).then(function(t5) { + return function(e3) { + return t5.handleInput(function() { + var t6, n4; + return (t6 = this.delegate) != null && t6.inputControllerWillAttachFiles(), (n4 = this.responder) != null && n4.insertFiles(e3), this.requestRender(); + }); + }; + }(this)); + }, r2.prototype.handlerFor = function(t4) { + return function(e3) { + return function(i2) { + return i2.defaultPrevented ? void 0 : e3.handleInput(function() { + return n2(this.element) ? void 0 : (this.eventName = t4, this.events[t4].call(this, i2)); + }); + }; + }(this); + }, r2.prototype.handleInput = function(t4) { + var e3, n3; + try { + return (e3 = this.delegate) != null && e3.inputControllerWillHandleInput(), t4.call(this); + } finally { + (n3 = this.delegate) != null && n3.inputControllerDidHandleInput(); } - for (var i2 in e3) - o2.call(e3, i2) && (t4[i2] = e3[i2]); - return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; - }, o2 = {}.hasOwnProperty, r2 = [].indexOf || function(t4) { - for (var e3 = 0, n3 = this.length; n3 > e3; e3++) - if (e3 in this && this[e3] === t4) - return e3; - return -1; - }; - t3 = e2.getDOMRange, e2.SelectionChangeObserver = function(e3) { - function o3() { - this.run = n2(this.run, this), this.update = n2(this.update, this), this.selectionManagers = []; - } - var s2; - return i(o3, e3), o3.prototype.start = function() { - return this.started ? void 0 : (this.started = true, "onselectionchange" in document ? document.addEventListener("selectionchange", this.update, true) : this.run()); - }, o3.prototype.stop = function() { - return this.started ? (this.started = false, document.removeEventListener("selectionchange", this.update, true)) : void 0; - }, o3.prototype.registerSelectionManager = function(t4) { - return r2.call(this.selectionManagers, t4) < 0 ? (this.selectionManagers.push(t4), this.start()) : void 0; - }, o3.prototype.unregisterSelectionManager = function(t4) { - var e4; - return this.selectionManagers = function() { - var n3, i2, o4, r3; - for (o4 = this.selectionManagers, r3 = [], n3 = 0, i2 = o4.length; i2 > n3; n3++) - e4 = o4[n3], e4 !== t4 && r3.push(e4); - return r3; - }.call(this), this.selectionManagers.length === 0 ? this.stop() : void 0; - }, o3.prototype.notifySelectionManagersOfSelectionChange = function() { - var t4, e4, n3, i2, o4; - for (n3 = this.selectionManagers, i2 = [], t4 = 0, e4 = n3.length; e4 > t4; t4++) - o4 = n3[t4], i2.push(o4.selectionDidChange()); - return i2; - }, o3.prototype.update = function() { - var e4; - return e4 = t3(), s2(e4, this.domRange) ? void 0 : (this.domRange = e4, this.notifySelectionManagersOfSelectionChange()); - }, o3.prototype.reset = function() { - return this.domRange = null, this.update(); - }, o3.prototype.run = function() { - return this.started ? (this.update(), requestAnimationFrame(this.run)) : void 0; - }, s2 = function(t4, e4) { - return (t4 != null ? t4.startContainer : void 0) === (e4 != null ? e4.startContainer : void 0) && (t4 != null ? t4.startOffset : void 0) === (e4 != null ? e4.startOffset : void 0) && (t4 != null ? t4.endContainer : void 0) === (e4 != null ? e4.endContainer : void 0) && (t4 != null ? t4.endOffset : void 0) === (e4 != null ? e4.endOffset : void 0); - }, o3; - }(e2.BasicObject), e2.selectionChangeObserver == null && (e2.selectionChangeObserver = new e2.SelectionChangeObserver()); - }.call(this), function() { - var t3, n2, i, o2, r2, s2, a2, u, c2, l, h = function(t4, e3) { - return function() { - return t4.apply(e3, arguments); - }; - }, p2 = function(t4, e3) { - function n3() { - this.constructor = t4; - } - for (var i2 in e3) - d.call(e3, i2) && (t4[i2] = e3[i2]); - return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; - }, d = {}.hasOwnProperty; - i = e2.getDOMSelection, n2 = e2.getDOMRange, l = e2.setDOMRange, t3 = e2.elementContainsNode, s2 = e2.nodeIsCursorTarget, r2 = e2.innerElementIsActive, o2 = e2.handleEvent, a2 = e2.normalizeRange, u = e2.rangeIsCollapsed, c2 = e2.rangesAreEqual, e2.SelectionManager = function(d2) { - function f(t4) { - this.element = t4, this.selectionDidChange = h(this.selectionDidChange, this), this.didMouseDown = h(this.didMouseDown, this), this.locationMapper = new e2.LocationMapper(this.element), this.pointMapper = new e2.PointMapper(), this.lockCount = 0, o2("mousedown", { onElement: this.element, withCallback: this.didMouseDown }); - } - return p2(f, d2), f.prototype.getLocationRange = function(t4) { - var e3, i2; - return t4 == null && (t4 = {}), e3 = t4.strict === false ? this.createLocationRangeFromDOMRange(n2(), { strict: false }) : t4.ignoreLock ? this.currentLocationRange : (i2 = this.lockedLocationRange) != null ? i2 : this.currentLocationRange; - }, f.prototype.setLocationRange = function(t4) { - var e3; - if (!this.lockedLocationRange) - return t4 = a2(t4), (e3 = this.createDOMRangeFromLocationRange(t4)) ? (l(e3), this.updateCurrentLocationRange(t4)) : void 0; - }, f.prototype.setLocationRangeFromPointRange = function(t4) { - var e3, n3; - return t4 = a2(t4), n3 = this.getLocationAtPoint(t4[0]), e3 = this.getLocationAtPoint(t4[1]), this.setLocationRange([n3, e3]); - }, f.prototype.getClientRectAtLocationRange = function(t4) { - var e3; - return (e3 = this.createDOMRangeFromLocationRange(t4)) ? this.getClientRectsForDOMRange(e3)[1] : void 0; - }, f.prototype.locationIsCursorTarget = function(t4) { - var e3, n3, i2; - return i2 = this.findNodeAndOffsetFromLocation(t4), e3 = i2[0], n3 = i2[1], s2(e3); - }, f.prototype.lock = function() { - return this.lockCount++ === 0 ? (this.updateCurrentLocationRange(), this.lockedLocationRange = this.getLocationRange()) : void 0; - }, f.prototype.unlock = function() { - var t4; - return --this.lockCount === 0 && (t4 = this.lockedLocationRange, this.lockedLocationRange = null, t4 != null) ? this.setLocationRange(t4) : void 0; - }, f.prototype.clearSelection = function() { - var t4; - return (t4 = i()) != null ? t4.removeAllRanges() : void 0; - }, f.prototype.selectionIsCollapsed = function() { - var t4; - return ((t4 = n2()) != null ? t4.collapsed : void 0) === true; - }, f.prototype.selectionIsExpanded = function() { - return !this.selectionIsCollapsed(); - }, f.prototype.createLocationRangeFromDOMRange = function(t4, e3) { - var n3, i2; - if (t4 != null && this.domRangeWithinElement(t4) && (i2 = this.findLocationFromContainerAndOffset(t4.startContainer, t4.startOffset, e3))) - return t4.collapsed || (n3 = this.findLocationFromContainerAndOffset(t4.endContainer, t4.endOffset, e3)), a2([i2, n3]); - }, f.proxyMethod("locationMapper.findLocationFromContainerAndOffset"), f.proxyMethod("locationMapper.findContainerAndOffsetFromLocation"), f.proxyMethod("locationMapper.findNodeAndOffsetFromLocation"), f.proxyMethod("pointMapper.createDOMRangeFromPoint"), f.proxyMethod("pointMapper.getClientRectsForDOMRange"), f.prototype.didMouseDown = function() { - return this.pauseTemporarily(); - }, f.prototype.pauseTemporarily = function() { - var e3, n3, i2, r3; - return this.paused = true, n3 = function(e4) { - return function() { - var n4, o3, s3; - for (e4.paused = false, clearTimeout(r3), o3 = 0, s3 = i2.length; s3 > o3; o3++) - n4 = i2[o3], n4.destroy(); - return t3(document, e4.element) ? e4.selectionDidChange() : void 0; - }; - }(this), r3 = setTimeout(n3, 200), i2 = function() { - var t4, i3, r4, s3; - for (r4 = ["mousemove", "keydown"], s3 = [], t4 = 0, i3 = r4.length; i3 > t4; t4++) - e3 = r4[t4], s3.push(o2(e3, { onElement: document, withCallback: n3 })); - return s3; - }(); - }, f.prototype.selectionDidChange = function() { - return this.paused || r2(this.element) ? void 0 : this.updateCurrentLocationRange(); - }, f.prototype.updateCurrentLocationRange = function(t4) { - var e3; - return (t4 != null ? t4 : t4 = this.createLocationRangeFromDOMRange(n2())) && !c2(t4, this.currentLocationRange) ? (this.currentLocationRange = t4, (e3 = this.delegate) != null && typeof e3.locationRangeDidChange == "function" ? e3.locationRangeDidChange(this.currentLocationRange.slice(0)) : void 0) : void 0; - }, f.prototype.createDOMRangeFromLocationRange = function(t4) { - var e3, n3, i2, o3; - return i2 = this.findContainerAndOffsetFromLocation(t4[0]), n3 = u(t4) ? i2 : (o3 = this.findContainerAndOffsetFromLocation(t4[1])) != null ? o3 : i2, i2 != null && n3 != null ? (e3 = document.createRange(), e3.setStart.apply(e3, i2), e3.setEnd.apply(e3, n3), e3) : void 0; - }, f.prototype.getLocationAtPoint = function(t4) { - var e3, n3; - return (e3 = this.createDOMRangeFromPoint(t4)) && (n3 = this.createLocationRangeFromDOMRange(e3)) != null ? n3[0] : void 0; - }, f.prototype.domRangeWithinElement = function(e3) { - return e3.collapsed ? t3(this.element, e3.startContainer) : t3(this.element, e3.startContainer) && t3(this.element, e3.endContainer); - }, f; - }(e2.BasicObject); - }.call(this), function() { - var t3, n2, i, o2, r2 = function(t4, e3) { - function n3() { - this.constructor = t4; - } - for (var i2 in e3) - s2.call(e3, i2) && (t4[i2] = e3[i2]); - return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; - }, s2 = {}.hasOwnProperty, a2 = [].slice; - i = e2.rangeIsCollapsed, o2 = e2.rangesAreEqual, n2 = e2.objectsAreEqual, t3 = e2.getBlockConfig, e2.EditorController = function(s3) { - function u(t4) { - var n3, i2; - this.editorElement = t4.editorElement, n3 = t4.document, i2 = t4.html, this.selectionManager = new e2.SelectionManager(this.editorElement), this.selectionManager.delegate = this, this.composition = new e2.Composition(), this.composition.delegate = this, this.attachmentManager = new e2.AttachmentManager(this.composition.getAttachments()), this.attachmentManager.delegate = this, this.inputController = new e2["Level" + e2.config.input.getLevel() + "InputController"](this.editorElement), this.inputController.delegate = this, this.inputController.responder = this.composition, this.compositionController = new e2.CompositionController(this.editorElement, this.composition), this.compositionController.delegate = this, this.toolbarController = new e2.ToolbarController(this.editorElement.toolbarElement), this.toolbarController.delegate = this, this.editor = new e2.Editor(this.composition, this.selectionManager, this.editorElement), n3 != null ? this.editor.loadDocument(n3) : this.editor.loadHTML(i2); - } - var c2; - return r2(u, s3), u.prototype.registerSelectionManager = function() { - return e2.selectionChangeObserver.registerSelectionManager(this.selectionManager); - }, u.prototype.unregisterSelectionManager = function() { - return e2.selectionChangeObserver.unregisterSelectionManager(this.selectionManager); - }, u.prototype.render = function() { - return this.compositionController.render(); - }, u.prototype.reparse = function() { - return this.composition.replaceHTML(this.editorElement.innerHTML); - }, u.prototype.compositionDidChangeDocument = function() { - return this.notifyEditorElement("document-change"), this.handlingInput ? void 0 : this.render(); - }, u.prototype.compositionDidChangeCurrentAttributes = function(t4) { - return this.currentAttributes = t4, this.toolbarController.updateAttributes(this.currentAttributes), this.updateCurrentActions(), this.notifyEditorElement("attributes-change", { attributes: this.currentAttributes }); - }, u.prototype.compositionDidPerformInsertionAtRange = function(t4) { - return this.pasting ? this.pastedRange = t4 : void 0; - }, u.prototype.compositionShouldAcceptFile = function(t4) { - return this.notifyEditorElement("file-accept", { file: t4 }); - }, u.prototype.compositionDidAddAttachment = function(t4) { - var e3; - return e3 = this.attachmentManager.manageAttachment(t4), this.notifyEditorElement("attachment-add", { attachment: e3 }); - }, u.prototype.compositionDidEditAttachment = function(t4) { - var e3; - return this.compositionController.rerenderViewForObject(t4), e3 = this.attachmentManager.manageAttachment(t4), this.notifyEditorElement("attachment-edit", { attachment: e3 }), this.notifyEditorElement("change"); - }, u.prototype.compositionDidChangeAttachmentPreviewURL = function(t4) { - return this.compositionController.invalidateViewForObject(t4), this.notifyEditorElement("change"); - }, u.prototype.compositionDidRemoveAttachment = function(t4) { - var e3; - return e3 = this.attachmentManager.unmanageAttachment(t4), this.notifyEditorElement("attachment-remove", { attachment: e3 }); - }, u.prototype.compositionDidStartEditingAttachment = function(t4, e3) { - return this.attachmentLocationRange = this.composition.document.getLocationRangeOfAttachment(t4), this.compositionController.installAttachmentEditorForAttachment(t4, e3), this.selectionManager.setLocationRange(this.attachmentLocationRange); - }, u.prototype.compositionDidStopEditingAttachment = function() { - return this.compositionController.uninstallAttachmentEditor(), this.attachmentLocationRange = null; - }, u.prototype.compositionDidRequestChangingSelectionToLocationRange = function(t4) { - return !this.loadingSnapshot || this.isFocused() ? (this.requestedLocationRange = t4, this.compositionRevisionWhenLocationRangeRequested = this.composition.revision, this.handlingInput ? void 0 : this.render()) : void 0; - }, u.prototype.compositionWillLoadSnapshot = function() { - return this.loadingSnapshot = true; - }, u.prototype.compositionDidLoadSnapshot = function() { - return this.compositionController.refreshViewCache(), this.render(), this.loadingSnapshot = false; - }, u.prototype.getSelectionManager = function() { - return this.selectionManager; - }, u.proxyMethod("getSelectionManager().setLocationRange"), u.proxyMethod("getSelectionManager().getLocationRange"), u.prototype.attachmentManagerDidRequestRemovalOfAttachment = function(t4) { - return this.removeAttachment(t4); - }, u.prototype.compositionControllerWillSyncDocumentView = function() { - return this.inputController.editorWillSyncDocumentView(), this.selectionManager.lock(), this.selectionManager.clearSelection(); - }, u.prototype.compositionControllerDidSyncDocumentView = function() { - return this.inputController.editorDidSyncDocumentView(), this.selectionManager.unlock(), this.updateCurrentActions(), this.notifyEditorElement("sync"); - }, u.prototype.compositionControllerDidRender = function() { - return this.requestedLocationRange != null && (this.compositionRevisionWhenLocationRangeRequested === this.composition.revision && this.selectionManager.setLocationRange(this.requestedLocationRange), this.requestedLocationRange = null, this.compositionRevisionWhenLocationRangeRequested = null), this.renderedCompositionRevision !== this.composition.revision && (this.runEditorFilters(), this.composition.updateCurrentAttributes(), this.notifyEditorElement("render")), this.renderedCompositionRevision = this.composition.revision; - }, u.prototype.compositionControllerDidFocus = function() { - return this.isFocusedInvisibly() && this.setLocationRange({ index: 0, offset: 0 }), this.toolbarController.hideDialog(), this.notifyEditorElement("focus"); - }, u.prototype.compositionControllerDidBlur = function() { - return this.notifyEditorElement("blur"); - }, u.prototype.compositionControllerDidSelectAttachment = function(t4, e3) { - return this.toolbarController.hideDialog(), this.composition.editAttachment(t4, e3); - }, u.prototype.compositionControllerDidRequestDeselectingAttachment = function(t4) { - var e3, n3; - return e3 = (n3 = this.attachmentLocationRange) != null ? n3 : this.composition.document.getLocationRangeOfAttachment(t4), this.selectionManager.setLocationRange(e3[1]); - }, u.prototype.compositionControllerWillUpdateAttachment = function(t4) { - return this.editor.recordUndoEntry("Edit Attachment", { context: t4.id, consolidatable: true }); - }, u.prototype.compositionControllerDidRequestRemovalOfAttachment = function(t4) { - return this.removeAttachment(t4); - }, u.prototype.inputControllerWillHandleInput = function() { - return this.handlingInput = true, this.requestedRender = false; - }, u.prototype.inputControllerDidRequestRender = function() { - return this.requestedRender = true; - }, u.prototype.inputControllerDidHandleInput = function() { - return this.handlingInput = false, this.requestedRender ? (this.requestedRender = false, this.render()) : void 0; - }, u.prototype.inputControllerDidAllowUnhandledInput = function() { - return this.notifyEditorElement("change"); - }, u.prototype.inputControllerDidRequestReparse = function() { - return this.reparse(); - }, u.prototype.inputControllerWillPerformTyping = function() { - return this.recordTypingUndoEntry(); - }, u.prototype.inputControllerWillPerformFormatting = function(t4) { - return this.recordFormattingUndoEntry(t4); - }, u.prototype.inputControllerWillCutText = function() { - return this.editor.recordUndoEntry("Cut"); - }, u.prototype.inputControllerWillPaste = function(t4) { - return this.editor.recordUndoEntry("Paste"), this.pasting = true, this.notifyEditorElement("before-paste", { paste: t4 }); - }, u.prototype.inputControllerDidPaste = function(t4) { - return t4.range = this.pastedRange, this.pastedRange = null, this.pasting = null, this.notifyEditorElement("paste", { paste: t4 }); - }, u.prototype.inputControllerWillMoveText = function() { - return this.editor.recordUndoEntry("Move"); - }, u.prototype.inputControllerWillAttachFiles = function() { - return this.editor.recordUndoEntry("Drop Files"); - }, u.prototype.inputControllerWillPerformUndo = function() { - return this.editor.undo(); - }, u.prototype.inputControllerWillPerformRedo = function() { - return this.editor.redo(); - }, u.prototype.inputControllerDidReceiveKeyboardCommand = function(t4) { - return this.toolbarController.applyKeyboardCommand(t4); - }, u.prototype.inputControllerDidStartDrag = function() { - return this.locationRangeBeforeDrag = this.selectionManager.getLocationRange(); - }, u.prototype.inputControllerDidReceiveDragOverPoint = function(t4) { - return this.selectionManager.setLocationRangeFromPointRange(t4); - }, u.prototype.inputControllerDidCancelDrag = function() { - return this.selectionManager.setLocationRange(this.locationRangeBeforeDrag), this.locationRangeBeforeDrag = null; - }, u.prototype.locationRangeDidChange = function(t4) { - return this.composition.updateCurrentAttributes(), this.updateCurrentActions(), this.attachmentLocationRange && !o2(this.attachmentLocationRange, t4) && this.composition.stopEditingAttachment(), this.notifyEditorElement("selection-change"); - }, u.prototype.toolbarDidClickButton = function() { - return this.getLocationRange() ? void 0 : this.setLocationRange({ index: 0, offset: 0 }); - }, u.prototype.toolbarDidInvokeAction = function(t4) { - return this.invokeAction(t4); - }, u.prototype.toolbarDidToggleAttribute = function(t4) { - return this.recordFormattingUndoEntry(t4), this.composition.toggleCurrentAttribute(t4), this.render(), this.selectionFrozen ? void 0 : this.editorElement.focus(); - }, u.prototype.toolbarDidUpdateAttribute = function(t4, e3) { - return this.recordFormattingUndoEntry(t4), this.composition.setCurrentAttribute(t4, e3), this.render(), this.selectionFrozen ? void 0 : this.editorElement.focus(); - }, u.prototype.toolbarDidRemoveAttribute = function(t4) { - return this.recordFormattingUndoEntry(t4), this.composition.removeCurrentAttribute(t4), this.render(), this.selectionFrozen ? void 0 : this.editorElement.focus(); - }, u.prototype.toolbarWillShowDialog = function() { - return this.composition.expandSelectionForEditing(), this.freezeSelection(); - }, u.prototype.toolbarDidShowDialog = function(t4) { - return this.notifyEditorElement("toolbar-dialog-show", { dialogName: t4 }); - }, u.prototype.toolbarDidHideDialog = function(t4) { - return this.thawSelection(), this.editorElement.focus(), this.notifyEditorElement("toolbar-dialog-hide", { dialogName: t4 }); - }, u.prototype.freezeSelection = function() { - return this.selectionFrozen ? void 0 : (this.selectionManager.lock(), this.composition.freezeSelection(), this.selectionFrozen = true, this.render()); - }, u.prototype.thawSelection = function() { - return this.selectionFrozen ? (this.composition.thawSelection(), this.selectionManager.unlock(), this.selectionFrozen = false, this.render()) : void 0; - }, u.prototype.actions = { undo: { test: function() { - return this.editor.canUndo(); - }, perform: function() { - return this.editor.undo(); - } }, redo: { test: function() { - return this.editor.canRedo(); - }, perform: function() { - return this.editor.redo(); - } }, link: { test: function() { - return this.editor.canActivateAttribute("href"); - } }, increaseNestingLevel: { test: function() { - return this.editor.canIncreaseNestingLevel(); - }, perform: function() { - return this.editor.increaseNestingLevel() && this.render(); - } }, decreaseNestingLevel: { test: function() { - return this.editor.canDecreaseNestingLevel(); - }, perform: function() { - return this.editor.decreaseNestingLevel() && this.render(); - } }, attachFiles: { test: function() { - return true; - }, perform: function() { - return e2.config.input.pickFiles(this.editor.insertFiles); - } } }, u.prototype.canInvokeAction = function(t4) { - var e3, n3; - return this.actionIsExternal(t4) ? true : !!((e3 = this.actions[t4]) != null && (n3 = e3.test) != null ? n3.call(this) : void 0); - }, u.prototype.invokeAction = function(t4) { - var e3, n3; - return this.actionIsExternal(t4) ? this.notifyEditorElement("action-invoke", { actionName: t4 }) : (e3 = this.actions[t4]) != null && (n3 = e3.perform) != null ? n3.call(this) : void 0; - }, u.prototype.actionIsExternal = function(t4) { - return /^x-./.test(t4); - }, u.prototype.getCurrentActions = function() { - var t4, e3; - e3 = {}; - for (t4 in this.actions) - e3[t4] = this.canInvokeAction(t4); + }, r2.prototype.createLinkHTML = function(t4, e3) { + var n3; + return n3 = document.createElement("a"), n3.href = t4, n3.textContent = e3 != null ? e3 : t4, n3.outerHTML; + }, r2; + }(e2.BasicObject); + }.call(this), function() { + var t3, n2, i, o2, r2, s2, a2, u, c2, l, h, p2, d, f = function(t4, e3) { + function n3() { + this.constructor = t4; + } + for (var i2 in e3) + g.call(e3, i2) && (t4[i2] = e3[i2]); + return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; + }, g = {}.hasOwnProperty, m = [].indexOf || function(t4) { + for (var e3 = 0, n3 = this.length; n3 > e3; e3++) + if (e3 in this && this[e3] === t4) return e3; - }, u.prototype.updateCurrentActions = function() { - var t4; - return t4 = this.getCurrentActions(), n2(t4, this.currentActions) ? void 0 : (this.currentActions = t4, this.toolbarController.updateActions(this.currentActions), this.notifyEditorElement("actions-change", { actions: this.currentActions })); - }, u.prototype.runEditorFilters = function() { - var t4, e3, n3, i2, o3, r3, s4, a3; - for (a3 = this.composition.getSnapshot(), o3 = this.editor.filters, n3 = 0, i2 = o3.length; i2 > n3; n3++) - e3 = o3[n3], t4 = a3.document, s4 = a3.selectedRange, a3 = (r3 = e3.call(this.editor, a3)) != null ? r3 : {}, a3.document == null && (a3.document = t4), a3.selectedRange == null && (a3.selectedRange = s4); - return c2(a3, this.composition.getSnapshot()) ? void 0 : this.composition.loadSnapshot(a3); - }, c2 = function(t4, e3) { - return o2(t4.selectedRange, e3.selectedRange) && t4.document.isEqualTo(e3.document); - }, u.prototype.updateInputElement = function() { - var t4, n3; - return t4 = this.compositionController.getSerializableElement(), n3 = e2.serializeToContentType(t4, "text/html"), this.editorElement.setInputElementValue(n3); - }, u.prototype.notifyEditorElement = function(t4, e3) { - switch (t4) { - case "document-change": - this.documentChangedSinceLastRender = true; - break; - case "render": - this.documentChangedSinceLastRender && (this.documentChangedSinceLastRender = false, this.notifyEditorElement("change")); - break; - case "change": - case "attachment-add": - case "attachment-edit": - case "attachment-remove": - this.updateInputElement(); - } - return this.editorElement.notify(t4, e3); - }, u.prototype.removeAttachment = function(t4) { - return this.editor.recordUndoEntry("Delete Attachment"), this.composition.removeAttachment(t4), this.render(); - }, u.prototype.recordFormattingUndoEntry = function(e3) { - var n3, o3; - return n3 = t3(e3), o3 = this.selectionManager.getLocationRange(), n3 || !i(o3) ? this.editor.recordUndoEntry("Formatting", { context: this.getUndoContext(), consolidatable: true }) : void 0; - }, u.prototype.recordTypingUndoEntry = function() { - return this.editor.recordUndoEntry("Typing", { context: this.getUndoContext(this.currentAttributes), consolidatable: true }); - }, u.prototype.getUndoContext = function() { - var t4; - return t4 = 1 <= arguments.length ? a2.call(arguments, 0) : [], [this.getLocationContext(), this.getTimeContext()].concat(a2.call(t4)); - }, u.prototype.getLocationContext = function() { - var t4; - return t4 = this.selectionManager.getLocationRange(), i(t4) ? t4[0].index : t4; - }, u.prototype.getTimeContext = function() { - return e2.config.undoInterval > 0 ? Math.floor(new Date().getTime() / e2.config.undoInterval) : 0; - }, u.prototype.isFocused = function() { - var t4; - return this.editorElement === ((t4 = this.editorElement.ownerDocument) != null ? t4.activeElement : void 0); - }, u.prototype.isFocusedInvisibly = function() { - return this.isFocused() && !this.getLocationRange(); - }, u; - }(e2.Controller); - }.call(this), function() { - var t3, n2, i, o2, r2, s2, a2, u = [].indexOf || function(t4) { - for (var e3 = 0, n3 = this.length; n3 > e3; e3++) - if (e3 in this && this[e3] === t4) - return e3; - return -1; + return -1; + }; + c2 = e2.makeElement, l = e2.objectsAreEqual, d = e2.tagName, n2 = e2.browser, a2 = e2.keyEventIsKeyboardCommand, o2 = e2.dataTransferIsWritable, i = e2.dataTransferIsPlainText, u = e2.config.keyNames, e2.Level0InputController = function(n3) { + function s3() { + s3.__super__.constructor.apply(this, arguments), this.resetInputSummary(); + } + var d2; + return f(s3, n3), d2 = 0, s3.prototype.setInputSummary = function(t4) { + var e3, n4; + t4 == null && (t4 = {}), this.inputSummary.eventName = this.eventName; + for (e3 in t4) + n4 = t4[e3], this.inputSummary[e3] = n4; + return this.inputSummary; + }, s3.prototype.resetInputSummary = function() { + return this.inputSummary = {}; + }, s3.prototype.reset = function() { + return this.resetInputSummary(), e2.selectionChangeObserver.reset(); + }, s3.prototype.elementDidMutate = function(t4) { + var e3; + return this.isComposing() ? (e3 = this.delegate) != null && typeof e3.inputControllerDidAllowUnhandledInput == "function" ? e3.inputControllerDidAllowUnhandledInput() : void 0 : this.handleInput(function() { + return this.mutationIsSignificant(t4) && (this.mutationIsExpected(t4) ? this.requestRender() : this.requestReparse()), this.reset(); + }); + }, s3.prototype.mutationIsExpected = function(t4) { + var e3, n4, i2, o3, r3, s4, a3, u2, c3, l2; + return a3 = t4.textAdded, u2 = t4.textDeleted, this.inputSummary.preferDocument ? true : (e3 = a3 != null ? a3 === this.inputSummary.textAdded : !this.inputSummary.textAdded, n4 = u2 != null ? this.inputSummary.didDelete : !this.inputSummary.didDelete, c3 = (a3 === "\n" || a3 === " \n") && !e3, l2 = u2 === "\n" && !n4, s4 = c3 && !l2 || l2 && !c3, s4 && (o3 = this.getSelectedRange()) && (i2 = c3 ? a3.replace(/\n$/, "").length || -1 : (a3 != null ? a3.length : void 0) || 1, (r3 = this.responder) != null ? r3.positionIsBlockBreak(o3[1] + i2) : void 0) ? true : e3 && n4); + }, s3.prototype.mutationIsSignificant = function(t4) { + var e3, n4, i2; + return i2 = Object.keys(t4).length > 0, e3 = ((n4 = this.compositionInput) != null ? n4.getEndData() : void 0) === "", i2 || !e3; + }, s3.prototype.events = {keydown: function(t4) { + var n4, i2, o3, r3, s4, c3, l2, h2, p3; + if (this.isComposing() || this.resetInputSummary(), this.inputSummary.didInput = true, r3 = u[t4.keyCode]) { + for (i2 = this.keys, h2 = ["ctrl", "alt", "shift", "meta"], o3 = 0, c3 = h2.length; c3 > o3; o3++) + l2 = h2[o3], t4[l2 + "Key"] && (l2 === "ctrl" && (l2 = "control"), i2 = i2 != null ? i2[l2] : void 0); + (i2 != null ? i2[r3] : void 0) != null && (this.setInputSummary({keyName: r3}), e2.selectionChangeObserver.reset(), i2[r3].call(this, t4)); + } + return a2(t4) && (n4 = String.fromCharCode(t4.keyCode).toLowerCase()) && (s4 = function() { + var e3, n5, i3, o4; + for (i3 = ["alt", "shift"], o4 = [], e3 = 0, n5 = i3.length; n5 > e3; e3++) + l2 = i3[e3], t4[l2 + "Key"] && o4.push(l2); + return o4; + }(), s4.push(n4), (p3 = this.delegate) != null ? p3.inputControllerDidReceiveKeyboardCommand(s4) : void 0) ? t4.preventDefault() : void 0; + }, keypress: function(t4) { + var e3, n4, i2; + if (this.inputSummary.eventName == null && !t4.metaKey && (!t4.ctrlKey || t4.altKey)) + return (i2 = p2(t4)) ? ((e3 = this.delegate) != null && e3.inputControllerWillPerformTyping(), (n4 = this.responder) != null && n4.insertString(i2), this.setInputSummary({textAdded: i2, didDelete: this.selectionIsExpanded()})) : void 0; + }, textInput: function(t4) { + var e3, n4, i2, o3; + return e3 = t4.data, o3 = this.inputSummary.textAdded, o3 && o3 !== e3 && o3.toUpperCase() === e3 ? (n4 = this.getSelectedRange(), this.setSelectedRange([n4[0], n4[1] + o3.length]), (i2 = this.responder) != null && i2.insertString(e3), this.setInputSummary({textAdded: e3}), this.setSelectedRange(n4)) : void 0; + }, dragenter: function(t4) { + return t4.preventDefault(); + }, dragstart: function(t4) { + var e3, n4; + return n4 = t4.target, this.serializeSelectionToDataTransfer(t4.dataTransfer), this.draggedRange = this.getSelectedRange(), (e3 = this.delegate) != null && typeof e3.inputControllerDidStartDrag == "function" ? e3.inputControllerDidStartDrag() : void 0; + }, dragover: function(t4) { + var e3, n4; + return !this.draggedRange && !this.canAcceptDataTransfer(t4.dataTransfer) || (t4.preventDefault(), e3 = {x: t4.clientX, y: t4.clientY}, l(e3, this.draggingPoint)) ? void 0 : (this.draggingPoint = e3, (n4 = this.delegate) != null && typeof n4.inputControllerDidReceiveDragOverPoint == "function" ? n4.inputControllerDidReceiveDragOverPoint(this.draggingPoint) : void 0); + }, dragend: function() { + var t4; + return (t4 = this.delegate) != null && typeof t4.inputControllerDidCancelDrag == "function" && t4.inputControllerDidCancelDrag(), this.draggedRange = null, this.draggingPoint = null; + }, drop: function(t4) { + var n4, i2, o3, r3, s4, a3, u2, c3, l2; + return t4.preventDefault(), o3 = (s4 = t4.dataTransfer) != null ? s4.files : void 0, r3 = {x: t4.clientX, y: t4.clientY}, (a3 = this.responder) != null && a3.setLocationRangeFromPointRange(r3), (o3 != null ? o3.length : void 0) ? this.attachFiles(o3) : this.draggedRange ? ((u2 = this.delegate) != null && u2.inputControllerWillMoveText(), (c3 = this.responder) != null && c3.moveTextFromRange(this.draggedRange), this.draggedRange = null, this.requestRender()) : (i2 = t4.dataTransfer.getData("application/x-trix-document")) && (n4 = e2.Document.fromJSONString(i2), (l2 = this.responder) != null && l2.insertDocument(n4), this.requestRender()), this.draggedRange = null, this.draggingPoint = null; + }, cut: function(t4) { + var e3, n4; + return ((e3 = this.responder) != null ? e3.selectionIsExpanded() : void 0) && (this.serializeSelectionToDataTransfer(t4.clipboardData) && t4.preventDefault(), (n4 = this.delegate) != null && n4.inputControllerWillCutText(), this.deleteInDirection("backward"), t4.defaultPrevented) ? this.requestRender() : void 0; + }, copy: function(t4) { + var e3; + return ((e3 = this.responder) != null ? e3.selectionIsExpanded() : void 0) && this.serializeSelectionToDataTransfer(t4.clipboardData) ? t4.preventDefault() : void 0; + }, paste: function(t4) { + var n4, o3, s4, a3, u2, c3, l2, p3, f2, g2, v, y, b, A, C3, x, w, E, S2, R, k, D2, L2; + return n4 = (p3 = t4.clipboardData) != null ? p3 : t4.testClipboardData, l2 = {clipboard: n4}, n4 == null || h(t4) ? void this.getPastedHTMLUsingHiddenElement(function(t5) { + return function(e3) { + var n5, i2, o4; + return l2.type = "text/html", l2.html = e3, (n5 = t5.delegate) != null && n5.inputControllerWillPaste(l2), (i2 = t5.responder) != null && i2.insertHTML(l2.html), t5.requestRender(), (o4 = t5.delegate) != null ? o4.inputControllerDidPaste(l2) : void 0; + }; + }(this)) : ((a3 = n4.getData("URL")) ? (l2.type = "text/html", L2 = (c3 = n4.getData("public.url-name")) ? e2.squishBreakableWhitespace(c3).trim() : a3, l2.html = this.createLinkHTML(a3, L2), (f2 = this.delegate) != null && f2.inputControllerWillPaste(l2), this.setInputSummary({textAdded: L2, didDelete: this.selectionIsExpanded()}), (C3 = this.responder) != null && C3.insertHTML(l2.html), this.requestRender(), (x = this.delegate) != null && x.inputControllerDidPaste(l2)) : i(n4) ? (l2.type = "text/plain", l2.string = n4.getData("text/plain"), (w = this.delegate) != null && w.inputControllerWillPaste(l2), this.setInputSummary({textAdded: l2.string, didDelete: this.selectionIsExpanded()}), (E = this.responder) != null && E.insertString(l2.string), this.requestRender(), (S2 = this.delegate) != null && S2.inputControllerDidPaste(l2)) : (u2 = n4.getData("text/html")) ? (l2.type = "text/html", l2.html = u2, (R = this.delegate) != null && R.inputControllerWillPaste(l2), (k = this.responder) != null && k.insertHTML(l2.html), this.requestRender(), (D2 = this.delegate) != null && D2.inputControllerDidPaste(l2)) : m.call(n4.types, "Files") >= 0 && (s4 = (g2 = n4.items) != null && (v = g2[0]) != null && typeof v.getAsFile == "function" ? v.getAsFile() : void 0) && (!s4.name && (o3 = r2(s4)) && (s4.name = "pasted-file-" + ++d2 + "." + o3), l2.type = "File", l2.file = s4, (y = this.delegate) != null && y.inputControllerWillAttachFiles(), (b = this.responder) != null && b.insertFile(l2.file), this.requestRender(), (A = this.delegate) != null && A.inputControllerDidPaste(l2)), t4.preventDefault()); + }, compositionstart: function(t4) { + return this.getCompositionInput().start(t4.data); + }, compositionupdate: function(t4) { + return this.getCompositionInput().update(t4.data); + }, compositionend: function(t4) { + return this.getCompositionInput().end(t4.data); + }, beforeinput: function() { + return this.inputSummary.didInput = true; + }, input: function(t4) { + return this.inputSummary.didInput = true, t4.stopPropagation(); + }}, s3.prototype.keys = {backspace: function(t4) { + var e3; + return (e3 = this.delegate) != null && e3.inputControllerWillPerformTyping(), this.deleteInDirection("backward", t4); + }, delete: function(t4) { + var e3; + return (e3 = this.delegate) != null && e3.inputControllerWillPerformTyping(), this.deleteInDirection("forward", t4); + }, return: function() { + var t4, e3; + return this.setInputSummary({preferDocument: true}), (t4 = this.delegate) != null && t4.inputControllerWillPerformTyping(), (e3 = this.responder) != null ? e3.insertLineBreak() : void 0; + }, tab: function(t4) { + var e3, n4; + return ((e3 = this.responder) != null ? e3.canIncreaseNestingLevel() : void 0) ? ((n4 = this.responder) != null && n4.increaseNestingLevel(), this.requestRender(), t4.preventDefault()) : void 0; + }, left: function(t4) { + var e3; + return this.selectionIsInCursorTarget() ? (t4.preventDefault(), (e3 = this.responder) != null ? e3.moveCursorInDirection("backward") : void 0) : void 0; + }, right: function(t4) { + var e3; + return this.selectionIsInCursorTarget() ? (t4.preventDefault(), (e3 = this.responder) != null ? e3.moveCursorInDirection("forward") : void 0) : void 0; + }, control: {d: function(t4) { + var e3; + return (e3 = this.delegate) != null && e3.inputControllerWillPerformTyping(), this.deleteInDirection("forward", t4); + }, h: function(t4) { + var e3; + return (e3 = this.delegate) != null && e3.inputControllerWillPerformTyping(), this.deleteInDirection("backward", t4); + }, o: function(t4) { + var e3, n4; + return t4.preventDefault(), (e3 = this.delegate) != null && e3.inputControllerWillPerformTyping(), (n4 = this.responder) != null && n4.insertString("\n", {updatePosition: false}), this.requestRender(); + }}, shift: {return: function(t4) { + var e3, n4; + return (e3 = this.delegate) != null && e3.inputControllerWillPerformTyping(), (n4 = this.responder) != null && n4.insertString("\n"), this.requestRender(), t4.preventDefault(); + }, tab: function(t4) { + var e3, n4; + return ((e3 = this.responder) != null ? e3.canDecreaseNestingLevel() : void 0) ? ((n4 = this.responder) != null && n4.decreaseNestingLevel(), this.requestRender(), t4.preventDefault()) : void 0; + }, left: function(t4) { + return this.selectionIsInCursorTarget() ? (t4.preventDefault(), this.expandSelectionInDirection("backward")) : void 0; + }, right: function(t4) { + return this.selectionIsInCursorTarget() ? (t4.preventDefault(), this.expandSelectionInDirection("forward")) : void 0; + }}, alt: {backspace: function() { + var t4; + return this.setInputSummary({preferDocument: false}), (t4 = this.delegate) != null ? t4.inputControllerWillPerformTyping() : void 0; + }}, meta: {backspace: function() { + var t4; + return this.setInputSummary({preferDocument: false}), (t4 = this.delegate) != null ? t4.inputControllerWillPerformTyping() : void 0; + }}}, s3.prototype.getCompositionInput = function() { + return this.isComposing() ? this.compositionInput : this.compositionInput = new t3(this); + }, s3.prototype.isComposing = function() { + return this.compositionInput != null && !this.compositionInput.isEnded(); + }, s3.prototype.deleteInDirection = function(t4, e3) { + var n4; + return ((n4 = this.responder) != null ? n4.deleteInDirection(t4) : void 0) !== false ? this.setInputSummary({didDelete: true}) : e3 ? (e3.preventDefault(), this.requestRender()) : void 0; + }, s3.prototype.serializeSelectionToDataTransfer = function(t4) { + var n4, i2; + if (o2(t4)) + return n4 = (i2 = this.responder) != null ? i2.getSelectedDocument().toSerializableDocument() : void 0, t4.setData("application/x-trix-document", JSON.stringify(n4)), t4.setData("text/html", e2.DocumentView.render(n4).innerHTML), t4.setData("text/plain", n4.toString().replace(/\n$/, "")), true; + }, s3.prototype.canAcceptDataTransfer = function(t4) { + var e3, n4, i2, o3, r3, s4; + for (s4 = {}, o3 = (i2 = t4 != null ? t4.types : void 0) != null ? i2 : [], e3 = 0, n4 = o3.length; n4 > e3; e3++) + r3 = o3[e3], s4[r3] = true; + return s4.Files || s4["application/x-trix-document"] || s4["text/html"] || s4["text/plain"]; + }, s3.prototype.getPastedHTMLUsingHiddenElement = function(t4) { + var n4, i2, o3; + return i2 = this.getSelectedRange(), o3 = {position: "absolute", left: window.pageXOffset + "px", top: window.pageYOffset + "px", opacity: 0}, n4 = c2({style: o3, tagName: "div", editable: true}), document.body.appendChild(n4), n4.focus(), requestAnimationFrame(function(o4) { + return function() { + var r3; + return r3 = n4.innerHTML, e2.removeNode(n4), o4.setSelectedRange(i2), t4(r3); + }; + }(this)); + }, s3.proxyMethod("responder?.getSelectedRange"), s3.proxyMethod("responder?.setSelectedRange"), s3.proxyMethod("responder?.expandSelectionInDirection"), s3.proxyMethod("responder?.selectionIsInCursorTarget"), s3.proxyMethod("responder?.selectionIsExpanded"), s3; + }(e2.InputController), r2 = function(t4) { + var e3, n3; + return (e3 = t4.type) != null && (n3 = e3.match(/\/(\w+)$/)) != null ? n3[1] : void 0; + }, s2 = (typeof " ".codePointAt == "function" ? " ".codePointAt(0) : void 0) != null, p2 = function(t4) { + var n3; + return t4.key && s2 && t4.key.codePointAt(0) === t4.keyCode ? t4.key : (t4.which === null ? n3 = t4.keyCode : t4.which !== 0 && t4.charCode !== 0 && (n3 = t4.charCode), n3 != null && u[n3] !== "escape" ? e2.UTF16String.fromCodepoints([n3]).toString() : void 0); + }, h = function(t4) { + var e3, n3, i2, o3, r3, s3, a3, u2, c3, l2; + if (u2 = t4.clipboardData) { + if (m.call(u2.types, "text/html") >= 0) { + for (c3 = u2.types, i2 = 0, s3 = c3.length; s3 > i2; i2++) + if (l2 = c3[i2], e3 = /^CorePasteboardFlavorType/.test(l2), n3 = /^dyn\./.test(l2) && u2.getData(l2), a3 = e3 || n3) + return true; + return false; + } + return o3 = m.call(u2.types, "com.apple.webarchive") >= 0, r3 = m.call(u2.types, "com.apple.flat-rtfd") >= 0, o3 || r3; + } + }, t3 = function(t4) { + function e3(t5) { + var e4; + this.inputController = t5, e4 = this.inputController, this.responder = e4.responder, this.delegate = e4.delegate, this.inputSummary = e4.inputSummary, this.data = {}; + } + return f(e3, t4), e3.prototype.start = function(t5) { + var e4, n3; + return this.data.start = t5, this.isSignificant() ? (this.inputSummary.eventName === "keypress" && this.inputSummary.textAdded && (e4 = this.responder) != null && e4.deleteInDirection("left"), this.selectionIsExpanded() || (this.insertPlaceholder(), this.requestRender()), this.range = (n3 = this.responder) != null ? n3.getSelectedRange() : void 0) : void 0; + }, e3.prototype.update = function(t5) { + var e4; + return this.data.update = t5, this.isSignificant() && (e4 = this.selectPlaceholder()) ? (this.forgetPlaceholder(), this.range = e4) : void 0; + }, e3.prototype.end = function(t5) { + var e4, n3, i2, o3; + return this.data.end = t5, this.isSignificant() ? (this.forgetPlaceholder(), this.canApplyToDocument() ? (this.setInputSummary({preferDocument: true, didInput: false}), (e4 = this.delegate) != null && e4.inputControllerWillPerformTyping(), (n3 = this.responder) != null && n3.setSelectedRange(this.range), (i2 = this.responder) != null && i2.insertString(this.data.end), (o3 = this.responder) != null ? o3.setSelectedRange(this.range[0] + this.data.end.length) : void 0) : this.data.start != null || this.data.update != null ? (this.requestReparse(), this.inputController.reset()) : void 0) : this.inputController.reset(); + }, e3.prototype.getEndData = function() { + return this.data.end; + }, e3.prototype.isEnded = function() { + return this.getEndData() != null; + }, e3.prototype.isSignificant = function() { + return n2.composesExistingText ? this.inputSummary.didInput : true; + }, e3.prototype.canApplyToDocument = function() { + var t5, e4; + return ((t5 = this.data.start) != null ? t5.length : void 0) === 0 && ((e4 = this.data.end) != null ? e4.length : void 0) > 0 && this.range != null; + }, e3.proxyMethod("inputController.setInputSummary"), e3.proxyMethod("inputController.requestRender"), e3.proxyMethod("inputController.requestReparse"), e3.proxyMethod("responder?.selectionIsExpanded"), e3.proxyMethod("responder?.insertPlaceholder"), e3.proxyMethod("responder?.selectPlaceholder"), e3.proxyMethod("responder?.forgetPlaceholder"), e3; + }(e2.BasicObject); + }.call(this), function() { + var t3, n2, i, o2 = function(t4, e3) { + return function() { + return t4.apply(e3, arguments); }; - n2 = e2.browser, s2 = e2.makeElement, a2 = e2.triggerEvent, o2 = e2.handleEvent, r2 = e2.handleEventOnce, i = e2.findClosestElementFromNode, t3 = e2.AttachmentView.attachmentSelector, e2.registerElement("trix-editor", function() { - var c2, l, h, p2, d, f, g, m, v; - return g = 0, l = function(t4) { - return !document.querySelector(":focus") && t4.hasAttribute("autofocus") && document.querySelector("[autofocus]") === t4 ? t4.focus() : void 0; - }, m = function(t4) { - return t4.hasAttribute("contenteditable") ? void 0 : (t4.setAttribute("contenteditable", ""), r2("focus", { onElement: t4, withCallback: function() { - return h(t4); - } })); - }, h = function(t4) { - return d(t4), v(t4); - }, d = function(t4) { - return (typeof document.queryCommandSupported == "function" ? document.queryCommandSupported("enableObjectResizing") : void 0) ? (document.execCommand("enableObjectResizing", false, false), o2("mscontrolselect", { onElement: t4, preventDefault: true })) : void 0; - }, v = function() { + }, r2 = function(t4, e3) { + function n3() { + this.constructor = t4; + } + for (var i2 in e3) + s2.call(e3, i2) && (t4[i2] = e3[i2]); + return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; + }, s2 = {}.hasOwnProperty, a2 = [].indexOf || function(t4) { + for (var e3 = 0, n3 = this.length; n3 > e3; e3++) + if (e3 in this && this[e3] === t4) + return e3; + return -1; + }; + t3 = e2.dataTransferIsPlainText, n2 = e2.keyEventIsKeyboardCommand, i = e2.objectsAreEqual, e2.Level2InputController = function(s3) { + function u() { + return this.render = o2(this.render, this), u.__super__.constructor.apply(this, arguments); + } + var c2, l, h, p2, d, f; + return r2(u, s3), u.prototype.elementDidMutate = function() { + var t4; + return this.scheduledRender ? this.composing && (t4 = this.delegate) != null && typeof t4.inputControllerDidAllowUnhandledInput == "function" ? t4.inputControllerDidAllowUnhandledInput() : void 0 : this.reparse(); + }, u.prototype.scheduleRender = function() { + return this.scheduledRender != null ? this.scheduledRender : this.scheduledRender = requestAnimationFrame(this.render); + }, u.prototype.render = function() { + var t4; + return cancelAnimationFrame(this.scheduledRender), this.scheduledRender = null, this.composing || (t4 = this.delegate) != null && t4.render(), typeof this.afterRender == "function" && this.afterRender(), this.afterRender = null; + }, u.prototype.reparse = function() { + var t4; + return (t4 = this.delegate) != null ? t4.reparse() : void 0; + }, u.prototype.events = {keydown: function(t4) { + var e3, i2, o3, r3; + if (n2(t4)) { + if (e3 = l(t4), (r3 = this.delegate) != null ? r3.inputControllerDidReceiveKeyboardCommand(e3) : void 0) + return t4.preventDefault(); + } else if (o3 = t4.key, t4.altKey && (o3 += "+Alt"), t4.shiftKey && (o3 += "+Shift"), i2 = this.keys[o3]) + return this.withEvent(t4, i2); + }, paste: function(t4) { + var e3, n3, i2, o3, r3, s4, a3, u2, c3; + return h(t4) ? (t4.preventDefault(), this.attachFiles(t4.clipboardData.files)) : p2(t4) ? (t4.preventDefault(), n3 = {type: "text/plain", string: t4.clipboardData.getData("text/plain")}, (i2 = this.delegate) != null && i2.inputControllerWillPaste(n3), (o3 = this.responder) != null && o3.insertString(n3.string), this.render(), (r3 = this.delegate) != null ? r3.inputControllerDidPaste(n3) : void 0) : (e3 = (s4 = t4.clipboardData) != null ? s4.getData("URL") : void 0) ? (t4.preventDefault(), n3 = {type: "text/html", html: this.createLinkHTML(e3)}, (a3 = this.delegate) != null && a3.inputControllerWillPaste(n3), (u2 = this.responder) != null && u2.insertHTML(n3.html), this.render(), (c3 = this.delegate) != null ? c3.inputControllerDidPaste(n3) : void 0) : void 0; + }, beforeinput: function(t4) { + var e3; + return (e3 = this.inputTypes[t4.inputType]) ? (this.withEvent(t4, e3), this.scheduleRender()) : void 0; + }, input: function() { + return e2.selectionChangeObserver.reset(); + }, dragstart: function(t4) { + var e3, n3; + return ((e3 = this.responder) != null ? e3.selectionContainsAttachments() : void 0) ? (t4.dataTransfer.setData("application/x-trix-dragging", true), this.dragging = {range: (n3 = this.responder) != null ? n3.getSelectedRange() : void 0, point: d(t4)}) : void 0; + }, dragenter: function(t4) { + return c2(t4) ? t4.preventDefault() : void 0; + }, dragover: function(t4) { + var e3, n3; + if (this.dragging) { + if (t4.preventDefault(), e3 = d(t4), !i(e3, this.dragging.point)) + return this.dragging.point = e3, (n3 = this.responder) != null ? n3.setLocationRangeFromPointRange(e3) : void 0; + } else if (c2(t4)) + return t4.preventDefault(); + }, drop: function(t4) { + var e3, n3, i2, o3; + return this.dragging ? (t4.preventDefault(), (n3 = this.delegate) != null && n3.inputControllerWillMoveText(), (i2 = this.responder) != null && i2.moveTextFromRange(this.dragging.range), this.dragging = null, this.scheduleRender()) : c2(t4) ? (t4.preventDefault(), e3 = d(t4), (o3 = this.responder) != null && o3.setLocationRangeFromPointRange(e3), this.attachFiles(t4.dataTransfer.files)) : void 0; + }, dragend: function() { + var t4; + return this.dragging ? ((t4 = this.responder) != null && t4.setSelectedRange(this.dragging.range), this.dragging = null) : void 0; + }, compositionend: function() { + return this.composing ? (this.composing = false, this.scheduleRender()) : void 0; + }}, u.prototype.keys = {ArrowLeft: function() { + var t4, e3; + return ((t4 = this.responder) != null ? t4.shouldManageMovingCursorInDirection("backward") : void 0) ? (this.event.preventDefault(), (e3 = this.responder) != null ? e3.moveCursorInDirection("backward") : void 0) : void 0; + }, ArrowRight: function() { + var t4, e3; + return ((t4 = this.responder) != null ? t4.shouldManageMovingCursorInDirection("forward") : void 0) ? (this.event.preventDefault(), (e3 = this.responder) != null ? e3.moveCursorInDirection("forward") : void 0) : void 0; + }, Backspace: function() { + var t4, e3, n3; + return ((t4 = this.responder) != null ? t4.shouldManageDeletingInDirection("backward") : void 0) ? (this.event.preventDefault(), (e3 = this.delegate) != null && e3.inputControllerWillPerformTyping(), (n3 = this.responder) != null && n3.deleteInDirection("backward"), this.render()) : void 0; + }, Tab: function() { + var t4, e3; + return ((t4 = this.responder) != null ? t4.canIncreaseNestingLevel() : void 0) ? (this.event.preventDefault(), (e3 = this.responder) != null && e3.increaseNestingLevel(), this.render()) : void 0; + }, "Tab+Shift": function() { + var t4, e3; + return ((t4 = this.responder) != null ? t4.canDecreaseNestingLevel() : void 0) ? (this.event.preventDefault(), (e3 = this.responder) != null && e3.decreaseNestingLevel(), this.render()) : void 0; + }}, u.prototype.inputTypes = {deleteByComposition: function() { + return this.deleteInDirection("backward", {recordUndoEntry: false}); + }, deleteByCut: function() { + return this.deleteInDirection("backward"); + }, deleteByDrag: function() { + return this.event.preventDefault(), this.withTargetDOMRange(function() { var t4; - return (typeof document.queryCommandSupported == "function" ? document.queryCommandSupported("DefaultParagraphSeparator") : void 0) && (t4 = e2.config.blockAttributes["default"].tagName, t4 === "div" || t4 === "p") ? document.execCommand("DefaultParagraphSeparator", false, t4) : void 0; - }, c2 = function(t4) { - return t4.hasAttribute("role") ? void 0 : t4.setAttribute("role", "textbox"); - }, f = function(t4) { - var e3; - if (!t4.hasAttribute("aria-label") && !t4.hasAttribute("aria-labelledby")) - return (e3 = function() { - var e4, n3, i2; - return i2 = function() { - var n4, i3, o3, r3; - for (o3 = t4.labels, r3 = [], n4 = 0, i3 = o3.length; i3 > n4; n4++) - e4 = o3[n4], e4.contains(t4) || r3.push(e4.textContent); - return r3; - }(), (n3 = i2.join(" ")) ? t4.setAttribute("aria-label", n3) : t4.removeAttribute("aria-label"); - })(), o2("focus", { onElement: t4, withCallback: e3 }); - }, p2 = function() { - return n2.forcesObjectResizing ? { display: "inline", width: "auto" } : { display: "inline-block", width: "1px" }; - }(), { defaultCSS: "%t {\n display: block;\n}\n\n%t:empty:not(:focus)::before {\n content: attr(placeholder);\n color: graytext;\n cursor: text;\n pointer-events: none;\n}\n\n%t a[contenteditable=false] {\n cursor: text;\n}\n\n%t img {\n max-width: 100%;\n height: auto;\n}\n\n%t " + t3 + " figcaption textarea {\n resize: none;\n}\n\n%t " + t3 + " figcaption textarea.trix-autoresize-clone {\n position: absolute;\n left: -9999px;\n max-height: 0px;\n}\n\n%t " + t3 + " figcaption[data-trix-placeholder]:empty::before {\n content: attr(data-trix-placeholder);\n color: graytext;\n}\n\n%t [data-trix-cursor-target] {\n display: " + p2.display + " !important;\n width: " + p2.width + " !important;\n padding: 0 !important;\n margin: 0 !important;\n border: none !important;\n}\n\n%t [data-trix-cursor-target=left] {\n vertical-align: top !important;\n margin-left: -1px !important;\n}\n\n%t [data-trix-cursor-target=right] {\n vertical-align: bottom !important;\n margin-right: -1px !important;\n}", trixId: { get: function() { - return this.hasAttribute("trix-id") ? this.getAttribute("trix-id") : (this.setAttribute("trix-id", ++g), this.trixId); - } }, labels: { get: function() { - var t4, e3, n3; - return e3 = [], this.id && this.ownerDocument && e3.push.apply(e3, this.ownerDocument.querySelectorAll("label[for='" + this.id + "']")), (t4 = i(this, { matchingSelector: "label" })) && ((n3 = t4.control) === this || n3 === null) && e3.push(t4), e3; - } }, toolbarElement: { get: function() { - var t4, e3, n3; - return this.hasAttribute("toolbar") ? (e3 = this.ownerDocument) != null ? e3.getElementById(this.getAttribute("toolbar")) : void 0 : this.parentNode ? (n3 = "trix-toolbar-" + this.trixId, this.setAttribute("toolbar", n3), t4 = s2("trix-toolbar", { id: n3 }), this.parentNode.insertBefore(t4, this), t4) : void 0; - } }, inputElement: { get: function() { - var t4, e3, n3; - return this.hasAttribute("input") ? (n3 = this.ownerDocument) != null ? n3.getElementById(this.getAttribute("input")) : void 0 : this.parentNode ? (e3 = "trix-input-" + this.trixId, this.setAttribute("input", e3), t4 = s2("input", { type: "hidden", id: e3 }), this.parentNode.insertBefore(t4, this.nextElementSibling), t4) : void 0; - } }, editor: { get: function() { + return this.deleteByDragRange = (t4 = this.responder) != null ? t4.getSelectedRange() : void 0; + }); + }, deleteCompositionText: function() { + return this.deleteInDirection("backward", {recordUndoEntry: false}); + }, deleteContent: function() { + return this.deleteInDirection("backward"); + }, deleteContentBackward: function() { + return this.deleteInDirection("backward"); + }, deleteContentForward: function() { + return this.deleteInDirection("forward"); + }, deleteEntireSoftLine: function() { + return this.deleteInDirection("forward"); + }, deleteHardLineBackward: function() { + return this.deleteInDirection("backward"); + }, deleteHardLineForward: function() { + return this.deleteInDirection("forward"); + }, deleteSoftLineBackward: function() { + return this.deleteInDirection("backward"); + }, deleteSoftLineForward: function() { + return this.deleteInDirection("forward"); + }, deleteWordBackward: function() { + return this.deleteInDirection("backward"); + }, deleteWordForward: function() { + return this.deleteInDirection("forward"); + }, formatBackColor: function() { + return this.activateAttributeIfSupported("backgroundColor", this.event.data); + }, formatBold: function() { + return this.toggleAttributeIfSupported("bold"); + }, formatFontColor: function() { + return this.activateAttributeIfSupported("color", this.event.data); + }, formatFontName: function() { + return this.activateAttributeIfSupported("font", this.event.data); + }, formatIndent: function() { + var t4; + return ((t4 = this.responder) != null ? t4.canIncreaseNestingLevel() : void 0) ? this.withTargetDOMRange(function() { + var t5; + return (t5 = this.responder) != null ? t5.increaseNestingLevel() : void 0; + }) : void 0; + }, formatItalic: function() { + return this.toggleAttributeIfSupported("italic"); + }, formatJustifyCenter: function() { + return this.toggleAttributeIfSupported("justifyCenter"); + }, formatJustifyFull: function() { + return this.toggleAttributeIfSupported("justifyFull"); + }, formatJustifyLeft: function() { + return this.toggleAttributeIfSupported("justifyLeft"); + }, formatJustifyRight: function() { + return this.toggleAttributeIfSupported("justifyRight"); + }, formatOutdent: function() { + var t4; + return ((t4 = this.responder) != null ? t4.canDecreaseNestingLevel() : void 0) ? this.withTargetDOMRange(function() { + var t5; + return (t5 = this.responder) != null ? t5.decreaseNestingLevel() : void 0; + }) : void 0; + }, formatRemove: function() { + return this.withTargetDOMRange(function() { + var t4, e3, n3, i2; + i2 = []; + for (t4 in (e3 = this.responder) != null ? e3.getCurrentAttributes() : void 0) + i2.push((n3 = this.responder) != null ? n3.removeCurrentAttribute(t4) : void 0); + return i2; + }); + }, formatSetBlockTextDirection: function() { + return this.activateAttributeIfSupported("blockDir", this.event.data); + }, formatSetInlineTextDirection: function() { + return this.activateAttributeIfSupported("textDir", this.event.data); + }, formatStrikeThrough: function() { + return this.toggleAttributeIfSupported("strike"); + }, formatSubscript: function() { + return this.toggleAttributeIfSupported("sub"); + }, formatSuperscript: function() { + return this.toggleAttributeIfSupported("sup"); + }, formatUnderline: function() { + return this.toggleAttributeIfSupported("underline"); + }, historyRedo: function() { + var t4; + return (t4 = this.delegate) != null ? t4.inputControllerWillPerformRedo() : void 0; + }, historyUndo: function() { + var t4; + return (t4 = this.delegate) != null ? t4.inputControllerWillPerformUndo() : void 0; + }, insertCompositionText: function() { + return this.composing = true, this.insertString(this.event.data); + }, insertFromComposition: function() { + return this.composing = false, this.insertString(this.event.data); + }, insertFromDrop: function() { + var t4, e3; + return (t4 = this.deleteByDragRange) ? (this.deleteByDragRange = null, (e3 = this.delegate) != null && e3.inputControllerWillMoveText(), this.withTargetDOMRange(function() { + var e4; + return (e4 = this.responder) != null ? e4.moveTextFromRange(t4) : void 0; + })) : void 0; + }, insertFromPaste: function() { + var n3, i2, o3, r3, s4, a3, u2, c3, l2, h2, p3; + return n3 = this.event.dataTransfer, s4 = {dataTransfer: n3}, (i2 = n3.getData("URL")) ? (this.event.preventDefault(), s4.type = "text/html", p3 = (r3 = n3.getData("public.url-name")) ? e2.squishBreakableWhitespace(r3).trim() : i2, s4.html = this.createLinkHTML(i2, p3), (a3 = this.delegate) != null && a3.inputControllerWillPaste(s4), this.withTargetDOMRange(function() { var t4; - return (t4 = this.editorController) != null ? t4.editor : void 0; - } }, name: { get: function() { + return (t4 = this.responder) != null ? t4.insertHTML(s4.html) : void 0; + }), this.afterRender = function(t4) { + return function() { + var e3; + return (e3 = t4.delegate) != null ? e3.inputControllerDidPaste(s4) : void 0; + }; + }(this)) : t3(n3) ? (s4.type = "text/plain", s4.string = n3.getData("text/plain"), (u2 = this.delegate) != null && u2.inputControllerWillPaste(s4), this.withTargetDOMRange(function() { var t4; - return (t4 = this.inputElement) != null ? t4.name : void 0; - } }, value: { get: function() { + return (t4 = this.responder) != null ? t4.insertString(s4.string) : void 0; + }), this.afterRender = function(t4) { + return function() { + var e3; + return (e3 = t4.delegate) != null ? e3.inputControllerDidPaste(s4) : void 0; + }; + }(this)) : (o3 = n3.getData("text/html")) ? (this.event.preventDefault(), s4.type = "text/html", s4.html = o3, (c3 = this.delegate) != null && c3.inputControllerWillPaste(s4), this.withTargetDOMRange(function() { var t4; - return (t4 = this.inputElement) != null ? t4.value : void 0; - }, set: function(t4) { - var e3; - return this.defaultValue = t4, (e3 = this.editor) != null ? e3.loadHTML(this.defaultValue) : void 0; - } }, notify: function(t4, e3) { - return this.editorController ? a2("trix-" + t4, { onElement: this, attributes: e3 }) : void 0; - }, setInputElementValue: function(t4) { - var e3; - return (e3 = this.inputElement) != null ? e3.value = t4 : void 0; - }, initialize: function() { - return this.hasAttribute("data-trix-internal") ? void 0 : (m(this), c2(this), f(this)); - }, connect: function() { - return this.hasAttribute("data-trix-internal") ? void 0 : (this.editorController || (a2("trix-before-initialize", { onElement: this }), this.editorController = new e2.EditorController({ editorElement: this, html: this.defaultValue = this.value }), requestAnimationFrame(function(t4) { - return function() { - return a2("trix-initialize", { onElement: t4 }); - }; - }(this))), this.editorController.registerSelectionManager(), this.registerResetListener(), this.registerClickListener(), l(this)); - }, disconnect: function() { + return (t4 = this.responder) != null ? t4.insertHTML(s4.html) : void 0; + }), this.afterRender = function(t4) { + return function() { + var e3; + return (e3 = t4.delegate) != null ? e3.inputControllerDidPaste(s4) : void 0; + }; + }(this)) : ((l2 = n3.files) != null ? l2.length : void 0) ? (s4.type = "File", s4.file = n3.files[0], (h2 = this.delegate) != null && h2.inputControllerWillPaste(s4), this.withTargetDOMRange(function() { var t4; - return (t4 = this.editorController) != null && t4.unregisterSelectionManager(), this.unregisterResetListener(), this.unregisterClickListener(); - }, registerResetListener: function() { - return this.resetListener = this.resetBubbled.bind(this), window.addEventListener("reset", this.resetListener, false); - }, unregisterResetListener: function() { - return window.removeEventListener("reset", this.resetListener, false); - }, registerClickListener: function() { - return this.clickListener = this.clickBubbled.bind(this), window.addEventListener("click", this.clickListener, false); - }, unregisterClickListener: function() { - return window.removeEventListener("click", this.clickListener, false); - }, resetBubbled: function(t4) { + return (t4 = this.responder) != null ? t4.insertFile(s4.file) : void 0; + }), this.afterRender = function(t4) { + return function() { + var e3; + return (e3 = t4.delegate) != null ? e3.inputControllerDidPaste(s4) : void 0; + }; + }(this)) : void 0; + }, insertFromYank: function() { + return this.insertString(this.event.data); + }, insertLineBreak: function() { + return this.insertString("\n"); + }, insertLink: function() { + return this.activateAttributeIfSupported("href", this.event.data); + }, insertOrderedList: function() { + return this.toggleAttributeIfSupported("number"); + }, insertParagraph: function() { + var t4; + return (t4 = this.delegate) != null && t4.inputControllerWillPerformTyping(), this.withTargetDOMRange(function() { + var t5; + return (t5 = this.responder) != null ? t5.insertLineBreak() : void 0; + }); + }, insertReplacementText: function() { + return this.insertString(this.event.dataTransfer.getData("text/plain"), {updatePosition: false}); + }, insertText: function() { + var t4, e3; + return this.insertString((t4 = this.event.data) != null ? t4 : (e3 = this.event.dataTransfer) != null ? e3.getData("text/plain") : void 0); + }, insertTranspose: function() { + return this.insertString(this.event.data); + }, insertUnorderedList: function() { + return this.toggleAttributeIfSupported("bullet"); + }}, u.prototype.insertString = function(t4, e3) { + var n3; + return t4 == null && (t4 = ""), (n3 = this.delegate) != null && n3.inputControllerWillPerformTyping(), this.withTargetDOMRange(function() { + var n4; + return (n4 = this.responder) != null ? n4.insertString(t4, e3) : void 0; + }); + }, u.prototype.toggleAttributeIfSupported = function(t4) { + var n3; + return a2.call(e2.getAllAttributeNames(), t4) >= 0 ? ((n3 = this.delegate) != null && n3.inputControllerWillPerformFormatting(t4), this.withTargetDOMRange(function() { var e3; - if (!t4.defaultPrevented && t4.target === ((e3 = this.inputElement) != null ? e3.form : void 0)) - return this.reset(); - }, clickBubbled: function(t4) { + return (e3 = this.responder) != null ? e3.toggleCurrentAttribute(t4) : void 0; + })) : void 0; + }, u.prototype.activateAttributeIfSupported = function(t4, n3) { + var i2; + return a2.call(e2.getAllAttributeNames(), t4) >= 0 ? ((i2 = this.delegate) != null && i2.inputControllerWillPerformFormatting(t4), this.withTargetDOMRange(function() { var e3; - if (!(t4.defaultPrevented || this.contains(t4.target) || !(e3 = i(t4.target, { matchingSelector: "label" })) || u.call(this.labels, e3) < 0)) - return this.focus(); - }, reset: function() { - return this.value = this.defaultValue; - } }; - }()); - }.call(this), function() { - }.call(this); - }).call(this), typeof module == "object" && module.exports ? module.exports = e2 : typeof define == "function" && define.amd && define(e2); - }.call(exports); - } + return (e3 = this.responder) != null ? e3.setCurrentAttribute(t4, n3) : void 0; + })) : void 0; + }, u.prototype.deleteInDirection = function(t4, e3) { + var n3, i2, o3, r3; + return o3 = (e3 != null ? e3 : {recordUndoEntry: true}).recordUndoEntry, o3 && (r3 = this.delegate) != null && r3.inputControllerWillPerformTyping(), i2 = function(e4) { + return function() { + var n4; + return (n4 = e4.responder) != null ? n4.deleteInDirection(t4) : void 0; + }; + }(this), (n3 = this.getTargetDOMRange({minLength: 2})) ? this.withTargetDOMRange(n3, i2) : i2(); + }, u.prototype.withTargetDOMRange = function(t4, n3) { + var i2; + return typeof t4 == "function" && (n3 = t4, t4 = this.getTargetDOMRange()), t4 ? (i2 = this.responder) != null ? i2.withTargetDOMRange(t4, n3.bind(this)) : void 0 : (e2.selectionChangeObserver.reset(), n3.call(this)); + }, u.prototype.getTargetDOMRange = function(t4) { + var e3, n3, i2, o3; + return i2 = (t4 != null ? t4 : {minLength: 0}).minLength, (o3 = typeof (e3 = this.event).getTargetRanges == "function" ? e3.getTargetRanges() : void 0) && o3.length && (n3 = f(o3[0]), i2 === 0 || n3.toString().length >= i2) ? n3 : void 0; + }, f = function(t4) { + var e3; + return e3 = document.createRange(), e3.setStart(t4.startContainer, t4.startOffset), e3.setEnd(t4.endContainer, t4.endOffset), e3; + }, u.prototype.withEvent = function(t4, e3) { + var n3; + this.event = t4; + try { + n3 = e3.call(this); + } finally { + this.event = null; + } + return n3; + }, c2 = function(t4) { + var e3, n3; + return a2.call((e3 = (n3 = t4.dataTransfer) != null ? n3.types : void 0) != null ? e3 : [], "Files") >= 0; + }, h = function(t4) { + var e3; + return (e3 = t4.clipboardData) ? a2.call(e3.types, "Files") >= 0 && e3.types.length === 1 && e3.files.length >= 1 : void 0; + }, p2 = function(t4) { + var e3; + return (e3 = t4.clipboardData) ? a2.call(e3.types, "text/plain") >= 0 && e3.types.length === 1 : void 0; + }, l = function(t4) { + var e3; + return e3 = [], t4.altKey && e3.push("alt"), t4.shiftKey && e3.push("shift"), e3.push(t4.key), e3; + }, d = function(t4) { + return {x: t4.clientX, y: t4.clientY}; + }, u; + }(e2.InputController); + }.call(this), function() { + var t3, n2, i, o2, r2, s2, a2, u, c2 = function(t4, e3) { + return function() { + return t4.apply(e3, arguments); + }; + }, l = function(t4, e3) { + function n3() { + this.constructor = t4; + } + for (var i2 in e3) + h.call(e3, i2) && (t4[i2] = e3[i2]); + return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; + }, h = {}.hasOwnProperty; + n2 = e2.defer, i = e2.handleEvent, s2 = e2.makeElement, u = e2.tagName, a2 = e2.config, r2 = a2.lang, t3 = a2.css, o2 = a2.keyNames, e2.AttachmentEditorController = function(a3) { + function h2(t4, e3, n3, i2) { + this.attachmentPiece = t4, this.element = e3, this.container = n3, this.options = i2 != null ? i2 : {}, this.didBlurCaption = c2(this.didBlurCaption, this), this.didChangeCaption = c2(this.didChangeCaption, this), this.didInputCaption = c2(this.didInputCaption, this), this.didKeyDownCaption = c2(this.didKeyDownCaption, this), this.didClickActionButton = c2(this.didClickActionButton, this), this.didClickToolbar = c2(this.didClickToolbar, this), this.attachment = this.attachmentPiece.attachment, u(this.element) === "a" && (this.element = this.element.firstChild), this.install(); + } + var p2; + return l(h2, a3), p2 = function(t4) { + return function() { + var e3; + return e3 = t4.apply(this, arguments), e3["do"](), this.undos == null && (this.undos = []), this.undos.push(e3.undo); + }; + }, h2.prototype.install = function() { + return this.makeElementMutable(), this.addToolbar(), this.attachment.isPreviewable() ? this.installCaptionEditor() : void 0; + }, h2.prototype.uninstall = function() { + var t4, e3; + for (this.savePendingCaption(); e3 = this.undos.pop(); ) + e3(); + return (t4 = this.delegate) != null ? t4.didUninstallAttachmentEditor(this) : void 0; + }, h2.prototype.savePendingCaption = function() { + var t4, e3, n3; + return this.pendingCaption != null ? (t4 = this.pendingCaption, this.pendingCaption = null, t4 ? (e3 = this.delegate) != null && typeof e3.attachmentEditorDidRequestUpdatingAttributesForAttachment == "function" ? e3.attachmentEditorDidRequestUpdatingAttributesForAttachment({caption: t4}, this.attachment) : void 0 : (n3 = this.delegate) != null && typeof n3.attachmentEditorDidRequestRemovingAttributeForAttachment == "function" ? n3.attachmentEditorDidRequestRemovingAttributeForAttachment("caption", this.attachment) : void 0) : void 0; + }, h2.prototype.makeElementMutable = p2(function() { + return {do: function(t4) { + return function() { + return t4.element.dataset.trixMutable = true; + }; + }(this), undo: function(t4) { + return function() { + return delete t4.element.dataset.trixMutable; + }; + }(this)}; + }), h2.prototype.addToolbar = p2(function() { + var n3; + return n3 = s2({tagName: "div", className: t3.attachmentToolbar, data: {trixMutable: true}, childNodes: s2({tagName: "div", className: "trix-button-row", childNodes: s2({tagName: "span", className: "trix-button-group trix-button-group--actions", childNodes: s2({tagName: "button", className: "trix-button trix-button--remove", textContent: r2.remove, attributes: {title: r2.remove}, data: {trixAction: "remove"}})})})}), this.attachment.isPreviewable() && n3.appendChild(s2({tagName: "div", className: t3.attachmentMetadataContainer, childNodes: s2({tagName: "span", className: t3.attachmentMetadata, childNodes: [s2({tagName: "span", className: t3.attachmentName, textContent: this.attachment.getFilename(), attributes: {title: this.attachment.getFilename()}}), s2({tagName: "span", className: t3.attachmentSize, textContent: this.attachment.getFormattedFilesize()})]})})), i("click", {onElement: n3, withCallback: this.didClickToolbar}), i("click", {onElement: n3, matchingSelector: "[data-trix-action]", withCallback: this.didClickActionButton}), {do: function(t4) { + return function() { + return t4.element.appendChild(n3); + }; + }(this), undo: function() { + return function() { + return e2.removeNode(n3); + }; + }(this)}; + }), h2.prototype.installCaptionEditor = p2(function() { + var o3, a4, u2, c3, l2; + return c3 = s2({tagName: "textarea", className: t3.attachmentCaptionEditor, attributes: {placeholder: r2.captionPlaceholder}, data: {trixMutable: true}}), c3.value = this.attachmentPiece.getCaption(), l2 = c3.cloneNode(), l2.classList.add("trix-autoresize-clone"), l2.tabIndex = -1, o3 = function() { + return l2.value = c3.value, c3.style.height = l2.scrollHeight + "px"; + }, i("input", {onElement: c3, withCallback: o3}), i("input", {onElement: c3, withCallback: this.didInputCaption}), i("keydown", {onElement: c3, withCallback: this.didKeyDownCaption}), i("change", {onElement: c3, withCallback: this.didChangeCaption}), i("blur", {onElement: c3, withCallback: this.didBlurCaption}), u2 = this.element.querySelector("figcaption"), a4 = u2.cloneNode(), {do: function(e3) { + return function() { + return u2.style.display = "none", a4.appendChild(c3), a4.appendChild(l2), a4.classList.add(t3.attachmentCaption + "--editing"), u2.parentElement.insertBefore(a4, u2), o3(), e3.options.editCaption ? n2(function() { + return c3.focus(); + }) : void 0; + }; + }(this), undo: function() { + return e2.removeNode(a4), u2.style.display = null; + }}; + }), h2.prototype.didClickToolbar = function(t4) { + return t4.preventDefault(), t4.stopPropagation(); + }, h2.prototype.didClickActionButton = function(t4) { + var e3, n3; + switch (e3 = t4.target.getAttribute("data-trix-action")) { + case "remove": + return (n3 = this.delegate) != null ? n3.attachmentEditorDidRequestRemovalOfAttachment(this.attachment) : void 0; + } + }, h2.prototype.didKeyDownCaption = function(t4) { + var e3; + return o2[t4.keyCode] === "return" ? (t4.preventDefault(), this.savePendingCaption(), (e3 = this.delegate) != null && typeof e3.attachmentEditorDidRequestDeselectingAttachment == "function" ? e3.attachmentEditorDidRequestDeselectingAttachment(this.attachment) : void 0) : void 0; + }, h2.prototype.didInputCaption = function(t4) { + return this.pendingCaption = t4.target.value.replace(/\s/g, " ").trim(); + }, h2.prototype.didChangeCaption = function() { + return this.savePendingCaption(); + }, h2.prototype.didBlurCaption = function() { + return this.savePendingCaption(); + }, h2; + }(e2.BasicObject); + }.call(this), function() { + var t3, n2, i, o2 = function(t4, e3) { + function n3() { + this.constructor = t4; + } + for (var i2 in e3) + r2.call(e3, i2) && (t4[i2] = e3[i2]); + return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; + }, r2 = {}.hasOwnProperty; + i = e2.makeElement, t3 = e2.config.css, e2.AttachmentView = function(r3) { + function s2() { + s2.__super__.constructor.apply(this, arguments), this.attachment = this.object, this.attachment.uploadProgressDelegate = this, this.attachmentPiece = this.options.piece; + } + var a2; + return o2(s2, r3), s2.attachmentSelector = "[data-trix-attachment]", s2.prototype.createContentNodes = function() { + return []; + }, s2.prototype.createNodes = function() { + var e3, n3, o3, r4, s3, u, c2; + if (e3 = r4 = i({tagName: "figure", className: this.getClassName(), data: this.getData(), editable: false}), (n3 = this.getHref()) && (r4 = i({tagName: "a", editable: false, attributes: {href: n3, tabindex: -1}}), e3.appendChild(r4)), this.attachment.hasContent()) + r4.innerHTML = this.attachment.getContent(); + else + for (c2 = this.createContentNodes(), o3 = 0, s3 = c2.length; s3 > o3; o3++) + u = c2[o3], r4.appendChild(u); + return r4.appendChild(this.createCaptionElement()), this.attachment.isPending() && (this.progressElement = i({tagName: "progress", attributes: {class: t3.attachmentProgress, value: this.attachment.getUploadProgress(), max: 100}, data: {trixMutable: true, trixStoreKey: ["progressElement", this.attachment.id].join("/")}}), e3.appendChild(this.progressElement)), [a2("left"), e3, a2("right")]; + }, s2.prototype.createCaptionElement = function() { + var e3, n3, o3, r4, s3, a3, u; + return o3 = i({tagName: "figcaption", className: t3.attachmentCaption}), (e3 = this.attachmentPiece.getCaption()) ? (o3.classList.add(t3.attachmentCaption + "--edited"), o3.textContent = e3) : (n3 = this.getCaptionConfig(), n3.name && (r4 = this.attachment.getFilename()), n3.size && (a3 = this.attachment.getFormattedFilesize()), r4 && (s3 = i({tagName: "span", className: t3.attachmentName, textContent: r4}), o3.appendChild(s3)), a3 && (r4 && o3.appendChild(document.createTextNode(" ")), u = i({tagName: "span", className: t3.attachmentSize, textContent: a3}), o3.appendChild(u))), o3; + }, s2.prototype.getClassName = function() { + var e3, n3; + return n3 = [t3.attachment, t3.attachment + "--" + this.attachment.getType()], (e3 = this.attachment.getExtension()) && n3.push(t3.attachment + "--" + e3), n3.join(" "); + }, s2.prototype.getData = function() { + var t4, e3; + return e3 = {trixAttachment: JSON.stringify(this.attachment), trixContentType: this.attachment.getContentType(), trixId: this.attachment.id}, t4 = this.attachmentPiece.attributes, t4.isEmpty() || (e3.trixAttributes = JSON.stringify(t4)), this.attachment.isPending() && (e3.trixSerialize = false), e3; + }, s2.prototype.getHref = function() { + return n2(this.attachment.getContent(), "a") ? void 0 : this.attachment.getHref(); + }, s2.prototype.getCaptionConfig = function() { + var t4, n3, i2; + return i2 = this.attachment.getType(), t4 = e2.copyObject((n3 = e2.config.attachments[i2]) != null ? n3.caption : void 0), i2 === "file" && (t4.name = true), t4; + }, s2.prototype.findProgressElement = function() { + var t4; + return (t4 = this.findElement()) != null ? t4.querySelector("progress") : void 0; + }, a2 = function(t4) { + return i({tagName: "span", textContent: e2.ZERO_WIDTH_SPACE, data: {trixCursorTarget: t4, trixSerialize: false}}); + }, s2.prototype.attachmentDidChangeUploadProgress = function() { + var t4, e3; + return e3 = this.attachment.getUploadProgress(), (t4 = this.findProgressElement()) != null ? t4.value = e3 : void 0; + }, s2; + }(e2.ObjectView), n2 = function(t4, e3) { + var n3; + return n3 = i("div"), n3.innerHTML = t4 != null ? t4 : "", n3.querySelector(e3); + }; + }.call(this), function() { + var t3, n2 = function(t4, e3) { + function n3() { + this.constructor = t4; + } + for (var o2 in e3) + i.call(e3, o2) && (t4[o2] = e3[o2]); + return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; + }, i = {}.hasOwnProperty; + t3 = e2.makeElement, e2.PreviewableAttachmentView = function(i2) { + function o2() { + o2.__super__.constructor.apply(this, arguments), this.attachment.previewDelegate = this; + } + return n2(o2, i2), o2.prototype.createContentNodes = function() { + return this.image = t3({tagName: "img", attributes: {src: ""}, data: {trixMutable: true}}), this.refresh(this.image), [this.image]; + }, o2.prototype.createCaptionElement = function() { + var t4; + return t4 = o2.__super__.createCaptionElement.apply(this, arguments), t4.textContent || t4.setAttribute("data-trix-placeholder", e2.config.lang.captionPlaceholder), t4; + }, o2.prototype.refresh = function(t4) { + var e3; + return t4 == null && (t4 = (e3 = this.findElement()) != null ? e3.querySelector("img") : void 0), t4 ? this.updateAttributesForImage(t4) : void 0; + }, o2.prototype.updateAttributesForImage = function(t4) { + var e3, n3, i3, o3, r2, s2; + return r2 = this.attachment.getURL(), n3 = this.attachment.getPreviewURL(), t4.src = n3 || r2, n3 === r2 ? t4.removeAttribute("data-trix-serialized-attributes") : (i3 = JSON.stringify({src: r2}), t4.setAttribute("data-trix-serialized-attributes", i3)), s2 = this.attachment.getWidth(), e3 = this.attachment.getHeight(), s2 != null && (t4.width = s2), e3 != null && (t4.height = e3), o3 = ["imageElement", this.attachment.id, t4.src, t4.width, t4.height].join("/"), t4.dataset.trixStoreKey = o3; + }, o2.prototype.attachmentDidChangeAttributes = function() { + return this.refresh(this.image), this.refresh(); + }, o2; + }(e2.AttachmentView); + }.call(this), function() { + var t3, n2, i, o2 = function(t4, e3) { + function n3() { + this.constructor = t4; + } + for (var i2 in e3) + r2.call(e3, i2) && (t4[i2] = e3[i2]); + return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; + }, r2 = {}.hasOwnProperty; + i = e2.makeElement, t3 = e2.findInnerElement, n2 = e2.getTextConfig, e2.PieceView = function(r3) { + function s2() { + var t4; + s2.__super__.constructor.apply(this, arguments), this.piece = this.object, this.attributes = this.piece.getAttributes(), t4 = this.options, this.textConfig = t4.textConfig, this.context = t4.context, this.piece.attachment ? this.attachment = this.piece.attachment : this.string = this.piece.toString(); + } + var a2; + return o2(s2, r3), s2.prototype.createNodes = function() { + var e3, n3, i2, o3, r4, s3; + if (s3 = this.attachment ? this.createAttachmentNodes() : this.createStringNodes(), e3 = this.createElement()) { + for (i2 = t3(e3), n3 = 0, o3 = s3.length; o3 > n3; n3++) + r4 = s3[n3], i2.appendChild(r4); + s3 = [e3]; + } + return s3; + }, s2.prototype.createAttachmentNodes = function() { + var t4, n3; + return t4 = this.attachment.isPreviewable() ? e2.PreviewableAttachmentView : e2.AttachmentView, n3 = this.createChildView(t4, this.piece.attachment, {piece: this.piece}), n3.getNodes(); + }, s2.prototype.createStringNodes = function() { + var t4, e3, n3, o3, r4, s3, a3, u, c2, l; + if ((u = this.textConfig) != null ? u.plaintext : void 0) + return [document.createTextNode(this.string)]; + for (a3 = [], c2 = this.string.split("\n"), n3 = e3 = 0, o3 = c2.length; o3 > e3; n3 = ++e3) + l = c2[n3], n3 > 0 && (t4 = i("br"), a3.push(t4)), (r4 = l.length) && (s3 = document.createTextNode(this.preserveSpaces(l)), a3.push(s3)); + return a3; + }, s2.prototype.createElement = function() { + var t4, e3, o3, r4, s3, a3, u, c2, l; + c2 = {}, a3 = this.attributes; + for (r4 in a3) + if (l = a3[r4], (t4 = n2(r4)) && (t4.tagName && (s3 = i(t4.tagName), o3 ? (o3.appendChild(s3), o3 = s3) : e3 = o3 = s3), t4.styleProperty && (c2[t4.styleProperty] = l), t4.style)) { + u = t4.style; + for (r4 in u) + l = u[r4], c2[r4] = l; + } + if (Object.keys(c2).length) { + e3 == null && (e3 = i("span")); + for (r4 in c2) + l = c2[r4], e3.style[r4] = l; + } + return e3; + }, s2.prototype.createContainerElement = function() { + var t4, e3, o3, r4, s3; + r4 = this.attributes; + for (o3 in r4) + if (s3 = r4[o3], (e3 = n2(o3)) && e3.groupTagName) + return t4 = {}, t4[o3] = s3, i(e3.groupTagName, t4); + }, a2 = e2.NON_BREAKING_SPACE, s2.prototype.preserveSpaces = function(t4) { + return this.context.isLast && (t4 = t4.replace(/\ $/, a2)), t4 = t4.replace(/(\S)\ {3}(\S)/g, "$1 " + a2 + " $2").replace(/\ {2}/g, a2 + " ").replace(/\ {2}/g, " " + a2), (this.context.isFirst || this.context.followsWhitespace) && (t4 = t4.replace(/^\ /, a2)), t4; + }, s2; + }(e2.ObjectView); + }.call(this), function() { + var t3 = function(t4, e3) { + function i() { + this.constructor = t4; + } + for (var o2 in e3) + n2.call(e3, o2) && (t4[o2] = e3[o2]); + return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; + }, n2 = {}.hasOwnProperty; + e2.TextView = function(n3) { + function i() { + i.__super__.constructor.apply(this, arguments), this.text = this.object, this.textConfig = this.options.textConfig; + } + var o2; + return t3(i, n3), i.prototype.createNodes = function() { + var t4, n4, i2, r2, s2, a2, u, c2, l, h; + for (a2 = [], c2 = e2.ObjectGroup.groupObjects(this.getPieces()), r2 = c2.length - 1, i2 = n4 = 0, s2 = c2.length; s2 > n4; i2 = ++n4) + u = c2[i2], t4 = {}, i2 === 0 && (t4.isFirst = true), i2 === r2 && (t4.isLast = true), o2(l) && (t4.followsWhitespace = true), h = this.findOrCreateCachedChildView(e2.PieceView, u, {textConfig: this.textConfig, context: t4}), a2.push.apply(a2, h.getNodes()), l = u; + return a2; + }, i.prototype.getPieces = function() { + var t4, e3, n4, i2, o3; + for (i2 = this.text.getPieces(), o3 = [], t4 = 0, e3 = i2.length; e3 > t4; t4++) + n4 = i2[t4], n4.hasAttribute("blockBreak") || o3.push(n4); + return o3; + }, o2 = function(t4) { + return /\s$/.test(t4 != null ? t4.toString() : void 0); + }, i; + }(e2.ObjectView); + }.call(this), function() { + var t3, n2, i, o2 = function(t4, e3) { + function n3() { + this.constructor = t4; + } + for (var i2 in e3) + r2.call(e3, i2) && (t4[i2] = e3[i2]); + return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; + }, r2 = {}.hasOwnProperty; + i = e2.makeElement, n2 = e2.getBlockConfig, t3 = e2.config.css, e2.BlockView = function(r3) { + function s2() { + s2.__super__.constructor.apply(this, arguments), this.block = this.object, this.attributes = this.block.getAttributes(); + } + return o2(s2, r3), s2.prototype.createNodes = function() { + var t4, o3, r4, s3, a2, u, c2, l, h, p2, d; + if (o3 = document.createComment("block"), c2 = [o3], this.block.isEmpty() ? c2.push(i("br")) : (p2 = (l = n2(this.block.getLastAttribute())) != null ? l.text : void 0, d = this.findOrCreateCachedChildView(e2.TextView, this.block.text, {textConfig: p2}), c2.push.apply(c2, d.getNodes()), this.shouldAddExtraNewlineElement() && c2.push(i("br"))), this.attributes.length) + return c2; + for (h = e2.config.blockAttributes["default"].tagName, this.block.isRTL() && (t4 = {dir: "rtl"}), r4 = i({tagName: h, attributes: t4}), s3 = 0, a2 = c2.length; a2 > s3; s3++) + u = c2[s3], r4.appendChild(u); + return [r4]; + }, s2.prototype.createContainerElement = function(e3) { + var o3, r4, s3, a2, u; + return o3 = this.attributes[e3], u = n2(o3).tagName, e3 === 0 && this.block.isRTL() && (r4 = {dir: "rtl"}), o3 === "attachmentGallery" && (a2 = this.block.getBlockBreakPosition(), s3 = t3.attachmentGallery + " " + t3.attachmentGallery + "--" + a2), i({tagName: u, className: s3, attributes: r4}); + }, s2.prototype.shouldAddExtraNewlineElement = function() { + return /\n\n$/.test(this.block.toString()); + }, s2; + }(e2.ObjectView); + }.call(this), function() { + var t3, n2, i = function(t4, e3) { + function n3() { + this.constructor = t4; + } + for (var i2 in e3) + o2.call(e3, i2) && (t4[i2] = e3[i2]); + return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; + }, o2 = {}.hasOwnProperty; + t3 = e2.defer, n2 = e2.makeElement, e2.DocumentView = function(o3) { + function r2() { + r2.__super__.constructor.apply(this, arguments), this.element = this.options.element, this.elementStore = new e2.ElementStore(), this.setDocument(this.object); + } + var s2, a2, u; + return i(r2, o3), r2.render = function(t4) { + var e3, i2; + return e3 = n2("div"), i2 = new this(t4, {element: e3}), i2.render(), i2.sync(), e3; + }, r2.prototype.setDocument = function(t4) { + return t4.isEqualTo(this.document) ? void 0 : this.document = this.object = t4; + }, r2.prototype.render = function() { + var t4, i2, o4, r3, s3, a3, u2; + if (this.childViews = [], this.shadowElement = n2("div"), !this.document.isEmpty()) { + for (s3 = e2.ObjectGroup.groupObjects(this.document.getBlocks(), {asTree: true}), a3 = [], t4 = 0, i2 = s3.length; i2 > t4; t4++) + r3 = s3[t4], u2 = this.findOrCreateCachedChildView(e2.BlockView, r3), a3.push(function() { + var t5, e3, n3, i3; + for (n3 = u2.getNodes(), i3 = [], t5 = 0, e3 = n3.length; e3 > t5; t5++) + o4 = n3[t5], i3.push(this.shadowElement.appendChild(o4)); + return i3; + }.call(this)); + return a3; + } + }, r2.prototype.isSynced = function() { + return s2(this.shadowElement, this.element); + }, r2.prototype.sync = function() { + var t4; + for (t4 = this.createDocumentFragmentForSync(); this.element.lastChild; ) + this.element.removeChild(this.element.lastChild); + return this.element.appendChild(t4), this.didSync(); + }, r2.prototype.didSync = function() { + return this.elementStore.reset(a2(this.element)), t3(function(t4) { + return function() { + return t4.garbageCollectCachedViews(); + }; + }(this)); + }, r2.prototype.createDocumentFragmentForSync = function() { + var t4, e3, n3, i2, o4, r3, s3, u2, c2, l; + for (e3 = document.createDocumentFragment(), u2 = this.shadowElement.childNodes, n3 = 0, o4 = u2.length; o4 > n3; n3++) + s3 = u2[n3], e3.appendChild(s3.cloneNode(true)); + for (c2 = a2(e3), i2 = 0, r3 = c2.length; r3 > i2; i2++) + t4 = c2[i2], (l = this.elementStore.remove(t4)) && t4.parentNode.replaceChild(l, t4); + return e3; + }, a2 = function(t4) { + return t4.querySelectorAll("[data-trix-store-key]"); + }, s2 = function(t4, e3) { + return u(t4.innerHTML) === u(e3.innerHTML); + }, u = function(t4) { + return t4.replace(/ /g, " "); + }, r2; + }(e2.ObjectView); + }.call(this), function() { + var t3, n2, i, o2, r2, s2 = function(t4, e3) { + return function() { + return t4.apply(e3, arguments); + }; + }, a2 = function(t4, e3) { + function n3() { + this.constructor = t4; + } + for (var i2 in e3) + u.call(e3, i2) && (t4[i2] = e3[i2]); + return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; + }, u = {}.hasOwnProperty; + i = e2.findClosestElementFromNode, o2 = e2.handleEvent, r2 = e2.innerElementIsActive, n2 = e2.defer, t3 = e2.AttachmentView.attachmentSelector, e2.CompositionController = function(u2) { + function c2(n3, i2) { + this.element = n3, this.composition = i2, this.didClickAttachment = s2(this.didClickAttachment, this), this.didBlur = s2(this.didBlur, this), this.didFocus = s2(this.didFocus, this), this.documentView = new e2.DocumentView(this.composition.document, {element: this.element}), o2("focus", {onElement: this.element, withCallback: this.didFocus}), o2("blur", {onElement: this.element, withCallback: this.didBlur}), o2("click", {onElement: this.element, matchingSelector: "a[contenteditable=false]", preventDefault: true}), o2("mousedown", {onElement: this.element, matchingSelector: t3, withCallback: this.didClickAttachment}), o2("click", {onElement: this.element, matchingSelector: "a" + t3, preventDefault: true}); + } + return a2(c2, u2), c2.prototype.didFocus = function() { + var t4, e3, n3; + return t4 = function(t5) { + return function() { + var e4; + return t5.focused ? void 0 : (t5.focused = true, (e4 = t5.delegate) != null && typeof e4.compositionControllerDidFocus == "function" ? e4.compositionControllerDidFocus() : void 0); + }; + }(this), (e3 = (n3 = this.blurPromise) != null ? n3.then(t4) : void 0) != null ? e3 : t4(); + }, c2.prototype.didBlur = function() { + return this.blurPromise = new Promise(function(t4) { + return function(e3) { + return n2(function() { + var n3; + return r2(t4.element) || (t4.focused = null, (n3 = t4.delegate) != null && typeof n3.compositionControllerDidBlur == "function" && n3.compositionControllerDidBlur()), t4.blurPromise = null, e3(); + }); + }; + }(this)); + }, c2.prototype.didClickAttachment = function(t4, e3) { + var n3, o3, r3; + return n3 = this.findAttachmentForElement(e3), o3 = i(t4.target, {matchingSelector: "figcaption"}) != null, (r3 = this.delegate) != null && typeof r3.compositionControllerDidSelectAttachment == "function" ? r3.compositionControllerDidSelectAttachment(n3, {editCaption: o3}) : void 0; + }, c2.prototype.getSerializableElement = function() { + return this.isEditingAttachment() ? this.documentView.shadowElement : this.element; + }, c2.prototype.render = function() { + var t4, e3, n3; + return this.revision !== this.composition.revision && (this.documentView.setDocument(this.composition.document), this.documentView.render(), this.revision = this.composition.revision), this.canSyncDocumentView() && !this.documentView.isSynced() && ((t4 = this.delegate) != null && typeof t4.compositionControllerWillSyncDocumentView == "function" && t4.compositionControllerWillSyncDocumentView(), this.documentView.sync(), (e3 = this.delegate) != null && typeof e3.compositionControllerDidSyncDocumentView == "function" && e3.compositionControllerDidSyncDocumentView()), (n3 = this.delegate) != null && typeof n3.compositionControllerDidRender == "function" ? n3.compositionControllerDidRender() : void 0; + }, c2.prototype.rerenderViewForObject = function(t4) { + return this.invalidateViewForObject(t4), this.render(); + }, c2.prototype.invalidateViewForObject = function(t4) { + return this.documentView.invalidateViewForObject(t4); + }, c2.prototype.isViewCachingEnabled = function() { + return this.documentView.isViewCachingEnabled(); + }, c2.prototype.enableViewCaching = function() { + return this.documentView.enableViewCaching(); + }, c2.prototype.disableViewCaching = function() { + return this.documentView.disableViewCaching(); + }, c2.prototype.refreshViewCache = function() { + return this.documentView.garbageCollectCachedViews(); + }, c2.prototype.isEditingAttachment = function() { + return this.attachmentEditor != null; + }, c2.prototype.installAttachmentEditorForAttachment = function(t4, n3) { + var i2, o3, r3; + if (((r3 = this.attachmentEditor) != null ? r3.attachment : void 0) !== t4 && (o3 = this.documentView.findElementForObject(t4))) + return this.uninstallAttachmentEditor(), i2 = this.composition.document.getAttachmentPieceForAttachment(t4), this.attachmentEditor = new e2.AttachmentEditorController(i2, o3, this.element, n3), this.attachmentEditor.delegate = this; + }, c2.prototype.uninstallAttachmentEditor = function() { + var t4; + return (t4 = this.attachmentEditor) != null ? t4.uninstall() : void 0; + }, c2.prototype.didUninstallAttachmentEditor = function() { + return this.attachmentEditor = null, this.render(); + }, c2.prototype.attachmentEditorDidRequestUpdatingAttributesForAttachment = function(t4, e3) { + var n3; + return (n3 = this.delegate) != null && typeof n3.compositionControllerWillUpdateAttachment == "function" && n3.compositionControllerWillUpdateAttachment(e3), this.composition.updateAttributesForAttachment(t4, e3); + }, c2.prototype.attachmentEditorDidRequestRemovingAttributeForAttachment = function(t4, e3) { + var n3; + return (n3 = this.delegate) != null && typeof n3.compositionControllerWillUpdateAttachment == "function" && n3.compositionControllerWillUpdateAttachment(e3), this.composition.removeAttributeForAttachment(t4, e3); + }, c2.prototype.attachmentEditorDidRequestRemovalOfAttachment = function(t4) { + var e3; + return (e3 = this.delegate) != null && typeof e3.compositionControllerDidRequestRemovalOfAttachment == "function" ? e3.compositionControllerDidRequestRemovalOfAttachment(t4) : void 0; + }, c2.prototype.attachmentEditorDidRequestDeselectingAttachment = function(t4) { + var e3; + return (e3 = this.delegate) != null && typeof e3.compositionControllerDidRequestDeselectingAttachment == "function" ? e3.compositionControllerDidRequestDeselectingAttachment(t4) : void 0; + }, c2.prototype.canSyncDocumentView = function() { + return !this.isEditingAttachment(); + }, c2.prototype.findAttachmentForElement = function(t4) { + return this.composition.document.getAttachmentById(parseInt(t4.dataset.trixId, 10)); + }, c2; + }(e2.BasicObject); + }.call(this), function() { + var t3, n2, i, o2 = function(t4, e3) { + return function() { + return t4.apply(e3, arguments); + }; + }, r2 = function(t4, e3) { + function n3() { + this.constructor = t4; + } + for (var i2 in e3) + s2.call(e3, i2) && (t4[i2] = e3[i2]); + return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; + }, s2 = {}.hasOwnProperty; + n2 = e2.handleEvent, i = e2.triggerEvent, t3 = e2.findClosestElementFromNode, e2.ToolbarController = function(e3) { + function s3(t4) { + this.element = t4, this.didKeyDownDialogInput = o2(this.didKeyDownDialogInput, this), this.didClickDialogButton = o2(this.didClickDialogButton, this), this.didClickAttributeButton = o2(this.didClickAttributeButton, this), this.didClickActionButton = o2(this.didClickActionButton, this), this.attributes = {}, this.actions = {}, this.resetDialogInputs(), n2("mousedown", {onElement: this.element, matchingSelector: a2, withCallback: this.didClickActionButton}), n2("mousedown", {onElement: this.element, matchingSelector: c2, withCallback: this.didClickAttributeButton}), n2("click", {onElement: this.element, matchingSelector: v, preventDefault: true}), n2("click", {onElement: this.element, matchingSelector: l, withCallback: this.didClickDialogButton}), n2("keydown", {onElement: this.element, matchingSelector: h, withCallback: this.didKeyDownDialogInput}); + } + var a2, u, c2, l, h, p2, d, f, g, m, v; + return r2(s3, e3), c2 = "[data-trix-attribute]", a2 = "[data-trix-action]", v = c2 + ", " + a2, p2 = "[data-trix-dialog]", u = p2 + "[data-trix-active]", l = p2 + " [data-trix-method]", h = p2 + " [data-trix-input]", s3.prototype.didClickActionButton = function(t4, e4) { + var n3, i2, o3; + return (i2 = this.delegate) != null && i2.toolbarDidClickButton(), t4.preventDefault(), n3 = d(e4), this.getDialog(n3) ? this.toggleDialog(n3) : (o3 = this.delegate) != null ? o3.toolbarDidInvokeAction(n3) : void 0; + }, s3.prototype.didClickAttributeButton = function(t4, e4) { + var n3, i2, o3; + return (i2 = this.delegate) != null && i2.toolbarDidClickButton(), t4.preventDefault(), n3 = f(e4), this.getDialog(n3) ? this.toggleDialog(n3) : (o3 = this.delegate) != null && o3.toolbarDidToggleAttribute(n3), this.refreshAttributeButtons(); + }, s3.prototype.didClickDialogButton = function(e4, n3) { + var i2, o3; + return i2 = t3(n3, {matchingSelector: p2}), o3 = n3.getAttribute("data-trix-method"), this[o3].call(this, i2); + }, s3.prototype.didKeyDownDialogInput = function(t4, e4) { + var n3, i2; + return t4.keyCode === 13 && (t4.preventDefault(), n3 = e4.getAttribute("name"), i2 = this.getDialog(n3), this.setAttribute(i2)), t4.keyCode === 27 ? (t4.preventDefault(), this.hideDialog()) : void 0; + }, s3.prototype.updateActions = function(t4) { + return this.actions = t4, this.refreshActionButtons(); + }, s3.prototype.refreshActionButtons = function() { + return this.eachActionButton(function(t4) { + return function(e4, n3) { + return e4.disabled = t4.actions[n3] === false; + }; + }(this)); + }, s3.prototype.eachActionButton = function(t4) { + var e4, n3, i2, o3, r3; + for (o3 = this.element.querySelectorAll(a2), r3 = [], n3 = 0, i2 = o3.length; i2 > n3; n3++) + e4 = o3[n3], r3.push(t4(e4, d(e4))); + return r3; + }, s3.prototype.updateAttributes = function(t4) { + return this.attributes = t4, this.refreshAttributeButtons(); + }, s3.prototype.refreshAttributeButtons = function() { + return this.eachAttributeButton(function(t4) { + return function(e4, n3) { + return e4.disabled = t4.attributes[n3] === false, t4.attributes[n3] || t4.dialogIsVisible(n3) ? (e4.setAttribute("data-trix-active", ""), e4.classList.add("trix-active")) : (e4.removeAttribute("data-trix-active"), e4.classList.remove("trix-active")); + }; + }(this)); + }, s3.prototype.eachAttributeButton = function(t4) { + var e4, n3, i2, o3, r3; + for (o3 = this.element.querySelectorAll(c2), r3 = [], n3 = 0, i2 = o3.length; i2 > n3; n3++) + e4 = o3[n3], r3.push(t4(e4, f(e4))); + return r3; + }, s3.prototype.applyKeyboardCommand = function(t4) { + var e4, n3, o3, r3, s4, a3, u2; + for (s4 = JSON.stringify(t4.sort()), u2 = this.element.querySelectorAll("[data-trix-key]"), r3 = 0, a3 = u2.length; a3 > r3; r3++) + if (e4 = u2[r3], o3 = e4.getAttribute("data-trix-key").split("+"), n3 = JSON.stringify(o3.sort()), n3 === s4) + return i("mousedown", {onElement: e4}), true; + return false; + }, s3.prototype.dialogIsVisible = function(t4) { + var e4; + return (e4 = this.getDialog(t4)) ? e4.hasAttribute("data-trix-active") : void 0; + }, s3.prototype.toggleDialog = function(t4) { + return this.dialogIsVisible(t4) ? this.hideDialog() : this.showDialog(t4); + }, s3.prototype.showDialog = function(t4) { + var e4, n3, i2, o3, r3, s4, a3, u2, c3, l2; + for (this.hideDialog(), (a3 = this.delegate) != null && a3.toolbarWillShowDialog(), i2 = this.getDialog(t4), i2.setAttribute("data-trix-active", ""), i2.classList.add("trix-active"), u2 = i2.querySelectorAll("input[disabled]"), o3 = 0, s4 = u2.length; s4 > o3; o3++) + n3 = u2[o3], n3.removeAttribute("disabled"); + return (e4 = f(i2)) && (r3 = m(i2, t4)) && (r3.value = (c3 = this.attributes[e4]) != null ? c3 : "", r3.select()), (l2 = this.delegate) != null ? l2.toolbarDidShowDialog(t4) : void 0; + }, s3.prototype.setAttribute = function(t4) { + var e4, n3, i2; + return e4 = f(t4), n3 = m(t4, e4), n3.willValidate && !n3.checkValidity() ? (n3.setAttribute("data-trix-validate", ""), n3.classList.add("trix-validate"), n3.focus()) : ((i2 = this.delegate) != null && i2.toolbarDidUpdateAttribute(e4, n3.value), this.hideDialog()); + }, s3.prototype.removeAttribute = function(t4) { + var e4, n3; + return e4 = f(t4), (n3 = this.delegate) != null && n3.toolbarDidRemoveAttribute(e4), this.hideDialog(); + }, s3.prototype.hideDialog = function() { + var t4, e4; + return (t4 = this.element.querySelector(u)) ? (t4.removeAttribute("data-trix-active"), t4.classList.remove("trix-active"), this.resetDialogInputs(), (e4 = this.delegate) != null ? e4.toolbarDidHideDialog(g(t4)) : void 0) : void 0; + }, s3.prototype.resetDialogInputs = function() { + var t4, e4, n3, i2, o3; + for (i2 = this.element.querySelectorAll(h), o3 = [], t4 = 0, n3 = i2.length; n3 > t4; t4++) + e4 = i2[t4], e4.setAttribute("disabled", "disabled"), e4.removeAttribute("data-trix-validate"), o3.push(e4.classList.remove("trix-validate")); + return o3; + }, s3.prototype.getDialog = function(t4) { + return this.element.querySelector("[data-trix-dialog=" + t4 + "]"); + }, m = function(t4, e4) { + return e4 == null && (e4 = f(t4)), t4.querySelector("[data-trix-input][name='" + e4 + "']"); + }, d = function(t4) { + return t4.getAttribute("data-trix-action"); + }, f = function(t4) { + var e4; + return (e4 = t4.getAttribute("data-trix-attribute")) != null ? e4 : t4.getAttribute("data-trix-dialog-attribute"); + }, g = function(t4) { + return t4.getAttribute("data-trix-dialog"); + }, s3; + }(e2.BasicObject); + }.call(this), function() { + var t3 = function(t4, e3) { + function i() { + this.constructor = t4; + } + for (var o2 in e3) + n2.call(e3, o2) && (t4[o2] = e3[o2]); + return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; + }, n2 = {}.hasOwnProperty; + e2.ImagePreloadOperation = function(e3) { + function n3(t4) { + this.url = t4; + } + return t3(n3, e3), n3.prototype.perform = function(t4) { + var e4; + return e4 = new Image(), e4.onload = function(n4) { + return function() { + return e4.width = n4.width = e4.naturalWidth, e4.height = n4.height = e4.naturalHeight, t4(true, e4); + }; + }(this), e4.onerror = function() { + return t4(false); + }, e4.src = this.url; + }, n3; + }(e2.Operation); + }.call(this), function() { + var t3 = function(t4, e3) { + return function() { + return t4.apply(e3, arguments); + }; + }, n2 = function(t4, e3) { + function n3() { + this.constructor = t4; + } + for (var o2 in e3) + i.call(e3, o2) && (t4[o2] = e3[o2]); + return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; + }, i = {}.hasOwnProperty; + e2.Attachment = function(i2) { + function o2(n3) { + n3 == null && (n3 = {}), this.releaseFile = t3(this.releaseFile, this), o2.__super__.constructor.apply(this, arguments), this.attributes = e2.Hash.box(n3), this.didChangeAttributes(); + } + return n2(o2, i2), o2.previewablePattern = /^image(\/(gif|png|jpe?g)|$)/, o2.attachmentForFile = function(t4) { + var e3, n3; + return n3 = this.attributesForFile(t4), e3 = new this(n3), e3.setFile(t4), e3; + }, o2.attributesForFile = function(t4) { + return new e2.Hash({filename: t4.name, filesize: t4.size, contentType: t4.type}); + }, o2.fromJSON = function(t4) { + return new this(t4); + }, o2.prototype.getAttribute = function(t4) { + return this.attributes.get(t4); + }, o2.prototype.hasAttribute = function(t4) { + return this.attributes.has(t4); + }, o2.prototype.getAttributes = function() { + return this.attributes.toObject(); + }, o2.prototype.setAttributes = function(t4) { + var e3, n3, i3; + return t4 == null && (t4 = {}), e3 = this.attributes.merge(t4), this.attributes.isEqualTo(e3) ? void 0 : (this.attributes = e3, this.didChangeAttributes(), (n3 = this.previewDelegate) != null && typeof n3.attachmentDidChangeAttributes == "function" && n3.attachmentDidChangeAttributes(this), (i3 = this.delegate) != null && typeof i3.attachmentDidChangeAttributes == "function" ? i3.attachmentDidChangeAttributes(this) : void 0); + }, o2.prototype.didChangeAttributes = function() { + return this.isPreviewable() ? this.preloadURL() : void 0; + }, o2.prototype.isPending = function() { + return this.file != null && !(this.getURL() || this.getHref()); + }, o2.prototype.isPreviewable = function() { + return this.attributes.has("previewable") ? this.attributes.get("previewable") : this.constructor.previewablePattern.test(this.getContentType()); + }, o2.prototype.getType = function() { + return this.hasContent() ? "content" : this.isPreviewable() ? "preview" : "file"; + }, o2.prototype.getURL = function() { + return this.attributes.get("url"); + }, o2.prototype.getHref = function() { + return this.attributes.get("href"); + }, o2.prototype.getFilename = function() { + var t4; + return (t4 = this.attributes.get("filename")) != null ? t4 : ""; + }, o2.prototype.getFilesize = function() { + return this.attributes.get("filesize"); + }, o2.prototype.getFormattedFilesize = function() { + var t4; + return t4 = this.attributes.get("filesize"), typeof t4 == "number" ? e2.config.fileSize.formatter(t4) : ""; + }, o2.prototype.getExtension = function() { + var t4; + return (t4 = this.getFilename().match(/\.(\w+)$/)) != null ? t4[1].toLowerCase() : void 0; + }, o2.prototype.getContentType = function() { + return this.attributes.get("contentType"); + }, o2.prototype.hasContent = function() { + return this.attributes.has("content"); + }, o2.prototype.getContent = function() { + return this.attributes.get("content"); + }, o2.prototype.getWidth = function() { + return this.attributes.get("width"); + }, o2.prototype.getHeight = function() { + return this.attributes.get("height"); + }, o2.prototype.getFile = function() { + return this.file; + }, o2.prototype.setFile = function(t4) { + return this.file = t4, this.isPreviewable() ? this.preloadFile() : void 0; + }, o2.prototype.releaseFile = function() { + return this.releasePreloadedFile(), this.file = null; + }, o2.prototype.getUploadProgress = function() { + var t4; + return (t4 = this.uploadProgress) != null ? t4 : 0; + }, o2.prototype.setUploadProgress = function(t4) { + var e3; + return this.uploadProgress !== t4 ? (this.uploadProgress = t4, (e3 = this.uploadProgressDelegate) != null && typeof e3.attachmentDidChangeUploadProgress == "function" ? e3.attachmentDidChangeUploadProgress(this) : void 0) : void 0; + }, o2.prototype.toJSON = function() { + return this.getAttributes(); + }, o2.prototype.getCacheKey = function() { + return [o2.__super__.getCacheKey.apply(this, arguments), this.attributes.getCacheKey(), this.getPreviewURL()].join("/"); + }, o2.prototype.getPreviewURL = function() { + return this.previewURL || this.preloadingURL; + }, o2.prototype.setPreviewURL = function(t4) { + var e3, n3; + return t4 !== this.getPreviewURL() ? (this.previewURL = t4, (e3 = this.previewDelegate) != null && typeof e3.attachmentDidChangeAttributes == "function" && e3.attachmentDidChangeAttributes(this), (n3 = this.delegate) != null && typeof n3.attachmentDidChangePreviewURL == "function" ? n3.attachmentDidChangePreviewURL(this) : void 0) : void 0; + }, o2.prototype.preloadURL = function() { + return this.preload(this.getURL(), this.releaseFile); + }, o2.prototype.preloadFile = function() { + return this.file ? (this.fileObjectURL = URL.createObjectURL(this.file), this.preload(this.fileObjectURL)) : void 0; + }, o2.prototype.releasePreloadedFile = function() { + return this.fileObjectURL ? (URL.revokeObjectURL(this.fileObjectURL), this.fileObjectURL = null) : void 0; + }, o2.prototype.preload = function(t4, n3) { + var i3; + return t4 && t4 !== this.getPreviewURL() ? (this.preloadingURL = t4, i3 = new e2.ImagePreloadOperation(t4), i3.then(function(e3) { + return function(i4) { + var o3, r2; + return r2 = i4.width, o3 = i4.height, e3.getWidth() && e3.getHeight() || e3.setAttributes({width: r2, height: o3}), e3.preloadingURL = null, e3.setPreviewURL(t4), typeof n3 == "function" ? n3() : void 0; + }; + }(this))["catch"](function(t5) { + return function() { + return t5.preloadingURL = null, typeof n3 == "function" ? n3() : void 0; + }; + }(this))) : void 0; + }, o2; + }(e2.Object); + }.call(this), function() { + var t3 = function(t4, e3) { + function i() { + this.constructor = t4; + } + for (var o2 in e3) + n2.call(e3, o2) && (t4[o2] = e3[o2]); + return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; + }, n2 = {}.hasOwnProperty; + e2.Piece = function(n3) { + function i(t4, n4) { + n4 == null && (n4 = {}), i.__super__.constructor.apply(this, arguments), this.attributes = e2.Hash.box(n4); + } + return t3(i, n3), i.types = {}, i.registerType = function(t4, e3) { + return e3.type = t4, this.types[t4] = e3; + }, i.fromJSON = function(t4) { + var e3; + return (e3 = this.types[t4.type]) ? e3.fromJSON(t4) : void 0; + }, i.prototype.copyWithAttributes = function(t4) { + return new this.constructor(this.getValue(), t4); + }, i.prototype.copyWithAdditionalAttributes = function(t4) { + return this.copyWithAttributes(this.attributes.merge(t4)); + }, i.prototype.copyWithoutAttribute = function(t4) { + return this.copyWithAttributes(this.attributes.remove(t4)); + }, i.prototype.copy = function() { + return this.copyWithAttributes(this.attributes); + }, i.prototype.getAttribute = function(t4) { + return this.attributes.get(t4); + }, i.prototype.getAttributesHash = function() { + return this.attributes; + }, i.prototype.getAttributes = function() { + return this.attributes.toObject(); + }, i.prototype.getCommonAttributes = function() { + var t4, e3, n4; + return (n4 = pieceList.getPieceAtIndex(0)) ? (t4 = n4.attributes, e3 = t4.getKeys(), pieceList.eachPiece(function(n5) { + return e3 = t4.getKeysCommonToHash(n5.attributes), t4 = t4.slice(e3); + }), t4.toObject()) : {}; + }, i.prototype.hasAttribute = function(t4) { + return this.attributes.has(t4); + }, i.prototype.hasSameStringValueAsPiece = function(t4) { + return t4 != null && this.toString() === t4.toString(); + }, i.prototype.hasSameAttributesAsPiece = function(t4) { + return t4 != null && (this.attributes === t4.attributes || this.attributes.isEqualTo(t4.attributes)); + }, i.prototype.isBlockBreak = function() { + return false; + }, i.prototype.isEqualTo = function(t4) { + return i.__super__.isEqualTo.apply(this, arguments) || this.hasSameConstructorAs(t4) && this.hasSameStringValueAsPiece(t4) && this.hasSameAttributesAsPiece(t4); + }, i.prototype.isEmpty = function() { + return this.length === 0; + }, i.prototype.isSerializable = function() { + return true; + }, i.prototype.toJSON = function() { + return {type: this.constructor.type, attributes: this.getAttributes()}; + }, i.prototype.contentsForInspection = function() { + return {type: this.constructor.type, attributes: this.attributes.inspect()}; + }, i.prototype.canBeGrouped = function() { + return this.hasAttribute("href"); + }, i.prototype.canBeGroupedWith = function(t4) { + return this.getAttribute("href") === t4.getAttribute("href"); + }, i.prototype.getLength = function() { + return this.length; + }, i.prototype.canBeConsolidatedWith = function() { + return false; + }, i; + }(e2.Object); + }.call(this), function() { + var t3 = function(t4, e3) { + function i() { + this.constructor = t4; + } + for (var o2 in e3) + n2.call(e3, o2) && (t4[o2] = e3[o2]); + return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; + }, n2 = {}.hasOwnProperty; + e2.Piece.registerType("attachment", e2.AttachmentPiece = function(n3) { + function i(t4) { + this.attachment = t4, i.__super__.constructor.apply(this, arguments), this.length = 1, this.ensureAttachmentExclusivelyHasAttribute("href"), this.attachment.hasContent() || this.removeProhibitedAttributes(); + } + return t3(i, n3), i.fromJSON = function(t4) { + return new this(e2.Attachment.fromJSON(t4.attachment), t4.attributes); + }, i.permittedAttributes = ["caption", "presentation"], i.prototype.ensureAttachmentExclusivelyHasAttribute = function(t4) { + return this.hasAttribute(t4) ? (this.attachment.hasAttribute(t4) || this.attachment.setAttributes(this.attributes.slice(t4)), this.attributes = this.attributes.remove(t4)) : void 0; + }, i.prototype.removeProhibitedAttributes = function() { + var t4; + return t4 = this.attributes.slice(this.constructor.permittedAttributes), t4.isEqualTo(this.attributes) ? void 0 : this.attributes = t4; + }, i.prototype.getValue = function() { + return this.attachment; + }, i.prototype.isSerializable = function() { + return !this.attachment.isPending(); + }, i.prototype.getCaption = function() { + var t4; + return (t4 = this.attributes.get("caption")) != null ? t4 : ""; + }, i.prototype.isEqualTo = function(t4) { + var e3; + return i.__super__.isEqualTo.apply(this, arguments) && this.attachment.id === (t4 != null && (e3 = t4.attachment) != null ? e3.id : void 0); + }, i.prototype.toString = function() { + return e2.OBJECT_REPLACEMENT_CHARACTER; + }, i.prototype.toJSON = function() { + var t4; + return t4 = i.__super__.toJSON.apply(this, arguments), t4.attachment = this.attachment, t4; + }, i.prototype.getCacheKey = function() { + return [i.__super__.getCacheKey.apply(this, arguments), this.attachment.getCacheKey()].join("/"); + }, i.prototype.toConsole = function() { + return JSON.stringify(this.toString()); + }, i; + }(e2.Piece)); + }.call(this), function() { + var t3, n2 = function(t4, e3) { + function n3() { + this.constructor = t4; + } + for (var o2 in e3) + i.call(e3, o2) && (t4[o2] = e3[o2]); + return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; + }, i = {}.hasOwnProperty; + t3 = e2.normalizeNewlines, e2.Piece.registerType("string", e2.StringPiece = function(e3) { + function i2(e4) { + i2.__super__.constructor.apply(this, arguments), this.string = t3(e4), this.length = this.string.length; + } + return n2(i2, e3), i2.fromJSON = function(t4) { + return new this(t4.string, t4.attributes); + }, i2.prototype.getValue = function() { + return this.string; + }, i2.prototype.toString = function() { + return this.string.toString(); + }, i2.prototype.isBlockBreak = function() { + return this.toString() === "\n" && this.getAttribute("blockBreak") === true; + }, i2.prototype.toJSON = function() { + var t4; + return t4 = i2.__super__.toJSON.apply(this, arguments), t4.string = this.string, t4; + }, i2.prototype.canBeConsolidatedWith = function(t4) { + return t4 != null && this.hasSameConstructorAs(t4) && this.hasSameAttributesAsPiece(t4); + }, i2.prototype.consolidateWith = function(t4) { + return new this.constructor(this.toString() + t4.toString(), this.attributes); + }, i2.prototype.splitAtOffset = function(t4) { + var e4, n3; + return t4 === 0 ? (e4 = null, n3 = this) : t4 === this.length ? (e4 = this, n3 = null) : (e4 = new this.constructor(this.string.slice(0, t4), this.attributes), n3 = new this.constructor(this.string.slice(t4), this.attributes)), [e4, n3]; + }, i2.prototype.toConsole = function() { + var t4; + return t4 = this.string, t4.length > 15 && (t4 = t4.slice(0, 14) + "\u2026"), JSON.stringify(t4.toString()); + }, i2; + }(e2.Piece)); + }.call(this), function() { + var t3, n2 = function(t4, e3) { + function n3() { + this.constructor = t4; + } + for (var o3 in e3) + i.call(e3, o3) && (t4[o3] = e3[o3]); + return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; + }, i = {}.hasOwnProperty, o2 = [].slice; + t3 = e2.spliceArray, e2.SplittableList = function(e3) { + function i2(t4) { + t4 == null && (t4 = []), i2.__super__.constructor.apply(this, arguments), this.objects = t4.slice(0), this.length = this.objects.length; + } + var r2, s2, a2; + return n2(i2, e3), i2.box = function(t4) { + return t4 instanceof this ? t4 : new this(t4); + }, i2.prototype.indexOf = function(t4) { + return this.objects.indexOf(t4); + }, i2.prototype.splice = function() { + var e4; + return e4 = 1 <= arguments.length ? o2.call(arguments, 0) : [], new this.constructor(t3.apply(null, [this.objects].concat(o2.call(e4)))); + }, i2.prototype.eachObject = function(t4) { + var e4, n3, i3, o3, r3, s3; + for (r3 = this.objects, s3 = [], n3 = e4 = 0, i3 = r3.length; i3 > e4; n3 = ++e4) + o3 = r3[n3], s3.push(t4(o3, n3)); + return s3; + }, i2.prototype.insertObjectAtIndex = function(t4, e4) { + return this.splice(e4, 0, t4); + }, i2.prototype.insertSplittableListAtIndex = function(t4, e4) { + return this.splice.apply(this, [e4, 0].concat(o2.call(t4.objects))); + }, i2.prototype.insertSplittableListAtPosition = function(t4, e4) { + var n3, i3, o3; + return o3 = this.splitObjectAtPosition(e4), i3 = o3[0], n3 = o3[1], new this.constructor(i3).insertSplittableListAtIndex(t4, n3); + }, i2.prototype.editObjectAtIndex = function(t4, e4) { + return this.replaceObjectAtIndex(e4(this.objects[t4]), t4); + }, i2.prototype.replaceObjectAtIndex = function(t4, e4) { + return this.splice(e4, 1, t4); + }, i2.prototype.removeObjectAtIndex = function(t4) { + return this.splice(t4, 1); + }, i2.prototype.getObjectAtIndex = function(t4) { + return this.objects[t4]; + }, i2.prototype.getSplittableListInRange = function(t4) { + var e4, n3, i3, o3; + return i3 = this.splitObjectsAtRange(t4), n3 = i3[0], e4 = i3[1], o3 = i3[2], new this.constructor(n3.slice(e4, o3 + 1)); + }, i2.prototype.selectSplittableList = function(t4) { + var e4, n3; + return n3 = function() { + var n4, i3, o3, r3; + for (o3 = this.objects, r3 = [], n4 = 0, i3 = o3.length; i3 > n4; n4++) + e4 = o3[n4], t4(e4) && r3.push(e4); + return r3; + }.call(this), new this.constructor(n3); + }, i2.prototype.removeObjectsInRange = function(t4) { + var e4, n3, i3, o3; + return i3 = this.splitObjectsAtRange(t4), n3 = i3[0], e4 = i3[1], o3 = i3[2], new this.constructor(n3).splice(e4, o3 - e4 + 1); + }, i2.prototype.transformObjectsInRange = function(t4, e4) { + var n3, i3, o3, r3, s3, a3, u; + return s3 = this.splitObjectsAtRange(t4), r3 = s3[0], i3 = s3[1], a3 = s3[2], u = function() { + var t5, s4, u2; + for (u2 = [], n3 = t5 = 0, s4 = r3.length; s4 > t5; n3 = ++t5) + o3 = r3[n3], u2.push(n3 >= i3 && a3 >= n3 ? e4(o3) : o3); + return u2; + }(), new this.constructor(u); + }, i2.prototype.splitObjectsAtRange = function(t4) { + var e4, n3, i3, o3, s3, u; + return o3 = this.splitObjectAtPosition(a2(t4)), n3 = o3[0], e4 = o3[1], i3 = o3[2], s3 = new this.constructor(n3).splitObjectAtPosition(r2(t4) + i3), n3 = s3[0], u = s3[1], [n3, e4, u - 1]; + }, i2.prototype.getObjectAtPosition = function(t4) { + var e4, n3, i3; + return i3 = this.findIndexAndOffsetAtPosition(t4), e4 = i3.index, n3 = i3.offset, this.objects[e4]; + }, i2.prototype.splitObjectAtPosition = function(t4) { + var e4, n3, i3, o3, r3, s3, a3, u, c2, l; + return s3 = this.findIndexAndOffsetAtPosition(t4), e4 = s3.index, r3 = s3.offset, o3 = this.objects.slice(0), e4 != null ? r3 === 0 ? (c2 = e4, l = 0) : (i3 = this.getObjectAtIndex(e4), a3 = i3.splitAtOffset(r3), n3 = a3[0], u = a3[1], o3.splice(e4, 1, n3, u), c2 = e4 + 1, l = n3.getLength() - r3) : (c2 = o3.length, l = 0), [o3, c2, l]; + }, i2.prototype.consolidate = function() { + var t4, e4, n3, i3, o3, r3; + for (i3 = [], o3 = this.objects[0], r3 = this.objects.slice(1), t4 = 0, e4 = r3.length; e4 > t4; t4++) + n3 = r3[t4], (typeof o3.canBeConsolidatedWith == "function" ? o3.canBeConsolidatedWith(n3) : void 0) ? o3 = o3.consolidateWith(n3) : (i3.push(o3), o3 = n3); + return o3 != null && i3.push(o3), new this.constructor(i3); + }, i2.prototype.consolidateFromIndexToIndex = function(t4, e4) { + var n3, i3, r3; + return i3 = this.objects.slice(0), r3 = i3.slice(t4, e4 + 1), n3 = new this.constructor(r3).consolidate().toArray(), this.splice.apply(this, [t4, r3.length].concat(o2.call(n3))); + }, i2.prototype.findIndexAndOffsetAtPosition = function(t4) { + var e4, n3, i3, o3, r3, s3, a3; + for (e4 = 0, a3 = this.objects, i3 = n3 = 0, o3 = a3.length; o3 > n3; i3 = ++n3) { + if (s3 = a3[i3], r3 = e4 + s3.getLength(), t4 >= e4 && r3 > t4) + return {index: i3, offset: t4 - e4}; + e4 = r3; + } + return {index: null, offset: null}; + }, i2.prototype.findPositionAtIndexAndOffset = function(t4, e4) { + var n3, i3, o3, r3, s3, a3; + for (s3 = 0, a3 = this.objects, n3 = i3 = 0, o3 = a3.length; o3 > i3; n3 = ++i3) + if (r3 = a3[n3], t4 > n3) + s3 += r3.getLength(); + else if (n3 === t4) { + s3 += e4; + break; + } + return s3; + }, i2.prototype.getEndPosition = function() { + var t4, e4; + return this.endPosition != null ? this.endPosition : this.endPosition = function() { + var n3, i3, o3; + for (e4 = 0, o3 = this.objects, n3 = 0, i3 = o3.length; i3 > n3; n3++) + t4 = o3[n3], e4 += t4.getLength(); + return e4; + }.call(this); + }, i2.prototype.toString = function() { + return this.objects.join(""); + }, i2.prototype.toArray = function() { + return this.objects.slice(0); + }, i2.prototype.toJSON = function() { + return this.toArray(); + }, i2.prototype.isEqualTo = function(t4) { + return i2.__super__.isEqualTo.apply(this, arguments) || s2(this.objects, t4 != null ? t4.objects : void 0); + }, s2 = function(t4, e4) { + var n3, i3, o3, r3, s3; + if (e4 == null && (e4 = []), t4.length !== e4.length) + return false; + for (s3 = true, i3 = n3 = 0, o3 = t4.length; o3 > n3; i3 = ++n3) + r3 = t4[i3], s3 && !r3.isEqualTo(e4[i3]) && (s3 = false); + return s3; + }, i2.prototype.contentsForInspection = function() { + var t4; + return {objects: "[" + function() { + var e4, n3, i3, o3; + for (i3 = this.objects, o3 = [], e4 = 0, n3 = i3.length; n3 > e4; e4++) + t4 = i3[e4], o3.push(t4.inspect()); + return o3; + }.call(this).join(", ") + "]"}; + }, a2 = function(t4) { + return t4[0]; + }, r2 = function(t4) { + return t4[1]; + }, i2; + }(e2.Object); + }.call(this), function() { + var t3 = function(t4, e3) { + function i() { + this.constructor = t4; + } + for (var o2 in e3) + n2.call(e3, o2) && (t4[o2] = e3[o2]); + return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; + }, n2 = {}.hasOwnProperty; + e2.Text = function(n3) { + function i(t4) { + var n4; + t4 == null && (t4 = []), i.__super__.constructor.apply(this, arguments), this.pieceList = new e2.SplittableList(function() { + var e3, i2, o2; + for (o2 = [], e3 = 0, i2 = t4.length; i2 > e3; e3++) + n4 = t4[e3], n4.isEmpty() || o2.push(n4); + return o2; + }()); + } + return t3(i, n3), i.textForAttachmentWithAttributes = function(t4, n4) { + var i2; + return i2 = new e2.AttachmentPiece(t4, n4), new this([i2]); + }, i.textForStringWithAttributes = function(t4, n4) { + var i2; + return i2 = new e2.StringPiece(t4, n4), new this([i2]); + }, i.fromJSON = function(t4) { + var n4, i2; + return i2 = function() { + var i3, o2, r2; + for (r2 = [], i3 = 0, o2 = t4.length; o2 > i3; i3++) + n4 = t4[i3], r2.push(e2.Piece.fromJSON(n4)); + return r2; + }(), new this(i2); + }, i.prototype.copy = function() { + return this.copyWithPieceList(this.pieceList); + }, i.prototype.copyWithPieceList = function(t4) { + return new this.constructor(t4.consolidate().toArray()); + }, i.prototype.copyUsingObjectMap = function(t4) { + var e3, n4; + return n4 = function() { + var n5, i2, o2, r2, s2; + for (o2 = this.getPieces(), s2 = [], n5 = 0, i2 = o2.length; i2 > n5; n5++) + e3 = o2[n5], s2.push((r2 = t4.find(e3)) != null ? r2 : e3); + return s2; + }.call(this), new this.constructor(n4); + }, i.prototype.appendText = function(t4) { + return this.insertTextAtPosition(t4, this.getLength()); + }, i.prototype.insertTextAtPosition = function(t4, e3) { + return this.copyWithPieceList(this.pieceList.insertSplittableListAtPosition(t4.pieceList, e3)); + }, i.prototype.removeTextAtRange = function(t4) { + return this.copyWithPieceList(this.pieceList.removeObjectsInRange(t4)); + }, i.prototype.replaceTextAtRange = function(t4, e3) { + return this.removeTextAtRange(e3).insertTextAtPosition(t4, e3[0]); + }, i.prototype.moveTextFromRangeToPosition = function(t4, e3) { + var n4, i2; + if (!(t4[0] <= e3 && e3 <= t4[1])) + return i2 = this.getTextAtRange(t4), n4 = i2.getLength(), t4[0] < e3 && (e3 -= n4), this.removeTextAtRange(t4).insertTextAtPosition(i2, e3); + }, i.prototype.addAttributeAtRange = function(t4, e3, n4) { + var i2; + return i2 = {}, i2[t4] = e3, this.addAttributesAtRange(i2, n4); + }, i.prototype.addAttributesAtRange = function(t4, e3) { + return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e3, function(e4) { + return e4.copyWithAdditionalAttributes(t4); + })); + }, i.prototype.removeAttributeAtRange = function(t4, e3) { + return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e3, function(e4) { + return e4.copyWithoutAttribute(t4); + })); + }, i.prototype.setAttributesAtRange = function(t4, e3) { + return this.copyWithPieceList(this.pieceList.transformObjectsInRange(e3, function(e4) { + return e4.copyWithAttributes(t4); + })); + }, i.prototype.getAttributesAtPosition = function(t4) { + var e3, n4; + return (e3 = (n4 = this.pieceList.getObjectAtPosition(t4)) != null ? n4.getAttributes() : void 0) != null ? e3 : {}; + }, i.prototype.getCommonAttributes = function() { + var t4, n4; + return t4 = function() { + var t5, e3, i2, o2; + for (i2 = this.pieceList.toArray(), o2 = [], t5 = 0, e3 = i2.length; e3 > t5; t5++) + n4 = i2[t5], o2.push(n4.getAttributes()); + return o2; + }.call(this), e2.Hash.fromCommonAttributesOfObjects(t4).toObject(); + }, i.prototype.getCommonAttributesAtRange = function(t4) { + var e3; + return (e3 = this.getTextAtRange(t4).getCommonAttributes()) != null ? e3 : {}; + }, i.prototype.getExpandedRangeForAttributeAtOffset = function(t4, e3) { + var n4, i2, o2; + for (n4 = o2 = e3, i2 = this.getLength(); n4 > 0 && this.getCommonAttributesAtRange([n4 - 1, o2])[t4]; ) + n4--; + for (; i2 > o2 && this.getCommonAttributesAtRange([e3, o2 + 1])[t4]; ) + o2++; + return [n4, o2]; + }, i.prototype.getTextAtRange = function(t4) { + return this.copyWithPieceList(this.pieceList.getSplittableListInRange(t4)); + }, i.prototype.getStringAtRange = function(t4) { + return this.pieceList.getSplittableListInRange(t4).toString(); + }, i.prototype.getStringAtPosition = function(t4) { + return this.getStringAtRange([t4, t4 + 1]); + }, i.prototype.startsWithString = function(t4) { + return this.getStringAtRange([0, t4.length]) === t4; + }, i.prototype.endsWithString = function(t4) { + var e3; + return e3 = this.getLength(), this.getStringAtRange([e3 - t4.length, e3]) === t4; + }, i.prototype.getAttachmentPieces = function() { + var t4, e3, n4, i2, o2; + for (i2 = this.pieceList.toArray(), o2 = [], t4 = 0, e3 = i2.length; e3 > t4; t4++) + n4 = i2[t4], n4.attachment != null && o2.push(n4); + return o2; + }, i.prototype.getAttachments = function() { + var t4, e3, n4, i2, o2; + for (i2 = this.getAttachmentPieces(), o2 = [], t4 = 0, e3 = i2.length; e3 > t4; t4++) + n4 = i2[t4], o2.push(n4.attachment); + return o2; + }, i.prototype.getAttachmentAndPositionById = function(t4) { + var e3, n4, i2, o2, r2, s2; + for (o2 = 0, r2 = this.pieceList.toArray(), e3 = 0, n4 = r2.length; n4 > e3; e3++) { + if (i2 = r2[e3], ((s2 = i2.attachment) != null ? s2.id : void 0) === t4) + return {attachment: i2.attachment, position: o2}; + o2 += i2.length; + } + return {attachment: null, position: null}; + }, i.prototype.getAttachmentById = function(t4) { + var e3, n4, i2; + return i2 = this.getAttachmentAndPositionById(t4), e3 = i2.attachment, n4 = i2.position, e3; + }, i.prototype.getRangeOfAttachment = function(t4) { + var e3, n4; + return n4 = this.getAttachmentAndPositionById(t4.id), t4 = n4.attachment, e3 = n4.position, t4 != null ? [e3, e3 + 1] : void 0; + }, i.prototype.updateAttributesForAttachment = function(t4, e3) { + var n4; + return (n4 = this.getRangeOfAttachment(e3)) ? this.addAttributesAtRange(t4, n4) : this; + }, i.prototype.getLength = function() { + return this.pieceList.getEndPosition(); + }, i.prototype.isEmpty = function() { + return this.getLength() === 0; + }, i.prototype.isEqualTo = function(t4) { + var e3; + return i.__super__.isEqualTo.apply(this, arguments) || (t4 != null && (e3 = t4.pieceList) != null ? e3.isEqualTo(this.pieceList) : void 0); + }, i.prototype.isBlockBreak = function() { + return this.getLength() === 1 && this.pieceList.getObjectAtIndex(0).isBlockBreak(); + }, i.prototype.eachPiece = function(t4) { + return this.pieceList.eachObject(t4); + }, i.prototype.getPieces = function() { + return this.pieceList.toArray(); + }, i.prototype.getPieceAtPosition = function(t4) { + return this.pieceList.getObjectAtPosition(t4); + }, i.prototype.contentsForInspection = function() { + return {pieceList: this.pieceList.inspect()}; + }, i.prototype.toSerializableText = function() { + var t4; + return t4 = this.pieceList.selectSplittableList(function(t5) { + return t5.isSerializable(); + }), this.copyWithPieceList(t4); + }, i.prototype.toString = function() { + return this.pieceList.toString(); + }, i.prototype.toJSON = function() { + return this.pieceList.toJSON(); + }, i.prototype.toConsole = function() { + var t4; + return JSON.stringify(function() { + var e3, n4, i2, o2; + for (i2 = this.pieceList.toArray(), o2 = [], e3 = 0, n4 = i2.length; n4 > e3; e3++) + t4 = i2[e3], o2.push(JSON.parse(t4.toConsole())); + return o2; + }.call(this)); + }, i.prototype.getDirection = function() { + return e2.getDirection(this.toString()); + }, i.prototype.isRTL = function() { + return this.getDirection() === "rtl"; + }, i; + }(e2.Object); + }.call(this), function() { + var t3, n2, i, o2, r2, s2 = function(t4, e3) { + function n3() { + this.constructor = t4; + } + for (var i2 in e3) + a2.call(e3, i2) && (t4[i2] = e3[i2]); + return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; + }, a2 = {}.hasOwnProperty, u = [].indexOf || function(t4) { + for (var e3 = 0, n3 = this.length; n3 > e3; e3++) + if (e3 in this && this[e3] === t4) + return e3; + return -1; + }, c2 = [].slice; + t3 = e2.arraysAreEqual, r2 = e2.spliceArray, i = e2.getBlockConfig, n2 = e2.getBlockAttributeNames, o2 = e2.getListAttributeNames, e2.Block = function(n3) { + function a3(t4, n4) { + t4 == null && (t4 = new e2.Text()), n4 == null && (n4 = []), a3.__super__.constructor.apply(this, arguments), this.text = h(t4), this.attributes = n4; + } + var l, h, p2, d, f, g, m, v, y; + return s2(a3, n3), a3.fromJSON = function(t4) { + var n4; + return n4 = e2.Text.fromJSON(t4.text), new this(n4, t4.attributes); + }, a3.prototype.isEmpty = function() { + return this.text.isBlockBreak(); + }, a3.prototype.isEqualTo = function(e3) { + return a3.__super__.isEqualTo.apply(this, arguments) || this.text.isEqualTo(e3 != null ? e3.text : void 0) && t3(this.attributes, e3 != null ? e3.attributes : void 0); + }, a3.prototype.copyWithText = function(t4) { + return new this.constructor(t4, this.attributes); + }, a3.prototype.copyWithoutText = function() { + return this.copyWithText(null); + }, a3.prototype.copyWithAttributes = function(t4) { + return new this.constructor(this.text, t4); + }, a3.prototype.copyWithoutAttributes = function() { + return this.copyWithAttributes(null); + }, a3.prototype.copyUsingObjectMap = function(t4) { + var e3; + return this.copyWithText((e3 = t4.find(this.text)) ? e3 : this.text.copyUsingObjectMap(t4)); + }, a3.prototype.addAttribute = function(t4) { + var e3; + return e3 = this.attributes.concat(d(t4)), this.copyWithAttributes(e3); + }, a3.prototype.removeAttribute = function(t4) { + var e3, n4; + return n4 = i(t4).listAttribute, e3 = g(g(this.attributes, t4), n4), this.copyWithAttributes(e3); + }, a3.prototype.removeLastAttribute = function() { + return this.removeAttribute(this.getLastAttribute()); + }, a3.prototype.getLastAttribute = function() { + return f(this.attributes); + }, a3.prototype.getAttributes = function() { + return this.attributes.slice(0); + }, a3.prototype.getAttributeLevel = function() { + return this.attributes.length; + }, a3.prototype.getAttributeAtLevel = function(t4) { + return this.attributes[t4 - 1]; + }, a3.prototype.hasAttribute = function(t4) { + return u.call(this.attributes, t4) >= 0; + }, a3.prototype.hasAttributes = function() { + return this.getAttributeLevel() > 0; + }, a3.prototype.getLastNestableAttribute = function() { + return f(this.getNestableAttributes()); + }, a3.prototype.getNestableAttributes = function() { + var t4, e3, n4, o3, r3; + for (o3 = this.attributes, r3 = [], e3 = 0, n4 = o3.length; n4 > e3; e3++) + t4 = o3[e3], i(t4).nestable && r3.push(t4); + return r3; + }, a3.prototype.getNestingLevel = function() { + return this.getNestableAttributes().length; + }, a3.prototype.decreaseNestingLevel = function() { + var t4; + return (t4 = this.getLastNestableAttribute()) ? this.removeAttribute(t4) : this; + }, a3.prototype.increaseNestingLevel = function() { + var t4, e3, n4; + return (t4 = this.getLastNestableAttribute()) ? (n4 = this.attributes.lastIndexOf(t4), e3 = r2.apply(null, [this.attributes, n4 + 1, 0].concat(c2.call(d(t4)))), this.copyWithAttributes(e3)) : this; + }, a3.prototype.getListItemAttributes = function() { + var t4, e3, n4, o3, r3; + for (o3 = this.attributes, r3 = [], e3 = 0, n4 = o3.length; n4 > e3; e3++) + t4 = o3[e3], i(t4).listAttribute && r3.push(t4); + return r3; + }, a3.prototype.isListItem = function() { + var t4; + return (t4 = i(this.getLastAttribute())) != null ? t4.listAttribute : void 0; + }, a3.prototype.isTerminalBlock = function() { + var t4; + return (t4 = i(this.getLastAttribute())) != null ? t4.terminal : void 0; + }, a3.prototype.breaksOnReturn = function() { + var t4; + return (t4 = i(this.getLastAttribute())) != null ? t4.breakOnReturn : void 0; + }, a3.prototype.findLineBreakInDirectionFromPosition = function(t4, e3) { + var n4, i2; + return i2 = this.toString(), n4 = function() { + switch (t4) { + case "forward": + return i2.indexOf("\n", e3); + case "backward": + return i2.slice(0, e3).lastIndexOf("\n"); + } + }(), n4 !== -1 ? n4 : void 0; + }, a3.prototype.contentsForInspection = function() { + return {text: this.text.inspect(), attributes: this.attributes}; + }, a3.prototype.toString = function() { + return this.text.toString(); + }, a3.prototype.toJSON = function() { + return {text: this.text, attributes: this.attributes}; + }, a3.prototype.getDirection = function() { + return this.text.getDirection(); + }, a3.prototype.isRTL = function() { + return this.text.isRTL(); + }, a3.prototype.getLength = function() { + return this.text.getLength(); + }, a3.prototype.canBeConsolidatedWith = function(t4) { + return !this.hasAttributes() && !t4.hasAttributes() && this.getDirection() === t4.getDirection(); + }, a3.prototype.consolidateWith = function(t4) { + var n4, i2; + return n4 = e2.Text.textForStringWithAttributes("\n"), i2 = this.getTextWithoutBlockBreak().appendText(n4), this.copyWithText(i2.appendText(t4.text)); + }, a3.prototype.splitAtOffset = function(t4) { + var e3, n4; + return t4 === 0 ? (e3 = null, n4 = this) : t4 === this.getLength() ? (e3 = this, n4 = null) : (e3 = this.copyWithText(this.text.getTextAtRange([0, t4])), n4 = this.copyWithText(this.text.getTextAtRange([t4, this.getLength()]))), [e3, n4]; + }, a3.prototype.getBlockBreakPosition = function() { + return this.text.getLength() - 1; + }, a3.prototype.getTextWithoutBlockBreak = function() { + return m(this.text) ? this.text.getTextAtRange([0, this.getBlockBreakPosition()]) : this.text.copy(); + }, a3.prototype.canBeGrouped = function(t4) { + return this.attributes[t4]; + }, a3.prototype.canBeGroupedWith = function(t4, e3) { + var n4, r3, s3, a4; + return s3 = t4.getAttributes(), r3 = s3[e3], n4 = this.attributes[e3], !(n4 !== r3 || i(n4).group === false && (a4 = s3[e3 + 1], u.call(o2(), a4) < 0) || this.getDirection() !== t4.getDirection() && !t4.isEmpty()); + }, h = function(t4) { + return t4 = y(t4), t4 = l(t4); + }, y = function(t4) { + var n4, i2, o3, r3, s3, a4; + return r3 = false, a4 = t4.getPieces(), i2 = 2 <= a4.length ? c2.call(a4, 0, n4 = a4.length - 1) : (n4 = 0, []), o3 = a4[n4++], o3 == null ? t4 : (i2 = function() { + var t5, e3, n5; + for (n5 = [], t5 = 0, e3 = i2.length; e3 > t5; t5++) + s3 = i2[t5], s3.isBlockBreak() ? (r3 = true, n5.push(v(s3))) : n5.push(s3); + return n5; + }(), r3 ? new e2.Text(c2.call(i2).concat([o3])) : t4); + }, p2 = e2.Text.textForStringWithAttributes("\n", {blockBreak: true}), l = function(t4) { + return m(t4) ? t4 : t4.appendText(p2); + }, m = function(t4) { + var e3, n4; + return n4 = t4.getLength(), n4 === 0 ? false : (e3 = t4.getTextAtRange([n4 - 1, n4]), e3.isBlockBreak()); + }, v = function(t4) { + return t4.copyWithoutAttribute("blockBreak"); + }, d = function(t4) { + var e3; + return e3 = i(t4).listAttribute, e3 != null ? [e3, t4] : [t4]; + }, f = function(t4) { + return t4.slice(-1)[0]; + }, g = function(t4, e3) { + var n4; + return n4 = t4.lastIndexOf(e3), n4 === -1 ? t4 : r2(t4, n4, 1); + }, a3; + }(e2.Object); + }.call(this), function() { + var t3, n2, i, o2 = function(t4, e3) { + function n3() { + this.constructor = t4; + } + for (var i2 in e3) + r2.call(e3, i2) && (t4[i2] = e3[i2]); + return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; + }, r2 = {}.hasOwnProperty, s2 = [].indexOf || function(t4) { + for (var e3 = 0, n3 = this.length; n3 > e3; e3++) + if (e3 in this && this[e3] === t4) + return e3; + return -1; + }, a2 = [].slice; + n2 = e2.tagName, i = e2.walkTree, t3 = e2.nodeIsAttachmentElement, e2.HTMLSanitizer = function(r3) { + function u(t4, e3) { + var n3; + n3 = e3 != null ? e3 : {}, this.allowedAttributes = n3.allowedAttributes, this.forbiddenProtocols = n3.forbiddenProtocols, this.forbiddenElements = n3.forbiddenElements, this.allowedAttributes == null && (this.allowedAttributes = c2), this.forbiddenProtocols == null && (this.forbiddenProtocols = h), this.forbiddenElements == null && (this.forbiddenElements = l), this.body = p2(t4); + } + var c2, l, h, p2; + return o2(u, r3), c2 = "style href src width height class".split(" "), h = "javascript:".split(" "), l = "script iframe".split(" "), u.sanitize = function(t4, e3) { + var n3; + return n3 = new this(t4, e3), n3.sanitize(), n3; + }, u.prototype.sanitize = function() { + return this.sanitizeElements(), this.normalizeListElementNesting(); + }, u.prototype.getHTML = function() { + return this.body.innerHTML; + }, u.prototype.getBody = function() { + return this.body; + }, u.prototype.sanitizeElements = function() { + var t4, n3, o3, r4, s3; + for (s3 = i(this.body), r4 = []; s3.nextNode(); ) + switch (o3 = s3.currentNode, o3.nodeType) { + case Node.ELEMENT_NODE: + this.elementIsRemovable(o3) ? r4.push(o3) : this.sanitizeElement(o3); + break; + case Node.COMMENT_NODE: + r4.push(o3); + } + for (t4 = 0, n3 = r4.length; n3 > t4; t4++) + o3 = r4[t4], e2.removeNode(o3); + return this.body; + }, u.prototype.sanitizeElement = function(t4) { + var e3, n3, i2, o3, r4; + for (t4.hasAttribute("href") && (o3 = t4.protocol, s2.call(this.forbiddenProtocols, o3) >= 0 && t4.removeAttribute("href")), r4 = a2.call(t4.attributes), e3 = 0, n3 = r4.length; n3 > e3; e3++) + i2 = r4[e3].name, s2.call(this.allowedAttributes, i2) >= 0 || i2.indexOf("data-trix") === 0 || t4.removeAttribute(i2); + return t4; + }, u.prototype.normalizeListElementNesting = function() { + var t4, e3, i2, o3, r4; + for (r4 = a2.call(this.body.querySelectorAll("ul,ol")), t4 = 0, e3 = r4.length; e3 > t4; t4++) + i2 = r4[t4], (o3 = i2.previousElementSibling) && n2(o3) === "li" && o3.appendChild(i2); + return this.body; + }, u.prototype.elementIsRemovable = function(t4) { + return (t4 != null ? t4.nodeType : void 0) === Node.ELEMENT_NODE ? this.elementIsForbidden(t4) || this.elementIsntSerializable(t4) : void 0; + }, u.prototype.elementIsForbidden = function(t4) { + var e3; + return e3 = n2(t4), s2.call(this.forbiddenElements, e3) >= 0; + }, u.prototype.elementIsntSerializable = function(e3) { + return e3.getAttribute("data-trix-serialize") === "false" && !t3(e3); + }, p2 = function(t4) { + var e3, n3, i2, o3, r4; + for (t4 == null && (t4 = ""), t4 = t4.replace(/<\/html[^>]*>[^]*$/i, ""), e3 = document.implementation.createHTMLDocument(""), e3.documentElement.innerHTML = t4, r4 = e3.head.querySelectorAll("style"), i2 = 0, o3 = r4.length; o3 > i2; i2++) + n3 = r4[i2], e3.body.appendChild(n3); + return e3.body; + }, u; + }(e2.BasicObject); + }.call(this), function() { + var t3, n2, i, o2, r2, s2, a2, u, c2, l, h, p2 = function(t4, e3) { + function n3() { + this.constructor = t4; + } + for (var i2 in e3) + d.call(e3, i2) && (t4[i2] = e3[i2]); + return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; + }, d = {}.hasOwnProperty, f = [].indexOf || function(t4) { + for (var e3 = 0, n3 = this.length; n3 > e3; e3++) + if (e3 in this && this[e3] === t4) + return e3; + return -1; + }; + t3 = e2.arraysAreEqual, s2 = e2.makeElement, l = e2.tagName, r2 = e2.getBlockTagNames, h = e2.walkTree, o2 = e2.findClosestElementFromNode, i = e2.elementContainsNode, a2 = e2.nodeIsAttachmentElement, u = e2.normalizeSpaces, n2 = e2.breakableWhitespacePattern, c2 = e2.squishBreakableWhitespace, e2.HTMLParser = function(d2) { + function g(t4, e3) { + this.html = t4, this.referenceElement = (e3 != null ? e3 : {}).referenceElement, this.blocks = [], this.blockElements = [], this.processedElements = []; + } + var m, v, y, b, A, C3, x, w, E, S2, R, k; + return p2(g, d2), g.parse = function(t4, e3) { + var n3; + return n3 = new this(t4, e3), n3.parse(), n3; + }, g.prototype.getDocument = function() { + return e2.Document.fromJSON(this.blocks); + }, g.prototype.parse = function() { + var t4, n3; + try { + for (this.createHiddenContainer(), t4 = e2.HTMLSanitizer.sanitize(this.html).getHTML(), this.containerElement.innerHTML = t4, n3 = h(this.containerElement, {usingFilter: x}); n3.nextNode(); ) + this.processNode(n3.currentNode); + return this.translateBlockElementMarginsToNewlines(); + } finally { + this.removeHiddenContainer(); + } + }, g.prototype.createHiddenContainer = function() { + return this.referenceElement ? (this.containerElement = this.referenceElement.cloneNode(false), this.containerElement.removeAttribute("id"), this.containerElement.setAttribute("data-trix-internal", ""), this.containerElement.style.display = "none", this.referenceElement.parentNode.insertBefore(this.containerElement, this.referenceElement.nextSibling)) : (this.containerElement = s2({tagName: "div", style: {display: "none"}}), document.body.appendChild(this.containerElement)); + }, g.prototype.removeHiddenContainer = function() { + return e2.removeNode(this.containerElement); + }, x = function(t4) { + return l(t4) === "style" ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT; + }, g.prototype.processNode = function(t4) { + switch (t4.nodeType) { + case Node.TEXT_NODE: + if (!this.isInsignificantTextNode(t4)) + return this.appendBlockForTextNode(t4), this.processTextNode(t4); + break; + case Node.ELEMENT_NODE: + return this.appendBlockForElement(t4), this.processElement(t4); + } + }, g.prototype.appendBlockForTextNode = function(e3) { + var n3, i2, o3; + return i2 = e3.parentNode, i2 === this.currentBlockElement && this.isBlockElement(e3.previousSibling) ? this.appendStringWithAttributes("\n") : i2 !== this.containerElement && !this.isBlockElement(i2) || (n3 = this.getBlockAttributes(i2), t3(n3, (o3 = this.currentBlock) != null ? o3.attributes : void 0)) ? void 0 : (this.currentBlock = this.appendBlockForAttributesWithElement(n3, i2), this.currentBlockElement = i2); + }, g.prototype.appendBlockForElement = function(e3) { + var n3, o3, r3, s3; + if (r3 = this.isBlockElement(e3), o3 = i(this.currentBlockElement, e3), r3 && !this.isBlockElement(e3.firstChild)) { + if ((!this.isInsignificantTextNode(e3.firstChild) || !this.isBlockElement(e3.firstElementChild)) && (n3 = this.getBlockAttributes(e3), e3.firstChild)) + return o3 && t3(n3, this.currentBlock.attributes) ? this.appendStringWithAttributes("\n") : (this.currentBlock = this.appendBlockForAttributesWithElement(n3, e3), this.currentBlockElement = e3); + } else if (this.currentBlockElement && !o3 && !r3) + return (s3 = this.findParentBlockElement(e3)) ? this.appendBlockForElement(s3) : (this.currentBlock = this.appendEmptyBlock(), this.currentBlockElement = null); + }, g.prototype.findParentBlockElement = function(t4) { + var e3; + for (e3 = t4.parentElement; e3 && e3 !== this.containerElement; ) { + if (this.isBlockElement(e3) && f.call(this.blockElements, e3) >= 0) + return e3; + e3 = e3.parentElement; + } + return null; + }, g.prototype.processTextNode = function(t4) { + var e3, n3; + return n3 = t4.data, v(t4.parentNode) || (n3 = c2(n3), R((e3 = t4.previousSibling) != null ? e3.textContent : void 0) && (n3 = A(n3))), this.appendStringWithAttributes(n3, this.getTextAttributes(t4.parentNode)); + }, g.prototype.processElement = function(t4) { + var e3, n3, i2, o3, r3; + if (a2(t4)) + return e3 = w(t4, "attachment"), Object.keys(e3).length && (o3 = this.getTextAttributes(t4), this.appendAttachmentWithAttributes(e3, o3), t4.innerHTML = ""), this.processedElements.push(t4); + switch (l(t4)) { + case "br": + return this.isExtraBR(t4) || this.isBlockElement(t4.nextSibling) || this.appendStringWithAttributes("\n", this.getTextAttributes(t4)), this.processedElements.push(t4); + case "img": + e3 = {url: t4.getAttribute("src"), contentType: "image"}, i2 = b(t4); + for (n3 in i2) + r3 = i2[n3], e3[n3] = r3; + return this.appendAttachmentWithAttributes(e3, this.getTextAttributes(t4)), this.processedElements.push(t4); + case "tr": + if (t4.parentNode.firstChild !== t4) + return this.appendStringWithAttributes("\n"); + break; + case "td": + if (t4.parentNode.firstChild !== t4) + return this.appendStringWithAttributes(" | "); + } + }, g.prototype.appendBlockForAttributesWithElement = function(t4, e3) { + var n3; + return this.blockElements.push(e3), n3 = m(t4), this.blocks.push(n3), n3; + }, g.prototype.appendEmptyBlock = function() { + return this.appendBlockForAttributesWithElement([], null); + }, g.prototype.appendStringWithAttributes = function(t4, e3) { + return this.appendPiece(S2(t4, e3)); + }, g.prototype.appendAttachmentWithAttributes = function(t4, e3) { + return this.appendPiece(E(t4, e3)); + }, g.prototype.appendPiece = function(t4) { + return this.blocks.length === 0 && this.appendEmptyBlock(), this.blocks[this.blocks.length - 1].text.push(t4); + }, g.prototype.appendStringToTextAtIndex = function(t4, e3) { + var n3, i2; + return i2 = this.blocks[e3].text, n3 = i2[i2.length - 1], (n3 != null ? n3.type : void 0) === "string" ? n3.string += t4 : i2.push(S2(t4)); + }, g.prototype.prependStringToTextAtIndex = function(t4, e3) { + var n3, i2; + return i2 = this.blocks[e3].text, n3 = i2[0], (n3 != null ? n3.type : void 0) === "string" ? n3.string = t4 + n3.string : i2.unshift(S2(t4)); + }, S2 = function(t4, e3) { + var n3; + return e3 == null && (e3 = {}), n3 = "string", t4 = u(t4), {string: t4, attributes: e3, type: n3}; + }, E = function(t4, e3) { + var n3; + return e3 == null && (e3 = {}), n3 = "attachment", {attachment: t4, attributes: e3, type: n3}; + }, m = function(t4) { + var e3; + return t4 == null && (t4 = {}), e3 = [], {text: e3, attributes: t4}; + }, g.prototype.getTextAttributes = function(t4) { + var n3, i2, r3, s3, u2, c3, l2, h2, p3, d3, f2, g2; + r3 = {}, p3 = e2.config.textAttributes; + for (n3 in p3) + if (u2 = p3[n3], u2.tagName && o2(t4, {matchingSelector: u2.tagName, untilNode: this.containerElement})) + r3[n3] = true; + else if (u2.parser) { + if (g2 = u2.parser(t4)) { + for (i2 = false, d3 = this.findBlockElementAncestors(t4), c3 = 0, h2 = d3.length; h2 > c3; c3++) + if (s3 = d3[c3], u2.parser(s3) === g2) { + i2 = true; + break; + } + i2 || (r3[n3] = g2); + } + } else + u2.styleProperty && (g2 = t4.style[u2.styleProperty]) && (r3[n3] = g2); + if (a2(t4)) { + f2 = w(t4, "attributes"); + for (l2 in f2) + g2 = f2[l2], r3[l2] = g2; + } + return r3; + }, g.prototype.getBlockAttributes = function(t4) { + var n3, i2, o3, r3; + for (i2 = []; t4 && t4 !== this.containerElement; ) { + r3 = e2.config.blockAttributes; + for (n3 in r3) + o3 = r3[n3], o3.parse !== false && l(t4) === o3.tagName && ((typeof o3.test == "function" ? o3.test(t4) : void 0) || !o3.test) && (i2.push(n3), o3.listAttribute && i2.push(o3.listAttribute)); + t4 = t4.parentNode; + } + return i2.reverse(); + }, g.prototype.findBlockElementAncestors = function(t4) { + var e3, n3; + for (e3 = []; t4 && t4 !== this.containerElement; ) + n3 = l(t4), f.call(r2(), n3) >= 0 && e3.push(t4), t4 = t4.parentNode; + return e3; + }, w = function(t4, e3) { + try { + return JSON.parse(t4.getAttribute("data-trix-" + e3)); + } catch (n3) { + return {}; + } + }, b = function(t4) { + var e3, n3, i2; + return i2 = t4.getAttribute("width"), n3 = t4.getAttribute("height"), e3 = {}, i2 && (e3.width = parseInt(i2, 10)), n3 && (e3.height = parseInt(n3, 10)), e3; + }, g.prototype.isBlockElement = function(t4) { + var e3; + if ((t4 != null ? t4.nodeType : void 0) === Node.ELEMENT_NODE && !a2(t4) && !o2(t4, {matchingSelector: "td", untilNode: this.containerElement})) + return e3 = l(t4), f.call(r2(), e3) >= 0 || window.getComputedStyle(t4).display === "block"; + }, g.prototype.isInsignificantTextNode = function(t4) { + var e3, n3, i2; + if ((t4 != null ? t4.nodeType : void 0) === Node.TEXT_NODE && k(t4.data) && (n3 = t4.parentNode, i2 = t4.previousSibling, e3 = t4.nextSibling, (!C3(n3.previousSibling) || this.isBlockElement(n3.previousSibling)) && !v(n3))) + return !i2 || this.isBlockElement(i2) || !e3 || this.isBlockElement(e3); + }, g.prototype.isExtraBR = function(t4) { + return l(t4) === "br" && this.isBlockElement(t4.parentNode) && t4.parentNode.lastChild === t4; + }, v = function(t4) { + var e3; + return e3 = window.getComputedStyle(t4).whiteSpace, e3 === "pre" || e3 === "pre-wrap" || e3 === "pre-line"; + }, C3 = function(t4) { + return t4 && !R(t4.textContent); + }, g.prototype.translateBlockElementMarginsToNewlines = function() { + var t4, e3, n3, i2, o3, r3, s3, a3; + for (e3 = this.getMarginOfDefaultBlockElement(), s3 = this.blocks, a3 = [], i2 = n3 = 0, o3 = s3.length; o3 > n3; i2 = ++n3) + t4 = s3[i2], (r3 = this.getMarginOfBlockElementAtIndex(i2)) && (r3.top > 2 * e3.top && this.prependStringToTextAtIndex("\n", i2), a3.push(r3.bottom > 2 * e3.bottom ? this.appendStringToTextAtIndex("\n", i2) : void 0)); + return a3; + }, g.prototype.getMarginOfBlockElementAtIndex = function(t4) { + var e3, n3; + return !(e3 = this.blockElements[t4]) || !e3.textContent || (n3 = l(e3), f.call(r2(), n3) >= 0 || f.call(this.processedElements, e3) >= 0) ? void 0 : y(e3); + }, g.prototype.getMarginOfDefaultBlockElement = function() { + var t4; + return t4 = s2(e2.config.blockAttributes["default"].tagName), this.containerElement.appendChild(t4), y(t4); + }, y = function(t4) { + var e3; + return e3 = window.getComputedStyle(t4), e3.display === "block" ? {top: parseInt(e3.marginTop), bottom: parseInt(e3.marginBottom)} : void 0; + }, A = function(t4) { + return t4.replace(RegExp("^" + n2.source + "+"), ""); + }, k = function(t4) { + return RegExp("^" + n2.source + "*$").test(t4); + }, R = function(t4) { + return /\s$/.test(t4); + }, g; + }(e2.BasicObject); + }.call(this), function() { + var t3, n2, i, o2, r2 = function(t4, e3) { + function n3() { + this.constructor = t4; + } + for (var i2 in e3) + s2.call(e3, i2) && (t4[i2] = e3[i2]); + return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; + }, s2 = {}.hasOwnProperty, a2 = [].slice, u = [].indexOf || function(t4) { + for (var e3 = 0, n3 = this.length; n3 > e3; e3++) + if (e3 in this && this[e3] === t4) + return e3; + return -1; + }; + t3 = e2.arraysAreEqual, i = e2.normalizeRange, o2 = e2.rangeIsCollapsed, n2 = e2.getBlockConfig, e2.Document = function(s3) { + function c2(t4) { + t4 == null && (t4 = []), c2.__super__.constructor.apply(this, arguments), t4.length === 0 && (t4 = [new e2.Block()]), this.blockList = e2.SplittableList.box(t4); + } + var l; + return r2(c2, s3), c2.fromJSON = function(t4) { + var n3, i2; + return i2 = function() { + var i3, o3, r3; + for (r3 = [], i3 = 0, o3 = t4.length; o3 > i3; i3++) + n3 = t4[i3], r3.push(e2.Block.fromJSON(n3)); + return r3; + }(), new this(i2); + }, c2.fromHTML = function(t4, n3) { + return e2.HTMLParser.parse(t4, n3).getDocument(); + }, c2.fromString = function(t4, n3) { + var i2; + return i2 = e2.Text.textForStringWithAttributes(t4, n3), new this([new e2.Block(i2)]); + }, c2.prototype.isEmpty = function() { + var t4; + return this.blockList.length === 1 && (t4 = this.getBlockAtIndex(0), t4.isEmpty() && !t4.hasAttributes()); + }, c2.prototype.copy = function(t4) { + var e3; + return t4 == null && (t4 = {}), e3 = t4.consolidateBlocks ? this.blockList.consolidate().toArray() : this.blockList.toArray(), new this.constructor(e3); + }, c2.prototype.copyUsingObjectsFromDocument = function(t4) { + var n3; + return n3 = new e2.ObjectMap(t4.getObjects()), this.copyUsingObjectMap(n3); + }, c2.prototype.copyUsingObjectMap = function(t4) { + var e3, n3, i2; + return n3 = function() { + var n4, o3, r3, s4; + for (r3 = this.getBlocks(), s4 = [], n4 = 0, o3 = r3.length; o3 > n4; n4++) + e3 = r3[n4], s4.push((i2 = t4.find(e3)) ? i2 : e3.copyUsingObjectMap(t4)); + return s4; + }.call(this), new this.constructor(n3); + }, c2.prototype.copyWithBaseBlockAttributes = function(t4) { + var e3, n3, i2; + return t4 == null && (t4 = []), i2 = function() { + var i3, o3, r3, s4; + for (r3 = this.getBlocks(), s4 = [], i3 = 0, o3 = r3.length; o3 > i3; i3++) + n3 = r3[i3], e3 = t4.concat(n3.getAttributes()), s4.push(n3.copyWithAttributes(e3)); + return s4; + }.call(this), new this.constructor(i2); + }, c2.prototype.replaceBlock = function(t4, e3) { + var n3; + return n3 = this.blockList.indexOf(t4), n3 === -1 ? this : new this.constructor(this.blockList.replaceObjectAtIndex(e3, n3)); + }, c2.prototype.insertDocumentAtRange = function(t4, e3) { + var n3, r3, s4, a3, u2, c3, l2; + return r3 = t4.blockList, u2 = (e3 = i(e3))[0], c3 = this.locationFromPosition(u2), s4 = c3.index, a3 = c3.offset, l2 = this, n3 = this.getBlockAtPosition(u2), o2(e3) && n3.isEmpty() && !n3.hasAttributes() ? l2 = new this.constructor(l2.blockList.removeObjectAtIndex(s4)) : n3.getBlockBreakPosition() === a3 && u2++, l2 = l2.removeTextAtRange(e3), new this.constructor(l2.blockList.insertSplittableListAtPosition(r3, u2)); + }, c2.prototype.mergeDocumentAtRange = function(e3, n3) { + var o3, r3, s4, a3, u2, c3, l2, h, p2, d, f, g; + return f = (n3 = i(n3))[0], d = this.locationFromPosition(f), r3 = this.getBlockAtIndex(d.index).getAttributes(), o3 = e3.getBaseBlockAttributes(), g = r3.slice(-o3.length), t3(o3, g) ? (l2 = r3.slice(0, -o3.length), c3 = e3.copyWithBaseBlockAttributes(l2)) : c3 = e3.copy({consolidateBlocks: true}).copyWithBaseBlockAttributes(r3), s4 = c3.getBlockCount(), a3 = c3.getBlockAtIndex(0), t3(r3, a3.getAttributes()) ? (u2 = a3.getTextWithoutBlockBreak(), p2 = this.insertTextAtRange(u2, n3), s4 > 1 && (c3 = new this.constructor(c3.getBlocks().slice(1)), h = f + u2.getLength(), p2 = p2.insertDocumentAtRange(c3, h))) : p2 = this.insertDocumentAtRange(c3, n3), p2; + }, c2.prototype.insertTextAtRange = function(t4, e3) { + var n3, o3, r3, s4, a3; + return a3 = (e3 = i(e3))[0], s4 = this.locationFromPosition(a3), o3 = s4.index, r3 = s4.offset, n3 = this.removeTextAtRange(e3), new this.constructor(n3.blockList.editObjectAtIndex(o3, function(e4) { + return e4.copyWithText(e4.text.insertTextAtPosition(t4, r3)); + })); + }, c2.prototype.removeTextAtRange = function(t4) { + var e3, n3, r3, s4, a3, u2, c3, l2, h, p2, d, f, g, m, v, y, b, A, C3, x, w; + return p2 = t4 = i(t4), l2 = p2[0], A = p2[1], o2(t4) ? this : (d = this.locationRangeFromRange(t4), u2 = d[0], y = d[1], a3 = u2.index, c3 = u2.offset, s4 = this.getBlockAtIndex(a3), v = y.index, b = y.offset, m = this.getBlockAtIndex(v), f = A - l2 === 1 && s4.getBlockBreakPosition() === c3 && m.getBlockBreakPosition() !== b && m.text.getStringAtPosition(b) === "\n", f ? r3 = this.blockList.editObjectAtIndex(v, function(t5) { + return t5.copyWithText(t5.text.removeTextAtRange([b, b + 1])); + }) : (h = s4.text.getTextAtRange([0, c3]), C3 = m.text.getTextAtRange([b, m.getLength()]), x = h.appendText(C3), g = a3 !== v && c3 === 0, w = g && s4.getAttributeLevel() >= m.getAttributeLevel(), n3 = w ? m.copyWithText(x) : s4.copyWithText(x), e3 = v + 1 - a3, r3 = this.blockList.splice(a3, e3, n3)), new this.constructor(r3)); + }, c2.prototype.moveTextFromRangeToPosition = function(t4, e3) { + var n3, o3, r3, s4, u2, c3, l2, h, p2, d; + return c3 = t4 = i(t4), p2 = c3[0], r3 = c3[1], e3 >= p2 && r3 >= e3 ? this : (o3 = this.getDocumentAtRange(t4), h = this.removeTextAtRange(t4), u2 = e3 > p2, u2 && (e3 -= o3.getLength()), l2 = o3.getBlocks(), s4 = l2[0], n3 = 2 <= l2.length ? a2.call(l2, 1) : [], n3.length === 0 ? (d = s4.getTextWithoutBlockBreak(), u2 && (e3 += 1)) : d = s4.text, h = h.insertTextAtRange(d, e3), n3.length === 0 ? h : (o3 = new this.constructor(n3), e3 += d.getLength(), h.insertDocumentAtRange(o3, e3))); + }, c2.prototype.addAttributeAtRange = function(t4, e3, i2) { + var o3; + return o3 = this.blockList, this.eachBlockAtRange(i2, function(i3, r3, s4) { + return o3 = o3.editObjectAtIndex(s4, function() { + return n2(t4) ? i3.addAttribute(t4, e3) : r3[0] === r3[1] ? i3 : i3.copyWithText(i3.text.addAttributeAtRange(t4, e3, r3)); + }); + }), new this.constructor(o3); + }, c2.prototype.addAttribute = function(t4, e3) { + var n3; + return n3 = this.blockList, this.eachBlock(function(i2, o3) { + return n3 = n3.editObjectAtIndex(o3, function() { + return i2.addAttribute(t4, e3); + }); + }), new this.constructor(n3); + }, c2.prototype.removeAttributeAtRange = function(t4, e3) { + var i2; + return i2 = this.blockList, this.eachBlockAtRange(e3, function(e4, o3, r3) { + return n2(t4) ? i2 = i2.editObjectAtIndex(r3, function() { + return e4.removeAttribute(t4); + }) : o3[0] !== o3[1] ? i2 = i2.editObjectAtIndex(r3, function() { + return e4.copyWithText(e4.text.removeAttributeAtRange(t4, o3)); + }) : void 0; + }), new this.constructor(i2); + }, c2.prototype.updateAttributesForAttachment = function(t4, e3) { + var n3, i2, o3, r3; + return o3 = (i2 = this.getRangeOfAttachment(e3))[0], n3 = this.locationFromPosition(o3).index, r3 = this.getTextAtIndex(n3), new this.constructor(this.blockList.editObjectAtIndex(n3, function(n4) { + return n4.copyWithText(r3.updateAttributesForAttachment(t4, e3)); + })); + }, c2.prototype.removeAttributeForAttachment = function(t4, e3) { + var n3; + return n3 = this.getRangeOfAttachment(e3), this.removeAttributeAtRange(t4, n3); + }, c2.prototype.insertBlockBreakAtRange = function(t4) { + var n3, o3, r3, s4; + return s4 = (t4 = i(t4))[0], r3 = this.locationFromPosition(s4).offset, o3 = this.removeTextAtRange(t4), r3 === 0 && (n3 = [new e2.Block()]), new this.constructor(o3.blockList.insertSplittableListAtPosition(new e2.SplittableList(n3), s4)); + }, c2.prototype.applyBlockAttributeAtRange = function(t4, e3, i2) { + var o3, r3, s4, a3; + return s4 = this.expandRangeToLineBreaksAndSplitBlocks(i2), r3 = s4.document, i2 = s4.range, o3 = n2(t4), o3.listAttribute ? (r3 = r3.removeLastListAttributeAtRange(i2, {exceptAttributeName: t4}), a3 = r3.convertLineBreaksToBlockBreaksInRange(i2), r3 = a3.document, i2 = a3.range) : r3 = o3.exclusive ? r3.removeBlockAttributesAtRange(i2) : o3.terminal ? r3.removeLastTerminalAttributeAtRange(i2) : r3.consolidateBlocksAtRange(i2), r3.addAttributeAtRange(t4, e3, i2); + }, c2.prototype.removeLastListAttributeAtRange = function(t4, e3) { + var i2; + return e3 == null && (e3 = {}), i2 = this.blockList, this.eachBlockAtRange(t4, function(t5, o3, r3) { + var s4; + if ((s4 = t5.getLastAttribute()) && n2(s4).listAttribute && s4 !== e3.exceptAttributeName) + return i2 = i2.editObjectAtIndex(r3, function() { + return t5.removeAttribute(s4); + }); + }), new this.constructor(i2); + }, c2.prototype.removeLastTerminalAttributeAtRange = function(t4) { + var e3; + return e3 = this.blockList, this.eachBlockAtRange(t4, function(t5, i2, o3) { + var r3; + if ((r3 = t5.getLastAttribute()) && n2(r3).terminal) + return e3 = e3.editObjectAtIndex(o3, function() { + return t5.removeAttribute(r3); + }); + }), new this.constructor(e3); + }, c2.prototype.removeBlockAttributesAtRange = function(t4) { + var e3; + return e3 = this.blockList, this.eachBlockAtRange(t4, function(t5, n3, i2) { + return t5.hasAttributes() ? e3 = e3.editObjectAtIndex(i2, function() { + return t5.copyWithoutAttributes(); + }) : void 0; + }), new this.constructor(e3); + }, c2.prototype.expandRangeToLineBreaksAndSplitBlocks = function(t4) { + var e3, n3, o3, r3, s4, a3, u2, c3, l2; + return a3 = t4 = i(t4), l2 = a3[0], r3 = a3[1], c3 = this.locationFromPosition(l2), o3 = this.locationFromPosition(r3), e3 = this, u2 = e3.getBlockAtIndex(c3.index), (c3.offset = u2.findLineBreakInDirectionFromPosition("backward", c3.offset)) != null && (s4 = e3.positionFromLocation(c3), e3 = e3.insertBlockBreakAtRange([s4, s4 + 1]), o3.index += 1, o3.offset -= e3.getBlockAtIndex(c3.index).getLength(), c3.index += 1), c3.offset = 0, o3.offset === 0 && o3.index > c3.index ? (o3.index -= 1, o3.offset = e3.getBlockAtIndex(o3.index).getBlockBreakPosition()) : (n3 = e3.getBlockAtIndex(o3.index), n3.text.getStringAtRange([o3.offset - 1, o3.offset]) === "\n" ? o3.offset -= 1 : o3.offset = n3.findLineBreakInDirectionFromPosition("forward", o3.offset), o3.offset !== n3.getBlockBreakPosition() && (s4 = e3.positionFromLocation(o3), e3 = e3.insertBlockBreakAtRange([s4, s4 + 1]))), l2 = e3.positionFromLocation(c3), r3 = e3.positionFromLocation(o3), t4 = i([l2, r3]), {document: e3, range: t4}; + }, c2.prototype.convertLineBreaksToBlockBreaksInRange = function(t4) { + var e3, n3, o3; + return n3 = (t4 = i(t4))[0], o3 = this.getStringAtRange(t4).slice(0, -1), e3 = this, o3.replace(/.*?\n/g, function(t5) { + return n3 += t5.length, e3 = e3.insertBlockBreakAtRange([n3 - 1, n3]); + }), {document: e3, range: t4}; + }, c2.prototype.consolidateBlocksAtRange = function(t4) { + var e3, n3, o3, r3, s4; + return o3 = t4 = i(t4), s4 = o3[0], n3 = o3[1], r3 = this.locationFromPosition(s4).index, e3 = this.locationFromPosition(n3).index, new this.constructor(this.blockList.consolidateFromIndexToIndex(r3, e3)); + }, c2.prototype.getDocumentAtRange = function(t4) { + var e3; + return t4 = i(t4), e3 = this.blockList.getSplittableListInRange(t4).toArray(), new this.constructor(e3); + }, c2.prototype.getStringAtRange = function(t4) { + var e3, n3, o3; + return o3 = t4 = i(t4), n3 = o3[o3.length - 1], n3 !== this.getLength() && (e3 = -1), this.getDocumentAtRange(t4).toString().slice(0, e3); + }, c2.prototype.getBlockAtIndex = function(t4) { + return this.blockList.getObjectAtIndex(t4); + }, c2.prototype.getBlockAtPosition = function(t4) { + var e3; + return e3 = this.locationFromPosition(t4).index, this.getBlockAtIndex(e3); + }, c2.prototype.getTextAtIndex = function(t4) { + var e3; + return (e3 = this.getBlockAtIndex(t4)) != null ? e3.text : void 0; + }, c2.prototype.getTextAtPosition = function(t4) { + var e3; + return e3 = this.locationFromPosition(t4).index, this.getTextAtIndex(e3); + }, c2.prototype.getPieceAtPosition = function(t4) { + var e3, n3, i2; + return i2 = this.locationFromPosition(t4), e3 = i2.index, n3 = i2.offset, this.getTextAtIndex(e3).getPieceAtPosition(n3); + }, c2.prototype.getCharacterAtPosition = function(t4) { + var e3, n3, i2; + return i2 = this.locationFromPosition(t4), e3 = i2.index, n3 = i2.offset, this.getTextAtIndex(e3).getStringAtRange([n3, n3 + 1]); + }, c2.prototype.getLength = function() { + return this.blockList.getEndPosition(); + }, c2.prototype.getBlocks = function() { + return this.blockList.toArray(); + }, c2.prototype.getBlockCount = function() { + return this.blockList.length; + }, c2.prototype.getEditCount = function() { + return this.editCount; + }, c2.prototype.eachBlock = function(t4) { + return this.blockList.eachObject(t4); + }, c2.prototype.eachBlockAtRange = function(t4, e3) { + var n3, o3, r3, s4, a3, u2, c3, l2, h, p2, d, f; + if (u2 = t4 = i(t4), d = u2[0], r3 = u2[1], p2 = this.locationFromPosition(d), o3 = this.locationFromPosition(r3), p2.index === o3.index) + return n3 = this.getBlockAtIndex(p2.index), f = [p2.offset, o3.offset], e3(n3, f, p2.index); + for (h = [], a3 = s4 = c3 = p2.index, l2 = o3.index; l2 >= c3 ? l2 >= s4 : s4 >= l2; a3 = l2 >= c3 ? ++s4 : --s4) + (n3 = this.getBlockAtIndex(a3)) ? (f = function() { + switch (a3) { + case p2.index: + return [p2.offset, n3.text.getLength()]; + case o3.index: + return [0, o3.offset]; + default: + return [0, n3.text.getLength()]; + } + }(), h.push(e3(n3, f, a3))) : h.push(void 0); + return h; + }, c2.prototype.getCommonAttributesAtRange = function(t4) { + var n3, r3, s4; + return r3 = (t4 = i(t4))[0], o2(t4) ? this.getCommonAttributesAtPosition(r3) : (s4 = [], n3 = [], this.eachBlockAtRange(t4, function(t5, e3) { + return e3[0] !== e3[1] ? (s4.push(t5.text.getCommonAttributesAtRange(e3)), n3.push(l(t5))) : void 0; + }), e2.Hash.fromCommonAttributesOfObjects(s4).merge(e2.Hash.fromCommonAttributesOfObjects(n3)).toObject()); + }, c2.prototype.getCommonAttributesAtPosition = function(t4) { + var n3, i2, o3, r3, s4, a3, c3, h, p2, d; + if (p2 = this.locationFromPosition(t4), s4 = p2.index, h = p2.offset, o3 = this.getBlockAtIndex(s4), !o3) + return {}; + r3 = l(o3), n3 = o3.text.getAttributesAtPosition(h), i2 = o3.text.getAttributesAtPosition(h - 1), a3 = function() { + var t5, n4; + t5 = e2.config.textAttributes, n4 = []; + for (c3 in t5) + d = t5[c3], d.inheritable && n4.push(c3); + return n4; + }(); + for (c3 in i2) + d = i2[c3], (d === n3[c3] || u.call(a3, c3) >= 0) && (r3[c3] = d); + return r3; + }, c2.prototype.getRangeOfCommonAttributeAtPosition = function(t4, e3) { + var n3, o3, r3, s4, a3, u2, c3, l2, h; + return a3 = this.locationFromPosition(e3), r3 = a3.index, s4 = a3.offset, h = this.getTextAtIndex(r3), u2 = h.getExpandedRangeForAttributeAtOffset(t4, s4), l2 = u2[0], o3 = u2[1], c3 = this.positionFromLocation({index: r3, offset: l2}), n3 = this.positionFromLocation({index: r3, offset: o3}), i([c3, n3]); + }, c2.prototype.getBaseBlockAttributes = function() { + var t4, e3, n3, i2, o3, r3, s4; + for (t4 = this.getBlockAtIndex(0).getAttributes(), n3 = i2 = 1, s4 = this.getBlockCount(); s4 >= 1 ? s4 > i2 : i2 > s4; n3 = s4 >= 1 ? ++i2 : --i2) + e3 = this.getBlockAtIndex(n3).getAttributes(), r3 = Math.min(t4.length, e3.length), t4 = function() { + var n4, i3, s5; + for (s5 = [], o3 = n4 = 0, i3 = r3; (i3 >= 0 ? i3 > n4 : n4 > i3) && e3[o3] === t4[o3]; o3 = i3 >= 0 ? ++n4 : --n4) + s5.push(e3[o3]); + return s5; + }(); + return t4; + }, l = function(t4) { + var e3, n3; + return n3 = {}, (e3 = t4.getLastAttribute()) && (n3[e3] = true), n3; + }, c2.prototype.getAttachmentById = function(t4) { + var e3, n3, i2, o3; + for (o3 = this.getAttachments(), n3 = 0, i2 = o3.length; i2 > n3; n3++) + if (e3 = o3[n3], e3.id === t4) + return e3; + }, c2.prototype.getAttachmentPieces = function() { + var t4; + return t4 = [], this.blockList.eachObject(function(e3) { + var n3; + return n3 = e3.text, t4 = t4.concat(n3.getAttachmentPieces()); + }), t4; + }, c2.prototype.getAttachments = function() { + var t4, e3, n3, i2, o3; + for (i2 = this.getAttachmentPieces(), o3 = [], t4 = 0, e3 = i2.length; e3 > t4; t4++) + n3 = i2[t4], o3.push(n3.attachment); + return o3; + }, c2.prototype.getRangeOfAttachment = function(t4) { + var e3, n3, o3, r3, s4, a3, u2; + for (r3 = 0, s4 = this.blockList.toArray(), n3 = e3 = 0, o3 = s4.length; o3 > e3; n3 = ++e3) { + if (a3 = s4[n3].text, u2 = a3.getRangeOfAttachment(t4)) + return i([r3 + u2[0], r3 + u2[1]]); + r3 += a3.getLength(); + } + }, c2.prototype.getLocationRangeOfAttachment = function(t4) { + var e3; + return e3 = this.getRangeOfAttachment(t4), this.locationRangeFromRange(e3); + }, c2.prototype.getAttachmentPieceForAttachment = function(t4) { + var e3, n3, i2, o3; + for (o3 = this.getAttachmentPieces(), e3 = 0, n3 = o3.length; n3 > e3; e3++) + if (i2 = o3[e3], i2.attachment === t4) + return i2; + }, c2.prototype.findRangesForBlockAttribute = function(t4) { + var e3, n3, i2, o3, r3, s4, a3; + for (r3 = 0, s4 = [], a3 = this.getBlocks(), n3 = 0, i2 = a3.length; i2 > n3; n3++) + e3 = a3[n3], o3 = e3.getLength(), e3.hasAttribute(t4) && s4.push([r3, r3 + o3]), r3 += o3; + return s4; + }, c2.prototype.findRangesForTextAttribute = function(t4, e3) { + var n3, i2, o3, r3, s4, a3, u2, c3, l2, h; + for (h = (e3 != null ? e3 : {}).withValue, a3 = 0, u2 = [], c3 = [], r3 = function(e4) { + return h != null ? e4.getAttribute(t4) === h : e4.hasAttribute(t4); + }, l2 = this.getPieces(), n3 = 0, i2 = l2.length; i2 > n3; n3++) + s4 = l2[n3], o3 = s4.getLength(), r3(s4) && (u2[1] === a3 ? u2[1] = a3 + o3 : c3.push(u2 = [a3, a3 + o3])), a3 += o3; + return c3; + }, c2.prototype.locationFromPosition = function(t4) { + var e3, n3; + return n3 = this.blockList.findIndexAndOffsetAtPosition(Math.max(0, t4)), n3.index != null ? n3 : (e3 = this.getBlocks(), {index: e3.length - 1, offset: e3[e3.length - 1].getLength()}); + }, c2.prototype.positionFromLocation = function(t4) { + return this.blockList.findPositionAtIndexAndOffset(t4.index, t4.offset); + }, c2.prototype.locationRangeFromPosition = function(t4) { + return i(this.locationFromPosition(t4)); + }, c2.prototype.locationRangeFromRange = function(t4) { + var e3, n3, o3, r3; + if (t4 = i(t4)) + return r3 = t4[0], n3 = t4[1], o3 = this.locationFromPosition(r3), e3 = this.locationFromPosition(n3), i([o3, e3]); + }, c2.prototype.rangeFromLocationRange = function(t4) { + var e3, n3; + return t4 = i(t4), e3 = this.positionFromLocation(t4[0]), o2(t4) || (n3 = this.positionFromLocation(t4[1])), i([e3, n3]); + }, c2.prototype.isEqualTo = function(t4) { + return this.blockList.isEqualTo(t4 != null ? t4.blockList : void 0); + }, c2.prototype.getTexts = function() { + var t4, e3, n3, i2, o3; + for (i2 = this.getBlocks(), o3 = [], e3 = 0, n3 = i2.length; n3 > e3; e3++) + t4 = i2[e3], o3.push(t4.text); + return o3; + }, c2.prototype.getPieces = function() { + var t4, e3, n3, i2, o3; + for (n3 = [], i2 = this.getTexts(), t4 = 0, e3 = i2.length; e3 > t4; t4++) + o3 = i2[t4], n3.push.apply(n3, o3.getPieces()); + return n3; + }, c2.prototype.getObjects = function() { + return this.getBlocks().concat(this.getTexts()).concat(this.getPieces()); + }, c2.prototype.toSerializableDocument = function() { + var t4; + return t4 = [], this.blockList.eachObject(function(e3) { + return t4.push(e3.copyWithText(e3.text.toSerializableText())); + }), new this.constructor(t4); + }, c2.prototype.toString = function() { + return this.blockList.toString(); + }, c2.prototype.toJSON = function() { + return this.blockList.toJSON(); + }, c2.prototype.toConsole = function() { + var t4; + return JSON.stringify(function() { + var e3, n3, i2, o3; + for (i2 = this.blockList.toArray(), o3 = [], e3 = 0, n3 = i2.length; n3 > e3; e3++) + t4 = i2[e3], o3.push(JSON.parse(t4.text.toConsole())); + return o3; + }.call(this)); + }, c2; + }(e2.Object); + }.call(this), function() { + e2.LineBreakInsertion = function() { + function t3(t4) { + var e3; + this.composition = t4, this.document = this.composition.document, e3 = this.composition.getSelectedRange(), this.startPosition = e3[0], this.endPosition = e3[1], this.startLocation = this.document.locationFromPosition(this.startPosition), this.endLocation = this.document.locationFromPosition(this.endPosition), this.block = this.document.getBlockAtIndex(this.endLocation.index), this.breaksOnReturn = this.block.breaksOnReturn(), this.previousCharacter = this.block.text.getStringAtPosition(this.endLocation.offset - 1), this.nextCharacter = this.block.text.getStringAtPosition(this.endLocation.offset); + } + return t3.prototype.shouldInsertBlockBreak = function() { + return this.block.hasAttributes() && this.block.isListItem() && !this.block.isEmpty() ? this.startLocation.offset !== 0 : this.breaksOnReturn && this.nextCharacter !== "\n"; + }, t3.prototype.shouldBreakFormattedBlock = function() { + return this.block.hasAttributes() && !this.block.isListItem() && (this.breaksOnReturn && this.nextCharacter === "\n" || this.previousCharacter === "\n"); + }, t3.prototype.shouldDecreaseListLevel = function() { + return this.block.hasAttributes() && this.block.isListItem() && this.block.isEmpty(); + }, t3.prototype.shouldPrependListItem = function() { + return this.block.isListItem() && this.startLocation.offset === 0 && !this.block.isEmpty(); + }, t3.prototype.shouldRemoveLastBlockAttribute = function() { + return this.block.hasAttributes() && !this.block.isListItem() && this.block.isEmpty(); + }, t3; + }(); + }.call(this), function() { + var t3, n2, i, o2, r2, s2, a2, u, c2, l, h = function(t4, e3) { + function n3() { + this.constructor = t4; + } + for (var i2 in e3) + p2.call(e3, i2) && (t4[i2] = e3[i2]); + return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; + }, p2 = {}.hasOwnProperty; + s2 = e2.normalizeRange, c2 = e2.rangesAreEqual, u = e2.rangeIsCollapsed, a2 = e2.objectsAreEqual, t3 = e2.arrayStartsWith, l = e2.summarizeArrayChange, i = e2.getAllAttributeNames, o2 = e2.getBlockConfig, r2 = e2.getTextConfig, n2 = e2.extend, e2.Composition = function(p3) { + function d() { + this.document = new e2.Document(), this.attachments = [], this.currentAttributes = {}, this.revision = 0; + } + var f; + return h(d, p3), d.prototype.setDocument = function(t4) { + var e3; + return t4.isEqualTo(this.document) ? void 0 : (this.document = t4, this.refreshAttachments(), this.revision++, (e3 = this.delegate) != null && typeof e3.compositionDidChangeDocument == "function" ? e3.compositionDidChangeDocument(t4) : void 0); + }, d.prototype.getSnapshot = function() { + return {document: this.document, selectedRange: this.getSelectedRange()}; + }, d.prototype.loadSnapshot = function(t4) { + var n3, i2, o3, r3; + return n3 = t4.document, r3 = t4.selectedRange, (i2 = this.delegate) != null && typeof i2.compositionWillLoadSnapshot == "function" && i2.compositionWillLoadSnapshot(), this.setDocument(n3 != null ? n3 : new e2.Document()), this.setSelection(r3 != null ? r3 : [0, 0]), (o3 = this.delegate) != null && typeof o3.compositionDidLoadSnapshot == "function" ? o3.compositionDidLoadSnapshot() : void 0; + }, d.prototype.insertText = function(t4, e3) { + var n3, i2, o3, r3; + return r3 = (e3 != null ? e3 : {updatePosition: true}).updatePosition, i2 = this.getSelectedRange(), this.setDocument(this.document.insertTextAtRange(t4, i2)), o3 = i2[0], n3 = o3 + t4.getLength(), r3 && this.setSelection(n3), this.notifyDelegateOfInsertionAtRange([o3, n3]); + }, d.prototype.insertBlock = function(t4) { + var n3; + return t4 == null && (t4 = new e2.Block()), n3 = new e2.Document([t4]), this.insertDocument(n3); + }, d.prototype.insertDocument = function(t4) { + var n3, i2, o3; + return t4 == null && (t4 = new e2.Document()), i2 = this.getSelectedRange(), this.setDocument(this.document.insertDocumentAtRange(t4, i2)), o3 = i2[0], n3 = o3 + t4.getLength(), this.setSelection(n3), this.notifyDelegateOfInsertionAtRange([o3, n3]); + }, d.prototype.insertString = function(t4, n3) { + var i2, o3; + return i2 = this.getCurrentTextAttributes(), o3 = e2.Text.textForStringWithAttributes(t4, i2), this.insertText(o3, n3); + }, d.prototype.insertBlockBreak = function() { + var t4, e3, n3; + return e3 = this.getSelectedRange(), this.setDocument(this.document.insertBlockBreakAtRange(e3)), n3 = e3[0], t4 = n3 + 1, this.setSelection(t4), this.notifyDelegateOfInsertionAtRange([n3, t4]); + }, d.prototype.insertLineBreak = function() { + var t4, n3; + return n3 = new e2.LineBreakInsertion(this), n3.shouldDecreaseListLevel() ? (this.decreaseListLevel(), this.setSelection(n3.startPosition)) : n3.shouldPrependListItem() ? (t4 = new e2.Document([n3.block.copyWithoutText()]), this.insertDocument(t4)) : n3.shouldInsertBlockBreak() ? this.insertBlockBreak() : n3.shouldRemoveLastBlockAttribute() ? this.removeLastBlockAttribute() : n3.shouldBreakFormattedBlock() ? this.breakFormattedBlock(n3) : this.insertString("\n"); + }, d.prototype.insertHTML = function(t4) { + var n3, i2, o3, r3; + return n3 = e2.Document.fromHTML(t4), o3 = this.getSelectedRange(), this.setDocument(this.document.mergeDocumentAtRange(n3, o3)), r3 = o3[0], i2 = r3 + n3.getLength() - 1, this.setSelection(i2), this.notifyDelegateOfInsertionAtRange([r3, i2]); + }, d.prototype.replaceHTML = function(t4) { + var n3, i2, o3; + return n3 = e2.Document.fromHTML(t4).copyUsingObjectsFromDocument(this.document), i2 = this.getLocationRange({strict: false}), o3 = this.document.rangeFromLocationRange(i2), this.setDocument(n3), this.setSelection(o3); + }, d.prototype.insertFile = function(t4) { + return this.insertFiles([t4]); + }, d.prototype.insertFiles = function(t4) { + var n3, i2, o3, r3, s3, a3; + for (i2 = [], r3 = 0, s3 = t4.length; s3 > r3; r3++) + o3 = t4[r3], ((a3 = this.delegate) != null ? a3.compositionShouldAcceptFile(o3) : void 0) && (n3 = e2.Attachment.attachmentForFile(o3), i2.push(n3)); + return this.insertAttachments(i2); + }, d.prototype.insertAttachment = function(t4) { + return this.insertAttachments([t4]); + }, d.prototype.insertAttachments = function(t4) { + var n3, i2, o3, r3, s3, a3, u2, c3, l2; + for (c3 = new e2.Text(), r3 = 0, s3 = t4.length; s3 > r3; r3++) + n3 = t4[r3], l2 = n3.getType(), a3 = (u2 = e2.config.attachments[l2]) != null ? u2.presentation : void 0, o3 = this.getCurrentTextAttributes(), a3 && (o3.presentation = a3), i2 = e2.Text.textForAttachmentWithAttributes(n3, o3), c3 = c3.appendText(i2); + return this.insertText(c3); + }, d.prototype.shouldManageDeletingInDirection = function(t4) { + var e3; + if (e3 = this.getLocationRange(), u(e3)) { + if (t4 === "backward" && e3[0].offset === 0) + return true; + if (this.shouldManageMovingCursorInDirection(t4)) + return true; + } else if (e3[0].index !== e3[1].index) + return true; + return false; + }, d.prototype.deleteInDirection = function(t4, e3) { + var n3, i2, o3, r3, s3, a3, c3, l2; + return r3 = (e3 != null ? e3 : {}).length, s3 = this.getLocationRange(), a3 = this.getSelectedRange(), c3 = u(a3), c3 ? o3 = t4 === "backward" && s3[0].offset === 0 : l2 = s3[0].index !== s3[1].index, o3 && this.canDecreaseBlockAttributeLevel() && (i2 = this.getBlock(), i2.isListItem() ? this.decreaseListLevel() : this.decreaseBlockAttributeLevel(), this.setSelection(a3[0]), i2.isEmpty()) ? false : (c3 && (a3 = this.getExpandedRangeInDirection(t4, {length: r3}), t4 === "backward" && (n3 = this.getAttachmentAtRange(a3))), n3 ? (this.editAttachment(n3), false) : (this.setDocument(this.document.removeTextAtRange(a3)), this.setSelection(a3[0]), o3 || l2 ? false : void 0)); + }, d.prototype.moveTextFromRange = function(t4) { + var e3; + return e3 = this.getSelectedRange()[0], this.setDocument(this.document.moveTextFromRangeToPosition(t4, e3)), this.setSelection(e3); + }, d.prototype.removeAttachment = function(t4) { + var e3; + return (e3 = this.document.getRangeOfAttachment(t4)) ? (this.stopEditingAttachment(), this.setDocument(this.document.removeTextAtRange(e3)), this.setSelection(e3[0])) : void 0; + }, d.prototype.removeLastBlockAttribute = function() { + var t4, e3, n3, i2; + return n3 = this.getSelectedRange(), i2 = n3[0], e3 = n3[1], t4 = this.document.getBlockAtPosition(e3), this.removeCurrentAttribute(t4.getLastAttribute()), this.setSelection(i2); + }, f = " ", d.prototype.insertPlaceholder = function() { + return this.placeholderPosition = this.getPosition(), this.insertString(f); + }, d.prototype.selectPlaceholder = function() { + return this.placeholderPosition != null ? (this.setSelectedRange([this.placeholderPosition, this.placeholderPosition + f.length]), this.getSelectedRange()) : void 0; + }, d.prototype.forgetPlaceholder = function() { + return this.placeholderPosition = null; + }, d.prototype.hasCurrentAttribute = function(t4) { + var e3; + return e3 = this.currentAttributes[t4], e3 != null && e3 !== false; + }, d.prototype.toggleCurrentAttribute = function(t4) { + var e3; + return (e3 = !this.currentAttributes[t4]) ? this.setCurrentAttribute(t4, e3) : this.removeCurrentAttribute(t4); + }, d.prototype.canSetCurrentAttribute = function(t4) { + return o2(t4) ? this.canSetCurrentBlockAttribute(t4) : this.canSetCurrentTextAttribute(t4); + }, d.prototype.canSetCurrentTextAttribute = function() { + var t4, e3, n3, i2, o3; + if (e3 = this.getSelectedDocument()) { + for (o3 = e3.getAttachments(), n3 = 0, i2 = o3.length; i2 > n3; n3++) + if (t4 = o3[n3], !t4.hasContent()) + return false; + return true; + } + }, d.prototype.canSetCurrentBlockAttribute = function() { + var t4; + if (t4 = this.getBlock()) + return !t4.isTerminalBlock(); + }, d.prototype.setCurrentAttribute = function(t4, e3) { + return o2(t4) ? this.setBlockAttribute(t4, e3) : (this.setTextAttribute(t4, e3), this.currentAttributes[t4] = e3, this.notifyDelegateOfCurrentAttributesChange()); + }, d.prototype.setTextAttribute = function(t4, n3) { + var i2, o3, r3, s3; + if (o3 = this.getSelectedRange()) + return r3 = o3[0], i2 = o3[1], r3 !== i2 ? this.setDocument(this.document.addAttributeAtRange(t4, n3, o3)) : t4 === "href" ? (s3 = e2.Text.textForStringWithAttributes(n3, {href: n3}), this.insertText(s3)) : void 0; + }, d.prototype.setBlockAttribute = function(t4, e3) { + var n3, i2; + if (i2 = this.getSelectedRange()) + return this.canSetCurrentAttribute(t4) ? (n3 = this.getBlock(), this.setDocument(this.document.applyBlockAttributeAtRange(t4, e3, i2)), this.setSelection(i2)) : void 0; + }, d.prototype.removeCurrentAttribute = function(t4) { + return o2(t4) ? (this.removeBlockAttribute(t4), this.updateCurrentAttributes()) : (this.removeTextAttribute(t4), delete this.currentAttributes[t4], this.notifyDelegateOfCurrentAttributesChange()); + }, d.prototype.removeTextAttribute = function(t4) { + var e3; + if (e3 = this.getSelectedRange()) + return this.setDocument(this.document.removeAttributeAtRange(t4, e3)); + }, d.prototype.removeBlockAttribute = function(t4) { + var e3; + if (e3 = this.getSelectedRange()) + return this.setDocument(this.document.removeAttributeAtRange(t4, e3)); + }, d.prototype.canDecreaseNestingLevel = function() { + var t4; + return ((t4 = this.getBlock()) != null ? t4.getNestingLevel() : void 0) > 0; + }, d.prototype.canIncreaseNestingLevel = function() { + var e3, n3, i2; + if (e3 = this.getBlock()) + return ((i2 = o2(e3.getLastNestableAttribute())) != null ? i2.listAttribute : 0) ? (n3 = this.getPreviousBlock()) ? t3(n3.getListItemAttributes(), e3.getListItemAttributes()) : void 0 : e3.getNestingLevel() > 0; + }, d.prototype.decreaseNestingLevel = function() { + var t4; + if (t4 = this.getBlock()) + return this.setDocument(this.document.replaceBlock(t4, t4.decreaseNestingLevel())); + }, d.prototype.increaseNestingLevel = function() { + var t4; + if (t4 = this.getBlock()) + return this.setDocument(this.document.replaceBlock(t4, t4.increaseNestingLevel())); + }, d.prototype.canDecreaseBlockAttributeLevel = function() { + var t4; + return ((t4 = this.getBlock()) != null ? t4.getAttributeLevel() : void 0) > 0; + }, d.prototype.decreaseBlockAttributeLevel = function() { + var t4, e3; + return (t4 = (e3 = this.getBlock()) != null ? e3.getLastAttribute() : void 0) ? this.removeCurrentAttribute(t4) : void 0; + }, d.prototype.decreaseListLevel = function() { + var t4, e3, n3, i2, o3, r3; + for (r3 = this.getSelectedRange()[0], o3 = this.document.locationFromPosition(r3).index, n3 = o3, t4 = this.getBlock().getAttributeLevel(); (e3 = this.document.getBlockAtIndex(n3 + 1)) && e3.isListItem() && e3.getAttributeLevel() > t4; ) + n3++; + return r3 = this.document.positionFromLocation({index: o3, offset: 0}), i2 = this.document.positionFromLocation({index: n3, offset: 0}), this.setDocument(this.document.removeLastListAttributeAtRange([r3, i2])); + }, d.prototype.updateCurrentAttributes = function() { + var t4, e3, n3, o3, r3, s3; + if (s3 = this.getSelectedRange({ignoreLock: true})) { + for (e3 = this.document.getCommonAttributesAtRange(s3), r3 = i(), n3 = 0, o3 = r3.length; o3 > n3; n3++) + t4 = r3[n3], e3[t4] || this.canSetCurrentAttribute(t4) || (e3[t4] = false); + if (!a2(e3, this.currentAttributes)) + return this.currentAttributes = e3, this.notifyDelegateOfCurrentAttributesChange(); + } + }, d.prototype.getCurrentAttributes = function() { + return n2.call({}, this.currentAttributes); + }, d.prototype.getCurrentTextAttributes = function() { + var t4, e3, n3, i2; + t4 = {}, n3 = this.currentAttributes; + for (e3 in n3) + i2 = n3[e3], i2 !== false && r2(e3) && (t4[e3] = i2); + return t4; + }, d.prototype.freezeSelection = function() { + return this.setCurrentAttribute("frozen", true); + }, d.prototype.thawSelection = function() { + return this.removeCurrentAttribute("frozen"); + }, d.prototype.hasFrozenSelection = function() { + return this.hasCurrentAttribute("frozen"); + }, d.proxyMethod("getSelectionManager().getPointRange"), d.proxyMethod("getSelectionManager().setLocationRangeFromPointRange"), d.proxyMethod("getSelectionManager().createLocationRangeFromDOMRange"), d.proxyMethod("getSelectionManager().locationIsCursorTarget"), d.proxyMethod("getSelectionManager().selectionIsExpanded"), d.proxyMethod("delegate?.getSelectionManager"), d.prototype.setSelection = function(t4) { + var e3, n3; + return e3 = this.document.locationRangeFromRange(t4), (n3 = this.delegate) != null ? n3.compositionDidRequestChangingSelectionToLocationRange(e3) : void 0; + }, d.prototype.getSelectedRange = function() { + var t4; + return (t4 = this.getLocationRange()) ? this.document.rangeFromLocationRange(t4) : void 0; + }, d.prototype.setSelectedRange = function(t4) { + var e3; + return e3 = this.document.locationRangeFromRange(t4), this.getSelectionManager().setLocationRange(e3); + }, d.prototype.getPosition = function() { + var t4; + return (t4 = this.getLocationRange()) ? this.document.positionFromLocation(t4[0]) : void 0; + }, d.prototype.getLocationRange = function(t4) { + var e3, n3; + return (e3 = (n3 = this.targetLocationRange) != null ? n3 : this.getSelectionManager().getLocationRange(t4)) != null ? e3 : s2({index: 0, offset: 0}); + }, d.prototype.withTargetLocationRange = function(t4, e3) { + var n3; + this.targetLocationRange = t4; + try { + n3 = e3(); + } finally { + this.targetLocationRange = null; + } + return n3; + }, d.prototype.withTargetRange = function(t4, e3) { + var n3; + return n3 = this.document.locationRangeFromRange(t4), this.withTargetLocationRange(n3, e3); + }, d.prototype.withTargetDOMRange = function(t4, e3) { + var n3; + return n3 = this.createLocationRangeFromDOMRange(t4, {strict: false}), this.withTargetLocationRange(n3, e3); + }, d.prototype.getExpandedRangeInDirection = function(t4, e3) { + var n3, i2, o3, r3; + return i2 = (e3 != null ? e3 : {}).length, o3 = this.getSelectedRange(), r3 = o3[0], n3 = o3[1], t4 === "backward" ? i2 ? r3 -= i2 : r3 = this.translateUTF16PositionFromOffset(r3, -1) : i2 ? n3 += i2 : n3 = this.translateUTF16PositionFromOffset(n3, 1), s2([r3, n3]); + }, d.prototype.shouldManageMovingCursorInDirection = function(t4) { + var e3; + return this.editingAttachment ? true : (e3 = this.getExpandedRangeInDirection(t4), this.getAttachmentAtRange(e3) != null); + }, d.prototype.moveCursorInDirection = function(t4) { + var e3, n3, i2, o3; + return this.editingAttachment ? i2 = this.document.getRangeOfAttachment(this.editingAttachment) : (o3 = this.getSelectedRange(), i2 = this.getExpandedRangeInDirection(t4), n3 = !c2(o3, i2)), this.setSelectedRange(t4 === "backward" ? i2[0] : i2[1]), n3 && (e3 = this.getAttachmentAtRange(i2)) ? this.editAttachment(e3) : void 0; + }, d.prototype.expandSelectionInDirection = function(t4, e3) { + var n3, i2; + return n3 = (e3 != null ? e3 : {}).length, i2 = this.getExpandedRangeInDirection(t4, {length: n3}), this.setSelectedRange(i2); + }, d.prototype.expandSelectionForEditing = function() { + return this.hasCurrentAttribute("href") ? this.expandSelectionAroundCommonAttribute("href") : void 0; + }, d.prototype.expandSelectionAroundCommonAttribute = function(t4) { + var e3, n3; + return e3 = this.getPosition(), n3 = this.document.getRangeOfCommonAttributeAtPosition(t4, e3), this.setSelectedRange(n3); + }, d.prototype.selectionContainsAttachments = function() { + var t4; + return ((t4 = this.getSelectedAttachments()) != null ? t4.length : void 0) > 0; + }, d.prototype.selectionIsInCursorTarget = function() { + return this.editingAttachment || this.positionIsCursorTarget(this.getPosition()); + }, d.prototype.positionIsCursorTarget = function(t4) { + var e3; + return (e3 = this.document.locationFromPosition(t4)) ? this.locationIsCursorTarget(e3) : void 0; + }, d.prototype.positionIsBlockBreak = function(t4) { + var e3; + return (e3 = this.document.getPieceAtPosition(t4)) != null ? e3.isBlockBreak() : void 0; + }, d.prototype.getSelectedDocument = function() { + var t4; + return (t4 = this.getSelectedRange()) ? this.document.getDocumentAtRange(t4) : void 0; + }, d.prototype.getSelectedAttachments = function() { + var t4; + return (t4 = this.getSelectedDocument()) != null ? t4.getAttachments() : void 0; + }, d.prototype.getAttachments = function() { + return this.attachments.slice(0); + }, d.prototype.refreshAttachments = function() { + var t4, e3, n3, i2, o3, r3, s3, a3, u2, c3, h2, p4; + for (n3 = this.document.getAttachments(), a3 = l(this.attachments, n3), t4 = a3.added, h2 = a3.removed, this.attachments = n3, i2 = 0, r3 = h2.length; r3 > i2; i2++) + e3 = h2[i2], e3.delegate = null, (u2 = this.delegate) != null && typeof u2.compositionDidRemoveAttachment == "function" && u2.compositionDidRemoveAttachment(e3); + for (p4 = [], o3 = 0, s3 = t4.length; s3 > o3; o3++) + e3 = t4[o3], e3.delegate = this, p4.push((c3 = this.delegate) != null && typeof c3.compositionDidAddAttachment == "function" ? c3.compositionDidAddAttachment(e3) : void 0); + return p4; + }, d.prototype.attachmentDidChangeAttributes = function(t4) { + var e3; + return this.revision++, (e3 = this.delegate) != null && typeof e3.compositionDidEditAttachment == "function" ? e3.compositionDidEditAttachment(t4) : void 0; + }, d.prototype.attachmentDidChangePreviewURL = function(t4) { + var e3; + return this.revision++, (e3 = this.delegate) != null && typeof e3.compositionDidChangeAttachmentPreviewURL == "function" ? e3.compositionDidChangeAttachmentPreviewURL(t4) : void 0; + }, d.prototype.editAttachment = function(t4, e3) { + var n3; + if (t4 !== this.editingAttachment) + return this.stopEditingAttachment(), this.editingAttachment = t4, (n3 = this.delegate) != null && typeof n3.compositionDidStartEditingAttachment == "function" ? n3.compositionDidStartEditingAttachment(this.editingAttachment, e3) : void 0; + }, d.prototype.stopEditingAttachment = function() { + var t4; + if (this.editingAttachment) + return (t4 = this.delegate) != null && typeof t4.compositionDidStopEditingAttachment == "function" && t4.compositionDidStopEditingAttachment(this.editingAttachment), this.editingAttachment = null; + }, d.prototype.updateAttributesForAttachment = function(t4, e3) { + return this.setDocument(this.document.updateAttributesForAttachment(t4, e3)); + }, d.prototype.removeAttributeForAttachment = function(t4, e3) { + return this.setDocument(this.document.removeAttributeForAttachment(t4, e3)); + }, d.prototype.breakFormattedBlock = function(t4) { + var n3, i2, o3, r3, s3; + return i2 = t4.document, n3 = t4.block, r3 = t4.startPosition, s3 = [r3 - 1, r3], n3.getBlockBreakPosition() === t4.startLocation.offset ? (n3.breaksOnReturn() && t4.nextCharacter === "\n" ? r3 += 1 : i2 = i2.removeTextAtRange(s3), s3 = [r3, r3]) : t4.nextCharacter === "\n" ? t4.previousCharacter === "\n" ? s3 = [r3 - 1, r3 + 1] : (s3 = [r3, r3 + 1], r3 += 1) : t4.startLocation.offset - 1 !== 0 && (r3 += 1), o3 = new e2.Document([n3.removeLastAttribute().copyWithoutText()]), this.setDocument(i2.insertDocumentAtRange(o3, s3)), this.setSelection(r3); + }, d.prototype.getPreviousBlock = function() { + var t4, e3; + return (e3 = this.getLocationRange()) && (t4 = e3[0].index, t4 > 0) ? this.document.getBlockAtIndex(t4 - 1) : void 0; + }, d.prototype.getBlock = function() { + var t4; + return (t4 = this.getLocationRange()) ? this.document.getBlockAtIndex(t4[0].index) : void 0; + }, d.prototype.getAttachmentAtRange = function(t4) { + var n3; + return n3 = this.document.getDocumentAtRange(t4), n3.toString() === e2.OBJECT_REPLACEMENT_CHARACTER + "\n" ? n3.getAttachments()[0] : void 0; + }, d.prototype.notifyDelegateOfCurrentAttributesChange = function() { + var t4; + return (t4 = this.delegate) != null && typeof t4.compositionDidChangeCurrentAttributes == "function" ? t4.compositionDidChangeCurrentAttributes(this.currentAttributes) : void 0; + }, d.prototype.notifyDelegateOfInsertionAtRange = function(t4) { + var e3; + return (e3 = this.delegate) != null && typeof e3.compositionDidPerformInsertionAtRange == "function" ? e3.compositionDidPerformInsertionAtRange(t4) : void 0; + }, d.prototype.translateUTF16PositionFromOffset = function(t4, e3) { + var n3, i2; + return i2 = this.document.toUTF16String(), n3 = i2.offsetFromUCS2Offset(t4), i2.offsetToUCS2Offset(n3 + e3); + }, d; + }(e2.BasicObject); + }.call(this), function() { + var t3 = function(t4, e3) { + function i() { + this.constructor = t4; + } + for (var o2 in e3) + n2.call(e3, o2) && (t4[o2] = e3[o2]); + return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; + }, n2 = {}.hasOwnProperty; + e2.UndoManager = function(e3) { + function n3(t4) { + this.composition = t4, this.undoEntries = [], this.redoEntries = []; + } + var i; + return t3(n3, e3), n3.prototype.recordUndoEntry = function(t4, e4) { + var n4, o2, r2, s2, a2; + return s2 = e4 != null ? e4 : {}, o2 = s2.context, n4 = s2.consolidatable, r2 = this.undoEntries.slice(-1)[0], n4 && i(r2, t4, o2) ? void 0 : (a2 = this.createEntry({description: t4, context: o2}), this.undoEntries.push(a2), this.redoEntries = []); + }, n3.prototype.undo = function() { + var t4, e4; + return (e4 = this.undoEntries.pop()) ? (t4 = this.createEntry(e4), this.redoEntries.push(t4), this.composition.loadSnapshot(e4.snapshot)) : void 0; + }, n3.prototype.redo = function() { + var t4, e4; + return (t4 = this.redoEntries.pop()) ? (e4 = this.createEntry(t4), this.undoEntries.push(e4), this.composition.loadSnapshot(t4.snapshot)) : void 0; + }, n3.prototype.canUndo = function() { + return this.undoEntries.length > 0; + }, n3.prototype.canRedo = function() { + return this.redoEntries.length > 0; + }, n3.prototype.createEntry = function(t4) { + var e4, n4, i2; + return i2 = t4 != null ? t4 : {}, n4 = i2.description, e4 = i2.context, {description: n4 != null ? n4.toString() : void 0, context: JSON.stringify(e4), snapshot: this.composition.getSnapshot()}; + }, i = function(t4, e4, n4) { + return (t4 != null ? t4.description : void 0) === (e4 != null ? e4.toString() : void 0) && (t4 != null ? t4.context : void 0) === JSON.stringify(n4); + }, n3; + }(e2.BasicObject); + }.call(this), function() { + var t3; + e2.attachmentGalleryFilter = function(e3) { + var n2; + return n2 = new t3(e3), n2.perform(), n2.getSnapshot(); + }, t3 = function() { + function t4(t5) { + this.document = t5.document, this.selectedRange = t5.selectedRange; + } + var e3, n2, i; + return e3 = "attachmentGallery", n2 = "presentation", i = "gallery", t4.prototype.perform = function() { + return this.removeBlockAttribute(), this.applyBlockAttribute(); + }, t4.prototype.getSnapshot = function() { + return {document: this.document, selectedRange: this.selectedRange}; + }, t4.prototype.removeBlockAttribute = function() { + var t5, n3, i2, o2, r2; + for (o2 = this.findRangesOfBlocks(), r2 = [], t5 = 0, n3 = o2.length; n3 > t5; t5++) + i2 = o2[t5], r2.push(this.document = this.document.removeAttributeAtRange(e3, i2)); + return r2; + }, t4.prototype.applyBlockAttribute = function() { + var t5, n3, i2, o2, r2, s2; + for (i2 = 0, r2 = this.findRangesOfPieces(), s2 = [], t5 = 0, n3 = r2.length; n3 > t5; t5++) + o2 = r2[t5], o2[1] - o2[0] > 1 && (o2[0] += i2, o2[1] += i2, this.document.getCharacterAtPosition(o2[1]) !== "\n" && (this.document = this.document.insertBlockBreakAtRange(o2[1]), o2[1] < this.selectedRange[1] && this.moveSelectedRangeForward(), o2[1]++, i2++), o2[0] !== 0 && this.document.getCharacterAtPosition(o2[0] - 1) !== "\n" && (this.document = this.document.insertBlockBreakAtRange(o2[0]), o2[0] < this.selectedRange[0] && this.moveSelectedRangeForward(), o2[0]++, i2++), s2.push(this.document = this.document.applyBlockAttributeAtRange(e3, true, o2))); + return s2; + }, t4.prototype.findRangesOfBlocks = function() { + return this.document.findRangesForBlockAttribute(e3); + }, t4.prototype.findRangesOfPieces = function() { + return this.document.findRangesForTextAttribute(n2, {withValue: i}); + }, t4.prototype.moveSelectedRangeForward = function() { + return this.selectedRange[0] += 1, this.selectedRange[1] += 1; + }, t4; + }(); + }.call(this), function() { + var t3 = function(t4, e3) { + return function() { + return t4.apply(e3, arguments); + }; + }; + e2.Editor = function() { + function n2(n3, o2, r2) { + this.composition = n3, this.selectionManager = o2, this.element = r2, this.insertFiles = t3(this.insertFiles, this), this.undoManager = new e2.UndoManager(this.composition), this.filters = i.slice(0); + } + var i; + return i = [e2.attachmentGalleryFilter], n2.prototype.loadDocument = function(t4) { + return this.loadSnapshot({document: t4, selectedRange: [0, 0]}); + }, n2.prototype.loadHTML = function(t4) { + return t4 == null && (t4 = ""), this.loadDocument(e2.Document.fromHTML(t4, {referenceElement: this.element})); + }, n2.prototype.loadJSON = function(t4) { + var n3, i2; + return n3 = t4.document, i2 = t4.selectedRange, n3 = e2.Document.fromJSON(n3), this.loadSnapshot({document: n3, selectedRange: i2}); + }, n2.prototype.loadSnapshot = function(t4) { + return this.undoManager = new e2.UndoManager(this.composition), this.composition.loadSnapshot(t4); + }, n2.prototype.getDocument = function() { + return this.composition.document; + }, n2.prototype.getSelectedDocument = function() { + return this.composition.getSelectedDocument(); + }, n2.prototype.getSnapshot = function() { + return this.composition.getSnapshot(); + }, n2.prototype.toJSON = function() { + return this.getSnapshot(); + }, n2.prototype.deleteInDirection = function(t4) { + return this.composition.deleteInDirection(t4); + }, n2.prototype.insertAttachment = function(t4) { + return this.composition.insertAttachment(t4); + }, n2.prototype.insertAttachments = function(t4) { + return this.composition.insertAttachments(t4); + }, n2.prototype.insertDocument = function(t4) { + return this.composition.insertDocument(t4); + }, n2.prototype.insertFile = function(t4) { + return this.composition.insertFile(t4); + }, n2.prototype.insertFiles = function(t4) { + return this.composition.insertFiles(t4); + }, n2.prototype.insertHTML = function(t4) { + return this.composition.insertHTML(t4); + }, n2.prototype.insertString = function(t4) { + return this.composition.insertString(t4); + }, n2.prototype.insertText = function(t4) { + return this.composition.insertText(t4); + }, n2.prototype.insertLineBreak = function() { + return this.composition.insertLineBreak(); + }, n2.prototype.getSelectedRange = function() { + return this.composition.getSelectedRange(); + }, n2.prototype.getPosition = function() { + return this.composition.getPosition(); + }, n2.prototype.getClientRectAtPosition = function(t4) { + var e3; + return e3 = this.getDocument().locationRangeFromRange([t4, t4 + 1]), this.selectionManager.getClientRectAtLocationRange(e3); + }, n2.prototype.expandSelectionInDirection = function(t4) { + return this.composition.expandSelectionInDirection(t4); + }, n2.prototype.moveCursorInDirection = function(t4) { + return this.composition.moveCursorInDirection(t4); + }, n2.prototype.setSelectedRange = function(t4) { + return this.composition.setSelectedRange(t4); + }, n2.prototype.activateAttribute = function(t4, e3) { + return e3 == null && (e3 = true), this.composition.setCurrentAttribute(t4, e3); + }, n2.prototype.attributeIsActive = function(t4) { + return this.composition.hasCurrentAttribute(t4); + }, n2.prototype.canActivateAttribute = function(t4) { + return this.composition.canSetCurrentAttribute(t4); + }, n2.prototype.deactivateAttribute = function(t4) { + return this.composition.removeCurrentAttribute(t4); + }, n2.prototype.canDecreaseNestingLevel = function() { + return this.composition.canDecreaseNestingLevel(); + }, n2.prototype.canIncreaseNestingLevel = function() { + return this.composition.canIncreaseNestingLevel(); + }, n2.prototype.decreaseNestingLevel = function() { + return this.canDecreaseNestingLevel() ? this.composition.decreaseNestingLevel() : void 0; + }, n2.prototype.increaseNestingLevel = function() { + return this.canIncreaseNestingLevel() ? this.composition.increaseNestingLevel() : void 0; + }, n2.prototype.canRedo = function() { + return this.undoManager.canRedo(); + }, n2.prototype.canUndo = function() { + return this.undoManager.canUndo(); + }, n2.prototype.recordUndoEntry = function(t4, e3) { + var n3, i2, o2; + return o2 = e3 != null ? e3 : {}, i2 = o2.context, n3 = o2.consolidatable, this.undoManager.recordUndoEntry(t4, {context: i2, consolidatable: n3}); + }, n2.prototype.redo = function() { + return this.canRedo() ? this.undoManager.redo() : void 0; + }, n2.prototype.undo = function() { + return this.canUndo() ? this.undoManager.undo() : void 0; + }, n2; + }(); + }.call(this), function() { + var t3 = function(t4, e3) { + function i() { + this.constructor = t4; + } + for (var o2 in e3) + n2.call(e3, o2) && (t4[o2] = e3[o2]); + return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; + }, n2 = {}.hasOwnProperty; + e2.ManagedAttachment = function(e3) { + function n3(t4, e4) { + var n4; + this.attachmentManager = t4, this.attachment = e4, n4 = this.attachment, this.id = n4.id, this.file = n4.file; + } + return t3(n3, e3), n3.prototype.remove = function() { + return this.attachmentManager.requestRemovalOfAttachment(this.attachment); + }, n3.proxyMethod("attachment.getAttribute"), n3.proxyMethod("attachment.hasAttribute"), n3.proxyMethod("attachment.setAttribute"), n3.proxyMethod("attachment.getAttributes"), n3.proxyMethod("attachment.setAttributes"), n3.proxyMethod("attachment.isPending"), n3.proxyMethod("attachment.isPreviewable"), n3.proxyMethod("attachment.getURL"), n3.proxyMethod("attachment.getHref"), n3.proxyMethod("attachment.getFilename"), n3.proxyMethod("attachment.getFilesize"), n3.proxyMethod("attachment.getFormattedFilesize"), n3.proxyMethod("attachment.getExtension"), n3.proxyMethod("attachment.getContentType"), n3.proxyMethod("attachment.getFile"), n3.proxyMethod("attachment.setFile"), n3.proxyMethod("attachment.releaseFile"), n3.proxyMethod("attachment.getUploadProgress"), n3.proxyMethod("attachment.setUploadProgress"), n3; + }(e2.BasicObject); + }.call(this), function() { + var t3 = function(t4, e3) { + function i() { + this.constructor = t4; + } + for (var o2 in e3) + n2.call(e3, o2) && (t4[o2] = e3[o2]); + return i.prototype = e3.prototype, t4.prototype = new i(), t4.__super__ = e3.prototype, t4; + }, n2 = {}.hasOwnProperty; + e2.AttachmentManager = function(n3) { + function i(t4) { + var e3, n4, i2; + for (t4 == null && (t4 = []), this.managedAttachments = {}, n4 = 0, i2 = t4.length; i2 > n4; n4++) + e3 = t4[n4], this.manageAttachment(e3); + } + return t3(i, n3), i.prototype.getAttachments = function() { + var t4, e3, n4, i2; + n4 = this.managedAttachments, i2 = []; + for (e3 in n4) + t4 = n4[e3], i2.push(t4); + return i2; + }, i.prototype.manageAttachment = function(t4) { + var n4, i2; + return (n4 = this.managedAttachments)[i2 = t4.id] != null ? n4[i2] : n4[i2] = new e2.ManagedAttachment(this, t4); + }, i.prototype.attachmentIsManaged = function(t4) { + return t4.id in this.managedAttachments; + }, i.prototype.requestRemovalOfAttachment = function(t4) { + var e3; + return this.attachmentIsManaged(t4) && (e3 = this.delegate) != null && typeof e3.attachmentManagerDidRequestRemovalOfAttachment == "function" ? e3.attachmentManagerDidRequestRemovalOfAttachment(t4) : void 0; + }, i.prototype.unmanageAttachment = function(t4) { + var e3; + return e3 = this.managedAttachments[t4.id], delete this.managedAttachments[t4.id], e3; + }, i; + }(e2.BasicObject); + }.call(this), function() { + var t3, n2, i, o2, r2, s2, a2, u, c2, l, h; + t3 = e2.elementContainsNode, n2 = e2.findChildIndexOfNode, r2 = e2.nodeIsBlockStart, s2 = e2.nodeIsBlockStartComment, o2 = e2.nodeIsBlockContainer, a2 = e2.nodeIsCursorTarget, u = e2.nodeIsEmptyTextNode, c2 = e2.nodeIsTextNode, i = e2.nodeIsAttachmentElement, l = e2.tagName, h = e2.walkTree, e2.LocationMapper = function() { + function e3(t4) { + this.element = t4; + } + var p2, d, f, g; + return e3.prototype.findLocationFromContainerAndOffset = function(e4, i2, o3) { + var s3, u2, l2, p3, g2, m, v; + for (m = (o3 != null ? o3 : {strict: true}).strict, u2 = 0, l2 = false, p3 = {index: 0, offset: 0}, (s3 = this.findAttachmentElementParentForNode(e4)) && (e4 = s3.parentNode, i2 = n2(s3)), v = h(this.element, {usingFilter: f}); v.nextNode(); ) { + if (g2 = v.currentNode, g2 === e4 && c2(e4)) { + a2(g2) || (p3.offset += i2); + break; + } + if (g2.parentNode === e4) { + if (u2++ === i2) + break; + } else if (!t3(e4, g2) && u2 > 0) + break; + r2(g2, {strict: m}) ? (l2 && p3.index++, p3.offset = 0, l2 = true) : p3.offset += d(g2); + } + return p3; + }, e3.prototype.findContainerAndOffsetFromLocation = function(t4) { + var e4, i2, s3, u2, l2; + if (t4.index === 0 && t4.offset === 0) { + for (e4 = this.element, u2 = 0; e4.firstChild; ) + if (e4 = e4.firstChild, o2(e4)) { + u2 = 1; + break; + } + return [e4, u2]; + } + if (l2 = this.findNodeAndOffsetFromLocation(t4), i2 = l2[0], s3 = l2[1], i2) { + if (c2(i2)) + d(i2) === 0 ? (e4 = i2.parentNode.parentNode, u2 = n2(i2.parentNode), a2(i2, {name: "right"}) && u2++) : (e4 = i2, u2 = t4.offset - s3); + else { + if (e4 = i2.parentNode, !r2(i2.previousSibling) && !o2(e4)) + for (; i2 === e4.lastChild && (i2 = e4, e4 = e4.parentNode, !o2(e4)); ) + ; + u2 = n2(i2), t4.offset !== 0 && u2++; + } + return [e4, u2]; + } + }, e3.prototype.findNodeAndOffsetFromLocation = function(t4) { + var e4, n3, i2, o3, r3, s3, u2, l2; + for (u2 = 0, l2 = this.getSignificantNodesForIndex(t4.index), n3 = 0, i2 = l2.length; i2 > n3; n3++) { + if (e4 = l2[n3], o3 = d(e4), t4.offset <= u2 + o3) + if (c2(e4)) { + if (r3 = e4, s3 = u2, t4.offset === s3 && a2(r3)) + break; + } else + r3 || (r3 = e4, s3 = u2); + if (u2 += o3, u2 > t4.offset) + break; + } + return [r3, s3]; + }, e3.prototype.findAttachmentElementParentForNode = function(t4) { + for (; t4 && t4 !== this.element; ) { + if (i(t4)) + return t4; + t4 = t4.parentNode; + } + }, e3.prototype.getSignificantNodesForIndex = function(t4) { + var e4, n3, i2, o3, r3; + for (i2 = [], r3 = h(this.element, {usingFilter: p2}), o3 = false; r3.nextNode(); ) + if (n3 = r3.currentNode, s2(n3)) { + if (typeof e4 != "undefined" && e4 !== null ? e4++ : e4 = 0, e4 === t4) + o3 = true; + else if (o3) + break; + } else + o3 && i2.push(n3); + return i2; + }, d = function(t4) { + var e4; + return t4.nodeType === Node.TEXT_NODE ? a2(t4) ? 0 : (e4 = t4.textContent, e4.length) : l(t4) === "br" || i(t4) ? 1 : 0; + }, p2 = function(t4) { + return g(t4) === NodeFilter.FILTER_ACCEPT ? f(t4) : NodeFilter.FILTER_REJECT; + }, g = function(t4) { + return u(t4) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT; + }, f = function(t4) { + return i(t4.parentNode) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT; + }, e3; + }(); + }.call(this), function() { + var t3, n2, i = [].slice; + t3 = e2.getDOMRange, n2 = e2.setDOMRange, e2.PointMapper = function() { + function e3() { + } + return e3.prototype.createDOMRangeFromPoint = function(e4) { + var i2, o2, r2, s2, a2, u, c2, l; + if (c2 = e4.x, l = e4.y, document.caretPositionFromPoint) + return a2 = document.caretPositionFromPoint(c2, l), r2 = a2.offsetNode, o2 = a2.offset, i2 = document.createRange(), i2.setStart(r2, o2), i2; + if (document.caretRangeFromPoint) + return document.caretRangeFromPoint(c2, l); + if (document.body.createTextRange) { + s2 = t3(); + try { + u = document.body.createTextRange(), u.moveToPoint(c2, l), u.select(); + } catch (h) { + } + return i2 = t3(), n2(s2), i2; + } + }, e3.prototype.getClientRectsForDOMRange = function(t4) { + var e4, n3, o2; + return n3 = i.call(t4.getClientRects()), o2 = n3[0], e4 = n3[n3.length - 1], [o2, e4]; + }, e3; + }(); + }.call(this), function() { + var t3, n2 = function(t4, e3) { + return function() { + return t4.apply(e3, arguments); + }; + }, i = function(t4, e3) { + function n3() { + this.constructor = t4; + } + for (var i2 in e3) + o2.call(e3, i2) && (t4[i2] = e3[i2]); + return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; + }, o2 = {}.hasOwnProperty, r2 = [].indexOf || function(t4) { + for (var e3 = 0, n3 = this.length; n3 > e3; e3++) + if (e3 in this && this[e3] === t4) + return e3; + return -1; + }; + t3 = e2.getDOMRange, e2.SelectionChangeObserver = function(e3) { + function o3() { + this.run = n2(this.run, this), this.update = n2(this.update, this), this.selectionManagers = []; + } + var s2; + return i(o3, e3), o3.prototype.start = function() { + return this.started ? void 0 : (this.started = true, "onselectionchange" in document ? document.addEventListener("selectionchange", this.update, true) : this.run()); + }, o3.prototype.stop = function() { + return this.started ? (this.started = false, document.removeEventListener("selectionchange", this.update, true)) : void 0; + }, o3.prototype.registerSelectionManager = function(t4) { + return r2.call(this.selectionManagers, t4) < 0 ? (this.selectionManagers.push(t4), this.start()) : void 0; + }, o3.prototype.unregisterSelectionManager = function(t4) { + var e4; + return this.selectionManagers = function() { + var n3, i2, o4, r3; + for (o4 = this.selectionManagers, r3 = [], n3 = 0, i2 = o4.length; i2 > n3; n3++) + e4 = o4[n3], e4 !== t4 && r3.push(e4); + return r3; + }.call(this), this.selectionManagers.length === 0 ? this.stop() : void 0; + }, o3.prototype.notifySelectionManagersOfSelectionChange = function() { + var t4, e4, n3, i2, o4; + for (n3 = this.selectionManagers, i2 = [], t4 = 0, e4 = n3.length; e4 > t4; t4++) + o4 = n3[t4], i2.push(o4.selectionDidChange()); + return i2; + }, o3.prototype.update = function() { + var e4; + return e4 = t3(), s2(e4, this.domRange) ? void 0 : (this.domRange = e4, this.notifySelectionManagersOfSelectionChange()); + }, o3.prototype.reset = function() { + return this.domRange = null, this.update(); + }, o3.prototype.run = function() { + return this.started ? (this.update(), requestAnimationFrame(this.run)) : void 0; + }, s2 = function(t4, e4) { + return (t4 != null ? t4.startContainer : void 0) === (e4 != null ? e4.startContainer : void 0) && (t4 != null ? t4.startOffset : void 0) === (e4 != null ? e4.startOffset : void 0) && (t4 != null ? t4.endContainer : void 0) === (e4 != null ? e4.endContainer : void 0) && (t4 != null ? t4.endOffset : void 0) === (e4 != null ? e4.endOffset : void 0); + }, o3; + }(e2.BasicObject), e2.selectionChangeObserver == null && (e2.selectionChangeObserver = new e2.SelectionChangeObserver()); + }.call(this), function() { + var t3, n2, i, o2, r2, s2, a2, u, c2, l, h = function(t4, e3) { + return function() { + return t4.apply(e3, arguments); + }; + }, p2 = function(t4, e3) { + function n3() { + this.constructor = t4; + } + for (var i2 in e3) + d.call(e3, i2) && (t4[i2] = e3[i2]); + return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; + }, d = {}.hasOwnProperty; + i = e2.getDOMSelection, n2 = e2.getDOMRange, l = e2.setDOMRange, t3 = e2.elementContainsNode, s2 = e2.nodeIsCursorTarget, r2 = e2.innerElementIsActive, o2 = e2.handleEvent, a2 = e2.normalizeRange, u = e2.rangeIsCollapsed, c2 = e2.rangesAreEqual, e2.SelectionManager = function(d2) { + function f(t4) { + this.element = t4, this.selectionDidChange = h(this.selectionDidChange, this), this.didMouseDown = h(this.didMouseDown, this), this.locationMapper = new e2.LocationMapper(this.element), this.pointMapper = new e2.PointMapper(), this.lockCount = 0, o2("mousedown", {onElement: this.element, withCallback: this.didMouseDown}); + } + return p2(f, d2), f.prototype.getLocationRange = function(t4) { + var e3, i2; + return t4 == null && (t4 = {}), e3 = t4.strict === false ? this.createLocationRangeFromDOMRange(n2(), {strict: false}) : t4.ignoreLock ? this.currentLocationRange : (i2 = this.lockedLocationRange) != null ? i2 : this.currentLocationRange; + }, f.prototype.setLocationRange = function(t4) { + var e3; + if (!this.lockedLocationRange) + return t4 = a2(t4), (e3 = this.createDOMRangeFromLocationRange(t4)) ? (l(e3), this.updateCurrentLocationRange(t4)) : void 0; + }, f.prototype.setLocationRangeFromPointRange = function(t4) { + var e3, n3; + return t4 = a2(t4), n3 = this.getLocationAtPoint(t4[0]), e3 = this.getLocationAtPoint(t4[1]), this.setLocationRange([n3, e3]); + }, f.prototype.getClientRectAtLocationRange = function(t4) { + var e3; + return (e3 = this.createDOMRangeFromLocationRange(t4)) ? this.getClientRectsForDOMRange(e3)[1] : void 0; + }, f.prototype.locationIsCursorTarget = function(t4) { + var e3, n3, i2; + return i2 = this.findNodeAndOffsetFromLocation(t4), e3 = i2[0], n3 = i2[1], s2(e3); + }, f.prototype.lock = function() { + return this.lockCount++ === 0 ? (this.updateCurrentLocationRange(), this.lockedLocationRange = this.getLocationRange()) : void 0; + }, f.prototype.unlock = function() { + var t4; + return --this.lockCount === 0 && (t4 = this.lockedLocationRange, this.lockedLocationRange = null, t4 != null) ? this.setLocationRange(t4) : void 0; + }, f.prototype.clearSelection = function() { + var t4; + return (t4 = i()) != null ? t4.removeAllRanges() : void 0; + }, f.prototype.selectionIsCollapsed = function() { + var t4; + return ((t4 = n2()) != null ? t4.collapsed : void 0) === true; + }, f.prototype.selectionIsExpanded = function() { + return !this.selectionIsCollapsed(); + }, f.prototype.createLocationRangeFromDOMRange = function(t4, e3) { + var n3, i2; + if (t4 != null && this.domRangeWithinElement(t4) && (i2 = this.findLocationFromContainerAndOffset(t4.startContainer, t4.startOffset, e3))) + return t4.collapsed || (n3 = this.findLocationFromContainerAndOffset(t4.endContainer, t4.endOffset, e3)), a2([i2, n3]); + }, f.proxyMethod("locationMapper.findLocationFromContainerAndOffset"), f.proxyMethod("locationMapper.findContainerAndOffsetFromLocation"), f.proxyMethod("locationMapper.findNodeAndOffsetFromLocation"), f.proxyMethod("pointMapper.createDOMRangeFromPoint"), f.proxyMethod("pointMapper.getClientRectsForDOMRange"), f.prototype.didMouseDown = function() { + return this.pauseTemporarily(); + }, f.prototype.pauseTemporarily = function() { + var e3, n3, i2, r3; + return this.paused = true, n3 = function(e4) { + return function() { + var n4, o3, s3; + for (e4.paused = false, clearTimeout(r3), o3 = 0, s3 = i2.length; s3 > o3; o3++) + n4 = i2[o3], n4.destroy(); + return t3(document, e4.element) ? e4.selectionDidChange() : void 0; + }; + }(this), r3 = setTimeout(n3, 200), i2 = function() { + var t4, i3, r4, s3; + for (r4 = ["mousemove", "keydown"], s3 = [], t4 = 0, i3 = r4.length; i3 > t4; t4++) + e3 = r4[t4], s3.push(o2(e3, {onElement: document, withCallback: n3})); + return s3; + }(); + }, f.prototype.selectionDidChange = function() { + return this.paused || r2(this.element) ? void 0 : this.updateCurrentLocationRange(); + }, f.prototype.updateCurrentLocationRange = function(t4) { + var e3; + return (t4 != null ? t4 : t4 = this.createLocationRangeFromDOMRange(n2())) && !c2(t4, this.currentLocationRange) ? (this.currentLocationRange = t4, (e3 = this.delegate) != null && typeof e3.locationRangeDidChange == "function" ? e3.locationRangeDidChange(this.currentLocationRange.slice(0)) : void 0) : void 0; + }, f.prototype.createDOMRangeFromLocationRange = function(t4) { + var e3, n3, i2, o3; + return i2 = this.findContainerAndOffsetFromLocation(t4[0]), n3 = u(t4) ? i2 : (o3 = this.findContainerAndOffsetFromLocation(t4[1])) != null ? o3 : i2, i2 != null && n3 != null ? (e3 = document.createRange(), e3.setStart.apply(e3, i2), e3.setEnd.apply(e3, n3), e3) : void 0; + }, f.prototype.getLocationAtPoint = function(t4) { + var e3, n3; + return (e3 = this.createDOMRangeFromPoint(t4)) && (n3 = this.createLocationRangeFromDOMRange(e3)) != null ? n3[0] : void 0; + }, f.prototype.domRangeWithinElement = function(e3) { + return e3.collapsed ? t3(this.element, e3.startContainer) : t3(this.element, e3.startContainer) && t3(this.element, e3.endContainer); + }, f; + }(e2.BasicObject); + }.call(this), function() { + var t3, n2, i, o2, r2 = function(t4, e3) { + function n3() { + this.constructor = t4; + } + for (var i2 in e3) + s2.call(e3, i2) && (t4[i2] = e3[i2]); + return n3.prototype = e3.prototype, t4.prototype = new n3(), t4.__super__ = e3.prototype, t4; + }, s2 = {}.hasOwnProperty, a2 = [].slice; + i = e2.rangeIsCollapsed, o2 = e2.rangesAreEqual, n2 = e2.objectsAreEqual, t3 = e2.getBlockConfig, e2.EditorController = function(s3) { + function u(t4) { + var n3, i2; + this.editorElement = t4.editorElement, n3 = t4.document, i2 = t4.html, this.selectionManager = new e2.SelectionManager(this.editorElement), this.selectionManager.delegate = this, this.composition = new e2.Composition(), this.composition.delegate = this, this.attachmentManager = new e2.AttachmentManager(this.composition.getAttachments()), this.attachmentManager.delegate = this, this.inputController = new e2["Level" + e2.config.input.getLevel() + "InputController"](this.editorElement), this.inputController.delegate = this, this.inputController.responder = this.composition, this.compositionController = new e2.CompositionController(this.editorElement, this.composition), this.compositionController.delegate = this, this.toolbarController = new e2.ToolbarController(this.editorElement.toolbarElement), this.toolbarController.delegate = this, this.editor = new e2.Editor(this.composition, this.selectionManager, this.editorElement), n3 != null ? this.editor.loadDocument(n3) : this.editor.loadHTML(i2); + } + var c2; + return r2(u, s3), u.prototype.registerSelectionManager = function() { + return e2.selectionChangeObserver.registerSelectionManager(this.selectionManager); + }, u.prototype.unregisterSelectionManager = function() { + return e2.selectionChangeObserver.unregisterSelectionManager(this.selectionManager); + }, u.prototype.render = function() { + return this.compositionController.render(); + }, u.prototype.reparse = function() { + return this.composition.replaceHTML(this.editorElement.innerHTML); + }, u.prototype.compositionDidChangeDocument = function() { + return this.notifyEditorElement("document-change"), this.handlingInput ? void 0 : this.render(); + }, u.prototype.compositionDidChangeCurrentAttributes = function(t4) { + return this.currentAttributes = t4, this.toolbarController.updateAttributes(this.currentAttributes), this.updateCurrentActions(), this.notifyEditorElement("attributes-change", {attributes: this.currentAttributes}); + }, u.prototype.compositionDidPerformInsertionAtRange = function(t4) { + return this.pasting ? this.pastedRange = t4 : void 0; + }, u.prototype.compositionShouldAcceptFile = function(t4) { + return this.notifyEditorElement("file-accept", {file: t4}); + }, u.prototype.compositionDidAddAttachment = function(t4) { + var e3; + return e3 = this.attachmentManager.manageAttachment(t4), this.notifyEditorElement("attachment-add", {attachment: e3}); + }, u.prototype.compositionDidEditAttachment = function(t4) { + var e3; + return this.compositionController.rerenderViewForObject(t4), e3 = this.attachmentManager.manageAttachment(t4), this.notifyEditorElement("attachment-edit", {attachment: e3}), this.notifyEditorElement("change"); + }, u.prototype.compositionDidChangeAttachmentPreviewURL = function(t4) { + return this.compositionController.invalidateViewForObject(t4), this.notifyEditorElement("change"); + }, u.prototype.compositionDidRemoveAttachment = function(t4) { + var e3; + return e3 = this.attachmentManager.unmanageAttachment(t4), this.notifyEditorElement("attachment-remove", {attachment: e3}); + }, u.prototype.compositionDidStartEditingAttachment = function(t4, e3) { + return this.attachmentLocationRange = this.composition.document.getLocationRangeOfAttachment(t4), this.compositionController.installAttachmentEditorForAttachment(t4, e3), this.selectionManager.setLocationRange(this.attachmentLocationRange); + }, u.prototype.compositionDidStopEditingAttachment = function() { + return this.compositionController.uninstallAttachmentEditor(), this.attachmentLocationRange = null; + }, u.prototype.compositionDidRequestChangingSelectionToLocationRange = function(t4) { + return !this.loadingSnapshot || this.isFocused() ? (this.requestedLocationRange = t4, this.compositionRevisionWhenLocationRangeRequested = this.composition.revision, this.handlingInput ? void 0 : this.render()) : void 0; + }, u.prototype.compositionWillLoadSnapshot = function() { + return this.loadingSnapshot = true; + }, u.prototype.compositionDidLoadSnapshot = function() { + return this.compositionController.refreshViewCache(), this.render(), this.loadingSnapshot = false; + }, u.prototype.getSelectionManager = function() { + return this.selectionManager; + }, u.proxyMethod("getSelectionManager().setLocationRange"), u.proxyMethod("getSelectionManager().getLocationRange"), u.prototype.attachmentManagerDidRequestRemovalOfAttachment = function(t4) { + return this.removeAttachment(t4); + }, u.prototype.compositionControllerWillSyncDocumentView = function() { + return this.inputController.editorWillSyncDocumentView(), this.selectionManager.lock(), this.selectionManager.clearSelection(); + }, u.prototype.compositionControllerDidSyncDocumentView = function() { + return this.inputController.editorDidSyncDocumentView(), this.selectionManager.unlock(), this.updateCurrentActions(), this.notifyEditorElement("sync"); + }, u.prototype.compositionControllerDidRender = function() { + return this.requestedLocationRange != null && (this.compositionRevisionWhenLocationRangeRequested === this.composition.revision && this.selectionManager.setLocationRange(this.requestedLocationRange), this.requestedLocationRange = null, this.compositionRevisionWhenLocationRangeRequested = null), this.renderedCompositionRevision !== this.composition.revision && (this.runEditorFilters(), this.composition.updateCurrentAttributes(), this.notifyEditorElement("render")), this.renderedCompositionRevision = this.composition.revision; + }, u.prototype.compositionControllerDidFocus = function() { + return this.isFocusedInvisibly() && this.setLocationRange({index: 0, offset: 0}), this.toolbarController.hideDialog(), this.notifyEditorElement("focus"); + }, u.prototype.compositionControllerDidBlur = function() { + return this.notifyEditorElement("blur"); + }, u.prototype.compositionControllerDidSelectAttachment = function(t4, e3) { + return this.toolbarController.hideDialog(), this.composition.editAttachment(t4, e3); + }, u.prototype.compositionControllerDidRequestDeselectingAttachment = function(t4) { + var e3, n3; + return e3 = (n3 = this.attachmentLocationRange) != null ? n3 : this.composition.document.getLocationRangeOfAttachment(t4), this.selectionManager.setLocationRange(e3[1]); + }, u.prototype.compositionControllerWillUpdateAttachment = function(t4) { + return this.editor.recordUndoEntry("Edit Attachment", {context: t4.id, consolidatable: true}); + }, u.prototype.compositionControllerDidRequestRemovalOfAttachment = function(t4) { + return this.removeAttachment(t4); + }, u.prototype.inputControllerWillHandleInput = function() { + return this.handlingInput = true, this.requestedRender = false; + }, u.prototype.inputControllerDidRequestRender = function() { + return this.requestedRender = true; + }, u.prototype.inputControllerDidHandleInput = function() { + return this.handlingInput = false, this.requestedRender ? (this.requestedRender = false, this.render()) : void 0; + }, u.prototype.inputControllerDidAllowUnhandledInput = function() { + return this.notifyEditorElement("change"); + }, u.prototype.inputControllerDidRequestReparse = function() { + return this.reparse(); + }, u.prototype.inputControllerWillPerformTyping = function() { + return this.recordTypingUndoEntry(); + }, u.prototype.inputControllerWillPerformFormatting = function(t4) { + return this.recordFormattingUndoEntry(t4); + }, u.prototype.inputControllerWillCutText = function() { + return this.editor.recordUndoEntry("Cut"); + }, u.prototype.inputControllerWillPaste = function(t4) { + return this.editor.recordUndoEntry("Paste"), this.pasting = true, this.notifyEditorElement("before-paste", {paste: t4}); + }, u.prototype.inputControllerDidPaste = function(t4) { + return t4.range = this.pastedRange, this.pastedRange = null, this.pasting = null, this.notifyEditorElement("paste", {paste: t4}); + }, u.prototype.inputControllerWillMoveText = function() { + return this.editor.recordUndoEntry("Move"); + }, u.prototype.inputControllerWillAttachFiles = function() { + return this.editor.recordUndoEntry("Drop Files"); + }, u.prototype.inputControllerWillPerformUndo = function() { + return this.editor.undo(); + }, u.prototype.inputControllerWillPerformRedo = function() { + return this.editor.redo(); + }, u.prototype.inputControllerDidReceiveKeyboardCommand = function(t4) { + return this.toolbarController.applyKeyboardCommand(t4); + }, u.prototype.inputControllerDidStartDrag = function() { + return this.locationRangeBeforeDrag = this.selectionManager.getLocationRange(); + }, u.prototype.inputControllerDidReceiveDragOverPoint = function(t4) { + return this.selectionManager.setLocationRangeFromPointRange(t4); + }, u.prototype.inputControllerDidCancelDrag = function() { + return this.selectionManager.setLocationRange(this.locationRangeBeforeDrag), this.locationRangeBeforeDrag = null; + }, u.prototype.locationRangeDidChange = function(t4) { + return this.composition.updateCurrentAttributes(), this.updateCurrentActions(), this.attachmentLocationRange && !o2(this.attachmentLocationRange, t4) && this.composition.stopEditingAttachment(), this.notifyEditorElement("selection-change"); + }, u.prototype.toolbarDidClickButton = function() { + return this.getLocationRange() ? void 0 : this.setLocationRange({index: 0, offset: 0}); + }, u.prototype.toolbarDidInvokeAction = function(t4) { + return this.invokeAction(t4); + }, u.prototype.toolbarDidToggleAttribute = function(t4) { + return this.recordFormattingUndoEntry(t4), this.composition.toggleCurrentAttribute(t4), this.render(), this.selectionFrozen ? void 0 : this.editorElement.focus(); + }, u.prototype.toolbarDidUpdateAttribute = function(t4, e3) { + return this.recordFormattingUndoEntry(t4), this.composition.setCurrentAttribute(t4, e3), this.render(), this.selectionFrozen ? void 0 : this.editorElement.focus(); + }, u.prototype.toolbarDidRemoveAttribute = function(t4) { + return this.recordFormattingUndoEntry(t4), this.composition.removeCurrentAttribute(t4), this.render(), this.selectionFrozen ? void 0 : this.editorElement.focus(); + }, u.prototype.toolbarWillShowDialog = function() { + return this.composition.expandSelectionForEditing(), this.freezeSelection(); + }, u.prototype.toolbarDidShowDialog = function(t4) { + return this.notifyEditorElement("toolbar-dialog-show", {dialogName: t4}); + }, u.prototype.toolbarDidHideDialog = function(t4) { + return this.thawSelection(), this.editorElement.focus(), this.notifyEditorElement("toolbar-dialog-hide", {dialogName: t4}); + }, u.prototype.freezeSelection = function() { + return this.selectionFrozen ? void 0 : (this.selectionManager.lock(), this.composition.freezeSelection(), this.selectionFrozen = true, this.render()); + }, u.prototype.thawSelection = function() { + return this.selectionFrozen ? (this.composition.thawSelection(), this.selectionManager.unlock(), this.selectionFrozen = false, this.render()) : void 0; + }, u.prototype.actions = {undo: {test: function() { + return this.editor.canUndo(); + }, perform: function() { + return this.editor.undo(); + }}, redo: {test: function() { + return this.editor.canRedo(); + }, perform: function() { + return this.editor.redo(); + }}, link: {test: function() { + return this.editor.canActivateAttribute("href"); + }}, increaseNestingLevel: {test: function() { + return this.editor.canIncreaseNestingLevel(); + }, perform: function() { + return this.editor.increaseNestingLevel() && this.render(); + }}, decreaseNestingLevel: {test: function() { + return this.editor.canDecreaseNestingLevel(); + }, perform: function() { + return this.editor.decreaseNestingLevel() && this.render(); + }}, attachFiles: {test: function() { + return true; + }, perform: function() { + return e2.config.input.pickFiles(this.editor.insertFiles); + }}}, u.prototype.canInvokeAction = function(t4) { + var e3, n3; + return this.actionIsExternal(t4) ? true : !!((e3 = this.actions[t4]) != null && (n3 = e3.test) != null ? n3.call(this) : void 0); + }, u.prototype.invokeAction = function(t4) { + var e3, n3; + return this.actionIsExternal(t4) ? this.notifyEditorElement("action-invoke", {actionName: t4}) : (e3 = this.actions[t4]) != null && (n3 = e3.perform) != null ? n3.call(this) : void 0; + }, u.prototype.actionIsExternal = function(t4) { + return /^x-./.test(t4); + }, u.prototype.getCurrentActions = function() { + var t4, e3; + e3 = {}; + for (t4 in this.actions) + e3[t4] = this.canInvokeAction(t4); + return e3; + }, u.prototype.updateCurrentActions = function() { + var t4; + return t4 = this.getCurrentActions(), n2(t4, this.currentActions) ? void 0 : (this.currentActions = t4, this.toolbarController.updateActions(this.currentActions), this.notifyEditorElement("actions-change", {actions: this.currentActions})); + }, u.prototype.runEditorFilters = function() { + var t4, e3, n3, i2, o3, r3, s4, a3; + for (a3 = this.composition.getSnapshot(), o3 = this.editor.filters, n3 = 0, i2 = o3.length; i2 > n3; n3++) + e3 = o3[n3], t4 = a3.document, s4 = a3.selectedRange, a3 = (r3 = e3.call(this.editor, a3)) != null ? r3 : {}, a3.document == null && (a3.document = t4), a3.selectedRange == null && (a3.selectedRange = s4); + return c2(a3, this.composition.getSnapshot()) ? void 0 : this.composition.loadSnapshot(a3); + }, c2 = function(t4, e3) { + return o2(t4.selectedRange, e3.selectedRange) && t4.document.isEqualTo(e3.document); + }, u.prototype.updateInputElement = function() { + var t4, n3; + return t4 = this.compositionController.getSerializableElement(), n3 = e2.serializeToContentType(t4, "text/html"), this.editorElement.setInputElementValue(n3); + }, u.prototype.notifyEditorElement = function(t4, e3) { + switch (t4) { + case "document-change": + this.documentChangedSinceLastRender = true; + break; + case "render": + this.documentChangedSinceLastRender && (this.documentChangedSinceLastRender = false, this.notifyEditorElement("change")); + break; + case "change": + case "attachment-add": + case "attachment-edit": + case "attachment-remove": + this.updateInputElement(); + } + return this.editorElement.notify(t4, e3); + }, u.prototype.removeAttachment = function(t4) { + return this.editor.recordUndoEntry("Delete Attachment"), this.composition.removeAttachment(t4), this.render(); + }, u.prototype.recordFormattingUndoEntry = function(e3) { + var n3, o3; + return n3 = t3(e3), o3 = this.selectionManager.getLocationRange(), n3 || !i(o3) ? this.editor.recordUndoEntry("Formatting", {context: this.getUndoContext(), consolidatable: true}) : void 0; + }, u.prototype.recordTypingUndoEntry = function() { + return this.editor.recordUndoEntry("Typing", {context: this.getUndoContext(this.currentAttributes), consolidatable: true}); + }, u.prototype.getUndoContext = function() { + var t4; + return t4 = 1 <= arguments.length ? a2.call(arguments, 0) : [], [this.getLocationContext(), this.getTimeContext()].concat(a2.call(t4)); + }, u.prototype.getLocationContext = function() { + var t4; + return t4 = this.selectionManager.getLocationRange(), i(t4) ? t4[0].index : t4; + }, u.prototype.getTimeContext = function() { + return e2.config.undoInterval > 0 ? Math.floor(new Date().getTime() / e2.config.undoInterval) : 0; + }, u.prototype.isFocused = function() { + var t4; + return this.editorElement === ((t4 = this.editorElement.ownerDocument) != null ? t4.activeElement : void 0); + }, u.prototype.isFocusedInvisibly = function() { + return this.isFocused() && !this.getLocationRange(); + }, u; + }(e2.Controller); + }.call(this), function() { + var t3, n2, i, o2, r2, s2, a2, u = [].indexOf || function(t4) { + for (var e3 = 0, n3 = this.length; n3 > e3; e3++) + if (e3 in this && this[e3] === t4) + return e3; + return -1; + }; + n2 = e2.browser, s2 = e2.makeElement, a2 = e2.triggerEvent, o2 = e2.handleEvent, r2 = e2.handleEventOnce, i = e2.findClosestElementFromNode, t3 = e2.AttachmentView.attachmentSelector, e2.registerElement("trix-editor", function() { + var c2, l, h, p2, d, f, g, m, v; + return g = 0, l = function(t4) { + return !document.querySelector(":focus") && t4.hasAttribute("autofocus") && document.querySelector("[autofocus]") === t4 ? t4.focus() : void 0; + }, m = function(t4) { + return t4.hasAttribute("contenteditable") ? void 0 : (t4.setAttribute("contenteditable", ""), r2("focus", {onElement: t4, withCallback: function() { + return h(t4); + }})); + }, h = function(t4) { + return d(t4), v(t4); + }, d = function(t4) { + return (typeof document.queryCommandSupported == "function" ? document.queryCommandSupported("enableObjectResizing") : void 0) ? (document.execCommand("enableObjectResizing", false, false), o2("mscontrolselect", {onElement: t4, preventDefault: true})) : void 0; + }, v = function() { + var t4; + return (typeof document.queryCommandSupported == "function" ? document.queryCommandSupported("DefaultParagraphSeparator") : void 0) && (t4 = e2.config.blockAttributes["default"].tagName, t4 === "div" || t4 === "p") ? document.execCommand("DefaultParagraphSeparator", false, t4) : void 0; + }, c2 = function(t4) { + return t4.hasAttribute("role") ? void 0 : t4.setAttribute("role", "textbox"); + }, f = function(t4) { + var e3; + if (!t4.hasAttribute("aria-label") && !t4.hasAttribute("aria-labelledby")) + return (e3 = function() { + var e4, n3, i2; + return i2 = function() { + var n4, i3, o3, r3; + for (o3 = t4.labels, r3 = [], n4 = 0, i3 = o3.length; i3 > n4; n4++) + e4 = o3[n4], e4.contains(t4) || r3.push(e4.textContent); + return r3; + }(), (n3 = i2.join(" ")) ? t4.setAttribute("aria-label", n3) : t4.removeAttribute("aria-label"); + })(), o2("focus", {onElement: t4, withCallback: e3}); + }, p2 = function() { + return n2.forcesObjectResizing ? {display: "inline", width: "auto"} : {display: "inline-block", width: "1px"}; + }(), {defaultCSS: "%t {\n display: block;\n}\n\n%t:empty:not(:focus)::before {\n content: attr(placeholder);\n color: graytext;\n cursor: text;\n pointer-events: none;\n}\n\n%t a[contenteditable=false] {\n cursor: text;\n}\n\n%t img {\n max-width: 100%;\n height: auto;\n}\n\n%t " + t3 + " figcaption textarea {\n resize: none;\n}\n\n%t " + t3 + " figcaption textarea.trix-autoresize-clone {\n position: absolute;\n left: -9999px;\n max-height: 0px;\n}\n\n%t " + t3 + " figcaption[data-trix-placeholder]:empty::before {\n content: attr(data-trix-placeholder);\n color: graytext;\n}\n\n%t [data-trix-cursor-target] {\n display: " + p2.display + " !important;\n width: " + p2.width + " !important;\n padding: 0 !important;\n margin: 0 !important;\n border: none !important;\n}\n\n%t [data-trix-cursor-target=left] {\n vertical-align: top !important;\n margin-left: -1px !important;\n}\n\n%t [data-trix-cursor-target=right] {\n vertical-align: bottom !important;\n margin-right: -1px !important;\n}", trixId: {get: function() { + return this.hasAttribute("trix-id") ? this.getAttribute("trix-id") : (this.setAttribute("trix-id", ++g), this.trixId); + }}, labels: {get: function() { + var t4, e3, n3; + return e3 = [], this.id && this.ownerDocument && e3.push.apply(e3, this.ownerDocument.querySelectorAll("label[for='" + this.id + "']")), (t4 = i(this, {matchingSelector: "label"})) && ((n3 = t4.control) === this || n3 === null) && e3.push(t4), e3; + }}, toolbarElement: {get: function() { + var t4, e3, n3; + return this.hasAttribute("toolbar") ? (e3 = this.ownerDocument) != null ? e3.getElementById(this.getAttribute("toolbar")) : void 0 : this.parentNode ? (n3 = "trix-toolbar-" + this.trixId, this.setAttribute("toolbar", n3), t4 = s2("trix-toolbar", {id: n3}), this.parentNode.insertBefore(t4, this), t4) : void 0; + }}, inputElement: {get: function() { + var t4, e3, n3; + return this.hasAttribute("input") ? (n3 = this.ownerDocument) != null ? n3.getElementById(this.getAttribute("input")) : void 0 : this.parentNode ? (e3 = "trix-input-" + this.trixId, this.setAttribute("input", e3), t4 = s2("input", {type: "hidden", id: e3}), this.parentNode.insertBefore(t4, this.nextElementSibling), t4) : void 0; + }}, editor: {get: function() { + var t4; + return (t4 = this.editorController) != null ? t4.editor : void 0; + }}, name: {get: function() { + var t4; + return (t4 = this.inputElement) != null ? t4.name : void 0; + }}, value: {get: function() { + var t4; + return (t4 = this.inputElement) != null ? t4.value : void 0; + }, set: function(t4) { + var e3; + return this.defaultValue = t4, (e3 = this.editor) != null ? e3.loadHTML(this.defaultValue) : void 0; + }}, notify: function(t4, e3) { + return this.editorController ? a2("trix-" + t4, {onElement: this, attributes: e3}) : void 0; + }, setInputElementValue: function(t4) { + var e3; + return (e3 = this.inputElement) != null ? e3.value = t4 : void 0; + }, initialize: function() { + return this.hasAttribute("data-trix-internal") ? void 0 : (m(this), c2(this), f(this)); + }, connect: function() { + return this.hasAttribute("data-trix-internal") ? void 0 : (this.editorController || (a2("trix-before-initialize", {onElement: this}), this.editorController = new e2.EditorController({editorElement: this, html: this.defaultValue = this.value}), requestAnimationFrame(function(t4) { + return function() { + return a2("trix-initialize", {onElement: t4}); + }; + }(this))), this.editorController.registerSelectionManager(), this.registerResetListener(), this.registerClickListener(), l(this)); + }, disconnect: function() { + var t4; + return (t4 = this.editorController) != null && t4.unregisterSelectionManager(), this.unregisterResetListener(), this.unregisterClickListener(); + }, registerResetListener: function() { + return this.resetListener = this.resetBubbled.bind(this), window.addEventListener("reset", this.resetListener, false); + }, unregisterResetListener: function() { + return window.removeEventListener("reset", this.resetListener, false); + }, registerClickListener: function() { + return this.clickListener = this.clickBubbled.bind(this), window.addEventListener("click", this.clickListener, false); + }, unregisterClickListener: function() { + return window.removeEventListener("click", this.clickListener, false); + }, resetBubbled: function(t4) { + var e3; + if (!t4.defaultPrevented && t4.target === ((e3 = this.inputElement) != null ? e3.form : void 0)) + return this.reset(); + }, clickBubbled: function(t4) { + var e3; + if (!(t4.defaultPrevented || this.contains(t4.target) || !(e3 = i(t4.target, {matchingSelector: "label"})) || u.call(this.labels, e3) < 0)) + return this.focus(); + }, reset: function() { + return this.value = this.defaultValue; + }}; + }()); + }.call(this), function() { + }.call(this); + }).call(this), typeof module == "object" && module.exports ? module.exports = e2 : typeof define == "function" && define.amd && define(e2); + }.call(exports); }); // node_modules/dayjs/esm/constant.js @@ -6172,6 +6170,11 @@ var date_time_picker_default = (Alpine) => { }; // node_modules/filepond/dist/filepond.esm.js +/*! + * FilePond 4.30.3 + * Licensed under MIT, https://opensource.org/licenses/MIT/ + * Please visit https://pqina.nl/filepond/ for details. + */ var isNode = (value) => value instanceof HTMLElement; var createStore = (initialState, queries2 = [], actions2 = []) => { const state2 = { @@ -6179,7 +6182,7 @@ var createStore = (initialState, queries2 = [], actions2 = []) => { }; const actionQueue = []; const dispatchQueue = []; - const getState = () => ({ ...state2 }); + const getState = () => ({...state2}); const processActionQueue = () => { const queue = [...actionQueue]; actionQueue.length = 0; @@ -6188,13 +6191,13 @@ var createStore = (initialState, queries2 = [], actions2 = []) => { const processDispatchQueue = () => { const queue = [...dispatchQueue]; dispatchQueue.length = 0; - queue.forEach(({ type, data: data3 }) => { + queue.forEach(({type, data: data3}) => { dispatch2(type, data3); }); }; const dispatch2 = (type, data3, isBlocking) => { if (isBlocking && !document.hidden) { - dispatchQueue.push({ type, data: data3 }); + dispatchQueue.push({type, data: data3}); return; } if (actionHandlers[type]) { @@ -6234,7 +6237,7 @@ var defineProperty = (obj, property, definition) => { obj[property] = definition; return; } - Object.defineProperty(obj, property, { ...definition }); + Object.defineProperty(obj, property, {...definition}); }; var forin = (obj, cb) => { for (const key in obj) { @@ -6327,8 +6330,8 @@ var getViewRect = (elementRect, childViews, offset, scale) => { } }; childViews.filter((childView) => !childView.isRectIgnored()).map((childView) => childView.rect).forEach((childViewRect) => { - expandRect(rect.inner, { ...childViewRect.inner }); - expandRect(rect.outer, { ...childViewRect.outer }); + expandRect(rect.inner, {...childViewRect.inner}); + expandRect(rect.outer, {...childViewRect.outer}); }); calculateRectSize(rect.inner); rect.outer.bottom += rect.element.marginBottom; @@ -6356,7 +6359,7 @@ var isNumber = (value) => typeof value === "number"; var thereYet = (position, destination, velocity, errorMargin = 1e-3) => { return Math.abs(position - destination) < errorMargin && Math.abs(velocity) < errorMargin; }; -var spring = ({ stiffness = 0.5, damping = 0.75, mass = 10 } = {}) => { +var spring = ({stiffness = 0.5, damping = 0.75, mass = 10} = {}) => { let target = null; let position = null; let velocity = 0; @@ -6418,7 +6421,7 @@ var spring = ({ stiffness = 0.5, damping = 0.75, mass = 10 } = {}) => { return api; }; var easeInOutQuad = (t2) => t2 < 0.5 ? 2 * t2 * t2 : -1 + (4 - 2 * t2) * t2; -var tween = ({ duration = 500, easing = easeInOutQuad, delay = 0 } = {}) => { +var tween = ({duration = 500, easing = easeInOutQuad, delay = 0} = {}) => { let start = null; let t2; let p2; @@ -6484,7 +6487,7 @@ var animator = { var createAnimator = (definition, category, property) => { const def = definition[category] && typeof definition[category][property] === "object" ? definition[category][property] : definition[category] || definition; const type = typeof def === "string" ? def : def.type; - const props = typeof def === "object" ? { ...def } : {}; + const props = typeof def === "object" ? {...def} : {}; return animator[type] ? animator[type](props) : null; }; var addGetSet = (keys, obj, props, overwrite = false) => { @@ -6509,8 +6512,8 @@ var addGetSet = (keys, obj, props, overwrite = false) => { }); }); }; -var animations = ({ mixinConfig, viewProps, viewInternalAPI, viewExternalAPI }) => { - const initialProps = { ...viewProps }; +var animations = ({mixinConfig, viewProps, viewInternalAPI, viewExternalAPI}) => { + const initialProps = {...viewProps}; const animations2 = []; forin(mixinConfig, (property, animation) => { const animator2 = createAnimator(animation); @@ -6588,7 +6591,7 @@ var listeners = ({ } }; }; -var apis = ({ mixinConfig, viewProps, viewExternalAPI }) => { +var apis = ({mixinConfig, viewProps, viewExternalAPI}) => { addGetSet(mixinConfig, viewExternalAPI, viewProps); }; var isDefined = (value) => value != null; @@ -6604,15 +6607,15 @@ var defaults = { originX: 0, originY: 0 }; -var styles = ({ mixinConfig, viewProps, viewInternalAPI, viewExternalAPI, view }) => { - const initialProps = { ...viewProps }; +var styles = ({mixinConfig, viewProps, viewInternalAPI, viewExternalAPI, view}) => { + const initialProps = {...viewProps}; const currentProps = {}; addGetSet(mixinConfig, [viewInternalAPI, viewExternalAPI], viewProps); const getOffset = () => [viewProps["translateX"] || 0, viewProps["translateY"] || 0]; const getScale = () => [viewProps["scaleX"] || 0, viewProps["scaleY"] || 0]; const getRect = () => view.rect ? getViewRect(view.rect, view.childViews, getOffset(), getScale()) : null; - viewInternalAPI.rect = { get: getRect }; - viewExternalAPI.rect = { get: getRect }; + viewInternalAPI.rect = {get: getRect}; + viewExternalAPI.rect = {get: getRect}; mixinConfig.forEach((key) => { viewProps[key] = typeof initialProps[key] === "undefined" ? defaults[key] : initialProps[key]; }); @@ -6622,7 +6625,7 @@ var styles = ({ mixinConfig, viewProps, viewInternalAPI, viewExternalAPI, view } return; } applyStyles(view.element, viewProps); - Object.assign(currentProps, { ...viewProps }); + Object.assign(currentProps, {...viewProps}); return true; }, destroy: () => { @@ -6785,7 +6788,7 @@ var createView = ({ if (shouldUpdate) { updateRect(rect, element, style); } - const api = { root: internalAPI, props, rect }; + const api = {root: internalAPI, props, rect}; readers.forEach((reader) => reader(api)); }; const _write = (ts, frameActions, shouldOptimize) => { @@ -6835,7 +6838,7 @@ var createView = ({ const _destroy = () => { activeMixins.forEach((mixin) => mixin.destroy()); destroyers.forEach((destroyer) => { - destroyer({ root: internalAPI, props }); + destroyer({root: internalAPI, props}); }); childViews.forEach((child) => child._destroy()); }; @@ -6986,10 +6989,10 @@ var createPainter = (read, write2, fps = 60) => { } }; }; -var createRoute = (routes, fn2) => ({ root: root2, props, actions: actions2 = [], timestamp, shouldOptimize }) => { - actions2.filter((action) => routes[action.type]).forEach((action) => routes[action.type]({ root: root2, props, action: action.data, timestamp, shouldOptimize })); +var createRoute = (routes, fn2) => ({root: root2, props, actions: actions2 = [], timestamp, shouldOptimize}) => { + actions2.filter((action) => routes[action.type]).forEach((action) => routes[action.type]({root: root2, props, action: action.data, timestamp, shouldOptimize})); if (fn2) { - fn2({ root: root2, props, actions: actions2, timestamp, shouldOptimize }); + fn2({root: root2, props, actions: actions2, timestamp, shouldOptimize}); } }; var insertBefore = (newNode, referenceNode) => referenceNode.parentNode.insertBefore(newNode, referenceNode); @@ -7206,7 +7209,7 @@ var createOptionActions = (options) => (dispatch2, query, state2) => { state2.options[key] = action.value; } catch (e2) { } - dispatch2(`DID_SET_${name2}`, { value: state2.options[key] }); + dispatch2(`DID_SET_${name2}`, {value: state2.options[key]}); }; }); return obj; @@ -7252,7 +7255,7 @@ var on = () => { fire(event, args, false); }, on: (event, cb) => { - listeners2.push({ event, cb }); + listeners2.push({event, cb}); }, onOnce: (event, cb) => { listeners2.push({ @@ -7348,9 +7351,9 @@ var applyFilterChain = (key, value, utils) => new Promise((resolve, reject) => { matchingFilters.reduce((current, next) => current.then((value2) => next(value2, utils)), initialFilter(value, utils)).then((value2) => resolve(value2)).catch((error2) => reject(error2)); }); var applyFilters = (key, value, utils) => filters.filter((f) => f.key === key).map((f) => f.cb(value, utils)); -var addFilter = (key, cb) => filters.push({ key, cb }); +var addFilter = (key, cb) => filters.push({key, cb}); var extendDefaultOptions = (additionalOptions) => Object.assign(defaultOptions, additionalOptions); -var getOptions = () => ({ ...defaultOptions }); +var getOptions = () => ({...defaultOptions}); var setOptions = (opts) => { forin(opts, (key, value) => { if (!defaultOptions[key]) { @@ -7550,7 +7553,7 @@ var isAsync = (state2) => isObject(state2.options.server) && (isObject(state2.op var queries = (state2) => ({ GET_STATUS: () => { const items = getActiveItems(state2.items); - const { EMPTY, ERROR, BUSY, IDLE, READY } = Status; + const {EMPTY, ERROR, BUSY, IDLE, READY} = Status; if (items.length === 0) return EMPTY; if (items.some(isItemInErrorState)) @@ -7977,7 +7980,7 @@ var ChunkStatus = { }; var processFileChunked = (apiUrl, action, name2, file2, metadata, load, error2, progress, abort, transfer, options) => { const chunks = []; - const { chunkTransferId, chunkServer, chunkSize, chunkRetryDelays } = options; + const {chunkTransferId, chunkServer, chunkSize, chunkRetryDelays} = options; const state2 = { serverId: chunkTransferId, aborted: false @@ -8175,7 +8178,7 @@ var createFileProcessorFunction = (apiUrl, action, name2, options) => (file2, me if (isObject(metadata)) { formData.append(name2, JSON.stringify(metadata)); } - (file2 instanceof Blob ? [{ name: null, file: file2 }] : file2).forEach((item2) => { + (file2 instanceof Blob ? [{name: null, file: file2}] : file2).forEach((item2) => { formData.append(name2, item2.file, item2.name === null ? item2.file.name : `${item2.name}${item2.file.name}`); }); const request = sendRequest(ondata(formData), buildURL(apiUrl, action.url), requestParams); @@ -8256,7 +8259,7 @@ var createFileProcessor = (processFn, options) => { request: null, response: null }; - const { allowMinimumUploadDuration } = options; + const {allowMinimumUploadDuration} = options; const process = (file2, metadata) => { const progressFn = () => { if (state2.duration === 0 || state2.progress === null) @@ -8522,7 +8525,7 @@ var createItem = (origin = null, serverFileReference = null, file2 = null) => { const success = (file3) => { if (state2.archived) return; - processor.process(file3, { ...metadata }); + processor.process(file3, {...metadata}); }; const error2 = console.error; onprocess(state2.file, success, error2); @@ -8584,19 +8587,19 @@ var createItem = (origin = null, serverFileReference = null, file2 = null) => { }; const getMetadata = (key) => deepCloneObject(key ? metadata[key] : metadata); const api = { - id: { get: () => id }, - origin: { get: () => origin, set: (value) => origin = value }, - serverId: { get: () => state2.serverFileReference }, - transferId: { get: () => state2.transferId }, - status: { get: () => state2.status }, - filename: { get: () => state2.file.name }, - filenameWithoutExtension: { get: () => getFilenameWithoutExtension(state2.file.name) }, - fileExtension: { get: getFileExtension }, - fileType: { get: getFileType }, - fileSize: { get: getFileSize }, - file: { get: getFile2 }, - relativePath: { get: () => state2.file._relativePath }, - source: { get: () => state2.source }, + id: {get: () => id}, + origin: {get: () => origin, set: (value) => origin = value}, + serverId: {get: () => state2.serverFileReference}, + transferId: {get: () => state2.transferId}, + status: {get: () => state2.status}, + filename: {get: () => state2.file.name}, + filenameWithoutExtension: {get: () => getFilenameWithoutExtension(state2.file.name)}, + fileExtension: {get: getFileExtension}, + fileType: {get: getFileType}, + fileSize: {get: getFileSize}, + file: {get: getFile2}, + relativePath: {get: () => state2.file._relativePath}, + source: {get: () => state2.source}, getMetadata, setMetadata: (key, value, silent) => { if (isObject(key)) { @@ -8620,9 +8623,9 @@ var createItem = (origin = null, serverFileReference = null, file2 = null) => { ...on(), freeze: () => state2.frozen = true, release: () => state2.released = true, - released: { get: () => state2.released }, + released: {get: () => state2.released}, archive: () => state2.archived = true, - archived: { get: () => state2.archived } + archived: {get: () => state2.archived} }; const itemAPI = createObject(api); return itemAPI; @@ -8676,7 +8679,7 @@ var isMockItem = (item2) => !isFile(item2.file); var listUpdated = (dispatch2, state2) => { clearTimeout(state2.listUpdateTimeout); state2.listUpdateTimeout = setTimeout(() => { - dispatch2("DID_UPDATE_ITEMS", { items: getActiveItems(state2.items) }); + dispatch2("DID_UPDATE_ITEMS", {items: getActiveItems(state2.items)}); }, 0); }; var optionalPromise = (fn2, ...params) => new Promise((resolve) => { @@ -8723,7 +8726,7 @@ var actions = (dispatch2, query, state2) => ({ item2.abortProcessing(); }); }, - DID_SET_FILES: ({ value = [] }) => { + DID_SET_FILES: ({value = []}) => { const files = value.map((file2) => ({ source: file2.source ? file2.source : file2, options: file2.options @@ -8731,7 +8734,7 @@ var actions = (dispatch2, query, state2) => ({ let activeItems = getActiveItems(state2.items); activeItems.forEach((item2) => { if (!files.find((file2) => file2.source === item2.source || file2.source === item2.file)) { - dispatch2("REMOVE_ITEM", { query: item2, remove: false }); + dispatch2("REMOVE_ITEM", {query: item2, remove: false}); } }); activeItems = getActiveItems(state2.items); @@ -8745,7 +8748,7 @@ var actions = (dispatch2, query, state2) => ({ }); }); }, - DID_UPDATE_ITEM_METADATA: ({ id, action, change }) => { + DID_UPDATE_ITEM_METADATA: ({id, action, change}) => { if (change.silent) return; clearTimeout(state2.itemUpdateTimeout); @@ -8767,7 +8770,7 @@ var actions = (dispatch2, query, state2) => ({ query: id, item: item2, success: (file2) => { - dispatch2("DID_PREPARE_OUTPUT", { id, file: file2 }); + dispatch2("DID_PREPARE_OUTPUT", {id, file: file2}); } }, true); }); @@ -8782,7 +8785,7 @@ var actions = (dispatch2, query, state2) => ({ } const upload = () => { setTimeout(() => { - dispatch2("REQUEST_ITEM_PROCESSING", { query: id }); + dispatch2("REQUEST_ITEM_PROCESSING", {query: id}); }, 32); }; const revert = (doUpload) => { @@ -8805,7 +8808,7 @@ var actions = (dispatch2, query, state2) => ({ } }, 0); }, - MOVE_ITEM: ({ query: query2, index }) => { + MOVE_ITEM: ({query: query2, index}) => { const item2 = getItemByQuery(state2.items, query2); if (!item2) return; @@ -8815,15 +8818,15 @@ var actions = (dispatch2, query, state2) => ({ return; state2.items.splice(index, 0, state2.items.splice(currentIndex, 1)[0]); }, - SORT: ({ compare }) => { + SORT: ({compare}) => { sortItems(state2, compare); dispatch2("DID_SORT_ITEMS", { items: query("GET_ACTIVE_ITEMS") }); }, - ADD_ITEMS: ({ items, index, interactionMethod, success = () => { + ADD_ITEMS: ({items, index, interactionMethod, success = () => { }, failure = () => { - } }) => { + }}) => { let currentIndex = index; if (index === -1 || typeof index === "undefined") { const insertLocation = query("GET_ITEM_INSERT_LOCATION"); @@ -8872,7 +8875,7 @@ var actions = (dispatch2, query, state2) => ({ source, error: error2 }); - failure({ error: error2, file: null }); + failure({error: error2, file: null}); return; } const item3 = getActiveItems(state2.items)[0]; @@ -8894,14 +8897,14 @@ var actions = (dispatch2, query, state2) => ({ if (forceRevert) return; } - dispatch2("REMOVE_ITEM", { query: item3.id }); + dispatch2("REMOVE_ITEM", {query: item3.id}); } const origin = options.type === "local" ? FileOrigin.LOCAL : options.type === "limbo" ? FileOrigin.LIMBO : FileOrigin.INPUT; const item2 = createItem(origin, origin === FileOrigin.INPUT ? null : source, options.file); Object.keys(options.metadata || {}).forEach((key) => { item2.setMetadata(key, options.metadata[key]); }); - applyFilters("DID_CREATE_ITEM", item2, { query, dispatch: dispatch2 }); + applyFilters("DID_CREATE_ITEM", item2, {query, dispatch: dispatch2}); const itemInsertLocation = query("GET_ITEM_INSERT_LOCATION"); if (!state2.options.itemInsertLocationFreedom) { index = itemInsertLocation === "before" ? -1 : state2.items.length; @@ -8912,16 +8915,16 @@ var actions = (dispatch2, query, state2) => ({ } const id = item2.id; item2.on("init", () => { - dispatch2("DID_INIT_ITEM", { id }); + dispatch2("DID_INIT_ITEM", {id}); }); item2.on("load-init", () => { - dispatch2("DID_START_ITEM_LOAD", { id }); + dispatch2("DID_START_ITEM_LOAD", {id}); }); item2.on("load-meta", () => { - dispatch2("DID_UPDATE_ITEM_META", { id }); + dispatch2("DID_UPDATE_ITEM_META", {id}); }); item2.on("load-progress", (progress) => { - dispatch2("DID_UPDATE_ITEM_LOAD_PROGRESS", { id, progress }); + dispatch2("DID_UPDATE_ITEM_LOAD_PROGRESS", {id, progress}); }); item2.on("load-request-error", (error2) => { const mainStatus = dynamicLabel(state2.options.labelFileLoadError)(error2); @@ -8934,7 +8937,7 @@ var actions = (dispatch2, query, state2) => ({ sub: `${error2.code} (${error2.body})` } }); - failure({ error: error2, file: createItemAPI(item2) }); + failure({error: error2, file: createItemAPI(item2)}); return; } dispatch2("DID_THROW_ITEM_LOAD_ERROR", { @@ -8952,10 +8955,10 @@ var actions = (dispatch2, query, state2) => ({ error: error2.status, status: error2.status }); - failure({ error: error2.status, file: createItemAPI(item2) }); + failure({error: error2.status, file: createItemAPI(item2)}); }); item2.on("load-abort", () => { - dispatch2("REMOVE_ITEM", { query: id }); + dispatch2("REMOVE_ITEM", {query: id}); }); item2.on("load-skip", () => { dispatch2("COMPLETE_LOAD_ITEM", { @@ -8976,9 +8979,9 @@ var actions = (dispatch2, query, state2) => ({ return; } item2.on("metadata-update", (change) => { - dispatch2("DID_UPDATE_ITEM_METADATA", { id, change }); + dispatch2("DID_UPDATE_ITEM_METADATA", {id, change}); }); - applyFilterChain("SHOULD_PREPARE_OUTPUT", false, { item: item2, query }).then((shouldPrepareOutput) => { + applyFilterChain("SHOULD_PREPARE_OUTPUT", false, {item: item2, query}).then((shouldPrepareOutput) => { const beforePrepareFile = query("GET_BEFORE_PREPARE_FILE"); if (beforePrepareFile) shouldPrepareOutput = beforePrepareFile(item2, shouldPrepareOutput); @@ -8998,7 +9001,7 @@ var actions = (dispatch2, query, state2) => ({ query: id, item: item2, success: (file2) => { - dispatch2("DID_PREPARE_OUTPUT", { id, file: file2 }); + dispatch2("DID_PREPARE_OUTPUT", {id, file: file2}); loadComplete(); } }, true); @@ -9007,7 +9010,7 @@ var actions = (dispatch2, query, state2) => ({ loadComplete(); }); }; - applyFilterChain("DID_LOAD_ITEM", item2, { query, dispatch: dispatch2 }).then(() => { + applyFilterChain("DID_LOAD_ITEM", item2, {query, dispatch: dispatch2}).then(() => { optionalPromise(query("GET_BEFORE_ADD_FILE"), createItemAPI(item2)).then(handleAdd); }).catch((e2) => { if (!e2 || !e2.error || !e2.status) @@ -9020,10 +9023,10 @@ var actions = (dispatch2, query, state2) => ({ }); }); item2.on("process-start", () => { - dispatch2("DID_START_ITEM_PROCESSING", { id }); + dispatch2("DID_START_ITEM_PROCESSING", {id}); }); item2.on("process-progress", (progress) => { - dispatch2("DID_UPDATE_ITEM_PROCESS_PROGRESS", { id, progress }); + dispatch2("DID_UPDATE_ITEM_PROCESS_PROGRESS", {id, progress}); }); item2.on("process-error", (error2) => { dispatch2("DID_THROW_ITEM_PROCESSING_ERROR", { @@ -9051,40 +9054,40 @@ var actions = (dispatch2, query, state2) => ({ error: null, serverFileReference }); - dispatch2("DID_DEFINE_VALUE", { id, value: serverFileReference }); + dispatch2("DID_DEFINE_VALUE", {id, value: serverFileReference}); }); item2.on("process-abort", () => { - dispatch2("DID_ABORT_ITEM_PROCESSING", { id }); + dispatch2("DID_ABORT_ITEM_PROCESSING", {id}); }); item2.on("process-revert", () => { - dispatch2("DID_REVERT_ITEM_PROCESSING", { id }); - dispatch2("DID_DEFINE_VALUE", { id, value: null }); + dispatch2("DID_REVERT_ITEM_PROCESSING", {id}); + dispatch2("DID_DEFINE_VALUE", {id, value: null}); }); - dispatch2("DID_ADD_ITEM", { id, index, interactionMethod }); + dispatch2("DID_ADD_ITEM", {id, index, interactionMethod}); listUpdated(dispatch2, state2); - const { url, load, restore, fetch: fetch2 } = state2.options.server || {}; + const {url, load, restore, fetch: fetch2} = state2.options.server || {}; item2.load(source, createFileLoader(origin === FileOrigin.INPUT ? isString(source) && isExternalURL(source) ? fetch2 ? createFetchFunction(url, fetch2) : fetchBlob : fetchBlob : origin === FileOrigin.LIMBO ? createFetchFunction(url, restore) : createFetchFunction(url, load)), (file2, success2, error2) => { - applyFilterChain("LOAD_FILE", file2, { query }).then(success2).catch(error2); + applyFilterChain("LOAD_FILE", file2, {query}).then(success2).catch(error2); }); }, - REQUEST_PREPARE_OUTPUT: ({ item: item2, success, failure = () => { - } }) => { + REQUEST_PREPARE_OUTPUT: ({item: item2, success, failure = () => { + }}) => { const err = { error: createResponse("error", 0, "Item not found"), file: null }; if (item2.archived) return failure(err); - applyFilterChain("PREPARE_OUTPUT", item2.file, { query, item: item2 }).then((result) => { - applyFilterChain("COMPLETE_PREPARE_OUTPUT", result, { query, item: item2 }).then((result2) => { + applyFilterChain("PREPARE_OUTPUT", item2.file, {query, item: item2}).then((result) => { + applyFilterChain("COMPLETE_PREPARE_OUTPUT", result, {query, item: item2}).then((result2) => { if (item2.archived) return failure(err); success(result2); }); }); }, - COMPLETE_LOAD_ITEM: ({ item: item2, data: data3 }) => { - const { success, source } = data3; + COMPLETE_LOAD_ITEM: ({item: item2, data: data3}) => { + const {success, source} = data3; const itemInsertLocation = query("GET_ITEM_INSERT_LOCATION"); if (isFunction(itemInsertLocation) && source) { sortItems(state2, itemInsertLocation); @@ -9096,7 +9099,7 @@ var actions = (dispatch2, query, state2) => ({ }); success(createItemAPI(item2)); if (item2.origin === FileOrigin.LOCAL) { - dispatch2("DID_LOAD_LOCAL_ITEM", { id: item2.id }); + dispatch2("DID_LOAD_LOCAL_ITEM", {id: item2.id}); return; } if (item2.origin === FileOrigin.LIMBO) { @@ -9112,7 +9115,7 @@ var actions = (dispatch2, query, state2) => ({ return; } if (query("IS_ASYNC") && state2.options.instantUpload) { - dispatch2("REQUEST_ITEM_PROCESSING", { query: item2.id }); + dispatch2("REQUEST_ITEM_PROCESSING", {query: item2.id}); } }, RETRY_ITEM_LOAD: getItemByQueryFromState(state2, (item2) => { @@ -9123,7 +9126,7 @@ var actions = (dispatch2, query, state2) => ({ query: item2.id, item: item2, success: (file2) => { - dispatch2("DID_PREPARE_OUTPUT", { id: item2.id, file: file2 }); + dispatch2("DID_PREPARE_OUTPUT", {id: item2.id, file: file2}); success({ file: item2, output: file2 @@ -9135,7 +9138,7 @@ var actions = (dispatch2, query, state2) => ({ REQUEST_ITEM_PROCESSING: getItemByQueryFromState(state2, (item2, success, failure) => { const itemCanBeQueuedForProcessing = item2.status === ItemStatus.IDLE || item2.status === ItemStatus.PROCESSING_ERROR; if (!itemCanBeQueuedForProcessing) { - const processNow = () => dispatch2("REQUEST_ITEM_PROCESSING", { query: item2, success, failure }); + const processNow = () => dispatch2("REQUEST_ITEM_PROCESSING", {query: item2, success, failure}); const process = () => document.hidden ? processNow() : setTimeout(processNow, 32); if (item2.status === ItemStatus.PROCESSING_COMPLETE || item2.status === ItemStatus.PROCESSING_REVERT_ERROR) { item2.revert(createRevertFunction(state2.options.server.url, state2.options.server.revert), query("GET_FORCE_REVERT")).then(process).catch(() => { @@ -9148,8 +9151,8 @@ var actions = (dispatch2, query, state2) => ({ if (item2.status === ItemStatus.PROCESSING_QUEUED) return; item2.requestProcessing(); - dispatch2("DID_REQUEST_ITEM_PROCESSING", { id: item2.id }); - dispatch2("PROCESS_ITEM", { query: item2, success, failure }, true); + dispatch2("DID_REQUEST_ITEM_PROCESSING", {id: item2.id}); + dispatch2("PROCESS_ITEM", {query: item2, success, failure}, true); }), PROCESS_ITEM: getItemByQueryFromState(state2, (item2, success, failure) => { const maxParallelUploads = query("GET_MAX_PARALLEL_UPLOADS"); @@ -9168,13 +9171,13 @@ var actions = (dispatch2, query, state2) => ({ const queueEntry = state2.processingQueue.shift(); if (!queueEntry) return; - const { id, success: success2, failure: failure2 } = queueEntry; + const {id, success: success2, failure: failure2} = queueEntry; const itemReference = getItemByQuery(state2.items, id); if (!itemReference || itemReference.archived) { processNext(); return; } - dispatch2("PROCESS_ITEM", { query: id, success: success2, failure: failure2 }, true); + dispatch2("PROCESS_ITEM", {query: id, success: success2, failure: failure2}, true); }; item2.onOnce("process-complete", () => { success(createItemAPI(item2)); @@ -9193,7 +9196,7 @@ var actions = (dispatch2, query, state2) => ({ } }); item2.onOnce("process-error", (error2) => { - failure({ error: error2, file: createItemAPI(item2) }); + failure({error: error2, file: createItemAPI(item2)}); processNext(); }); const options = state2.options; @@ -9207,21 +9210,21 @@ var actions = (dispatch2, query, state2) => ({ }), { allowMinimumUploadDuration: query("GET_ALLOW_MINIMUM_UPLOAD_DURATION") }), (file2, success2, error2) => { - applyFilterChain("PREPARE_OUTPUT", file2, { query, item: item2 }).then((file3) => { - dispatch2("DID_PREPARE_OUTPUT", { id: item2.id, file: file3 }); + applyFilterChain("PREPARE_OUTPUT", file2, {query, item: item2}).then((file3) => { + dispatch2("DID_PREPARE_OUTPUT", {id: item2.id, file: file3}); success2(file3); }).catch(error2); }); }), RETRY_ITEM_PROCESSING: getItemByQueryFromState(state2, (item2) => { - dispatch2("REQUEST_ITEM_PROCESSING", { query: item2 }); + dispatch2("REQUEST_ITEM_PROCESSING", {query: item2}); }), REQUEST_REMOVE_ITEM: getItemByQueryFromState(state2, (item2) => { optionalPromise(query("GET_BEFORE_REMOVE_FILE"), createItemAPI(item2)).then((shouldRemove) => { if (!shouldRemove) { return; } - dispatch2("REMOVE_ITEM", { query: item2 }); + dispatch2("REMOVE_ITEM", {query: item2}); }); }), RELEASE_ITEM: getItemByQueryFromState(state2, (item2) => { @@ -9231,13 +9234,13 @@ var actions = (dispatch2, query, state2) => ({ const removeFromView = () => { const id = item2.id; getItemById(state2.items, id).archive(); - dispatch2("DID_REMOVE_ITEM", { error: null, id, item: item2 }); + dispatch2("DID_REMOVE_ITEM", {error: null, id, item: item2}); listUpdated(dispatch2, state2); success(createItemAPI(item2)); }; const server = state2.options.server; if (item2.origin === FileOrigin.LOCAL && server && isFunction(server.remove) && options.remove !== false) { - dispatch2("DID_START_ITEM_REMOVE", { id: item2.id }); + dispatch2("DID_START_ITEM_REMOVE", {id: item2.id}); server.remove(item2.source, () => removeFromView(), (status) => { dispatch2("DID_THROW_ITEM_REMOVE_ERROR", { id: item2.id, @@ -9260,25 +9263,25 @@ var actions = (dispatch2, query, state2) => ({ }), ABORT_ITEM_PROCESSING: getItemByQueryFromState(state2, (item2) => { if (item2.serverId) { - dispatch2("REVERT_ITEM_PROCESSING", { id: item2.id }); + dispatch2("REVERT_ITEM_PROCESSING", {id: item2.id}); return; } item2.abortProcessing().then(() => { const shouldRemove = state2.options.instantUpload; if (shouldRemove) { - dispatch2("REMOVE_ITEM", { query: item2.id }); + dispatch2("REMOVE_ITEM", {query: item2.id}); } }); }), REQUEST_REVERT_ITEM_PROCESSING: getItemByQueryFromState(state2, (item2) => { if (!state2.options.instantUpload) { - dispatch2("REVERT_ITEM_PROCESSING", { query: item2 }); + dispatch2("REVERT_ITEM_PROCESSING", {query: item2}); return; } const handleRevert2 = (shouldRevert) => { if (!shouldRevert) return; - dispatch2("REVERT_ITEM_PROCESSING", { query: item2 }); + dispatch2("REVERT_ITEM_PROCESSING", {query: item2}); }; const fn2 = query("GET_BEFORE_REMOVE_FILE"); if (!fn2) { @@ -9299,12 +9302,12 @@ var actions = (dispatch2, query, state2) => ({ item2.revert(createRevertFunction(state2.options.server.url, state2.options.server.revert), query("GET_FORCE_REVERT")).then(() => { const shouldRemove = state2.options.instantUpload || isMockItem(item2); if (shouldRemove) { - dispatch2("REMOVE_ITEM", { query: item2.id }); + dispatch2("REMOVE_ITEM", {query: item2.id}); } }).catch(() => { }); }), - SET_OPTIONS: ({ options }) => { + SET_OPTIONS: ({options}) => { const optionKeys = Object.keys(options); const prioritizedOptionKeys = PrioritizedOptions.filter((key) => optionKeys.includes(key)); const orderedOptionKeys = [ @@ -9356,7 +9359,7 @@ var percentageArc = (x, y, radius, from, to) => { } return describeArc(x, y, radius, Math.min(0.9999, from) * 360, Math.min(0.9999, to) * 360, arcSweep); }; -var create = ({ root: root2, props }) => { +var create = ({root: root2, props}) => { props.spin = false; props.progress = 0; props.opacity = 0; @@ -9369,7 +9372,7 @@ var create = ({ root: root2, props }) => { root2.ref.svg = svg3; root2.appendChild(svg3); }; -var write = ({ root: root2, props }) => { +var write = ({root: root2, props}) => { if (props.opacity === 0) { return; } @@ -9402,7 +9405,7 @@ var progressIndicator = createView({ apis: ["progress", "spin", "align"], styles: ["opacity"], animations: { - opacity: { type: "tween", duration: 500 }, + opacity: {type: "tween", duration: 500}, progress: { type: "spring", stiffness: 0.95, @@ -9412,12 +9415,12 @@ var progressIndicator = createView({ } } }); -var create$1 = ({ root: root2, props }) => { +var create$1 = ({root: root2, props}) => { root2.element.innerHTML = (props.icon || "") + `${props.label}`; props.isDisabled = false; }; -var write$1 = ({ root: root2, props }) => { - const { isDisabled } = props; +var write$1 = ({root: root2, props}) => { + const {isDisabled} = props; const shouldDisable = root2.query("GET_DISABLED") || props.opacity === 0; if (shouldDisable && !isDisabled) { props.isDisabled = true; @@ -9443,7 +9446,7 @@ var fileActionButton = createView({ scaleY: "spring", translateX: "spring", translateY: "spring", - opacity: { type: "tween", duration: 250 } + opacity: {type: "tween", duration: 250} }, listeners: true }, @@ -9475,7 +9478,7 @@ var toNaturalFileSize = (bytes, decimalSeparator = ".", base = 1e3, options = {} var removeDecimalsWhenZero = (value, decimalCount, separator) => { return value.toFixed(decimalCount).split(".").filter((part) => part !== "0").join(separator); }; -var create$2 = ({ root: root2, props }) => { +var create$2 = ({root: root2, props}) => { const fileName = createElement$1("span"); fileName.className = "filepond--file-info-main"; attr(fileName, "aria-hidden", "true"); @@ -9488,13 +9491,13 @@ var create$2 = ({ root: root2, props }) => { text(fileSize, root2.query("GET_LABEL_FILE_WAITING_FOR_SIZE")); text(fileName, formatFilename(root2.query("GET_ITEM_NAME", props.id))); }; -var updateFile = ({ root: root2, props }) => { +var updateFile = ({root: root2, props}) => { text(root2.ref.fileSize, toNaturalFileSize(root2.query("GET_ITEM_SIZE", props.id), ".", root2.query("GET_FILE_SIZE_BASE"), root2.query("GET_FILE_SIZE_LABELS", root2.query))); text(root2.ref.fileName, formatFilename(root2.query("GET_ITEM_NAME", props.id))); }; -var updateFileSizeOnError = ({ root: root2, props }) => { +var updateFileSizeOnError = ({root: root2, props}) => { if (isInt(root2.query("GET_ITEM_SIZE", props.id))) { - updateFile({ root: root2, props }); + updateFile({root: root2, props}); return; } text(root2.ref.fileSize, root2.query("GET_LABEL_FILE_SIZE_NOT_AVAILABLE")); @@ -9510,7 +9513,7 @@ var fileInfo = createView({ DID_THROW_ITEM_INVALID: updateFileSizeOnError }), didCreateView: (root2) => { - applyFilters("CREATE_VIEW", { ...root2, view: root2 }); + applyFilters("CREATE_VIEW", {...root2, view: root2}); }, create: create$2, mixins: { @@ -9522,7 +9525,7 @@ var fileInfo = createView({ } }); var toPercentage = (value) => Math.round(value * 100); -var create$3 = ({ root: root2 }) => { +var create$3 = ({root: root2}) => { const main = createElement$1("span"); main.className = "filepond--file-status-main"; root2.appendChild(main); @@ -9531,35 +9534,35 @@ var create$3 = ({ root: root2 }) => { sub.className = "filepond--file-status-sub"; root2.appendChild(sub); root2.ref.sub = sub; - didSetItemLoadProgress({ root: root2, action: { progress: null } }); + didSetItemLoadProgress({root: root2, action: {progress: null}}); }; -var didSetItemLoadProgress = ({ root: root2, action }) => { +var didSetItemLoadProgress = ({root: root2, action}) => { const title = action.progress === null ? root2.query("GET_LABEL_FILE_LOADING") : `${root2.query("GET_LABEL_FILE_LOADING")} ${toPercentage(action.progress)}%`; text(root2.ref.main, title); text(root2.ref.sub, root2.query("GET_LABEL_TAP_TO_CANCEL")); }; -var didSetItemProcessProgress = ({ root: root2, action }) => { +var didSetItemProcessProgress = ({root: root2, action}) => { const title = action.progress === null ? root2.query("GET_LABEL_FILE_PROCESSING") : `${root2.query("GET_LABEL_FILE_PROCESSING")} ${toPercentage(action.progress)}%`; text(root2.ref.main, title); text(root2.ref.sub, root2.query("GET_LABEL_TAP_TO_CANCEL")); }; -var didRequestItemProcessing = ({ root: root2 }) => { +var didRequestItemProcessing = ({root: root2}) => { text(root2.ref.main, root2.query("GET_LABEL_FILE_PROCESSING")); text(root2.ref.sub, root2.query("GET_LABEL_TAP_TO_CANCEL")); }; -var didAbortItemProcessing = ({ root: root2 }) => { +var didAbortItemProcessing = ({root: root2}) => { text(root2.ref.main, root2.query("GET_LABEL_FILE_PROCESSING_ABORTED")); text(root2.ref.sub, root2.query("GET_LABEL_TAP_TO_RETRY")); }; -var didCompleteItemProcessing = ({ root: root2 }) => { +var didCompleteItemProcessing = ({root: root2}) => { text(root2.ref.main, root2.query("GET_LABEL_FILE_PROCESSING_COMPLETE")); text(root2.ref.sub, root2.query("GET_LABEL_TAP_TO_UNDO")); }; -var clear = ({ root: root2 }) => { +var clear = ({root: root2}) => { text(root2.ref.main, ""); text(root2.ref.sub, ""); }; -var error = ({ root: root2, action }) => { +var error = ({root: root2, action}) => { text(root2.ref.main, action.status.main); text(root2.ref.sub, action.status.sub); }; @@ -9582,13 +9585,13 @@ var fileStatus = createView({ DID_THROW_ITEM_REMOVE_ERROR: error }), didCreateView: (root2) => { - applyFilters("CREATE_VIEW", { ...root2, view: root2 }); + applyFilters("CREATE_VIEW", {...root2, view: root2}); }, create: create$3, mixins: { styles: ["translateX", "translateY", "opacity"], animations: { - opacity: { type: "tween", duration: 250 }, + opacity: {type: "tween", duration: 250}, translateX: "spring", translateY: "spring" } @@ -9663,93 +9666,93 @@ var getLoadIndicatorAlignment = (root2) => root2.query("GET_STYLE_LOAD_INDICATOR var getProcessIndicatorAlignment = (root2) => root2.query("GET_STYLE_PROGRESS_INDICATOR_POSITION"); var getRemoveIndicatorAligment = (root2) => root2.query("GET_STYLE_BUTTON_REMOVE_ITEM_POSITION"); var DefaultStyle = { - buttonAbortItemLoad: { opacity: 0 }, - buttonRetryItemLoad: { opacity: 0 }, - buttonRemoveItem: { opacity: 0 }, - buttonProcessItem: { opacity: 0 }, - buttonAbortItemProcessing: { opacity: 0 }, - buttonRetryItemProcessing: { opacity: 0 }, - buttonRevertItemProcessing: { opacity: 0 }, - loadProgressIndicator: { opacity: 0, align: getLoadIndicatorAlignment }, - processProgressIndicator: { opacity: 0, align: getProcessIndicatorAlignment }, - processingCompleteIndicator: { opacity: 0, scaleX: 0.75, scaleY: 0.75 }, - info: { translateX: 0, translateY: 0, opacity: 0 }, - status: { translateX: 0, translateY: 0, opacity: 0 } + buttonAbortItemLoad: {opacity: 0}, + buttonRetryItemLoad: {opacity: 0}, + buttonRemoveItem: {opacity: 0}, + buttonProcessItem: {opacity: 0}, + buttonAbortItemProcessing: {opacity: 0}, + buttonRetryItemProcessing: {opacity: 0}, + buttonRevertItemProcessing: {opacity: 0}, + loadProgressIndicator: {opacity: 0, align: getLoadIndicatorAlignment}, + processProgressIndicator: {opacity: 0, align: getProcessIndicatorAlignment}, + processingCompleteIndicator: {opacity: 0, scaleX: 0.75, scaleY: 0.75}, + info: {translateX: 0, translateY: 0, opacity: 0}, + status: {translateX: 0, translateY: 0, opacity: 0} }; var IdleStyle = { - buttonRemoveItem: { opacity: 1 }, - buttonProcessItem: { opacity: 1 }, - info: { translateX: calculateFileInfoOffset }, - status: { translateX: calculateFileInfoOffset } + buttonRemoveItem: {opacity: 1}, + buttonProcessItem: {opacity: 1}, + info: {translateX: calculateFileInfoOffset}, + status: {translateX: calculateFileInfoOffset} }; var ProcessingStyle = { - buttonAbortItemProcessing: { opacity: 1 }, - processProgressIndicator: { opacity: 1 }, - status: { opacity: 1 } + buttonAbortItemProcessing: {opacity: 1}, + processProgressIndicator: {opacity: 1}, + status: {opacity: 1} }; var StyleMap = { DID_THROW_ITEM_INVALID: { - buttonRemoveItem: { opacity: 1 }, - info: { translateX: calculateFileInfoOffset }, - status: { translateX: calculateFileInfoOffset, opacity: 1 } + buttonRemoveItem: {opacity: 1}, + info: {translateX: calculateFileInfoOffset}, + status: {translateX: calculateFileInfoOffset, opacity: 1} }, DID_START_ITEM_LOAD: { - buttonAbortItemLoad: { opacity: 1 }, - loadProgressIndicator: { opacity: 1 }, - status: { opacity: 1 } + buttonAbortItemLoad: {opacity: 1}, + loadProgressIndicator: {opacity: 1}, + status: {opacity: 1} }, DID_THROW_ITEM_LOAD_ERROR: { - buttonRetryItemLoad: { opacity: 1 }, - buttonRemoveItem: { opacity: 1 }, - info: { translateX: calculateFileInfoOffset }, - status: { opacity: 1 } + buttonRetryItemLoad: {opacity: 1}, + buttonRemoveItem: {opacity: 1}, + info: {translateX: calculateFileInfoOffset}, + status: {opacity: 1} }, DID_START_ITEM_REMOVE: { - processProgressIndicator: { opacity: 1, align: getRemoveIndicatorAligment }, - info: { translateX: calculateFileInfoOffset }, - status: { opacity: 0 } + processProgressIndicator: {opacity: 1, align: getRemoveIndicatorAligment}, + info: {translateX: calculateFileInfoOffset}, + status: {opacity: 0} }, DID_THROW_ITEM_REMOVE_ERROR: { - processProgressIndicator: { opacity: 0, align: getRemoveIndicatorAligment }, - buttonRemoveItem: { opacity: 1 }, - info: { translateX: calculateFileInfoOffset }, - status: { opacity: 1, translateX: calculateFileInfoOffset } + processProgressIndicator: {opacity: 0, align: getRemoveIndicatorAligment}, + buttonRemoveItem: {opacity: 1}, + info: {translateX: calculateFileInfoOffset}, + status: {opacity: 1, translateX: calculateFileInfoOffset} }, DID_LOAD_ITEM: IdleStyle, DID_LOAD_LOCAL_ITEM: { - buttonRemoveItem: { opacity: 1 }, - info: { translateX: calculateFileInfoOffset }, - status: { translateX: calculateFileInfoOffset } + buttonRemoveItem: {opacity: 1}, + info: {translateX: calculateFileInfoOffset}, + status: {translateX: calculateFileInfoOffset} }, DID_START_ITEM_PROCESSING: ProcessingStyle, DID_REQUEST_ITEM_PROCESSING: ProcessingStyle, DID_UPDATE_ITEM_PROCESS_PROGRESS: ProcessingStyle, DID_COMPLETE_ITEM_PROCESSING: { - buttonRevertItemProcessing: { opacity: 1 }, - info: { opacity: 1 }, - status: { opacity: 1 } + buttonRevertItemProcessing: {opacity: 1}, + info: {opacity: 1}, + status: {opacity: 1} }, DID_THROW_ITEM_PROCESSING_ERROR: { - buttonRemoveItem: { opacity: 1 }, - buttonRetryItemProcessing: { opacity: 1 }, - status: { opacity: 1 }, - info: { translateX: calculateFileInfoOffset } + buttonRemoveItem: {opacity: 1}, + buttonRetryItemProcessing: {opacity: 1}, + status: {opacity: 1}, + info: {translateX: calculateFileInfoOffset} }, DID_THROW_ITEM_PROCESSING_REVERT_ERROR: { - buttonRevertItemProcessing: { opacity: 1 }, - status: { opacity: 1 }, - info: { opacity: 1 } + buttonRevertItemProcessing: {opacity: 1}, + status: {opacity: 1}, + info: {opacity: 1} }, DID_ABORT_ITEM_PROCESSING: { - buttonRemoveItem: { opacity: 1 }, - buttonProcessItem: { opacity: 1 }, - info: { translateX: calculateFileInfoOffset }, - status: { opacity: 1 } + buttonRemoveItem: {opacity: 1}, + buttonProcessItem: {opacity: 1}, + info: {translateX: calculateFileInfoOffset}, + status: {opacity: 1} }, DID_REVERT_ITEM_PROCESSING: IdleStyle }; var processingCompleteIndicatorView = createView({ - create: ({ root: root2 }) => { + create: ({root: root2}) => { root2.element.innerHTML = root2.query("GET_ICON_DONE"); }, name: "processing-complete-indicator", @@ -9759,16 +9762,16 @@ var processingCompleteIndicatorView = createView({ animations: { scaleX: "spring", scaleY: "spring", - opacity: { type: "tween", duration: 250 } + opacity: {type: "tween", duration: 250} } } }); -var create$4 = ({ root: root2, props }) => { +var create$4 = ({root: root2, props}) => { const LocalButtons = Object.keys(Buttons).reduce((prev, curr) => { - prev[curr] = { ...Buttons[curr] }; + prev[curr] = {...Buttons[curr]}; return prev; }, {}); - const { id } = props; + const {id} = props; const allowRevert = root2.query("GET_ALLOW_REVERT"); const allowRemove = root2.query("GET_ALLOW_REMOVE"); const allowProcess = root2.query("GET_ALLOW_PROCESS"); @@ -9797,7 +9800,7 @@ var create$4 = ({ root: root2, props }) => { map2.info.translateX = calculateFileHorizontalCenterOffset; map2.info.translateY = calculateFileVerticalCenterOffset; map2.status.translateY = calculateFileVerticalCenterOffset; - map2.processingCompleteIndicator = { opacity: 1, scaleX: 1, scaleY: 1 }; + map2.processingCompleteIndicator = {opacity: 1, scaleX: 1, scaleY: 1}; } if (isAsync2 && !allowProcess) { [ @@ -9815,7 +9818,7 @@ var create$4 = ({ root: root2, props }) => { const map2 = StyleMap["DID_COMPLETE_ITEM_PROCESSING"]; map2.info.translateX = calculateFileInfoOffset; map2.status.translateY = calculateFileVerticalCenterOffset; - map2.processingCompleteIndicator = { opacity: 1, scaleX: 1, scaleY: 1 }; + map2.processingCompleteIndicator = {opacity: 1, scaleX: 1, scaleY: 1}; } if (!allowRemove) { LocalButtons["RemoveItem"].disabled = true; @@ -9839,14 +9842,14 @@ var create$4 = ({ root: root2, props }) => { e2.stopPropagation(); if (definition.disabled) return; - root2.dispatch(definition.action, { query: id }); + root2.dispatch(definition.action, {query: id}); }); root2.ref[`button${key}`] = buttonView; }); root2.ref.processingCompleteIndicator = root2.appendChildView(root2.createChildView(processingCompleteIndicatorView)); root2.ref.processingCompleteIndicator.element.dataset.align = root2.query(`GET_STYLE_BUTTON_PROCESS_ITEM_POSITION`); - root2.ref.info = root2.appendChildView(root2.createChildView(fileInfo, { id })); - root2.ref.status = root2.appendChildView(root2.createChildView(fileStatus, { id })); + root2.ref.info = root2.appendChildView(root2.createChildView(fileInfo, {id})); + root2.ref.status = root2.appendChildView(root2.createChildView(fileStatus, {id})); const loadIndicatorView = root2.appendChildView(root2.createChildView(progressIndicator, { opacity: 0, align: root2.query(`GET_STYLE_LOAD_INDICATOR_POSITION`) @@ -9861,8 +9864,8 @@ var create$4 = ({ root: root2, props }) => { root2.ref.processProgressIndicator = progressIndicatorView; root2.ref.activeStyles = []; }; -var write$2 = ({ root: root2, actions: actions2, props }) => { - route({ root: root2, actions: actions2, props }); +var write$2 = ({root: root2, actions: actions2, props}) => { + route({root: root2, actions: actions2, props}); let action = actions2.concat().filter((action2) => /^DID_/.test(action2.type)).reverse().find((action2) => StyleMap[action2.type]); if (action) { root2.ref.activeStyles = []; @@ -9871,41 +9874,41 @@ var write$2 = ({ root: root2, actions: actions2, props }) => { const control = root2.ref[name2]; forin(defaultStyles, (key, defaultValue) => { const value = stylesToApply[name2] && typeof stylesToApply[name2][key] !== "undefined" ? stylesToApply[name2][key] : defaultValue; - root2.ref.activeStyles.push({ control, key, value }); + root2.ref.activeStyles.push({control, key, value}); }); }); } - root2.ref.activeStyles.forEach(({ control, key, value }) => { + root2.ref.activeStyles.forEach(({control, key, value}) => { control[key] = typeof value === "function" ? value(root2) : value; }); }; var route = createRoute({ - DID_SET_LABEL_BUTTON_ABORT_ITEM_PROCESSING: ({ root: root2, action }) => { + DID_SET_LABEL_BUTTON_ABORT_ITEM_PROCESSING: ({root: root2, action}) => { root2.ref.buttonAbortItemProcessing.label = action.value; }, - DID_SET_LABEL_BUTTON_ABORT_ITEM_LOAD: ({ root: root2, action }) => { + DID_SET_LABEL_BUTTON_ABORT_ITEM_LOAD: ({root: root2, action}) => { root2.ref.buttonAbortItemLoad.label = action.value; }, - DID_SET_LABEL_BUTTON_ABORT_ITEM_REMOVAL: ({ root: root2, action }) => { + DID_SET_LABEL_BUTTON_ABORT_ITEM_REMOVAL: ({root: root2, action}) => { root2.ref.buttonAbortItemRemoval.label = action.value; }, - DID_REQUEST_ITEM_PROCESSING: ({ root: root2 }) => { + DID_REQUEST_ITEM_PROCESSING: ({root: root2}) => { root2.ref.processProgressIndicator.spin = true; root2.ref.processProgressIndicator.progress = 0; }, - DID_START_ITEM_LOAD: ({ root: root2 }) => { + DID_START_ITEM_LOAD: ({root: root2}) => { root2.ref.loadProgressIndicator.spin = true; root2.ref.loadProgressIndicator.progress = 0; }, - DID_START_ITEM_REMOVE: ({ root: root2 }) => { + DID_START_ITEM_REMOVE: ({root: root2}) => { root2.ref.processProgressIndicator.spin = true; root2.ref.processProgressIndicator.progress = 0; }, - DID_UPDATE_ITEM_LOAD_PROGRESS: ({ root: root2, action }) => { + DID_UPDATE_ITEM_LOAD_PROGRESS: ({root: root2, action}) => { root2.ref.loadProgressIndicator.spin = false; root2.ref.loadProgressIndicator.progress = action.progress; }, - DID_UPDATE_ITEM_PROCESS_PROGRESS: ({ root: root2, action }) => { + DID_UPDATE_ITEM_PROCESS_PROGRESS: ({root: root2, action}) => { root2.ref.processProgressIndicator.spin = false; root2.ref.processProgressIndicator.progress = action.progress; } @@ -9914,17 +9917,17 @@ var file = createView({ create: create$4, write: write$2, didCreateView: (root2) => { - applyFilters("CREATE_VIEW", { ...root2, view: root2 }); + applyFilters("CREATE_VIEW", {...root2, view: root2}); }, name: "file" }); -var create$5 = ({ root: root2, props }) => { +var create$5 = ({root: root2, props}) => { root2.ref.fileName = createElement$1("legend"); root2.appendChild(root2.ref.fileName); - root2.ref.file = root2.appendChildView(root2.createChildView(file, { id: props.id })); + root2.ref.file = root2.appendChildView(root2.createChildView(file, {id: props.id})); root2.ref.data = false; }; -var didLoadItem = ({ root: root2, props }) => { +var didLoadItem = ({root: root2, props}) => { text(root2.ref.fileName, formatFilename(root2.query("GET_ITEM_NAME", props.id))); }; var fileWrapper = createView({ @@ -9934,13 +9937,13 @@ var fileWrapper = createView({ DID_LOAD_ITEM: didLoadItem }), didCreateView: (root2) => { - applyFilters("CREATE_VIEW", { ...root2, view: root2 }); + applyFilters("CREATE_VIEW", {...root2, view: root2}); }, tag: "fieldset", name: "file-wrapper" }); -var PANEL_SPRING_PROPS = { type: "spring", damping: 0.6, mass: 7 }; -var create$6 = ({ root: root2, props }) => { +var PANEL_SPRING_PROPS = {type: "spring", damping: 0.6, mass: 7}; +var create$6 = ({root: root2, props}) => { [ { name: "top" @@ -9985,7 +9988,7 @@ var createSection = (root2, section, className) => { const view = root2.createChildView(viewConstructor, section.props); root2.ref[section.name] = root2.appendChildView(view); }; -var write$3 = ({ root: root2, props }) => { +var write$3 = ({root: root2, props}) => { if (root2.ref.scalable === null || props.scalable !== root2.ref.scalable) { root2.ref.scalable = isBoolean(props.scalable) ? props.scalable : true; root2.element.dataset.scalable = root2.ref.scalable; @@ -10001,7 +10004,7 @@ var write$3 = ({ root: root2, props }) => { }; var panel = createView({ name: "panel", - read: ({ root: root2, props }) => props.heightCurrent = root2.ref.bottom.translateY, + read: ({root: root2, props}) => props.heightCurrent = root2.ref.bottom.translateY, write: write$3, create: create$6, ignoreRect: true, @@ -10044,12 +10047,12 @@ var StateMap = { DID_ABORT_ITEM_PROCESSING: "cancelled", DID_REVERT_ITEM_PROCESSING: "idle" }; -var create$7 = ({ root: root2, props }) => { - root2.ref.handleClick = (e2) => root2.dispatch("DID_ACTIVATE_ITEM", { id: props.id }); +var create$7 = ({root: root2, props}) => { + root2.ref.handleClick = (e2) => root2.dispatch("DID_ACTIVATE_ITEM", {id: props.id}); root2.element.id = `filepond--item-${props.id}`; root2.element.addEventListener("click", root2.ref.handleClick); - root2.ref.container = root2.appendChildView(root2.createChildView(fileWrapper, { id: props.id })); - root2.ref.panel = root2.appendChildView(root2.createChildView(panel, { name: "item-panel" })); + root2.ref.container = root2.appendChildView(root2.createChildView(fileWrapper, {id: props.id})); + root2.ref.panel = root2.appendChildView(root2.createChildView(panel, {name: "item-panel"})); root2.ref.panel.height = null; props.markedForRemoval = false; if (!root2.query("GET_ALLOW_REORDER")) @@ -10072,7 +10075,7 @@ var create$7 = ({ root: root2, props }) => { y: e2.offsetY }; const dragState = createDragHelper(root2.query("GET_ACTIVE_ITEMS")); - root2.dispatch("DID_GRAB_ITEM", { id: props.id, dragState }); + root2.dispatch("DID_GRAB_ITEM", {id: props.id, dragState}); const drag = (e3) => { if (!e3.isPrimary) return; @@ -10087,7 +10090,7 @@ var create$7 = ({ root: root2, props }) => { removedActivateListener = true; root2.element.removeEventListener("click", root2.ref.handleClick); } - root2.dispatch("DID_DRAG_ITEM", { id: props.id, dragState }); + root2.dispatch("DID_DRAG_ITEM", {id: props.id, dragState}); }; const drop2 = (e3) => { if (!e3.isPrimary) @@ -10098,7 +10101,7 @@ var create$7 = ({ root: root2, props }) => { x: e3.pageX - origin.x, y: e3.pageY - origin.y }; - root2.dispatch("DID_DROP_ITEM", { id: props.id, dragState }); + root2.dispatch("DID_DROP_ITEM", {id: props.id, dragState}); if (removedActivateListener) { setTimeout(() => root2.element.addEventListener("click", root2.ref.handleClick), 0); } @@ -10109,26 +10112,26 @@ var create$7 = ({ root: root2, props }) => { root2.element.addEventListener("pointerdown", grab); }; var route$1 = createRoute({ - DID_UPDATE_PANEL_HEIGHT: ({ root: root2, action }) => { + DID_UPDATE_PANEL_HEIGHT: ({root: root2, action}) => { root2.height = action.height; } }); var write$4 = createRoute({ - DID_GRAB_ITEM: ({ root: root2, props }) => { + DID_GRAB_ITEM: ({root: root2, props}) => { props.dragOrigin = { x: root2.translateX, y: root2.translateY }; }, - DID_DRAG_ITEM: ({ root: root2 }) => { + DID_DRAG_ITEM: ({root: root2}) => { root2.element.dataset.dragState = "drag"; }, - DID_DROP_ITEM: ({ root: root2, props }) => { + DID_DROP_ITEM: ({root: root2, props}) => { props.dragOffset = null; props.dragOrigin = null; root2.element.dataset.dragState = "drop"; } -}, ({ root: root2, actions: actions2, props, shouldOptimize }) => { +}, ({root: root2, actions: actions2, props, shouldOptimize}) => { if (root2.element.dataset.dragState === "drop") { if (root2.scaleX <= 1) { root2.element.dataset.dragState = "idle"; @@ -10141,7 +10144,7 @@ var write$4 = createRoute({ } const aspectRatio = root2.query("GET_ITEM_PANEL_ASPECT_RATIO") || root2.query("GET_PANEL_ASPECT_RATIO"); if (!aspectRatio) { - route$1({ root: root2, actions: actions2, props }); + route$1({root: root2, actions: actions2, props}); if (!root2.height && root2.ref.container.rect.element.height > 0) { root2.height = root2.ref.container.rect.element.height; } @@ -10156,9 +10159,9 @@ var write$4 = createRoute({ var item = createView({ create: create$7, write: write$4, - destroy: ({ root: root2, props }) => { + destroy: ({root: root2, props}) => { root2.element.removeEventListener("click", root2.ref.handleClick); - root2.dispatch("RELEASE_ITEM", { query: props.id }); + root2.dispatch("RELEASE_ITEM", {query: props.id}); }, tag: "li", name: "item", @@ -10178,7 +10181,7 @@ var item = createView({ scaleY: ITEM_SCALE_SPRING, translateX: ITEM_TRANSLATE_SPRING, translateY: ITEM_TRANSLATE_SPRING, - opacity: { type: "tween", duration: 150 } + opacity: {type: "tween", duration: 150} } } }); @@ -10257,12 +10260,12 @@ var dropAreaDimensions = { this.width = width; } }; -var create$8 = ({ root: root2 }) => { +var create$8 = ({root: root2}) => { attr(root2.element, "role", "list"); root2.ref.lastItemSpanwDate = Date.now(); }; -var addItemView = ({ root: root2, action }) => { - const { id, index, interactionMethod } = action; +var addItemView = ({root: root2, action}) => { + const {id, index, interactionMethod} = action; root2.ref.addIndex = index; const now = Date.now(); let spawnDate = now; @@ -10324,8 +10327,8 @@ var introItemView = (item2, x, y, vx, vy) => { item2.translateY = null; } }; -var removeItemView = ({ root: root2, action }) => { - const { id } = action; +var removeItemView = ({root: root2, action}) => { + const {id} = action; const view = root2.childViews.find((child) => child.id === id); if (!view) { return; @@ -10337,9 +10340,9 @@ var removeItemView = ({ root: root2, action }) => { }; var getItemHeight = (child) => child.rect.element.height + child.rect.element.marginBottom * 0.5 + child.rect.element.marginTop * 0.5; var getItemWidth = (child) => child.rect.element.width + child.rect.element.marginLeft * 0.5 + child.rect.element.marginRight * 0.5; -var dragItem = ({ root: root2, action }) => { - const { id, dragState } = action; - const item2 = root2.query("GET_ITEM", { id }); +var dragItem = ({root: root2, action}) => { + const {id, dragState} = action; + const item2 = root2.query("GET_ITEM", {id}); const view = root2.childViews.find((child) => child.id === id); const numItems = root2.childViews.length; const oldIndex = dragState.getItemIndex(item2); @@ -10396,7 +10399,7 @@ var dragItem = ({ root: root2, action }) => { } }; const index = cols > 1 ? location2.getGridIndex() : location2.getColIndex(); - root2.dispatch("MOVE_ITEM", { query: view, index }); + root2.dispatch("MOVE_ITEM", {query: view, index}); const currentIndex = dragState.getIndex(); if (currentIndex === void 0 || currentIndex !== index) { dragState.setIndex(index); @@ -10414,9 +10417,9 @@ var route$2 = createRoute({ DID_REMOVE_ITEM: removeItemView, DID_DRAG_ITEM: dragItem }); -var write$5 = ({ root: root2, props, actions: actions2, shouldOptimize }) => { - route$2({ root: root2, props, actions: actions2 }); - const { dragCoordinates } = props; +var write$5 = ({root: root2, props, actions: actions2, shouldOptimize}) => { + route$2({root: root2, props, actions: actions2}); + const {dragCoordinates} = props; const horizontalSpace = root2.rect.element.width; const visibleChildren = root2.childViews.filter((child) => child.rect.element.height); const children = root2.query("GET_ACTIVE_ITEMS").map((item2) => visibleChildren.find((child) => child.id === item2.id)).filter((item2) => item2); @@ -10506,7 +10509,7 @@ var list = createView({ write: write$5, tag: "ul", name: "list", - didWriteView: ({ root: root2 }) => { + didWriteView: ({root: root2}) => { root2.childViews.filter((view) => view.markedForRemoval && view.opacity === 0 && view.resting).forEach((view) => { view._destroy(); root2.removeChildView(view); @@ -10517,12 +10520,12 @@ var list = createView({ apis: ["dragCoordinates"] } }); -var create$9 = ({ root: root2, props }) => { +var create$9 = ({root: root2, props}) => { root2.ref.list = root2.appendChildView(root2.createChildView(list)); props.dragCoordinates = null; props.overflowing = false; }; -var storeDragCoordinates = ({ root: root2, props, action }) => { +var storeDragCoordinates = ({root: root2, props, action}) => { if (!root2.query("GET_ITEM_INSERT_LOCATION_FREEDOM")) return; props.dragCoordinates = { @@ -10530,15 +10533,15 @@ var storeDragCoordinates = ({ root: root2, props, action }) => { top: action.position.scopeTop - (root2.rect.outer.top + root2.rect.element.marginTop + root2.rect.element.scrollTop) }; }; -var clearDragCoordinates = ({ props }) => { +var clearDragCoordinates = ({props}) => { props.dragCoordinates = null; }; var route$3 = createRoute({ DID_DRAG: storeDragCoordinates, DID_END_DRAG: clearDragCoordinates }); -var write$6 = ({ root: root2, props, actions: actions2 }) => { - route$3({ root: root2, props, actions: actions2 }); +var write$6 = ({root: root2, props, actions: actions2}) => { + route$3({root: root2, props, actions: actions2}); root2.ref.list.dragCoordinates = props.dragCoordinates; if (props.overflowing && !props.overflow) { props.overflowing = false; @@ -10594,17 +10597,17 @@ var resetFileInput = (input) => { } } }; -var create$a = ({ root: root2, props }) => { +var create$a = ({root: root2, props}) => { root2.element.id = `filepond--browser-${props.id}`; attr(root2.element, "name", root2.query("GET_NAME")); attr(root2.element, "aria-controls", `filepond--assistant-${props.id}`); attr(root2.element, "aria-labelledby", `filepond--drop-label-${props.id}`); - setAcceptedFileTypes({ root: root2, action: { value: root2.query("GET_ACCEPTED_FILE_TYPES") } }); - toggleAllowMultiple({ root: root2, action: { value: root2.query("GET_ALLOW_MULTIPLE") } }); - toggleDirectoryFilter({ root: root2, action: { value: root2.query("GET_ALLOW_DIRECTORIES_ONLY") } }); - toggleDisabled({ root: root2 }); - toggleRequired({ root: root2, action: { value: root2.query("GET_REQUIRED") } }); - setCaptureMethod({ root: root2, action: { value: root2.query("GET_CAPTURE_METHOD") } }); + setAcceptedFileTypes({root: root2, action: {value: root2.query("GET_ACCEPTED_FILE_TYPES")}}); + toggleAllowMultiple({root: root2, action: {value: root2.query("GET_ALLOW_MULTIPLE")}}); + toggleDirectoryFilter({root: root2, action: {value: root2.query("GET_ALLOW_DIRECTORIES_ONLY")}}); + toggleDisabled({root: root2}); + toggleRequired({root: root2, action: {value: root2.query("GET_REQUIRED")}}); + setCaptureMethod({root: root2, action: {value: root2.query("GET_CAPTURE_METHOD")}}); root2.ref.handleChange = (e2) => { if (!root2.element.value) { return; @@ -10620,35 +10623,35 @@ var create$a = ({ root: root2, props }) => { }; root2.element.addEventListener("change", root2.ref.handleChange); }; -var setAcceptedFileTypes = ({ root: root2, action }) => { +var setAcceptedFileTypes = ({root: root2, action}) => { if (!root2.query("GET_ALLOW_SYNC_ACCEPT_ATTRIBUTE")) return; attrToggle(root2.element, "accept", !!action.value, action.value ? action.value.join(",") : ""); }; -var toggleAllowMultiple = ({ root: root2, action }) => { +var toggleAllowMultiple = ({root: root2, action}) => { attrToggle(root2.element, "multiple", action.value); }; -var toggleDirectoryFilter = ({ root: root2, action }) => { +var toggleDirectoryFilter = ({root: root2, action}) => { attrToggle(root2.element, "webkitdirectory", action.value); }; -var toggleDisabled = ({ root: root2 }) => { +var toggleDisabled = ({root: root2}) => { const isDisabled = root2.query("GET_DISABLED"); const doesAllowBrowse = root2.query("GET_ALLOW_BROWSE"); const disableField = isDisabled || !doesAllowBrowse; attrToggle(root2.element, "disabled", disableField); }; -var toggleRequired = ({ root: root2, action }) => { +var toggleRequired = ({root: root2, action}) => { if (!action.value) { attrToggle(root2.element, "required", false); } else if (root2.query("GET_TOTAL_ITEMS") === 0) { attrToggle(root2.element, "required", true); } }; -var setCaptureMethod = ({ root: root2, action }) => { +var setCaptureMethod = ({root: root2, action}) => { attrToggle(root2.element, "capture", !!action.value, action.value === true ? "" : action.value); }; -var updateRequiredStatus = ({ root: root2 }) => { - const { element } = root2; +var updateRequiredStatus = ({root: root2}) => { + const {element} = root2; if (root2.query("GET_TOTAL_ITEMS") > 0) { attrToggle(element, "required", false); attrToggle(element, "name", false); @@ -10663,7 +10666,7 @@ var updateRequiredStatus = ({ root: root2 }) => { } } }; -var updateFieldValidityStatus = ({ root: root2 }) => { +var updateFieldValidityStatus = ({root: root2}) => { const shouldCheckValidity = root2.query("GET_CHECK_VALIDITY"); if (!shouldCheckValidity) return; @@ -10678,7 +10681,7 @@ var browser = createView({ type: "file" }, create: create$a, - destroy: ({ root: root2 }) => { + destroy: ({root: root2}) => { root2.element.removeEventListener("change", root2.ref.handleChange); }, write: createRoute({ @@ -10698,7 +10701,7 @@ var Key = { ENTER: 13, SPACE: 32 }; -var create$b = ({ root: root2, props }) => { +var create$b = ({root: root2, props}) => { const label = createElement$1("label"); attr(label, "for", `filepond--browser-${props.id}`); attr(label, "id", `filepond--drop-label-${props.id}`); @@ -10734,19 +10737,19 @@ var dropLabel = createView({ name: "drop-label", ignoreRect: true, create: create$b, - destroy: ({ root: root2 }) => { + destroy: ({root: root2}) => { root2.ref.label.addEventListener("keydown", root2.ref.handleKeyDown); root2.element.removeEventListener("click", root2.ref.handleClick); }, write: createRoute({ - DID_SET_LABEL_IDLE: ({ root: root2, action }) => { + DID_SET_LABEL_IDLE: ({root: root2, action}) => { updateLabelValue(root2.ref.label, action.value); } }), mixins: { styles: ["opacity", "translateX", "translateY"], animations: { - opacity: { type: "tween", duration: 150 }, + opacity: {type: "tween", duration: 150}, translateX: "spring", translateY: "spring" } @@ -10762,11 +10765,11 @@ var blob = createView({ scaleY: "spring", translateX: "spring", translateY: "spring", - opacity: { type: "tween", duration: 250 } + opacity: {type: "tween", duration: 250} } } }); -var addBlob = ({ root: root2 }) => { +var addBlob = ({root: root2}) => { const centerX = root2.rect.element.width * 0.5; const centerY = root2.rect.element.height * 0.5; root2.ref.blob = root2.appendChildView(root2.createChildView(blob, { @@ -10777,9 +10780,9 @@ var addBlob = ({ root: root2 }) => { translateY: centerY })); }; -var moveBlob = ({ root: root2, action }) => { +var moveBlob = ({root: root2, action}) => { if (!root2.ref.blob) { - addBlob({ root: root2 }); + addBlob({root: root2}); return; } root2.ref.blob.translateX = action.position.scopeLeft; @@ -10788,13 +10791,13 @@ var moveBlob = ({ root: root2, action }) => { root2.ref.blob.scaleY = 1; root2.ref.blob.opacity = 1; }; -var hideBlob = ({ root: root2 }) => { +var hideBlob = ({root: root2}) => { if (!root2.ref.blob) { return; } root2.ref.blob.opacity = 0; }; -var explodeBlob = ({ root: root2 }) => { +var explodeBlob = ({root: root2}) => { if (!root2.ref.blob) { return; } @@ -10802,9 +10805,9 @@ var explodeBlob = ({ root: root2 }) => { root2.ref.blob.scaleY = 2.5; root2.ref.blob.opacity = 0; }; -var write$7 = ({ root: root2, props, actions: actions2 }) => { - route$4({ root: root2, props, actions: actions2 }); - const { blob: blob2 } = root2.ref; +var write$7 = ({root: root2, props, actions: actions2}) => { + route$4({root: root2, props, actions: actions2}); + const {blob: blob2} = root2.ref; if (actions2.length === 0 && blob2 && blob2.opacity === 0) { root2.removeChildView(blob2); root2.ref.blob = null; @@ -10839,7 +10842,7 @@ var setInputFiles = (element, files) => { } return true; }; -var create$c = ({ root: root2 }) => root2.ref.fields = {}; +var create$c = ({root: root2}) => root2.ref.fields = {}; var getField = (root2, id) => root2.ref.fields[id]; var syncFieldPositionsWithItems = (root2) => { root2.query("GET_ACTIVE_ITEMS").forEach((item2) => { @@ -10848,8 +10851,8 @@ var syncFieldPositionsWithItems = (root2) => { root2.element.appendChild(root2.ref.fields[item2.id]); }); }; -var didReorderItems = ({ root: root2 }) => syncFieldPositionsWithItems(root2); -var didAddItem = ({ root: root2, action }) => { +var didReorderItems = ({root: root2}) => syncFieldPositionsWithItems(root2); +var didAddItem = ({root: root2, action}) => { const fileItem = root2.query("GET_ITEM", action.id); const isLocalFile = fileItem.origin === FileOrigin.LOCAL; const shouldUseFileInput = !isLocalFile && root2.query("SHOULD_UPDATE_FILE_INPUT"); @@ -10860,7 +10863,7 @@ var didAddItem = ({ root: root2, action }) => { root2.ref.fields[action.id] = dataContainer; syncFieldPositionsWithItems(root2); }; -var didLoadItem$1 = ({ root: root2, action }) => { +var didLoadItem$1 = ({root: root2, action}) => { const field = getField(root2, action.id); if (!field) return; @@ -10871,7 +10874,7 @@ var didLoadItem$1 = ({ root: root2, action }) => { const fileItem = root2.query("GET_ITEM", action.id); setInputFiles(field, [fileItem.file]); }; -var didPrepareOutput = ({ root: root2, action }) => { +var didPrepareOutput = ({root: root2, action}) => { if (!root2.query("SHOULD_UPDATE_FILE_INPUT")) return; setTimeout(() => { @@ -10881,10 +10884,10 @@ var didPrepareOutput = ({ root: root2, action }) => { setInputFiles(field, [action.file]); }, 0); }; -var didSetDisabled = ({ root: root2 }) => { +var didSetDisabled = ({root: root2}) => { root2.element.disabled = root2.query("GET_DISABLED"); }; -var didRemoveItem = ({ root: root2, action }) => { +var didRemoveItem = ({root: root2, action}) => { const field = getField(root2, action.id); if (!field) return; @@ -10892,7 +10895,7 @@ var didRemoveItem = ({ root: root2, action }) => { field.parentNode.removeChild(field); delete root2.ref.fields[action.id]; }; -var didDefineValue = ({ root: root2, action }) => { +var didDefineValue = ({root: root2, action}) => { const field = getField(root2, action.id); if (!field) return; @@ -11162,7 +11165,7 @@ var dragenter = (root2, clients) => (e2) => { e2.preventDefault(); initialTarget = e2.target; clients.forEach((client) => { - const { element, onenter } = client; + const {element, onenter} = client; if (isEventTarget(e2, element)) { client.state = "enter"; onenter(eventPosition(e2)); @@ -11175,7 +11178,7 @@ var dragover = (root2, clients) => (e2) => { requestDataTransferItems(dataTransfer).then((items) => { let overDropTarget = false; clients.some((client) => { - const { filterElement, element, onenter, onexit, ondrag, allowdrop } = client; + const {filterElement, element, onenter, onexit, ondrag, allowdrop} = client; setDropEffect(dataTransfer, "copy"); const allowsTransfer = allowdrop(items); if (!allowsTransfer) { @@ -11212,7 +11215,7 @@ var drop = (root2, clients) => (e2) => { const dataTransfer = e2.dataTransfer; requestDataTransferItems(dataTransfer).then((items) => { clients.forEach((client) => { - const { filterElement, element, ondrop, onexit, allowdrop } = client; + const {filterElement, element, ondrop, onexit, allowdrop} = client; client.state = null; if (filterElement && !isEventTarget(e2, element)) return; @@ -11227,14 +11230,14 @@ var dragleave = (root2, clients) => (e2) => { return; } clients.forEach((client) => { - const { onexit } = client; + const {onexit} = client; client.state = null; onexit(eventPosition(e2)); }); }; var createHopper = (scope, validateItems, options) => { scope.classList.add("filepond--hopper"); - const { catchesDropsOnPage, requiresDropOnElement, filterItems = (items) => items } = options; + const {catchesDropsOnPage, requiresDropOnElement, filterItems = (items) => items} = options; const client = createDragNDropClient(scope, catchesDropsOnPage ? document.documentElement : scope, requiresDropOnElement); let lastState = ""; let currentState = ""; @@ -11338,7 +11341,7 @@ var createPaster = () => { listen(cb); return api; }; -var create$d = ({ root: root2, props }) => { +var create$d = ({root: root2, props}) => { root2.element.id = `filepond--assistant-${props.id}`; attr(root2.element, "role", "status"); attr(root2.element, "aria-live", "polite"); @@ -11362,7 +11365,7 @@ var listModified = (root2, filename, label) => { }, 1500); }; var isUsingFilePond = (root2) => root2.element.parentNode.contains(document.activeElement); -var itemAdded = ({ root: root2, action }) => { +var itemAdded = ({root: root2, action}) => { if (!isUsingFilePond(root2)) { return; } @@ -11375,26 +11378,26 @@ var itemAdded = ({ root: root2, action }) => { filenames.length = 0; }, 750); }; -var itemRemoved = ({ root: root2, action }) => { +var itemRemoved = ({root: root2, action}) => { if (!isUsingFilePond(root2)) { return; } const item2 = action.item; listModified(root2, item2.filename, root2.query("GET_LABEL_FILE_REMOVED")); }; -var itemProcessed = ({ root: root2, action }) => { +var itemProcessed = ({root: root2, action}) => { const item2 = root2.query("GET_ITEM", action.id); const filename = item2.filename; const label = root2.query("GET_LABEL_FILE_PROCESSING_COMPLETE"); assist(root2, `${filename} ${label}`); }; -var itemProcessedUndo = ({ root: root2, action }) => { +var itemProcessedUndo = ({root: root2, action}) => { const item2 = root2.query("GET_ITEM", action.id); const filename = item2.filename; const label = root2.query("GET_LABEL_FILE_PROCESSING_ABORTED"); assist(root2, `${filename} ${label}`); }; -var itemError = ({ root: root2, action }) => { +var itemError = ({root: root2, action}) => { const item2 = root2.query("GET_ITEM", action.id); const filename = item2.filename; assist(root2, `${action.status.main} ${filename} ${action.status.sub}`); @@ -11439,7 +11442,7 @@ var debounce = (func, interval = 16, immidiateOnly = true) => { }; var MAX_FILES_LIMIT = 1e6; var prevent = (e2) => e2.preventDefault(); -var create$e = ({ root: root2, props }) => { +var create$e = ({root: root2, props}) => { const id = root2.query("GET_ID"); if (id) { root2.element.id = id; @@ -11455,15 +11458,15 @@ var create$e = ({ root: root2, props }) => { translateY: null, caption: root2.query("GET_LABEL_IDLE") })); - root2.ref.list = root2.appendChildView(root2.createChildView(listScroller, { translateY: null })); - root2.ref.panel = root2.appendChildView(root2.createChildView(panel, { name: "panel-root" })); - root2.ref.assistant = root2.appendChildView(root2.createChildView(assistant, { ...props })); - root2.ref.data = root2.appendChildView(root2.createChildView(data2, { ...props })); + root2.ref.list = root2.appendChildView(root2.createChildView(listScroller, {translateY: null})); + root2.ref.panel = root2.appendChildView(root2.createChildView(panel, {name: "panel-root"})); + root2.ref.assistant = root2.appendChildView(root2.createChildView(assistant, {...props})); + root2.ref.data = root2.appendChildView(root2.createChildView(data2, {...props})); root2.ref.measure = createElement$1("div"); root2.ref.measure.style.height = "100%"; root2.element.appendChild(root2.ref.measure); root2.ref.bounds = null; - root2.query("GET_STYLES").filter((style) => !isEmpty(style.value)).map(({ name: name2, value }) => { + root2.query("GET_STYLES").filter((style) => !isEmpty(style.value)).map(({name: name2, value}) => { root2.element.dataset[name2] = value; }); root2.ref.widthPrevious = null; @@ -11476,7 +11479,7 @@ var create$e = ({ root: root2, props }) => { const canHover = window.matchMedia("(pointer: fine) and (hover: hover)").matches; const hasPointerEvents = "PointerEvent" in window; if (root2.query("GET_ALLOW_REORDER") && hasPointerEvents && !canHover) { - root2.element.addEventListener("touchmove", prevent, { passive: false }); + root2.element.addEventListener("touchmove", prevent, {passive: false}); root2.element.addEventListener("gesturestart", prevent); } const credits = root2.query("GET_CREDITS"); @@ -11494,9 +11497,9 @@ var create$e = ({ root: root2, props }) => { root2.ref.credits = frag; } }; -var write$9 = ({ root: root2, props, actions: actions2 }) => { - route$5({ root: root2, props, actions: actions2 }); - actions2.filter((action) => /^DID_SET_STYLE_/.test(action.type)).filter((action) => !isEmpty(action.data.value)).map(({ type, data: data3 }) => { +var write$9 = ({root: root2, props, actions: actions2}) => { + route$5({root: root2, props, actions: actions2}); + actions2.filter((action) => /^DID_SET_STYLE_/.test(action.type)).filter((action) => !isEmpty(action.data.value)).map(({type, data: data3}) => { const name2 = toCamels(type.substr(8).toLowerCase(), "_"); root2.element.dataset[name2] = data3.value; root2.invalidateLayout(); @@ -11513,7 +11516,7 @@ var write$9 = ({ root: root2, props, actions: actions2 }) => { root2.element.removeChild(root2.ref.measure); root2.ref.measure = null; } - const { hopper, label, list: list2, panel: panel2 } = root2.ref; + const {hopper, label, list: list2, panel: panel2} = root2.ref; if (hopper) { hopper.updateHopperState(); } @@ -11630,7 +11633,7 @@ var calculateListHeight = (root2) => { const visibleChildren = itemList.childViews.filter((child) => child.rect.element.height); const children = root2.query("GET_ACTIVE_ITEMS").map((item2) => visibleChildren.find((child) => child.id === item2.id)).filter((item2) => item2); if (children.length === 0) - return { visual, bounds }; + return {visual, bounds}; const horizontalSpace = itemList.rect.element.width; const dragIndex = getItemIndexByPosition(itemList, children, scrollList.dragCoordinates); const childRect = children[0].rect.element; @@ -11652,7 +11655,7 @@ var calculateListHeight = (root2) => { bounds = Math.ceil(verticalItemCount / itemsPerRow) * itemHeight; visual = bounds; } - return { visual, bounds }; + return {visual, bounds}; }; var calculateRootBoundingBoxHeight = (root2) => { const height = root2.ref.measureHeight || null; @@ -11718,7 +11721,7 @@ var toggleDrop = (root2) => { const list2 = root2.ref.list.childViews[0]; const visibleChildren = list2.childViews.filter((child) => child.rect.element.height); const children = root2.query("GET_ACTIVE_ITEMS").map((item2) => visibleChildren.find((child) => child.id === item2.id)).filter((item2) => item2); - applyFilterChain("ADD_ITEMS", items, { dispatch: root2.dispatch }).then((queue) => { + applyFilterChain("ADD_ITEMS", items, {dispatch: root2.dispatch}).then((queue) => { if (exceedsMaxFiles(root2, queue)) return false; root2.dispatch("ADD_ITEMS", { @@ -11727,17 +11730,17 @@ var toggleDrop = (root2) => { interactionMethod: InteractionMethod.DROP }); }); - root2.dispatch("DID_DROP", { position }); - root2.dispatch("DID_END_DRAG", { position }); + root2.dispatch("DID_DROP", {position}); + root2.dispatch("DID_END_DRAG", {position}); }; hopper.ondragstart = (position) => { - root2.dispatch("DID_START_DRAG", { position }); + root2.dispatch("DID_START_DRAG", {position}); }; hopper.ondrag = debounce((position) => { - root2.dispatch("DID_DRAG", { position }); + root2.dispatch("DID_DRAG", {position}); }); hopper.ondragend = (position) => { - root2.dispatch("DID_END_DRAG", { position }); + root2.dispatch("DID_END_DRAG", {position}); }; root2.ref.hopper = hopper; root2.ref.drip = root2.appendChildView(root2.createChildView(drip)); @@ -11780,7 +11783,7 @@ var togglePaste = (root2) => { if (enabled && !root2.ref.paster) { root2.ref.paster = createPaster(); root2.ref.paster.onload = (items) => { - applyFilterChain("ADD_ITEMS", items, { dispatch: root2.dispatch }).then((queue) => { + applyFilterChain("ADD_ITEMS", items, {dispatch: root2.dispatch}).then((queue) => { if (exceedsMaxFiles(root2, queue)) return false; root2.dispatch("ADD_ITEMS", { @@ -11796,16 +11799,16 @@ var togglePaste = (root2) => { } }; var route$5 = createRoute({ - DID_SET_ALLOW_BROWSE: ({ root: root2, props }) => { + DID_SET_ALLOW_BROWSE: ({root: root2, props}) => { toggleBrowse(root2, props); }, - DID_SET_ALLOW_DROP: ({ root: root2 }) => { + DID_SET_ALLOW_DROP: ({root: root2}) => { toggleDrop(root2); }, - DID_SET_ALLOW_PASTE: ({ root: root2 }) => { + DID_SET_ALLOW_PASTE: ({root: root2}) => { togglePaste(root2); }, - DID_SET_DISABLED: ({ root: root2, props }) => { + DID_SET_DISABLED: ({root: root2, props}) => { toggleDrop(root2); togglePaste(root2); toggleBrowse(root2, props); @@ -11819,14 +11822,14 @@ var route$5 = createRoute({ }); var root = createView({ name: "root", - read: ({ root: root2 }) => { + read: ({root: root2}) => { if (root2.ref.measure) { root2.ref.measureHeight = root2.ref.measure.offsetHeight; } }, create: create$e, write: write$9, - destroy: ({ root: root2 }) => { + destroy: ({root: root2}) => { if (root2.ref.paster) { root2.ref.paster.destroy(); } @@ -11844,7 +11847,7 @@ var createApp = (initialOptions = {}) => { let originalElement = null; const defaultOptions2 = getOptions(); const store = createStore(createInitialState(defaultOptions2), [queries, createOptionQueries(defaultOptions2)], [actions, createOptionActions(defaultOptions2)]); - store.dispatch("SET_OPTIONS", { options: initialOptions }); + store.dispatch("SET_OPTIONS", {options: initialOptions}); const visibilityHandler = () => { if (document.hidden) return; @@ -11872,7 +11875,7 @@ var createApp = (initialOptions = {}) => { }, 500); }; window.addEventListener("resize", resizeHandler); - const view = root(store, { id: getUniqueId() }); + const view = root(store, {id: getUniqueId()}); let isResting = false; let isHidden = false; const readWriteApi = { @@ -11915,10 +11918,10 @@ var createApp = (initialOptions = {}) => { return event; } if (data3.hasOwnProperty("error")) { - event.error = data3.error ? { ...data3.error } : null; + event.error = data3.error ? {...data3.error} : null; } if (data3.status) { - event.status = { ...data3.status }; + event.status = {...data3.status}; } if (data3.file) { event.output = data3.file; @@ -11966,7 +11969,7 @@ var createApp = (initialOptions = {}) => { DID_REORDER_ITEMS: createEvent("reorderfiles") }; const exposeEvent = (event) => { - const detail = { pond: exports, ...event }; + const detail = {pond: exports, ...event}; delete detail.type; view.element.dispatchEvent(new CustomEvent(`FilePond:${event.type}`, { detail, @@ -12005,7 +12008,7 @@ var createApp = (initialOptions = {}) => { }); }); }; - const setOptions2 = (options) => store.dispatch("SET_OPTIONS", { options }); + const setOptions2 = (options) => store.dispatch("SET_OPTIONS", {options}); const getFile2 = (query) => store.query("GET_ACTIVE_ITEM", query); const prepareFile = (query) => new Promise((resolve, reject) => { store.dispatch("REQUEST_ITEM_PREPARE", { @@ -12019,7 +12022,7 @@ var createApp = (initialOptions = {}) => { }); }); const addFile = (source, options = {}) => new Promise((resolve, reject) => { - addFiles([{ source, options }], { index: options.index }).then((items) => resolve(items && items[0])).catch(reject); + addFiles([{source, options}], {index: options.index}).then((items) => resolve(items && items[0])).catch(reject); }); const isFilePondFile = (obj) => obj.file && obj.id; const removeFile = (query, options) => { @@ -12027,7 +12030,7 @@ var createApp = (initialOptions = {}) => { options = query; query = void 0; } - store.dispatch("REMOVE_ITEM", { ...options, query }); + store.dispatch("REMOVE_ITEM", {...options, query}); return store.query("GET_ACTIVE_ITEM", query) === null; }; const addFiles = (...args) => new Promise((resolve, reject) => { @@ -12101,12 +12104,12 @@ var createApp = (initialOptions = {}) => { processFile, prepareFile, removeFile, - moveFile: (query, index) => store.dispatch("MOVE_ITEM", { query, index }), + moveFile: (query, index) => store.dispatch("MOVE_ITEM", {query, index}), getFiles: getFiles2, processFiles, removeFiles, prepareFiles, - sort: (compare) => store.dispatch("SORT", { compare }), + sort: (compare) => store.dispatch("SORT", {compare}), browse: () => { var input = view.element.querySelector("input[type=file]"); if (input) { @@ -12407,9 +12410,9 @@ if (supported()) { const updateOptionTypes = () => forin(getOptions(), (key, value) => { OptionTypes[key] = value[1]; }); - Status$1 = { ...Status }; - FileOrigin$1 = { ...FileOrigin }; - FileStatus = { ...ItemStatus }; + Status$1 = {...Status}; + FileOrigin$1 = {...FileOrigin}; + FileStatus = {...ItemStatus}; OptionTypes = {}; updateOptionTypes(); create$f = (...args) => { @@ -12462,9 +12465,14 @@ if (supported()) { } // node_modules/filepond-plugin-file-validate-size/dist/filepond-plugin-file-validate-size.esm.js -var plugin = ({ addFilter: addFilter2, utils }) => { - const { Type: Type2, replaceInString: replaceInString2, toNaturalFileSize: toNaturalFileSize2 } = utils; - addFilter2("ALLOW_HOPPER_ITEM", (file2, { query }) => { +/*! + * FilePondPluginFileValidateSize 2.2.5 + * Licensed under MIT, https://opensource.org/licenses/MIT/ + * Please visit https://pqina.nl/filepond/ for details. + */ +var plugin = ({addFilter: addFilter2, utils}) => { + const {Type: Type2, replaceInString: replaceInString2, toNaturalFileSize: toNaturalFileSize2} = utils; + addFilter2("ALLOW_HOPPER_ITEM", (file2, {query}) => { if (!query("GET_ALLOW_FILE_SIZE_VALIDATION")) { return true; } @@ -12478,7 +12486,7 @@ var plugin = ({ addFilter: addFilter2, utils }) => { } return true; }); - addFilter2("LOAD_FILE", (file2, { query }) => new Promise((resolve, reject) => { + addFilter2("LOAD_FILE", (file2, {query}) => new Promise((resolve, reject) => { if (!query("GET_ALLOW_FILE_SIZE_VALIDATION")) { return resolve(file2); } @@ -12547,12 +12555,17 @@ var plugin = ({ addFilter: addFilter2, utils }) => { }; var isBrowser2 = typeof window !== "undefined" && typeof window.document !== "undefined"; if (isBrowser2) { - document.dispatchEvent(new CustomEvent("FilePond:pluginloaded", { detail: plugin })); + document.dispatchEvent(new CustomEvent("FilePond:pluginloaded", {detail: plugin})); } var filepond_plugin_file_validate_size_esm_default = plugin; // node_modules/filepond-plugin-file-validate-type/dist/filepond-plugin-file-validate-type.esm.js -var plugin2 = ({ addFilter: addFilter2, utils }) => { +/*! + * FilePondPluginFileValidateType 1.2.6 + * Licensed under MIT, https://opensource.org/licenses/MIT/ + * Please visit https://pqina.nl/filepond/ for details. + */ +var plugin2 = ({addFilter: addFilter2, utils}) => { const { Type: Type2, isString: isString3, @@ -12607,13 +12620,13 @@ var plugin2 = ({ addFilter: addFilter2, utils }) => { addFilter2("SET_ATTRIBUTE_TO_OPTION_MAP", (map2) => Object.assign(map2, { accept: "acceptedFileTypes" })); - addFilter2("ALLOW_HOPPER_ITEM", (file2, { query }) => { + addFilter2("ALLOW_HOPPER_ITEM", (file2, {query}) => { if (!query("GET_ALLOW_FILE_TYPE_VALIDATION")) { return true; } return validateFile(file2, query("GET_ACCEPTED_FILE_TYPES")); }); - addFilter2("LOAD_FILE", (file2, { query }) => new Promise((resolve, reject) => { + addFilter2("LOAD_FILE", (file2, {query}) => new Promise((resolve, reject) => { if (!query("GET_ALLOW_FILE_TYPE_VALIDATION")) { resolve(file2); return; @@ -12660,19 +12673,24 @@ var plugin2 = ({ addFilter: addFilter2, utils }) => { }; var isBrowser3 = typeof window !== "undefined" && typeof window.document !== "undefined"; if (isBrowser3) { - document.dispatchEvent(new CustomEvent("FilePond:pluginloaded", { detail: plugin2 })); + document.dispatchEvent(new CustomEvent("FilePond:pluginloaded", {detail: plugin2})); } var filepond_plugin_file_validate_type_esm_default = plugin2; // node_modules/filepond-plugin-image-crop/dist/filepond-plugin-image-crop.esm.js +/*! + * FilePondPluginImageCrop 2.0.6 + * Licensed under MIT, https://opensource.org/licenses/MIT/ + * Please visit https://pqina.nl/filepond/ for details. + */ var isImage = (file2) => /^image/.test(file2.type); -var plugin3 = ({ addFilter: addFilter2, utils }) => { - const { Type: Type2, isFile: isFile2, getNumericAspectRatioFromString: getNumericAspectRatioFromString2 } = utils; +var plugin3 = ({addFilter: addFilter2, utils}) => { + const {Type: Type2, isFile: isFile2, getNumericAspectRatioFromString: getNumericAspectRatioFromString2} = utils; const allowCrop = (item2, query) => !(!isImage(item2.file) || !query("GET_ALLOW_IMAGE_CROP")); const isObject2 = (value) => typeof value === "object"; const isNumber2 = (value) => typeof value === "number"; const updateCrop = (item2, obj) => item2.setMetadata("crop", Object.assign({}, item2.getMetadata("crop"), obj)); - addFilter2("DID_CREATE_ITEM", (item2, { query }) => { + addFilter2("DID_CREATE_ITEM", (item2, {query}) => { item2.extend("setImageCrop", (crop) => { if (!allowCrop(item2, query) || !isObject2(center)) return; @@ -12682,22 +12700,22 @@ var plugin3 = ({ addFilter: addFilter2, utils }) => { item2.extend("setImageCropCenter", (center2) => { if (!allowCrop(item2, query) || !isObject2(center2)) return; - return updateCrop(item2, { center: center2 }); + return updateCrop(item2, {center: center2}); }); item2.extend("setImageCropZoom", (zoom) => { if (!allowCrop(item2, query) || !isNumber2(zoom)) return; - return updateCrop(item2, { zoom: Math.max(1, zoom) }); + return updateCrop(item2, {zoom: Math.max(1, zoom)}); }); item2.extend("setImageCropRotation", (rotation) => { if (!allowCrop(item2, query) || !isNumber2(rotation)) return; - return updateCrop(item2, { rotation }); + return updateCrop(item2, {rotation}); }); item2.extend("setImageCropFlip", (flip) => { if (!allowCrop(item2, query) || !isObject2(flip)) return; - return updateCrop(item2, { flip }); + return updateCrop(item2, {flip}); }); item2.extend("setImageCropAspectRatio", (newAspectRatio) => { if (!allowCrop(item2, query) || typeof newAspectRatio === "undefined") @@ -12721,7 +12739,7 @@ var plugin3 = ({ addFilter: addFilter2, utils }) => { return newCrop; }); }); - addFilter2("DID_LOAD_ITEM", (item2, { query }) => new Promise((resolve, reject) => { + addFilter2("DID_LOAD_ITEM", (item2, {query}) => new Promise((resolve, reject) => { const file2 = item2.file; if (!isFile2(file2) || !isImage(file2) || !query("GET_ALLOW_IMAGE_CROP")) { return resolve(item2); @@ -12755,11 +12773,16 @@ var plugin3 = ({ addFilter: addFilter2, utils }) => { }; var isBrowser4 = typeof window !== "undefined" && typeof window.document !== "undefined"; if (isBrowser4) { - document.dispatchEvent(new CustomEvent("FilePond:pluginloaded", { detail: plugin3 })); + document.dispatchEvent(new CustomEvent("FilePond:pluginloaded", {detail: plugin3})); } var filepond_plugin_image_crop_esm_default = plugin3; // node_modules/filepond-plugin-image-exif-orientation/dist/filepond-plugin-image-exif-orientation.esm.js +/*! + * FilePondPluginImageExifOrientation 1.0.11 + * Licensed under MIT, https://opensource.org/licenses/MIT/ + * Please visit https://pqina.nl/filepond/ for details. + */ var isJPEG = (file2) => /^image\/jpeg/.test(file2.type); var Marker = { JPEG: 65496, @@ -12816,15 +12839,15 @@ var testImage = isBrowser5() ? new Image() : {}; testImage.onload = () => shouldCorrect = testImage.naturalWidth > testImage.naturalHeight; testImage.src = testSrc; var shouldCorrectImageExifOrientation = () => shouldCorrect; -var plugin4 = ({ addFilter: addFilter2, utils }) => { - const { Type: Type2, isFile: isFile2 } = utils; - addFilter2("DID_LOAD_ITEM", (item2, { query }) => new Promise((resolve, reject) => { +var plugin4 = ({addFilter: addFilter2, utils}) => { + const {Type: Type2, isFile: isFile2} = utils; + addFilter2("DID_LOAD_ITEM", (item2, {query}) => new Promise((resolve, reject) => { const file2 = item2.file; if (!isFile2(file2) || !isJPEG(file2) || !query("GET_ALLOW_IMAGE_EXIF_ORIENTATION") || !shouldCorrectImageExifOrientation()) { return resolve(item2); } getImageOrientation(file2).then((orientation) => { - item2.setMetadata("exif", { orientation }); + item2.setMetadata("exif", {orientation}); resolve(item2); }); })); @@ -12836,11 +12859,16 @@ var plugin4 = ({ addFilter: addFilter2, utils }) => { }; var isBrowser$1 = typeof window !== "undefined" && typeof window.document !== "undefined"; if (isBrowser$1) { - document.dispatchEvent(new CustomEvent("FilePond:pluginloaded", { detail: plugin4 })); + document.dispatchEvent(new CustomEvent("FilePond:pluginloaded", {detail: plugin4})); } var filepond_plugin_image_exif_orientation_esm_default = plugin4; // node_modules/filepond-plugin-image-preview/dist/filepond-plugin-image-preview.esm.js +/*! + * FilePondPluginImagePreview 4.6.10 + * Licensed under MIT, https://opensource.org/licenses/MIT/ + * Please visit https://pqina.nl/filepond/ for details. + */ var isPreviewableImage = (file2) => /^image/.test(file2.type); var vectorMultiply = (v, amount) => createVector(v.x * amount, v.y * amount); var vectorAdd = (a2, b) => createVector(a2.x + b.x, a2.y + b.y); @@ -12860,7 +12888,7 @@ var vectorRotate = (v, radians, origin) => { const t2 = createVector(v.x - origin.x, v.y - origin.y); return createVector(origin.x + cos * t2.x - sin * t2.y, origin.y + sin * t2.x + cos * t2.y); }; -var createVector = (x = 0, y = 0) => ({ x, y }); +var createVector = (x = 0, y = 0) => ({x, y}); var getMarkupValue = (value, size, scalar = 1, axis) => { if (typeof value === "string") { return parseFloat(value) * scalar; @@ -13054,7 +13082,7 @@ var updatePath = (element, markup, size, scale) => { }))) }); }; -var createShape = (node) => (markup) => svg(node, { id: markup.id }); +var createShape = (node) => (markup) => svg(node, {id: markup.id}); var createImage = (markup) => { const shape = svg("image", { id: markup.id, @@ -13148,16 +13176,16 @@ var createMarkupView = (_) => _.utils.createView({ mixins: { apis: ["width", "height", "crop", "markup", "resize", "dirty"] }, - write: ({ root: root2, props }) => { + write: ({root: root2, props}) => { if (!props.dirty) return; - const { crop, resize, markup } = props; + const {crop, resize, markup} = props; const viewWidth = props.width; const viewHeight = props.height; let cropWidth = crop.width; let cropHeight = crop.height; if (resize) { - const { size: size2 } = resize; + const {size: size2} = resize; let outputWidth = size2 && size2.width; let outputHeight = size2 && size2.height; const outputFit = resize.mode; @@ -13202,7 +13230,7 @@ var createMarkupView = (_) => _.utils.createView({ }); } }); -var createVector$1 = (x, y) => ({ x, y }); +var createVector$1 = (x, y) => ({x, y}); var vectorDot = (a2, b) => a2.x * b.x + a2.y * b.y; var vectorSubtract = (a2, b) => createVector$1(a2.x - b.x, a2.y - b.y); var vectorDistanceSquared = (a2, b) => vectorDot(vectorSubtract(a2, b), vectorSubtract(a2, b)); @@ -13277,7 +13305,7 @@ var getCenteredCropRect = (container, aspectRatio) => { }; }; var getCurrentCropSize = (imageSize, crop = {}) => { - let { zoom, rotation, center: center2, aspectRatio } = crop; + let {zoom, rotation, center: center2, aspectRatio} = crop; if (!aspectRatio) aspectRatio = imageSize.height / imageSize.width; const canvasSize = calculateCanvasSize(imageSize, aspectRatio, zoom); @@ -13293,7 +13321,7 @@ var getCurrentCropSize = (imageSize, crop = {}) => { center: canvasCenter }; const shouldLimit = typeof crop.scaleToFit === "undefined" || crop.scaleToFit; - const stageZoomFactor = getImageRectZoomFactor(imageSize, getCenteredCropRect(stage, aspectRatio), rotation, shouldLimit ? center2 : { x: 0.5, y: 0.5 }); + const stageZoomFactor = getImageRectZoomFactor(imageSize, getCenteredCropRect(stage, aspectRatio), rotation, shouldLimit ? center2 : {x: 0.5, y: 0.5}); const scale = zoom * stageZoomFactor; return { widthFloat: canvasSize.width / scale, @@ -13311,8 +13339,8 @@ var IMAGE_SCALE_SPRING_PROPS = { var createBitmapView = (_) => _.utils.createView({ name: "image-bitmap", ignoreRect: true, - mixins: { styles: ["scaleX", "scaleY"] }, - create: ({ root: root2, props }) => { + mixins: {styles: ["scaleX", "scaleY"]}, + create: ({root: root2, props}) => { root2.appendChild(props.image); } }); @@ -13341,14 +13369,14 @@ var createImageCanvasWrapper = (_) => _.utils.createView({ rotateZ: IMAGE_SCALE_SPRING_PROPS } }, - create: ({ root: root2, props }) => { + create: ({root: root2, props}) => { props.width = props.image.width; props.height = props.image.height; - root2.ref.bitmap = root2.appendChildView(root2.createChildView(createBitmapView(_), { image: props.image })); + root2.ref.bitmap = root2.appendChildView(root2.createChildView(createBitmapView(_), {image: props.image})); }, - write: ({ root: root2, props }) => { - const { flip } = props.crop; - const { bitmap } = root2.ref; + write: ({root: root2, props}) => { + const {flip} = props.crop; + const {bitmap} = root2.ref; bitmap.scaleX = flip.horizontal ? -1 : 1; bitmap.scaleY = flip.vertical ? -1 : 1; } @@ -13369,15 +13397,15 @@ var createClipView = (_) => _.utils.createView({ ], styles: ["width", "height", "opacity"], animations: { - opacity: { type: "tween", duration: 250 } + opacity: {type: "tween", duration: 250} } }, - didWriteView: function({ root: root2, props }) { + didWriteView: function({root: root2, props}) { if (!props.background) return; root2.element.style.backgroundColor = props.background; }, - create: ({ root: root2, props }) => { + create: ({root: root2, props}) => { root2.ref.image = root2.appendChildView(root2.createChildView(createImageCanvasWrapper(_), Object.assign({}, props))); root2.ref.createMarkup = () => { if (root2.ref.markup) @@ -13399,8 +13427,8 @@ var createClipView = (_) => _.utils.createView({ root2.element.dataset.transparencyIndicator = "color"; } }, - write: ({ root: root2, props, shouldOptimize }) => { - const { crop, markup, resize, dirty, width, height } = props; + write: ({root: root2, props, shouldOptimize}) => { + const {crop, markup, resize, dirty, width, height} = props; root2.ref.image.crop = crop; const stage = { x: 0, @@ -13427,7 +13455,7 @@ var createClipView = (_) => _.utils.createView({ const rotation = Math.PI * 2 + crop.rotation % (Math.PI * 2); const cropAspectRatio = crop.aspectRatio || image.height / image.width; const shouldLimit = typeof crop.scaleToFit === "undefined" || crop.scaleToFit; - const stageZoomFactor = getImageRectZoomFactor(image, getCenteredCropRect(stage, cropAspectRatio), rotation, shouldLimit ? crop.center : { x: 0.5, y: 0.5 }); + const stageZoomFactor = getImageRectZoomFactor(image, getCenteredCropRect(stage, cropAspectRatio), rotation, shouldLimit ? crop.center : {x: 0.5, y: 0.5}); const scale = crop.zoom * stageZoomFactor; if (markup && markup.length) { root2.ref.createMarkup(); @@ -13471,10 +13499,10 @@ var createImageView = (_) => _.utils.createView({ scaleX: IMAGE_SCALE_SPRING_PROPS, scaleY: IMAGE_SCALE_SPRING_PROPS, translateY: IMAGE_SCALE_SPRING_PROPS, - opacity: { type: "tween", duration: 400 } + opacity: {type: "tween", duration: 400} } }, - create: ({ root: root2, props }) => { + create: ({root: root2, props}) => { root2.ref.clip = root2.appendChildView(root2.createChildView(createClipView(_), { id: props.id, image: props.image, @@ -13485,9 +13513,9 @@ var createImageView = (_) => _.utils.createView({ background: props.background })); }, - write: ({ root: root2, props, shouldOptimize }) => { - const { clip } = root2.ref; - const { image, crop, markup, resize, dirty } = props; + write: ({root: root2, props, shouldOptimize}) => { + const {clip} = root2.ref; + const {image, crop, markup, resize, dirty} = props; clip.crop = crop; clip.markup = markup; clip.resize = resize; @@ -13546,7 +13574,7 @@ var createImageOverlayView = (fpAPI) => fpAPI.utils.createView({ name: "image-preview-overlay", tag: "div", ignoreRect: true, - create: ({ root: root2, props }) => { + create: ({root: root2, props}) => { let mask = SVG_MASK; if (document.querySelector("base")) { const url = window.location.href.replace(window.location.hash, ""); @@ -13559,14 +13587,14 @@ var createImageOverlayView = (fpAPI) => fpAPI.utils.createView({ mixins: { styles: ["opacity"], animations: { - opacity: { type: "spring", mass: 25 } + opacity: {type: "spring", mass: 25} } } }); var BitmapWorker = function() { self.onmessage = (e2) => { createImageBitmap(e2.data.message.file).then((bitmap) => { - self.postMessage({ id: e2.data.id, message: bitmap }, [bitmap]); + self.postMessage({id: e2.data.id, message: bitmap}, [bitmap]); }); }; }; @@ -13607,7 +13635,7 @@ var ColorMatrixWorker = function() { data3[index + 2] = Math.max(0, Math.min((r2 * m31 + g * m32 + b * m33 + a2 * m34 + m35) * 255, 255)); data3[index + 3] = Math.max(0, Math.min((r2 * m41 + g * m42 + b * m43 + a2 * m44 + m45) * 255, 255)); } - self.postMessage({ id: e2.data.id, message: imageData }, [ + self.postMessage({id: e2.data.id, message: imageData}, [ imageData.data.buffer ]); }; @@ -13681,7 +13709,7 @@ var calculateAverageColor = (image) => { r2 = averageColor(r2, l); g = averageColor(g, l); b = averageColor(b, l); - return { r: r2, g, b }; + return {r: r2, g, b}; }; var averageColor = (c2, l) => Math.floor(Math.sqrt(c2 / (l / 4))); var cloneCanvas = (origin, target) => { @@ -13718,7 +13746,7 @@ var loadImage2 = (url) => new Promise((resolve, reject) => { var createImageWrapperView = (_) => { const OverlayView = createImageOverlayView(_); const ImageView = createImageView(_); - const { createWorker: createWorker3 } = _.utils; + const {createWorker: createWorker3} = _.utils; const applyFilter = (root2, filter, target) => new Promise((resolve) => { if (!root2.ref.imageData) { root2.ref.imageData = target.getContext("2d").getImageData(0, 0, target.width, target.height); @@ -13744,16 +13772,16 @@ var createImageWrapperView = (_) => { imageView.image.height = 1; imageView._destroy(); }; - const shiftImage = ({ root: root2 }) => { + const shiftImage = ({root: root2}) => { const imageView = root2.ref.images.shift(); imageView.opacity = 0; imageView.translateY = -15; root2.ref.imageViewBin.push(imageView); return imageView; }; - const pushImage = ({ root: root2, props, image }) => { + const pushImage = ({root: root2, props, image}) => { const id = props.id; - const item2 = root2.query("GET_ITEM", { id }); + const item2 = root2.query("GET_ITEM", {id}); if (!item2) return; const crop = item2.getMetadata("crop") || { @@ -13797,11 +13825,11 @@ var createImageWrapperView = (_) => { imageView.scaleY = 1; imageView.translateY = 0; setTimeout(() => { - root2.dispatch("DID_IMAGE_PREVIEW_SHOW", { id }); + root2.dispatch("DID_IMAGE_PREVIEW_SHOW", {id}); }, 250); }; - const updateImage3 = ({ root: root2, props }) => { - const item2 = root2.query("GET_ITEM", { id: props.id }); + const updateImage3 = ({root: root2, props}) => { + const item2 = root2.query("GET_ITEM", {id: props.id}); if (!item2) return; const imageView = root2.ref.images[root2.ref.images.length - 1]; @@ -13813,12 +13841,12 @@ var createImageWrapperView = (_) => { imageView.markup = item2.getMetadata("markup"); } }; - const didUpdateItemMetadata = ({ root: root2, props, action }) => { + const didUpdateItemMetadata = ({root: root2, props, action}) => { if (!/crop|filter|markup|resize/.test(action.change.key)) return; if (!root2.ref.images.length) return; - const item2 = root2.query("GET_ITEM", { id: props.id }); + const item2 = root2.query("GET_ITEM", {id: props.id}); if (!item2) return; if (/filter/.test(action.change.key)) { @@ -13830,10 +13858,10 @@ var createImageWrapperView = (_) => { const crop = item2.getMetadata("crop"); const image = root2.ref.images[root2.ref.images.length - 1]; if (crop && crop.aspectRatio && image.crop && image.crop.aspectRatio && Math.abs(crop.aspectRatio - image.crop.aspectRatio) > 1e-5) { - const imageView = shiftImage({ root: root2 }); - pushImage({ root: root2, props, image: cloneCanvas(imageView.image) }); + const imageView = shiftImage({root: root2}); + pushImage({root: root2, props, image: cloneCanvas(imageView.image)}); } else { - updateImage3({ root: root2, props }); + updateImage3({root: root2, props}); } } }; @@ -13845,8 +13873,8 @@ var createImageWrapperView = (_) => { return false; return "createImageBitmap" in window && isBitmap(file2); }; - const didCreatePreviewContainer = ({ root: root2, props }) => { - const { id } = props; + const didCreatePreviewContainer = ({root: root2, props}) => { + const {id} = props; const item2 = root2.query("GET_ITEM", id); if (!item2) return; @@ -13859,8 +13887,8 @@ var createImageWrapperView = (_) => { }); }); }; - const drawPreview = ({ root: root2, props }) => { - const { id } = props; + const drawPreview = ({root: root2, props}) => { + const {id} = props; const item2 = root2.query("GET_ITEM", id); if (!item2) return; @@ -13872,7 +13900,7 @@ var createImageWrapperView = (_) => { URL.revokeObjectURL(fileURL); const exif = item2.getMetadata("exif") || {}; const orientation = exif.orientation || -1; - let { width, height } = imageData; + let {width, height} = imageData; if (!width || !height) return; if (orientation >= 5 && orientation <= 8) { @@ -13901,7 +13929,7 @@ var createImageWrapperView = (_) => { imageData.close(); } root2.ref.overlayShadow.opacity = 1; - pushImage({ root: root2, props, image: previewImage }); + pushImage({root: root2, props, image: previewImage}); }; const filter = item2.getMetadata("filter"); if (filter) { @@ -13926,27 +13954,27 @@ var createImageWrapperView = (_) => { loadPreviewFallback(); } }; - const didDrawPreview = ({ root: root2 }) => { + const didDrawPreview = ({root: root2}) => { const image = root2.ref.images[root2.ref.images.length - 1]; image.translateY = 0; image.scaleX = 1; image.scaleY = 1; image.opacity = 1; }; - const restoreOverlay = ({ root: root2 }) => { + const restoreOverlay = ({root: root2}) => { root2.ref.overlayShadow.opacity = 1; root2.ref.overlayError.opacity = 0; root2.ref.overlaySuccess.opacity = 0; }; - const didThrowError = ({ root: root2 }) => { + const didThrowError = ({root: root2}) => { root2.ref.overlayShadow.opacity = 0.25; root2.ref.overlayError.opacity = 1; }; - const didCompleteProcessing = ({ root: root2 }) => { + const didCompleteProcessing = ({root: root2}) => { root2.ref.overlayShadow.opacity = 0.25; root2.ref.overlaySuccess.opacity = 1; }; - const create2 = ({ root: root2 }) => { + const create2 = ({root: root2}) => { root2.ref.images = []; root2.ref.imageData = null; root2.ref.imageViewBin = []; @@ -13968,13 +13996,13 @@ var createImageWrapperView = (_) => { create: create2, styles: ["height"], apis: ["height"], - destroy: ({ root: root2 }) => { + destroy: ({root: root2}) => { root2.ref.images.forEach((imageView) => { imageView.image.width = 1; imageView.image.height = 1; }); }, - didWriteView: ({ root: root2 }) => { + didWriteView: ({root: root2}) => { root2.ref.images.forEach((imageView) => { imageView.dirty = false; }); @@ -13990,7 +14018,7 @@ var createImageWrapperView = (_) => { DID_COMPLETE_ITEM_PROCESSING: didCompleteProcessing, DID_START_ITEM_PROCESSING: restoreOverlay, DID_REVERT_ITEM_PROCESSING: restoreOverlay - }, ({ root: root2 }) => { + }, ({root: root2}) => { const viewsToRemove = root2.ref.imageViewBin.filter((imageView) => imageView.opacity === 0); root2.ref.imageViewBin = root2.ref.imageViewBin.filter((imageView) => imageView.opacity > 0); viewsToRemove.forEach((imageView) => removeImageView(root2, imageView)); @@ -13999,15 +14027,15 @@ var createImageWrapperView = (_) => { }); }; var plugin5 = (fpAPI) => { - const { addFilter: addFilter2, utils } = fpAPI; - const { Type: Type2, createRoute: createRoute2, isFile: isFile2 } = utils; + const {addFilter: addFilter2, utils} = fpAPI; + const {Type: Type2, createRoute: createRoute2, isFile: isFile2} = utils; const imagePreviewView = createImageWrapperView(fpAPI); addFilter2("CREATE_VIEW", (viewAPI) => { - const { is, view, query } = viewAPI; + const {is, view, query} = viewAPI; if (!is("file") || !query("GET_ALLOW_IMAGE_PREVIEW")) return; - const didLoadItem2 = ({ root: root2, props }) => { - const { id } = props; + const didLoadItem2 = ({root: root2, props}) => { + const {id} = props; const item2 = query("GET_ITEM", id); if (!item2 || !isFile2(item2.file) || item2.archived) return; @@ -14020,7 +14048,7 @@ var plugin5 = (fpAPI) => { const maxPreviewFileSize = query("GET_IMAGE_PREVIEW_MAX_FILE_SIZE"); if (!supportsCreateImageBitmap && (maxPreviewFileSize && file2.size > maxPreviewFileSize)) return; - root2.ref.imagePreview = view.appendChildView(view.createChildView(imagePreviewView, { id })); + root2.ref.imagePreview = view.appendChildView(view.createChildView(imagePreviewView, {id})); const fixedPreviewHeight = root2.query("GET_IMAGE_PREVIEW_HEIGHT"); if (fixedPreviewHeight) { root2.dispatch("DID_UPDATE_PANEL_HEIGHT", { @@ -14029,13 +14057,13 @@ var plugin5 = (fpAPI) => { }); } const queue = !supportsCreateImageBitmap && file2.size > query("GET_IMAGE_PREVIEW_MAX_INSTANT_PREVIEW_FILE_SIZE"); - root2.dispatch("DID_IMAGE_PREVIEW_CONTAINER_CREATE", { id }, queue); + root2.dispatch("DID_IMAGE_PREVIEW_CONTAINER_CREATE", {id}, queue); }; const rescaleItem = (root2, props) => { if (!root2.ref.imagePreview) return; - let { id } = props; - const item2 = root2.query("GET_ITEM", { id }); + let {id} = props; + const item2 = root2.query("GET_ITEM", {id}); if (!item2) return; const panelAspectRatio = root2.query("GET_PANEL_ASPECT_RATIO"); @@ -14043,7 +14071,7 @@ var plugin5 = (fpAPI) => { const fixedHeight = root2.query("GET_IMAGE_PREVIEW_HEIGHT"); if (panelAspectRatio || itemPanelAspectRatio || fixedHeight) return; - let { imageWidth, imageHeight } = root2.ref; + let {imageWidth, imageHeight} = root2.ref; if (!imageWidth || !imageHeight) return; const minPreviewHeight = root2.query("GET_IMAGE_PREVIEW_MIN_HEIGHT"); @@ -14067,15 +14095,15 @@ var plugin5 = (fpAPI) => { height: previewHeight }); }; - const didResizeView = ({ root: root2 }) => { + const didResizeView = ({root: root2}) => { root2.ref.shouldRescale = true; }; - const didUpdateItemMetadata = ({ root: root2, action }) => { + const didUpdateItemMetadata = ({root: root2, action}) => { if (action.change.key !== "crop") return; root2.ref.shouldRescale = true; }; - const didCalculatePreviewSize = ({ root: root2, action }) => { + const didCalculatePreviewSize = ({root: root2, action}) => { root2.ref.imageWidth = action.width; root2.ref.imageHeight = action.height; root2.ref.shouldRescale = true; @@ -14088,7 +14116,7 @@ var plugin5 = (fpAPI) => { DID_LOAD_ITEM: didLoadItem2, DID_IMAGE_PREVIEW_CALCULATE_SIZE: didCalculatePreviewSize, DID_UPDATE_ITEM_METADATA: didUpdateItemMetadata - }, ({ root: root2, props }) => { + }, ({root: root2, props}) => { if (!root2.ref.imagePreview) return; if (root2.rect.element.hidden) @@ -14129,11 +14157,16 @@ var plugin5 = (fpAPI) => { }; var isBrowser6 = typeof window !== "undefined" && typeof window.document !== "undefined"; if (isBrowser6) { - document.dispatchEvent(new CustomEvent("FilePond:pluginloaded", { detail: plugin5 })); + document.dispatchEvent(new CustomEvent("FilePond:pluginloaded", {detail: plugin5})); } var filepond_plugin_image_preview_esm_default = plugin5; // node_modules/filepond-plugin-image-resize/dist/filepond-plugin-image-resize.esm.js +/*! + * FilePondPluginImageResize 2.0.10 + * Licensed under MIT, https://opensource.org/licenses/MIT/ + * Please visit https://pqina.nl/filepond/ for details. + */ var isImage2 = (file2) => /^image/.test(file2.type); var getImageSize2 = (url, cb) => { let image = new Image(); @@ -14141,14 +14174,14 @@ var getImageSize2 = (url, cb) => { const width = image.naturalWidth; const height = image.naturalHeight; image = null; - cb({ width, height }); + cb({width, height}); }; image.onerror = () => cb(null); image.src = url; }; -var plugin6 = ({ addFilter: addFilter2, utils }) => { - const { Type: Type2 } = utils; - addFilter2("DID_LOAD_ITEM", (item2, { query }) => new Promise((resolve, reject) => { +var plugin6 = ({addFilter: addFilter2, utils}) => { + const {Type: Type2} = utils; + addFilter2("DID_LOAD_ITEM", (item2, {query}) => new Promise((resolve, reject) => { const file2 = item2.file; if (!isImage2(file2) || !query("GET_ALLOW_IMAGE_RESIZE")) { return resolve(item2); @@ -14166,7 +14199,7 @@ var plugin6 = ({ addFilter: addFilter2, utils }) => { URL.revokeObjectURL(fileURL); if (!size) return resolve(item2); - let { width: imageWidth, height: imageHeight } = size; + let {width: imageWidth, height: imageHeight} = size; const orientation = (item2.getMetadata("exif") || {}).orientation || -1; if (orientation >= 5 && orientation <= 8) { [imageWidth, imageHeight] = [imageHeight, imageWidth]; @@ -14204,11 +14237,16 @@ var plugin6 = ({ addFilter: addFilter2, utils }) => { }; var isBrowser7 = typeof window !== "undefined" && typeof window.document !== "undefined"; if (isBrowser7) { - document.dispatchEvent(new CustomEvent("FilePond:pluginloaded", { detail: plugin6 })); + document.dispatchEvent(new CustomEvent("FilePond:pluginloaded", {detail: plugin6})); } var filepond_plugin_image_resize_esm_default = plugin6; // node_modules/filepond-plugin-image-transform/dist/filepond-plugin-image-transform.esm.js +/*! + * FilePondPluginImageTransform 3.8.7 + * Licensed under MIT, https://opensource.org/licenses/MIT/ + * Please visit https://pqina.nl/filepond/ for details. + */ var isImage3 = (file2) => /^image/.test(file2.type); var getFilenameWithoutExtension2 = (name2) => name2.substr(0, name2.lastIndexOf(".")) || name2; var ExtensionMap = { @@ -14239,7 +14277,7 @@ var getImageOrientationMatrix = (width, height, orientation) => { } return MATRICES[orientation](width, height); }; -var createVector2 = (x, y) => ({ x, y }); +var createVector2 = (x, y) => ({x, y}); var vectorDot2 = (a2, b) => a2.x * b.x + a2.y * b.y; var vectorSubtract2 = (a2, b) => createVector2(a2.x - b.x, a2.y - b.y); var vectorDistanceSquared2 = (a2, b) => vectorDot2(vectorSubtract2(a2, b), vectorSubtract2(a2, b)); @@ -14271,7 +14309,7 @@ var getRotatedRectSize2 = (rect, rotation) => { height: vectorDistance2(tl, bl) }; }; -var getImageRectZoomFactor2 = (imageRect, cropRect, rotation = 0, center2 = { x: 0.5, y: 0.5 }) => { +var getImageRectZoomFactor2 = (imageRect, cropRect, rotation = 0, center2 = {x: 0.5, y: 0.5}) => { const cx = center2.x > 0.5 ? 1 - center2.x : center2.x; const cy = center2.y > 0.5 ? 1 - center2.y : center2.y; const imageWidth = cx * 2 * imageRect.width; @@ -14357,7 +14395,7 @@ var getBitmap = (image, orientation, flip) => { return canvas; }; var imageToImageData = (imageElement, orientation, crop = {}, options = {}) => { - const { canvasMemoryLimit, background = null } = options; + const {canvasMemoryLimit, background = null} = options; const zoom = crop.zoom || 1; const bitmap = getBitmap(imageElement, orientation, crop.flip); const imageSize = { @@ -14388,7 +14426,7 @@ var imageToImageData = (imageElement, orientation, crop = {}, options = {}) => { center: canvasCenter }; const shouldLimit = typeof crop.scaleToFit === "undefined" || crop.scaleToFit; - const scale = zoom * getImageRectZoomFactor2(imageSize, getCenteredCropRect2(stage, aspectRatio), crop.rotation, shouldLimit ? crop.center : { x: 0.5, y: 0.5 }); + const scale = zoom * getImageRectZoomFactor2(imageSize, getCenteredCropRect2(stage, aspectRatio), crop.rotation, shouldLimit ? crop.center : {x: 0.5, y: 0.5}); canvas.width = Math.round(canvasSize.width / scale); canvas.height = Math.round(canvasSize.height / scale); canvasCenter.x /= scale; @@ -14422,7 +14460,7 @@ if (IS_BROWSER3) { for (var i = 0; i < len; i++) { arr[i] = binStr.charCodeAt(i); } - callback(new Blob([arr], { type: type || "image/png" })); + callback(new Blob([arr], {type: type || "image/png"})); }); } }); @@ -14452,7 +14490,7 @@ var vectorRotate2 = (v, radians, origin) => { const t2 = createVector$12(v.x - origin.x, v.y - origin.y); return createVector$12(origin.x + cos * t2.x - sin * t2.y, origin.y + sin * t2.x + cos * t2.y); }; -var createVector$12 = (x = 0, y = 0) => ({ x, y }); +var createVector$12 = (x = 0, y = 0) => ({x, y}); var getMarkupValue2 = (value, size, scalar = 1, axis) => { if (typeof value === "string") { return parseFloat(value) * scalar; @@ -14646,7 +14684,7 @@ var updatePath2 = (element, markup, size, scale) => { }))) }); }; -var createShape2 = (node) => (markup) => svg2(node, { id: markup.id }); +var createShape2 = (node) => (markup) => svg2(node, {id: markup.id}); var createImage2 = (markup) => { const shape = svg2("image", { id: markup.id, @@ -14708,7 +14746,7 @@ var sortMarkupByZIndex2 = (a2, b) => { return 0; }; var cropSVG = (blob2, crop = {}, markup, options) => new Promise((resolve) => { - const { background = null } = options; + const {background = null} = options; const fr = new FileReader(); fr.onloadend = () => { const text2 = fr.result; @@ -14772,7 +14810,7 @@ var cropSVG = (blob2, crop = {}, markup, options) => new Promise((resolve) => { }, getCenteredCropRect2({ width: canvasWidth, height: canvasHeight - }, aspectRatio), crop.rotation, shouldLimit ? { x: cropCenterX, y: cropCenterY } : { + }, aspectRatio), crop.rotation, shouldLimit ? {x: cropCenterX, y: cropCenterY} : { x: 0.5, y: 0.5 }); @@ -14829,7 +14867,7 @@ var objectToImageData = (obj) => { return imageData; }; var TransformWorker = () => { - const TRANSFORMS = { resize, filter }; + const TRANSFORMS = {resize, filter}; const applyTransforms = (transforms2, imageData) => { transforms2.forEach((transform2) => { imageData = TRANSFORMS[transform2.type](imageData, transform2.data); @@ -14860,7 +14898,7 @@ var TransformWorker = () => { }; self.onmessage = (e2) => { transform(e2.data.message, (response) => { - self.postMessage({ id: e2.data.id, message: response }, [response.data.buffer]); + self.postMessage({id: e2.data.id, message: response}, [response.data.buffer]); }); }; const br = 1; @@ -14952,7 +14990,7 @@ var TransformWorker = () => { return imageData; } function resize(imageData, data3) { - let { mode = "contain", upscale = false, width, height, matrix } = data3; + let {mode = "contain", upscale = false, width, height, matrix} = data3; matrix = !matrix || isIdentityMatrix(matrix) ? null : matrix; if (!width && !height) { return filter(imageData, matrix); @@ -15099,7 +15137,7 @@ var createBlob2 = (arrayBuffer, mimeType) => { }; var getUniqueId2 = () => Math.random().toString(36).substr(2, 9); var createWorker2 = (fn2) => { - const workerBlob = new Blob(["(", fn2.toString(), ")()"], { type: "application/javascript" }); + const workerBlob = new Blob(["(", fn2.toString(), ")()"], {type: "application/javascript"}); const workerURL = URL.createObjectURL(workerBlob); const worker = new Worker(workerURL); const trips = []; @@ -15309,9 +15347,9 @@ var imageDataToCanvas = (imageData) => { }; var transformImage = (file2, instructions, options = {}) => new Promise((resolve, reject) => { if (!file2 || !isImage$1(file2)) - return reject({ status: "not an image file", file: file2 }); - const { stripImageHead, beforeCreateBlob, afterCreateBlob, canvasMemoryLimit } = options; - const { crop, size, filter, markup, output } = instructions; + return reject({status: "not an image file", file: file2}); + const {stripImageHead, beforeCreateBlob, afterCreateBlob, canvasMemoryLimit} = options; + const {crop, size, filter, markup, output} = instructions; const orientation = instructions.image && instructions.image.orientation ? Math.max(1, Math.min(8, instructions.image.orientation)) : null; const qualityAsPercentage = output && output.quality; const quality = qualityAsPercentage === null ? null : qualityAsPercentage / 100; @@ -15319,10 +15357,10 @@ var transformImage = (file2, instructions, options = {}) => new Promise((resolve const background = output && output.background || null; const transforms2 = []; if (size && (typeof size.width === "number" || typeof size.height === "number")) { - transforms2.push({ type: "resize", data: size }); + transforms2.push({type: "resize", data: size}); } if (filter && filter.length === 20) { - transforms2.push({ type: "filter", data: filter }); + transforms2.push({type: "filter", data: filter}); } const resolveWithBlob = (blob2) => { const promisedBlob = afterCreateBlob ? afterCreateBlob(blob2) : blob2; @@ -15338,7 +15376,7 @@ var transformImage = (file2, instructions, options = {}) => new Promise((resolve return resolveWithBlob(blob2); getImageHead(file2).then((imageHead) => { if (imageHead !== null) { - blob2 = new Blob([imageHead, blob2.slice(20)], { type: blob2.type }); + blob2 = new Blob([imageHead, blob2.slice(20)], {type: blob2.type}); } resolveWithBlob(blob2); }); @@ -15346,7 +15384,7 @@ var transformImage = (file2, instructions, options = {}) => new Promise((resolve }); }; if (/svg/.test(file2.type) && type === null) { - return cropSVG(file2, crop, markup, { background }).then((text2) => { + return cropSVG(file2, crop, markup, {background}).then((text2) => { resolve(createBlob2(text2, "image/svg+xml")); }); } @@ -15402,7 +15440,7 @@ var getImageSize3 = (file2) => new Promise((resolve, reject) => { return; URL.revokeObjectURL(imageElement.src); clearInterval(intervalId); - resolve({ width, height }); + resolve({width, height}); }; imageElement.onerror = (err) => { URL.revokeObjectURL(imageElement.src); @@ -15425,7 +15463,7 @@ if (typeof window !== "undefined" && typeof window.document !== "undefined") { while (index--) { data3[index] = binStr.charCodeAt(index); } - cb(new Blob([data3], { type: type || "image/png" })); + cb(new Blob([data3], {type: type || "image/png"})); }); } }); @@ -15433,12 +15471,12 @@ if (typeof window !== "undefined" && typeof window.document !== "undefined") { } var isBrowser8 = typeof window !== "undefined" && typeof window.document !== "undefined"; var isIOS = isBrowser8 && /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; -var plugin7 = ({ addFilter: addFilter2, utils }) => { - const { Type: Type2, forin: forin2, getFileFromBlob: getFileFromBlob2, isFile: isFile2 } = utils; +var plugin7 = ({addFilter: addFilter2, utils}) => { + const {Type: Type2, forin: forin2, getFileFromBlob: getFileFromBlob2, isFile: isFile2} = utils; const TRANSFORM_LIST = ["crop", "resize", "filter", "markup", "output"]; const createVariantCreator = (updateMetadata) => (transform, file2, metadata) => transform(file2, updateMetadata ? updateMetadata(metadata) : metadata); const isDefaultCrop = (crop) => crop.aspectRatio === null && crop.rotation === 0 && crop.zoom === 1 && crop.center && crop.center.x === 0.5 && crop.center.y === 0.5 && crop.flip && crop.flip.horizontal === false && crop.flip.vertical === false; - addFilter2("SHOULD_PREPARE_OUTPUT", (shouldPrepareOutput, { query }) => new Promise((resolve) => { + addFilter2("SHOULD_PREPARE_OUTPUT", (shouldPrepareOutput, {query}) => new Promise((resolve) => { resolve(!query("IS_ASYNC")); })); const shouldTransformFile = (query, file2, item2) => new Promise((resolve) => { @@ -15464,7 +15502,7 @@ var plugin7 = ({ addFilter: addFilter2, utils }) => { resolve(false); }); }); - addFilter2("DID_CREATE_ITEM", (item2, { query, dispatch: dispatch2 }) => { + addFilter2("DID_CREATE_ITEM", (item2, {query, dispatch: dispatch2}) => { if (!query("GET_ALLOW_IMAGE_TRANSFORM")) return; item2.extend("requestPrepare", () => new Promise((resolve, reject) => { @@ -15476,7 +15514,7 @@ var plugin7 = ({ addFilter: addFilter2, utils }) => { }, true); })); }); - addFilter2("PREPARE_OUTPUT", (file2, { query, item: item2 }) => new Promise((resolve) => { + addFilter2("PREPARE_OUTPUT", (file2, {query, item: item2}) => new Promise((resolve) => { shouldTransformFile(query, file2, item2).then((shouldTransform) => { if (!shouldTransform) return resolve(file2); @@ -15501,7 +15539,7 @@ var plugin7 = ({ addFilter: addFilter2, utils }) => { forin2(variantsDefinition, (key, fn2) => { const createVariant = createVariantCreator(fn2); variants.push((transform2, file3, metadata) => new Promise((resolve2) => { - createVariant(transform2, file3, metadata).then((file4) => resolve2({ name: key, file: file4 })); + createVariant(transform2, file3, metadata).then((file4) => resolve2({name: key, file: file4})); })); }); const qualityAsPercentage = query("GET_IMAGE_TRANSFORM_OUTPUT_QUALITY"); @@ -15515,13 +15553,13 @@ var plugin7 = ({ addFilter: addFilter2, utils }) => { client: clientTransforms }, true); const transform = (file3, metadata) => new Promise((resolve2, reject) => { - const filteredMetadata = { ...metadata }; + const filteredMetadata = {...metadata}; Object.keys(filteredMetadata).filter((instruction) => instruction !== "exif").forEach((instruction) => { if (clientTransforms.indexOf(instruction) === -1) { delete filteredMetadata[instruction]; } }); - const { resize, exif, output, crop, filter, markup } = filteredMetadata; + const {resize, exif, output, crop, filter, markup} = filteredMetadata; const instructions = { image: { orientation: exif ? exif.orientation : null @@ -15589,7 +15627,7 @@ var plugin7 = ({ addFilter: addFilter2, utils }) => { }; }; if (isBrowser8) { - document.dispatchEvent(new CustomEvent("FilePond:pluginloaded", { detail: plugin7 })); + document.dispatchEvent(new CustomEvent("FilePond:pluginloaded", {detail: plugin7})); } var filepond_plugin_image_transform_esm_default = plugin7; @@ -15644,7 +15682,7 @@ var file_upload_default = (Alpine) => { imagePreviewHeight, imageResizeTargetHeight, imageResizeTargetWidth, - ...placeholder && { labelIdle: placeholder }, + ...placeholder && {labelIdle: placeholder}, maxFileSize: maxSize, minFileSize: minSize, styleButtonProcessItemPosition: uploadButtonPosition, @@ -15844,12 +15882,12 @@ var FileAttachmentElement = class extends HTMLElement { const accepted = this.dispatchEvent(new CustomEvent("file-attachment-accept", { bubbles: true, cancelable: true, - detail: { attachments } + detail: {attachments} })); if (accepted && attachments.length) { this.dispatchEvent(new CustomEvent("file-attachment-accepted", { bubbles: true, - detail: { attachments } + detail: {attachments} })); } } @@ -16018,7 +16056,7 @@ if (!window.customElements.get("md-header")) { var MarkdownBoldButtonElement = class extends MarkdownButtonElement { constructor() { super(); - styles2.set(this, { prefix: "**", suffix: "**", trimFirst: true }); + styles2.set(this, {prefix: "**", suffix: "**", trimFirst: true}); } connectedCallback() { super.connectedCallback(); @@ -16032,7 +16070,7 @@ if (!window.customElements.get("md-bold")) { var MarkdownItalicButtonElement = class extends MarkdownButtonElement { constructor() { super(); - styles2.set(this, { prefix: "_", suffix: "_", trimFirst: true }); + styles2.set(this, {prefix: "_", suffix: "_", trimFirst: true}); } connectedCallback() { super.connectedCallback(); @@ -16046,7 +16084,7 @@ if (!window.customElements.get("md-italic")) { var MarkdownQuoteButtonElement = class extends MarkdownButtonElement { constructor() { super(); - styles2.set(this, { prefix: "> ", multiline: true, surroundWithNewlines: true }); + styles2.set(this, {prefix: "> ", multiline: true, surroundWithNewlines: true}); } connectedCallback() { super.connectedCallback(); @@ -16061,7 +16099,7 @@ if (!window.customElements.get("md-quote")) { var MarkdownCodeButtonElement = class extends MarkdownButtonElement { constructor() { super(); - styles2.set(this, { prefix: "`", suffix: "`", blockPrefix: "```", blockSuffix: "```" }); + styles2.set(this, {prefix: "`", suffix: "`", blockPrefix: "```", blockSuffix: "```"}); } connectedCallback() { super.connectedCallback(); @@ -16075,7 +16113,7 @@ if (!window.customElements.get("md-code")) { var MarkdownLinkButtonElement = class extends MarkdownButtonElement { constructor() { super(); - styles2.set(this, { prefix: "[", suffix: "](url)", replaceNext: "url", scanFor: "https?://" }); + styles2.set(this, {prefix: "[", suffix: "](url)", replaceNext: "url", scanFor: "https?://"}); } connectedCallback() { super.connectedCallback(); @@ -16089,7 +16127,7 @@ if (!window.customElements.get("md-link")) { var MarkdownImageButtonElement = class extends MarkdownButtonElement { constructor() { super(); - styles2.set(this, { prefix: "![", suffix: "](url)", replaceNext: "url", scanFor: "https?://" }); + styles2.set(this, {prefix: "![", suffix: "](url)", replaceNext: "url", scanFor: "https?://"}); } }; if (!window.customElements.get("md-image")) { @@ -16099,7 +16137,7 @@ if (!window.customElements.get("md-image")) { var MarkdownUnorderedListButtonElement = class extends MarkdownButtonElement { constructor() { super(); - styles2.set(this, { prefix: "- ", multiline: true, surroundWithNewlines: true }); + styles2.set(this, {prefix: "- ", multiline: true, surroundWithNewlines: true}); } connectedCallback() { super.connectedCallback(); @@ -16114,7 +16152,7 @@ if (!window.customElements.get("md-unordered-list")) { var MarkdownOrderedListButtonElement = class extends MarkdownButtonElement { constructor() { super(); - styles2.set(this, { prefix: "1. ", multiline: true, orderedList: true }); + styles2.set(this, {prefix: "1. ", multiline: true, orderedList: true}); } connectedCallback() { super.connectedCallback(); @@ -16129,7 +16167,7 @@ if (!window.customElements.get("md-ordered-list")) { var MarkdownTaskListButtonElement = class extends MarkdownButtonElement { constructor() { super(); - styles2.set(this, { prefix: "- [ ] ", multiline: true, surroundWithNewlines: true }); + styles2.set(this, {prefix: "- [ ] ", multiline: true, surroundWithNewlines: true}); } connectedCallback() { super.connectedCallback(); @@ -16143,7 +16181,7 @@ if (!window.customElements.get("md-task-list")) { var MarkdownMentionButtonElement = class extends MarkdownButtonElement { constructor() { super(); - styles2.set(this, { prefix: "@", prefixSpace: true }); + styles2.set(this, {prefix: "@", prefixSpace: true}); } }; if (!window.customElements.get("md-mention")) { @@ -16153,7 +16191,7 @@ if (!window.customElements.get("md-mention")) { var MarkdownRefButtonElement = class extends MarkdownButtonElement { constructor() { super(); - styles2.set(this, { prefix: "#", prefixSpace: true }); + styles2.set(this, {prefix: "#", prefixSpace: true}); } }; if (!window.customElements.get("md-ref")) { @@ -16163,7 +16201,7 @@ if (!window.customElements.get("md-ref")) { var MarkdownStrikethroughButtonElement = class extends MarkdownButtonElement { constructor() { super(); - styles2.set(this, { prefix: "~~", suffix: "~~", trimFirst: true }); + styles2.set(this, {prefix: "~~", suffix: "~~", trimFirst: true}); } }; if (!window.customElements.get("md-strikethrough")) { @@ -16186,7 +16224,7 @@ var MarkdownToolbarElement = class extends HTMLElement { shortcutListeners.set(this, fn2); } this.setAttribute("tabindex", "0"); - this.addEventListener("focus", onToolbarFocus, { once: true }); + this.addEventListener("focus", onToolbarFocus, {once: true}); } disconnectedCallback() { const fn2 = shortcutListeners.get(this); @@ -16208,7 +16246,7 @@ var MarkdownToolbarElement = class extends HTMLElement { return field instanceof HTMLTextAreaElement ? field : null; } }; -function onToolbarFocus({ target }) { +function onToolbarFocus({target}) { if (!(target instanceof Element)) return; target.removeAttribute("tabindex"); @@ -16298,7 +16336,7 @@ function wordSelectionEnd(text2, i, multiline) { return index; } var canInsertText = null; -function insertText(textarea, { text: text2, selectionStart, selectionEnd }) { +function insertText(textarea, {text: text2, selectionStart, selectionEnd}) { const originalSelectionStart = textarea.selectionStart; const before = textarea.value.slice(0, originalSelectionStart); const after = textarea.value.slice(textarea.selectionEnd); @@ -16324,7 +16362,7 @@ function insertText(textarea, { text: text2, selectionStart, selectionEnd }) { document.execCommand("ms-endUndoUnit"); } catch (e2) { } - textarea.dispatchEvent(new CustomEvent("input", { bubbles: true, cancelable: true })); + textarea.dispatchEvent(new CustomEvent("input", {bubbles: true, cancelable: true})); } if (selectionStart != null && selectionEnd != null) { textarea.setSelectionRange(selectionStart, selectionEnd); @@ -16381,12 +16419,12 @@ function newlinesToSurroundSelectedText(textarea) { if (newlinesToPrepend == null) { newlinesToPrepend = ""; } - return { newlinesToAppend, newlinesToPrepend }; + return {newlinesToAppend, newlinesToPrepend}; } function blockStyle(textarea, arg) { let newlinesToAppend; let newlinesToPrepend; - const { prefix, suffix, blockPrefix, blockSuffix, replaceNext, prefixSpace, scanFor, surroundWithNewlines } = arg; + const {prefix, suffix, blockPrefix, blockSuffix, replaceNext, prefixSpace, scanFor, surroundWithNewlines} = arg; const originalSelectionStart = textarea.selectionStart; const originalSelectionEnd = textarea.selectionEnd; let selectedText = textarea.value.slice(textarea.selectionStart, textarea.selectionEnd); @@ -16421,7 +16459,7 @@ ${blockSuffix}` : suffix; } else { selectionEnd = selectionStart + replacementText.length; } - return { text: replacementText, selectionStart, selectionEnd }; + return {text: replacementText, selectionStart, selectionEnd}; } else if (!hasReplaceNext) { let replacementText = prefixToUse + selectedText + suffixToUse; selectionStart = originalSelectionStart + prefixToUse.length; @@ -16434,21 +16472,21 @@ ${blockSuffix}` : suffix; selectionStart += leadingWhitespace.length; selectionEnd -= trailingWhitespace.length; } - return { text: replacementText, selectionStart, selectionEnd }; + return {text: replacementText, selectionStart, selectionEnd}; } else if (scanFor.length > 0 && selectedText.match(scanFor)) { suffixToUse = suffixToUse.replace(replaceNext, selectedText); const replacementText = prefixToUse + suffixToUse; selectionStart = selectionEnd = selectionStart + prefixToUse.length; - return { text: replacementText, selectionStart, selectionEnd }; + return {text: replacementText, selectionStart, selectionEnd}; } else { const replacementText = prefixToUse + selectedText + suffixToUse; selectionStart = selectionStart + prefixToUse.length + selectedText.length + suffixToUse.indexOf(replaceNext); selectionEnd = selectionStart + replaceNext.length; - return { text: replacementText, selectionStart, selectionEnd }; + return {text: replacementText, selectionStart, selectionEnd}; } } function multilineStyle(textarea, arg) { - const { prefix, suffix, surroundWithNewlines } = arg; + const {prefix, suffix, surroundWithNewlines} = arg; let text2 = textarea.value.slice(textarea.selectionStart, textarea.selectionEnd); let selectionStart = textarea.selectionStart; let selectionEnd = textarea.selectionEnd; @@ -16460,13 +16498,13 @@ function multilineStyle(textarea, arg) { } else { text2 = lines.map((line) => prefix + line + suffix).join("\n"); if (surroundWithNewlines) { - const { newlinesToAppend, newlinesToPrepend } = newlinesToSurroundSelectedText(textarea); + const {newlinesToAppend, newlinesToPrepend} = newlinesToSurroundSelectedText(textarea); selectionStart += newlinesToAppend.length; selectionEnd = selectionStart + text2.length; text2 = newlinesToAppend + text2 + newlinesToPrepend; } } - return { text: text2, selectionStart, selectionEnd }; + return {text: text2, selectionStart, selectionEnd}; } function orderedList(textarea) { const orderedListRegex = /^\d+\.\s+/; @@ -16497,14 +16535,14 @@ function orderedList(textarea) { } else { lines = numberedLines(lines); text2 = lines.join("\n"); - const { newlinesToAppend, newlinesToPrepend } = newlinesToSurroundSelectedText(textarea); + const {newlinesToAppend, newlinesToPrepend} = newlinesToSurroundSelectedText(textarea); selectionStart = textarea.selectionStart + newlinesToAppend.length; selectionEnd = selectionStart + text2.length; if (noInitialSelection) selectionStart = selectionEnd; text2 = newlinesToAppend + text2 + newlinesToPrepend; } - return { text: text2, selectionStart, selectionEnd }; + return {text: text2, selectionStart, selectionEnd}; } function numberedLines(lines) { let i; @@ -16543,8 +16581,8 @@ function applyStyle(button, stylesToApply) { } // node_modules/marked/lib/marked.esm.js -var esmEntry$1 = { exports: {} }; -var defaults$5 = { exports: {} }; +var esmEntry$1 = {exports: {}}; +var defaults$5 = {exports: {}}; function getDefaults$1() { return { baseUrl: null, @@ -16681,8 +16719,8 @@ function resolveUrl(base, href) { return base + href; } } -var noopTest$1 = { exec: function noopTest() { -} }; +var noopTest$1 = {exec: function noopTest() { +}}; function merge$2(obj) { let i = 1, target, key; for (; i < arguments.length; i++) { @@ -16795,7 +16833,7 @@ var helpers = { checkSanitizeDeprecation: checkSanitizeDeprecation$1, repeatString: repeatString$1 }; -var { defaults: defaults$4 } = defaults$5.exports; +var {defaults: defaults$4} = defaults$5.exports; var { rtrim, splitCells, @@ -16859,7 +16897,7 @@ var Tokenizer_1$1 = class Tokenizer { raw: cap[0] }; } - return { raw: "\n" }; + return {raw: "\n"}; } } code(src) { @@ -17081,7 +17119,7 @@ var Tokenizer_1$1 = class Tokenizer { const item2 = { type: "table", header: splitCells(cap[1]).map((c2) => { - return { text: c2 }; + return {text: c2}; }), align: cap[2].replace(/^ *|\| *$/g, "").split(/ *\| */), rows: cap[3] ? cap[3].replace(/\n$/, "").split("\n") : [] @@ -17104,7 +17142,7 @@ var Tokenizer_1$1 = class Tokenizer { l = item2.rows.length; for (i = 0; i < l; i++) { item2.rows[i] = splitCells(item2.rows[i], item2.header.length).map((c2) => { - return { text: c2 }; + return {text: c2}; }); } l = item2.header.length; @@ -17542,9 +17580,9 @@ var rules = { inline: inline$1 }; var Tokenizer$2 = Tokenizer_1$1; -var { defaults: defaults$3 } = defaults$5.exports; -var { block, inline } = rules; -var { repeatString } = helpers; +var {defaults: defaults$3} = defaults$5.exports; +var {block, inline} = rules; +var {repeatString} = helpers; function smartypants(text2) { return text2.replace(/---/g, "\u2014").replace(/--/g, "\u2013").replace(/(^|[-\u2014/(\[{"\s])'/g, "$1\u2018").replace(/'/g, "\u2019").replace(/(^|[-\u2014/(\[{\u2018\s])"/g, "$1\u201C").replace(/"/g, "\u201D").replace(/\.{3}/g, "\u2026"); } @@ -17622,7 +17660,7 @@ var Lexer_1$1 = class Lexer { let token, lastToken, cutSrc, lastParagraphClipped; while (src) { if (this.options.extensions && this.options.extensions.block && this.options.extensions.block.some((extTokenizer) => { - if (token = extTokenizer.call({ lexer: this }, src, tokens)) { + if (token = extTokenizer.call({lexer: this}, src, tokens)) { src = src.substring(token.raw.length); tokens.push(token); return true; @@ -17711,7 +17749,7 @@ var Lexer_1$1 = class Lexer { const tempSrc = src.slice(1); let tempStart; this.options.extensions.startBlock.forEach(function(getStartIndex) { - tempStart = getStartIndex.call({ lexer: this }, tempSrc); + tempStart = getStartIndex.call({lexer: this}, tempSrc); if (typeof tempStart === "number" && tempStart >= 0) { startIndex = Math.min(startIndex, tempStart); } @@ -17761,7 +17799,7 @@ var Lexer_1$1 = class Lexer { return tokens; } inline(src, tokens) { - this.inlineQueue.push({ src, tokens }); + this.inlineQueue.push({src, tokens}); } inlineTokens(src, tokens = []) { let token, lastToken, cutSrc; @@ -17790,7 +17828,7 @@ var Lexer_1$1 = class Lexer { } keepPrevChar = false; if (this.options.extensions && this.options.extensions.inline && this.options.extensions.inline.some((extTokenizer) => { - if (token = extTokenizer.call({ lexer: this }, src, tokens)) { + if (token = extTokenizer.call({lexer: this}, src, tokens)) { src = src.substring(token.raw.length); tokens.push(token); return true; @@ -17867,7 +17905,7 @@ var Lexer_1$1 = class Lexer { const tempSrc = src.slice(1); let tempStart; this.options.extensions.startInline.forEach(function(getStartIndex) { - tempStart = getStartIndex.call({ lexer: this }, tempSrc); + tempStart = getStartIndex.call({lexer: this}, tempSrc); if (typeof tempStart === "number" && tempStart >= 0) { startIndex = Math.min(startIndex, tempStart); } @@ -17904,7 +17942,7 @@ var Lexer_1$1 = class Lexer { return tokens; } }; -var { defaults: defaults$2 } = defaults$5.exports; +var {defaults: defaults$2} = defaults$5.exports; var { cleanUrl, escape: escape$1 @@ -18072,7 +18110,7 @@ var Slugger_1$1 = class Slugger { var Renderer$2 = Renderer_1$1; var TextRenderer$2 = TextRenderer_1$1; var Slugger$2 = Slugger_1$1; -var { defaults: defaults$1 } = defaults$5.exports; +var {defaults: defaults$1} = defaults$5.exports; var { unescape: unescape2 } = helpers; @@ -18099,7 +18137,7 @@ var Parser_1$1 = class Parser { for (i = 0; i < l; i++) { token = tokens[i]; if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) { - ret = this.options.extensions.renderers[token.type].call({ parser: this }, token); + ret = this.options.extensions.renderers[token.type].call({parser: this}, token); if (ret !== false || !["space", "hr", "heading", "code", "table", "blockquote", "list", "html", "paragraph", "text"].includes(token.type)) { out += ret || ""; continue; @@ -18126,7 +18164,7 @@ var Parser_1$1 = class Parser { cell = ""; l2 = token.header.length; for (j = 0; j < l2; j++) { - cell += this.renderer.tablecell(this.parseInline(token.header[j].tokens), { header: true, align: token.align[j] }); + cell += this.renderer.tablecell(this.parseInline(token.header[j].tokens), {header: true, align: token.align[j]}); } header += this.renderer.tablerow(cell); body = ""; @@ -18136,7 +18174,7 @@ var Parser_1$1 = class Parser { cell = ""; l3 = row.length; for (k = 0; k < l3; k++) { - cell += this.renderer.tablecell(this.parseInline(row[k].tokens), { header: false, align: token.align[k] }); + cell += this.renderer.tablecell(this.parseInline(row[k].tokens), {header: false, align: token.align[k]}); } body += this.renderer.tablerow(cell); } @@ -18220,7 +18258,7 @@ var Parser_1$1 = class Parser { for (i = 0; i < l; i++) { token = tokens[i]; if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) { - ret = this.options.extensions.renderers[token.type].call({ parser: this }, token); + ret = this.options.extensions.renderers[token.type].call({parser: this}, token); if (ret !== false || !["escape", "html", "link", "image", "strong", "em", "codespan", "br", "del", "text"].includes(token.type)) { out += ret || ""; continue; @@ -18388,7 +18426,7 @@ marked$1.getDefaults = getDefaults; marked$1.defaults = defaults2; marked$1.use = function(...args) { const opts = merge({}, ...args); - const extensions = marked$1.defaults.extensions || { renderers: {}, childTokens: {} }; + const extensions = marked$1.defaults.extensions || {renderers: {}, childTokens: {}}; let hasExtensions; args.forEach((pack) => { if (pack.extensions) { @@ -18471,10 +18509,10 @@ marked$1.use = function(...args) { } if (pack.walkTokens) { const walkTokens = marked$1.defaults.walkTokens; - opts.walkTokens = (token) => { + opts.walkTokens = function(token) { pack.walkTokens.call(this, token); if (walkTokens) { - walkTokens(token); + walkTokens.call(this, token); } }; } @@ -18486,7 +18524,7 @@ marked$1.use = function(...args) { }; marked$1.walkTokens = function(tokens, callback) { for (const token of tokens) { - callback(token); + callback.call(marked$1, token); switch (token.type) { case "table": { for (const cell of token.header) { @@ -18571,10 +18609,10 @@ var esmEntry = esmEntry$1.exports; function e(e2) { return e2.replace(/&/g, "&").replace(//g, ">").replace(/"/g, """).replace(/'/g, "'"); } -var n = { space: /^\n+/, blockCode: /^( {4}[^\n]+\n*)+/, fences: /^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)(\n)(|[\s\S]*?\n)( {0,3}\1[~`]* *(?:\n+|$)|$)/, heading: /^#{1,6} [^\n]+(\n|$)/, lheading: /^[^\n]+\n {0,3}(=+|-+) *(\n+|$)/, hr: /^(([-_*]) *){3,}(\n+|$)/, list: /^( {0})((?:[*+-]|\d{1,9}\.)) [\s\S]+?(?:\n+(?! )(?!\1(?:[*+-]|\d{1,9}\.) )\n*|\s*$)/, blockquote: /^( {0,3}> ?([^\n]*)(?:\n|$))+/, html: /^ {0,3}(?:<(script|pre|style)[\s>][\s\S]*?(?:<\/\1>[^\n]*\n+|$)|[^\n]*(\n+|$)|<\/?(\w+)(?: +|\n|\/?>)[\s\S]*?(?:\n{2,}|$))/, paragraph: /^[^\n]+/ }; -var t = { strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/, inlineCode: /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, link: /^!?\[([\s\S]+)\]\(\s*([\s\S]+)(?:\s+([\s\S]+))?\s*\)/, text: /^(`+|[^`])(?:[\s\S]*?(?:(?=[\\ ?([^\n]*)(?:\n|$))+/, html: /^ {0,3}(?:<(script|pre|style)[\s>][\s\S]*?(?:<\/\1>[^\n]*\n+|$)|[^\n]*(\n+|$)|<\/?(\w+)(?: +|\n|\/?>)[\s\S]*?(?:\n{2,}|$))/, paragraph: /^[^\n]+/}; +var t = {strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/, inlineCode: /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/, link: /^!?\[([\s\S]+)\]\(\s*([\s\S]+)(?:\s+([\s\S]+))?\s*\)/, text: /^(`+|[^`])(?:[\s\S]*?(?:(?=[\\ `<${e2} class="mdhl-${t2}">${n2}`; -var s = { codeInFences: (n2, t2) => r("span", e(n2), "codeInFences"), heading: (e2, n2, t2) => r("b", t2(e2.text, n2), e2.type), lheading: (e2, n2, t2) => r("b", t2(e2.text, n2), "heading"), paragraph: (e2, n2, t2) => r("span", t2(e2.text, n2), e2.type), list: (e2, n2, t2) => { +var s = {codeInFences: (n2, t2) => r("span", e(n2), "codeInFences"), heading: (e2, n2, t2) => r("b", t2(e2.text, n2), e2.type), lheading: (e2, n2, t2) => r("b", t2(e2.text, n2), "heading"), paragraph: (e2, n2, t2) => r("span", t2(e2.text, n2), e2.type), list: (e2, n2, t2) => { const s2 = e2.text.split("\n").map((e3) => { const s3 = e3.substr(0, 1), c2 = e3.substr(1), o2 = t2(c2, n2); return `${r("span", s3, "bullet")}${o2}`; @@ -18583,7 +18621,7 @@ var s = { codeInFences: (n2, t2) => r("span", e(n2), "codeInFences"), heading: ( }, fences: (n2, t2) => { const [, r2, s2, c2, o2, p2] = n2.cap, a2 = t2.codeInFences(o2, s2); return `${r2}${e(s2)}${c2}${a2}${p2}`; -}, space: (e2) => e2.text, text: (e2) => e2.text, em: (e2) => r("i", e2.text, e2.type), strong: (e2) => r("b", e2.text, e2.type), defaultInlineRenderer: (e2) => r("span", e2.text, e2.type), defaultBlockRenderer: (n2) => r("span", e(n2.text), n2.type) }; +}, space: (e2) => e2.text, text: (e2) => e2.text, em: (e2) => r("i", e2.text, e2.type), strong: (e2) => r("b", e2.text, e2.type), defaultInlineRenderer: (e2) => r("span", e2.text, e2.type), defaultBlockRenderer: (n2) => r("span", e(n2.text), n2.type)}; function c(n2, r2) { let s2 = ""; for (; n2; ) @@ -18593,7 +18631,7 @@ function c(n2, r2) { const t2 = p2[0]; n2 = n2.substring(t2.length); const a2 = e(t2); - return s2 += (r2[o2] || r2.defaultInlineRenderer)({ type: o2, text: a2, cap: p2 }, r2, c), true; + return s2 += (r2[o2] || r2.defaultInlineRenderer)({type: o2, text: a2, cap: p2}, r2, c), true; } return false; })) @@ -18607,7 +18645,7 @@ function o(e2) { const s2 = n[r2].exec(e2); if (s2) { const n2 = s2[0]; - return e2 = e2.substring(n2.length), t2.push({ text: n2, type: r2, cap: s2 }), true; + return e2 = e2.substring(n2.length), t2.push({text: n2, type: r2, cap: s2}), true; } return false; })) @@ -19807,7 +19845,7 @@ IMask.createMask = createMask; var _excluded = ["mask"]; var DEFAULT_INPUT_DEFINITIONS = { "0": /\d/, - "a": /[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/, + a: /[\u0041-\u005A\u0061-\u007A\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]/, "*": /./ }; var PatternInputDefinition = /* @__PURE__ */ function() { @@ -22020,43 +22058,3 @@ var js_default = (Alpine) => { export { js_default as default }; -/*! - * FilePond 4.30.3 - * Licensed under MIT, https://opensource.org/licenses/MIT/ - * Please visit https://pqina.nl/filepond/ for details. - */ -/*! - * FilePondPluginFileValidateSize 2.2.5 - * Licensed under MIT, https://opensource.org/licenses/MIT/ - * Please visit https://pqina.nl/filepond/ for details. - */ -/*! - * FilePondPluginFileValidateType 1.2.6 - * Licensed under MIT, https://opensource.org/licenses/MIT/ - * Please visit https://pqina.nl/filepond/ for details. - */ -/*! - * FilePondPluginImageCrop 2.0.6 - * Licensed under MIT, https://opensource.org/licenses/MIT/ - * Please visit https://pqina.nl/filepond/ for details. - */ -/*! - * FilePondPluginImageExifOrientation 1.0.11 - * Licensed under MIT, https://opensource.org/licenses/MIT/ - * Please visit https://pqina.nl/filepond/ for details. - */ -/*! - * FilePondPluginImagePreview 4.6.10 - * Licensed under MIT, https://opensource.org/licenses/MIT/ - * Please visit https://pqina.nl/filepond/ for details. - */ -/*! - * FilePondPluginImageResize 2.0.10 - * Licensed under MIT, https://opensource.org/licenses/MIT/ - * Please visit https://pqina.nl/filepond/ for details. - */ -/*! - * FilePondPluginImageTransform 3.8.7 - * Licensed under MIT, https://opensource.org/licenses/MIT/ - * Please visit https://pqina.nl/filepond/ for details. - */ diff --git a/webpack.mix.js b/webpack.mix.js new file mode 100644 index 0000000000..c001b26a43 --- /dev/null +++ b/webpack.mix.js @@ -0,0 +1,22 @@ +const mix = require('laravel-mix'); +const tailwindcss = require('tailwindcss'); + +mix.disableSuccessNotifications() +mix.options({ + terser: { + extractComments: false, + }, +}) +mix.setPublicPath('packages/admin/dist') +mix.setResourceRoot('packages/admin/resources') +mix.sourceMaps() +mix.version() + +mix.js('packages/admin/resources/js/app.js', 'packages/admin/dist') + +mix + .postCss('packages/admin/resources/css/app.css', 'packages/admin/dist', [ + tailwindcss('packages/admin/tailwind.config.js'), + ]).options({ + processCssUrls: false, + })