From 3a6232db7afcbc7d21596187d5bba12cba8ca40c Mon Sep 17 00:00:00 2001 From: Khiet Tam Nguyen Date: Mon, 23 Dec 2024 00:15:13 +1100 Subject: [PATCH 01/32] fix: install inetutils on Arch Linux This provides the `hostname` command used in the install.sh script, which is not available by default on Arch Linux. Some relevant resources: - https://bbs.archlinux.org/viewtopic.php?id=125308 - https://archlinux.org/news/deprecation-of-net-tools/ - https://man.archlinux.org/man/hostname.1.en --- scripts/install.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/install.sh b/scripts/install.sh index 3f289438f..f4cecf694 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -160,7 +160,8 @@ echo -e "1. Installing required packages (curl, wget, git, jq, openssl). " case "$OS_TYPE" in arch) - pacman -Sy --noconfirm --needed curl wget git jq openssl >/dev/null || true + # inetutils provides the 'hostname' command + pacman -Sy --noconfirm --needed curl wget git jq openssl inetutils >/dev/null || true ;; alpine) sed -i '/^#.*\/community/s/^#//' /etc/apk/repositories From 4bfd76a70ce93e6901485921cbc6736a1e77da17 Mon Sep 17 00:00:00 2001 From: Darren Sisson Date: Mon, 23 Dec 2024 20:56:32 +0000 Subject: [PATCH 02/32] update supabase template --- templates/compose/supabase.yaml | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/templates/compose/supabase.yaml b/templates/compose/supabase.yaml index cd6af1a2a..8ef1dad7b 100644 --- a/templates/compose/supabase.yaml +++ b/templates/compose/supabase.yaml @@ -15,6 +15,7 @@ services: condition: service_healthy environment: - SERVICE_FQDN_SUPABASEKONG_8000 + - 'KONG_PORT_MAPS=443:8000' - JWT_SECRET=${SERVICE_PASSWORD_JWT} - KONG_DATABASE=off - KONG_DECLARATIVE_CONFIG=/home/kong/kong.yml @@ -278,7 +279,7 @@ services: config: hide_credentials: true supabase-studio: - image: supabase/studio:20240923-2e3e90c + image: supabase/studio:20241202-71e5240 healthcheck: test: [ @@ -317,7 +318,7 @@ services: # NEXT_ANALYTICS_BACKEND_PROVIDER=bigquery - 'OPENAI_API_KEY=${OPENAI_API_KEY}' supabase-db: - image: supabase/postgres:15.1.1.78 + image: supabase/postgres:15.6.1.146 healthcheck: test: pg_isready -U postgres -h 127.0.0.1 interval: 5s @@ -367,6 +368,7 @@ services: \c _supabase create schema if not exists _supavisor; alter schema _supavisor owner to :pguser; + \c postgres - type: bind source: ./volumes/db/webhooks.sql target: /docker-entrypoint-initdb.d/init-scripts/98-webhooks.sql @@ -610,6 +612,7 @@ services: \c _supabase create schema if not exists _analytics; alter schema _analytics owner to :pguser; + \c postgres # Use named volume to persist pgsodium decryption key between restarts - supabase-db-config:/etc/postgresql-custom @@ -928,7 +931,7 @@ services: command: "postgrest" exclude_from_hc: true supabase-auth: - image: supabase/gotrue:v2.158.1 + image: supabase/gotrue:v2.164.0 depends_on: supabase-db: # Disable this if you are using an external Postgres database @@ -1019,7 +1022,7 @@ services: realtime-dev: # This container name looks inconsistent but is correct because realtime constructs tenant id by parsing the subdomain - image: supabase/realtime:v2.30.34 + image: supabase/realtime:v2.33.70 container_name: realtime-dev.supabase-realtime depends_on: supabase-db: @@ -1062,6 +1065,9 @@ services: - RLIMIT_NOFILE=10000 - APP_NAME=realtime - SEED_SELF_HOST=true + - LOG_LEVEL=error + - RUN_JANITOR=true + - JANITOR_INTERVAL=60000 command: > sh -c "/app/bin/migrate && /app/bin/realtime eval 'Realtime.Release.seeds(Realtime.Repo)' && /app/bin/server" supabase-minio: @@ -1099,7 +1105,7 @@ services: exit 0 supabase-storage: - image: supabase/storage-api:v1.10.1 + image: supabase/storage-api:v1.14.6 depends_on: supabase-db: # Disable this if you are using an external Postgres database @@ -1138,12 +1144,14 @@ services: - UPLOAD_FILE_SIZE_LIMIT=524288000 - UPLOAD_FILE_SIZE_LIMIT_STANDARD=524288000 - UPLOAD_SIGNED_URL_EXPIRATION_TIME=120 - - TUS_URL_PATH=/upload/resumable + - TUS_URL_PATH=upload/resumable - TUS_MAX_SIZE=3600000 - ENABLE_IMAGE_TRANSFORMATION=true - IMGPROXY_URL=http://imgproxy:8080 - IMGPROXY_REQUEST_TIMEOUT=15 - DATABASE_SEARCH_PATH=storage + - NODE_ENV=production + - REQUEST_ALLOW_X_FORWARDED_PATH=true # - ANON_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.ewogICJyb2xlIjogImFub24iLAogICJpc3MiOiAic3VwYWJhc2UiLAogICJpYXQiOiAxNzA4OTg4NDAwLAogICJleHAiOiAxODY2ODQxMjAwCn0.jCDqsoXGT58JnAjf27KOowNQsokkk0aR7rdbGG18P-8 # - SERVICE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.ewogICJyb2xlIjogInNlcnZpY2Vfcm9sZSIsCiAgImlzcyI6ICJzdXBhYmFzZSIsCiAgImlhdCI6IDE3MDg5ODg0MDAsCiAgImV4cCI6IDE4NjY4NDEyMDAKfQ.GA7yF2BmqTzqGkP_oqDdJAQVt0djjIxGYuhE0zFDJV4 @@ -1183,7 +1191,7 @@ services: - ./volumes/storage:/var/lib/storage supabase-meta: - image: supabase/postgres-meta:v0.83.2 + image: supabase/postgres-meta:v0.84.2 depends_on: supabase-db: # Disable this if you are using an external Postgres database @@ -1199,7 +1207,7 @@ services: - PG_META_DB_PASSWORD=${SERVICE_PASSWORD_POSTGRES} supabase-edge-functions: - image: supabase/edge-runtime:v1.58.3 + image: supabase/edge-runtime:v1.65.3 depends_on: supabase-analytics: condition: service_healthy From 51dc22988d0c9661e975ac662fc7a693063e8973 Mon Sep 17 00:00:00 2001 From: Khiet Tam Nguyen Date: Tue, 24 Dec 2024 09:11:38 +1100 Subject: [PATCH 03/32] fix: use ip in place of hostname from inetutils in arch --- scripts/install.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/scripts/install.sh b/scripts/install.sh index f4cecf694..b5e163907 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -160,8 +160,7 @@ echo -e "1. Installing required packages (curl, wget, git, jq, openssl). " case "$OS_TYPE" in arch) - # inetutils provides the 'hostname' command - pacman -Sy --noconfirm --needed curl wget git jq openssl inetutils >/dev/null || true + pacman -Sy --noconfirm --needed curl wget git jq openssl >/dev/null || true ;; alpine) sed -i '/^#.*\/community/s/^#//' /etc/apk/repositories @@ -543,7 +542,7 @@ echo -e "You can access Coolify through your Public IP: http://$(curl -4s https: set +e DEFAULT_PRIVATE_IP=$(ip route get 1 | sed -n 's/^.*src \([0-9.]*\) .*$/\1/p') -PRIVATE_IPS=$(hostname -I) +PRIVATE_IPS=$(hostname -I 2>/dev/null || ip -o addr show scope global | awk '{print $4}' | cut -d/ -f1) set -e if [ -n "$PRIVATE_IPS" ]; then From a0f471bf3a710292e8233e196d12159ce24fbaf1 Mon Sep 17 00:00:00 2001 From: Amju <86785660+amjed-ali-k@users.noreply.github.com> Date: Sun, 29 Dec 2024 17:18:45 +0530 Subject: [PATCH 04/32] Update trigger-with-external-database.yaml --- templates/compose/trigger-with-external-database.yaml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/templates/compose/trigger-with-external-database.yaml b/templates/compose/trigger-with-external-database.yaml index 82c459430..e0db4feb7 100644 --- a/templates/compose/trigger-with-external-database.yaml +++ b/templates/compose/trigger-with-external-database.yaml @@ -23,8 +23,11 @@ services: - RESEND_API_KEY=${RESEND_API_KEY} - FROM_EMAIL=${FROM_EMAIL} - REPLY_TO_EMAIL=${REPLY_TO_EMAIL} + - REDIS_HOST=${REDIS_HOST} + - REDIS_PORT=${REDIS_PORT} + healthcheck: test: "timeout 10s bash -c ':> /dev/tcp/127.0.0.1/3000' || exit 1" interval: 10s timeout: 5s - retries: 5 \ No newline at end of file + retries: 5 From c9ff0b99408de7b308150eb800c39ce97b2c5da6 Mon Sep 17 00:00:00 2001 From: Amju <86785660+amjed-ali-k@users.noreply.github.com> Date: Sun, 29 Dec 2024 17:46:19 +0530 Subject: [PATCH 05/32] add username + tsl env vars --- templates/compose/trigger-with-external-database.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/templates/compose/trigger-with-external-database.yaml b/templates/compose/trigger-with-external-database.yaml index e0db4feb7..c92530060 100644 --- a/templates/compose/trigger-with-external-database.yaml +++ b/templates/compose/trigger-with-external-database.yaml @@ -25,6 +25,9 @@ services: - REPLY_TO_EMAIL=${REPLY_TO_EMAIL} - REDIS_HOST=${REDIS_HOST} - REDIS_PORT=${REDIS_PORT} + - 'REDIS_USERNAME=${REDIS_USERNAME}' + - 'REDIS_PASSWORD=${REDIS_PASSWORD}' + - REDIS_TLS_DISABLED=true healthcheck: test: "timeout 10s bash -c ':> /dev/tcp/127.0.0.1/3000' || exit 1" From e6b18937d00a3598bcae65be630824c80f6c09e5 Mon Sep 17 00:00:00 2001 From: Behzad Samadi Date: Tue, 31 Dec 2024 16:27:00 -0500 Subject: [PATCH 06/32] Fixing the CSRF bug for labelstudio versions 1.14.0 and higher --- templates/compose/labelstudio.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/templates/compose/labelstudio.yaml b/templates/compose/labelstudio.yaml index de9ce9da9..9f2d1738d 100644 --- a/templates/compose/labelstudio.yaml +++ b/templates/compose/labelstudio.yaml @@ -12,6 +12,8 @@ services: condition: service_healthy environment: - SERVICE_FQDN_LABELSTUDIO_8080 + - CSRF_TRUSTED_ORIGINS=${SERVICE_FQDN_LABELSTUDIO} + - EXPERIMENTAL_FEATURES=${EXPERIMENTAL_FEATURES:-1} - DJANGO_DB=${DJANGO_DB:-default} - POSTGRE_NAME=${POSTGRES_DB:-labelstudio} - POSTGRE_USER=${SERVICE_USER_POSTGRES} From 83c585ee8b49d306a5ea559d2b807c2a60025f25 Mon Sep 17 00:00:00 2001 From: Oliver <36953982+Syiana@users.noreply.github.com> Date: Fri, 3 Jan 2025 14:52:43 +0000 Subject: [PATCH 07/32] teable service --- public/svgs/teable.png | Bin 0 -> 4309 bytes templates/compose/teable.yaml | 82 ++++++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 public/svgs/teable.png create mode 100644 templates/compose/teable.yaml diff --git a/public/svgs/teable.png b/public/svgs/teable.png new file mode 100644 index 0000000000000000000000000000000000000000..2b9e9d9d8c0fa632a552aca5d4704a871ff78cc0 GIT binary patch literal 4309 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 Date: Tue, 7 Jan 2025 09:25:25 +0100 Subject: [PATCH 08/32] Refactor ApplicationDeploymentJob: Move 'tries' property definition to class level --- app/Jobs/ApplicationDeploymentJob.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/Jobs/ApplicationDeploymentJob.php b/app/Jobs/ApplicationDeploymentJob.php index 6b523adc9..addaf436a 100644 --- a/app/Jobs/ApplicationDeploymentJob.php +++ b/app/Jobs/ApplicationDeploymentJob.php @@ -39,6 +39,8 @@ class ApplicationDeploymentJob implements ShouldBeEncrypted, ShouldQueue { use Dispatchable, ExecuteRemoteCommand, InteractsWithQueue, Queueable, SerializesModels; + public $tries = 1; + public $timeout = 3600; public static int $batch_counter = 0; @@ -166,8 +168,6 @@ class ApplicationDeploymentJob implements ShouldBeEncrypted, ShouldQueue private bool $preserveRepository = false; - public $tries = 1; - public function __construct(int $application_deployment_queue_id) { $this->onQueue('high'); From f2b62e93cecc1f935e8589196c78ee0c975210d2 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Tue, 7 Jan 2025 09:29:38 +0100 Subject: [PATCH 09/32] fix: readonly does not exists fix: validate after setting timezone to the new value --- app/Livewire/Project/Database/BackupEdit.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/Livewire/Project/Database/BackupEdit.php b/app/Livewire/Project/Database/BackupEdit.php index bf5302cb9..0dea0496c 100644 --- a/app/Livewire/Project/Database/BackupEdit.php +++ b/app/Livewire/Project/Database/BackupEdit.php @@ -40,7 +40,7 @@ class BackupEdit extends Component #[Validate(['required', 'string'])] public string $frequency = ''; - #[Validate(['readonly', 'string'])] + #[Validate(['string'])] public string $timezone = ''; #[Validate(['required', 'integer', 'min:1'])] @@ -71,7 +71,6 @@ class BackupEdit extends Component public function syncData(bool $toModel = false) { if ($toModel) { - $this->customValidate(); $this->backup->enabled = $this->backupEnabled; $this->backup->frequency = $this->frequency; $this->backup->number_of_backups_locally = $this->numberOfBackupsLocally; @@ -79,6 +78,7 @@ class BackupEdit extends Component $this->backup->s3_storage_id = $this->s3StorageId; $this->backup->databases_to_backup = $this->databasesToBackup; $this->backup->dump_all = $this->dumpAll; + $this->customValidate(); $this->backup->save(); } else { $this->backupEnabled = $this->backup->enabled; @@ -187,12 +187,12 @@ class BackupEdit extends Component private function deleteAssociatedBackupsS3() { - //Add function to delete backups from S3 + // Add function to delete backups from S3 } private function deleteAssociatedBackupsSftp() { - //Add function to delete backups from SFTP + // Add function to delete backups from SFTP } private function deleteEmptyBackupFolder($folderPath, $server) From b43ea5fb5d9e883529189b61db7441dc51818ea8 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Tue, 7 Jan 2025 09:48:29 +0100 Subject: [PATCH 10/32] fix: we need XSRF-TOKEN for terminal --- app/Http/Middleware/VerifyCsrfToken.php | 5 ----- 1 file changed, 5 deletions(-) diff --git a/app/Http/Middleware/VerifyCsrfToken.php b/app/Http/Middleware/VerifyCsrfToken.php index 561fbe468..9e8652172 100644 --- a/app/Http/Middleware/VerifyCsrfToken.php +++ b/app/Http/Middleware/VerifyCsrfToken.php @@ -14,9 +14,4 @@ class VerifyCsrfToken extends Middleware protected $except = [ // ]; - - protected function addCookieToResponse($request, $response) - { - return $response; - } } From 7f9e54516be08037ba4d598a54cec5ce640d1bdd Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Tue, 7 Jan 2025 09:51:25 +0100 Subject: [PATCH 11/32] fix: prevent default link behavior for resource and settings actions in dashboard --- resources/views/livewire/dashboard.blade.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/resources/views/livewire/dashboard.blade.php b/resources/views/livewire/dashboard.blade.php index decebbac8..8000a9452 100644 --- a/resources/views/livewire/dashboard.blade.php +++ b/resources/views/livewire/dashboard.blade.php @@ -35,7 +35,7 @@
@if ($project->environments->first()) - + Add Resource @endif - Settings From 2710b2a7bba0b99a869f97747d282c4c835afbb0 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Tue, 7 Jan 2025 10:36:01 +0100 Subject: [PATCH 12/32] fix: increase default php memory limit --- docker/development/etc/php/conf.d/zzz-custom-php.ini | 2 +- docker/production/etc/php/conf.d/zzz-custom-php.ini | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/development/etc/php/conf.d/zzz-custom-php.ini b/docker/development/etc/php/conf.d/zzz-custom-php.ini index dcf048904..e09eda538 100644 --- a/docker/development/etc/php/conf.d/zzz-custom-php.ini +++ b/docker/development/etc/php/conf.d/zzz-custom-php.ini @@ -7,4 +7,4 @@ ignore_repeated_source = On upload_max_filesize = 256M post_max_size = 256M -memory_limit = ${PHP_MEMORY_LIMIT:-256M} +memory_limit = ${PHP_MEMORY_LIMIT:-512M} diff --git a/docker/production/etc/php/conf.d/zzz-custom-php.ini b/docker/production/etc/php/conf.d/zzz-custom-php.ini index ee18b77e9..4002b8f16 100644 --- a/docker/production/etc/php/conf.d/zzz-custom-php.ini +++ b/docker/production/etc/php/conf.d/zzz-custom-php.ini @@ -7,4 +7,4 @@ ignore_repeated_source = On upload_max_filesize = 256M post_max_size = 256M -memory_limit = ${PHP_MEMORY_LIMIT:-256M} +memory_limit = ${PHP_MEMORY_LIMIT:-512M} From af482f0572a3d07b6f018d4d55729b901586e6c0 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Tue, 7 Jan 2025 10:43:21 +0100 Subject: [PATCH 13/32] fix: show if only build servers are added to your team --- app/Livewire/Project/New/Select.php | 8 ++++ .../livewire/project/new/select.blade.php | 43 +++++++++++-------- 2 files changed, 32 insertions(+), 19 deletions(-) diff --git a/app/Livewire/Project/New/Select.php b/app/Livewire/Project/New/Select.php index 2c098d6bc..b645a8915 100644 --- a/app/Livewire/Project/New/Select.php +++ b/app/Livewire/Project/New/Select.php @@ -23,6 +23,8 @@ class Select extends Component public Collection|null|Server $servers; + public bool $onlyBuildServerAvailable = false; + public ?Collection $standaloneDockers; public ?Collection $swarmDockers; @@ -325,5 +327,11 @@ class Select extends Component { $this->servers = Server::isUsable()->get()->sortBy('name'); $this->allServers = $this->servers; + + if ($this->allServers && $this->allServers->isNotEmpty()) { + $this->onlyBuildServerAvailable = $this->allServers->every(function ($server) { + return $server->isBuildServer(); + }); + } } } diff --git a/resources/views/livewire/project/new/select.blade.php b/resources/views/livewire/project/new/select.blade.php index e6067817d..d48c3bbec 100644 --- a/resources/views/livewire/project/new/select.blade.php +++ b/resources/views/livewire/project/new/select.blade.php @@ -216,28 +216,33 @@

Select a server

- @forelse($servers as $server) -
-
-
- {{ $server->name }} + @if ($onlyBuildServerAvailable) +
Only build servers are available, you need at least one server that is not set as build + server. + Go to servers page +
+ @else + @forelse($servers as $server) +
+
+
+ {{ $server->name }} +
+
+ {{ $server->description }}
-
- {{ $server->description }}
-
- @empty -
-
No validated & reachable servers found. - Go to servers page -
-
- @endforelse + @empty +
+ +
No validated & reachable servers found. + Go to servers page +
+
+ @endforelse + @endif
- {{-- @if ($isDatabase) -
Swarm clusters are excluded from this type of resource at the moment. It will - be activated soon. Stay tuned.
- @endif --}} @endif @if ($current_step === 'destinations')

Select a destination

From 2fc5893e9894649637cb2cf51182b3509999bdd3 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Tue, 7 Jan 2025 11:03:23 +0100 Subject: [PATCH 14/32] fix: update Livewire button click method to use camelCase --- resources/views/livewire/project/database/backup-now.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/resources/views/livewire/project/database/backup-now.blade.php b/resources/views/livewire/project/database/backup-now.blade.php index 9fa698c31..e5b1daf8d 100644 --- a/resources/views/livewire/project/database/backup-now.blade.php +++ b/resources/views/livewire/project/database/backup-now.blade.php @@ -1 +1 @@ -Backup Now +Backup Now From 86ce9f3ddf475e76055193675fa6e5c41c27dda8 Mon Sep 17 00:00:00 2001 From: Andras Bacsai Date: Tue, 7 Jan 2025 11:03:41 +0100 Subject: [PATCH 15/32] fix: local dropzonejs --- public/js/dropzone.js | 1 + resources/views/livewire/project/database/import.blade.php | 4 +--- 2 files changed, 2 insertions(+), 3 deletions(-) create mode 100644 public/js/dropzone.js diff --git a/public/js/dropzone.js b/public/js/dropzone.js new file mode 100644 index 000000000..58ec1972f --- /dev/null +++ b/public/js/dropzone.js @@ -0,0 +1 @@ +!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var n=t();for(var r in n)("object"==typeof exports?exports:e)[r]=n[r]}}(self,(function(){return function(){var e={3099:function(e){e.exports=function(e){if("function"!=typeof e)throw TypeError(String(e)+" is not a function");return e}},6077:function(e,t,n){var r=n(111);e.exports=function(e){if(!r(e)&&null!==e)throw TypeError("Can't set "+String(e)+" as a prototype");return e}},1223:function(e,t,n){var r=n(5112),i=n(30),o=n(3070),a=r("unscopables"),u=Array.prototype;null==u[a]&&o.f(u,a,{configurable:!0,value:i(null)}),e.exports=function(e){u[a][e]=!0}},1530:function(e,t,n){"use strict";var r=n(8710).charAt;e.exports=function(e,t,n){return t+(n?r(e,t).length:1)}},5787:function(e){e.exports=function(e,t,n){if(!(e instanceof t))throw TypeError("Incorrect "+(n?n+" ":"")+"invocation");return e}},9670:function(e,t,n){var r=n(111);e.exports=function(e){if(!r(e))throw TypeError(String(e)+" is not an object");return e}},4019:function(e){e.exports="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView},260:function(e,t,n){"use strict";var r,i=n(4019),o=n(9781),a=n(7854),u=n(111),s=n(6656),l=n(648),c=n(8880),f=n(1320),p=n(3070).f,h=n(9518),d=n(7674),v=n(5112),y=n(9711),g=a.Int8Array,m=g&&g.prototype,b=a.Uint8ClampedArray,x=b&&b.prototype,w=g&&h(g),E=m&&h(m),k=Object.prototype,A=k.isPrototypeOf,S=v("toStringTag"),F=y("TYPED_ARRAY_TAG"),T=i&&!!d&&"Opera"!==l(a.opera),C=!1,L={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},R={BigInt64Array:8,BigUint64Array:8},I=function(e){if(!u(e))return!1;var t=l(e);return s(L,t)||s(R,t)};for(r in L)a[r]||(T=!1);if((!T||"function"!=typeof w||w===Function.prototype)&&(w=function(){throw TypeError("Incorrect invocation")},T))for(r in L)a[r]&&d(a[r],w);if((!T||!E||E===k)&&(E=w.prototype,T))for(r in L)a[r]&&d(a[r].prototype,E);if(T&&h(x)!==E&&d(x,E),o&&!s(E,S))for(r in C=!0,p(E,S,{get:function(){return u(this)?this[F]:void 0}}),L)a[r]&&c(a[r],F,r);e.exports={NATIVE_ARRAY_BUFFER_VIEWS:T,TYPED_ARRAY_TAG:C&&F,aTypedArray:function(e){if(I(e))return e;throw TypeError("Target is not a typed array")},aTypedArrayConstructor:function(e){if(d){if(A.call(w,e))return e}else for(var t in L)if(s(L,r)){var n=a[t];if(n&&(e===n||A.call(n,e)))return e}throw TypeError("Target is not a typed array constructor")},exportTypedArrayMethod:function(e,t,n){if(o){if(n)for(var r in L){var i=a[r];i&&s(i.prototype,e)&&delete i.prototype[e]}E[e]&&!n||f(E,e,n?t:T&&m[e]||t)}},exportTypedArrayStaticMethod:function(e,t,n){var r,i;if(o){if(d){if(n)for(r in L)(i=a[r])&&s(i,e)&&delete i[e];if(w[e]&&!n)return;try{return f(w,e,n?t:T&&g[e]||t)}catch(e){}}for(r in L)!(i=a[r])||i[e]&&!n||f(i,e,t)}},isView:function(e){if(!u(e))return!1;var t=l(e);return"DataView"===t||s(L,t)||s(R,t)},isTypedArray:I,TypedArray:w,TypedArrayPrototype:E}},3331:function(e,t,n){"use strict";var r=n(7854),i=n(9781),o=n(4019),a=n(8880),u=n(2248),s=n(7293),l=n(5787),c=n(9958),f=n(7466),p=n(7067),h=n(1179),d=n(9518),v=n(7674),y=n(8006).f,g=n(3070).f,m=n(1285),b=n(8003),x=n(9909),w=x.get,E=x.set,k="ArrayBuffer",A="DataView",S="Wrong index",F=r.ArrayBuffer,T=F,C=r.DataView,L=C&&C.prototype,R=Object.prototype,I=r.RangeError,U=h.pack,O=h.unpack,_=function(e){return[255&e]},M=function(e){return[255&e,e>>8&255]},z=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},P=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},j=function(e){return U(e,23,4)},D=function(e){return U(e,52,8)},N=function(e,t){g(e.prototype,t,{get:function(){return w(this)[t]}})},B=function(e,t,n,r){var i=p(n),o=w(e);if(i+t>o.byteLength)throw I(S);var a=w(o.buffer).bytes,u=i+o.byteOffset,s=a.slice(u,u+t);return r?s:s.reverse()},q=function(e,t,n,r,i,o){var a=p(n),u=w(e);if(a+t>u.byteLength)throw I(S);for(var s=w(u.buffer).bytes,l=a+u.byteOffset,c=r(+i),f=0;fG;)(W=Y[G++])in T||a(T,W,F[W]);H.constructor=T}v&&d(L)!==R&&v(L,R);var Q=new C(new T(2)),$=L.setInt8;Q.setInt8(0,2147483648),Q.setInt8(1,2147483649),!Q.getInt8(0)&&Q.getInt8(1)||u(L,{setInt8:function(e,t){$.call(this,e,t<<24>>24)},setUint8:function(e,t){$.call(this,e,t<<24>>24)}},{unsafe:!0})}else T=function(e){l(this,T,k);var t=p(e);E(this,{bytes:m.call(new Array(t),0),byteLength:t}),i||(this.byteLength=t)},C=function(e,t,n){l(this,C,A),l(e,T,A);var r=w(e).byteLength,o=c(t);if(o<0||o>r)throw I("Wrong offset");if(o+(n=void 0===n?r-o:f(n))>r)throw I("Wrong length");E(this,{buffer:e,byteLength:n,byteOffset:o}),i||(this.buffer=e,this.byteLength=n,this.byteOffset=o)},i&&(N(T,"byteLength"),N(C,"buffer"),N(C,"byteLength"),N(C,"byteOffset")),u(C.prototype,{getInt8:function(e){return B(this,1,e)[0]<<24>>24},getUint8:function(e){return B(this,1,e)[0]},getInt16:function(e){var t=B(this,2,e,arguments.length>1?arguments[1]:void 0);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=B(this,2,e,arguments.length>1?arguments[1]:void 0);return t[1]<<8|t[0]},getInt32:function(e){return P(B(this,4,e,arguments.length>1?arguments[1]:void 0))},getUint32:function(e){return P(B(this,4,e,arguments.length>1?arguments[1]:void 0))>>>0},getFloat32:function(e){return O(B(this,4,e,arguments.length>1?arguments[1]:void 0),23)},getFloat64:function(e){return O(B(this,8,e,arguments.length>1?arguments[1]:void 0),52)},setInt8:function(e,t){q(this,1,e,_,t)},setUint8:function(e,t){q(this,1,e,_,t)},setInt16:function(e,t){q(this,2,e,M,t,arguments.length>2?arguments[2]:void 0)},setUint16:function(e,t){q(this,2,e,M,t,arguments.length>2?arguments[2]:void 0)},setInt32:function(e,t){q(this,4,e,z,t,arguments.length>2?arguments[2]:void 0)},setUint32:function(e,t){q(this,4,e,z,t,arguments.length>2?arguments[2]:void 0)},setFloat32:function(e,t){q(this,4,e,j,t,arguments.length>2?arguments[2]:void 0)},setFloat64:function(e,t){q(this,8,e,D,t,arguments.length>2?arguments[2]:void 0)}});b(T,k),b(C,A),e.exports={ArrayBuffer:T,DataView:C}},1048:function(e,t,n){"use strict";var r=n(7908),i=n(1400),o=n(7466),a=Math.min;e.exports=[].copyWithin||function(e,t){var n=r(this),u=o(n.length),s=i(e,u),l=i(t,u),c=arguments.length>2?arguments[2]:void 0,f=a((void 0===c?u:i(c,u))-l,u-s),p=1;for(l0;)l in n?n[s]=n[l]:delete n[s],s+=p,l+=p;return n}},1285:function(e,t,n){"use strict";var r=n(7908),i=n(1400),o=n(7466);e.exports=function(e){for(var t=r(this),n=o(t.length),a=arguments.length,u=i(a>1?arguments[1]:void 0,n),s=a>2?arguments[2]:void 0,l=void 0===s?n:i(s,n);l>u;)t[u++]=e;return t}},8533:function(e,t,n){"use strict";var r=n(2092).forEach,i=n(9341)("forEach");e.exports=i?[].forEach:function(e){return r(this,e,arguments.length>1?arguments[1]:void 0)}},8457:function(e,t,n){"use strict";var r=n(9974),i=n(7908),o=n(3411),a=n(7659),u=n(7466),s=n(6135),l=n(1246);e.exports=function(e){var t,n,c,f,p,h,d=i(e),v="function"==typeof this?this:Array,y=arguments.length,g=y>1?arguments[1]:void 0,m=void 0!==g,b=l(d),x=0;if(m&&(g=r(g,y>2?arguments[2]:void 0,2)),null==b||v==Array&&a(b))for(n=new v(t=u(d.length));t>x;x++)h=m?g(d[x],x):d[x],s(n,x,h);else for(p=(f=b.call(d)).next,n=new v;!(c=p.call(f)).done;x++)h=m?o(f,g,[c.value,x],!0):c.value,s(n,x,h);return n.length=x,n}},1318:function(e,t,n){var r=n(5656),i=n(7466),o=n(1400),a=function(e){return function(t,n,a){var u,s=r(t),l=i(s.length),c=o(a,l);if(e&&n!=n){for(;l>c;)if((u=s[c++])!=u)return!0}else for(;l>c;c++)if((e||c in s)&&s[c]===n)return e||c||0;return!e&&-1}};e.exports={includes:a(!0),indexOf:a(!1)}},2092:function(e,t,n){var r=n(9974),i=n(8361),o=n(7908),a=n(7466),u=n(5417),s=[].push,l=function(e){var t=1==e,n=2==e,l=3==e,c=4==e,f=6==e,p=7==e,h=5==e||f;return function(d,v,y,g){for(var m,b,x=o(d),w=i(x),E=r(v,y,3),k=a(w.length),A=0,S=g||u,F=t?S(d,k):n||p?S(d,0):void 0;k>A;A++)if((h||A in w)&&(b=E(m=w[A],A,x),e))if(t)F[A]=b;else if(b)switch(e){case 3:return!0;case 5:return m;case 6:return A;case 2:s.call(F,m)}else switch(e){case 4:return!1;case 7:s.call(F,m)}return f?-1:l||c?c:F}};e.exports={forEach:l(0),map:l(1),filter:l(2),some:l(3),every:l(4),find:l(5),findIndex:l(6),filterOut:l(7)}},6583:function(e,t,n){"use strict";var r=n(5656),i=n(9958),o=n(7466),a=n(9341),u=Math.min,s=[].lastIndexOf,l=!!s&&1/[1].lastIndexOf(1,-0)<0,c=a("lastIndexOf"),f=l||!c;e.exports=f?function(e){if(l)return s.apply(this,arguments)||0;var t=r(this),n=o(t.length),a=n-1;for(arguments.length>1&&(a=u(a,i(arguments[1]))),a<0&&(a=n+a);a>=0;a--)if(a in t&&t[a]===e)return a||0;return-1}:s},1194:function(e,t,n){var r=n(7293),i=n(5112),o=n(7392),a=i("species");e.exports=function(e){return o>=51||!r((function(){var t=[];return(t.constructor={})[a]=function(){return{foo:1}},1!==t[e](Boolean).foo}))}},9341:function(e,t,n){"use strict";var r=n(7293);e.exports=function(e,t){var n=[][e];return!!n&&r((function(){n.call(null,t||function(){throw 1},1)}))}},3671:function(e,t,n){var r=n(3099),i=n(7908),o=n(8361),a=n(7466),u=function(e){return function(t,n,u,s){r(n);var l=i(t),c=o(l),f=a(l.length),p=e?f-1:0,h=e?-1:1;if(u<2)for(;;){if(p in c){s=c[p],p+=h;break}if(p+=h,e?p<0:f<=p)throw TypeError("Reduce of empty array with no initial value")}for(;e?p>=0:f>p;p+=h)p in c&&(s=n(s,c[p],p,l));return s}};e.exports={left:u(!1),right:u(!0)}},5417:function(e,t,n){var r=n(111),i=n(3157),o=n(5112)("species");e.exports=function(e,t){var n;return i(e)&&("function"!=typeof(n=e.constructor)||n!==Array&&!i(n.prototype)?r(n)&&null===(n=n[o])&&(n=void 0):n=void 0),new(void 0===n?Array:n)(0===t?0:t)}},3411:function(e,t,n){var r=n(9670),i=n(9212);e.exports=function(e,t,n,o){try{return o?t(r(n)[0],n[1]):t(n)}catch(t){throw i(e),t}}},7072:function(e,t,n){var r=n(5112)("iterator"),i=!1;try{var o=0,a={next:function(){return{done:!!o++}},return:function(){i=!0}};a[r]=function(){return this},Array.from(a,(function(){throw 2}))}catch(e){}e.exports=function(e,t){if(!t&&!i)return!1;var n=!1;try{var o={};o[r]=function(){return{next:function(){return{done:n=!0}}}},e(o)}catch(e){}return n}},4326:function(e){var t={}.toString;e.exports=function(e){return t.call(e).slice(8,-1)}},648:function(e,t,n){var r=n(1694),i=n(4326),o=n(5112)("toStringTag"),a="Arguments"==i(function(){return arguments}());e.exports=r?i:function(e){var t,n,r;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(n=function(e,t){try{return e[t]}catch(e){}}(t=Object(e),o))?n:a?i(t):"Object"==(r=i(t))&&"function"==typeof t.callee?"Arguments":r}},9920:function(e,t,n){var r=n(6656),i=n(3887),o=n(1236),a=n(3070);e.exports=function(e,t){for(var n=i(t),u=a.f,s=o.f,l=0;l=74)&&(r=a.match(/Chrome\/(\d+)/))&&(i=r[1]),e.exports=i&&+i},748:function(e){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},2109:function(e,t,n){var r=n(7854),i=n(1236).f,o=n(8880),a=n(1320),u=n(3505),s=n(9920),l=n(4705);e.exports=function(e,t){var n,c,f,p,h,d=e.target,v=e.global,y=e.stat;if(n=v?r:y?r[d]||u(d,{}):(r[d]||{}).prototype)for(c in t){if(p=t[c],f=e.noTargetGet?(h=i(n,c))&&h.value:n[c],!l(v?c:d+(y?".":"#")+c,e.forced)&&void 0!==f){if(typeof p==typeof f)continue;s(p,f)}(e.sham||f&&f.sham)&&o(p,"sham",!0),a(n,c,p,e)}}},7293:function(e){e.exports=function(e){try{return!!e()}catch(e){return!0}}},7007:function(e,t,n){"use strict";n(4916);var r=n(1320),i=n(7293),o=n(5112),a=n(2261),u=n(8880),s=o("species"),l=!i((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$")})),c="$0"==="a".replace(/./,"$0"),f=o("replace"),p=!!/./[f]&&""===/./[f]("a","$0"),h=!i((function(){var e=/(?:)/,t=e.exec;e.exec=function(){return t.apply(this,arguments)};var n="ab".split(e);return 2!==n.length||"a"!==n[0]||"b"!==n[1]}));e.exports=function(e,t,n,f){var d=o(e),v=!i((function(){var t={};return t[d]=function(){return 7},7!=""[e](t)})),y=v&&!i((function(){var t=!1,n=/a/;return"split"===e&&((n={}).constructor={},n.constructor[s]=function(){return n},n.flags="",n[d]=/./[d]),n.exec=function(){return t=!0,null},n[d](""),!t}));if(!v||!y||"replace"===e&&(!l||!c||p)||"split"===e&&!h){var g=/./[d],m=n(d,""[e],(function(e,t,n,r,i){return t.exec===a?v&&!i?{done:!0,value:g.call(t,n,r)}:{done:!0,value:e.call(n,t,r)}:{done:!1}}),{REPLACE_KEEPS_$0:c,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:p}),b=m[0],x=m[1];r(String.prototype,e,b),r(RegExp.prototype,d,2==t?function(e,t){return x.call(e,this,t)}:function(e){return x.call(e,this)})}f&&u(RegExp.prototype[d],"sham",!0)}},9974:function(e,t,n){var r=n(3099);e.exports=function(e,t,n){if(r(e),void 0===t)return e;switch(n){case 0:return function(){return e.call(t)};case 1:return function(n){return e.call(t,n)};case 2:return function(n,r){return e.call(t,n,r)};case 3:return function(n,r,i){return e.call(t,n,r,i)}}return function(){return e.apply(t,arguments)}}},5005:function(e,t,n){var r=n(857),i=n(7854),o=function(e){return"function"==typeof e?e:void 0};e.exports=function(e,t){return arguments.length<2?o(r[e])||o(i[e]):r[e]&&r[e][t]||i[e]&&i[e][t]}},1246:function(e,t,n){var r=n(648),i=n(7497),o=n(5112)("iterator");e.exports=function(e){if(null!=e)return e[o]||e["@@iterator"]||i[r(e)]}},8554:function(e,t,n){var r=n(9670),i=n(1246);e.exports=function(e){var t=i(e);if("function"!=typeof t)throw TypeError(String(e)+" is not iterable");return r(t.call(e))}},647:function(e,t,n){var r=n(7908),i=Math.floor,o="".replace,a=/\$([$&'`]|\d\d?|<[^>]*>)/g,u=/\$([$&'`]|\d\d?)/g;e.exports=function(e,t,n,s,l,c){var f=n+e.length,p=s.length,h=u;return void 0!==l&&(l=r(l),h=a),o.call(c,h,(function(r,o){var a;switch(o.charAt(0)){case"$":return"$";case"&":return e;case"`":return t.slice(0,n);case"'":return t.slice(f);case"<":a=l[o.slice(1,-1)];break;default:var u=+o;if(0===u)return r;if(u>p){var c=i(u/10);return 0===c?r:c<=p?void 0===s[c-1]?o.charAt(1):s[c-1]+o.charAt(1):r}a=s[u-1]}return void 0===a?"":a}))}},7854:function(e,t,n){var r=function(e){return e&&e.Math==Math&&e};e.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof n.g&&n.g)||function(){return this}()||Function("return this")()},6656:function(e){var t={}.hasOwnProperty;e.exports=function(e,n){return t.call(e,n)}},3501:function(e){e.exports={}},490:function(e,t,n){var r=n(5005);e.exports=r("document","documentElement")},4664:function(e,t,n){var r=n(9781),i=n(7293),o=n(317);e.exports=!r&&!i((function(){return 7!=Object.defineProperty(o("div"),"a",{get:function(){return 7}}).a}))},1179:function(e){var t=Math.abs,n=Math.pow,r=Math.floor,i=Math.log,o=Math.LN2;e.exports={pack:function(e,a,u){var s,l,c,f=new Array(u),p=8*u-a-1,h=(1<>1,v=23===a?n(2,-24)-n(2,-77):0,y=e<0||0===e&&1/e<0?1:0,g=0;for((e=t(e))!=e||e===1/0?(l=e!=e?1:0,s=h):(s=r(i(e)/o),e*(c=n(2,-s))<1&&(s--,c*=2),(e+=s+d>=1?v/c:v*n(2,1-d))*c>=2&&(s++,c/=2),s+d>=h?(l=0,s=h):s+d>=1?(l=(e*c-1)*n(2,a),s+=d):(l=e*n(2,d-1)*n(2,a),s=0));a>=8;f[g++]=255&l,l/=256,a-=8);for(s=s<0;f[g++]=255&s,s/=256,p-=8);return f[--g]|=128*y,f},unpack:function(e,t){var r,i=e.length,o=8*i-t-1,a=(1<>1,s=o-7,l=i-1,c=e[l--],f=127&c;for(c>>=7;s>0;f=256*f+e[l],l--,s-=8);for(r=f&(1<<-s)-1,f>>=-s,s+=t;s>0;r=256*r+e[l],l--,s-=8);if(0===f)f=1-u;else{if(f===a)return r?NaN:c?-1/0:1/0;r+=n(2,t),f-=u}return(c?-1:1)*r*n(2,f-t)}}},8361:function(e,t,n){var r=n(7293),i=n(4326),o="".split;e.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(e){return"String"==i(e)?o.call(e,""):Object(e)}:Object},9587:function(e,t,n){var r=n(111),i=n(7674);e.exports=function(e,t,n){var o,a;return i&&"function"==typeof(o=t.constructor)&&o!==n&&r(a=o.prototype)&&a!==n.prototype&&i(e,a),e}},2788:function(e,t,n){var r=n(5465),i=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(e){return i.call(e)}),e.exports=r.inspectSource},9909:function(e,t,n){var r,i,o,a=n(8536),u=n(7854),s=n(111),l=n(8880),c=n(6656),f=n(5465),p=n(6200),h=n(3501),d=u.WeakMap;if(a){var v=f.state||(f.state=new d),y=v.get,g=v.has,m=v.set;r=function(e,t){return t.facade=e,m.call(v,e,t),t},i=function(e){return y.call(v,e)||{}},o=function(e){return g.call(v,e)}}else{var b=p("state");h[b]=!0,r=function(e,t){return t.facade=e,l(e,b,t),t},i=function(e){return c(e,b)?e[b]:{}},o=function(e){return c(e,b)}}e.exports={set:r,get:i,has:o,enforce:function(e){return o(e)?i(e):r(e,{})},getterFor:function(e){return function(t){var n;if(!s(t)||(n=i(t)).type!==e)throw TypeError("Incompatible receiver, "+e+" required");return n}}}},7659:function(e,t,n){var r=n(5112),i=n(7497),o=r("iterator"),a=Array.prototype;e.exports=function(e){return void 0!==e&&(i.Array===e||a[o]===e)}},3157:function(e,t,n){var r=n(4326);e.exports=Array.isArray||function(e){return"Array"==r(e)}},4705:function(e,t,n){var r=n(7293),i=/#|\.prototype\./,o=function(e,t){var n=u[a(e)];return n==l||n!=s&&("function"==typeof t?r(t):!!t)},a=o.normalize=function(e){return String(e).replace(i,".").toLowerCase()},u=o.data={},s=o.NATIVE="N",l=o.POLYFILL="P";e.exports=o},111:function(e){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},1913:function(e){e.exports=!1},7850:function(e,t,n){var r=n(111),i=n(4326),o=n(5112)("match");e.exports=function(e){var t;return r(e)&&(void 0!==(t=e[o])?!!t:"RegExp"==i(e))}},9212:function(e,t,n){var r=n(9670);e.exports=function(e){var t=e.return;if(void 0!==t)return r(t.call(e)).value}},3383:function(e,t,n){"use strict";var r,i,o,a=n(7293),u=n(9518),s=n(8880),l=n(6656),c=n(5112),f=n(1913),p=c("iterator"),h=!1;[].keys&&("next"in(o=[].keys())?(i=u(u(o)))!==Object.prototype&&(r=i):h=!0);var d=null==r||a((function(){var e={};return r[p].call(e)!==e}));d&&(r={}),f&&!d||l(r,p)||s(r,p,(function(){return this})),e.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:h}},7497:function(e){e.exports={}},133:function(e,t,n){var r=n(7293);e.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},590:function(e,t,n){var r=n(7293),i=n(5112),o=n(1913),a=i("iterator");e.exports=!r((function(){var e=new URL("b?a=1&b=2&c=3","http://a"),t=e.searchParams,n="";return e.pathname="c%20d",t.forEach((function(e,r){t.delete("b"),n+=r+e})),o&&!e.toJSON||!t.sort||"http://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[a]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==n||"x"!==new URL("http://x",void 0).host}))},8536:function(e,t,n){var r=n(7854),i=n(2788),o=r.WeakMap;e.exports="function"==typeof o&&/native code/.test(i(o))},1574:function(e,t,n){"use strict";var r=n(9781),i=n(7293),o=n(1956),a=n(5181),u=n(5296),s=n(7908),l=n(8361),c=Object.assign,f=Object.defineProperty;e.exports=!c||i((function(){if(r&&1!==c({b:1},c(f({},"a",{enumerable:!0,get:function(){f(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},n=Symbol(),i="abcdefghijklmnopqrst";return e[n]=7,i.split("").forEach((function(e){t[e]=e})),7!=c({},e)[n]||o(c({},t)).join("")!=i}))?function(e,t){for(var n=s(e),i=arguments.length,c=1,f=a.f,p=u.f;i>c;)for(var h,d=l(arguments[c++]),v=f?o(d).concat(f(d)):o(d),y=v.length,g=0;y>g;)h=v[g++],r&&!p.call(d,h)||(n[h]=d[h]);return n}:c},30:function(e,t,n){var r,i=n(9670),o=n(6048),a=n(748),u=n(3501),s=n(490),l=n(317),c=n(6200)("IE_PROTO"),f=function(){},p=function(e){return" + @script @script -