From 4eb36febcf28bb1955a10277861d7ca0e49d824e Mon Sep 17 00:00:00 2001 From: Benjie Gillam Date: Wed, 27 May 2020 09:39:03 +0100 Subject: [PATCH] chore: tests++; yarn2; actions; deps++; format; PG>=10; node>=12 (#1289) --- .eslintignore | 3 + .eslintrc.js | 22 +- .github/workflows/ci.yml | 58 + .../010-enable_wal.sh | 4 + .../020-wal2json.sh | 32 + .../docker-entrypoint-initdb.d/030-setup.sh | 5 + .gitignore | 7 +- .jest-wrapper.js => .jest-babel-transform.js | 0 .travis.yml | 58 - .vscode/pnpify/eslint/bin/eslint.js | 18 + .vscode/pnpify/eslint/lib/api.js | 18 + .vscode/pnpify/eslint/package.json | 6 + .vscode/pnpify/prettier/index.js | 18 + .vscode/pnpify/prettier/package.json | 6 + .vscode/pnpify/typescript/bin/tsc | 18 + .vscode/pnpify/typescript/bin/tsserver | 18 + .vscode/pnpify/typescript/lib/tsc.js | 18 + .vscode/pnpify/typescript/lib/tsserver.js | 18 + .vscode/pnpify/typescript/lib/typescript.js | 18 + .vscode/pnpify/typescript/package.json | 6 + .vscode/settings.json | 6 + .../@yarnpkg/plugin-interactive-tools.js | 36640 ++++++++++++++++ .yarn/plugins/@yarnpkg/plugin-typescript.js | 2689 ++ .../@yarnpkg/plugin-workspace-tools.js | 686 + .yarn/releases/yarn-berry.js | 56 + .yarnrc | 1 - .yarnrc.yml | 15 + README.md | 4 +- __tests__/setup-mock-fs.ts | 3 + jest.config.base.js | 32 + jest.config.js | 11 +- package.json | 65 +- packages/graphile-build-pg/jest.config.js | 1 + packages/graphile-build-pg/package.json | 31 +- packages/graphile-build-pg/src/GraphQLJSON.ts | 4 +- .../graphile-build-pg/src/QueryBuilder.ts | 45 +- packages/graphile-build-pg/src/index.ts | 3 +- packages/graphile-build-pg/src/omit.ts | 6 +- .../graphile-build-pg/src/pgPrepareAndRun.ts | 6 +- .../src/plugins/PageInfoStartEndCursor.ts | 14 +- .../src/plugins/PgAllRows.ts | 21 +- .../src/plugins/PgBackwardRelationPlugin.ts | 47 +- .../src/plugins/PgBasicsPlugin.ts | 531 +- .../src/plugins/PgColumnDeprecationPlugin.ts | 4 +- .../src/plugins/PgColumnsPlugin.ts | 21 +- .../src/plugins/PgComputedColumnsPlugin.ts | 9 +- .../PgConditionComputedColumnPlugin.ts | 12 +- .../src/plugins/PgConnectionArgCondition.ts | 32 +- .../PgConnectionArgFirstLastBeforeAfter.ts | 6 +- .../src/plugins/PgConnectionArgOrderBy.ts | 17 +- .../PgConnectionArgOrderByDefaultValue.ts | 9 +- .../src/plugins/PgConnectionTotalCount.ts | 14 +- .../src/plugins/PgForwardRelationPlugin.ts | 25 +- .../src/plugins/PgIntrospectionPlugin.ts | 139 +- .../src/plugins/PgJWTPlugin.ts | 45 +- .../src/plugins/PgMutationCreatePlugin.ts | 31 +- .../plugins/PgMutationPayloadEdgePlugin.ts | 35 +- .../src/plugins/PgMutationProceduresPlugin.ts | 4 +- .../plugins/PgMutationUpdateDeletePlugin.ts | 82 +- .../src/plugins/PgNodeAliasPostGraphile.ts | 4 +- .../src/plugins/PgOrderAllColumnsPlugin.ts | 3 +- .../src/plugins/PgOrderByPrimaryKeyPlugin.ts | 8 +- .../plugins/PgOrderComputedColumnsPlugin.ts | 3 +- .../src/plugins/PgQueryProceduresPlugin.ts | 5 +- .../PgRecordFunctionConnectionPlugin.ts | 13 +- .../src/plugins/PgRecordReturnTypesPlugin.ts | 32 +- .../src/plugins/PgRowByUniqueConstraint.ts | 25 +- .../src/plugins/PgRowNode.ts | 15 +- .../PgScalarFunctionConnectionPlugin.ts | 14 +- .../src/plugins/PgTablesPlugin.ts | 110 +- .../src/plugins/PgTypesPlugin.ts | 278 +- .../src/plugins/makeProcField.ts | 45 +- .../graphile-build-pg/src/plugins/pgField.ts | 32 +- .../src/plugins/viaTemporaryTable.ts | 10 +- .../src/queryFromResolveDataFactory.ts | 42 +- .../graphile-build-pg/src/withPgClient.ts | 6 +- .../__tests__/fieldData.test.js | 31 +- .../__tests__/hasVersion.test.js | 10 +- .../graphile-build/__tests__/watch.test.js | 14 +- packages/graphile-build/examples/README-1.js | 4 +- packages/graphile-build/jest.config.js | 1 + packages/graphile-build/package.json | 28 +- packages/graphile-build/src/Live.ts | 12 +- packages/graphile-build/src/SchemaBuilder.ts | 1285 +- .../src/callbackToAsyncIterator.ts | 10 +- packages/graphile-build/src/index.ts | 80 +- packages/graphile-build/src/makeNewBuild.ts | 173 +- .../AddQueriesToSubscriptionsPlugin.ts | 4 +- .../ClientMutationIdDescriptionPlugin.ts | 4 +- .../src/plugins/MutationPayloadQueryPlugin.ts | 4 +- .../src/plugins/MutationPlugin.ts | 4 +- .../graphile-build/src/plugins/NodePlugin.ts | 21 +- .../graphile-build/src/plugins/QueryPlugin.ts | 6 +- .../src/plugins/StandardTypesPlugin.ts | 20 +- .../src/plugins/SubscriptionPlugin.ts | 6 +- .../src/plugins/SwallowErrorsPlugin.ts | 6 +- packages/graphile-build/src/resolveNode.ts | 5 +- packages/graphile-build/src/swallowError.ts | 5 +- packages/graphile-build/src/utils.ts | 2 +- packages/graphile-utils/README.md | 2 +- .../__tests__/ExtendSchemaPlugin-pg.test.js | 35 +- .../__tests__/ExtendSchemaPlugin.test.js | 36 +- .../makeAddPgTableConditionPlugin.test.js | 4 +- .../__tests__/makePgSmartTagsPlugin.test.js | 2 +- .../__tests__/makeProcessSchemaPlugin.test.js | 10 +- .../makeWrapResolversPlugin-pg.test.js | 4 +- .../__tests__/makeWrapResolversPlugin.test.js | 18 +- packages/graphile-utils/jest.config.js | 1 + packages/graphile-utils/package.json | 21 +- packages/graphile-utils/src/fieldHelpers.ts | 21 +- packages/graphile-utils/src/gql.ts | 5 +- .../src/introspectionHelpers.ts | 5 +- .../src/makeAddInflectorsPlugin.ts | 8 +- .../src/makeAddPgTableConditionPlugin.ts | 26 +- .../src/makeAddPgTableOrderByPlugin.ts | 7 +- .../src/makeChangeNullabilityPlugin.ts | 36 +- .../src/makeExtendSchemaPlugin.ts | 88 +- .../src/makePgSmartTagsPlugin.ts | 23 +- .../src/makePluginByCombiningPlugins.ts | 6 +- .../src/makeWrapResolversPlugin.ts | 29 +- packages/graphile/jest.config.js | 1 + packages/graphile/package.json | 8 +- .../__tests__/test.test.js | 14 +- .../graphql-parse-resolve-info/jest.config.js | 1 + .../graphql-parse-resolve-info/package.json | 16 +- .../graphql-parse-resolve-info/src/index.ts | 2 +- .../__tests__/schema.test.ts | 3 +- .../jest.config.js | 1 + .../package.json | 10 +- .../src/index.ts | 14 +- packages/lds/__tests__/helpers.ts | 8 +- packages/lds/__tests__/index.test.ts | 10 +- .../lds/__tests__/pg-logical-decoding.test.ts | 2 +- packages/lds/jest.config.js | 1 + packages/lds/package.json | 18 +- packages/lds/src/cli.ts | 8 +- packages/lds/src/index.ts | 2 +- packages/lds/src/pg-logical-decoding.ts | 6 +- packages/lru/jest.config.js | 1 + packages/lru/package.json | 12 +- packages/pg-pubsub/__tests__/runQuery.ts | 2 +- packages/pg-pubsub/__tests__/subs.test.ts | 15 +- packages/pg-pubsub/jest.config.js | 1 + packages/pg-pubsub/package.json | 28 +- .../src/PgGenericSubscriptionPlugin.ts | 52 +- .../src/PgSubscriptionResolverPlugin.ts | 12 +- packages/pg-pubsub/src/index.ts | 56 +- packages/pg-sql2/README.md | 4 +- packages/pg-sql2/jest.config.js | 1 + packages/pg-sql2/package.json | 12 +- packages/pg-sql2/src/index.ts | 4 +- packages/postgraphile-core/README.md | 4 +- .../postgraphile-core/__tests__/helpers.js | 17 +- .../integration/ToyCategoriesPlugin.js | 10 +- .../__snapshots__/extend-errors.test.js.snap | 50 +- .../integration/extend-errors.test.js | 2 +- .../integration/live/collections.test.js | 4 +- .../__tests__/integration/live_helpers.js | 8 +- .../__tests__/integration/mutations.test.js | 20 +- .../__tests__/integration/queries-jwt.test.js | 8 +- .../integration/queries-ranges.test.js | 10 +- .../__tests__/integration/queries.test.js | 28 +- .../__tests__/integration/schema/core.js | 10 +- .../integration/schema/function-clash.test.js | 4 +- .../integration/schema/indexes.test.js | 6 +- .../schema/invalidSkipPlugins.test.js | 2 +- .../integration/schema/pgColumnFilter.test.js | 2 +- .../__tests__/integration/schema/rbac.test.js | 4 +- .../schema/simple-collections.test.js | 6 +- .../integration/schema/simplePrint.test.js | 2 +- .../schema/smart_comment_relations.test.js | 24 +- .../__tests__/kitchen-sink-data.sql | 3 + .../__tests__/kitchen-sink-schema.sql | 2 +- .../postgraphile-core/__tests__/pg10-data.sql | 2 + .../__tests__/unit/read-cache.test.js | 2 + packages/postgraphile-core/jest.config.js | 1 + packages/postgraphile-core/package.json | 25 +- packages/postgraphile-core/src/index.ts | 187 +- packages/postgraphile/.npmignore | 1 + packages/postgraphile/CONTRIBUTING.md | 2 - packages/postgraphile/jest.config.js | 5 + packages/postgraphile/package.json | 118 +- .../scripts/{make-assets => make-assets.js} | 42 +- .../__tests__/utils/createTestInParallel.ts | 2 +- .../__tests__/utils/kitchenSinkSchemaSql.ts | 2 +- .../src/__tests__/utils/pgPool.ts | 2 +- .../src/__tests__/utils/printSchemaOrdered.js | 4 +- packages/postgraphile/src/index.ts | 8 - packages/postgraphile/src/interfaces.ts | 525 +- packages/postgraphile/src/plugins.ts | 7 +- .../__tests__/postgraphile-test.js | 23 + .../postgraphileIntegrationMutations-test.js | 11 +- .../postgraphileIntegrationQueries-test.js | 11 +- .../postgraphileIntegrationSchema-test.js | 19 +- ...ostgraphileIntegrationSchemaExport-test.js | 27 +- .../__tests__/withPostGraphileContext-test.js | 31 +- packages/postgraphile/src/postgraphile/cli.ts | 18 +- ...eatePostGraphileHttpRequestHandler-test.js | 58 +- .../http/__tests__/supertest/index.ts | 4 +- .../http/__tests__/supertest/lib/agent.ts | 8 +- .../http/__tests__/supertest/lib/test.ts | 2 +- .../createPostGraphileHttpRequestHandler.ts | 37 +- .../src/postgraphile/http/liveSubscribe.ts | 7 +- .../src/postgraphile/http/mapAsyncIterator.ts | 2 +- .../src/postgraphile/http/subscriptions.ts | 13 +- .../src/postgraphile/pluginHook.ts | 8 +- .../src/postgraphile/postgraphile.ts | 24 +- .../schema/exportPostGraphileSchema.ts | 7 +- .../postgraphile/withPostGraphileContext.ts | 33 +- packages/postgraphile/tsconfig.json | 5 +- packages/postgraphiql/jest.config.js | 1 + packages/postgraphiql/package.json | 34 +- .../src/components/PostGraphiQL.js | 34 +- packages/postgraphiql/tsconfig.json | 9 + .../subscriptions-lds/__tests__/helpers.ts | 6 +- .../subscriptions-lds/__tests__/main.test.ts | 4 +- packages/subscriptions-lds/jest.config.js | 1 + packages/subscriptions-lds/package.json | 20 +- .../src/PgLDSSourcePlugin.ts | 23 +- release | 6 +- scripts/ci | 16 +- scripts/prepack-all | 4 +- scripts/pretest | 8 +- tsconfig.json | 2 +- yarn.lock | 35639 ++++++++------- 225 files changed, 63047 insertions(+), 19114 deletions(-) create mode 100644 .github/workflows/ci.yml create mode 100755 .github/workflows/ci/docker-entrypoint-initdb.d/010-enable_wal.sh create mode 100755 .github/workflows/ci/docker-entrypoint-initdb.d/020-wal2json.sh create mode 100755 .github/workflows/ci/docker-entrypoint-initdb.d/030-setup.sh rename .jest-wrapper.js => .jest-babel-transform.js (100%) delete mode 100644 .travis.yml create mode 100755 .vscode/pnpify/eslint/bin/eslint.js create mode 100644 .vscode/pnpify/eslint/lib/api.js create mode 100644 .vscode/pnpify/eslint/package.json create mode 100755 .vscode/pnpify/prettier/index.js create mode 100644 .vscode/pnpify/prettier/package.json create mode 100755 .vscode/pnpify/typescript/bin/tsc create mode 100755 .vscode/pnpify/typescript/bin/tsserver create mode 100644 .vscode/pnpify/typescript/lib/tsc.js create mode 100644 .vscode/pnpify/typescript/lib/tsserver.js create mode 100644 .vscode/pnpify/typescript/lib/typescript.js create mode 100644 .vscode/pnpify/typescript/package.json create mode 100644 .vscode/settings.json create mode 100644 .yarn/plugins/@yarnpkg/plugin-interactive-tools.js create mode 100644 .yarn/plugins/@yarnpkg/plugin-typescript.js create mode 100644 .yarn/plugins/@yarnpkg/plugin-workspace-tools.js create mode 100755 .yarn/releases/yarn-berry.js delete mode 100644 .yarnrc create mode 100644 .yarnrc.yml create mode 100644 __tests__/setup-mock-fs.ts create mode 100644 jest.config.base.js create mode 100644 packages/graphile-build-pg/jest.config.js create mode 100644 packages/graphile-build/jest.config.js create mode 100644 packages/graphile-utils/jest.config.js create mode 100644 packages/graphile/jest.config.js create mode 100644 packages/graphql-parse-resolve-info/jest.config.js create mode 100644 packages/jest-serializer-graphql-schema/jest.config.js create mode 100644 packages/lds/jest.config.js create mode 100644 packages/lru/jest.config.js create mode 100644 packages/pg-pubsub/jest.config.js create mode 100644 packages/pg-sql2/jest.config.js create mode 100644 packages/postgraphile-core/jest.config.js create mode 100644 packages/postgraphile/jest.config.js rename packages/postgraphile/scripts/{make-assets => make-assets.js} (77%) create mode 100644 packages/postgraphiql/jest.config.js create mode 100644 packages/postgraphiql/tsconfig.json create mode 100644 packages/subscriptions-lds/jest.config.js diff --git a/.eslintignore b/.eslintignore index 3920d1e3e3..877d604d5e 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,4 +1,5 @@ node_modules +/.vscode/pnpify /packages/pg-sql2/examples /packages/postgraphile/sponsors.json /packages/postgraphile/postgraphiql @@ -8,3 +9,5 @@ node_modules dist CHANGELOG.md _LOCAL +.yarn +.pnp.* diff --git a/.eslintrc.js b/.eslintrc.js index 72c11cf9fa..dfcf6ae2db 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -2,7 +2,6 @@ module.exports = { parser: "babel-eslint", parserOptions: { sourceType: "module", - //project: 'tsconfig.json', }, extends: [ "eslint:recommended", @@ -26,6 +25,8 @@ module.exports = { "@typescript-eslint/camelcase": "off", "@typescript-eslint/no-empty-function": "off", "@typescript-eslint/no-empty-interface": "off", + // We need this for our `GraphileEngine` namespace + "@typescript-eslint/no-namespace": "off", "@typescript-eslint/no-var-requires": "off", "@typescript-eslint/no-unused-vars": [ "error", @@ -36,7 +37,6 @@ module.exports = { ignoreRestSiblings: true, }, ], - "no-confusing-arrow": 0, "no-else-return": 0, "no-underscore-dangle": 0, @@ -88,6 +88,24 @@ module.exports = { }, }, + // Stricter rules for source code + { + files: ["packages/*/src/**/*.ts", "packages/*/src/**/*.tsx"], + parser: "@typescript-eslint/parser", + parserOptions: { + project: ["tsconfig.json", "packages/*/tsconfig.json"], + }, + rules: { + "@typescript-eslint/no-unused-vars": "off", + "@typescript-eslint/no-unused-vars-experimental": [ + "error", + { + ignoreArgsIfArgsAfterAreUsed: true, + }, + ], + }, + }, + // Rules for tests only { files: ["**/__tests__/**/*.{ts,js}"], diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000000..b34733043c --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,58 @@ +name: Node CI + +on: [push, pull_request] + +jobs: + build: + runs-on: ubuntu-latest + + env: + CI: true + PGVERSION: ${{ matrix.postgres-version}} + TEST_DATABASE_URL: postgres://postgres:postgres@localhost:5432/graphileengine_test + TEST_PG_URL: postgres://postgres:postgres@localhost:5432/postgraphile_test + LDS_TEST_DATABASE_URL: postgres://postgres:postgres@localhost:5432/lds_test + TERM: xterm + FORCE_COLOR: 1 + + strategy: + fail-fast: false + matrix: + postgres-version: [10, 11, 12] + node-version: [12.x, 14.x] + + services: + postgres: + image: postgres:${{ matrix.postgres-version }} + env: + POSTGRES_USER: postgres + POSTGRES_PASSWORD: postgres + POSTGRES_DB: postgres + ports: + - "0.0.0.0:5432:5432" + # needed because the postgres container does not provide a healthcheck + options: + --health-cmd pg_isready --health-interval 10s --health-timeout 5s + --health-retries 5 --name postgres + + steps: + - name: Checkout + uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - name: Configure PostgreSQL + run: | + cat .github/workflows/ci/docker-entrypoint-initdb.d/010-enable_wal.sh | docker exec -i postgres bash + cat .github/workflows/ci/docker-entrypoint-initdb.d/020-wal2json.sh | docker exec -i postgres bash + cat .github/workflows/ci/docker-entrypoint-initdb.d/030-setup.sh | docker exec -i postgres bash + docker restart postgres + - name: Install pg_dump + run: | + sudo bash -c "echo deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main >> /etc/apt/sources.list.d/pgdg.list" + wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - + sudo apt-get update + sudo apt-get -yqq install postgresql-client-${{ matrix.postgres-version }} + - run: yarn --immutable + - run: ./scripts/ci diff --git a/.github/workflows/ci/docker-entrypoint-initdb.d/010-enable_wal.sh b/.github/workflows/ci/docker-entrypoint-initdb.d/010-enable_wal.sh new file mode 100755 index 0000000000..f9d1fe45fb --- /dev/null +++ b/.github/workflows/ci/docker-entrypoint-initdb.d/010-enable_wal.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -e + +echo -e 'wal_level = logical\nmax_replication_slots = 10\nmax_wal_senders = 10' >> /var/lib/postgresql/data/postgresql.conf diff --git a/.github/workflows/ci/docker-entrypoint-initdb.d/020-wal2json.sh b/.github/workflows/ci/docker-entrypoint-initdb.d/020-wal2json.sh new file mode 100755 index 0000000000..8526948a7b --- /dev/null +++ b/.github/workflows/ci/docker-entrypoint-initdb.d/020-wal2json.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +set -e + +# This setup script is heavily inspired by +# https://github.com/debezium/docker-images/blob/master/postgres/11/Dockerfile + +PROTOC_VERSION=1.3 +WAL2JSON_COMMIT_ID=c54d89649c3fe5e0aa79c3a87493935232e962a7 +USE_PGXS=1 +export PGUSER=postgres +export PGPASSWORD=postgres +createuser --superuser root + +apt-get update +apt-get install -f -y --no-install-recommends \ + software-properties-common \ + build-essential \ + pkg-config \ + git \ + postgresql-server-dev-$PG_MAJOR +add-apt-repository "deb http://ftp.debian.org/debian testing main contrib" +apt-get update +rm -rf /var/lib/apt/lists/* + +cd / +git clone https://github.com/eulerto/wal2json -b master --single-branch +cd wal2json +git checkout $WAL2JSON_COMMIT_ID +make +make install +cd .. +rm -rf wal2json diff --git a/.github/workflows/ci/docker-entrypoint-initdb.d/030-setup.sh b/.github/workflows/ci/docker-entrypoint-initdb.d/030-setup.sh new file mode 100755 index 0000000000..4e029452ef --- /dev/null +++ b/.github/workflows/ci/docker-entrypoint-initdb.d/030-setup.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env bash +set -e + +createdb graphileengine_test +createdb postgraphile_test diff --git a/.gitignore b/.gitignore index ce81d14fad..c7f0c3e4de 100644 --- a/.gitignore +++ b/.gitignore @@ -4,7 +4,6 @@ dist /pg-omit-archived/ /pg-simplify-inflector/ /operation-hooks/ -/.vscode *.tgz yarn-error.log npm-debug.log @@ -12,3 +11,9 @@ tsconfig.tsbuildinfo .env _LOCAL .DS_Store + +# yarn2 stuff +.yarn/* +!.yarn/releases +!.yarn/plugins +.pnp.* diff --git a/.jest-wrapper.js b/.jest-babel-transform.js similarity index 100% rename from .jest-wrapper.js rename to .jest-babel-transform.js diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 76b25d73a9..0000000000 --- a/.travis.yml +++ /dev/null @@ -1,58 +0,0 @@ -dist: xenial -language: node_js - -node_js: - - "12" - - "14" - -addons: - postgresql: "9.6" - apt: - packages: - - postgresql-server-dev-9.6 - -env: - PGVERSION: 9.6 - TEST_DATABASE_URL: postgres://localhost:5432/graphileengine_test - TEST_PG_URL: postgres://localhost:5432/postgraphile_test - -cache: yarn - -install: - - yarn --frozen-lockfile - - lerna bootstrap - -before_script: - - sudo bash -c "echo -e 'wal_level = logical\nmax_replication_slots = - 10\nmax_wal_senders = 10' >> - /etc/postgresql/$PGVERSION/main/postgresql.conf" - - sudo service postgresql stop - - sudo service postgresql start - - git clone https://github.com/eulerto/wal2json.git - - sudo bash -c "cd wal2json && USE_PGXS=1 make && USE_PGXS=1 make install" - - createdb graphileengine_test - - createdb postgraphile_test - - createdb travis || true - - psql -c "ALTER USER travis WITH PASSWORD 'travis';" - -script: - - scripts/ci - -matrix: - include: - - addons: - apt: - packages: - - postgresql-10 - - postgresql-client-10 - - postgresql-server-dev-10 - postgresql: 10 - services: - - postgresql - env: - - PGVERSION=10 - - TEST_DATABASE_URL=postgres://localhost:5432/graphileengine_test - - TEST_PG_URL=postgres://localhost:5432/postgraphile_test - - LDS_TEST_DATABASE_URL=postgres://travis:travis@localhost:5432/lds_test - sudo: false - dist: xenial diff --git a/.vscode/pnpify/eslint/bin/eslint.js b/.vscode/pnpify/eslint/bin/eslint.js new file mode 100755 index 0000000000..48a5108e41 --- /dev/null +++ b/.vscode/pnpify/eslint/bin/eslint.js @@ -0,0 +1,18 @@ +#!/usr/bin/env node + +const {existsSync} = require(`fs`); +const {createRequire, createRequireFromPath} = require(`module`); +const {resolve} = require(`path`); + +const relPnpApiPath = "../../../../.pnp.js"; + +const absPnpApiPath = resolve(__dirname, relPnpApiPath); +const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath); + +if (existsSync(absPnpApiPath)) { + // Setup the environment to be able to require eslint/bin/eslint.js + require(absPnpApiPath).setup(); +} + +// Defer to the real eslint/bin/eslint.js your application uses +module.exports = absRequire(`eslint/bin/eslint.js`); diff --git a/.vscode/pnpify/eslint/lib/api.js b/.vscode/pnpify/eslint/lib/api.js new file mode 100644 index 0000000000..761d2f4359 --- /dev/null +++ b/.vscode/pnpify/eslint/lib/api.js @@ -0,0 +1,18 @@ +#!/usr/bin/env node + +const {existsSync} = require(`fs`); +const {createRequire, createRequireFromPath} = require(`module`); +const {resolve} = require(`path`); + +const relPnpApiPath = "../../../../.pnp.js"; + +const absPnpApiPath = resolve(__dirname, relPnpApiPath); +const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath); + +if (existsSync(absPnpApiPath)) { + // Setup the environment to be able to require eslint/lib/api.js + require(absPnpApiPath).setup(); +} + +// Defer to the real eslint/lib/api.js your application uses +module.exports = absRequire(`eslint/lib/api.js`); diff --git a/.vscode/pnpify/eslint/package.json b/.vscode/pnpify/eslint/package.json new file mode 100644 index 0000000000..1ca98d9cf3 --- /dev/null +++ b/.vscode/pnpify/eslint/package.json @@ -0,0 +1,6 @@ +{ + "name": "eslint", + "version": "6.8.0-pnpify", + "main": "./lib/api.js", + "type": "commonjs" +} \ No newline at end of file diff --git a/.vscode/pnpify/prettier/index.js b/.vscode/pnpify/prettier/index.js new file mode 100755 index 0000000000..387119ac69 --- /dev/null +++ b/.vscode/pnpify/prettier/index.js @@ -0,0 +1,18 @@ +#!/usr/bin/env node + +const {existsSync} = require(`fs`); +const {createRequire, createRequireFromPath} = require(`module`); +const {resolve} = require(`path`); + +const relPnpApiPath = "../../../.pnp.js"; + +const absPnpApiPath = resolve(__dirname, relPnpApiPath); +const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath); + +if (existsSync(absPnpApiPath)) { + // Setup the environment to be able to require prettier/index.js + require(absPnpApiPath).setup(); +} + +// Defer to the real prettier/index.js your application uses +module.exports = absRequire(`prettier/index.js`); diff --git a/.vscode/pnpify/prettier/package.json b/.vscode/pnpify/prettier/package.json new file mode 100644 index 0000000000..0ec38573ce --- /dev/null +++ b/.vscode/pnpify/prettier/package.json @@ -0,0 +1,6 @@ +{ + "name": "prettier", + "version": "1.19.1-pnpify", + "main": "./index.js", + "type": "commonjs" +} \ No newline at end of file diff --git a/.vscode/pnpify/typescript/bin/tsc b/.vscode/pnpify/typescript/bin/tsc new file mode 100755 index 0000000000..28b221f159 --- /dev/null +++ b/.vscode/pnpify/typescript/bin/tsc @@ -0,0 +1,18 @@ +#!/usr/bin/env node + +const {existsSync} = require(`fs`); +const {createRequire, createRequireFromPath} = require(`module`); +const {resolve} = require(`path`); + +const relPnpApiPath = "../../../../.pnp.js"; + +const absPnpApiPath = resolve(__dirname, relPnpApiPath); +const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath); + +if (existsSync(absPnpApiPath)) { + // Setup the environment to be able to require typescript/bin/tsc + require(absPnpApiPath).setup(); +} + +// Defer to the real typescript/bin/tsc your application uses +module.exports = absRequire(`typescript/bin/tsc`); diff --git a/.vscode/pnpify/typescript/bin/tsserver b/.vscode/pnpify/typescript/bin/tsserver new file mode 100755 index 0000000000..c8db0b1b25 --- /dev/null +++ b/.vscode/pnpify/typescript/bin/tsserver @@ -0,0 +1,18 @@ +#!/usr/bin/env node + +const {existsSync} = require(`fs`); +const {createRequire, createRequireFromPath} = require(`module`); +const {resolve} = require(`path`); + +const relPnpApiPath = "../../../../.pnp.js"; + +const absPnpApiPath = resolve(__dirname, relPnpApiPath); +const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath); + +if (existsSync(absPnpApiPath)) { + // Setup the environment to be able to require typescript/bin/tsserver + require(absPnpApiPath).setup(); +} + +// Defer to the real typescript/bin/tsserver your application uses +module.exports = absRequire(`typescript/bin/tsserver`); diff --git a/.vscode/pnpify/typescript/lib/tsc.js b/.vscode/pnpify/typescript/lib/tsc.js new file mode 100644 index 0000000000..e51d62d0f0 --- /dev/null +++ b/.vscode/pnpify/typescript/lib/tsc.js @@ -0,0 +1,18 @@ +#!/usr/bin/env node + +const {existsSync} = require(`fs`); +const {createRequire, createRequireFromPath} = require(`module`); +const {resolve} = require(`path`); + +const relPnpApiPath = "../../../../.pnp.js"; + +const absPnpApiPath = resolve(__dirname, relPnpApiPath); +const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath); + +if (existsSync(absPnpApiPath)) { + // Setup the environment to be able to require typescript/lib/tsc.js + require(absPnpApiPath).setup(); +} + +// Defer to the real typescript/lib/tsc.js your application uses +module.exports = absRequire(`typescript/lib/tsc.js`); diff --git a/.vscode/pnpify/typescript/lib/tsserver.js b/.vscode/pnpify/typescript/lib/tsserver.js new file mode 100644 index 0000000000..83d6c14a58 --- /dev/null +++ b/.vscode/pnpify/typescript/lib/tsserver.js @@ -0,0 +1,18 @@ +#!/usr/bin/env node + +const {existsSync} = require(`fs`); +const {createRequire, createRequireFromPath} = require(`module`); +const {resolve} = require(`path`); + +const relPnpApiPath = "../../../../.pnp.js"; + +const absPnpApiPath = resolve(__dirname, relPnpApiPath); +const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath); + +if (existsSync(absPnpApiPath)) { + // Setup the environment to be able to require typescript/lib/tsserver.js + require(absPnpApiPath).setup(); +} + +// Defer to the real typescript/lib/tsserver.js your application uses +module.exports = absRequire(`typescript/lib/tsserver.js`); diff --git a/.vscode/pnpify/typescript/lib/typescript.js b/.vscode/pnpify/typescript/lib/typescript.js new file mode 100644 index 0000000000..9d2397c184 --- /dev/null +++ b/.vscode/pnpify/typescript/lib/typescript.js @@ -0,0 +1,18 @@ +#!/usr/bin/env node + +const {existsSync} = require(`fs`); +const {createRequire, createRequireFromPath} = require(`module`); +const {resolve} = require(`path`); + +const relPnpApiPath = "../../../../.pnp.js"; + +const absPnpApiPath = resolve(__dirname, relPnpApiPath); +const absRequire = (createRequire || createRequireFromPath)(absPnpApiPath); + +if (existsSync(absPnpApiPath)) { + // Setup the environment to be able to require typescript/lib/typescript.js + require(absPnpApiPath).setup(); +} + +// Defer to the real typescript/lib/typescript.js your application uses +module.exports = absRequire(`typescript/lib/typescript.js`); diff --git a/.vscode/pnpify/typescript/package.json b/.vscode/pnpify/typescript/package.json new file mode 100644 index 0000000000..86e842321f --- /dev/null +++ b/.vscode/pnpify/typescript/package.json @@ -0,0 +1,6 @@ +{ + "name": "typescript", + "version": "3.9.0-dev.20200427-pnpify", + "main": "./lib/typescript.js", + "type": "commonjs" +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000000..687888ab07 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "typescript.tsdk": ".vscode/pnpify/typescript/lib", + "eslint.nodePath": ".vscode/pnpify", + "prettier.prettierPath": ".vscode/pnpify/prettier/index.js", + "typescript.enablePromptUseWorkspaceTsdk": true +} diff --git a/.yarn/plugins/@yarnpkg/plugin-interactive-tools.js b/.yarn/plugins/@yarnpkg/plugin-interactive-tools.js new file mode 100644 index 0000000000..12926710fa --- /dev/null +++ b/.yarn/plugins/@yarnpkg/plugin-interactive-tools.js @@ -0,0 +1,36640 @@ +/* eslint-disable*/ +module.exports = { + name: "@yarnpkg/plugin-interactive-tools", + factory: function (require) { + var plugin = + /******/ (function(modules) { // webpackBootstrap + /******/ // The module cache + /******/ var installedModules = {}; + /******/ + /******/ // The require function + /******/ function __webpack_require__(moduleId) { + /******/ + /******/ // Check if module is in cache + /******/ if(installedModules[moduleId]) { + /******/ return installedModules[moduleId].exports; + /******/ } + /******/ // Create a new module (and put it into the cache) + /******/ var module = installedModules[moduleId] = { + /******/ i: moduleId, + /******/ l: false, + /******/ exports: {} + /******/ }; + /******/ + /******/ // Execute the module function + /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); + /******/ + /******/ // Flag the module as loaded + /******/ module.l = true; + /******/ + /******/ // Return the exports of the module + /******/ return module.exports; + /******/ } + /******/ + /******/ + /******/ // expose the modules object (__webpack_modules__) + /******/ __webpack_require__.m = modules; + /******/ + /******/ // expose the module cache + /******/ __webpack_require__.c = installedModules; + /******/ + /******/ // define getter function for harmony exports + /******/ __webpack_require__.d = function(exports, name, getter) { + /******/ if(!__webpack_require__.o(exports, name)) { + /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); + /******/ } + /******/ }; + /******/ + /******/ // define __esModule on exports + /******/ __webpack_require__.r = function(exports) { + /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { + /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); + /******/ } + /******/ Object.defineProperty(exports, '__esModule', { value: true }); + /******/ }; + /******/ + /******/ // create a fake namespace object + /******/ // mode & 1: value is a module id, require it + /******/ // mode & 2: merge all properties of value into the ns + /******/ // mode & 4: return value when already ns object + /******/ // mode & 8|1: behave like require + /******/ __webpack_require__.t = function(value, mode) { + /******/ if(mode & 1) value = __webpack_require__(value); + /******/ if(mode & 8) return value; + /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; + /******/ var ns = Object.create(null); + /******/ __webpack_require__.r(ns); + /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); + /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); + /******/ return ns; + /******/ }; + /******/ + /******/ // getDefaultExport function for compatibility with non-harmony modules + /******/ __webpack_require__.n = function(module) { + /******/ var getter = module && module.__esModule ? + /******/ function getDefault() { return module['default']; } : + /******/ function getModuleExports() { return module; }; + /******/ __webpack_require__.d(getter, 'a', getter); + /******/ return getter; + /******/ }; + /******/ + /******/ // Object.prototype.hasOwnProperty.call + /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; + /******/ + /******/ // __webpack_public_path__ + /******/ __webpack_require__.p = ""; + /******/ + /******/ + /******/ // Load entry module and return exports + /******/ return __webpack_require__(__webpack_require__.s = 0); + /******/ }) + /************************************************************************/ + /******/ ([ + /* 0 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + var __importDefault = this && this.__importDefault || function (mod) { + return mod && mod.__esModule ? mod : { + "default": mod + }; + }; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + const upgrade_interactive_1 = __importDefault(__webpack_require__(1)); + + const plugin = { + commands: [upgrade_interactive_1.default] + }; // eslint-disable-next-line arca/no-default-export + + exports.default = plugin; + + /***/ }), + /* 1 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + var __decorate = this && this.__decorate || function (decorators, target, key, desc) { + var c = arguments.length, + r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, + d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + + var __importStar = this && this.__importStar || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; + }; + + var __importDefault = this && this.__importDefault || function (mod) { + return mod && mod.__esModule ? mod : { + "default": mod + }; + }; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + const cli_1 = __webpack_require__(2); + + const core_1 = __webpack_require__(3); + + const ItemOptions_1 = __webpack_require__(4); + + const ScrollableItems_1 = __webpack_require__(90); + + const useMinistore_1 = __webpack_require__(92); + + const renderForm_1 = __webpack_require__(94); + + const plugin_essentials_1 = __webpack_require__(95); + + const clipanion_1 = __webpack_require__(96); + + const diff_1 = __webpack_require__(97); + + const ink_1 = __webpack_require__(5); + + const react_1 = __importStar(__webpack_require__(8)); + + const semver_1 = __importDefault(__webpack_require__(115)); + + const SIMPLE_SEMVER = /^((?:[\^~]|>=?)?)([0-9]+)(\.[0-9]+)(\.[0-9]+)((?:-\S+)?)$/; // eslint-disable-next-line arca/no-default-export + + class UpgradeInteractiveCommand extends cli_1.BaseCommand { + async execute() { + const configuration = await core_1.Configuration.find(this.context.cwd, this.context.plugins); + const { + project, + workspace + } = await core_1.Project.find(configuration, this.context.cwd); + const cache = await core_1.Cache.find(configuration); + if (!workspace) throw new cli_1.WorkspaceRequiredError(project.cwd, this.context.cwd); + + const colorizeRawDiff = (from, to) => { + const diff = diff_1.diffWords(from, to); + let str = ``; + + for (const part of diff) { + if (part.added) { + str += configuration.format(part.value, `green`); + } else if (!part.removed) { + str += part.value; + } + } + + return str; + }; + + const colorizeVersionDiff = (from, to) => { + if (from === to) return to; + const parsedFrom = core_1.structUtils.parseRange(from); + const parsedTo = core_1.structUtils.parseRange(to); + const matchedFrom = parsedFrom.selector.match(SIMPLE_SEMVER); + const matchedTo = parsedTo.selector.match(SIMPLE_SEMVER); + if (!matchedFrom || !matchedTo) return colorizeRawDiff(from, to); + const SEMVER_COLORS = [`gray`, `red`, `yellow`, `green`, `magenta`]; + let color = null; + let res = ``; + + for (let t = 1; t < SEMVER_COLORS.length; ++t) { + if (color !== null || matchedFrom[t] !== matchedTo[t]) { + if (color === null) color = SEMVER_COLORS[t - 1]; + res += configuration.format(matchedTo[t], color); + } else { + res += matchedTo[t]; + } + } + + return res; + }; + + const fetchUpdatedDescriptor = async (descriptor, copyStyle, range) => { + const candidate = await plugin_essentials_1.suggestUtils.fetchDescriptorFrom(descriptor, range, { + project, + cache, + preserveModifier: copyStyle + }); + + if (candidate !== null) { + return candidate.range; + } else { + return descriptor.range; + } + }; + + const fetchSuggestions = async descriptor => { + const referenceRange = semver_1.default.valid(descriptor.range) ? `^${descriptor.range}` : descriptor.range; + const [resolution, dependency] = await Promise.all([fetchUpdatedDescriptor(descriptor, descriptor.range, referenceRange), fetchUpdatedDescriptor(descriptor, descriptor.range, `latest`)]); + const suggestions = [{ + value: null, + label: descriptor.range + }]; + + if (resolution !== descriptor.range) { + suggestions.push({ + value: resolution, + label: colorizeVersionDiff(descriptor.range, resolution) + }); + } + + if (dependency !== resolution && dependency !== descriptor.range) { + suggestions.push({ + value: dependency, + label: colorizeVersionDiff(descriptor.range, dependency) + }); + } + + return suggestions; + }; + + const UpgradeEntry = ({ + active, + descriptor + }) => { + const [action, setAction] = useMinistore_1.useMinistore(descriptor.descriptorHash, null); + const [suggestions, setSuggestions] = react_1.useState(null); + react_1.useEffect(() => { + fetchSuggestions(descriptor).then(suggestions => { + setSuggestions(suggestions); + }); + }, [descriptor.descriptorHash]); + return react_1.default.createElement(ink_1.Box, null, react_1.default.createElement(ink_1.Box, { + width: 60 + }, core_1.structUtils.prettyIdent(configuration, descriptor)), suggestions !== null ? react_1.default.createElement(ItemOptions_1.ItemOptions, { + active: active, + options: suggestions, + value: action, + onChange: setAction, + sizes: [15, 15, 15] + }) : react_1.default.createElement(ink_1.Box, null, react_1.default.createElement(ink_1.Color, { + gray: true + }, "Fetching suggestions..."))); + }; + + const GlobalListApp = ({ + useSubmit + }) => { + useSubmit(useMinistore_1.useMinistore()); + const allDependencies = new Map(); + + for (const workspace of project.workspaces) for (const dependencyType of [`dependencies`, `devDependencies`]) for (const descriptor of workspace.manifest[dependencyType].values()) if (project.tryWorkspaceByDescriptor(descriptor) === null) allDependencies.set(descriptor.descriptorHash, descriptor); + + const sortedDependencies = core_1.miscUtils.sortMap(allDependencies.values(), descriptor => { + return core_1.structUtils.stringifyDescriptor(descriptor); + }); + return react_1.default.createElement(react_1.default.Fragment, null, react_1.default.createElement(ink_1.Box, { + flexDirection: `column` + }, react_1.default.createElement(ink_1.Box, { + textWrap: `wrap`, + marginBottom: 1 + }, "The following packages are direct dependencies of your project. Select those you want to upgrade, then press enter. Press ctrl-C to abort at any time:"), react_1.default.createElement(ScrollableItems_1.ScrollableItems, { + radius: 10, + children: sortedDependencies.map(descriptor => { + return react_1.default.createElement(UpgradeEntry, { + key: descriptor.descriptorHash, + active: false, + descriptor: descriptor + }); + }) + }))); + }; + + const updateRequests = await renderForm_1.renderForm(GlobalListApp, {}); + if (typeof updateRequests === `undefined`) return 1; + let hasChanged = false; + + for (const workspace of project.workspaces) { + for (const dependencyType of [`dependencies`, `devDependencies`]) { + const dependencies = workspace.manifest[dependencyType]; + + for (const descriptor of dependencies.values()) { + const newRange = updateRequests.get(descriptor.descriptorHash); + + if (typeof newRange !== `undefined` && newRange !== null) { + dependencies.set(descriptor.identHash, core_1.structUtils.makeDescriptor(descriptor, newRange)); + hasChanged = true; + } + } + } + } + + if (!hasChanged) return 0; + const installReport = await core_1.StreamReport.start({ + configuration, + stdout: this.context.stdout, + includeLogs: !this.context.quiet + }, async report => { + await project.install({ + cache, + report + }); + }); + return installReport.exitCode(); + } + + } + + UpgradeInteractiveCommand.usage = clipanion_1.Command.Usage({ + category: `Interactive commands`, + description: `open the upgrade interface`, + details: ` + > In order to use this command you will need to add \`@yarnpkg/plugin-interactive-tools\` to your plugins. Check the documentation for \`yarn plugin import\` for more details. + + This command opens a fullscreen terminal interace where you can see the packages used by your application, their status compared to the latest versions available on the remote registry, and let you upgrade. + `, + examples: [[`Open the upgrade window`, `yarn upgrade-interactive`]] + }); + + __decorate([clipanion_1.Command.Path(`upgrade-interactive`)], UpgradeInteractiveCommand.prototype, "execute", null); + + exports.default = UpgradeInteractiveCommand; + + /***/ }), + /* 2 */ + /***/ (function(module, exports) { + + module.exports = require("@yarnpkg/cli"); + + /***/ }), + /* 3 */ + /***/ (function(module, exports) { + + module.exports = require("@yarnpkg/core"); + + /***/ }), + /* 4 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + var __importDefault = this && this.__importDefault || function (mod) { + return mod && mod.__esModule ? mod : { + "default": mod + }; + }; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + const ink_1 = __webpack_require__(5); + + const react_1 = __importDefault(__webpack_require__(8)); + + const useListInput_1 = __webpack_require__(89); + + exports.ItemOptions = function ({ + active, + options, + value, + onChange, + sizes = [] + }) { + const values = options.map(({ + value + }) => value); + const selectedIndex = values.indexOf(value); + useListInput_1.useListInput(value, values, { + active, + minus: `left`, + plus: `right`, + set: onChange + }); + return react_1.default.createElement(react_1.default.Fragment, null, options.map(({ + label + }, index) => { + if (index === selectedIndex) { + return react_1.default.createElement(ink_1.Box, { + key: label, + minWidth: sizes[index] || 0, + paddingLeft: 2 + }, react_1.default.createElement(ink_1.Color, { + green: true + }, "\u25FC"), " ", label); + } else { + return react_1.default.createElement(ink_1.Box, { + key: label, + minWidth: sizes[index] || 0, + paddingLeft: 2 + }, react_1.default.createElement(ink_1.Color, { + yellow: true + }, "\u25FB"), " ", label); + } + })); + }; + + /***/ }), + /* 5 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + Object.defineProperty(exports, "render", { + enumerable: true, + get: function () { + return _render.default; + } + }); + Object.defineProperty(exports, "Box", { + enumerable: true, + get: function () { + return _Box.default; + } + }); + Object.defineProperty(exports, "Text", { + enumerable: true, + get: function () { + return _Text.default; + } + }); + Object.defineProperty(exports, "Color", { + enumerable: true, + get: function () { + return _Color.default; + } + }); + Object.defineProperty(exports, "AppContext", { + enumerable: true, + get: function () { + return _AppContext.default; + } + }); + Object.defineProperty(exports, "StdinContext", { + enumerable: true, + get: function () { + return _StdinContext.default; + } + }); + Object.defineProperty(exports, "StdoutContext", { + enumerable: true, + get: function () { + return _StdoutContext.default; + } + }); + Object.defineProperty(exports, "Static", { + enumerable: true, + get: function () { + return _Static.default; + } + }); + + var _render = _interopRequireDefault(__webpack_require__(6)); + + var _Box = _interopRequireDefault(__webpack_require__(78)); + + var _Text = _interopRequireDefault(__webpack_require__(79)); + + var _Color = _interopRequireDefault(__webpack_require__(86)); + + var _AppContext = _interopRequireDefault(__webpack_require__(75)); + + var _StdinContext = _interopRequireDefault(__webpack_require__(76)); + + var _StdoutContext = _interopRequireDefault(__webpack_require__(77)); + + var _Static = _interopRequireDefault(__webpack_require__(88)); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + /***/ }), + /* 6 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + + var _instance = _interopRequireDefault(__webpack_require__(7)); + + var _instances = _interopRequireDefault(__webpack_require__(70)); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + var _default = (node, options = {}) => { + // Stream was passed instead of `options` object + if (typeof options.write === 'function') { + options = { + stdout: options, + stdin: process.stdin + }; + } + + options = _objectSpread({ + stdout: process.stdout, + stdin: process.stdin, + debug: false, + exitOnCtrlC: true + }, options); + let instance; + + if (_instances.default.has(options.stdout)) { + instance = _instances.default.get(options.stdout); + } else { + instance = new _instance.default(options); + + _instances.default.set(options.stdout, instance); + } + + instance.render(node); + return { + rerender: instance.render, + unmount: () => instance.unmount(), + waitUntilExit: instance.waitUntilExit, + cleanup: () => _instances.default.delete(options.stdout) + }; + }; + + exports.default = _default; + + /***/ }), + /* 7 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + + var _react = _interopRequireDefault(__webpack_require__(8)); + + var _lodash = _interopRequireDefault(__webpack_require__(13)); + + var _autoBind = _interopRequireDefault(__webpack_require__(14)); + + var _logUpdate = _interopRequireDefault(__webpack_require__(15)); + + var _isCi = _interopRequireDefault(__webpack_require__(37)); + + var _signalExit = _interopRequireDefault(__webpack_require__(21)); + + var _reconciler = _interopRequireDefault(__webpack_require__(40)); + + var _renderer = _interopRequireDefault(__webpack_require__(50)); + + var _dom = __webpack_require__(49); + + var _instances = _interopRequireDefault(__webpack_require__(70)); + + var _App = _interopRequireDefault(__webpack_require__(71)); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + class Instance { + constructor(options) { + (0, _autoBind.default)(this); + this.options = options; + this.rootNode = (0, _dom.createNode)('root'); + this.rootNode.onRender = this.onRender; + this.renderer = (0, _renderer.default)({ + terminalWidth: options.stdout.columns + }); + this.log = _logUpdate.default.create(options.stdout); + this.throttledLog = options.debug ? this.log : (0, _lodash.default)(this.log, { + leading: true, + trailing: true + }); // Ignore last render after unmounting a tree to prevent empty output before exit + + this.isUnmounted = false; // Store last output to only rerender when needed + + this.lastOutput = ''; // This variable is used only in debug mode to store full static output + // so that it's rerendered every time, not just new static parts, like in non-debug mode + + this.fullStaticOutput = ''; + this.container = _reconciler.default.createContainer(this.rootNode, false, false); + this.exitPromise = new Promise((resolve, reject) => { + this.resolveExitPromise = resolve; + this.rejectExitPromise = reject; + }); // Unmount when process exits + + this.unsubscribeExit = (0, _signalExit.default)(this.unmount, { + alwaysLast: false + }); + } + + onRender() { + if (this.isUnmounted) { + return; + } + + const { + output, + staticOutput + } = this.renderer(this.rootNode); // If output isn't empty, it means new children have been added to it + + const hasStaticOutput = staticOutput && staticOutput !== '\n'; + + if (this.options.debug) { + if (hasStaticOutput) { + this.fullStaticOutput += staticOutput; + } + + this.options.stdout.write(this.fullStaticOutput + output); + return; + } // To ensure static output is cleanly rendered before main output, clear main output first + + + if (hasStaticOutput) { + if (!_isCi.default) { + this.log.clear(); + } + + this.options.stdout.write(staticOutput); + + if (!_isCi.default) { + this.log(output); + } + } + + if (output !== this.lastOutput) { + if (!_isCi.default) { + this.throttledLog(output); + } + + this.lastOutput = output; + } + } + + render(node) { + const tree = _react.default.createElement(_App.default, { + stdin: this.options.stdin, + stdout: this.options.stdout, + exitOnCtrlC: this.options.exitOnCtrlC, + onExit: this.unmount + }, node); + + _reconciler.default.updateContainer(tree, this.container); + } + + unmount(error) { + if (this.isUnmounted) { + return; + } + + this.onRender(); + this.unsubscribeExit(); // CIs don't handle erasing ansi escapes well, so it's better to + // only render last frame of non-static output + + if (_isCi.default) { + this.options.stdout.write(this.lastOutput + '\n'); + } else if (!this.options.debug) { + this.log.done(); + } + + this.isUnmounted = true; + + _reconciler.default.updateContainer(null, this.container); + + _instances.default.delete(this.options.stdout); + + if (error instanceof Error) { + this.rejectExitPromise(error); + } else { + this.resolveExitPromise(); + } + } + + waitUntilExit() { + return this.exitPromise; + } + + } + + exports.default = Instance; + + /***/ }), + /* 8 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + if (false) {} else { + module.exports = __webpack_require__(9); + } + + + /***/ }), + /* 9 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /** @license React v16.8.4 + * react.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + + + + + if (true) { + (function() { + 'use strict'; + + var _assign = __webpack_require__(10); + var checkPropTypes = __webpack_require__(11); + + // TODO: this is special because it gets imported during build. + + var ReactVersion = '16.8.4'; + + // The Symbol used to tag the ReactElement-like types. If there is no native Symbol + // nor polyfill, then a plain number is used for performance. + var hasSymbol = typeof Symbol === 'function' && Symbol.for; + + var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7; + var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca; + var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb; + var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc; + var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2; + var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd; + var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; + + var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf; + var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0; + var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1; + var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3; + var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4; + + var MAYBE_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; + var FAUX_ITERATOR_SYMBOL = '@@iterator'; + + function getIteratorFn(maybeIterable) { + if (maybeIterable === null || typeof maybeIterable !== 'object') { + return null; + } + var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]; + if (typeof maybeIterator === 'function') { + return maybeIterator; + } + return null; + } + + /** + * Use invariant() to assert state which your program assumes to be true. + * + * Provide sprintf-style format (only %s is supported) and arguments + * to provide information about what broke and what you were + * expecting. + * + * The invariant message will be stripped in production, but the invariant + * will remain to ensure logic does not differ in production. + */ + + var validateFormat = function () {}; + + { + validateFormat = function (format) { + if (format === undefined) { + throw new Error('invariant requires an error message argument'); + } + }; + } + + function invariant(condition, format, a, b, c, d, e, f) { + validateFormat(format); + + if (!condition) { + var error = void 0; + if (format === undefined) { + error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.'); + } else { + var args = [a, b, c, d, e, f]; + var argIndex = 0; + error = new Error(format.replace(/%s/g, function () { + return args[argIndex++]; + })); + error.name = 'Invariant Violation'; + } + + error.framesToPop = 1; // we don't care about invariant's own frame + throw error; + } + } + + // Relying on the `invariant()` implementation lets us + // preserve the format and params in the www builds. + + /** + * Forked from fbjs/warning: + * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js + * + * Only change is we use console.warn instead of console.error, + * and do nothing when 'console' is not supported. + * This really simplifies the code. + * --- + * Similar to invariant but only logs a warning if the condition is not met. + * This can be used to log issues in development environments in critical + * paths. Removing the logging code for production environments will keep the + * same logic and follow the same code paths. + */ + + var lowPriorityWarning = function () {}; + + { + var printWarning = function (format) { + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + var argIndex = 0; + var message = 'Warning: ' + format.replace(/%s/g, function () { + return args[argIndex++]; + }); + if (typeof console !== 'undefined') { + console.warn(message); + } + try { + // --- Welcome to debugging React --- + // This error was thrown as a convenience so that you can use this stack + // to find the callsite that caused this warning to fire. + throw new Error(message); + } catch (x) {} + }; + + lowPriorityWarning = function (condition, format) { + if (format === undefined) { + throw new Error('`lowPriorityWarning(condition, format, ...args)` requires a warning ' + 'message argument'); + } + if (!condition) { + for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { + args[_key2 - 2] = arguments[_key2]; + } + + printWarning.apply(undefined, [format].concat(args)); + } + }; + } + + var lowPriorityWarning$1 = lowPriorityWarning; + + /** + * Similar to invariant but only logs a warning if the condition is not met. + * This can be used to log issues in development environments in critical + * paths. Removing the logging code for production environments will keep the + * same logic and follow the same code paths. + */ + + var warningWithoutStack = function () {}; + + { + warningWithoutStack = function (condition, format) { + for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { + args[_key - 2] = arguments[_key]; + } + + if (format === undefined) { + throw new Error('`warningWithoutStack(condition, format, ...args)` requires a warning ' + 'message argument'); + } + if (args.length > 8) { + // Check before the condition to catch violations early. + throw new Error('warningWithoutStack() currently supports at most 8 arguments.'); + } + if (condition) { + return; + } + if (typeof console !== 'undefined') { + var argsWithFormat = args.map(function (item) { + return '' + item; + }); + argsWithFormat.unshift('Warning: ' + format); + + // We intentionally don't use spread (or .apply) directly because it + // breaks IE9: https://github.com/facebook/react/issues/13610 + Function.prototype.apply.call(console.error, console, argsWithFormat); + } + try { + // --- Welcome to debugging React --- + // This error was thrown as a convenience so that you can use this stack + // to find the callsite that caused this warning to fire. + var argIndex = 0; + var message = 'Warning: ' + format.replace(/%s/g, function () { + return args[argIndex++]; + }); + throw new Error(message); + } catch (x) {} + }; + } + + var warningWithoutStack$1 = warningWithoutStack; + + var didWarnStateUpdateForUnmountedComponent = {}; + + function warnNoop(publicInstance, callerName) { + { + var _constructor = publicInstance.constructor; + var componentName = _constructor && (_constructor.displayName || _constructor.name) || 'ReactClass'; + var warningKey = componentName + '.' + callerName; + if (didWarnStateUpdateForUnmountedComponent[warningKey]) { + return; + } + warningWithoutStack$1(false, "Can't call %s on a component that is not yet mounted. " + 'This is a no-op, but it might indicate a bug in your application. ' + 'Instead, assign to `this.state` directly or define a `state = {};` ' + 'class property with the desired state in the %s component.', callerName, componentName); + didWarnStateUpdateForUnmountedComponent[warningKey] = true; + } + } + + /** + * This is the abstract API for an update queue. + */ + var ReactNoopUpdateQueue = { + /** + * Checks whether or not this composite component is mounted. + * @param {ReactClass} publicInstance The instance we want to test. + * @return {boolean} True if mounted, false otherwise. + * @protected + * @final + */ + isMounted: function (publicInstance) { + return false; + }, + + /** + * Forces an update. This should only be invoked when it is known with + * certainty that we are **not** in a DOM transaction. + * + * You may want to call this when you know that some deeper aspect of the + * component's state has changed but `setState` was not called. + * + * This will not invoke `shouldComponentUpdate`, but it will invoke + * `componentWillUpdate` and `componentDidUpdate`. + * + * @param {ReactClass} publicInstance The instance that should rerender. + * @param {?function} callback Called after component is updated. + * @param {?string} callerName name of the calling function in the public API. + * @internal + */ + enqueueForceUpdate: function (publicInstance, callback, callerName) { + warnNoop(publicInstance, 'forceUpdate'); + }, + + /** + * Replaces all of the state. Always use this or `setState` to mutate state. + * You should treat `this.state` as immutable. + * + * There is no guarantee that `this.state` will be immediately updated, so + * accessing `this.state` after calling this method may return the old value. + * + * @param {ReactClass} publicInstance The instance that should rerender. + * @param {object} completeState Next state. + * @param {?function} callback Called after component is updated. + * @param {?string} callerName name of the calling function in the public API. + * @internal + */ + enqueueReplaceState: function (publicInstance, completeState, callback, callerName) { + warnNoop(publicInstance, 'replaceState'); + }, + + /** + * Sets a subset of the state. This only exists because _pendingState is + * internal. This provides a merging strategy that is not available to deep + * properties which is confusing. TODO: Expose pendingState or don't use it + * during the merge. + * + * @param {ReactClass} publicInstance The instance that should rerender. + * @param {object} partialState Next partial state to be merged with state. + * @param {?function} callback Called after component is updated. + * @param {?string} Name of the calling function in the public API. + * @internal + */ + enqueueSetState: function (publicInstance, partialState, callback, callerName) { + warnNoop(publicInstance, 'setState'); + } + }; + + var emptyObject = {}; + { + Object.freeze(emptyObject); + } + + /** + * Base class helpers for the updating state of a component. + */ + function Component(props, context, updater) { + this.props = props; + this.context = context; + // If a component has string refs, we will assign a different object later. + this.refs = emptyObject; + // We initialize the default updater but the real one gets injected by the + // renderer. + this.updater = updater || ReactNoopUpdateQueue; + } + + Component.prototype.isReactComponent = {}; + + /** + * Sets a subset of the state. Always use this to mutate + * state. You should treat `this.state` as immutable. + * + * There is no guarantee that `this.state` will be immediately updated, so + * accessing `this.state` after calling this method may return the old value. + * + * There is no guarantee that calls to `setState` will run synchronously, + * as they may eventually be batched together. You can provide an optional + * callback that will be executed when the call to setState is actually + * completed. + * + * When a function is provided to setState, it will be called at some point in + * the future (not synchronously). It will be called with the up to date + * component arguments (state, props, context). These values can be different + * from this.* because your function may be called after receiveProps but before + * shouldComponentUpdate, and this new state, props, and context will not yet be + * assigned to this. + * + * @param {object|function} partialState Next partial state or function to + * produce next partial state to be merged with current state. + * @param {?function} callback Called after state is updated. + * @final + * @protected + */ + Component.prototype.setState = function (partialState, callback) { + !(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null) ? invariant(false, 'setState(...): takes an object of state variables to update or a function which returns an object of state variables.') : void 0; + this.updater.enqueueSetState(this, partialState, callback, 'setState'); + }; + + /** + * Forces an update. This should only be invoked when it is known with + * certainty that we are **not** in a DOM transaction. + * + * You may want to call this when you know that some deeper aspect of the + * component's state has changed but `setState` was not called. + * + * This will not invoke `shouldComponentUpdate`, but it will invoke + * `componentWillUpdate` and `componentDidUpdate`. + * + * @param {?function} callback Called after update is complete. + * @final + * @protected + */ + Component.prototype.forceUpdate = function (callback) { + this.updater.enqueueForceUpdate(this, callback, 'forceUpdate'); + }; + + /** + * Deprecated APIs. These APIs used to exist on classic React classes but since + * we would like to deprecate them, we're not going to move them over to this + * modern base class. Instead, we define a getter that warns if it's accessed. + */ + { + var deprecatedAPIs = { + isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'], + replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).'] + }; + var defineDeprecationWarning = function (methodName, info) { + Object.defineProperty(Component.prototype, methodName, { + get: function () { + lowPriorityWarning$1(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]); + return undefined; + } + }); + }; + for (var fnName in deprecatedAPIs) { + if (deprecatedAPIs.hasOwnProperty(fnName)) { + defineDeprecationWarning(fnName, deprecatedAPIs[fnName]); + } + } + } + + function ComponentDummy() {} + ComponentDummy.prototype = Component.prototype; + + /** + * Convenience component with default shallow equality check for sCU. + */ + function PureComponent(props, context, updater) { + this.props = props; + this.context = context; + // If a component has string refs, we will assign a different object later. + this.refs = emptyObject; + this.updater = updater || ReactNoopUpdateQueue; + } + + var pureComponentPrototype = PureComponent.prototype = new ComponentDummy(); + pureComponentPrototype.constructor = PureComponent; + // Avoid an extra prototype jump for these methods. + _assign(pureComponentPrototype, Component.prototype); + pureComponentPrototype.isPureReactComponent = true; + + // an immutable object with a single mutable value + function createRef() { + var refObject = { + current: null + }; + { + Object.seal(refObject); + } + return refObject; + } + + /** + * Keeps track of the current dispatcher. + */ + var ReactCurrentDispatcher = { + /** + * @internal + * @type {ReactComponent} + */ + current: null + }; + + /** + * Keeps track of the current owner. + * + * The current owner is the component who should own any components that are + * currently being constructed. + */ + var ReactCurrentOwner = { + /** + * @internal + * @type {ReactComponent} + */ + current: null + }; + + var BEFORE_SLASH_RE = /^(.*)[\\\/]/; + + var describeComponentFrame = function (name, source, ownerName) { + var sourceInfo = ''; + if (source) { + var path = source.fileName; + var fileName = path.replace(BEFORE_SLASH_RE, ''); + { + // In DEV, include code for a common special case: + // prefer "folder/index.js" instead of just "index.js". + if (/^index\./.test(fileName)) { + var match = path.match(BEFORE_SLASH_RE); + if (match) { + var pathBeforeSlash = match[1]; + if (pathBeforeSlash) { + var folderName = pathBeforeSlash.replace(BEFORE_SLASH_RE, ''); + fileName = folderName + '/' + fileName; + } + } + } + } + sourceInfo = ' (at ' + fileName + ':' + source.lineNumber + ')'; + } else if (ownerName) { + sourceInfo = ' (created by ' + ownerName + ')'; + } + return '\n in ' + (name || 'Unknown') + sourceInfo; + }; + + var Resolved = 1; + + + function refineResolvedLazyComponent(lazyComponent) { + return lazyComponent._status === Resolved ? lazyComponent._result : null; + } + + function getWrappedName(outerType, innerType, wrapperName) { + var functionName = innerType.displayName || innerType.name || ''; + return outerType.displayName || (functionName !== '' ? wrapperName + '(' + functionName + ')' : wrapperName); + } + + function getComponentName(type) { + if (type == null) { + // Host root, text node or just invalid type. + return null; + } + { + if (typeof type.tag === 'number') { + warningWithoutStack$1(false, 'Received an unexpected object in getComponentName(). ' + 'This is likely a bug in React. Please file an issue.'); + } + } + if (typeof type === 'function') { + return type.displayName || type.name || null; + } + if (typeof type === 'string') { + return type; + } + switch (type) { + case REACT_CONCURRENT_MODE_TYPE: + return 'ConcurrentMode'; + case REACT_FRAGMENT_TYPE: + return 'Fragment'; + case REACT_PORTAL_TYPE: + return 'Portal'; + case REACT_PROFILER_TYPE: + return 'Profiler'; + case REACT_STRICT_MODE_TYPE: + return 'StrictMode'; + case REACT_SUSPENSE_TYPE: + return 'Suspense'; + } + if (typeof type === 'object') { + switch (type.$$typeof) { + case REACT_CONTEXT_TYPE: + return 'Context.Consumer'; + case REACT_PROVIDER_TYPE: + return 'Context.Provider'; + case REACT_FORWARD_REF_TYPE: + return getWrappedName(type, type.render, 'ForwardRef'); + case REACT_MEMO_TYPE: + return getComponentName(type.type); + case REACT_LAZY_TYPE: + { + var thenable = type; + var resolvedThenable = refineResolvedLazyComponent(thenable); + if (resolvedThenable) { + return getComponentName(resolvedThenable); + } + } + } + } + return null; + } + + var ReactDebugCurrentFrame = {}; + + var currentlyValidatingElement = null; + + function setCurrentlyValidatingElement(element) { + { + currentlyValidatingElement = element; + } + } + + { + // Stack implementation injected by the current renderer. + ReactDebugCurrentFrame.getCurrentStack = null; + + ReactDebugCurrentFrame.getStackAddendum = function () { + var stack = ''; + + // Add an extra top frame while an element is being validated + if (currentlyValidatingElement) { + var name = getComponentName(currentlyValidatingElement.type); + var owner = currentlyValidatingElement._owner; + stack += describeComponentFrame(name, currentlyValidatingElement._source, owner && getComponentName(owner.type)); + } + + // Delegate to the injected renderer-specific implementation + var impl = ReactDebugCurrentFrame.getCurrentStack; + if (impl) { + stack += impl() || ''; + } + + return stack; + }; + } + + var ReactSharedInternals = { + ReactCurrentDispatcher: ReactCurrentDispatcher, + ReactCurrentOwner: ReactCurrentOwner, + // Used by renderers to avoid bundling object-assign twice in UMD bundles: + assign: _assign + }; + + { + _assign(ReactSharedInternals, { + // These should not be included in production. + ReactDebugCurrentFrame: ReactDebugCurrentFrame, + // Shim for React DOM 16.0.0 which still destructured (but not used) this. + // TODO: remove in React 17.0. + ReactComponentTreeHook: {} + }); + } + + /** + * Similar to invariant but only logs a warning if the condition is not met. + * This can be used to log issues in development environments in critical + * paths. Removing the logging code for production environments will keep the + * same logic and follow the same code paths. + */ + + var warning = warningWithoutStack$1; + + { + warning = function (condition, format) { + if (condition) { + return; + } + var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; + var stack = ReactDebugCurrentFrame.getStackAddendum(); + // eslint-disable-next-line react-internal/warning-and-invariant-args + + for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { + args[_key - 2] = arguments[_key]; + } + + warningWithoutStack$1.apply(undefined, [false, format + '%s'].concat(args, [stack])); + }; + } + + var warning$1 = warning; + + var hasOwnProperty = Object.prototype.hasOwnProperty; + + var RESERVED_PROPS = { + key: true, + ref: true, + __self: true, + __source: true + }; + + var specialPropKeyWarningShown = void 0; + var specialPropRefWarningShown = void 0; + + function hasValidRef(config) { + { + if (hasOwnProperty.call(config, 'ref')) { + var getter = Object.getOwnPropertyDescriptor(config, 'ref').get; + if (getter && getter.isReactWarning) { + return false; + } + } + } + return config.ref !== undefined; + } + + function hasValidKey(config) { + { + if (hasOwnProperty.call(config, 'key')) { + var getter = Object.getOwnPropertyDescriptor(config, 'key').get; + if (getter && getter.isReactWarning) { + return false; + } + } + } + return config.key !== undefined; + } + + function defineKeyPropWarningGetter(props, displayName) { + var warnAboutAccessingKey = function () { + if (!specialPropKeyWarningShown) { + specialPropKeyWarningShown = true; + warningWithoutStack$1(false, '%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName); + } + }; + warnAboutAccessingKey.isReactWarning = true; + Object.defineProperty(props, 'key', { + get: warnAboutAccessingKey, + configurable: true + }); + } + + function defineRefPropWarningGetter(props, displayName) { + var warnAboutAccessingRef = function () { + if (!specialPropRefWarningShown) { + specialPropRefWarningShown = true; + warningWithoutStack$1(false, '%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName); + } + }; + warnAboutAccessingRef.isReactWarning = true; + Object.defineProperty(props, 'ref', { + get: warnAboutAccessingRef, + configurable: true + }); + } + + /** + * Factory method to create a new React element. This no longer adheres to + * the class pattern, so do not use new to call it. Also, no instanceof check + * will work. Instead test $$typeof field against Symbol.for('react.element') to check + * if something is a React Element. + * + * @param {*} type + * @param {*} key + * @param {string|object} ref + * @param {*} self A *temporary* helper to detect places where `this` is + * different from the `owner` when React.createElement is called, so that we + * can warn. We want to get rid of owner and replace string `ref`s with arrow + * functions, and as long as `this` and owner are the same, there will be no + * change in behavior. + * @param {*} source An annotation object (added by a transpiler or otherwise) + * indicating filename, line number, and/or other information. + * @param {*} owner + * @param {*} props + * @internal + */ + var ReactElement = function (type, key, ref, self, source, owner, props) { + var element = { + // This tag allows us to uniquely identify this as a React Element + $$typeof: REACT_ELEMENT_TYPE, + + // Built-in properties that belong on the element + type: type, + key: key, + ref: ref, + props: props, + + // Record the component responsible for creating this element. + _owner: owner + }; + + { + // The validation flag is currently mutative. We put it on + // an external backing store so that we can freeze the whole object. + // This can be replaced with a WeakMap once they are implemented in + // commonly used development environments. + element._store = {}; + + // To make comparing ReactElements easier for testing purposes, we make + // the validation flag non-enumerable (where possible, which should + // include every environment we run tests in), so the test framework + // ignores it. + Object.defineProperty(element._store, 'validated', { + configurable: false, + enumerable: false, + writable: true, + value: false + }); + // self and source are DEV only properties. + Object.defineProperty(element, '_self', { + configurable: false, + enumerable: false, + writable: false, + value: self + }); + // Two elements created in two different places should be considered + // equal for testing purposes and therefore we hide it from enumeration. + Object.defineProperty(element, '_source', { + configurable: false, + enumerable: false, + writable: false, + value: source + }); + if (Object.freeze) { + Object.freeze(element.props); + Object.freeze(element); + } + } + + return element; + }; + + /** + * Create and return a new ReactElement of the given type. + * See https://reactjs.org/docs/react-api.html#createelement + */ + function createElement(type, config, children) { + var propName = void 0; + + // Reserved names are extracted + var props = {}; + + var key = null; + var ref = null; + var self = null; + var source = null; + + if (config != null) { + if (hasValidRef(config)) { + ref = config.ref; + } + if (hasValidKey(config)) { + key = '' + config.key; + } + + self = config.__self === undefined ? null : config.__self; + source = config.__source === undefined ? null : config.__source; + // Remaining properties are added to a new props object + for (propName in config) { + if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { + props[propName] = config[propName]; + } + } + } + + // Children can be more than one argument, and those are transferred onto + // the newly allocated props object. + var childrenLength = arguments.length - 2; + if (childrenLength === 1) { + props.children = children; + } else if (childrenLength > 1) { + var childArray = Array(childrenLength); + for (var i = 0; i < childrenLength; i++) { + childArray[i] = arguments[i + 2]; + } + { + if (Object.freeze) { + Object.freeze(childArray); + } + } + props.children = childArray; + } + + // Resolve default props + if (type && type.defaultProps) { + var defaultProps = type.defaultProps; + for (propName in defaultProps) { + if (props[propName] === undefined) { + props[propName] = defaultProps[propName]; + } + } + } + { + if (key || ref) { + var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type; + if (key) { + defineKeyPropWarningGetter(props, displayName); + } + if (ref) { + defineRefPropWarningGetter(props, displayName); + } + } + } + return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props); + } + + /** + * Return a function that produces ReactElements of a given type. + * See https://reactjs.org/docs/react-api.html#createfactory + */ + + + function cloneAndReplaceKey(oldElement, newKey) { + var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props); + + return newElement; + } + + /** + * Clone and return a new ReactElement using element as the starting point. + * See https://reactjs.org/docs/react-api.html#cloneelement + */ + function cloneElement(element, config, children) { + !!(element === null || element === undefined) ? invariant(false, 'React.cloneElement(...): The argument must be a React element, but you passed %s.', element) : void 0; + + var propName = void 0; + + // Original props are copied + var props = _assign({}, element.props); + + // Reserved names are extracted + var key = element.key; + var ref = element.ref; + // Self is preserved since the owner is preserved. + var self = element._self; + // Source is preserved since cloneElement is unlikely to be targeted by a + // transpiler, and the original source is probably a better indicator of the + // true owner. + var source = element._source; + + // Owner will be preserved, unless ref is overridden + var owner = element._owner; + + if (config != null) { + if (hasValidRef(config)) { + // Silently steal the ref from the parent. + ref = config.ref; + owner = ReactCurrentOwner.current; + } + if (hasValidKey(config)) { + key = '' + config.key; + } + + // Remaining properties override existing props + var defaultProps = void 0; + if (element.type && element.type.defaultProps) { + defaultProps = element.type.defaultProps; + } + for (propName in config) { + if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { + if (config[propName] === undefined && defaultProps !== undefined) { + // Resolve default props + props[propName] = defaultProps[propName]; + } else { + props[propName] = config[propName]; + } + } + } + } + + // Children can be more than one argument, and those are transferred onto + // the newly allocated props object. + var childrenLength = arguments.length - 2; + if (childrenLength === 1) { + props.children = children; + } else if (childrenLength > 1) { + var childArray = Array(childrenLength); + for (var i = 0; i < childrenLength; i++) { + childArray[i] = arguments[i + 2]; + } + props.children = childArray; + } + + return ReactElement(element.type, key, ref, self, source, owner, props); + } + + /** + * Verifies the object is a ReactElement. + * See https://reactjs.org/docs/react-api.html#isvalidelement + * @param {?object} object + * @return {boolean} True if `object` is a ReactElement. + * @final + */ + function isValidElement(object) { + return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; + } + + var SEPARATOR = '.'; + var SUBSEPARATOR = ':'; + + /** + * Escape and wrap key so it is safe to use as a reactid + * + * @param {string} key to be escaped. + * @return {string} the escaped key. + */ + function escape(key) { + var escapeRegex = /[=:]/g; + var escaperLookup = { + '=': '=0', + ':': '=2' + }; + var escapedString = ('' + key).replace(escapeRegex, function (match) { + return escaperLookup[match]; + }); + + return '$' + escapedString; + } + + /** + * TODO: Test that a single child and an array with one item have the same key + * pattern. + */ + + var didWarnAboutMaps = false; + + var userProvidedKeyEscapeRegex = /\/+/g; + function escapeUserProvidedKey(text) { + return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/'); + } + + var POOL_SIZE = 10; + var traverseContextPool = []; + function getPooledTraverseContext(mapResult, keyPrefix, mapFunction, mapContext) { + if (traverseContextPool.length) { + var traverseContext = traverseContextPool.pop(); + traverseContext.result = mapResult; + traverseContext.keyPrefix = keyPrefix; + traverseContext.func = mapFunction; + traverseContext.context = mapContext; + traverseContext.count = 0; + return traverseContext; + } else { + return { + result: mapResult, + keyPrefix: keyPrefix, + func: mapFunction, + context: mapContext, + count: 0 + }; + } + } + + function releaseTraverseContext(traverseContext) { + traverseContext.result = null; + traverseContext.keyPrefix = null; + traverseContext.func = null; + traverseContext.context = null; + traverseContext.count = 0; + if (traverseContextPool.length < POOL_SIZE) { + traverseContextPool.push(traverseContext); + } + } + + /** + * @param {?*} children Children tree container. + * @param {!string} nameSoFar Name of the key path so far. + * @param {!function} callback Callback to invoke with each child found. + * @param {?*} traverseContext Used to pass information throughout the traversal + * process. + * @return {!number} The number of children in this subtree. + */ + function traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) { + var type = typeof children; + + if (type === 'undefined' || type === 'boolean') { + // All of the above are perceived as null. + children = null; + } + + var invokeCallback = false; + + if (children === null) { + invokeCallback = true; + } else { + switch (type) { + case 'string': + case 'number': + invokeCallback = true; + break; + case 'object': + switch (children.$$typeof) { + case REACT_ELEMENT_TYPE: + case REACT_PORTAL_TYPE: + invokeCallback = true; + } + } + } + + if (invokeCallback) { + callback(traverseContext, children, + // If it's the only child, treat the name as if it was wrapped in an array + // so that it's consistent if the number of children grows. + nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar); + return 1; + } + + var child = void 0; + var nextName = void 0; + var subtreeCount = 0; // Count of children found in the current subtree. + var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR; + + if (Array.isArray(children)) { + for (var i = 0; i < children.length; i++) { + child = children[i]; + nextName = nextNamePrefix + getComponentKey(child, i); + subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); + } + } else { + var iteratorFn = getIteratorFn(children); + if (typeof iteratorFn === 'function') { + { + // Warn about using Maps as children + if (iteratorFn === children.entries) { + !didWarnAboutMaps ? warning$1(false, 'Using Maps as children is unsupported and will likely yield ' + 'unexpected results. Convert it to a sequence/iterable of keyed ' + 'ReactElements instead.') : void 0; + didWarnAboutMaps = true; + } + } + + var iterator = iteratorFn.call(children); + var step = void 0; + var ii = 0; + while (!(step = iterator.next()).done) { + child = step.value; + nextName = nextNamePrefix + getComponentKey(child, ii++); + subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext); + } + } else if (type === 'object') { + var addendum = ''; + { + addendum = ' If you meant to render a collection of children, use an array ' + 'instead.' + ReactDebugCurrentFrame.getStackAddendum(); + } + var childrenString = '' + children; + invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum); + } + } + + return subtreeCount; + } + + /** + * Traverses children that are typically specified as `props.children`, but + * might also be specified through attributes: + * + * - `traverseAllChildren(this.props.children, ...)` + * - `traverseAllChildren(this.props.leftPanelChildren, ...)` + * + * The `traverseContext` is an optional argument that is passed through the + * entire traversal. It can be used to store accumulations or anything else that + * the callback might find relevant. + * + * @param {?*} children Children tree object. + * @param {!function} callback To invoke upon traversing each child. + * @param {?*} traverseContext Context for traversal. + * @return {!number} The number of children in this subtree. + */ + function traverseAllChildren(children, callback, traverseContext) { + if (children == null) { + return 0; + } + + return traverseAllChildrenImpl(children, '', callback, traverseContext); + } + + /** + * Generate a key string that identifies a component within a set. + * + * @param {*} component A component that could contain a manual key. + * @param {number} index Index that is used if a manual key is not provided. + * @return {string} + */ + function getComponentKey(component, index) { + // Do some typechecking here since we call this blindly. We want to ensure + // that we don't block potential future ES APIs. + if (typeof component === 'object' && component !== null && component.key != null) { + // Explicit key + return escape(component.key); + } + // Implicit key determined by the index in the set + return index.toString(36); + } + + function forEachSingleChild(bookKeeping, child, name) { + var func = bookKeeping.func, + context = bookKeeping.context; + + func.call(context, child, bookKeeping.count++); + } + + /** + * Iterates through children that are typically specified as `props.children`. + * + * See https://reactjs.org/docs/react-api.html#reactchildrenforeach + * + * The provided forEachFunc(child, index) will be called for each + * leaf child. + * + * @param {?*} children Children tree container. + * @param {function(*, int)} forEachFunc + * @param {*} forEachContext Context for forEachContext. + */ + function forEachChildren(children, forEachFunc, forEachContext) { + if (children == null) { + return children; + } + var traverseContext = getPooledTraverseContext(null, null, forEachFunc, forEachContext); + traverseAllChildren(children, forEachSingleChild, traverseContext); + releaseTraverseContext(traverseContext); + } + + function mapSingleChildIntoContext(bookKeeping, child, childKey) { + var result = bookKeeping.result, + keyPrefix = bookKeeping.keyPrefix, + func = bookKeeping.func, + context = bookKeeping.context; + + + var mappedChild = func.call(context, child, bookKeeping.count++); + if (Array.isArray(mappedChild)) { + mapIntoWithKeyPrefixInternal(mappedChild, result, childKey, function (c) { + return c; + }); + } else if (mappedChild != null) { + if (isValidElement(mappedChild)) { + mappedChild = cloneAndReplaceKey(mappedChild, + // Keep both the (mapped) and old keys if they differ, just as + // traverseAllChildren used to do for objects as children + keyPrefix + (mappedChild.key && (!child || child.key !== mappedChild.key) ? escapeUserProvidedKey(mappedChild.key) + '/' : '') + childKey); + } + result.push(mappedChild); + } + } + + function mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) { + var escapedPrefix = ''; + if (prefix != null) { + escapedPrefix = escapeUserProvidedKey(prefix) + '/'; + } + var traverseContext = getPooledTraverseContext(array, escapedPrefix, func, context); + traverseAllChildren(children, mapSingleChildIntoContext, traverseContext); + releaseTraverseContext(traverseContext); + } + + /** + * Maps children that are typically specified as `props.children`. + * + * See https://reactjs.org/docs/react-api.html#reactchildrenmap + * + * The provided mapFunction(child, key, index) will be called for each + * leaf child. + * + * @param {?*} children Children tree container. + * @param {function(*, int)} func The map function. + * @param {*} context Context for mapFunction. + * @return {object} Object containing the ordered map of results. + */ + function mapChildren(children, func, context) { + if (children == null) { + return children; + } + var result = []; + mapIntoWithKeyPrefixInternal(children, result, null, func, context); + return result; + } + + /** + * Count the number of children that are typically specified as + * `props.children`. + * + * See https://reactjs.org/docs/react-api.html#reactchildrencount + * + * @param {?*} children Children tree container. + * @return {number} The number of children. + */ + function countChildren(children) { + return traverseAllChildren(children, function () { + return null; + }, null); + } + + /** + * Flatten a children object (typically specified as `props.children`) and + * return an array with appropriately re-keyed children. + * + * See https://reactjs.org/docs/react-api.html#reactchildrentoarray + */ + function toArray(children) { + var result = []; + mapIntoWithKeyPrefixInternal(children, result, null, function (child) { + return child; + }); + return result; + } + + /** + * Returns the first child in a collection of children and verifies that there + * is only one child in the collection. + * + * See https://reactjs.org/docs/react-api.html#reactchildrenonly + * + * The current implementation of this function assumes that a single child gets + * passed without a wrapper, but the purpose of this helper function is to + * abstract away the particular structure of children. + * + * @param {?object} children Child collection structure. + * @return {ReactElement} The first and only `ReactElement` contained in the + * structure. + */ + function onlyChild(children) { + !isValidElement(children) ? invariant(false, 'React.Children.only expected to receive a single React element child.') : void 0; + return children; + } + + function createContext(defaultValue, calculateChangedBits) { + if (calculateChangedBits === undefined) { + calculateChangedBits = null; + } else { + { + !(calculateChangedBits === null || typeof calculateChangedBits === 'function') ? warningWithoutStack$1(false, 'createContext: Expected the optional second argument to be a ' + 'function. Instead received: %s', calculateChangedBits) : void 0; + } + } + + var context = { + $$typeof: REACT_CONTEXT_TYPE, + _calculateChangedBits: calculateChangedBits, + // As a workaround to support multiple concurrent renderers, we categorize + // some renderers as primary and others as secondary. We only expect + // there to be two concurrent renderers at most: React Native (primary) and + // Fabric (secondary); React DOM (primary) and React ART (secondary). + // Secondary renderers store their context values on separate fields. + _currentValue: defaultValue, + _currentValue2: defaultValue, + // Used to track how many concurrent renderers this context currently + // supports within in a single renderer. Such as parallel server rendering. + _threadCount: 0, + // These are circular + Provider: null, + Consumer: null + }; + + context.Provider = { + $$typeof: REACT_PROVIDER_TYPE, + _context: context + }; + + var hasWarnedAboutUsingNestedContextConsumers = false; + var hasWarnedAboutUsingConsumerProvider = false; + + { + // A separate object, but proxies back to the original context object for + // backwards compatibility. It has a different $$typeof, so we can properly + // warn for the incorrect usage of Context as a Consumer. + var Consumer = { + $$typeof: REACT_CONTEXT_TYPE, + _context: context, + _calculateChangedBits: context._calculateChangedBits + }; + // $FlowFixMe: Flow complains about not setting a value, which is intentional here + Object.defineProperties(Consumer, { + Provider: { + get: function () { + if (!hasWarnedAboutUsingConsumerProvider) { + hasWarnedAboutUsingConsumerProvider = true; + warning$1(false, 'Rendering is not supported and will be removed in ' + 'a future major release. Did you mean to render instead?'); + } + return context.Provider; + }, + set: function (_Provider) { + context.Provider = _Provider; + } + }, + _currentValue: { + get: function () { + return context._currentValue; + }, + set: function (_currentValue) { + context._currentValue = _currentValue; + } + }, + _currentValue2: { + get: function () { + return context._currentValue2; + }, + set: function (_currentValue2) { + context._currentValue2 = _currentValue2; + } + }, + _threadCount: { + get: function () { + return context._threadCount; + }, + set: function (_threadCount) { + context._threadCount = _threadCount; + } + }, + Consumer: { + get: function () { + if (!hasWarnedAboutUsingNestedContextConsumers) { + hasWarnedAboutUsingNestedContextConsumers = true; + warning$1(false, 'Rendering is not supported and will be removed in ' + 'a future major release. Did you mean to render instead?'); + } + return context.Consumer; + } + } + }); + // $FlowFixMe: Flow complains about missing properties because it doesn't understand defineProperty + context.Consumer = Consumer; + } + + { + context._currentRenderer = null; + context._currentRenderer2 = null; + } + + return context; + } + + function lazy(ctor) { + var lazyType = { + $$typeof: REACT_LAZY_TYPE, + _ctor: ctor, + // React uses these fields to store the result. + _status: -1, + _result: null + }; + + { + // In production, this would just set it on the object. + var defaultProps = void 0; + var propTypes = void 0; + Object.defineProperties(lazyType, { + defaultProps: { + configurable: true, + get: function () { + return defaultProps; + }, + set: function (newDefaultProps) { + warning$1(false, 'React.lazy(...): It is not supported to assign `defaultProps` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.'); + defaultProps = newDefaultProps; + // Match production behavior more closely: + Object.defineProperty(lazyType, 'defaultProps', { + enumerable: true + }); + } + }, + propTypes: { + configurable: true, + get: function () { + return propTypes; + }, + set: function (newPropTypes) { + warning$1(false, 'React.lazy(...): It is not supported to assign `propTypes` to ' + 'a lazy component import. Either specify them where the component ' + 'is defined, or create a wrapping component around it.'); + propTypes = newPropTypes; + // Match production behavior more closely: + Object.defineProperty(lazyType, 'propTypes', { + enumerable: true + }); + } + } + }); + } + + return lazyType; + } + + function forwardRef(render) { + { + if (render != null && render.$$typeof === REACT_MEMO_TYPE) { + warningWithoutStack$1(false, 'forwardRef requires a render function but received a `memo` ' + 'component. Instead of forwardRef(memo(...)), use ' + 'memo(forwardRef(...)).'); + } else if (typeof render !== 'function') { + warningWithoutStack$1(false, 'forwardRef requires a render function but was given %s.', render === null ? 'null' : typeof render); + } else { + !( + // Do not warn for 0 arguments because it could be due to usage of the 'arguments' object + render.length === 0 || render.length === 2) ? warningWithoutStack$1(false, 'forwardRef render functions accept exactly two parameters: props and ref. %s', render.length === 1 ? 'Did you forget to use the ref parameter?' : 'Any additional parameter will be undefined.') : void 0; + } + + if (render != null) { + !(render.defaultProps == null && render.propTypes == null) ? warningWithoutStack$1(false, 'forwardRef render functions do not support propTypes or defaultProps. ' + 'Did you accidentally pass a React component?') : void 0; + } + } + + return { + $$typeof: REACT_FORWARD_REF_TYPE, + render: render + }; + } + + function isValidElementType(type) { + return typeof type === 'string' || typeof type === 'function' || + // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. + type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE); + } + + function memo(type, compare) { + { + if (!isValidElementType(type)) { + warningWithoutStack$1(false, 'memo: The first argument must be a component. Instead ' + 'received: %s', type === null ? 'null' : typeof type); + } + } + return { + $$typeof: REACT_MEMO_TYPE, + type: type, + compare: compare === undefined ? null : compare + }; + } + + function resolveDispatcher() { + var dispatcher = ReactCurrentDispatcher.current; + !(dispatcher !== null) ? invariant(false, 'Hooks can only be called inside the body of a function component. (https://fb.me/react-invalid-hook-call)') : void 0; + return dispatcher; + } + + function useContext(Context, unstable_observedBits) { + var dispatcher = resolveDispatcher(); + { + !(unstable_observedBits === undefined) ? warning$1(false, 'useContext() second argument is reserved for future ' + 'use in React. Passing it is not supported. ' + 'You passed: %s.%s', unstable_observedBits, typeof unstable_observedBits === 'number' && Array.isArray(arguments[2]) ? '\n\nDid you call array.map(useContext)? ' + 'Calling Hooks inside a loop is not supported. ' + 'Learn more at https://fb.me/rules-of-hooks' : '') : void 0; + + // TODO: add a more generic warning for invalid values. + if (Context._context !== undefined) { + var realContext = Context._context; + // Don't deduplicate because this legitimately causes bugs + // and nobody should be using this in existing code. + if (realContext.Consumer === Context) { + warning$1(false, 'Calling useContext(Context.Consumer) is not supported, may cause bugs, and will be ' + 'removed in a future major release. Did you mean to call useContext(Context) instead?'); + } else if (realContext.Provider === Context) { + warning$1(false, 'Calling useContext(Context.Provider) is not supported. ' + 'Did you mean to call useContext(Context) instead?'); + } + } + } + return dispatcher.useContext(Context, unstable_observedBits); + } + + function useState(initialState) { + var dispatcher = resolveDispatcher(); + return dispatcher.useState(initialState); + } + + function useReducer(reducer, initialArg, init) { + var dispatcher = resolveDispatcher(); + return dispatcher.useReducer(reducer, initialArg, init); + } + + function useRef(initialValue) { + var dispatcher = resolveDispatcher(); + return dispatcher.useRef(initialValue); + } + + function useEffect(create, inputs) { + var dispatcher = resolveDispatcher(); + return dispatcher.useEffect(create, inputs); + } + + function useLayoutEffect(create, inputs) { + var dispatcher = resolveDispatcher(); + return dispatcher.useLayoutEffect(create, inputs); + } + + function useCallback(callback, inputs) { + var dispatcher = resolveDispatcher(); + return dispatcher.useCallback(callback, inputs); + } + + function useMemo(create, inputs) { + var dispatcher = resolveDispatcher(); + return dispatcher.useMemo(create, inputs); + } + + function useImperativeHandle(ref, create, inputs) { + var dispatcher = resolveDispatcher(); + return dispatcher.useImperativeHandle(ref, create, inputs); + } + + function useDebugValue(value, formatterFn) { + { + var dispatcher = resolveDispatcher(); + return dispatcher.useDebugValue(value, formatterFn); + } + } + + /** + * ReactElementValidator provides a wrapper around a element factory + * which validates the props passed to the element. This is intended to be + * used only in DEV and could be replaced by a static type checker for languages + * that support it. + */ + + var propTypesMisspellWarningShown = void 0; + + { + propTypesMisspellWarningShown = false; + } + + function getDeclarationErrorAddendum() { + if (ReactCurrentOwner.current) { + var name = getComponentName(ReactCurrentOwner.current.type); + if (name) { + return '\n\nCheck the render method of `' + name + '`.'; + } + } + return ''; + } + + function getSourceInfoErrorAddendum(elementProps) { + if (elementProps !== null && elementProps !== undefined && elementProps.__source !== undefined) { + var source = elementProps.__source; + var fileName = source.fileName.replace(/^.*[\\\/]/, ''); + var lineNumber = source.lineNumber; + return '\n\nCheck your code at ' + fileName + ':' + lineNumber + '.'; + } + return ''; + } + + /** + * Warn if there's no key explicitly set on dynamic arrays of children or + * object keys are not valid. This allows us to keep track of children between + * updates. + */ + var ownerHasKeyUseWarning = {}; + + function getCurrentComponentErrorInfo(parentType) { + var info = getDeclarationErrorAddendum(); + + if (!info) { + var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name; + if (parentName) { + info = '\n\nCheck the top-level render call using <' + parentName + '>.'; + } + } + return info; + } + + /** + * Warn if the element doesn't have an explicit key assigned to it. + * This element is in an array. The array could grow and shrink or be + * reordered. All children that haven't already been validated are required to + * have a "key" property assigned to it. Error statuses are cached so a warning + * will only be shown once. + * + * @internal + * @param {ReactElement} element Element that requires a key. + * @param {*} parentType element's parent's type. + */ + function validateExplicitKey(element, parentType) { + if (!element._store || element._store.validated || element.key != null) { + return; + } + element._store.validated = true; + + var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType); + if (ownerHasKeyUseWarning[currentComponentErrorInfo]) { + return; + } + ownerHasKeyUseWarning[currentComponentErrorInfo] = true; + + // Usually the current owner is the offender, but if it accepts children as a + // property, it may be the creator of the child that's responsible for + // assigning it a key. + var childOwner = ''; + if (element && element._owner && element._owner !== ReactCurrentOwner.current) { + // Give the component that originally created this child. + childOwner = ' It was passed a child from ' + getComponentName(element._owner.type) + '.'; + } + + setCurrentlyValidatingElement(element); + { + warning$1(false, 'Each child in a list should have a unique "key" prop.' + '%s%s See https://fb.me/react-warning-keys for more information.', currentComponentErrorInfo, childOwner); + } + setCurrentlyValidatingElement(null); + } + + /** + * Ensure that every element either is passed in a static location, in an + * array with an explicit keys property defined, or in an object literal + * with valid key property. + * + * @internal + * @param {ReactNode} node Statically passed child of any type. + * @param {*} parentType node's parent's type. + */ + function validateChildKeys(node, parentType) { + if (typeof node !== 'object') { + return; + } + if (Array.isArray(node)) { + for (var i = 0; i < node.length; i++) { + var child = node[i]; + if (isValidElement(child)) { + validateExplicitKey(child, parentType); + } + } + } else if (isValidElement(node)) { + // This element was passed in a valid location. + if (node._store) { + node._store.validated = true; + } + } else if (node) { + var iteratorFn = getIteratorFn(node); + if (typeof iteratorFn === 'function') { + // Entry iterators used to provide implicit keys, + // but now we print a separate warning for them later. + if (iteratorFn !== node.entries) { + var iterator = iteratorFn.call(node); + var step = void 0; + while (!(step = iterator.next()).done) { + if (isValidElement(step.value)) { + validateExplicitKey(step.value, parentType); + } + } + } + } + } + } + + /** + * Given an element, validate that its props follow the propTypes definition, + * provided by the type. + * + * @param {ReactElement} element + */ + function validatePropTypes(element) { + var type = element.type; + if (type === null || type === undefined || typeof type === 'string') { + return; + } + var name = getComponentName(type); + var propTypes = void 0; + if (typeof type === 'function') { + propTypes = type.propTypes; + } else if (typeof type === 'object' && (type.$$typeof === REACT_FORWARD_REF_TYPE || + // Note: Memo only checks outer props here. + // Inner props are checked in the reconciler. + type.$$typeof === REACT_MEMO_TYPE)) { + propTypes = type.propTypes; + } else { + return; + } + if (propTypes) { + setCurrentlyValidatingElement(element); + checkPropTypes(propTypes, element.props, 'prop', name, ReactDebugCurrentFrame.getStackAddendum); + setCurrentlyValidatingElement(null); + } else if (type.PropTypes !== undefined && !propTypesMisspellWarningShown) { + propTypesMisspellWarningShown = true; + warningWithoutStack$1(false, 'Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?', name || 'Unknown'); + } + if (typeof type.getDefaultProps === 'function') { + !type.getDefaultProps.isReactClassApproved ? warningWithoutStack$1(false, 'getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.') : void 0; + } + } + + /** + * Given a fragment, validate that it can only be provided with fragment props + * @param {ReactElement} fragment + */ + function validateFragmentProps(fragment) { + setCurrentlyValidatingElement(fragment); + + var keys = Object.keys(fragment.props); + for (var i = 0; i < keys.length; i++) { + var key = keys[i]; + if (key !== 'children' && key !== 'key') { + warning$1(false, 'Invalid prop `%s` supplied to `React.Fragment`. ' + 'React.Fragment can only have `key` and `children` props.', key); + break; + } + } + + if (fragment.ref !== null) { + warning$1(false, 'Invalid attribute `ref` supplied to `React.Fragment`.'); + } + + setCurrentlyValidatingElement(null); + } + + function createElementWithValidation(type, props, children) { + var validType = isValidElementType(type); + + // We warn in this case but don't throw. We expect the element creation to + // succeed and there will likely be errors in render. + if (!validType) { + var info = ''; + if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) { + info += ' You likely forgot to export your component from the file ' + "it's defined in, or you might have mixed up default and named imports."; + } + + var sourceInfo = getSourceInfoErrorAddendum(props); + if (sourceInfo) { + info += sourceInfo; + } else { + info += getDeclarationErrorAddendum(); + } + + var typeString = void 0; + if (type === null) { + typeString = 'null'; + } else if (Array.isArray(type)) { + typeString = 'array'; + } else if (type !== undefined && type.$$typeof === REACT_ELEMENT_TYPE) { + typeString = '<' + (getComponentName(type.type) || 'Unknown') + ' />'; + info = ' Did you accidentally export a JSX literal instead of a component?'; + } else { + typeString = typeof type; + } + + warning$1(false, 'React.createElement: type is invalid -- expected a string (for ' + 'built-in components) or a class/function (for composite ' + 'components) but got: %s.%s', typeString, info); + } + + var element = createElement.apply(this, arguments); + + // The result can be nullish if a mock or a custom function is used. + // TODO: Drop this when these are no longer allowed as the type argument. + if (element == null) { + return element; + } + + // Skip key warning if the type isn't valid since our key validation logic + // doesn't expect a non-string/function type and can throw confusing errors. + // We don't want exception behavior to differ between dev and prod. + // (Rendering will throw with a helpful message and as soon as the type is + // fixed, the key warnings will appear.) + if (validType) { + for (var i = 2; i < arguments.length; i++) { + validateChildKeys(arguments[i], type); + } + } + + if (type === REACT_FRAGMENT_TYPE) { + validateFragmentProps(element); + } else { + validatePropTypes(element); + } + + return element; + } + + function createFactoryWithValidation(type) { + var validatedFactory = createElementWithValidation.bind(null, type); + validatedFactory.type = type; + // Legacy hook: remove it + { + Object.defineProperty(validatedFactory, 'type', { + enumerable: false, + get: function () { + lowPriorityWarning$1(false, 'Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.'); + Object.defineProperty(this, 'type', { + value: type + }); + return type; + } + }); + } + + return validatedFactory; + } + + function cloneElementWithValidation(element, props, children) { + var newElement = cloneElement.apply(this, arguments); + for (var i = 2; i < arguments.length; i++) { + validateChildKeys(arguments[i], newElement.type); + } + validatePropTypes(newElement); + return newElement; + } + + // Helps identify side effects in begin-phase lifecycle hooks and setState reducers: + + + // In some cases, StrictMode should also double-render lifecycles. + // This can be confusing for tests though, + // And it can be bad for performance in production. + // This feature flag can be used to control the behavior: + + + // To preserve the "Pause on caught exceptions" behavior of the debugger, we + // replay the begin phase of a failed component inside invokeGuardedCallback. + + + // Warn about deprecated, async-unsafe lifecycles; relates to RFC #6: + + + // Gather advanced timing metrics for Profiler subtrees. + + + // Trace which interactions trigger each commit. + + + // Only used in www builds. + // TODO: true? Here it might just be false. + + // Only used in www builds. + + + // Only used in www builds. + + + // React Fire: prevent the value and checked attributes from syncing + // with their related DOM properties + + + // These APIs will no longer be "unstable" in the upcoming 16.7 release, + // Control this behavior with a flag to support 16.6 minor releases in the meanwhile. + var enableStableConcurrentModeAPIs = false; + + var React = { + Children: { + map: mapChildren, + forEach: forEachChildren, + count: countChildren, + toArray: toArray, + only: onlyChild + }, + + createRef: createRef, + Component: Component, + PureComponent: PureComponent, + + createContext: createContext, + forwardRef: forwardRef, + lazy: lazy, + memo: memo, + + useCallback: useCallback, + useContext: useContext, + useEffect: useEffect, + useImperativeHandle: useImperativeHandle, + useDebugValue: useDebugValue, + useLayoutEffect: useLayoutEffect, + useMemo: useMemo, + useReducer: useReducer, + useRef: useRef, + useState: useState, + + Fragment: REACT_FRAGMENT_TYPE, + StrictMode: REACT_STRICT_MODE_TYPE, + Suspense: REACT_SUSPENSE_TYPE, + + createElement: createElementWithValidation, + cloneElement: cloneElementWithValidation, + createFactory: createFactoryWithValidation, + isValidElement: isValidElement, + + version: ReactVersion, + + unstable_ConcurrentMode: REACT_CONCURRENT_MODE_TYPE, + unstable_Profiler: REACT_PROFILER_TYPE, + + __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: ReactSharedInternals + }; + + // Note: some APIs are added with feature flags. + // Make sure that stable builds for open source + // don't modify the React object to avoid deopts. + // Also let's not expose their names in stable builds. + + if (enableStableConcurrentModeAPIs) { + React.ConcurrentMode = REACT_CONCURRENT_MODE_TYPE; + React.Profiler = REACT_PROFILER_TYPE; + React.unstable_ConcurrentMode = undefined; + React.unstable_Profiler = undefined; + } + + + + var React$2 = Object.freeze({ + default: React + }); + + var React$3 = ( React$2 && React ) || React$2; + + // TODO: decide on the top-level export form. + // This is hacky but makes it work with both Rollup and Jest. + var react = React$3.default || React$3; + + module.exports = react; + })(); + } + + + /***/ }), + /* 10 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /* + object-assign + (c) Sindre Sorhus + @license MIT + */ + + + /* eslint-disable no-unused-vars */ + var getOwnPropertySymbols = Object.getOwnPropertySymbols; + var hasOwnProperty = Object.prototype.hasOwnProperty; + var propIsEnumerable = Object.prototype.propertyIsEnumerable; + + function toObject(val) { + if (val === null || val === undefined) { + throw new TypeError('Object.assign cannot be called with null or undefined'); + } + + return Object(val); + } + + function shouldUseNative() { + try { + if (!Object.assign) { + return false; + } + + // Detect buggy property enumeration order in older V8 versions. + + // https://bugs.chromium.org/p/v8/issues/detail?id=4118 + var test1 = new String('abc'); // eslint-disable-line no-new-wrappers + test1[5] = 'de'; + if (Object.getOwnPropertyNames(test1)[0] === '5') { + return false; + } + + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test2 = {}; + for (var i = 0; i < 10; i++) { + test2['_' + String.fromCharCode(i)] = i; + } + var order2 = Object.getOwnPropertyNames(test2).map(function (n) { + return test2[n]; + }); + if (order2.join('') !== '0123456789') { + return false; + } + + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test3 = {}; + 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { + test3[letter] = letter; + }); + if (Object.keys(Object.assign({}, test3)).join('') !== + 'abcdefghijklmnopqrst') { + return false; + } + + return true; + } catch (err) { + // We don't expect any of the above to throw, but better to be safe. + return false; + } + } + + module.exports = shouldUseNative() ? Object.assign : function (target, source) { + var from; + var to = toObject(target); + var symbols; + + for (var s = 1; s < arguments.length; s++) { + from = Object(arguments[s]); + + for (var key in from) { + if (hasOwnProperty.call(from, key)) { + to[key] = from[key]; + } + } + + if (getOwnPropertySymbols) { + symbols = getOwnPropertySymbols(from); + for (var i = 0; i < symbols.length; i++) { + if (propIsEnumerable.call(from, symbols[i])) { + to[symbols[i]] = from[symbols[i]]; + } + } + } + } + + return to; + }; + + + /***/ }), + /* 11 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + + + var printWarning = function() {}; + + if (true) { + var ReactPropTypesSecret = __webpack_require__(12); + var loggedTypeFailures = {}; + + printWarning = function(text) { + var message = 'Warning: ' + text; + if (typeof console !== 'undefined') { + console.error(message); + } + try { + // --- Welcome to debugging React --- + // This error was thrown as a convenience so that you can use this stack + // to find the callsite that caused this warning to fire. + throw new Error(message); + } catch (x) {} + }; + } + + /** + * Assert that the values match with the type specs. + * Error messages are memorized and will only be shown once. + * + * @param {object} typeSpecs Map of name to a ReactPropType + * @param {object} values Runtime values that need to be type-checked + * @param {string} location e.g. "prop", "context", "child context" + * @param {string} componentName Name of the component for error messages. + * @param {?Function} getStack Returns the component stack. + * @private + */ + function checkPropTypes(typeSpecs, values, location, componentName, getStack) { + if (true) { + for (var typeSpecName in typeSpecs) { + if (typeSpecs.hasOwnProperty(typeSpecName)) { + var error; + // Prop type validation may throw. In case they do, we don't want to + // fail the render phase where it didn't fail before. So we log it. + // After these have been cleaned up, we'll let them throw. + try { + // This is intentionally an invariant that gets caught. It's the same + // behavior as without this statement except with a better message. + if (typeof typeSpecs[typeSpecName] !== 'function') { + var err = Error( + (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + ); + err.name = 'Invariant Violation'; + throw err; + } + error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret); + } catch (ex) { + error = ex; + } + if (error && !(error instanceof Error)) { + printWarning( + (componentName || 'React class') + ': type specification of ' + + location + ' `' + typeSpecName + '` is invalid; the type checker ' + + 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' + + 'You may have forgotten to pass an argument to the type checker ' + + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + + 'shape all require an argument).' + ) + + } + if (error instanceof Error && !(error.message in loggedTypeFailures)) { + // Only monitor this failure once because there tends to be a lot of the + // same error. + loggedTypeFailures[error.message] = true; + + var stack = getStack ? getStack() : ''; + + printWarning( + 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '') + ); + } + } + } + } + } + + module.exports = checkPropTypes; + + + /***/ }), + /* 12 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + + + var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; + + module.exports = ReactPropTypesSecret; + + + /***/ }), + /* 13 */ + /***/ (function(module, exports) { + + /** + * lodash (Custom Build) + * Build: `lodash modularize exports="npm" -o ./` + * Copyright jQuery Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ + + /** Used as the `TypeError` message for "Functions" methods. */ + var FUNC_ERROR_TEXT = 'Expected a function'; + + /** Used as references for various `Number` constants. */ + var NAN = 0 / 0; + + /** `Object#toString` result references. */ + var symbolTag = '[object Symbol]'; + + /** Used to match leading and trailing whitespace. */ + var reTrim = /^\s+|\s+$/g; + + /** Used to detect bad signed hexadecimal string values. */ + var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; + + /** Used to detect binary string values. */ + var reIsBinary = /^0b[01]+$/i; + + /** Used to detect octal string values. */ + var reIsOctal = /^0o[0-7]+$/i; + + /** Built-in method references without a dependency on `root`. */ + var freeParseInt = parseInt; + + /** Detect free variable `global` from Node.js. */ + var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; + + /** Detect free variable `self`. */ + var freeSelf = typeof self == 'object' && self && self.Object === Object && self; + + /** Used as a reference to the global object. */ + var root = freeGlobal || freeSelf || Function('return this')(); + + /** Used for built-in method references. */ + var objectProto = Object.prototype; + + /** + * Used to resolve the + * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) + * of values. + */ + var objectToString = objectProto.toString; + + /* Built-in method references for those with the same name as other `lodash` methods. */ + var nativeMax = Math.max, + nativeMin = Math.min; + + /** + * Gets the timestamp of the number of milliseconds that have elapsed since + * the Unix epoch (1 January 1970 00:00:00 UTC). + * + * @static + * @memberOf _ + * @since 2.4.0 + * @category Date + * @returns {number} Returns the timestamp. + * @example + * + * _.defer(function(stamp) { + * console.log(_.now() - stamp); + * }, _.now()); + * // => Logs the number of milliseconds it took for the deferred invocation. + */ + var now = function() { + return root.Date.now(); + }; + + /** + * Creates a debounced function that delays invoking `func` until after `wait` + * milliseconds have elapsed since the last time the debounced function was + * invoked. The debounced function comes with a `cancel` method to cancel + * delayed `func` invocations and a `flush` method to immediately invoke them. + * Provide `options` to indicate whether `func` should be invoked on the + * leading and/or trailing edge of the `wait` timeout. The `func` is invoked + * with the last arguments provided to the debounced function. Subsequent + * calls to the debounced function return the result of the last `func` + * invocation. + * + * **Note:** If `leading` and `trailing` options are `true`, `func` is + * invoked on the trailing edge of the timeout only if the debounced function + * is invoked more than once during the `wait` timeout. + * + * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred + * until to the next tick, similar to `setTimeout` with a timeout of `0`. + * + * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) + * for details over the differences between `_.debounce` and `_.throttle`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to debounce. + * @param {number} [wait=0] The number of milliseconds to delay. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.leading=false] + * Specify invoking on the leading edge of the timeout. + * @param {number} [options.maxWait] + * The maximum time `func` is allowed to be delayed before it's invoked. + * @param {boolean} [options.trailing=true] + * Specify invoking on the trailing edge of the timeout. + * @returns {Function} Returns the new debounced function. + * @example + * + * // Avoid costly calculations while the window size is in flux. + * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); + * + * // Invoke `sendMail` when clicked, debouncing subsequent calls. + * jQuery(element).on('click', _.debounce(sendMail, 300, { + * 'leading': true, + * 'trailing': false + * })); + * + * // Ensure `batchLog` is invoked once after 1 second of debounced calls. + * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); + * var source = new EventSource('/stream'); + * jQuery(source).on('message', debounced); + * + * // Cancel the trailing debounced invocation. + * jQuery(window).on('popstate', debounced.cancel); + */ + function debounce(func, wait, options) { + var lastArgs, + lastThis, + maxWait, + result, + timerId, + lastCallTime, + lastInvokeTime = 0, + leading = false, + maxing = false, + trailing = true; + + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + wait = toNumber(wait) || 0; + if (isObject(options)) { + leading = !!options.leading; + maxing = 'maxWait' in options; + maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; + trailing = 'trailing' in options ? !!options.trailing : trailing; + } + + function invokeFunc(time) { + var args = lastArgs, + thisArg = lastThis; + + lastArgs = lastThis = undefined; + lastInvokeTime = time; + result = func.apply(thisArg, args); + return result; + } + + function leadingEdge(time) { + // Reset any `maxWait` timer. + lastInvokeTime = time; + // Start the timer for the trailing edge. + timerId = setTimeout(timerExpired, wait); + // Invoke the leading edge. + return leading ? invokeFunc(time) : result; + } + + function remainingWait(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime, + result = wait - timeSinceLastCall; + + return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result; + } + + function shouldInvoke(time) { + var timeSinceLastCall = time - lastCallTime, + timeSinceLastInvoke = time - lastInvokeTime; + + // Either this is the first call, activity has stopped and we're at the + // trailing edge, the system time has gone backwards and we're treating + // it as the trailing edge, or we've hit the `maxWait` limit. + return (lastCallTime === undefined || (timeSinceLastCall >= wait) || + (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); + } + + function timerExpired() { + var time = now(); + if (shouldInvoke(time)) { + return trailingEdge(time); + } + // Restart the timer. + timerId = setTimeout(timerExpired, remainingWait(time)); + } + + function trailingEdge(time) { + timerId = undefined; + + // Only invoke if we have `lastArgs` which means `func` has been + // debounced at least once. + if (trailing && lastArgs) { + return invokeFunc(time); + } + lastArgs = lastThis = undefined; + return result; + } + + function cancel() { + if (timerId !== undefined) { + clearTimeout(timerId); + } + lastInvokeTime = 0; + lastArgs = lastCallTime = lastThis = timerId = undefined; + } + + function flush() { + return timerId === undefined ? result : trailingEdge(now()); + } + + function debounced() { + var time = now(), + isInvoking = shouldInvoke(time); + + lastArgs = arguments; + lastThis = this; + lastCallTime = time; + + if (isInvoking) { + if (timerId === undefined) { + return leadingEdge(lastCallTime); + } + if (maxing) { + // Handle invocations in a tight loop. + timerId = setTimeout(timerExpired, wait); + return invokeFunc(lastCallTime); + } + } + if (timerId === undefined) { + timerId = setTimeout(timerExpired, wait); + } + return result; + } + debounced.cancel = cancel; + debounced.flush = flush; + return debounced; + } + + /** + * Creates a throttled function that only invokes `func` at most once per + * every `wait` milliseconds. The throttled function comes with a `cancel` + * method to cancel delayed `func` invocations and a `flush` method to + * immediately invoke them. Provide `options` to indicate whether `func` + * should be invoked on the leading and/or trailing edge of the `wait` + * timeout. The `func` is invoked with the last arguments provided to the + * throttled function. Subsequent calls to the throttled function return the + * result of the last `func` invocation. + * + * **Note:** If `leading` and `trailing` options are `true`, `func` is + * invoked on the trailing edge of the timeout only if the throttled function + * is invoked more than once during the `wait` timeout. + * + * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred + * until to the next tick, similar to `setTimeout` with a timeout of `0`. + * + * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) + * for details over the differences between `_.throttle` and `_.debounce`. + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Function + * @param {Function} func The function to throttle. + * @param {number} [wait=0] The number of milliseconds to throttle invocations to. + * @param {Object} [options={}] The options object. + * @param {boolean} [options.leading=true] + * Specify invoking on the leading edge of the timeout. + * @param {boolean} [options.trailing=true] + * Specify invoking on the trailing edge of the timeout. + * @returns {Function} Returns the new throttled function. + * @example + * + * // Avoid excessively updating the position while scrolling. + * jQuery(window).on('scroll', _.throttle(updatePosition, 100)); + * + * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes. + * var throttled = _.throttle(renewToken, 300000, { 'trailing': false }); + * jQuery(element).on('click', throttled); + * + * // Cancel the trailing throttled invocation. + * jQuery(window).on('popstate', throttled.cancel); + */ + function throttle(func, wait, options) { + var leading = true, + trailing = true; + + if (typeof func != 'function') { + throw new TypeError(FUNC_ERROR_TEXT); + } + if (isObject(options)) { + leading = 'leading' in options ? !!options.leading : leading; + trailing = 'trailing' in options ? !!options.trailing : trailing; + } + return debounce(func, wait, { + 'leading': leading, + 'maxWait': wait, + 'trailing': trailing + }); + } + + /** + * Checks if `value` is the + * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) + * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) + * + * @static + * @memberOf _ + * @since 0.1.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is an object, else `false`. + * @example + * + * _.isObject({}); + * // => true + * + * _.isObject([1, 2, 3]); + * // => true + * + * _.isObject(_.noop); + * // => true + * + * _.isObject(null); + * // => false + */ + function isObject(value) { + var type = typeof value; + return !!value && (type == 'object' || type == 'function'); + } + + /** + * Checks if `value` is object-like. A value is object-like if it's not `null` + * and has a `typeof` result of "object". + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is object-like, else `false`. + * @example + * + * _.isObjectLike({}); + * // => true + * + * _.isObjectLike([1, 2, 3]); + * // => true + * + * _.isObjectLike(_.noop); + * // => false + * + * _.isObjectLike(null); + * // => false + */ + function isObjectLike(value) { + return !!value && typeof value == 'object'; + } + + /** + * Checks if `value` is classified as a `Symbol` primitive or object. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to check. + * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. + * @example + * + * _.isSymbol(Symbol.iterator); + * // => true + * + * _.isSymbol('abc'); + * // => false + */ + function isSymbol(value) { + return typeof value == 'symbol' || + (isObjectLike(value) && objectToString.call(value) == symbolTag); + } + + /** + * Converts `value` to a number. + * + * @static + * @memberOf _ + * @since 4.0.0 + * @category Lang + * @param {*} value The value to process. + * @returns {number} Returns the number. + * @example + * + * _.toNumber(3.2); + * // => 3.2 + * + * _.toNumber(Number.MIN_VALUE); + * // => 5e-324 + * + * _.toNumber(Infinity); + * // => Infinity + * + * _.toNumber('3.2'); + * // => 3.2 + */ + function toNumber(value) { + if (typeof value == 'number') { + return value; + } + if (isSymbol(value)) { + return NAN; + } + if (isObject(value)) { + var other = typeof value.valueOf == 'function' ? value.valueOf() : value; + value = isObject(other) ? (other + '') : other; + } + if (typeof value != 'string') { + return value === 0 ? value : +value; + } + value = value.replace(reTrim, ''); + var isBinary = reIsBinary.test(value); + return (isBinary || reIsOctal.test(value)) + ? freeParseInt(value.slice(2), isBinary ? 2 : 8) + : (reIsBadHex.test(value) ? NAN : +value); + } + + module.exports = throttle; + + + /***/ }), + /* 14 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + // Gets all non-builtin properties up the prototype chain + const getAllProperties = object => { + const props = new Set(); + + do { + for (const key of Reflect.ownKeys(object)) { + props.add([object, key]); + } + } while ((object = Reflect.getPrototypeOf(object)) && object !== Object.prototype); + + return props; + }; + + module.exports = (self, options) => { + options = Object.assign({}, options); + + const filter = key => { + const match = pattern => typeof pattern === 'string' ? key === pattern : pattern.test(key); + + if (options.include) { + return options.include.some(match); + } + + if (options.exclude) { + return !options.exclude.some(match); + } + + return true; + }; + + for (const [object, key] of getAllProperties(self.constructor.prototype)) { + if (key === 'constructor' || !filter(key)) { + continue; + } + + const descriptor = Reflect.getOwnPropertyDescriptor(object, key); + if (descriptor && typeof descriptor.value === 'function') { + self[key] = self[key].bind(self); + } + } + + return self; + }; + + const excludedReactMethods = [ + 'componentWillMount', + 'UNSAFE_componentWillMount', + 'render', + 'getSnapshotBeforeUpdate', + 'componentDidMount', + 'componentWillReceiveProps', + 'UNSAFE_componentWillReceiveProps', + 'shouldComponentUpdate', + 'componentWillUpdate', + 'UNSAFE_componentWillUpdate', + 'componentDidUpdate', + 'componentWillUnmount', + 'componentDidCatch', + 'setState', + 'forceUpdate' + ]; + + module.exports.react = (self, options) => { + options = Object.assign({}, options); + options.exclude = (options.exclude || []).concat(excludedReactMethods); + return module.exports(self, options); + }; + + + /***/ }), + /* 15 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + const ansiEscapes = __webpack_require__(16); + const cliCursor = __webpack_require__(17); + const wrapAnsi = __webpack_require__(25); + + const getWidth = stream => { + const {columns} = stream; + + if (!columns) { + return 80; + } + + // Windows appears to wrap a character early + // I hate Windows so much + if (process.platform === 'win32') { + return columns - 1; + } + + return columns; + }; + + const main = (stream, options) => { + options = Object.assign({ + showCursor: false + }, options); + + let prevLineCount = 0; + + const render = (...args) => { + if (!options.showCursor) { + cliCursor.hide(); + } + + let out = args.join(' ') + '\n'; + out = wrapAnsi(out, getWidth(stream), { + trim: false, + hard: true, + wordWrap: false + }); + stream.write(ansiEscapes.eraseLines(prevLineCount) + out); + prevLineCount = out.split('\n').length; + }; + + render.clear = () => { + stream.write(ansiEscapes.eraseLines(prevLineCount)); + prevLineCount = 0; + }; + + render.done = () => { + prevLineCount = 0; + + if (!options.showCursor) { + cliCursor.show(); + } + }; + + return render; + }; + + module.exports = main(process.stdout); + // TODO: Remove this for the next major release + module.exports.default = module.exports; + module.exports.stderr = main(process.stderr); + module.exports.create = main; + + + /***/ }), + /* 16 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + const x = module.exports; + const ESC = '\u001B['; + const OSC = '\u001B]'; + const BEL = '\u0007'; + const SEP = ';'; + const isTerminalApp = process.env.TERM_PROGRAM === 'Apple_Terminal'; + + x.cursorTo = (x, y) => { + if (typeof x !== 'number') { + throw new TypeError('The `x` argument is required'); + } + + if (typeof y !== 'number') { + return ESC + (x + 1) + 'G'; + } + + return ESC + (y + 1) + ';' + (x + 1) + 'H'; + }; + + x.cursorMove = (x, y) => { + if (typeof x !== 'number') { + throw new TypeError('The `x` argument is required'); + } + + let ret = ''; + + if (x < 0) { + ret += ESC + (-x) + 'D'; + } else if (x > 0) { + ret += ESC + x + 'C'; + } + + if (y < 0) { + ret += ESC + (-y) + 'A'; + } else if (y > 0) { + ret += ESC + y + 'B'; + } + + return ret; + }; + + x.cursorUp = count => ESC + (typeof count === 'number' ? count : 1) + 'A'; + x.cursorDown = count => ESC + (typeof count === 'number' ? count : 1) + 'B'; + x.cursorForward = count => ESC + (typeof count === 'number' ? count : 1) + 'C'; + x.cursorBackward = count => ESC + (typeof count === 'number' ? count : 1) + 'D'; + + x.cursorLeft = ESC + 'G'; + x.cursorSavePosition = ESC + (isTerminalApp ? '7' : 's'); + x.cursorRestorePosition = ESC + (isTerminalApp ? '8' : 'u'); + x.cursorGetPosition = ESC + '6n'; + x.cursorNextLine = ESC + 'E'; + x.cursorPrevLine = ESC + 'F'; + x.cursorHide = ESC + '?25l'; + x.cursorShow = ESC + '?25h'; + + x.eraseLines = count => { + let clear = ''; + + for (let i = 0; i < count; i++) { + clear += x.eraseLine + (i < count - 1 ? x.cursorUp() : ''); + } + + if (count) { + clear += x.cursorLeft; + } + + return clear; + }; + + x.eraseEndLine = ESC + 'K'; + x.eraseStartLine = ESC + '1K'; + x.eraseLine = ESC + '2K'; + x.eraseDown = ESC + 'J'; + x.eraseUp = ESC + '1J'; + x.eraseScreen = ESC + '2J'; + x.scrollUp = ESC + 'S'; + x.scrollDown = ESC + 'T'; + + x.clearScreen = '\u001Bc'; + + x.clearTerminal = process.platform === 'win32' ? + `${x.eraseScreen}${ESC}0f` : + // 1. Erases the screen (Only done in case `2` is not supported) + // 2. Erases the whole screen including scrollback buffer + // 3. Moves cursor to the top-left position + // More info: https://www.real-world-systems.com/docs/ANSIcode.html + `${x.eraseScreen}${ESC}3J${ESC}H`; + + x.beep = BEL; + + x.link = (text, url) => { + return [ + OSC, + '8', + SEP, + SEP, + url, + BEL, + text, + OSC, + '8', + SEP, + SEP, + BEL + ].join(''); + }; + + x.image = (buf, opts) => { + opts = opts || {}; + + let ret = OSC + '1337;File=inline=1'; + + if (opts.width) { + ret += `;width=${opts.width}`; + } + + if (opts.height) { + ret += `;height=${opts.height}`; + } + + if (opts.preserveAspectRatio === false) { + ret += ';preserveAspectRatio=0'; + } + + return ret + ':' + buf.toString('base64') + BEL; + }; + + x.iTerm = {}; + + x.iTerm.setCwd = cwd => OSC + '50;CurrentDir=' + (cwd || process.cwd()) + BEL; + + + /***/ }), + /* 17 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + const restoreCursor = __webpack_require__(18); + + let hidden = false; + + exports.show = stream => { + const s = stream || process.stderr; + + if (!s.isTTY) { + return; + } + + hidden = false; + s.write('\u001b[?25h'); + }; + + exports.hide = stream => { + const s = stream || process.stderr; + + if (!s.isTTY) { + return; + } + + restoreCursor(); + hidden = true; + s.write('\u001b[?25l'); + }; + + exports.toggle = (force, stream) => { + if (force !== undefined) { + hidden = force; + } + + if (hidden) { + exports.show(stream); + } else { + exports.hide(stream); + } + }; + + + /***/ }), + /* 18 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + const onetime = __webpack_require__(19); + const signalExit = __webpack_require__(21); + + module.exports = onetime(() => { + signalExit(() => { + process.stderr.write('\u001b[?25h'); + }, {alwaysLast: true}); + }); + + + /***/ }), + /* 19 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + const mimicFn = __webpack_require__(20); + + module.exports = (fn, opts) => { + // TODO: Remove this in v3 + if (opts === true) { + throw new TypeError('The second argument is now an options object'); + } + + if (typeof fn !== 'function') { + throw new TypeError('Expected a function'); + } + + opts = opts || {}; + + let ret; + let called = false; + const fnName = fn.displayName || fn.name || ''; + + const onetime = function () { + if (called) { + if (opts.throw === true) { + throw new Error(`Function \`${fnName}\` can only be called once`); + } + + return ret; + } + + called = true; + ret = fn.apply(this, arguments); + fn = null; + + return ret; + }; + + mimicFn(onetime, fn); + + return onetime; + }; + + + /***/ }), + /* 20 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + module.exports = (to, from) => { + // TODO: use `Reflect.ownKeys()` when targeting Node.js 6 + for (const prop of Object.getOwnPropertyNames(from).concat(Object.getOwnPropertySymbols(from))) { + Object.defineProperty(to, prop, Object.getOwnPropertyDescriptor(from, prop)); + } + + return to; + }; + + + /***/ }), + /* 21 */ + /***/ (function(module, exports, __webpack_require__) { + + // Note: since nyc uses this module to output coverage, any lines + // that are in the direct sync flow of nyc's outputCoverage are + // ignored, since we can never get coverage for them. + var assert = __webpack_require__(22) + var signals = __webpack_require__(23) + + var EE = __webpack_require__(24) + /* istanbul ignore if */ + if (typeof EE !== 'function') { + EE = EE.EventEmitter + } + + var emitter + if (process.__signal_exit_emitter__) { + emitter = process.__signal_exit_emitter__ + } else { + emitter = process.__signal_exit_emitter__ = new EE() + emitter.count = 0 + emitter.emitted = {} + } + + // Because this emitter is a global, we have to check to see if a + // previous version of this library failed to enable infinite listeners. + // I know what you're about to say. But literally everything about + // signal-exit is a compromise with evil. Get used to it. + if (!emitter.infinite) { + emitter.setMaxListeners(Infinity) + emitter.infinite = true + } + + module.exports = function (cb, opts) { + assert.equal(typeof cb, 'function', 'a callback must be provided for exit handler') + + if (loaded === false) { + load() + } + + var ev = 'exit' + if (opts && opts.alwaysLast) { + ev = 'afterexit' + } + + var remove = function () { + emitter.removeListener(ev, cb) + if (emitter.listeners('exit').length === 0 && + emitter.listeners('afterexit').length === 0) { + unload() + } + } + emitter.on(ev, cb) + + return remove + } + + module.exports.unload = unload + function unload () { + if (!loaded) { + return + } + loaded = false + + signals.forEach(function (sig) { + try { + process.removeListener(sig, sigListeners[sig]) + } catch (er) {} + }) + process.emit = originalProcessEmit + process.reallyExit = originalProcessReallyExit + emitter.count -= 1 + } + + function emit (event, code, signal) { + if (emitter.emitted[event]) { + return + } + emitter.emitted[event] = true + emitter.emit(event, code, signal) + } + + // { : , ... } + var sigListeners = {} + signals.forEach(function (sig) { + sigListeners[sig] = function listener () { + // If there are no other listeners, an exit is coming! + // Simplest way: remove us and then re-send the signal. + // We know that this will kill the process, so we can + // safely emit now. + var listeners = process.listeners(sig) + if (listeners.length === emitter.count) { + unload() + emit('exit', null, sig) + /* istanbul ignore next */ + emit('afterexit', null, sig) + /* istanbul ignore next */ + process.kill(process.pid, sig) + } + } + }) + + module.exports.signals = function () { + return signals + } + + module.exports.load = load + + var loaded = false + + function load () { + if (loaded) { + return + } + loaded = true + + // This is the number of onSignalExit's that are in play. + // It's important so that we can count the correct number of + // listeners on signals, and don't wait for the other one to + // handle it instead of us. + emitter.count += 1 + + signals = signals.filter(function (sig) { + try { + process.on(sig, sigListeners[sig]) + return true + } catch (er) { + return false + } + }) + + process.emit = processEmit + process.reallyExit = processReallyExit + } + + var originalProcessReallyExit = process.reallyExit + function processReallyExit (code) { + process.exitCode = code || 0 + emit('exit', process.exitCode, null) + /* istanbul ignore next */ + emit('afterexit', process.exitCode, null) + /* istanbul ignore next */ + originalProcessReallyExit.call(process, process.exitCode) + } + + var originalProcessEmit = process.emit + function processEmit (ev, arg) { + if (ev === 'exit') { + if (arg !== undefined) { + process.exitCode = arg + } + var ret = originalProcessEmit.apply(this, arguments) + emit('exit', process.exitCode, null) + /* istanbul ignore next */ + emit('afterexit', process.exitCode, null) + return ret + } else { + return originalProcessEmit.apply(this, arguments) + } + } + + + /***/ }), + /* 22 */ + /***/ (function(module, exports) { + + module.exports = require("assert"); + + /***/ }), + /* 23 */ + /***/ (function(module, exports) { + + // This is not the set of all possible signals. + // + // It IS, however, the set of all signals that trigger + // an exit on either Linux or BSD systems. Linux is a + // superset of the signal names supported on BSD, and + // the unknown signals just fail to register, so we can + // catch that easily enough. + // + // Don't bother with SIGKILL. It's uncatchable, which + // means that we can't fire any callbacks anyway. + // + // If a user does happen to register a handler on a non- + // fatal signal like SIGWINCH or something, and then + // exit, it'll end up firing `process.emit('exit')`, so + // the handler will be fired anyway. + // + // SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised + // artificially, inherently leave the process in a + // state from which it is not safe to try and enter JS + // listeners. + module.exports = [ + 'SIGABRT', + 'SIGALRM', + 'SIGHUP', + 'SIGINT', + 'SIGTERM' + ] + + if (process.platform !== 'win32') { + module.exports.push( + 'SIGVTALRM', + 'SIGXCPU', + 'SIGXFSZ', + 'SIGUSR2', + 'SIGTRAP', + 'SIGSYS', + 'SIGQUIT', + 'SIGIOT' + // should detect profiler and enable/disable accordingly. + // see #21 + // 'SIGPROF' + ) + } + + if (process.platform === 'linux') { + module.exports.push( + 'SIGIO', + 'SIGPOLL', + 'SIGPWR', + 'SIGSTKFLT', + 'SIGUNUSED' + ) + } + + + /***/ }), + /* 24 */ + /***/ (function(module, exports) { + + module.exports = require("events"); + + /***/ }), + /* 25 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + const stringWidth = __webpack_require__(26); + const stripAnsi = __webpack_require__(27); + const ansiStyles = __webpack_require__(31); + + const ESCAPES = new Set([ + '\u001B', + '\u009B' + ]); + + const END_CODE = 39; + + const wrapAnsi = code => `${ESCAPES.values().next().value}[${code}m`; + + // Calculate the length of words split on ' ', ignoring + // the extra characters added by ansi escape codes + const wordLengths = string => string.split(' ').map(character => stringWidth(character)); + + // Wrap a long word across multiple rows + // Ansi escape codes do not count towards length + const wrapWord = (rows, word, columns) => { + const characters = [...word]; + + let insideEscape = false; + let visible = stringWidth(stripAnsi(rows[rows.length - 1])); + + for (const [index, character] of characters.entries()) { + const characterLength = stringWidth(character); + + if (visible + characterLength <= columns) { + rows[rows.length - 1] += character; + } else { + rows.push(character); + visible = 0; + } + + if (ESCAPES.has(character)) { + insideEscape = true; + } else if (insideEscape && character === 'm') { + insideEscape = false; + continue; + } + + if (insideEscape) { + continue; + } + + visible += characterLength; + + if (visible === columns && index < characters.length - 1) { + rows.push(''); + visible = 0; + } + } + + // It's possible that the last row we copy over is only + // ansi escape characters, handle this edge-case + if (!visible && rows[rows.length - 1].length > 0 && rows.length > 1) { + rows[rows.length - 2] += rows.pop(); + } + }; + + // Trims spaces from a string ignoring invisible sequences + const stringVisibleTrimSpacesRight = str => { + const words = str.split(' '); + let last = words.length; + + while (last > 0) { + if (stringWidth(words[last - 1]) > 0) { + break; + } + + last--; + } + + if (last === words.length) { + return str; + } + + return words.slice(0, last).join(' ') + words.slice(last).join(''); + }; + + // The wrap-ansi module can be invoked + // in either 'hard' or 'soft' wrap mode + // + // 'hard' will never allow a string to take up more + // than columns characters + // + // 'soft' allows long words to expand past the column length + const exec = (string, columns, options = {}) => { + if (options.trim !== false && string.trim() === '') { + return ''; + } + + let pre = ''; + let ret = ''; + let escapeCode; + + const lengths = wordLengths(string); + let rows = ['']; + + for (const [index, word] of string.split(' ').entries()) { + if (options.trim !== false) { + rows[rows.length - 1] = rows[rows.length - 1].trimLeft(); + } + + let rowLength = stringWidth(rows[rows.length - 1]); + + if (index !== 0) { + if (rowLength >= columns && (options.wordWrap === false || options.trim === false)) { + // If we start with a new word but the current row length equals the length of the columns, add a new row + rows.push(''); + rowLength = 0; + } + + if (rowLength > 0 || options.trim === false) { + rows[rows.length - 1] += ' '; + rowLength++; + } + } + + // In 'hard' wrap mode, the length of a line is + // never allowed to extend past 'columns' + if (options.hard && lengths[index] > columns) { + const remainingColumns = (columns - rowLength); + const breaksStartingThisLine = 1 + Math.floor((lengths[index] - remainingColumns - 1) / columns); + const breaksStartingNextLine = Math.floor((lengths[index] - 1) / columns); + if (breaksStartingNextLine < breaksStartingThisLine) { + rows.push(''); + } + + wrapWord(rows, word, columns); + continue; + } + + if (rowLength + lengths[index] > columns && rowLength > 0 && lengths[index] > 0) { + if (options.wordWrap === false && rowLength < columns) { + wrapWord(rows, word, columns); + continue; + } + + rows.push(''); + } + + if (rowLength + lengths[index] > columns && options.wordWrap === false) { + wrapWord(rows, word, columns); + continue; + } + + rows[rows.length - 1] += word; + } + + if (options.trim !== false) { + rows = rows.map(stringVisibleTrimSpacesRight); + } + + pre = rows.join('\n'); + + for (const [index, character] of [...pre].entries()) { + ret += character; + + if (ESCAPES.has(character)) { + const code = parseFloat(/\d[^m]*/.exec(pre.slice(index, index + 4))); + escapeCode = code === END_CODE ? null : code; + } + + const code = ansiStyles.codes.get(Number(escapeCode)); + + if (escapeCode && code) { + if (pre[index + 1] === '\n') { + ret += wrapAnsi(code); + } else if (character === '\n') { + ret += wrapAnsi(escapeCode); + } + } + } + + return ret; + }; + + // For each newline, invoke the method separately + module.exports = (string, columns, options) => { + return String(string) + .normalize() + .split('\n') + .map(line => exec(line, columns, options)) + .join('\n'); + }; + + + /***/ }), + /* 26 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + const stripAnsi = __webpack_require__(27); + const isFullwidthCodePoint = __webpack_require__(29); + const emojiRegex = __webpack_require__(30)(); + + module.exports = input => { + input = input.replace(emojiRegex, ' '); + + if (typeof input !== 'string' || input.length === 0) { + return 0; + } + + input = stripAnsi(input); + + let width = 0; + + for (let i = 0; i < input.length; i++) { + const code = input.codePointAt(i); + + // Ignore control characters + if (code <= 0x1F || (code >= 0x7F && code <= 0x9F)) { + continue; + } + + // Ignore combining characters + if (code >= 0x300 && code <= 0x36F) { + continue; + } + + // Surrogates + if (code > 0xFFFF) { + i++; + } + + width += isFullwidthCodePoint(code) ? 2 : 1; + } + + return width; + }; + + + /***/ }), + /* 27 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + const ansiRegex = __webpack_require__(28); + + module.exports = input => typeof input === 'string' ? input.replace(ansiRegex(), '') : input; + + + /***/ }), + /* 28 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + module.exports = options => { + options = Object.assign({ + onlyFirst: false + }, options); + + const pattern = [ + '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\\u0007)', + '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))' + ].join('|'); + + return new RegExp(pattern, options.onlyFirst ? undefined : 'g'); + }; + + + /***/ }), + /* 29 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + /* eslint-disable yoda */ + module.exports = x => { + if (Number.isNaN(x)) { + return false; + } + + // code points are derived from: + // http://www.unix.org/Public/UNIDATA/EastAsianWidth.txt + if ( + x >= 0x1100 && ( + x <= 0x115f || // Hangul Jamo + x === 0x2329 || // LEFT-POINTING ANGLE BRACKET + x === 0x232a || // RIGHT-POINTING ANGLE BRACKET + // CJK Radicals Supplement .. Enclosed CJK Letters and Months + (0x2e80 <= x && x <= 0x3247 && x !== 0x303f) || + // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A + (0x3250 <= x && x <= 0x4dbf) || + // CJK Unified Ideographs .. Yi Radicals + (0x4e00 <= x && x <= 0xa4c6) || + // Hangul Jamo Extended-A + (0xa960 <= x && x <= 0xa97c) || + // Hangul Syllables + (0xac00 <= x && x <= 0xd7a3) || + // CJK Compatibility Ideographs + (0xf900 <= x && x <= 0xfaff) || + // Vertical Forms + (0xfe10 <= x && x <= 0xfe19) || + // CJK Compatibility Forms .. Small Form Variants + (0xfe30 <= x && x <= 0xfe6b) || + // Halfwidth and Fullwidth Forms + (0xff01 <= x && x <= 0xff60) || + (0xffe0 <= x && x <= 0xffe6) || + // Kana Supplement + (0x1b000 <= x && x <= 0x1b001) || + // Enclosed Ideographic Supplement + (0x1f200 <= x && x <= 0x1f251) || + // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane + (0x20000 <= x && x <= 0x3fffd) + ) + ) { + return true; + } + + return false; + }; + + + /***/ }), + /* 30 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + module.exports = function () { + // https://mths.be/emoji + return /\uD83C\uDFF4(?:\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74)\uDB40\uDC7F|\u200D\u2620\uFE0F)|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC68(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDB0-\uDDB3])|(?:\uD83C[\uDFFB-\uDFFF])\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDB0-\uDDB3]))|\uD83D\uDC69\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDB0-\uDDB3])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2695\u2696\u2708]|\uD83D\uDC68(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83D\uDC69\u200D[\u2695\u2696\u2708])\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC68(?:\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDB0-\uDDB3])|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDD1-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDEEB\uDEEC\uDEF4-\uDEF9]|\uD83E[\uDD10-\uDD3A\uDD3C-\uDD3E\uDD40-\uDD45\uDD47-\uDD70\uDD73-\uDD76\uDD7A\uDD7C-\uDDA2\uDDB0-\uDDB9\uDDC0-\uDDC2\uDDD0-\uDDFF])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEF9]|\uD83E[\uDD10-\uDD3A\uDD3C-\uDD3E\uDD40-\uDD45\uDD47-\uDD70\uDD73-\uDD76\uDD7A\uDD7C-\uDDA2\uDDB0-\uDDB9\uDDC0-\uDDC2\uDDD0-\uDDFF])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC69\uDC6E\uDC70-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD18-\uDD1C\uDD1E\uDD1F\uDD26\uDD30-\uDD39\uDD3D\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDD1-\uDDDD])/g; + }; + + + /***/ }), + /* 31 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /* WEBPACK VAR INJECTION */(function(module) { + const colorConvert = __webpack_require__(33); + + const wrapAnsi16 = (fn, offset) => function () { + const code = fn.apply(colorConvert, arguments); + return `\u001B[${code + offset}m`; + }; + + const wrapAnsi256 = (fn, offset) => function () { + const code = fn.apply(colorConvert, arguments); + return `\u001B[${38 + offset};5;${code}m`; + }; + + const wrapAnsi16m = (fn, offset) => function () { + const rgb = fn.apply(colorConvert, arguments); + return `\u001B[${38 + offset};2;${rgb[0]};${rgb[1]};${rgb[2]}m`; + }; + + function assembleStyles() { + const codes = new Map(); + const styles = { + modifier: { + reset: [0, 0], + // 21 isn't widely supported and 22 does the same thing + bold: [1, 22], + dim: [2, 22], + italic: [3, 23], + underline: [4, 24], + inverse: [7, 27], + hidden: [8, 28], + strikethrough: [9, 29] + }, + color: { + black: [30, 39], + red: [31, 39], + green: [32, 39], + yellow: [33, 39], + blue: [34, 39], + magenta: [35, 39], + cyan: [36, 39], + white: [37, 39], + gray: [90, 39], + + // Bright color + redBright: [91, 39], + greenBright: [92, 39], + yellowBright: [93, 39], + blueBright: [94, 39], + magentaBright: [95, 39], + cyanBright: [96, 39], + whiteBright: [97, 39] + }, + bgColor: { + bgBlack: [40, 49], + bgRed: [41, 49], + bgGreen: [42, 49], + bgYellow: [43, 49], + bgBlue: [44, 49], + bgMagenta: [45, 49], + bgCyan: [46, 49], + bgWhite: [47, 49], + + // Bright color + bgBlackBright: [100, 49], + bgRedBright: [101, 49], + bgGreenBright: [102, 49], + bgYellowBright: [103, 49], + bgBlueBright: [104, 49], + bgMagentaBright: [105, 49], + bgCyanBright: [106, 49], + bgWhiteBright: [107, 49] + } + }; + + // Fix humans + styles.color.grey = styles.color.gray; + + for (const groupName of Object.keys(styles)) { + const group = styles[groupName]; + + for (const styleName of Object.keys(group)) { + const style = group[styleName]; + + styles[styleName] = { + open: `\u001B[${style[0]}m`, + close: `\u001B[${style[1]}m` + }; + + group[styleName] = styles[styleName]; + + codes.set(style[0], style[1]); + } + + Object.defineProperty(styles, groupName, { + value: group, + enumerable: false + }); + + Object.defineProperty(styles, 'codes', { + value: codes, + enumerable: false + }); + } + + const ansi2ansi = n => n; + const rgb2rgb = (r, g, b) => [r, g, b]; + + styles.color.close = '\u001B[39m'; + styles.bgColor.close = '\u001B[49m'; + + styles.color.ansi = { + ansi: wrapAnsi16(ansi2ansi, 0) + }; + styles.color.ansi256 = { + ansi256: wrapAnsi256(ansi2ansi, 0) + }; + styles.color.ansi16m = { + rgb: wrapAnsi16m(rgb2rgb, 0) + }; + + styles.bgColor.ansi = { + ansi: wrapAnsi16(ansi2ansi, 10) + }; + styles.bgColor.ansi256 = { + ansi256: wrapAnsi256(ansi2ansi, 10) + }; + styles.bgColor.ansi16m = { + rgb: wrapAnsi16m(rgb2rgb, 10) + }; + + for (let key of Object.keys(colorConvert)) { + if (typeof colorConvert[key] !== 'object') { + continue; + } + + const suite = colorConvert[key]; + + if (key === 'ansi16') { + key = 'ansi'; + } + + if ('ansi16' in suite) { + styles.color.ansi[key] = wrapAnsi16(suite.ansi16, 0); + styles.bgColor.ansi[key] = wrapAnsi16(suite.ansi16, 10); + } + + if ('ansi256' in suite) { + styles.color.ansi256[key] = wrapAnsi256(suite.ansi256, 0); + styles.bgColor.ansi256[key] = wrapAnsi256(suite.ansi256, 10); + } + + if ('rgb' in suite) { + styles.color.ansi16m[key] = wrapAnsi16m(suite.rgb, 0); + styles.bgColor.ansi16m[key] = wrapAnsi16m(suite.rgb, 10); + } + } + + return styles; + } + + // Make the export immutable + Object.defineProperty(module, 'exports', { + enumerable: true, + get: assembleStyles + }); + + /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(32)(module))) + + /***/ }), + /* 32 */ + /***/ (function(module, exports) { + + module.exports = function(module) { + if (!module.webpackPolyfill) { + module.deprecate = function() {}; + module.paths = []; + // module.parent = undefined by default + if (!module.children) module.children = []; + Object.defineProperty(module, "loaded", { + enumerable: true, + get: function() { + return module.l; + } + }); + Object.defineProperty(module, "id", { + enumerable: true, + get: function() { + return module.i; + } + }); + module.webpackPolyfill = 1; + } + return module; + }; + + + /***/ }), + /* 33 */ + /***/ (function(module, exports, __webpack_require__) { + + var conversions = __webpack_require__(34); + var route = __webpack_require__(36); + + var convert = {}; + + var models = Object.keys(conversions); + + function wrapRaw(fn) { + var wrappedFn = function (args) { + if (args === undefined || args === null) { + return args; + } + + if (arguments.length > 1) { + args = Array.prototype.slice.call(arguments); + } + + return fn(args); + }; + + // preserve .conversion property if there is one + if ('conversion' in fn) { + wrappedFn.conversion = fn.conversion; + } + + return wrappedFn; + } + + function wrapRounded(fn) { + var wrappedFn = function (args) { + if (args === undefined || args === null) { + return args; + } + + if (arguments.length > 1) { + args = Array.prototype.slice.call(arguments); + } + + var result = fn(args); + + // we're assuming the result is an array here. + // see notice in conversions.js; don't use box types + // in conversion functions. + if (typeof result === 'object') { + for (var len = result.length, i = 0; i < len; i++) { + result[i] = Math.round(result[i]); + } + } + + return result; + }; + + // preserve .conversion property if there is one + if ('conversion' in fn) { + wrappedFn.conversion = fn.conversion; + } + + return wrappedFn; + } + + models.forEach(function (fromModel) { + convert[fromModel] = {}; + + Object.defineProperty(convert[fromModel], 'channels', {value: conversions[fromModel].channels}); + Object.defineProperty(convert[fromModel], 'labels', {value: conversions[fromModel].labels}); + + var routes = route(fromModel); + var routeModels = Object.keys(routes); + + routeModels.forEach(function (toModel) { + var fn = routes[toModel]; + + convert[fromModel][toModel] = wrapRounded(fn); + convert[fromModel][toModel].raw = wrapRaw(fn); + }); + }); + + module.exports = convert; + + + /***/ }), + /* 34 */ + /***/ (function(module, exports, __webpack_require__) { + + /* MIT license */ + var cssKeywords = __webpack_require__(35); + + // NOTE: conversions should only return primitive values (i.e. arrays, or + // values that give correct `typeof` results). + // do not use box values types (i.e. Number(), String(), etc.) + + var reverseKeywords = {}; + for (var key in cssKeywords) { + if (cssKeywords.hasOwnProperty(key)) { + reverseKeywords[cssKeywords[key]] = key; + } + } + + var convert = module.exports = { + rgb: {channels: 3, labels: 'rgb'}, + hsl: {channels: 3, labels: 'hsl'}, + hsv: {channels: 3, labels: 'hsv'}, + hwb: {channels: 3, labels: 'hwb'}, + cmyk: {channels: 4, labels: 'cmyk'}, + xyz: {channels: 3, labels: 'xyz'}, + lab: {channels: 3, labels: 'lab'}, + lch: {channels: 3, labels: 'lch'}, + hex: {channels: 1, labels: ['hex']}, + keyword: {channels: 1, labels: ['keyword']}, + ansi16: {channels: 1, labels: ['ansi16']}, + ansi256: {channels: 1, labels: ['ansi256']}, + hcg: {channels: 3, labels: ['h', 'c', 'g']}, + apple: {channels: 3, labels: ['r16', 'g16', 'b16']}, + gray: {channels: 1, labels: ['gray']} + }; + + // hide .channels and .labels properties + for (var model in convert) { + if (convert.hasOwnProperty(model)) { + if (!('channels' in convert[model])) { + throw new Error('missing channels property: ' + model); + } + + if (!('labels' in convert[model])) { + throw new Error('missing channel labels property: ' + model); + } + + if (convert[model].labels.length !== convert[model].channels) { + throw new Error('channel and label counts mismatch: ' + model); + } + + var channels = convert[model].channels; + var labels = convert[model].labels; + delete convert[model].channels; + delete convert[model].labels; + Object.defineProperty(convert[model], 'channels', {value: channels}); + Object.defineProperty(convert[model], 'labels', {value: labels}); + } + } + + convert.rgb.hsl = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var min = Math.min(r, g, b); + var max = Math.max(r, g, b); + var delta = max - min; + var h; + var s; + var l; + + if (max === min) { + h = 0; + } else if (r === max) { + h = (g - b) / delta; + } else if (g === max) { + h = 2 + (b - r) / delta; + } else if (b === max) { + h = 4 + (r - g) / delta; + } + + h = Math.min(h * 60, 360); + + if (h < 0) { + h += 360; + } + + l = (min + max) / 2; + + if (max === min) { + s = 0; + } else if (l <= 0.5) { + s = delta / (max + min); + } else { + s = delta / (2 - max - min); + } + + return [h, s * 100, l * 100]; + }; + + convert.rgb.hsv = function (rgb) { + var rdif; + var gdif; + var bdif; + var h; + var s; + + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var v = Math.max(r, g, b); + var diff = v - Math.min(r, g, b); + var diffc = function (c) { + return (v - c) / 6 / diff + 1 / 2; + }; + + if (diff === 0) { + h = s = 0; + } else { + s = diff / v; + rdif = diffc(r); + gdif = diffc(g); + bdif = diffc(b); + + if (r === v) { + h = bdif - gdif; + } else if (g === v) { + h = (1 / 3) + rdif - bdif; + } else if (b === v) { + h = (2 / 3) + gdif - rdif; + } + if (h < 0) { + h += 1; + } else if (h > 1) { + h -= 1; + } + } + + return [ + h * 360, + s * 100, + v * 100 + ]; + }; + + convert.rgb.hwb = function (rgb) { + var r = rgb[0]; + var g = rgb[1]; + var b = rgb[2]; + var h = convert.rgb.hsl(rgb)[0]; + var w = 1 / 255 * Math.min(r, Math.min(g, b)); + + b = 1 - 1 / 255 * Math.max(r, Math.max(g, b)); + + return [h, w * 100, b * 100]; + }; + + convert.rgb.cmyk = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var c; + var m; + var y; + var k; + + k = Math.min(1 - r, 1 - g, 1 - b); + c = (1 - r - k) / (1 - k) || 0; + m = (1 - g - k) / (1 - k) || 0; + y = (1 - b - k) / (1 - k) || 0; + + return [c * 100, m * 100, y * 100, k * 100]; + }; + + /** + * See https://en.m.wikipedia.org/wiki/Euclidean_distance#Squared_Euclidean_distance + * */ + function comparativeDistance(x, y) { + return ( + Math.pow(x[0] - y[0], 2) + + Math.pow(x[1] - y[1], 2) + + Math.pow(x[2] - y[2], 2) + ); + } + + convert.rgb.keyword = function (rgb) { + var reversed = reverseKeywords[rgb]; + if (reversed) { + return reversed; + } + + var currentClosestDistance = Infinity; + var currentClosestKeyword; + + for (var keyword in cssKeywords) { + if (cssKeywords.hasOwnProperty(keyword)) { + var value = cssKeywords[keyword]; + + // Compute comparative distance + var distance = comparativeDistance(rgb, value); + + // Check if its less, if so set as closest + if (distance < currentClosestDistance) { + currentClosestDistance = distance; + currentClosestKeyword = keyword; + } + } + } + + return currentClosestKeyword; + }; + + convert.keyword.rgb = function (keyword) { + return cssKeywords[keyword]; + }; + + convert.rgb.xyz = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + + // assume sRGB + r = r > 0.04045 ? Math.pow(((r + 0.055) / 1.055), 2.4) : (r / 12.92); + g = g > 0.04045 ? Math.pow(((g + 0.055) / 1.055), 2.4) : (g / 12.92); + b = b > 0.04045 ? Math.pow(((b + 0.055) / 1.055), 2.4) : (b / 12.92); + + var x = (r * 0.4124) + (g * 0.3576) + (b * 0.1805); + var y = (r * 0.2126) + (g * 0.7152) + (b * 0.0722); + var z = (r * 0.0193) + (g * 0.1192) + (b * 0.9505); + + return [x * 100, y * 100, z * 100]; + }; + + convert.rgb.lab = function (rgb) { + var xyz = convert.rgb.xyz(rgb); + var x = xyz[0]; + var y = xyz[1]; + var z = xyz[2]; + var l; + var a; + var b; + + x /= 95.047; + y /= 100; + z /= 108.883; + + x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116); + y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116); + z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116); + + l = (116 * y) - 16; + a = 500 * (x - y); + b = 200 * (y - z); + + return [l, a, b]; + }; + + convert.hsl.rgb = function (hsl) { + var h = hsl[0] / 360; + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var t1; + var t2; + var t3; + var rgb; + var val; + + if (s === 0) { + val = l * 255; + return [val, val, val]; + } + + if (l < 0.5) { + t2 = l * (1 + s); + } else { + t2 = l + s - l * s; + } + + t1 = 2 * l - t2; + + rgb = [0, 0, 0]; + for (var i = 0; i < 3; i++) { + t3 = h + 1 / 3 * -(i - 1); + if (t3 < 0) { + t3++; + } + if (t3 > 1) { + t3--; + } + + if (6 * t3 < 1) { + val = t1 + (t2 - t1) * 6 * t3; + } else if (2 * t3 < 1) { + val = t2; + } else if (3 * t3 < 2) { + val = t1 + (t2 - t1) * (2 / 3 - t3) * 6; + } else { + val = t1; + } + + rgb[i] = val * 255; + } + + return rgb; + }; + + convert.hsl.hsv = function (hsl) { + var h = hsl[0]; + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var smin = s; + var lmin = Math.max(l, 0.01); + var sv; + var v; + + l *= 2; + s *= (l <= 1) ? l : 2 - l; + smin *= lmin <= 1 ? lmin : 2 - lmin; + v = (l + s) / 2; + sv = l === 0 ? (2 * smin) / (lmin + smin) : (2 * s) / (l + s); + + return [h, sv * 100, v * 100]; + }; + + convert.hsv.rgb = function (hsv) { + var h = hsv[0] / 60; + var s = hsv[1] / 100; + var v = hsv[2] / 100; + var hi = Math.floor(h) % 6; + + var f = h - Math.floor(h); + var p = 255 * v * (1 - s); + var q = 255 * v * (1 - (s * f)); + var t = 255 * v * (1 - (s * (1 - f))); + v *= 255; + + switch (hi) { + case 0: + return [v, t, p]; + case 1: + return [q, v, p]; + case 2: + return [p, v, t]; + case 3: + return [p, q, v]; + case 4: + return [t, p, v]; + case 5: + return [v, p, q]; + } + }; + + convert.hsv.hsl = function (hsv) { + var h = hsv[0]; + var s = hsv[1] / 100; + var v = hsv[2] / 100; + var vmin = Math.max(v, 0.01); + var lmin; + var sl; + var l; + + l = (2 - s) * v; + lmin = (2 - s) * vmin; + sl = s * vmin; + sl /= (lmin <= 1) ? lmin : 2 - lmin; + sl = sl || 0; + l /= 2; + + return [h, sl * 100, l * 100]; + }; + + // http://dev.w3.org/csswg/css-color/#hwb-to-rgb + convert.hwb.rgb = function (hwb) { + var h = hwb[0] / 360; + var wh = hwb[1] / 100; + var bl = hwb[2] / 100; + var ratio = wh + bl; + var i; + var v; + var f; + var n; + + // wh + bl cant be > 1 + if (ratio > 1) { + wh /= ratio; + bl /= ratio; + } + + i = Math.floor(6 * h); + v = 1 - bl; + f = 6 * h - i; + + if ((i & 0x01) !== 0) { + f = 1 - f; + } + + n = wh + f * (v - wh); // linear interpolation + + var r; + var g; + var b; + switch (i) { + default: + case 6: + case 0: r = v; g = n; b = wh; break; + case 1: r = n; g = v; b = wh; break; + case 2: r = wh; g = v; b = n; break; + case 3: r = wh; g = n; b = v; break; + case 4: r = n; g = wh; b = v; break; + case 5: r = v; g = wh; b = n; break; + } + + return [r * 255, g * 255, b * 255]; + }; + + convert.cmyk.rgb = function (cmyk) { + var c = cmyk[0] / 100; + var m = cmyk[1] / 100; + var y = cmyk[2] / 100; + var k = cmyk[3] / 100; + var r; + var g; + var b; + + r = 1 - Math.min(1, c * (1 - k) + k); + g = 1 - Math.min(1, m * (1 - k) + k); + b = 1 - Math.min(1, y * (1 - k) + k); + + return [r * 255, g * 255, b * 255]; + }; + + convert.xyz.rgb = function (xyz) { + var x = xyz[0] / 100; + var y = xyz[1] / 100; + var z = xyz[2] / 100; + var r; + var g; + var b; + + r = (x * 3.2406) + (y * -1.5372) + (z * -0.4986); + g = (x * -0.9689) + (y * 1.8758) + (z * 0.0415); + b = (x * 0.0557) + (y * -0.2040) + (z * 1.0570); + + // assume sRGB + r = r > 0.0031308 + ? ((1.055 * Math.pow(r, 1.0 / 2.4)) - 0.055) + : r * 12.92; + + g = g > 0.0031308 + ? ((1.055 * Math.pow(g, 1.0 / 2.4)) - 0.055) + : g * 12.92; + + b = b > 0.0031308 + ? ((1.055 * Math.pow(b, 1.0 / 2.4)) - 0.055) + : b * 12.92; + + r = Math.min(Math.max(0, r), 1); + g = Math.min(Math.max(0, g), 1); + b = Math.min(Math.max(0, b), 1); + + return [r * 255, g * 255, b * 255]; + }; + + convert.xyz.lab = function (xyz) { + var x = xyz[0]; + var y = xyz[1]; + var z = xyz[2]; + var l; + var a; + var b; + + x /= 95.047; + y /= 100; + z /= 108.883; + + x = x > 0.008856 ? Math.pow(x, 1 / 3) : (7.787 * x) + (16 / 116); + y = y > 0.008856 ? Math.pow(y, 1 / 3) : (7.787 * y) + (16 / 116); + z = z > 0.008856 ? Math.pow(z, 1 / 3) : (7.787 * z) + (16 / 116); + + l = (116 * y) - 16; + a = 500 * (x - y); + b = 200 * (y - z); + + return [l, a, b]; + }; + + convert.lab.xyz = function (lab) { + var l = lab[0]; + var a = lab[1]; + var b = lab[2]; + var x; + var y; + var z; + + y = (l + 16) / 116; + x = a / 500 + y; + z = y - b / 200; + + var y2 = Math.pow(y, 3); + var x2 = Math.pow(x, 3); + var z2 = Math.pow(z, 3); + y = y2 > 0.008856 ? y2 : (y - 16 / 116) / 7.787; + x = x2 > 0.008856 ? x2 : (x - 16 / 116) / 7.787; + z = z2 > 0.008856 ? z2 : (z - 16 / 116) / 7.787; + + x *= 95.047; + y *= 100; + z *= 108.883; + + return [x, y, z]; + }; + + convert.lab.lch = function (lab) { + var l = lab[0]; + var a = lab[1]; + var b = lab[2]; + var hr; + var h; + var c; + + hr = Math.atan2(b, a); + h = hr * 360 / 2 / Math.PI; + + if (h < 0) { + h += 360; + } + + c = Math.sqrt(a * a + b * b); + + return [l, c, h]; + }; + + convert.lch.lab = function (lch) { + var l = lch[0]; + var c = lch[1]; + var h = lch[2]; + var a; + var b; + var hr; + + hr = h / 360 * 2 * Math.PI; + a = c * Math.cos(hr); + b = c * Math.sin(hr); + + return [l, a, b]; + }; + + convert.rgb.ansi16 = function (args) { + var r = args[0]; + var g = args[1]; + var b = args[2]; + var value = 1 in arguments ? arguments[1] : convert.rgb.hsv(args)[2]; // hsv -> ansi16 optimization + + value = Math.round(value / 50); + + if (value === 0) { + return 30; + } + + var ansi = 30 + + ((Math.round(b / 255) << 2) + | (Math.round(g / 255) << 1) + | Math.round(r / 255)); + + if (value === 2) { + ansi += 60; + } + + return ansi; + }; + + convert.hsv.ansi16 = function (args) { + // optimization here; we already know the value and don't need to get + // it converted for us. + return convert.rgb.ansi16(convert.hsv.rgb(args), args[2]); + }; + + convert.rgb.ansi256 = function (args) { + var r = args[0]; + var g = args[1]; + var b = args[2]; + + // we use the extended greyscale palette here, with the exception of + // black and white. normal palette only has 4 greyscale shades. + if (r === g && g === b) { + if (r < 8) { + return 16; + } + + if (r > 248) { + return 231; + } + + return Math.round(((r - 8) / 247) * 24) + 232; + } + + var ansi = 16 + + (36 * Math.round(r / 255 * 5)) + + (6 * Math.round(g / 255 * 5)) + + Math.round(b / 255 * 5); + + return ansi; + }; + + convert.ansi16.rgb = function (args) { + var color = args % 10; + + // handle greyscale + if (color === 0 || color === 7) { + if (args > 50) { + color += 3.5; + } + + color = color / 10.5 * 255; + + return [color, color, color]; + } + + var mult = (~~(args > 50) + 1) * 0.5; + var r = ((color & 1) * mult) * 255; + var g = (((color >> 1) & 1) * mult) * 255; + var b = (((color >> 2) & 1) * mult) * 255; + + return [r, g, b]; + }; + + convert.ansi256.rgb = function (args) { + // handle greyscale + if (args >= 232) { + var c = (args - 232) * 10 + 8; + return [c, c, c]; + } + + args -= 16; + + var rem; + var r = Math.floor(args / 36) / 5 * 255; + var g = Math.floor((rem = args % 36) / 6) / 5 * 255; + var b = (rem % 6) / 5 * 255; + + return [r, g, b]; + }; + + convert.rgb.hex = function (args) { + var integer = ((Math.round(args[0]) & 0xFF) << 16) + + ((Math.round(args[1]) & 0xFF) << 8) + + (Math.round(args[2]) & 0xFF); + + var string = integer.toString(16).toUpperCase(); + return '000000'.substring(string.length) + string; + }; + + convert.hex.rgb = function (args) { + var match = args.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i); + if (!match) { + return [0, 0, 0]; + } + + var colorString = match[0]; + + if (match[0].length === 3) { + colorString = colorString.split('').map(function (char) { + return char + char; + }).join(''); + } + + var integer = parseInt(colorString, 16); + var r = (integer >> 16) & 0xFF; + var g = (integer >> 8) & 0xFF; + var b = integer & 0xFF; + + return [r, g, b]; + }; + + convert.rgb.hcg = function (rgb) { + var r = rgb[0] / 255; + var g = rgb[1] / 255; + var b = rgb[2] / 255; + var max = Math.max(Math.max(r, g), b); + var min = Math.min(Math.min(r, g), b); + var chroma = (max - min); + var grayscale; + var hue; + + if (chroma < 1) { + grayscale = min / (1 - chroma); + } else { + grayscale = 0; + } + + if (chroma <= 0) { + hue = 0; + } else + if (max === r) { + hue = ((g - b) / chroma) % 6; + } else + if (max === g) { + hue = 2 + (b - r) / chroma; + } else { + hue = 4 + (r - g) / chroma + 4; + } + + hue /= 6; + hue %= 1; + + return [hue * 360, chroma * 100, grayscale * 100]; + }; + + convert.hsl.hcg = function (hsl) { + var s = hsl[1] / 100; + var l = hsl[2] / 100; + var c = 1; + var f = 0; + + if (l < 0.5) { + c = 2.0 * s * l; + } else { + c = 2.0 * s * (1.0 - l); + } + + if (c < 1.0) { + f = (l - 0.5 * c) / (1.0 - c); + } + + return [hsl[0], c * 100, f * 100]; + }; + + convert.hsv.hcg = function (hsv) { + var s = hsv[1] / 100; + var v = hsv[2] / 100; + + var c = s * v; + var f = 0; + + if (c < 1.0) { + f = (v - c) / (1 - c); + } + + return [hsv[0], c * 100, f * 100]; + }; + + convert.hcg.rgb = function (hcg) { + var h = hcg[0] / 360; + var c = hcg[1] / 100; + var g = hcg[2] / 100; + + if (c === 0.0) { + return [g * 255, g * 255, g * 255]; + } + + var pure = [0, 0, 0]; + var hi = (h % 1) * 6; + var v = hi % 1; + var w = 1 - v; + var mg = 0; + + switch (Math.floor(hi)) { + case 0: + pure[0] = 1; pure[1] = v; pure[2] = 0; break; + case 1: + pure[0] = w; pure[1] = 1; pure[2] = 0; break; + case 2: + pure[0] = 0; pure[1] = 1; pure[2] = v; break; + case 3: + pure[0] = 0; pure[1] = w; pure[2] = 1; break; + case 4: + pure[0] = v; pure[1] = 0; pure[2] = 1; break; + default: + pure[0] = 1; pure[1] = 0; pure[2] = w; + } + + mg = (1.0 - c) * g; + + return [ + (c * pure[0] + mg) * 255, + (c * pure[1] + mg) * 255, + (c * pure[2] + mg) * 255 + ]; + }; + + convert.hcg.hsv = function (hcg) { + var c = hcg[1] / 100; + var g = hcg[2] / 100; + + var v = c + g * (1.0 - c); + var f = 0; + + if (v > 0.0) { + f = c / v; + } + + return [hcg[0], f * 100, v * 100]; + }; + + convert.hcg.hsl = function (hcg) { + var c = hcg[1] / 100; + var g = hcg[2] / 100; + + var l = g * (1.0 - c) + 0.5 * c; + var s = 0; + + if (l > 0.0 && l < 0.5) { + s = c / (2 * l); + } else + if (l >= 0.5 && l < 1.0) { + s = c / (2 * (1 - l)); + } + + return [hcg[0], s * 100, l * 100]; + }; + + convert.hcg.hwb = function (hcg) { + var c = hcg[1] / 100; + var g = hcg[2] / 100; + var v = c + g * (1.0 - c); + return [hcg[0], (v - c) * 100, (1 - v) * 100]; + }; + + convert.hwb.hcg = function (hwb) { + var w = hwb[1] / 100; + var b = hwb[2] / 100; + var v = 1 - b; + var c = v - w; + var g = 0; + + if (c < 1) { + g = (v - c) / (1 - c); + } + + return [hwb[0], c * 100, g * 100]; + }; + + convert.apple.rgb = function (apple) { + return [(apple[0] / 65535) * 255, (apple[1] / 65535) * 255, (apple[2] / 65535) * 255]; + }; + + convert.rgb.apple = function (rgb) { + return [(rgb[0] / 255) * 65535, (rgb[1] / 255) * 65535, (rgb[2] / 255) * 65535]; + }; + + convert.gray.rgb = function (args) { + return [args[0] / 100 * 255, args[0] / 100 * 255, args[0] / 100 * 255]; + }; + + convert.gray.hsl = convert.gray.hsv = function (args) { + return [0, 0, args[0]]; + }; + + convert.gray.hwb = function (gray) { + return [0, 100, gray[0]]; + }; + + convert.gray.cmyk = function (gray) { + return [0, 0, 0, gray[0]]; + }; + + convert.gray.lab = function (gray) { + return [gray[0], 0, 0]; + }; + + convert.gray.hex = function (gray) { + var val = Math.round(gray[0] / 100 * 255) & 0xFF; + var integer = (val << 16) + (val << 8) + val; + + var string = integer.toString(16).toUpperCase(); + return '000000'.substring(string.length) + string; + }; + + convert.rgb.gray = function (rgb) { + var val = (rgb[0] + rgb[1] + rgb[2]) / 3; + return [val / 255 * 100]; + }; + + + /***/ }), + /* 35 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + module.exports = { + "aliceblue": [240, 248, 255], + "antiquewhite": [250, 235, 215], + "aqua": [0, 255, 255], + "aquamarine": [127, 255, 212], + "azure": [240, 255, 255], + "beige": [245, 245, 220], + "bisque": [255, 228, 196], + "black": [0, 0, 0], + "blanchedalmond": [255, 235, 205], + "blue": [0, 0, 255], + "blueviolet": [138, 43, 226], + "brown": [165, 42, 42], + "burlywood": [222, 184, 135], + "cadetblue": [95, 158, 160], + "chartreuse": [127, 255, 0], + "chocolate": [210, 105, 30], + "coral": [255, 127, 80], + "cornflowerblue": [100, 149, 237], + "cornsilk": [255, 248, 220], + "crimson": [220, 20, 60], + "cyan": [0, 255, 255], + "darkblue": [0, 0, 139], + "darkcyan": [0, 139, 139], + "darkgoldenrod": [184, 134, 11], + "darkgray": [169, 169, 169], + "darkgreen": [0, 100, 0], + "darkgrey": [169, 169, 169], + "darkkhaki": [189, 183, 107], + "darkmagenta": [139, 0, 139], + "darkolivegreen": [85, 107, 47], + "darkorange": [255, 140, 0], + "darkorchid": [153, 50, 204], + "darkred": [139, 0, 0], + "darksalmon": [233, 150, 122], + "darkseagreen": [143, 188, 143], + "darkslateblue": [72, 61, 139], + "darkslategray": [47, 79, 79], + "darkslategrey": [47, 79, 79], + "darkturquoise": [0, 206, 209], + "darkviolet": [148, 0, 211], + "deeppink": [255, 20, 147], + "deepskyblue": [0, 191, 255], + "dimgray": [105, 105, 105], + "dimgrey": [105, 105, 105], + "dodgerblue": [30, 144, 255], + "firebrick": [178, 34, 34], + "floralwhite": [255, 250, 240], + "forestgreen": [34, 139, 34], + "fuchsia": [255, 0, 255], + "gainsboro": [220, 220, 220], + "ghostwhite": [248, 248, 255], + "gold": [255, 215, 0], + "goldenrod": [218, 165, 32], + "gray": [128, 128, 128], + "green": [0, 128, 0], + "greenyellow": [173, 255, 47], + "grey": [128, 128, 128], + "honeydew": [240, 255, 240], + "hotpink": [255, 105, 180], + "indianred": [205, 92, 92], + "indigo": [75, 0, 130], + "ivory": [255, 255, 240], + "khaki": [240, 230, 140], + "lavender": [230, 230, 250], + "lavenderblush": [255, 240, 245], + "lawngreen": [124, 252, 0], + "lemonchiffon": [255, 250, 205], + "lightblue": [173, 216, 230], + "lightcoral": [240, 128, 128], + "lightcyan": [224, 255, 255], + "lightgoldenrodyellow": [250, 250, 210], + "lightgray": [211, 211, 211], + "lightgreen": [144, 238, 144], + "lightgrey": [211, 211, 211], + "lightpink": [255, 182, 193], + "lightsalmon": [255, 160, 122], + "lightseagreen": [32, 178, 170], + "lightskyblue": [135, 206, 250], + "lightslategray": [119, 136, 153], + "lightslategrey": [119, 136, 153], + "lightsteelblue": [176, 196, 222], + "lightyellow": [255, 255, 224], + "lime": [0, 255, 0], + "limegreen": [50, 205, 50], + "linen": [250, 240, 230], + "magenta": [255, 0, 255], + "maroon": [128, 0, 0], + "mediumaquamarine": [102, 205, 170], + "mediumblue": [0, 0, 205], + "mediumorchid": [186, 85, 211], + "mediumpurple": [147, 112, 219], + "mediumseagreen": [60, 179, 113], + "mediumslateblue": [123, 104, 238], + "mediumspringgreen": [0, 250, 154], + "mediumturquoise": [72, 209, 204], + "mediumvioletred": [199, 21, 133], + "midnightblue": [25, 25, 112], + "mintcream": [245, 255, 250], + "mistyrose": [255, 228, 225], + "moccasin": [255, 228, 181], + "navajowhite": [255, 222, 173], + "navy": [0, 0, 128], + "oldlace": [253, 245, 230], + "olive": [128, 128, 0], + "olivedrab": [107, 142, 35], + "orange": [255, 165, 0], + "orangered": [255, 69, 0], + "orchid": [218, 112, 214], + "palegoldenrod": [238, 232, 170], + "palegreen": [152, 251, 152], + "paleturquoise": [175, 238, 238], + "palevioletred": [219, 112, 147], + "papayawhip": [255, 239, 213], + "peachpuff": [255, 218, 185], + "peru": [205, 133, 63], + "pink": [255, 192, 203], + "plum": [221, 160, 221], + "powderblue": [176, 224, 230], + "purple": [128, 0, 128], + "rebeccapurple": [102, 51, 153], + "red": [255, 0, 0], + "rosybrown": [188, 143, 143], + "royalblue": [65, 105, 225], + "saddlebrown": [139, 69, 19], + "salmon": [250, 128, 114], + "sandybrown": [244, 164, 96], + "seagreen": [46, 139, 87], + "seashell": [255, 245, 238], + "sienna": [160, 82, 45], + "silver": [192, 192, 192], + "skyblue": [135, 206, 235], + "slateblue": [106, 90, 205], + "slategray": [112, 128, 144], + "slategrey": [112, 128, 144], + "snow": [255, 250, 250], + "springgreen": [0, 255, 127], + "steelblue": [70, 130, 180], + "tan": [210, 180, 140], + "teal": [0, 128, 128], + "thistle": [216, 191, 216], + "tomato": [255, 99, 71], + "turquoise": [64, 224, 208], + "violet": [238, 130, 238], + "wheat": [245, 222, 179], + "white": [255, 255, 255], + "whitesmoke": [245, 245, 245], + "yellow": [255, 255, 0], + "yellowgreen": [154, 205, 50] + }; + + + /***/ }), + /* 36 */ + /***/ (function(module, exports, __webpack_require__) { + + var conversions = __webpack_require__(34); + + /* + this function routes a model to all other models. + + all functions that are routed have a property `.conversion` attached + to the returned synthetic function. This property is an array + of strings, each with the steps in between the 'from' and 'to' + color models (inclusive). + + conversions that are not possible simply are not included. + */ + + function buildGraph() { + var graph = {}; + // https://jsperf.com/object-keys-vs-for-in-with-closure/3 + var models = Object.keys(conversions); + + for (var len = models.length, i = 0; i < len; i++) { + graph[models[i]] = { + // http://jsperf.com/1-vs-infinity + // micro-opt, but this is simple. + distance: -1, + parent: null + }; + } + + return graph; + } + + // https://en.wikipedia.org/wiki/Breadth-first_search + function deriveBFS(fromModel) { + var graph = buildGraph(); + var queue = [fromModel]; // unshift -> queue -> pop + + graph[fromModel].distance = 0; + + while (queue.length) { + var current = queue.pop(); + var adjacents = Object.keys(conversions[current]); + + for (var len = adjacents.length, i = 0; i < len; i++) { + var adjacent = adjacents[i]; + var node = graph[adjacent]; + + if (node.distance === -1) { + node.distance = graph[current].distance + 1; + node.parent = current; + queue.unshift(adjacent); + } + } + } + + return graph; + } + + function link(from, to) { + return function (args) { + return to(from(args)); + }; + } + + function wrapConversion(toModel, graph) { + var path = [graph[toModel].parent, toModel]; + var fn = conversions[graph[toModel].parent][toModel]; + + var cur = graph[toModel].parent; + while (graph[cur].parent) { + path.unshift(graph[cur].parent); + fn = link(conversions[graph[cur].parent][cur], fn); + cur = graph[cur].parent; + } + + fn.conversion = path; + return fn; + } + + module.exports = function (fromModel) { + var graph = deriveBFS(fromModel); + var conversion = {}; + + var models = Object.keys(graph); + for (var len = models.length, i = 0; i < len; i++) { + var toModel = models[i]; + var node = graph[toModel]; + + if (node.parent === null) { + // no possible conversion, or this node is the source model. + continue; + } + + conversion[toModel] = wrapConversion(toModel, graph); + } + + return conversion; + }; + + + + /***/ }), + /* 37 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + module.exports = __webpack_require__(38).isCI + + + /***/ }), + /* 38 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + var vendors = __webpack_require__(39) + + var env = process.env + + // Used for testing only + Object.defineProperty(exports, '_vendors', { + value: vendors.map(function (v) { return v.constant }) + }) + + exports.name = null + exports.isPR = null + + vendors.forEach(function (vendor) { + var envs = Array.isArray(vendor.env) ? vendor.env : [vendor.env] + var isCI = envs.every(function (obj) { + return checkEnv(obj) + }) + + exports[vendor.constant] = isCI + + if (isCI) { + exports.name = vendor.name + + switch (typeof vendor.pr) { + case 'string': + // "pr": "CIRRUS_PR" + exports.isPR = !!env[vendor.pr] + break + case 'object': + if ('env' in vendor.pr) { + // "pr": { "env": "BUILDKITE_PULL_REQUEST", "ne": "false" } + exports.isPR = vendor.pr.env in env && env[vendor.pr.env] !== vendor.pr.ne + } else if ('any' in vendor.pr) { + // "pr": { "any": ["ghprbPullId", "CHANGE_ID"] } + exports.isPR = vendor.pr.any.some(function (key) { + return !!env[key] + }) + } else { + // "pr": { "DRONE_BUILD_EVENT": "pull_request" } + exports.isPR = checkEnv(vendor.pr) + } + break + default: + // PR detection not supported for this vendor + exports.isPR = null + } + } + }) + + exports.isCI = !!( + env.CI || // Travis CI, CircleCI, Cirrus CI, Gitlab CI, Appveyor, CodeShip, dsari + env.CONTINUOUS_INTEGRATION || // Travis CI, Cirrus CI + env.BUILD_NUMBER || // Jenkins, TeamCity + env.RUN_ID || // TaskCluster, dsari + exports.name || + false + ) + + function checkEnv (obj) { + if (typeof obj === 'string') return !!env[obj] + return Object.keys(obj).every(function (k) { + return env[k] === obj[k] + }) + } + + + /***/ }), + /* 39 */ + /***/ (function(module) { + + module.exports = JSON.parse("[{\"name\":\"AppVeyor\",\"constant\":\"APPVEYOR\",\"env\":\"APPVEYOR\",\"pr\":\"APPVEYOR_PULL_REQUEST_NUMBER\"},{\"name\":\"Azure Pipelines\",\"constant\":\"AZURE_PIPELINES\",\"env\":\"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI\",\"pr\":\"SYSTEM_PULLREQUEST_PULLREQUESTID\"},{\"name\":\"Bamboo\",\"constant\":\"BAMBOO\",\"env\":\"bamboo_planKey\"},{\"name\":\"Bitbucket Pipelines\",\"constant\":\"BITBUCKET\",\"env\":\"BITBUCKET_COMMIT\",\"pr\":\"BITBUCKET_PR_ID\"},{\"name\":\"Bitrise\",\"constant\":\"BITRISE\",\"env\":\"BITRISE_IO\",\"pr\":\"BITRISE_PULL_REQUEST\"},{\"name\":\"Buddy\",\"constant\":\"BUDDY\",\"env\":\"BUDDY_WORKSPACE_ID\",\"pr\":\"BUDDY_EXECUTION_PULL_REQUEST_ID\"},{\"name\":\"Buildkite\",\"constant\":\"BUILDKITE\",\"env\":\"BUILDKITE\",\"pr\":{\"env\":\"BUILDKITE_PULL_REQUEST\",\"ne\":\"false\"}},{\"name\":\"CircleCI\",\"constant\":\"CIRCLE\",\"env\":\"CIRCLECI\",\"pr\":\"CIRCLE_PULL_REQUEST\"},{\"name\":\"Cirrus CI\",\"constant\":\"CIRRUS\",\"env\":\"CIRRUS_CI\",\"pr\":\"CIRRUS_PR\"},{\"name\":\"AWS CodeBuild\",\"constant\":\"CODEBUILD\",\"env\":\"CODEBUILD_BUILD_ARN\"},{\"name\":\"Codeship\",\"constant\":\"CODESHIP\",\"env\":{\"CI_NAME\":\"codeship\"}},{\"name\":\"Drone\",\"constant\":\"DRONE\",\"env\":\"DRONE\",\"pr\":{\"DRONE_BUILD_EVENT\":\"pull_request\"}},{\"name\":\"dsari\",\"constant\":\"DSARI\",\"env\":\"DSARI\"},{\"name\":\"GitLab CI\",\"constant\":\"GITLAB\",\"env\":\"GITLAB_CI\"},{\"name\":\"GoCD\",\"constant\":\"GOCD\",\"env\":\"GO_PIPELINE_LABEL\"},{\"name\":\"Hudson\",\"constant\":\"HUDSON\",\"env\":\"HUDSON_URL\"},{\"name\":\"Jenkins\",\"constant\":\"JENKINS\",\"env\":[\"JENKINS_URL\",\"BUILD_ID\"],\"pr\":{\"any\":[\"ghprbPullId\",\"CHANGE_ID\"]}},{\"name\":\"Magnum CI\",\"constant\":\"MAGNUM\",\"env\":\"MAGNUM\"},{\"name\":\"Netlify CI\",\"constant\":\"NETLIFY\",\"env\":\"NETLIFY_BUILD_BASE\",\"pr\":{\"env\":\"PULL_REQUEST\",\"ne\":\"false\"}},{\"name\":\"Sail CI\",\"constant\":\"SAIL\",\"env\":\"SAILCI\",\"pr\":\"SAIL_PULL_REQUEST_NUMBER\"},{\"name\":\"Semaphore\",\"constant\":\"SEMAPHORE\",\"env\":\"SEMAPHORE\",\"pr\":\"PULL_REQUEST_NUMBER\"},{\"name\":\"Shippable\",\"constant\":\"SHIPPABLE\",\"env\":\"SHIPPABLE\",\"pr\":{\"IS_PULL_REQUEST\":\"true\"}},{\"name\":\"Solano CI\",\"constant\":\"SOLANO\",\"env\":\"TDDIUM\",\"pr\":\"TDDIUM_PR_ID\"},{\"name\":\"Strider CD\",\"constant\":\"STRIDER\",\"env\":\"STRIDER\"},{\"name\":\"TaskCluster\",\"constant\":\"TASKCLUSTER\",\"env\":[\"TASK_ID\",\"RUN_ID\"]},{\"name\":\"TeamCity\",\"constant\":\"TEAMCITY\",\"env\":\"TEAMCITY_VERSION\"},{\"name\":\"Travis CI\",\"constant\":\"TRAVIS\",\"env\":\"TRAVIS\",\"pr\":{\"env\":\"TRAVIS_PULL_REQUEST\",\"ne\":\"false\"}}]"); + + /***/ }), + /* 40 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + + var _scheduler = __webpack_require__(41); + + var _reactReconciler = _interopRequireDefault(__webpack_require__(43)); + + var _dom = __webpack_require__(49); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + const NO_CONTEXT = true; + const hostConfig = { + schedulePassiveEffects: _scheduler.unstable_scheduleCallback, + cancelPassiveEffects: _scheduler.unstable_cancelCallback, + now: Date.now, + getRootHostContext: () => NO_CONTEXT, + prepareForCommit: () => {}, + resetAfterCommit: rootNode => { + rootNode.onRender(); + }, + getChildHostContext: () => NO_CONTEXT, + shouldSetTextContent: (type, props) => { + return typeof props.children === 'string' || typeof props.children === 'number'; + }, + createInstance: (type, newProps) => { + const node = (0, _dom.createNode)(type); + + for (const [key, value] of Object.entries(newProps)) { + if (key === 'children') { + if (typeof value === 'string' || typeof value === 'number') { + if (type === 'div') { + // Text node must be wrapped in another node, so that text can be aligned within container + const textElement = (0, _dom.createNode)('div'); + textElement.textContent = String(value); + (0, _dom.appendChildNode)(node, textElement); + } + + if (type === 'span') { + node.textContent = String(value); + } + } + } else if (key === 'style') { + Object.assign(node.style, value); + } else if (key === 'unstable__transformChildren') { + node.unstable__transformChildren = value; // eslint-disable-line camelcase + } else if (key === 'unstable__static') { + node.unstable__static = true; // eslint-disable-line camelcase + } else { + (0, _dom.setAttribute)(node, key, value); + } + } + + return node; + }, + createTextInstance: _dom.createTextNode, + resetTextContent: node => { + if (node.textContent) { + node.textContent = ''; + } + + if (node.childNodes.length > 0) { + for (const childNode of node.childNodes) { + childNode.yogaNode.free(); + (0, _dom.removeChildNode)(node, childNode); + } + } + }, + getPublicInstance: instance => instance, + appendInitialChild: _dom.appendChildNode, + appendChild: _dom.appendChildNode, + insertBefore: _dom.insertBeforeNode, + finalizeInitialChildren: () => {}, + supportsMutation: true, + appendChildToContainer: _dom.appendChildNode, + insertInContainerBefore: _dom.insertBeforeNode, + removeChildFromContainer: _dom.removeChildNode, + prepareUpdate: () => true, + commitUpdate: (node, updatePayload, type, oldProps, newProps) => { + for (const [key, value] of Object.entries(newProps)) { + if (key === 'children') { + if (typeof value === 'string' || typeof value === 'number') { + if (type === 'div') { + // Text node must be wrapped in another node, so that text can be aligned within container + // If there's no such node, a new one must be created + if (node.childNodes.length === 0) { + const textElement = (0, _dom.createNode)('div'); + textElement.textContent = String(value); + (0, _dom.appendChildNode)(node, textElement); + } else { + node.childNodes[0].textContent = String(value); + } + } + + if (type === 'span') { + node.textContent = String(value); + } + } + } else if (key === 'style') { + Object.assign(node.style, value); + } else if (key === 'unstable__transformChildren') { + node.unstable__transformChildren = value; // eslint-disable-line camelcase + } else if (key === 'unstable__static') { + node.unstable__static = true; // eslint-disable-line camelcase + } else { + (0, _dom.setAttribute)(node, key, value); + } + } + }, + commitTextUpdate: (node, oldText, newText) => { + if (node.nodeName === '#text') { + node.nodeValue = newText; + } else { + node.textContent = newText; + } + }, + removeChild: _dom.removeChildNode + }; + + var _default = (0, _reactReconciler.default)(hostConfig); // eslint-disable-line new-cap + + + exports.default = _default; + + /***/ }), + /* 41 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + if (false) {} else { + module.exports = __webpack_require__(42); + } + + + /***/ }), + /* 42 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /** @license React v0.13.4 + * scheduler.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + + + + + if (true) { + (function() { + 'use strict'; + + Object.defineProperty(exports, '__esModule', { value: true }); + + var enableSchedulerDebugging = false; + + /* eslint-disable no-var */ + + // TODO: Use symbols? + var ImmediatePriority = 1; + var UserBlockingPriority = 2; + var NormalPriority = 3; + var LowPriority = 4; + var IdlePriority = 5; + + // Max 31 bit integer. The max integer size in V8 for 32-bit systems. + // Math.pow(2, 30) - 1 + // 0b111111111111111111111111111111 + var maxSigned31BitInt = 1073741823; + + // Times out immediately + var IMMEDIATE_PRIORITY_TIMEOUT = -1; + // Eventually times out + var USER_BLOCKING_PRIORITY = 250; + var NORMAL_PRIORITY_TIMEOUT = 5000; + var LOW_PRIORITY_TIMEOUT = 10000; + // Never times out + var IDLE_PRIORITY = maxSigned31BitInt; + + // Callbacks are stored as a circular, doubly linked list. + var firstCallbackNode = null; + + var currentDidTimeout = false; + // Pausing the scheduler is useful for debugging. + var isSchedulerPaused = false; + + var currentPriorityLevel = NormalPriority; + var currentEventStartTime = -1; + var currentExpirationTime = -1; + + // This is set when a callback is being executed, to prevent re-entrancy. + var isExecutingCallback = false; + + var isHostCallbackScheduled = false; + + var hasNativePerformanceNow = typeof performance === 'object' && typeof performance.now === 'function'; + + function ensureHostCallbackIsScheduled() { + if (isExecutingCallback) { + // Don't schedule work yet; wait until the next time we yield. + return; + } + // Schedule the host callback using the earliest expiration in the list. + var expirationTime = firstCallbackNode.expirationTime; + if (!isHostCallbackScheduled) { + isHostCallbackScheduled = true; + } else { + // Cancel the existing host callback. + cancelHostCallback(); + } + requestHostCallback(flushWork, expirationTime); + } + + function flushFirstCallback() { + var flushedNode = firstCallbackNode; + + // Remove the node from the list before calling the callback. That way the + // list is in a consistent state even if the callback throws. + var next = firstCallbackNode.next; + if (firstCallbackNode === next) { + // This is the last callback in the list. + firstCallbackNode = null; + next = null; + } else { + var lastCallbackNode = firstCallbackNode.previous; + firstCallbackNode = lastCallbackNode.next = next; + next.previous = lastCallbackNode; + } + + flushedNode.next = flushedNode.previous = null; + + // Now it's safe to call the callback. + var callback = flushedNode.callback; + var expirationTime = flushedNode.expirationTime; + var priorityLevel = flushedNode.priorityLevel; + var previousPriorityLevel = currentPriorityLevel; + var previousExpirationTime = currentExpirationTime; + currentPriorityLevel = priorityLevel; + currentExpirationTime = expirationTime; + var continuationCallback; + try { + continuationCallback = callback(); + } finally { + currentPriorityLevel = previousPriorityLevel; + currentExpirationTime = previousExpirationTime; + } + + // A callback may return a continuation. The continuation should be scheduled + // with the same priority and expiration as the just-finished callback. + if (typeof continuationCallback === 'function') { + var continuationNode = { + callback: continuationCallback, + priorityLevel: priorityLevel, + expirationTime: expirationTime, + next: null, + previous: null + }; + + // Insert the new callback into the list, sorted by its expiration. This is + // almost the same as the code in `scheduleCallback`, except the callback + // is inserted into the list *before* callbacks of equal expiration instead + // of after. + if (firstCallbackNode === null) { + // This is the first callback in the list. + firstCallbackNode = continuationNode.next = continuationNode.previous = continuationNode; + } else { + var nextAfterContinuation = null; + var node = firstCallbackNode; + do { + if (node.expirationTime >= expirationTime) { + // This callback expires at or after the continuation. We will insert + // the continuation *before* this callback. + nextAfterContinuation = node; + break; + } + node = node.next; + } while (node !== firstCallbackNode); + + if (nextAfterContinuation === null) { + // No equal or lower priority callback was found, which means the new + // callback is the lowest priority callback in the list. + nextAfterContinuation = firstCallbackNode; + } else if (nextAfterContinuation === firstCallbackNode) { + // The new callback is the highest priority callback in the list. + firstCallbackNode = continuationNode; + ensureHostCallbackIsScheduled(); + } + + var previous = nextAfterContinuation.previous; + previous.next = nextAfterContinuation.previous = continuationNode; + continuationNode.next = nextAfterContinuation; + continuationNode.previous = previous; + } + } + } + + function flushImmediateWork() { + if ( + // Confirm we've exited the outer most event handler + currentEventStartTime === -1 && firstCallbackNode !== null && firstCallbackNode.priorityLevel === ImmediatePriority) { + isExecutingCallback = true; + try { + do { + flushFirstCallback(); + } while ( + // Keep flushing until there are no more immediate callbacks + firstCallbackNode !== null && firstCallbackNode.priorityLevel === ImmediatePriority); + } finally { + isExecutingCallback = false; + if (firstCallbackNode !== null) { + // There's still work remaining. Request another callback. + ensureHostCallbackIsScheduled(); + } else { + isHostCallbackScheduled = false; + } + } + } + } + + function flushWork(didTimeout) { + // Exit right away if we're currently paused + + if (enableSchedulerDebugging && isSchedulerPaused) { + return; + } + + isExecutingCallback = true; + var previousDidTimeout = currentDidTimeout; + currentDidTimeout = didTimeout; + try { + if (didTimeout) { + // Flush all the expired callbacks without yielding. + while (firstCallbackNode !== null && !(enableSchedulerDebugging && isSchedulerPaused)) { + // TODO Wrap in feature flag + // Read the current time. Flush all the callbacks that expire at or + // earlier than that time. Then read the current time again and repeat. + // This optimizes for as few performance.now calls as possible. + var currentTime = exports.unstable_now(); + if (firstCallbackNode.expirationTime <= currentTime) { + do { + flushFirstCallback(); + } while (firstCallbackNode !== null && firstCallbackNode.expirationTime <= currentTime && !(enableSchedulerDebugging && isSchedulerPaused)); + continue; + } + break; + } + } else { + // Keep flushing callbacks until we run out of time in the frame. + if (firstCallbackNode !== null) { + do { + if (enableSchedulerDebugging && isSchedulerPaused) { + break; + } + flushFirstCallback(); + } while (firstCallbackNode !== null && !shouldYieldToHost()); + } + } + } finally { + isExecutingCallback = false; + currentDidTimeout = previousDidTimeout; + if (firstCallbackNode !== null) { + // There's still work remaining. Request another callback. + ensureHostCallbackIsScheduled(); + } else { + isHostCallbackScheduled = false; + } + // Before exiting, flush all the immediate work that was scheduled. + flushImmediateWork(); + } + } + + function unstable_runWithPriority(priorityLevel, eventHandler) { + switch (priorityLevel) { + case ImmediatePriority: + case UserBlockingPriority: + case NormalPriority: + case LowPriority: + case IdlePriority: + break; + default: + priorityLevel = NormalPriority; + } + + var previousPriorityLevel = currentPriorityLevel; + var previousEventStartTime = currentEventStartTime; + currentPriorityLevel = priorityLevel; + currentEventStartTime = exports.unstable_now(); + + try { + return eventHandler(); + } finally { + currentPriorityLevel = previousPriorityLevel; + currentEventStartTime = previousEventStartTime; + + // Before exiting, flush all the immediate work that was scheduled. + flushImmediateWork(); + } + } + + function unstable_next(eventHandler) { + var priorityLevel = void 0; + switch (currentPriorityLevel) { + case ImmediatePriority: + case UserBlockingPriority: + case NormalPriority: + // Shift down to normal priority + priorityLevel = NormalPriority; + break; + default: + // Anything lower than normal priority should remain at the current level. + priorityLevel = currentPriorityLevel; + break; + } + + var previousPriorityLevel = currentPriorityLevel; + var previousEventStartTime = currentEventStartTime; + currentPriorityLevel = priorityLevel; + currentEventStartTime = exports.unstable_now(); + + try { + return eventHandler(); + } finally { + currentPriorityLevel = previousPriorityLevel; + currentEventStartTime = previousEventStartTime; + + // Before exiting, flush all the immediate work that was scheduled. + flushImmediateWork(); + } + } + + function unstable_wrapCallback(callback) { + var parentPriorityLevel = currentPriorityLevel; + return function () { + // This is a fork of runWithPriority, inlined for performance. + var previousPriorityLevel = currentPriorityLevel; + var previousEventStartTime = currentEventStartTime; + currentPriorityLevel = parentPriorityLevel; + currentEventStartTime = exports.unstable_now(); + + try { + return callback.apply(this, arguments); + } finally { + currentPriorityLevel = previousPriorityLevel; + currentEventStartTime = previousEventStartTime; + flushImmediateWork(); + } + }; + } + + function unstable_scheduleCallback(callback, deprecated_options) { + var startTime = currentEventStartTime !== -1 ? currentEventStartTime : exports.unstable_now(); + + var expirationTime; + if (typeof deprecated_options === 'object' && deprecated_options !== null && typeof deprecated_options.timeout === 'number') { + // FIXME: Remove this branch once we lift expiration times out of React. + expirationTime = startTime + deprecated_options.timeout; + } else { + switch (currentPriorityLevel) { + case ImmediatePriority: + expirationTime = startTime + IMMEDIATE_PRIORITY_TIMEOUT; + break; + case UserBlockingPriority: + expirationTime = startTime + USER_BLOCKING_PRIORITY; + break; + case IdlePriority: + expirationTime = startTime + IDLE_PRIORITY; + break; + case LowPriority: + expirationTime = startTime + LOW_PRIORITY_TIMEOUT; + break; + case NormalPriority: + default: + expirationTime = startTime + NORMAL_PRIORITY_TIMEOUT; + } + } + + var newNode = { + callback: callback, + priorityLevel: currentPriorityLevel, + expirationTime: expirationTime, + next: null, + previous: null + }; + + // Insert the new callback into the list, ordered first by expiration, then + // by insertion. So the new callback is inserted any other callback with + // equal expiration. + if (firstCallbackNode === null) { + // This is the first callback in the list. + firstCallbackNode = newNode.next = newNode.previous = newNode; + ensureHostCallbackIsScheduled(); + } else { + var next = null; + var node = firstCallbackNode; + do { + if (node.expirationTime > expirationTime) { + // The new callback expires before this one. + next = node; + break; + } + node = node.next; + } while (node !== firstCallbackNode); + + if (next === null) { + // No callback with a later expiration was found, which means the new + // callback has the latest expiration in the list. + next = firstCallbackNode; + } else if (next === firstCallbackNode) { + // The new callback has the earliest expiration in the entire list. + firstCallbackNode = newNode; + ensureHostCallbackIsScheduled(); + } + + var previous = next.previous; + previous.next = next.previous = newNode; + newNode.next = next; + newNode.previous = previous; + } + + return newNode; + } + + function unstable_pauseExecution() { + isSchedulerPaused = true; + } + + function unstable_continueExecution() { + isSchedulerPaused = false; + if (firstCallbackNode !== null) { + ensureHostCallbackIsScheduled(); + } + } + + function unstable_getFirstCallbackNode() { + return firstCallbackNode; + } + + function unstable_cancelCallback(callbackNode) { + var next = callbackNode.next; + if (next === null) { + // Already cancelled. + return; + } + + if (next === callbackNode) { + // This is the only scheduled callback. Clear the list. + firstCallbackNode = null; + } else { + // Remove the callback from its position in the list. + if (callbackNode === firstCallbackNode) { + firstCallbackNode = next; + } + var previous = callbackNode.previous; + previous.next = next; + next.previous = previous; + } + + callbackNode.next = callbackNode.previous = null; + } + + function unstable_getCurrentPriorityLevel() { + return currentPriorityLevel; + } + + function unstable_shouldYield() { + return !currentDidTimeout && (firstCallbackNode !== null && firstCallbackNode.expirationTime < currentExpirationTime || shouldYieldToHost()); + } + + // The remaining code is essentially a polyfill for requestIdleCallback. It + // works by scheduling a requestAnimationFrame, storing the time for the start + // of the frame, then scheduling a postMessage which gets scheduled after paint. + // Within the postMessage handler do as much work as possible until time + frame + // rate. By separating the idle call into a separate event tick we ensure that + // layout, paint and other browser work is counted against the available time. + // The frame rate is dynamically adjusted. + + // We capture a local reference to any global, in case it gets polyfilled after + // this module is initially evaluated. We want to be using a + // consistent implementation. + var localDate = Date; + + // This initialization code may run even on server environments if a component + // just imports ReactDOM (e.g. for findDOMNode). Some environments might not + // have setTimeout or clearTimeout. However, we always expect them to be defined + // on the client. https://github.com/facebook/react/pull/13088 + var localSetTimeout = typeof setTimeout === 'function' ? setTimeout : undefined; + var localClearTimeout = typeof clearTimeout === 'function' ? clearTimeout : undefined; + + // We don't expect either of these to necessarily be defined, but we will error + // later if they are missing on the client. + var localRequestAnimationFrame = typeof requestAnimationFrame === 'function' ? requestAnimationFrame : undefined; + var localCancelAnimationFrame = typeof cancelAnimationFrame === 'function' ? cancelAnimationFrame : undefined; + + // requestAnimationFrame does not run when the tab is in the background. If + // we're backgrounded we prefer for that work to happen so that the page + // continues to load in the background. So we also schedule a 'setTimeout' as + // a fallback. + // TODO: Need a better heuristic for backgrounded work. + var ANIMATION_FRAME_TIMEOUT = 100; + var rAFID; + var rAFTimeoutID; + var requestAnimationFrameWithTimeout = function (callback) { + // schedule rAF and also a setTimeout + rAFID = localRequestAnimationFrame(function (timestamp) { + // cancel the setTimeout + localClearTimeout(rAFTimeoutID); + callback(timestamp); + }); + rAFTimeoutID = localSetTimeout(function () { + // cancel the requestAnimationFrame + localCancelAnimationFrame(rAFID); + callback(exports.unstable_now()); + }, ANIMATION_FRAME_TIMEOUT); + }; + + if (hasNativePerformanceNow) { + var Performance = performance; + exports.unstable_now = function () { + return Performance.now(); + }; + } else { + exports.unstable_now = function () { + return localDate.now(); + }; + } + + var requestHostCallback; + var cancelHostCallback; + var shouldYieldToHost; + + var globalValue = null; + if (typeof window !== 'undefined') { + globalValue = window; + } else if (typeof global !== 'undefined') { + globalValue = global; + } + + if (globalValue && globalValue._schedMock) { + // Dynamic injection, only for testing purposes. + var globalImpl = globalValue._schedMock; + requestHostCallback = globalImpl[0]; + cancelHostCallback = globalImpl[1]; + shouldYieldToHost = globalImpl[2]; + exports.unstable_now = globalImpl[3]; + } else if ( + // If Scheduler runs in a non-DOM environment, it falls back to a naive + // implementation using setTimeout. + typeof window === 'undefined' || + // Check if MessageChannel is supported, too. + typeof MessageChannel !== 'function') { + // If this accidentally gets imported in a non-browser environment, e.g. JavaScriptCore, + // fallback to a naive implementation. + var _callback = null; + var _flushCallback = function (didTimeout) { + if (_callback !== null) { + try { + _callback(didTimeout); + } finally { + _callback = null; + } + } + }; + requestHostCallback = function (cb, ms) { + if (_callback !== null) { + // Protect against re-entrancy. + setTimeout(requestHostCallback, 0, cb); + } else { + _callback = cb; + setTimeout(_flushCallback, 0, false); + } + }; + cancelHostCallback = function () { + _callback = null; + }; + shouldYieldToHost = function () { + return false; + }; + } else { + if (typeof console !== 'undefined') { + // TODO: Remove fb.me link + if (typeof localRequestAnimationFrame !== 'function') { + console.error("This browser doesn't support requestAnimationFrame. " + 'Make sure that you load a ' + 'polyfill in older browsers. https://fb.me/react-polyfills'); + } + if (typeof localCancelAnimationFrame !== 'function') { + console.error("This browser doesn't support cancelAnimationFrame. " + 'Make sure that you load a ' + 'polyfill in older browsers. https://fb.me/react-polyfills'); + } + } + + var scheduledHostCallback = null; + var isMessageEventScheduled = false; + var timeoutTime = -1; + + var isAnimationFrameScheduled = false; + + var isFlushingHostCallback = false; + + var frameDeadline = 0; + // We start out assuming that we run at 30fps but then the heuristic tracking + // will adjust this value to a faster fps if we get more frequent animation + // frames. + var previousFrameTime = 33; + var activeFrameTime = 33; + + shouldYieldToHost = function () { + return frameDeadline <= exports.unstable_now(); + }; + + // We use the postMessage trick to defer idle work until after the repaint. + var channel = new MessageChannel(); + var port = channel.port2; + channel.port1.onmessage = function (event) { + isMessageEventScheduled = false; + + var prevScheduledCallback = scheduledHostCallback; + var prevTimeoutTime = timeoutTime; + scheduledHostCallback = null; + timeoutTime = -1; + + var currentTime = exports.unstable_now(); + + var didTimeout = false; + if (frameDeadline - currentTime <= 0) { + // There's no time left in this idle period. Check if the callback has + // a timeout and whether it's been exceeded. + if (prevTimeoutTime !== -1 && prevTimeoutTime <= currentTime) { + // Exceeded the timeout. Invoke the callback even though there's no + // time left. + didTimeout = true; + } else { + // No timeout. + if (!isAnimationFrameScheduled) { + // Schedule another animation callback so we retry later. + isAnimationFrameScheduled = true; + requestAnimationFrameWithTimeout(animationTick); + } + // Exit without invoking the callback. + scheduledHostCallback = prevScheduledCallback; + timeoutTime = prevTimeoutTime; + return; + } + } + + if (prevScheduledCallback !== null) { + isFlushingHostCallback = true; + try { + prevScheduledCallback(didTimeout); + } finally { + isFlushingHostCallback = false; + } + } + }; + + var animationTick = function (rafTime) { + if (scheduledHostCallback !== null) { + // Eagerly schedule the next animation callback at the beginning of the + // frame. If the scheduler queue is not empty at the end of the frame, it + // will continue flushing inside that callback. If the queue *is* empty, + // then it will exit immediately. Posting the callback at the start of the + // frame ensures it's fired within the earliest possible frame. If we + // waited until the end of the frame to post the callback, we risk the + // browser skipping a frame and not firing the callback until the frame + // after that. + requestAnimationFrameWithTimeout(animationTick); + } else { + // No pending work. Exit. + isAnimationFrameScheduled = false; + return; + } + + var nextFrameTime = rafTime - frameDeadline + activeFrameTime; + if (nextFrameTime < activeFrameTime && previousFrameTime < activeFrameTime) { + if (nextFrameTime < 8) { + // Defensive coding. We don't support higher frame rates than 120hz. + // If the calculated frame time gets lower than 8, it is probably a bug. + nextFrameTime = 8; + } + // If one frame goes long, then the next one can be short to catch up. + // If two frames are short in a row, then that's an indication that we + // actually have a higher frame rate than what we're currently optimizing. + // We adjust our heuristic dynamically accordingly. For example, if we're + // running on 120hz display or 90hz VR display. + // Take the max of the two in case one of them was an anomaly due to + // missed frame deadlines. + activeFrameTime = nextFrameTime < previousFrameTime ? previousFrameTime : nextFrameTime; + } else { + previousFrameTime = nextFrameTime; + } + frameDeadline = rafTime + activeFrameTime; + if (!isMessageEventScheduled) { + isMessageEventScheduled = true; + port.postMessage(undefined); + } + }; + + requestHostCallback = function (callback, absoluteTimeout) { + scheduledHostCallback = callback; + timeoutTime = absoluteTimeout; + if (isFlushingHostCallback || absoluteTimeout < 0) { + // Don't wait for the next frame. Continue working ASAP, in a new event. + port.postMessage(undefined); + } else if (!isAnimationFrameScheduled) { + // If rAF didn't already schedule one, we need to schedule a frame. + // TODO: If this rAF doesn't materialize because the browser throttles, we + // might want to still have setTimeout trigger rIC as a backup to ensure + // that we keep performing work. + isAnimationFrameScheduled = true; + requestAnimationFrameWithTimeout(animationTick); + } + }; + + cancelHostCallback = function () { + scheduledHostCallback = null; + isMessageEventScheduled = false; + timeoutTime = -1; + }; + } + + exports.unstable_ImmediatePriority = ImmediatePriority; + exports.unstable_UserBlockingPriority = UserBlockingPriority; + exports.unstable_NormalPriority = NormalPriority; + exports.unstable_IdlePriority = IdlePriority; + exports.unstable_LowPriority = LowPriority; + exports.unstable_runWithPriority = unstable_runWithPriority; + exports.unstable_next = unstable_next; + exports.unstable_scheduleCallback = unstable_scheduleCallback; + exports.unstable_cancelCallback = unstable_cancelCallback; + exports.unstable_wrapCallback = unstable_wrapCallback; + exports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel; + exports.unstable_shouldYield = unstable_shouldYield; + exports.unstable_continueExecution = unstable_continueExecution; + exports.unstable_pauseExecution = unstable_pauseExecution; + exports.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode; + })(); + } + + + /***/ }), + /* 43 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + if (false) {} else { + module.exports = __webpack_require__(44); + } + + + /***/ }), + /* 44 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /** @license React v0.20.4 + * react-reconciler.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + + + if (true) { + module.exports = function $$$reconciler($$$hostConfig) { + 'use strict'; + + var _assign = __webpack_require__(10); + var React = __webpack_require__(8); + var checkPropTypes = __webpack_require__(11); + var tracing = __webpack_require__(45); + var scheduler = __webpack_require__(47); + + /** + * Use invariant() to assert state which your program assumes to be true. + * + * Provide sprintf-style format (only %s is supported) and arguments + * to provide information about what broke and what you were + * expecting. + * + * The invariant message will be stripped in production, but the invariant + * will remain to ensure logic does not differ in production. + */ + + var validateFormat = function () {}; + + { + validateFormat = function (format) { + if (format === undefined) { + throw new Error('invariant requires an error message argument'); + } + }; + } + + function invariant(condition, format, a, b, c, d, e, f) { + validateFormat(format); + + if (!condition) { + var error = void 0; + if (format === undefined) { + error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.'); + } else { + var args = [a, b, c, d, e, f]; + var argIndex = 0; + error = new Error(format.replace(/%s/g, function () { + return args[argIndex++]; + })); + error.name = 'Invariant Violation'; + } + + error.framesToPop = 1; // we don't care about invariant's own frame + throw error; + } + } + + // Relying on the `invariant()` implementation lets us + // preserve the format and params in the www builds. + + /** + * Similar to invariant but only logs a warning if the condition is not met. + * This can be used to log issues in development environments in critical + * paths. Removing the logging code for production environments will keep the + * same logic and follow the same code paths. + */ + + var warningWithoutStack = function () {}; + + { + warningWithoutStack = function (condition, format) { + for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { + args[_key - 2] = arguments[_key]; + } + + if (format === undefined) { + throw new Error('`warningWithoutStack(condition, format, ...args)` requires a warning ' + 'message argument'); + } + if (args.length > 8) { + // Check before the condition to catch violations early. + throw new Error('warningWithoutStack() currently supports at most 8 arguments.'); + } + if (condition) { + return; + } + if (typeof console !== 'undefined') { + var argsWithFormat = args.map(function (item) { + return '' + item; + }); + argsWithFormat.unshift('Warning: ' + format); + + // We intentionally don't use spread (or .apply) directly because it + // breaks IE9: https://github.com/facebook/react/issues/13610 + Function.prototype.apply.call(console.error, console, argsWithFormat); + } + try { + // --- Welcome to debugging React --- + // This error was thrown as a convenience so that you can use this stack + // to find the callsite that caused this warning to fire. + var argIndex = 0; + var message = 'Warning: ' + format.replace(/%s/g, function () { + return args[argIndex++]; + }); + throw new Error(message); + } catch (x) {} + }; + } + + var warningWithoutStack$1 = warningWithoutStack; + + /** + * `ReactInstanceMap` maintains a mapping from a public facing stateful + * instance (key) and the internal representation (value). This allows public + * methods to accept the user facing instance as an argument and map them back + * to internal methods. + * + * Note that this module is currently shared and assumed to be stateless. + * If this becomes an actual Map, that will break. + */ + + /** + * This API should be called `delete` but we'd have to make sure to always + * transform these to strings for IE support. When this transform is fully + * supported we can rename it. + */ + + + function get(key) { + return key._reactInternalFiber; + } + + + + function set(key, value) { + key._reactInternalFiber = value; + } + + var ReactSharedInternals = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; + + // Prevent newer renderers from RTE when used with older react package versions. + // Current owner and dispatcher used to share the same ref, + // but PR #14548 split them out to better support the react-debug-tools package. + if (!ReactSharedInternals.hasOwnProperty('ReactCurrentDispatcher')) { + ReactSharedInternals.ReactCurrentDispatcher = { + current: null + }; + } + + // The Symbol used to tag the ReactElement-like types. If there is no native Symbol + // nor polyfill, then a plain number is used for performance. + var hasSymbol = typeof Symbol === 'function' && Symbol.for; + + var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7; + var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca; + var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb; + var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc; + var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2; + var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd; + var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; + + var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf; + var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0; + var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1; + var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3; + var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4; + + var MAYBE_ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; + var FAUX_ITERATOR_SYMBOL = '@@iterator'; + + function getIteratorFn(maybeIterable) { + if (maybeIterable === null || typeof maybeIterable !== 'object') { + return null; + } + var maybeIterator = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]; + if (typeof maybeIterator === 'function') { + return maybeIterator; + } + return null; + } + + var Pending = 0; + var Resolved = 1; + var Rejected = 2; + + function refineResolvedLazyComponent(lazyComponent) { + return lazyComponent._status === Resolved ? lazyComponent._result : null; + } + + function getWrappedName(outerType, innerType, wrapperName) { + var functionName = innerType.displayName || innerType.name || ''; + return outerType.displayName || (functionName !== '' ? wrapperName + '(' + functionName + ')' : wrapperName); + } + + function getComponentName(type) { + if (type == null) { + // Host root, text node or just invalid type. + return null; + } + { + if (typeof type.tag === 'number') { + warningWithoutStack$1(false, 'Received an unexpected object in getComponentName(). ' + 'This is likely a bug in React. Please file an issue.'); + } + } + if (typeof type === 'function') { + return type.displayName || type.name || null; + } + if (typeof type === 'string') { + return type; + } + switch (type) { + case REACT_CONCURRENT_MODE_TYPE: + return 'ConcurrentMode'; + case REACT_FRAGMENT_TYPE: + return 'Fragment'; + case REACT_PORTAL_TYPE: + return 'Portal'; + case REACT_PROFILER_TYPE: + return 'Profiler'; + case REACT_STRICT_MODE_TYPE: + return 'StrictMode'; + case REACT_SUSPENSE_TYPE: + return 'Suspense'; + } + if (typeof type === 'object') { + switch (type.$$typeof) { + case REACT_CONTEXT_TYPE: + return 'Context.Consumer'; + case REACT_PROVIDER_TYPE: + return 'Context.Provider'; + case REACT_FORWARD_REF_TYPE: + return getWrappedName(type, type.render, 'ForwardRef'); + case REACT_MEMO_TYPE: + return getComponentName(type.type); + case REACT_LAZY_TYPE: + { + var thenable = type; + var resolvedThenable = refineResolvedLazyComponent(thenable); + if (resolvedThenable) { + return getComponentName(resolvedThenable); + } + } + } + } + return null; + } + + var FunctionComponent = 0; + var ClassComponent = 1; + var IndeterminateComponent = 2; // Before we know whether it is function or class + var HostRoot = 3; // Root of a host tree. Could be nested inside another node. + var HostPortal = 4; // A subtree. Could be an entry point to a different renderer. + var HostComponent = 5; + var HostText = 6; + var Fragment = 7; + var Mode = 8; + var ContextConsumer = 9; + var ContextProvider = 10; + var ForwardRef = 11; + var Profiler = 12; + var SuspenseComponent = 13; + var MemoComponent = 14; + var SimpleMemoComponent = 15; + var LazyComponent = 16; + var IncompleteClassComponent = 17; + var DehydratedSuspenseComponent = 18; + + // Don't change these two values. They're used by React Dev Tools. + var NoEffect = /* */0; + var PerformedWork = /* */1; + + // You can change the rest (and add more). + var Placement = /* */2; + var Update = /* */4; + var PlacementAndUpdate = /* */6; + var Deletion = /* */8; + var ContentReset = /* */16; + var Callback = /* */32; + var DidCapture = /* */64; + var Ref = /* */128; + var Snapshot = /* */256; + var Passive = /* */512; + + // Passive & Update & Callback & Ref & Snapshot + var LifecycleEffectMask = /* */932; + + // Union of all host effects + var HostEffectMask = /* */1023; + + var Incomplete = /* */1024; + var ShouldCapture = /* */2048; + + var ReactCurrentOwner = ReactSharedInternals.ReactCurrentOwner; + + var MOUNTING = 1; + var MOUNTED = 2; + var UNMOUNTED = 3; + + function isFiberMountedImpl(fiber) { + var node = fiber; + if (!fiber.alternate) { + // If there is no alternate, this might be a new tree that isn't inserted + // yet. If it is, then it will have a pending insertion effect on it. + if ((node.effectTag & Placement) !== NoEffect) { + return MOUNTING; + } + while (node.return) { + node = node.return; + if ((node.effectTag & Placement) !== NoEffect) { + return MOUNTING; + } + } + } else { + while (node.return) { + node = node.return; + } + } + if (node.tag === HostRoot) { + // TODO: Check if this was a nested HostRoot when used with + // renderContainerIntoSubtree. + return MOUNTED; + } + // If we didn't hit the root, that means that we're in an disconnected tree + // that has been unmounted. + return UNMOUNTED; + } + + function isFiberMounted(fiber) { + return isFiberMountedImpl(fiber) === MOUNTED; + } + + function isMounted(component) { + { + var owner = ReactCurrentOwner.current; + if (owner !== null && owner.tag === ClassComponent) { + var ownerFiber = owner; + var instance = ownerFiber.stateNode; + !instance._warnedAboutRefsInRender ? warningWithoutStack$1(false, '%s is accessing isMounted inside its render() function. ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', getComponentName(ownerFiber.type) || 'A component') : void 0; + instance._warnedAboutRefsInRender = true; + } + } + + var fiber = get(component); + if (!fiber) { + return false; + } + return isFiberMountedImpl(fiber) === MOUNTED; + } + + function assertIsMounted(fiber) { + !(isFiberMountedImpl(fiber) === MOUNTED) ? invariant(false, 'Unable to find node on an unmounted component.') : void 0; + } + + function findCurrentFiberUsingSlowPath(fiber) { + var alternate = fiber.alternate; + if (!alternate) { + // If there is no alternate, then we only need to check if it is mounted. + var state = isFiberMountedImpl(fiber); + !(state !== UNMOUNTED) ? invariant(false, 'Unable to find node on an unmounted component.') : void 0; + if (state === MOUNTING) { + return null; + } + return fiber; + } + // If we have two possible branches, we'll walk backwards up to the root + // to see what path the root points to. On the way we may hit one of the + // special cases and we'll deal with them. + var a = fiber; + var b = alternate; + while (true) { + var parentA = a.return; + var parentB = parentA ? parentA.alternate : null; + if (!parentA || !parentB) { + // We're at the root. + break; + } + + // If both copies of the parent fiber point to the same child, we can + // assume that the child is current. This happens when we bailout on low + // priority: the bailed out fiber's child reuses the current child. + if (parentA.child === parentB.child) { + var child = parentA.child; + while (child) { + if (child === a) { + // We've determined that A is the current branch. + assertIsMounted(parentA); + return fiber; + } + if (child === b) { + // We've determined that B is the current branch. + assertIsMounted(parentA); + return alternate; + } + child = child.sibling; + } + // We should never have an alternate for any mounting node. So the only + // way this could possibly happen is if this was unmounted, if at all. + invariant(false, 'Unable to find node on an unmounted component.'); + } + + if (a.return !== b.return) { + // The return pointer of A and the return pointer of B point to different + // fibers. We assume that return pointers never criss-cross, so A must + // belong to the child set of A.return, and B must belong to the child + // set of B.return. + a = parentA; + b = parentB; + } else { + // The return pointers point to the same fiber. We'll have to use the + // default, slow path: scan the child sets of each parent alternate to see + // which child belongs to which set. + // + // Search parent A's child set + var didFindChild = false; + var _child = parentA.child; + while (_child) { + if (_child === a) { + didFindChild = true; + a = parentA; + b = parentB; + break; + } + if (_child === b) { + didFindChild = true; + b = parentA; + a = parentB; + break; + } + _child = _child.sibling; + } + if (!didFindChild) { + // Search parent B's child set + _child = parentB.child; + while (_child) { + if (_child === a) { + didFindChild = true; + a = parentB; + b = parentA; + break; + } + if (_child === b) { + didFindChild = true; + b = parentB; + a = parentA; + break; + } + _child = _child.sibling; + } + !didFindChild ? invariant(false, 'Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.') : void 0; + } + } + + !(a.alternate === b) ? invariant(false, 'Return fibers should always be each others\' alternates. This error is likely caused by a bug in React. Please file an issue.') : void 0; + } + // If the root is not a host container, we're in a disconnected tree. I.e. + // unmounted. + !(a.tag === HostRoot) ? invariant(false, 'Unable to find node on an unmounted component.') : void 0; + if (a.stateNode.current === a) { + // We've determined that A is the current branch. + return fiber; + } + // Otherwise B has to be current branch. + return alternate; + } + + function findCurrentHostFiber(parent) { + var currentParent = findCurrentFiberUsingSlowPath(parent); + if (!currentParent) { + return null; + } + + // Next we'll drill down this component to find the first HostComponent/Text. + var node = currentParent; + while (true) { + if (node.tag === HostComponent || node.tag === HostText) { + return node; + } else if (node.child) { + node.child.return = node; + node = node.child; + continue; + } + if (node === currentParent) { + return null; + } + while (!node.sibling) { + if (!node.return || node.return === currentParent) { + return null; + } + node = node.return; + } + node.sibling.return = node.return; + node = node.sibling; + } + // Flow needs the return null here, but ESLint complains about it. + // eslint-disable-next-line no-unreachable + return null; + } + + function findCurrentHostFiberWithNoPortals(parent) { + var currentParent = findCurrentFiberUsingSlowPath(parent); + if (!currentParent) { + return null; + } + + // Next we'll drill down this component to find the first HostComponent/Text. + var node = currentParent; + while (true) { + if (node.tag === HostComponent || node.tag === HostText) { + return node; + } else if (node.child && node.tag !== HostPortal) { + node.child.return = node; + node = node.child; + continue; + } + if (node === currentParent) { + return null; + } + while (!node.sibling) { + if (!node.return || node.return === currentParent) { + return null; + } + node = node.return; + } + node.sibling.return = node.return; + node = node.sibling; + } + // Flow needs the return null here, but ESLint complains about it. + // eslint-disable-next-line no-unreachable + return null; + } + + // eslint-disable-line no-undef + + // eslint-disable-line no-undef + // eslint-disable-line no-undef + // eslint-disable-line no-undef + // eslint-disable-line no-undef + // eslint-disable-line no-undef + // eslint-disable-line no-undef + // This is a host config that's used for the `react-reconciler` package on npm. + // It is only used by third-party renderers. + // + // Its API lets you pass the host config as an argument. + // However, inside the `react-reconciler` we treat host config as a module. + // This file is a shim between two worlds. + // + // It works because the `react-reconciler` bundle is wrapped in something like: + // + // module.exports = function ($$$config) { + // /* reconciler code */ + // } + // + // So `$$$config` looks like a global variable, but it's + // really an argument to a top-level wrapping function. + + var getPublicInstance = $$$hostConfig.getPublicInstance; // eslint-disable-line no-undef + // eslint-disable-line no-undef + // eslint-disable-line no-undef + // eslint-disable-line no-undef + // eslint-disable-line no-undef + // eslint-disable-line no-undef + + var getRootHostContext = $$$hostConfig.getRootHostContext; + var getChildHostContext = $$$hostConfig.getChildHostContext; + var prepareForCommit = $$$hostConfig.prepareForCommit; + var resetAfterCommit = $$$hostConfig.resetAfterCommit; + var createInstance = $$$hostConfig.createInstance; + var appendInitialChild = $$$hostConfig.appendInitialChild; + var finalizeInitialChildren = $$$hostConfig.finalizeInitialChildren; + var prepareUpdate = $$$hostConfig.prepareUpdate; + var shouldSetTextContent = $$$hostConfig.shouldSetTextContent; + var shouldDeprioritizeSubtree = $$$hostConfig.shouldDeprioritizeSubtree; + var createTextInstance = $$$hostConfig.createTextInstance; + var scheduleDeferredCallback = $$$hostConfig.scheduleDeferredCallback; + var cancelDeferredCallback = $$$hostConfig.cancelDeferredCallback; + var shouldYield = $$$hostConfig.shouldYield; + var scheduleTimeout = $$$hostConfig.setTimeout; + var cancelTimeout = $$$hostConfig.clearTimeout; + var noTimeout = $$$hostConfig.noTimeout; + var schedulePassiveEffects = $$$hostConfig.schedulePassiveEffects; + var cancelPassiveEffects = $$$hostConfig.cancelPassiveEffects; + var now = $$$hostConfig.now; + var isPrimaryRenderer = $$$hostConfig.isPrimaryRenderer; + var supportsMutation = $$$hostConfig.supportsMutation; + var supportsPersistence = $$$hostConfig.supportsPersistence; + var supportsHydration = $$$hostConfig.supportsHydration; + + // ------------------- + // Mutation + // (optional) + // ------------------- + var appendChild = $$$hostConfig.appendChild; + var appendChildToContainer = $$$hostConfig.appendChildToContainer; + var commitTextUpdate = $$$hostConfig.commitTextUpdate; + var commitMount = $$$hostConfig.commitMount; + var commitUpdate = $$$hostConfig.commitUpdate; + var insertBefore = $$$hostConfig.insertBefore; + var insertInContainerBefore = $$$hostConfig.insertInContainerBefore; + var removeChild = $$$hostConfig.removeChild; + var removeChildFromContainer = $$$hostConfig.removeChildFromContainer; + var resetTextContent = $$$hostConfig.resetTextContent; + var hideInstance = $$$hostConfig.hideInstance; + var hideTextInstance = $$$hostConfig.hideTextInstance; + var unhideInstance = $$$hostConfig.unhideInstance; + var unhideTextInstance = $$$hostConfig.unhideTextInstance; + + // ------------------- + // Persistence + // (optional) + // ------------------- + var cloneInstance = $$$hostConfig.cloneInstance; + var createContainerChildSet = $$$hostConfig.createContainerChildSet; + var appendChildToContainerChildSet = $$$hostConfig.appendChildToContainerChildSet; + var finalizeContainerChildren = $$$hostConfig.finalizeContainerChildren; + var replaceContainerChildren = $$$hostConfig.replaceContainerChildren; + var cloneHiddenInstance = $$$hostConfig.cloneHiddenInstance; + var cloneUnhiddenInstance = $$$hostConfig.cloneUnhiddenInstance; + var createHiddenTextInstance = $$$hostConfig.createHiddenTextInstance; + + // ------------------- + // Hydration + // (optional) + // ------------------- + var canHydrateInstance = $$$hostConfig.canHydrateInstance; + var canHydrateTextInstance = $$$hostConfig.canHydrateTextInstance; + var canHydrateSuspenseInstance = $$$hostConfig.canHydrateSuspenseInstance; + var getNextHydratableSibling = $$$hostConfig.getNextHydratableSibling; + var getFirstHydratableChild = $$$hostConfig.getFirstHydratableChild; + var hydrateInstance = $$$hostConfig.hydrateInstance; + var hydrateTextInstance = $$$hostConfig.hydrateTextInstance; + var getNextHydratableInstanceAfterSuspenseInstance = $$$hostConfig.getNextHydratableInstanceAfterSuspenseInstance; + var clearSuspenseBoundary = $$$hostConfig.clearSuspenseBoundary; + var clearSuspenseBoundaryFromContainer = $$$hostConfig.clearSuspenseBoundaryFromContainer; + var didNotMatchHydratedContainerTextInstance = $$$hostConfig.didNotMatchHydratedContainerTextInstance; + var didNotMatchHydratedTextInstance = $$$hostConfig.didNotMatchHydratedTextInstance; + var didNotHydrateContainerInstance = $$$hostConfig.didNotHydrateContainerInstance; + var didNotHydrateInstance = $$$hostConfig.didNotHydrateInstance; + var didNotFindHydratableContainerInstance = $$$hostConfig.didNotFindHydratableContainerInstance; + var didNotFindHydratableContainerTextInstance = $$$hostConfig.didNotFindHydratableContainerTextInstance; + var didNotFindHydratableContainerSuspenseInstance = $$$hostConfig.didNotFindHydratableContainerSuspenseInstance; + var didNotFindHydratableInstance = $$$hostConfig.didNotFindHydratableInstance; + var didNotFindHydratableTextInstance = $$$hostConfig.didNotFindHydratableTextInstance; + var didNotFindHydratableSuspenseInstance = $$$hostConfig.didNotFindHydratableSuspenseInstance; + + var BEFORE_SLASH_RE = /^(.*)[\\\/]/; + + var describeComponentFrame = function (name, source, ownerName) { + var sourceInfo = ''; + if (source) { + var path = source.fileName; + var fileName = path.replace(BEFORE_SLASH_RE, ''); + { + // In DEV, include code for a common special case: + // prefer "folder/index.js" instead of just "index.js". + if (/^index\./.test(fileName)) { + var match = path.match(BEFORE_SLASH_RE); + if (match) { + var pathBeforeSlash = match[1]; + if (pathBeforeSlash) { + var folderName = pathBeforeSlash.replace(BEFORE_SLASH_RE, ''); + fileName = folderName + '/' + fileName; + } + } + } + } + sourceInfo = ' (at ' + fileName + ':' + source.lineNumber + ')'; + } else if (ownerName) { + sourceInfo = ' (created by ' + ownerName + ')'; + } + return '\n in ' + (name || 'Unknown') + sourceInfo; + }; + + var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; + + function describeFiber(fiber) { + switch (fiber.tag) { + case HostRoot: + case HostPortal: + case HostText: + case Fragment: + case ContextProvider: + case ContextConsumer: + return ''; + default: + var owner = fiber._debugOwner; + var source = fiber._debugSource; + var name = getComponentName(fiber.type); + var ownerName = null; + if (owner) { + ownerName = getComponentName(owner.type); + } + return describeComponentFrame(name, source, ownerName); + } + } + + function getStackByFiberInDevAndProd(workInProgress) { + var info = ''; + var node = workInProgress; + do { + info += describeFiber(node); + node = node.return; + } while (node); + return info; + } + + var current = null; + var phase = null; + + function getCurrentFiberOwnerNameInDevOrNull() { + { + if (current === null) { + return null; + } + var owner = current._debugOwner; + if (owner !== null && typeof owner !== 'undefined') { + return getComponentName(owner.type); + } + } + return null; + } + + function getCurrentFiberStackInDev() { + { + if (current === null) { + return ''; + } + // Safe because if current fiber exists, we are reconciling, + // and it is guaranteed to be the work-in-progress version. + return getStackByFiberInDevAndProd(current); + } + return ''; + } + + function resetCurrentFiber() { + { + ReactDebugCurrentFrame.getCurrentStack = null; + current = null; + phase = null; + } + } + + function setCurrentFiber(fiber) { + { + ReactDebugCurrentFrame.getCurrentStack = getCurrentFiberStackInDev; + current = fiber; + phase = null; + } + } + + function setCurrentPhase(lifeCyclePhase) { + { + phase = lifeCyclePhase; + } + } + + var enableUserTimingAPI = true; + + // Helps identify side effects in begin-phase lifecycle hooks and setState reducers: + var debugRenderPhaseSideEffects = false; + + // In some cases, StrictMode should also double-render lifecycles. + // This can be confusing for tests though, + // And it can be bad for performance in production. + // This feature flag can be used to control the behavior: + var debugRenderPhaseSideEffectsForStrictMode = true; + + // To preserve the "Pause on caught exceptions" behavior of the debugger, we + // replay the begin phase of a failed component inside invokeGuardedCallback. + var replayFailedUnitOfWorkWithInvokeGuardedCallback = true; + + // Warn about deprecated, async-unsafe lifecycles; relates to RFC #6: + var warnAboutDeprecatedLifecycles = false; + + // Gather advanced timing metrics for Profiler subtrees. + var enableProfilerTimer = true; + + // Trace which interactions trigger each commit. + var enableSchedulerTracing = true; + + // Only used in www builds. + var enableSuspenseServerRenderer = false; // TODO: true? Here it might just be false. + + // Only used in www builds. + + + // Only used in www builds. + + + // React Fire: prevent the value and checked attributes from syncing + // with their related DOM properties + + + // These APIs will no longer be "unstable" in the upcoming 16.7 release, + // Control this behavior with a flag to support 16.6 minor releases in the meanwhile. + + // Prefix measurements so that it's possible to filter them. + // Longer prefixes are hard to read in DevTools. + var reactEmoji = '\u269B'; + var warningEmoji = '\u26D4'; + var supportsUserTiming = typeof performance !== 'undefined' && typeof performance.mark === 'function' && typeof performance.clearMarks === 'function' && typeof performance.measure === 'function' && typeof performance.clearMeasures === 'function'; + + // Keep track of current fiber so that we know the path to unwind on pause. + // TODO: this looks the same as nextUnitOfWork in scheduler. Can we unify them? + var currentFiber = null; + // If we're in the middle of user code, which fiber and method is it? + // Reusing `currentFiber` would be confusing for this because user code fiber + // can change during commit phase too, but we don't need to unwind it (since + // lifecycles in the commit phase don't resemble a tree). + var currentPhase = null; + var currentPhaseFiber = null; + // Did lifecycle hook schedule an update? This is often a performance problem, + // so we will keep track of it, and include it in the report. + // Track commits caused by cascading updates. + var isCommitting = false; + var hasScheduledUpdateInCurrentCommit = false; + var hasScheduledUpdateInCurrentPhase = false; + var commitCountInCurrentWorkLoop = 0; + var effectCountInCurrentCommit = 0; + var isWaitingForCallback = false; + // During commits, we only show a measurement once per method name + // to avoid stretch the commit phase with measurement overhead. + var labelsInCurrentCommit = new Set(); + + var formatMarkName = function (markName) { + return reactEmoji + ' ' + markName; + }; + + var formatLabel = function (label, warning) { + var prefix = warning ? warningEmoji + ' ' : reactEmoji + ' '; + var suffix = warning ? ' Warning: ' + warning : ''; + return '' + prefix + label + suffix; + }; + + var beginMark = function (markName) { + performance.mark(formatMarkName(markName)); + }; + + var clearMark = function (markName) { + performance.clearMarks(formatMarkName(markName)); + }; + + var endMark = function (label, markName, warning) { + var formattedMarkName = formatMarkName(markName); + var formattedLabel = formatLabel(label, warning); + try { + performance.measure(formattedLabel, formattedMarkName); + } catch (err) {} + // If previous mark was missing for some reason, this will throw. + // This could only happen if React crashed in an unexpected place earlier. + // Don't pile on with more errors. + + // Clear marks immediately to avoid growing buffer. + performance.clearMarks(formattedMarkName); + performance.clearMeasures(formattedLabel); + }; + + var getFiberMarkName = function (label, debugID) { + return label + ' (#' + debugID + ')'; + }; + + var getFiberLabel = function (componentName, isMounted, phase) { + if (phase === null) { + // These are composite component total time measurements. + return componentName + ' [' + (isMounted ? 'update' : 'mount') + ']'; + } else { + // Composite component methods. + return componentName + '.' + phase; + } + }; + + var beginFiberMark = function (fiber, phase) { + var componentName = getComponentName(fiber.type) || 'Unknown'; + var debugID = fiber._debugID; + var isMounted = fiber.alternate !== null; + var label = getFiberLabel(componentName, isMounted, phase); + + if (isCommitting && labelsInCurrentCommit.has(label)) { + // During the commit phase, we don't show duplicate labels because + // there is a fixed overhead for every measurement, and we don't + // want to stretch the commit phase beyond necessary. + return false; + } + labelsInCurrentCommit.add(label); + + var markName = getFiberMarkName(label, debugID); + beginMark(markName); + return true; + }; + + var clearFiberMark = function (fiber, phase) { + var componentName = getComponentName(fiber.type) || 'Unknown'; + var debugID = fiber._debugID; + var isMounted = fiber.alternate !== null; + var label = getFiberLabel(componentName, isMounted, phase); + var markName = getFiberMarkName(label, debugID); + clearMark(markName); + }; + + var endFiberMark = function (fiber, phase, warning) { + var componentName = getComponentName(fiber.type) || 'Unknown'; + var debugID = fiber._debugID; + var isMounted = fiber.alternate !== null; + var label = getFiberLabel(componentName, isMounted, phase); + var markName = getFiberMarkName(label, debugID); + endMark(label, markName, warning); + }; + + var shouldIgnoreFiber = function (fiber) { + // Host components should be skipped in the timeline. + // We could check typeof fiber.type, but does this work with RN? + switch (fiber.tag) { + case HostRoot: + case HostComponent: + case HostText: + case HostPortal: + case Fragment: + case ContextProvider: + case ContextConsumer: + case Mode: + return true; + default: + return false; + } + }; + + var clearPendingPhaseMeasurement = function () { + if (currentPhase !== null && currentPhaseFiber !== null) { + clearFiberMark(currentPhaseFiber, currentPhase); + } + currentPhaseFiber = null; + currentPhase = null; + hasScheduledUpdateInCurrentPhase = false; + }; + + var pauseTimers = function () { + // Stops all currently active measurements so that they can be resumed + // if we continue in a later deferred loop from the same unit of work. + var fiber = currentFiber; + while (fiber) { + if (fiber._debugIsCurrentlyTiming) { + endFiberMark(fiber, null, null); + } + fiber = fiber.return; + } + }; + + var resumeTimersRecursively = function (fiber) { + if (fiber.return !== null) { + resumeTimersRecursively(fiber.return); + } + if (fiber._debugIsCurrentlyTiming) { + beginFiberMark(fiber, null); + } + }; + + var resumeTimers = function () { + // Resumes all measurements that were active during the last deferred loop. + if (currentFiber !== null) { + resumeTimersRecursively(currentFiber); + } + }; + + function recordEffect() { + if (enableUserTimingAPI) { + effectCountInCurrentCommit++; + } + } + + function recordScheduleUpdate() { + if (enableUserTimingAPI) { + if (isCommitting) { + hasScheduledUpdateInCurrentCommit = true; + } + if (currentPhase !== null && currentPhase !== 'componentWillMount' && currentPhase !== 'componentWillReceiveProps') { + hasScheduledUpdateInCurrentPhase = true; + } + } + } + + function startRequestCallbackTimer() { + if (enableUserTimingAPI) { + if (supportsUserTiming && !isWaitingForCallback) { + isWaitingForCallback = true; + beginMark('(Waiting for async callback...)'); + } + } + } + + function stopRequestCallbackTimer(didExpire, expirationTime) { + if (enableUserTimingAPI) { + if (supportsUserTiming) { + isWaitingForCallback = false; + var warning = didExpire ? 'React was blocked by main thread' : null; + endMark('(Waiting for async callback... will force flush in ' + expirationTime + ' ms)', '(Waiting for async callback...)', warning); + } + } + } + + function startWorkTimer(fiber) { + if (enableUserTimingAPI) { + if (!supportsUserTiming || shouldIgnoreFiber(fiber)) { + return; + } + // If we pause, this is the fiber to unwind from. + currentFiber = fiber; + if (!beginFiberMark(fiber, null)) { + return; + } + fiber._debugIsCurrentlyTiming = true; + } + } + + function cancelWorkTimer(fiber) { + if (enableUserTimingAPI) { + if (!supportsUserTiming || shouldIgnoreFiber(fiber)) { + return; + } + // Remember we shouldn't complete measurement for this fiber. + // Otherwise flamechart will be deep even for small updates. + fiber._debugIsCurrentlyTiming = false; + clearFiberMark(fiber, null); + } + } + + function stopWorkTimer(fiber) { + if (enableUserTimingAPI) { + if (!supportsUserTiming || shouldIgnoreFiber(fiber)) { + return; + } + // If we pause, its parent is the fiber to unwind from. + currentFiber = fiber.return; + if (!fiber._debugIsCurrentlyTiming) { + return; + } + fiber._debugIsCurrentlyTiming = false; + endFiberMark(fiber, null, null); + } + } + + function stopFailedWorkTimer(fiber) { + if (enableUserTimingAPI) { + if (!supportsUserTiming || shouldIgnoreFiber(fiber)) { + return; + } + // If we pause, its parent is the fiber to unwind from. + currentFiber = fiber.return; + if (!fiber._debugIsCurrentlyTiming) { + return; + } + fiber._debugIsCurrentlyTiming = false; + var warning = fiber.tag === SuspenseComponent || fiber.tag === DehydratedSuspenseComponent ? 'Rendering was suspended' : 'An error was thrown inside this error boundary'; + endFiberMark(fiber, null, warning); + } + } + + function startPhaseTimer(fiber, phase) { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + clearPendingPhaseMeasurement(); + if (!beginFiberMark(fiber, phase)) { + return; + } + currentPhaseFiber = fiber; + currentPhase = phase; + } + } + + function stopPhaseTimer() { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + if (currentPhase !== null && currentPhaseFiber !== null) { + var warning = hasScheduledUpdateInCurrentPhase ? 'Scheduled a cascading update' : null; + endFiberMark(currentPhaseFiber, currentPhase, warning); + } + currentPhase = null; + currentPhaseFiber = null; + } + } + + function startWorkLoopTimer(nextUnitOfWork) { + if (enableUserTimingAPI) { + currentFiber = nextUnitOfWork; + if (!supportsUserTiming) { + return; + } + commitCountInCurrentWorkLoop = 0; + // This is top level call. + // Any other measurements are performed within. + beginMark('(React Tree Reconciliation)'); + // Resume any measurements that were in progress during the last loop. + resumeTimers(); + } + } + + function stopWorkLoopTimer(interruptedBy, didCompleteRoot) { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + var warning = null; + if (interruptedBy !== null) { + if (interruptedBy.tag === HostRoot) { + warning = 'A top-level update interrupted the previous render'; + } else { + var componentName = getComponentName(interruptedBy.type) || 'Unknown'; + warning = 'An update to ' + componentName + ' interrupted the previous render'; + } + } else if (commitCountInCurrentWorkLoop > 1) { + warning = 'There were cascading updates'; + } + commitCountInCurrentWorkLoop = 0; + var label = didCompleteRoot ? '(React Tree Reconciliation: Completed Root)' : '(React Tree Reconciliation: Yielded)'; + // Pause any measurements until the next loop. + pauseTimers(); + endMark(label, '(React Tree Reconciliation)', warning); + } + } + + function startCommitTimer() { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + isCommitting = true; + hasScheduledUpdateInCurrentCommit = false; + labelsInCurrentCommit.clear(); + beginMark('(Committing Changes)'); + } + } + + function stopCommitTimer() { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + + var warning = null; + if (hasScheduledUpdateInCurrentCommit) { + warning = 'Lifecycle hook scheduled a cascading update'; + } else if (commitCountInCurrentWorkLoop > 0) { + warning = 'Caused by a cascading update in earlier commit'; + } + hasScheduledUpdateInCurrentCommit = false; + commitCountInCurrentWorkLoop++; + isCommitting = false; + labelsInCurrentCommit.clear(); + + endMark('(Committing Changes)', '(Committing Changes)', warning); + } + } + + function startCommitSnapshotEffectsTimer() { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + effectCountInCurrentCommit = 0; + beginMark('(Committing Snapshot Effects)'); + } + } + + function stopCommitSnapshotEffectsTimer() { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + var count = effectCountInCurrentCommit; + effectCountInCurrentCommit = 0; + endMark('(Committing Snapshot Effects: ' + count + ' Total)', '(Committing Snapshot Effects)', null); + } + } + + function startCommitHostEffectsTimer() { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + effectCountInCurrentCommit = 0; + beginMark('(Committing Host Effects)'); + } + } + + function stopCommitHostEffectsTimer() { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + var count = effectCountInCurrentCommit; + effectCountInCurrentCommit = 0; + endMark('(Committing Host Effects: ' + count + ' Total)', '(Committing Host Effects)', null); + } + } + + function startCommitLifeCyclesTimer() { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + effectCountInCurrentCommit = 0; + beginMark('(Calling Lifecycle Methods)'); + } + } + + function stopCommitLifeCyclesTimer() { + if (enableUserTimingAPI) { + if (!supportsUserTiming) { + return; + } + var count = effectCountInCurrentCommit; + effectCountInCurrentCommit = 0; + endMark('(Calling Lifecycle Methods: ' + count + ' Total)', '(Calling Lifecycle Methods)', null); + } + } + + var valueStack = []; + + var fiberStack = void 0; + + { + fiberStack = []; + } + + var index = -1; + + function createCursor(defaultValue) { + return { + current: defaultValue + }; + } + + function pop(cursor, fiber) { + if (index < 0) { + { + warningWithoutStack$1(false, 'Unexpected pop.'); + } + return; + } + + { + if (fiber !== fiberStack[index]) { + warningWithoutStack$1(false, 'Unexpected Fiber popped.'); + } + } + + cursor.current = valueStack[index]; + + valueStack[index] = null; + + { + fiberStack[index] = null; + } + + index--; + } + + function push(cursor, value, fiber) { + index++; + + valueStack[index] = cursor.current; + + { + fiberStack[index] = fiber; + } + + cursor.current = value; + } + + function checkThatStackIsEmpty() { + { + if (index !== -1) { + warningWithoutStack$1(false, 'Expected an empty stack. Something was not reset properly.'); + } + } + } + + function resetStackAfterFatalErrorInDev() { + { + index = -1; + valueStack.length = 0; + fiberStack.length = 0; + } + } + + var warnedAboutMissingGetChildContext = void 0; + + { + warnedAboutMissingGetChildContext = {}; + } + + var emptyContextObject = {}; + { + Object.freeze(emptyContextObject); + } + + // A cursor to the current merged context object on the stack. + var contextStackCursor = createCursor(emptyContextObject); + // A cursor to a boolean indicating whether the context has changed. + var didPerformWorkStackCursor = createCursor(false); + // Keep track of the previous context object that was on the stack. + // We use this to get access to the parent context after we have already + // pushed the next context provider, and now need to merge their contexts. + var previousContext = emptyContextObject; + + function getUnmaskedContext(workInProgress, Component, didPushOwnContextIfProvider) { + if (didPushOwnContextIfProvider && isContextProvider(Component)) { + // If the fiber is a context provider itself, when we read its context + // we may have already pushed its own child context on the stack. A context + // provider should not "see" its own child context. Therefore we read the + // previous (parent) context instead for a context provider. + return previousContext; + } + return contextStackCursor.current; + } + + function cacheContext(workInProgress, unmaskedContext, maskedContext) { + var instance = workInProgress.stateNode; + instance.__reactInternalMemoizedUnmaskedChildContext = unmaskedContext; + instance.__reactInternalMemoizedMaskedChildContext = maskedContext; + } + + function getMaskedContext(workInProgress, unmaskedContext) { + var type = workInProgress.type; + var contextTypes = type.contextTypes; + if (!contextTypes) { + return emptyContextObject; + } + + // Avoid recreating masked context unless unmasked context has changed. + // Failing to do this will result in unnecessary calls to componentWillReceiveProps. + // This may trigger infinite loops if componentWillReceiveProps calls setState. + var instance = workInProgress.stateNode; + if (instance && instance.__reactInternalMemoizedUnmaskedChildContext === unmaskedContext) { + return instance.__reactInternalMemoizedMaskedChildContext; + } + + var context = {}; + for (var key in contextTypes) { + context[key] = unmaskedContext[key]; + } + + { + var name = getComponentName(type) || 'Unknown'; + checkPropTypes(contextTypes, context, 'context', name, getCurrentFiberStackInDev); + } + + // Cache unmasked context so we can avoid recreating masked context unless necessary. + // Context is created before the class component is instantiated so check for instance. + if (instance) { + cacheContext(workInProgress, unmaskedContext, context); + } + + return context; + } + + function hasContextChanged() { + return didPerformWorkStackCursor.current; + } + + function isContextProvider(type) { + var childContextTypes = type.childContextTypes; + return childContextTypes !== null && childContextTypes !== undefined; + } + + function popContext(fiber) { + pop(didPerformWorkStackCursor, fiber); + pop(contextStackCursor, fiber); + } + + function popTopLevelContextObject(fiber) { + pop(didPerformWorkStackCursor, fiber); + pop(contextStackCursor, fiber); + } + + function pushTopLevelContextObject(fiber, context, didChange) { + !(contextStackCursor.current === emptyContextObject) ? invariant(false, 'Unexpected context found on stack. This error is likely caused by a bug in React. Please file an issue.') : void 0; + + push(contextStackCursor, context, fiber); + push(didPerformWorkStackCursor, didChange, fiber); + } + + function processChildContext(fiber, type, parentContext) { + var instance = fiber.stateNode; + var childContextTypes = type.childContextTypes; + + // TODO (bvaughn) Replace this behavior with an invariant() in the future. + // It has only been added in Fiber to match the (unintentional) behavior in Stack. + if (typeof instance.getChildContext !== 'function') { + { + var componentName = getComponentName(type) || 'Unknown'; + + if (!warnedAboutMissingGetChildContext[componentName]) { + warnedAboutMissingGetChildContext[componentName] = true; + warningWithoutStack$1(false, '%s.childContextTypes is specified but there is no getChildContext() method ' + 'on the instance. You can either define getChildContext() on %s or remove ' + 'childContextTypes from it.', componentName, componentName); + } + } + return parentContext; + } + + var childContext = void 0; + { + setCurrentPhase('getChildContext'); + } + startPhaseTimer(fiber, 'getChildContext'); + childContext = instance.getChildContext(); + stopPhaseTimer(); + { + setCurrentPhase(null); + } + for (var contextKey in childContext) { + !(contextKey in childContextTypes) ? invariant(false, '%s.getChildContext(): key "%s" is not defined in childContextTypes.', getComponentName(type) || 'Unknown', contextKey) : void 0; + } + { + var name = getComponentName(type) || 'Unknown'; + checkPropTypes(childContextTypes, childContext, 'child context', name, + // In practice, there is one case in which we won't get a stack. It's when + // somebody calls unstable_renderSubtreeIntoContainer() and we process + // context from the parent component instance. The stack will be missing + // because it's outside of the reconciliation, and so the pointer has not + // been set. This is rare and doesn't matter. We'll also remove that API. + getCurrentFiberStackInDev); + } + + return _assign({}, parentContext, childContext); + } + + function pushContextProvider(workInProgress) { + var instance = workInProgress.stateNode; + // We push the context as early as possible to ensure stack integrity. + // If the instance does not exist yet, we will push null at first, + // and replace it on the stack later when invalidating the context. + var memoizedMergedChildContext = instance && instance.__reactInternalMemoizedMergedChildContext || emptyContextObject; + + // Remember the parent context so we can merge with it later. + // Inherit the parent's did-perform-work value to avoid inadvertently blocking updates. + previousContext = contextStackCursor.current; + push(contextStackCursor, memoizedMergedChildContext, workInProgress); + push(didPerformWorkStackCursor, didPerformWorkStackCursor.current, workInProgress); + + return true; + } + + function invalidateContextProvider(workInProgress, type, didChange) { + var instance = workInProgress.stateNode; + !instance ? invariant(false, 'Expected to have an instance by this point. This error is likely caused by a bug in React. Please file an issue.') : void 0; + + if (didChange) { + // Merge parent and own context. + // Skip this if we're not updating due to sCU. + // This avoids unnecessarily recomputing memoized values. + var mergedContext = processChildContext(workInProgress, type, previousContext); + instance.__reactInternalMemoizedMergedChildContext = mergedContext; + + // Replace the old (or empty) context with the new one. + // It is important to unwind the context in the reverse order. + pop(didPerformWorkStackCursor, workInProgress); + pop(contextStackCursor, workInProgress); + // Now push the new context and mark that it has changed. + push(contextStackCursor, mergedContext, workInProgress); + push(didPerformWorkStackCursor, didChange, workInProgress); + } else { + pop(didPerformWorkStackCursor, workInProgress); + push(didPerformWorkStackCursor, didChange, workInProgress); + } + } + + function findCurrentUnmaskedContext(fiber) { + // Currently this is only used with renderSubtreeIntoContainer; not sure if it + // makes sense elsewhere + !(isFiberMounted(fiber) && fiber.tag === ClassComponent) ? invariant(false, 'Expected subtree parent to be a mounted class component. This error is likely caused by a bug in React. Please file an issue.') : void 0; + + var node = fiber; + do { + switch (node.tag) { + case HostRoot: + return node.stateNode.context; + case ClassComponent: + { + var Component = node.type; + if (isContextProvider(Component)) { + return node.stateNode.__reactInternalMemoizedMergedChildContext; + } + break; + } + } + node = node.return; + } while (node !== null); + invariant(false, 'Found unexpected detached subtree parent. This error is likely caused by a bug in React. Please file an issue.'); + } + + var onCommitFiberRoot = null; + var onCommitFiberUnmount = null; + var hasLoggedError = false; + + function catchErrors(fn) { + return function (arg) { + try { + return fn(arg); + } catch (err) { + if ( true && !hasLoggedError) { + hasLoggedError = true; + warningWithoutStack$1(false, 'React DevTools encountered an error: %s', err); + } + } + }; + } + + var isDevToolsPresent = typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined'; + + function injectInternals(internals) { + if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') { + // No DevTools + return false; + } + var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__; + if (hook.isDisabled) { + // This isn't a real property on the hook, but it can be set to opt out + // of DevTools integration and associated warnings and logs. + // https://github.com/facebook/react/issues/3877 + return true; + } + if (!hook.supportsFiber) { + { + warningWithoutStack$1(false, 'The installed version of React DevTools is too old and will not work ' + 'with the current version of React. Please update React DevTools. ' + 'https://fb.me/react-devtools'); + } + // DevTools exists, even though it doesn't support Fiber. + return true; + } + try { + var rendererID = hook.inject(internals); + // We have successfully injected, so now it is safe to set up hooks. + onCommitFiberRoot = catchErrors(function (root) { + return hook.onCommitFiberRoot(rendererID, root); + }); + onCommitFiberUnmount = catchErrors(function (fiber) { + return hook.onCommitFiberUnmount(rendererID, fiber); + }); + } catch (err) { + // Catch all errors because it is unsafe to throw during initialization. + { + warningWithoutStack$1(false, 'React DevTools encountered an error: %s.', err); + } + } + // DevTools exists + return true; + } + + function onCommitRoot(root) { + if (typeof onCommitFiberRoot === 'function') { + onCommitFiberRoot(root); + } + } + + function onCommitUnmount(fiber) { + if (typeof onCommitFiberUnmount === 'function') { + onCommitFiberUnmount(fiber); + } + } + + // Max 31 bit integer. The max integer size in V8 for 32-bit systems. + // Math.pow(2, 30) - 1 + // 0b111111111111111111111111111111 + var maxSigned31BitInt = 1073741823; + + var NoWork = 0; + var Never = 1; + var Sync = maxSigned31BitInt; + + var UNIT_SIZE = 10; + var MAGIC_NUMBER_OFFSET = maxSigned31BitInt - 1; + + // 1 unit of expiration time represents 10ms. + function msToExpirationTime(ms) { + // Always add an offset so that we don't clash with the magic number for NoWork. + return MAGIC_NUMBER_OFFSET - (ms / UNIT_SIZE | 0); + } + + function expirationTimeToMs(expirationTime) { + return (MAGIC_NUMBER_OFFSET - expirationTime) * UNIT_SIZE; + } + + function ceiling(num, precision) { + return ((num / precision | 0) + 1) * precision; + } + + function computeExpirationBucket(currentTime, expirationInMs, bucketSizeMs) { + return MAGIC_NUMBER_OFFSET - ceiling(MAGIC_NUMBER_OFFSET - currentTime + expirationInMs / UNIT_SIZE, bucketSizeMs / UNIT_SIZE); + } + + var LOW_PRIORITY_EXPIRATION = 5000; + var LOW_PRIORITY_BATCH_SIZE = 250; + + function computeAsyncExpiration(currentTime) { + return computeExpirationBucket(currentTime, LOW_PRIORITY_EXPIRATION, LOW_PRIORITY_BATCH_SIZE); + } + + // We intentionally set a higher expiration time for interactive updates in + // dev than in production. + // + // If the main thread is being blocked so long that you hit the expiration, + // it's a problem that could be solved with better scheduling. + // + // People will be more likely to notice this and fix it with the long + // expiration time in development. + // + // In production we opt for better UX at the risk of masking scheduling + // problems, by expiring fast. + var HIGH_PRIORITY_EXPIRATION = 500; + var HIGH_PRIORITY_BATCH_SIZE = 100; + + function computeInteractiveExpiration(currentTime) { + return computeExpirationBucket(currentTime, HIGH_PRIORITY_EXPIRATION, HIGH_PRIORITY_BATCH_SIZE); + } + + var NoContext = 0; + var ConcurrentMode = 1; + var StrictMode = 2; + var ProfileMode = 4; + + var hasBadMapPolyfill = void 0; + + { + hasBadMapPolyfill = false; + try { + var nonExtensibleObject = Object.preventExtensions({}); + var testMap = new Map([[nonExtensibleObject, null]]); + var testSet = new Set([nonExtensibleObject]); + // This is necessary for Rollup to not consider these unused. + // https://github.com/rollup/rollup/issues/1771 + // TODO: we can remove these if Rollup fixes the bug. + testMap.set(0, 0); + testSet.add(0); + } catch (e) { + // TODO: Consider warning about bad polyfills + hasBadMapPolyfill = true; + } + } + + // A Fiber is work on a Component that needs to be done or was done. There can + // be more than one per component. + + + var debugCounter = void 0; + + { + debugCounter = 1; + } + + function FiberNode(tag, pendingProps, key, mode) { + // Instance + this.tag = tag; + this.key = key; + this.elementType = null; + this.type = null; + this.stateNode = null; + + // Fiber + this.return = null; + this.child = null; + this.sibling = null; + this.index = 0; + + this.ref = null; + + this.pendingProps = pendingProps; + this.memoizedProps = null; + this.updateQueue = null; + this.memoizedState = null; + this.contextDependencies = null; + + this.mode = mode; + + // Effects + this.effectTag = NoEffect; + this.nextEffect = null; + + this.firstEffect = null; + this.lastEffect = null; + + this.expirationTime = NoWork; + this.childExpirationTime = NoWork; + + this.alternate = null; + + if (enableProfilerTimer) { + // Note: The following is done to avoid a v8 performance cliff. + // + // Initializing the fields below to smis and later updating them with + // double values will cause Fibers to end up having separate shapes. + // This behavior/bug has something to do with Object.preventExtension(). + // Fortunately this only impacts DEV builds. + // Unfortunately it makes React unusably slow for some applications. + // To work around this, initialize the fields below with doubles. + // + // Learn more about this here: + // https://github.com/facebook/react/issues/14365 + // https://bugs.chromium.org/p/v8/issues/detail?id=8538 + this.actualDuration = Number.NaN; + this.actualStartTime = Number.NaN; + this.selfBaseDuration = Number.NaN; + this.treeBaseDuration = Number.NaN; + + // It's okay to replace the initial doubles with smis after initialization. + // This won't trigger the performance cliff mentioned above, + // and it simplifies other profiler code (including DevTools). + this.actualDuration = 0; + this.actualStartTime = -1; + this.selfBaseDuration = 0; + this.treeBaseDuration = 0; + } + + { + this._debugID = debugCounter++; + this._debugSource = null; + this._debugOwner = null; + this._debugIsCurrentlyTiming = false; + this._debugHookTypes = null; + if (!hasBadMapPolyfill && typeof Object.preventExtensions === 'function') { + Object.preventExtensions(this); + } + } + } + + // This is a constructor function, rather than a POJO constructor, still + // please ensure we do the following: + // 1) Nobody should add any instance methods on this. Instance methods can be + // more difficult to predict when they get optimized and they are almost + // never inlined properly in static compilers. + // 2) Nobody should rely on `instanceof Fiber` for type testing. We should + // always know when it is a fiber. + // 3) We might want to experiment with using numeric keys since they are easier + // to optimize in a non-JIT environment. + // 4) We can easily go from a constructor to a createFiber object literal if that + // is faster. + // 5) It should be easy to port this to a C struct and keep a C implementation + // compatible. + var createFiber = function (tag, pendingProps, key, mode) { + // $FlowFixMe: the shapes are exact here but Flow doesn't like constructors + return new FiberNode(tag, pendingProps, key, mode); + }; + + function shouldConstruct(Component) { + var prototype = Component.prototype; + return !!(prototype && prototype.isReactComponent); + } + + function isSimpleFunctionComponent(type) { + return typeof type === 'function' && !shouldConstruct(type) && type.defaultProps === undefined; + } + + function resolveLazyComponentTag(Component) { + if (typeof Component === 'function') { + return shouldConstruct(Component) ? ClassComponent : FunctionComponent; + } else if (Component !== undefined && Component !== null) { + var $$typeof = Component.$$typeof; + if ($$typeof === REACT_FORWARD_REF_TYPE) { + return ForwardRef; + } + if ($$typeof === REACT_MEMO_TYPE) { + return MemoComponent; + } + } + return IndeterminateComponent; + } + + // This is used to create an alternate fiber to do work on. + function createWorkInProgress(current, pendingProps, expirationTime) { + var workInProgress = current.alternate; + if (workInProgress === null) { + // We use a double buffering pooling technique because we know that we'll + // only ever need at most two versions of a tree. We pool the "other" unused + // node that we're free to reuse. This is lazily created to avoid allocating + // extra objects for things that are never updated. It also allow us to + // reclaim the extra memory if needed. + workInProgress = createFiber(current.tag, pendingProps, current.key, current.mode); + workInProgress.elementType = current.elementType; + workInProgress.type = current.type; + workInProgress.stateNode = current.stateNode; + + { + // DEV-only fields + workInProgress._debugID = current._debugID; + workInProgress._debugSource = current._debugSource; + workInProgress._debugOwner = current._debugOwner; + workInProgress._debugHookTypes = current._debugHookTypes; + } + + workInProgress.alternate = current; + current.alternate = workInProgress; + } else { + workInProgress.pendingProps = pendingProps; + + // We already have an alternate. + // Reset the effect tag. + workInProgress.effectTag = NoEffect; + + // The effect list is no longer valid. + workInProgress.nextEffect = null; + workInProgress.firstEffect = null; + workInProgress.lastEffect = null; + + if (enableProfilerTimer) { + // We intentionally reset, rather than copy, actualDuration & actualStartTime. + // This prevents time from endlessly accumulating in new commits. + // This has the downside of resetting values for different priority renders, + // But works for yielding (the common case) and should support resuming. + workInProgress.actualDuration = 0; + workInProgress.actualStartTime = -1; + } + } + + workInProgress.childExpirationTime = current.childExpirationTime; + workInProgress.expirationTime = current.expirationTime; + + workInProgress.child = current.child; + workInProgress.memoizedProps = current.memoizedProps; + workInProgress.memoizedState = current.memoizedState; + workInProgress.updateQueue = current.updateQueue; + workInProgress.contextDependencies = current.contextDependencies; + + // These will be overridden during the parent's reconciliation + workInProgress.sibling = current.sibling; + workInProgress.index = current.index; + workInProgress.ref = current.ref; + + if (enableProfilerTimer) { + workInProgress.selfBaseDuration = current.selfBaseDuration; + workInProgress.treeBaseDuration = current.treeBaseDuration; + } + + return workInProgress; + } + + function createHostRootFiber(isConcurrent) { + var mode = isConcurrent ? ConcurrentMode | StrictMode : NoContext; + + if (enableProfilerTimer && isDevToolsPresent) { + // Always collect profile timings when DevTools are present. + // This enables DevTools to start capturing timing at any point– + // Without some nodes in the tree having empty base times. + mode |= ProfileMode; + } + + return createFiber(HostRoot, null, null, mode); + } + + function createFiberFromTypeAndProps(type, // React$ElementType + key, pendingProps, owner, mode, expirationTime) { + var fiber = void 0; + + var fiberTag = IndeterminateComponent; + // The resolved type is set if we know what the final type will be. I.e. it's not lazy. + var resolvedType = type; + if (typeof type === 'function') { + if (shouldConstruct(type)) { + fiberTag = ClassComponent; + } + } else if (typeof type === 'string') { + fiberTag = HostComponent; + } else { + getTag: switch (type) { + case REACT_FRAGMENT_TYPE: + return createFiberFromFragment(pendingProps.children, mode, expirationTime, key); + case REACT_CONCURRENT_MODE_TYPE: + return createFiberFromMode(pendingProps, mode | ConcurrentMode | StrictMode, expirationTime, key); + case REACT_STRICT_MODE_TYPE: + return createFiberFromMode(pendingProps, mode | StrictMode, expirationTime, key); + case REACT_PROFILER_TYPE: + return createFiberFromProfiler(pendingProps, mode, expirationTime, key); + case REACT_SUSPENSE_TYPE: + return createFiberFromSuspense(pendingProps, mode, expirationTime, key); + default: + { + if (typeof type === 'object' && type !== null) { + switch (type.$$typeof) { + case REACT_PROVIDER_TYPE: + fiberTag = ContextProvider; + break getTag; + case REACT_CONTEXT_TYPE: + // This is a consumer + fiberTag = ContextConsumer; + break getTag; + case REACT_FORWARD_REF_TYPE: + fiberTag = ForwardRef; + break getTag; + case REACT_MEMO_TYPE: + fiberTag = MemoComponent; + break getTag; + case REACT_LAZY_TYPE: + fiberTag = LazyComponent; + resolvedType = null; + break getTag; + } + } + var info = ''; + { + if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) { + info += ' You likely forgot to export your component from the file ' + "it's defined in, or you might have mixed up default and " + 'named imports.'; + } + var ownerName = owner ? getComponentName(owner.type) : null; + if (ownerName) { + info += '\n\nCheck the render method of `' + ownerName + '`.'; + } + } + invariant(false, 'Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s', type == null ? type : typeof type, info); + } + } + } + + fiber = createFiber(fiberTag, pendingProps, key, mode); + fiber.elementType = type; + fiber.type = resolvedType; + fiber.expirationTime = expirationTime; + + return fiber; + } + + function createFiberFromElement(element, mode, expirationTime) { + var owner = null; + { + owner = element._owner; + } + var type = element.type; + var key = element.key; + var pendingProps = element.props; + var fiber = createFiberFromTypeAndProps(type, key, pendingProps, owner, mode, expirationTime); + { + fiber._debugSource = element._source; + fiber._debugOwner = element._owner; + } + return fiber; + } + + function createFiberFromFragment(elements, mode, expirationTime, key) { + var fiber = createFiber(Fragment, elements, key, mode); + fiber.expirationTime = expirationTime; + return fiber; + } + + function createFiberFromProfiler(pendingProps, mode, expirationTime, key) { + { + if (typeof pendingProps.id !== 'string' || typeof pendingProps.onRender !== 'function') { + warningWithoutStack$1(false, 'Profiler must specify an "id" string and "onRender" function as props'); + } + } + + var fiber = createFiber(Profiler, pendingProps, key, mode | ProfileMode); + // TODO: The Profiler fiber shouldn't have a type. It has a tag. + fiber.elementType = REACT_PROFILER_TYPE; + fiber.type = REACT_PROFILER_TYPE; + fiber.expirationTime = expirationTime; + + return fiber; + } + + function createFiberFromMode(pendingProps, mode, expirationTime, key) { + var fiber = createFiber(Mode, pendingProps, key, mode); + + // TODO: The Mode fiber shouldn't have a type. It has a tag. + var type = (mode & ConcurrentMode) === NoContext ? REACT_STRICT_MODE_TYPE : REACT_CONCURRENT_MODE_TYPE; + fiber.elementType = type; + fiber.type = type; + + fiber.expirationTime = expirationTime; + return fiber; + } + + function createFiberFromSuspense(pendingProps, mode, expirationTime, key) { + var fiber = createFiber(SuspenseComponent, pendingProps, key, mode); + + // TODO: The SuspenseComponent fiber shouldn't have a type. It has a tag. + var type = REACT_SUSPENSE_TYPE; + fiber.elementType = type; + fiber.type = type; + + fiber.expirationTime = expirationTime; + return fiber; + } + + function createFiberFromText(content, mode, expirationTime) { + var fiber = createFiber(HostText, content, null, mode); + fiber.expirationTime = expirationTime; + return fiber; + } + + function createFiberFromHostInstanceForDeletion() { + var fiber = createFiber(HostComponent, null, null, NoContext); + // TODO: These should not need a type. + fiber.elementType = 'DELETED'; + fiber.type = 'DELETED'; + return fiber; + } + + function createFiberFromPortal(portal, mode, expirationTime) { + var pendingProps = portal.children !== null ? portal.children : []; + var fiber = createFiber(HostPortal, pendingProps, portal.key, mode); + fiber.expirationTime = expirationTime; + fiber.stateNode = { + containerInfo: portal.containerInfo, + pendingChildren: null, // Used by persistent updates + implementation: portal.implementation + }; + return fiber; + } + + // Used for stashing WIP properties to replay failed work in DEV. + function assignFiberPropertiesInDEV(target, source) { + if (target === null) { + // This Fiber's initial properties will always be overwritten. + // We only use a Fiber to ensure the same hidden class so DEV isn't slow. + target = createFiber(IndeterminateComponent, null, null, NoContext); + } + + // This is intentionally written as a list of all properties. + // We tried to use Object.assign() instead but this is called in + // the hottest path, and Object.assign() was too slow: + // https://github.com/facebook/react/issues/12502 + // This code is DEV-only so size is not a concern. + + target.tag = source.tag; + target.key = source.key; + target.elementType = source.elementType; + target.type = source.type; + target.stateNode = source.stateNode; + target.return = source.return; + target.child = source.child; + target.sibling = source.sibling; + target.index = source.index; + target.ref = source.ref; + target.pendingProps = source.pendingProps; + target.memoizedProps = source.memoizedProps; + target.updateQueue = source.updateQueue; + target.memoizedState = source.memoizedState; + target.contextDependencies = source.contextDependencies; + target.mode = source.mode; + target.effectTag = source.effectTag; + target.nextEffect = source.nextEffect; + target.firstEffect = source.firstEffect; + target.lastEffect = source.lastEffect; + target.expirationTime = source.expirationTime; + target.childExpirationTime = source.childExpirationTime; + target.alternate = source.alternate; + if (enableProfilerTimer) { + target.actualDuration = source.actualDuration; + target.actualStartTime = source.actualStartTime; + target.selfBaseDuration = source.selfBaseDuration; + target.treeBaseDuration = source.treeBaseDuration; + } + target._debugID = source._debugID; + target._debugSource = source._debugSource; + target._debugOwner = source._debugOwner; + target._debugIsCurrentlyTiming = source._debugIsCurrentlyTiming; + target._debugHookTypes = source._debugHookTypes; + return target; + } + + // TODO: This should be lifted into the renderer. + + + // The following attributes are only used by interaction tracing builds. + // They enable interactions to be associated with their async work, + // And expose interaction metadata to the React DevTools Profiler plugin. + // Note that these attributes are only defined when the enableSchedulerTracing flag is enabled. + + + // Exported FiberRoot type includes all properties, + // To avoid requiring potentially error-prone :any casts throughout the project. + // Profiling properties are only safe to access in profiling builds (when enableSchedulerTracing is true). + // The types are defined separately within this file to ensure they stay in sync. + // (We don't have to use an inline :any cast when enableSchedulerTracing is disabled.) + + + function createFiberRoot(containerInfo, isConcurrent, hydrate) { + // Cyclic construction. This cheats the type system right now because + // stateNode is any. + var uninitializedFiber = createHostRootFiber(isConcurrent); + + var root = void 0; + if (enableSchedulerTracing) { + root = { + current: uninitializedFiber, + containerInfo: containerInfo, + pendingChildren: null, + + earliestPendingTime: NoWork, + latestPendingTime: NoWork, + earliestSuspendedTime: NoWork, + latestSuspendedTime: NoWork, + latestPingedTime: NoWork, + + pingCache: null, + + didError: false, + + pendingCommitExpirationTime: NoWork, + finishedWork: null, + timeoutHandle: noTimeout, + context: null, + pendingContext: null, + hydrate: hydrate, + nextExpirationTimeToWorkOn: NoWork, + expirationTime: NoWork, + firstBatch: null, + nextScheduledRoot: null, + + interactionThreadID: tracing.unstable_getThreadID(), + memoizedInteractions: new Set(), + pendingInteractionMap: new Map() + }; + } else { + root = { + current: uninitializedFiber, + containerInfo: containerInfo, + pendingChildren: null, + + pingCache: null, + + earliestPendingTime: NoWork, + latestPendingTime: NoWork, + earliestSuspendedTime: NoWork, + latestSuspendedTime: NoWork, + latestPingedTime: NoWork, + + didError: false, + + pendingCommitExpirationTime: NoWork, + finishedWork: null, + timeoutHandle: noTimeout, + context: null, + pendingContext: null, + hydrate: hydrate, + nextExpirationTimeToWorkOn: NoWork, + expirationTime: NoWork, + firstBatch: null, + nextScheduledRoot: null + }; + } + + uninitializedFiber.stateNode = root; + + // The reason for the way the Flow types are structured in this file, + // Is to avoid needing :any casts everywhere interaction tracing fields are used. + // Unfortunately that requires an :any cast for non-interaction tracing capable builds. + // $FlowFixMe Remove this :any cast and replace it with something better. + return root; + } + + var invokeGuardedCallbackImpl = function (name, func, context, a, b, c, d, e, f) { + var funcArgs = Array.prototype.slice.call(arguments, 3); + try { + func.apply(context, funcArgs); + } catch (error) { + this.onError(error); + } + }; + + { + // In DEV mode, we swap out invokeGuardedCallback for a special version + // that plays more nicely with the browser's DevTools. The idea is to preserve + // "Pause on exceptions" behavior. Because React wraps all user-provided + // functions in invokeGuardedCallback, and the production version of + // invokeGuardedCallback uses a try-catch, all user exceptions are treated + // like caught exceptions, and the DevTools won't pause unless the developer + // takes the extra step of enabling pause on caught exceptions. This is + // unintuitive, though, because even though React has caught the error, from + // the developer's perspective, the error is uncaught. + // + // To preserve the expected "Pause on exceptions" behavior, we don't use a + // try-catch in DEV. Instead, we synchronously dispatch a fake event to a fake + // DOM node, and call the user-provided callback from inside an event handler + // for that fake event. If the callback throws, the error is "captured" using + // a global event handler. But because the error happens in a different + // event loop context, it does not interrupt the normal program flow. + // Effectively, this gives us try-catch behavior without actually using + // try-catch. Neat! + + // Check that the browser supports the APIs we need to implement our special + // DEV version of invokeGuardedCallback + if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof document !== 'undefined' && typeof document.createEvent === 'function') { + var fakeNode = document.createElement('react'); + + var invokeGuardedCallbackDev = function (name, func, context, a, b, c, d, e, f) { + // If document doesn't exist we know for sure we will crash in this method + // when we call document.createEvent(). However this can cause confusing + // errors: https://github.com/facebookincubator/create-react-app/issues/3482 + // So we preemptively throw with a better message instead. + !(typeof document !== 'undefined') ? invariant(false, 'The `document` global was defined when React was initialized, but is not defined anymore. This can happen in a test environment if a component schedules an update from an asynchronous callback, but the test has already finished running. To solve this, you can either unmount the component at the end of your test (and ensure that any asynchronous operations get canceled in `componentWillUnmount`), or you can change the test itself to be asynchronous.') : void 0; + var evt = document.createEvent('Event'); + + // Keeps track of whether the user-provided callback threw an error. We + // set this to true at the beginning, then set it to false right after + // calling the function. If the function errors, `didError` will never be + // set to false. This strategy works even if the browser is flaky and + // fails to call our global error handler, because it doesn't rely on + // the error event at all. + var didError = true; + + // Keeps track of the value of window.event so that we can reset it + // during the callback to let user code access window.event in the + // browsers that support it. + var windowEvent = window.event; + + // Keeps track of the descriptor of window.event to restore it after event + // dispatching: https://github.com/facebook/react/issues/13688 + var windowEventDescriptor = Object.getOwnPropertyDescriptor(window, 'event'); + + // Create an event handler for our fake event. We will synchronously + // dispatch our fake event using `dispatchEvent`. Inside the handler, we + // call the user-provided callback. + var funcArgs = Array.prototype.slice.call(arguments, 3); + function callCallback() { + // We immediately remove the callback from event listeners so that + // nested `invokeGuardedCallback` calls do not clash. Otherwise, a + // nested call would trigger the fake event handlers of any call higher + // in the stack. + fakeNode.removeEventListener(evtType, callCallback, false); + + // We check for window.hasOwnProperty('event') to prevent the + // window.event assignment in both IE <= 10 as they throw an error + // "Member not found" in strict mode, and in Firefox which does not + // support window.event. + if (typeof window.event !== 'undefined' && window.hasOwnProperty('event')) { + window.event = windowEvent; + } + + func.apply(context, funcArgs); + didError = false; + } + + // Create a global error event handler. We use this to capture the value + // that was thrown. It's possible that this error handler will fire more + // than once; for example, if non-React code also calls `dispatchEvent` + // and a handler for that event throws. We should be resilient to most of + // those cases. Even if our error event handler fires more than once, the + // last error event is always used. If the callback actually does error, + // we know that the last error event is the correct one, because it's not + // possible for anything else to have happened in between our callback + // erroring and the code that follows the `dispatchEvent` call below. If + // the callback doesn't error, but the error event was fired, we know to + // ignore it because `didError` will be false, as described above. + var error = void 0; + // Use this to track whether the error event is ever called. + var didSetError = false; + var isCrossOriginError = false; + + function handleWindowError(event) { + error = event.error; + didSetError = true; + if (error === null && event.colno === 0 && event.lineno === 0) { + isCrossOriginError = true; + } + if (event.defaultPrevented) { + // Some other error handler has prevented default. + // Browsers silence the error report if this happens. + // We'll remember this to later decide whether to log it or not. + if (error != null && typeof error === 'object') { + try { + error._suppressLogging = true; + } catch (inner) { + // Ignore. + } + } + } + } + + // Create a fake event type. + var evtType = 'react-' + (name ? name : 'invokeguardedcallback'); + + // Attach our event handlers + window.addEventListener('error', handleWindowError); + fakeNode.addEventListener(evtType, callCallback, false); + + // Synchronously dispatch our fake event. If the user-provided function + // errors, it will trigger our global error handler. + evt.initEvent(evtType, false, false); + fakeNode.dispatchEvent(evt); + + if (windowEventDescriptor) { + Object.defineProperty(window, 'event', windowEventDescriptor); + } + + if (didError) { + if (!didSetError) { + // The callback errored, but the error event never fired. + error = new Error('An error was thrown inside one of your components, but React ' + "doesn't know what it was. This is likely due to browser " + 'flakiness. React does its best to preserve the "Pause on ' + 'exceptions" behavior of the DevTools, which requires some ' + "DEV-mode only tricks. It's possible that these don't work in " + 'your browser. Try triggering the error in production mode, ' + 'or switching to a modern browser. If you suspect that this is ' + 'actually an issue with React, please file an issue.'); + } else if (isCrossOriginError) { + error = new Error("A cross-origin error was thrown. React doesn't have access to " + 'the actual error object in development. ' + 'See https://fb.me/react-crossorigin-error for more information.'); + } + this.onError(error); + } + + // Remove our event listeners + window.removeEventListener('error', handleWindowError); + }; + + invokeGuardedCallbackImpl = invokeGuardedCallbackDev; + } + } + + var invokeGuardedCallbackImpl$1 = invokeGuardedCallbackImpl; + + // Used by Fiber to simulate a try-catch. + var hasError = false; + var caughtError = null; + + var reporter = { + onError: function (error) { + hasError = true; + caughtError = error; + } + }; + + /** + * Call a function while guarding against errors that happens within it. + * Returns an error if it throws, otherwise null. + * + * In production, this is implemented using a try-catch. The reason we don't + * use a try-catch directly is so that we can swap out a different + * implementation in DEV mode. + * + * @param {String} name of the guard to use for logging or debugging + * @param {Function} func The function to invoke + * @param {*} context The context to use when calling the function + * @param {...*} args Arguments for function + */ + function invokeGuardedCallback(name, func, context, a, b, c, d, e, f) { + hasError = false; + caughtError = null; + invokeGuardedCallbackImpl$1.apply(reporter, arguments); + } + + /** + * Same as invokeGuardedCallback, but instead of returning an error, it stores + * it in a global so it can be rethrown by `rethrowCaughtError` later. + * TODO: See if caughtError and rethrowError can be unified. + * + * @param {String} name of the guard to use for logging or debugging + * @param {Function} func The function to invoke + * @param {*} context The context to use when calling the function + * @param {...*} args Arguments for function + */ + + + /** + * During execution of guarded functions we will capture the first error which + * we will rethrow to be handled by the top level error handler. + */ + + + function hasCaughtError() { + return hasError; + } + + function clearCaughtError() { + if (hasError) { + var error = caughtError; + hasError = false; + caughtError = null; + return error; + } else { + invariant(false, 'clearCaughtError was called but no error was captured. This error is likely caused by a bug in React. Please file an issue.'); + } + } + + /** + * Forked from fbjs/warning: + * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js + * + * Only change is we use console.warn instead of console.error, + * and do nothing when 'console' is not supported. + * This really simplifies the code. + * --- + * Similar to invariant but only logs a warning if the condition is not met. + * This can be used to log issues in development environments in critical + * paths. Removing the logging code for production environments will keep the + * same logic and follow the same code paths. + */ + + var lowPriorityWarning = function () {}; + + { + var printWarning = function (format) { + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + + var argIndex = 0; + var message = 'Warning: ' + format.replace(/%s/g, function () { + return args[argIndex++]; + }); + if (typeof console !== 'undefined') { + console.warn(message); + } + try { + // --- Welcome to debugging React --- + // This error was thrown as a convenience so that you can use this stack + // to find the callsite that caused this warning to fire. + throw new Error(message); + } catch (x) {} + }; + + lowPriorityWarning = function (condition, format) { + if (format === undefined) { + throw new Error('`lowPriorityWarning(condition, format, ...args)` requires a warning ' + 'message argument'); + } + if (!condition) { + for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) { + args[_key2 - 2] = arguments[_key2]; + } + + printWarning.apply(undefined, [format].concat(args)); + } + }; + } + + var lowPriorityWarning$1 = lowPriorityWarning; + + var ReactStrictModeWarnings = { + discardPendingWarnings: function () {}, + flushPendingDeprecationWarnings: function () {}, + flushPendingUnsafeLifecycleWarnings: function () {}, + recordDeprecationWarnings: function (fiber, instance) {}, + recordUnsafeLifecycleWarnings: function (fiber, instance) {}, + recordLegacyContextWarning: function (fiber, instance) {}, + flushLegacyContextWarning: function () {} + }; + + { + var LIFECYCLE_SUGGESTIONS = { + UNSAFE_componentWillMount: 'componentDidMount', + UNSAFE_componentWillReceiveProps: 'static getDerivedStateFromProps', + UNSAFE_componentWillUpdate: 'componentDidUpdate' + }; + + var pendingComponentWillMountWarnings = []; + var pendingComponentWillReceivePropsWarnings = []; + var pendingComponentWillUpdateWarnings = []; + var pendingUnsafeLifecycleWarnings = new Map(); + var pendingLegacyContextWarning = new Map(); + + // Tracks components we have already warned about. + var didWarnAboutDeprecatedLifecycles = new Set(); + var didWarnAboutUnsafeLifecycles = new Set(); + var didWarnAboutLegacyContext = new Set(); + + var setToSortedString = function (set) { + var array = []; + set.forEach(function (value) { + array.push(value); + }); + return array.sort().join(', '); + }; + + ReactStrictModeWarnings.discardPendingWarnings = function () { + pendingComponentWillMountWarnings = []; + pendingComponentWillReceivePropsWarnings = []; + pendingComponentWillUpdateWarnings = []; + pendingUnsafeLifecycleWarnings = new Map(); + pendingLegacyContextWarning = new Map(); + }; + + ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings = function () { + pendingUnsafeLifecycleWarnings.forEach(function (lifecycleWarningsMap, strictRoot) { + var lifecyclesWarningMessages = []; + + Object.keys(lifecycleWarningsMap).forEach(function (lifecycle) { + var lifecycleWarnings = lifecycleWarningsMap[lifecycle]; + if (lifecycleWarnings.length > 0) { + var componentNames = new Set(); + lifecycleWarnings.forEach(function (fiber) { + componentNames.add(getComponentName(fiber.type) || 'Component'); + didWarnAboutUnsafeLifecycles.add(fiber.type); + }); + + var formatted = lifecycle.replace('UNSAFE_', ''); + var suggestion = LIFECYCLE_SUGGESTIONS[lifecycle]; + var sortedComponentNames = setToSortedString(componentNames); + + lifecyclesWarningMessages.push(formatted + ': Please update the following components to use ' + (suggestion + ' instead: ' + sortedComponentNames)); + } + }); + + if (lifecyclesWarningMessages.length > 0) { + var strictRootComponentStack = getStackByFiberInDevAndProd(strictRoot); + + warningWithoutStack$1(false, 'Unsafe lifecycle methods were found within a strict-mode tree:%s' + '\n\n%s' + '\n\nLearn more about this warning here:' + '\nhttps://fb.me/react-strict-mode-warnings', strictRootComponentStack, lifecyclesWarningMessages.join('\n\n')); + } + }); + + pendingUnsafeLifecycleWarnings = new Map(); + }; + + var findStrictRoot = function (fiber) { + var maybeStrictRoot = null; + + var node = fiber; + while (node !== null) { + if (node.mode & StrictMode) { + maybeStrictRoot = node; + } + node = node.return; + } + + return maybeStrictRoot; + }; + + ReactStrictModeWarnings.flushPendingDeprecationWarnings = function () { + if (pendingComponentWillMountWarnings.length > 0) { + var uniqueNames = new Set(); + pendingComponentWillMountWarnings.forEach(function (fiber) { + uniqueNames.add(getComponentName(fiber.type) || 'Component'); + didWarnAboutDeprecatedLifecycles.add(fiber.type); + }); + + var sortedNames = setToSortedString(uniqueNames); + + lowPriorityWarning$1(false, 'componentWillMount is deprecated and will be removed in the next major version. ' + 'Use componentDidMount instead. As a temporary workaround, ' + 'you can rename to UNSAFE_componentWillMount.' + '\n\nPlease update the following components: %s' + '\n\nLearn more about this warning here:' + '\nhttps://fb.me/react-async-component-lifecycle-hooks', sortedNames); + + pendingComponentWillMountWarnings = []; + } + + if (pendingComponentWillReceivePropsWarnings.length > 0) { + var _uniqueNames = new Set(); + pendingComponentWillReceivePropsWarnings.forEach(function (fiber) { + _uniqueNames.add(getComponentName(fiber.type) || 'Component'); + didWarnAboutDeprecatedLifecycles.add(fiber.type); + }); + + var _sortedNames = setToSortedString(_uniqueNames); + + lowPriorityWarning$1(false, 'componentWillReceiveProps is deprecated and will be removed in the next major version. ' + 'Use static getDerivedStateFromProps instead.' + '\n\nPlease update the following components: %s' + '\n\nLearn more about this warning here:' + '\nhttps://fb.me/react-async-component-lifecycle-hooks', _sortedNames); + + pendingComponentWillReceivePropsWarnings = []; + } + + if (pendingComponentWillUpdateWarnings.length > 0) { + var _uniqueNames2 = new Set(); + pendingComponentWillUpdateWarnings.forEach(function (fiber) { + _uniqueNames2.add(getComponentName(fiber.type) || 'Component'); + didWarnAboutDeprecatedLifecycles.add(fiber.type); + }); + + var _sortedNames2 = setToSortedString(_uniqueNames2); + + lowPriorityWarning$1(false, 'componentWillUpdate is deprecated and will be removed in the next major version. ' + 'Use componentDidUpdate instead. As a temporary workaround, ' + 'you can rename to UNSAFE_componentWillUpdate.' + '\n\nPlease update the following components: %s' + '\n\nLearn more about this warning here:' + '\nhttps://fb.me/react-async-component-lifecycle-hooks', _sortedNames2); + + pendingComponentWillUpdateWarnings = []; + } + }; + + ReactStrictModeWarnings.recordDeprecationWarnings = function (fiber, instance) { + // Dedup strategy: Warn once per component. + if (didWarnAboutDeprecatedLifecycles.has(fiber.type)) { + return; + } + + // Don't warn about react-lifecycles-compat polyfilled components. + if (typeof instance.componentWillMount === 'function' && instance.componentWillMount.__suppressDeprecationWarning !== true) { + pendingComponentWillMountWarnings.push(fiber); + } + if (typeof instance.componentWillReceiveProps === 'function' && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) { + pendingComponentWillReceivePropsWarnings.push(fiber); + } + if (typeof instance.componentWillUpdate === 'function' && instance.componentWillUpdate.__suppressDeprecationWarning !== true) { + pendingComponentWillUpdateWarnings.push(fiber); + } + }; + + ReactStrictModeWarnings.recordUnsafeLifecycleWarnings = function (fiber, instance) { + var strictRoot = findStrictRoot(fiber); + if (strictRoot === null) { + warningWithoutStack$1(false, 'Expected to find a StrictMode component in a strict mode tree. ' + 'This error is likely caused by a bug in React. Please file an issue.'); + return; + } + + // Dedup strategy: Warn once per component. + // This is difficult to track any other way since component names + // are often vague and are likely to collide between 3rd party libraries. + // An expand property is probably okay to use here since it's DEV-only, + // and will only be set in the event of serious warnings. + if (didWarnAboutUnsafeLifecycles.has(fiber.type)) { + return; + } + + var warningsForRoot = void 0; + if (!pendingUnsafeLifecycleWarnings.has(strictRoot)) { + warningsForRoot = { + UNSAFE_componentWillMount: [], + UNSAFE_componentWillReceiveProps: [], + UNSAFE_componentWillUpdate: [] + }; + + pendingUnsafeLifecycleWarnings.set(strictRoot, warningsForRoot); + } else { + warningsForRoot = pendingUnsafeLifecycleWarnings.get(strictRoot); + } + + var unsafeLifecycles = []; + if (typeof instance.componentWillMount === 'function' && instance.componentWillMount.__suppressDeprecationWarning !== true || typeof instance.UNSAFE_componentWillMount === 'function') { + unsafeLifecycles.push('UNSAFE_componentWillMount'); + } + if (typeof instance.componentWillReceiveProps === 'function' && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true || typeof instance.UNSAFE_componentWillReceiveProps === 'function') { + unsafeLifecycles.push('UNSAFE_componentWillReceiveProps'); + } + if (typeof instance.componentWillUpdate === 'function' && instance.componentWillUpdate.__suppressDeprecationWarning !== true || typeof instance.UNSAFE_componentWillUpdate === 'function') { + unsafeLifecycles.push('UNSAFE_componentWillUpdate'); + } + + if (unsafeLifecycles.length > 0) { + unsafeLifecycles.forEach(function (lifecycle) { + warningsForRoot[lifecycle].push(fiber); + }); + } + }; + + ReactStrictModeWarnings.recordLegacyContextWarning = function (fiber, instance) { + var strictRoot = findStrictRoot(fiber); + if (strictRoot === null) { + warningWithoutStack$1(false, 'Expected to find a StrictMode component in a strict mode tree. ' + 'This error is likely caused by a bug in React. Please file an issue.'); + return; + } + + // Dedup strategy: Warn once per component. + if (didWarnAboutLegacyContext.has(fiber.type)) { + return; + } + + var warningsForRoot = pendingLegacyContextWarning.get(strictRoot); + + if (fiber.type.contextTypes != null || fiber.type.childContextTypes != null || instance !== null && typeof instance.getChildContext === 'function') { + if (warningsForRoot === undefined) { + warningsForRoot = []; + pendingLegacyContextWarning.set(strictRoot, warningsForRoot); + } + warningsForRoot.push(fiber); + } + }; + + ReactStrictModeWarnings.flushLegacyContextWarning = function () { + pendingLegacyContextWarning.forEach(function (fiberArray, strictRoot) { + var uniqueNames = new Set(); + fiberArray.forEach(function (fiber) { + uniqueNames.add(getComponentName(fiber.type) || 'Component'); + didWarnAboutLegacyContext.add(fiber.type); + }); + + var sortedNames = setToSortedString(uniqueNames); + var strictRootComponentStack = getStackByFiberInDevAndProd(strictRoot); + + warningWithoutStack$1(false, 'Legacy context API has been detected within a strict-mode tree: %s' + '\n\nPlease update the following components: %s' + '\n\nLearn more about this warning here:' + '\nhttps://fb.me/react-strict-mode-warnings', strictRootComponentStack, sortedNames); + }); + }; + } + + // This lets us hook into Fiber to debug what it's doing. + // See https://github.com/facebook/react/pull/8033. + // This is not part of the public API, not even for React DevTools. + // You may only inject a debugTool if you work on React Fiber itself. + var ReactFiberInstrumentation = { + debugTool: null + }; + + var ReactFiberInstrumentation_1 = ReactFiberInstrumentation; + + // TODO: Offscreen updates should never suspend. However, a promise that + // suspended inside an offscreen subtree should be able to ping at the priority + // of the outer render. + + function markPendingPriorityLevel(root, expirationTime) { + // If there's a gap between completing a failed root and retrying it, + // additional updates may be scheduled. Clear `didError`, in case the update + // is sufficient to fix the error. + root.didError = false; + + // Update the latest and earliest pending times + var earliestPendingTime = root.earliestPendingTime; + if (earliestPendingTime === NoWork) { + // No other pending updates. + root.earliestPendingTime = root.latestPendingTime = expirationTime; + } else { + if (earliestPendingTime < expirationTime) { + // This is the earliest pending update. + root.earliestPendingTime = expirationTime; + } else { + var latestPendingTime = root.latestPendingTime; + if (latestPendingTime > expirationTime) { + // This is the latest pending update + root.latestPendingTime = expirationTime; + } + } + } + findNextExpirationTimeToWorkOn(expirationTime, root); + } + + function markCommittedPriorityLevels(root, earliestRemainingTime) { + root.didError = false; + + if (earliestRemainingTime === NoWork) { + // Fast path. There's no remaining work. Clear everything. + root.earliestPendingTime = NoWork; + root.latestPendingTime = NoWork; + root.earliestSuspendedTime = NoWork; + root.latestSuspendedTime = NoWork; + root.latestPingedTime = NoWork; + findNextExpirationTimeToWorkOn(NoWork, root); + return; + } + + if (earliestRemainingTime < root.latestPingedTime) { + root.latestPingedTime = NoWork; + } + + // Let's see if the previous latest known pending level was just flushed. + var latestPendingTime = root.latestPendingTime; + if (latestPendingTime !== NoWork) { + if (latestPendingTime > earliestRemainingTime) { + // We've flushed all the known pending levels. + root.earliestPendingTime = root.latestPendingTime = NoWork; + } else { + var earliestPendingTime = root.earliestPendingTime; + if (earliestPendingTime > earliestRemainingTime) { + // We've flushed the earliest known pending level. Set this to the + // latest pending time. + root.earliestPendingTime = root.latestPendingTime; + } + } + } + + // Now let's handle the earliest remaining level in the whole tree. We need to + // decide whether to treat it as a pending level or as suspended. Check + // it falls within the range of known suspended levels. + + var earliestSuspendedTime = root.earliestSuspendedTime; + if (earliestSuspendedTime === NoWork) { + // There's no suspended work. Treat the earliest remaining level as a + // pending level. + markPendingPriorityLevel(root, earliestRemainingTime); + findNextExpirationTimeToWorkOn(NoWork, root); + return; + } + + var latestSuspendedTime = root.latestSuspendedTime; + if (earliestRemainingTime < latestSuspendedTime) { + // The earliest remaining level is later than all the suspended work. That + // means we've flushed all the suspended work. + root.earliestSuspendedTime = NoWork; + root.latestSuspendedTime = NoWork; + root.latestPingedTime = NoWork; + + // There's no suspended work. Treat the earliest remaining level as a + // pending level. + markPendingPriorityLevel(root, earliestRemainingTime); + findNextExpirationTimeToWorkOn(NoWork, root); + return; + } + + if (earliestRemainingTime > earliestSuspendedTime) { + // The earliest remaining time is earlier than all the suspended work. + // Treat it as a pending update. + markPendingPriorityLevel(root, earliestRemainingTime); + findNextExpirationTimeToWorkOn(NoWork, root); + return; + } + + // The earliest remaining time falls within the range of known suspended + // levels. We should treat this as suspended work. + findNextExpirationTimeToWorkOn(NoWork, root); + } + + function hasLowerPriorityWork(root, erroredExpirationTime) { + var latestPendingTime = root.latestPendingTime; + var latestSuspendedTime = root.latestSuspendedTime; + var latestPingedTime = root.latestPingedTime; + return latestPendingTime !== NoWork && latestPendingTime < erroredExpirationTime || latestSuspendedTime !== NoWork && latestSuspendedTime < erroredExpirationTime || latestPingedTime !== NoWork && latestPingedTime < erroredExpirationTime; + } + + function isPriorityLevelSuspended(root, expirationTime) { + var earliestSuspendedTime = root.earliestSuspendedTime; + var latestSuspendedTime = root.latestSuspendedTime; + return earliestSuspendedTime !== NoWork && expirationTime <= earliestSuspendedTime && expirationTime >= latestSuspendedTime; + } + + function markSuspendedPriorityLevel(root, suspendedTime) { + root.didError = false; + clearPing(root, suspendedTime); + + // First, check the known pending levels and update them if needed. + var earliestPendingTime = root.earliestPendingTime; + var latestPendingTime = root.latestPendingTime; + if (earliestPendingTime === suspendedTime) { + if (latestPendingTime === suspendedTime) { + // Both known pending levels were suspended. Clear them. + root.earliestPendingTime = root.latestPendingTime = NoWork; + } else { + // The earliest pending level was suspended. Clear by setting it to the + // latest pending level. + root.earliestPendingTime = latestPendingTime; + } + } else if (latestPendingTime === suspendedTime) { + // The latest pending level was suspended. Clear by setting it to the + // latest pending level. + root.latestPendingTime = earliestPendingTime; + } + + // Finally, update the known suspended levels. + var earliestSuspendedTime = root.earliestSuspendedTime; + var latestSuspendedTime = root.latestSuspendedTime; + if (earliestSuspendedTime === NoWork) { + // No other suspended levels. + root.earliestSuspendedTime = root.latestSuspendedTime = suspendedTime; + } else { + if (earliestSuspendedTime < suspendedTime) { + // This is the earliest suspended level. + root.earliestSuspendedTime = suspendedTime; + } else if (latestSuspendedTime > suspendedTime) { + // This is the latest suspended level + root.latestSuspendedTime = suspendedTime; + } + } + + findNextExpirationTimeToWorkOn(suspendedTime, root); + } + + function markPingedPriorityLevel(root, pingedTime) { + root.didError = false; + + // TODO: When we add back resuming, we need to ensure the progressed work + // is thrown out and not reused during the restarted render. One way to + // invalidate the progressed work is to restart at expirationTime + 1. + var latestPingedTime = root.latestPingedTime; + if (latestPingedTime === NoWork || latestPingedTime > pingedTime) { + root.latestPingedTime = pingedTime; + } + findNextExpirationTimeToWorkOn(pingedTime, root); + } + + function clearPing(root, completedTime) { + var latestPingedTime = root.latestPingedTime; + if (latestPingedTime >= completedTime) { + root.latestPingedTime = NoWork; + } + } + + function findEarliestOutstandingPriorityLevel(root, renderExpirationTime) { + var earliestExpirationTime = renderExpirationTime; + + var earliestPendingTime = root.earliestPendingTime; + var earliestSuspendedTime = root.earliestSuspendedTime; + if (earliestPendingTime > earliestExpirationTime) { + earliestExpirationTime = earliestPendingTime; + } + if (earliestSuspendedTime > earliestExpirationTime) { + earliestExpirationTime = earliestSuspendedTime; + } + return earliestExpirationTime; + } + + function didExpireAtExpirationTime(root, currentTime) { + var expirationTime = root.expirationTime; + if (expirationTime !== NoWork && currentTime <= expirationTime) { + // The root has expired. Flush all work up to the current time. + root.nextExpirationTimeToWorkOn = currentTime; + } + } + + function findNextExpirationTimeToWorkOn(completedExpirationTime, root) { + var earliestSuspendedTime = root.earliestSuspendedTime; + var latestSuspendedTime = root.latestSuspendedTime; + var earliestPendingTime = root.earliestPendingTime; + var latestPingedTime = root.latestPingedTime; + + // Work on the earliest pending time. Failing that, work on the latest + // pinged time. + var nextExpirationTimeToWorkOn = earliestPendingTime !== NoWork ? earliestPendingTime : latestPingedTime; + + // If there is no pending or pinged work, check if there's suspended work + // that's lower priority than what we just completed. + if (nextExpirationTimeToWorkOn === NoWork && (completedExpirationTime === NoWork || latestSuspendedTime < completedExpirationTime)) { + // The lowest priority suspended work is the work most likely to be + // committed next. Let's start rendering it again, so that if it times out, + // it's ready to commit. + nextExpirationTimeToWorkOn = latestSuspendedTime; + } + + var expirationTime = nextExpirationTimeToWorkOn; + if (expirationTime !== NoWork && earliestSuspendedTime > expirationTime) { + // Expire using the earliest known expiration time. + expirationTime = earliestSuspendedTime; + } + + root.nextExpirationTimeToWorkOn = nextExpirationTimeToWorkOn; + root.expirationTime = expirationTime; + } + + /** + * Similar to invariant but only logs a warning if the condition is not met. + * This can be used to log issues in development environments in critical + * paths. Removing the logging code for production environments will keep the + * same logic and follow the same code paths. + */ + + var warning = warningWithoutStack$1; + + { + warning = function (condition, format) { + if (condition) { + return; + } + var ReactDebugCurrentFrame = ReactSharedInternals.ReactDebugCurrentFrame; + var stack = ReactDebugCurrentFrame.getStackAddendum(); + // eslint-disable-next-line react-internal/warning-and-invariant-args + + for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { + args[_key - 2] = arguments[_key]; + } + + warningWithoutStack$1.apply(undefined, [false, format + '%s'].concat(args, [stack])); + }; + } + + var warning$1 = warning; + + /** + * inlined Object.is polyfill to avoid requiring consumers ship their own + * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is + */ + function is(x, y) { + return x === y && (x !== 0 || 1 / x === 1 / y) || x !== x && y !== y // eslint-disable-line no-self-compare + ; + } + + var hasOwnProperty = Object.prototype.hasOwnProperty; + + /** + * Performs equality by iterating through keys on an object and returning false + * when any key has values which are not strictly equal between the arguments. + * Returns true when the values of all keys are strictly equal. + */ + function shallowEqual(objA, objB) { + if (is(objA, objB)) { + return true; + } + + if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) { + return false; + } + + var keysA = Object.keys(objA); + var keysB = Object.keys(objB); + + if (keysA.length !== keysB.length) { + return false; + } + + // Test for A's keys different from B. + for (var i = 0; i < keysA.length; i++) { + if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) { + return false; + } + } + + return true; + } + + function resolveDefaultProps(Component, baseProps) { + if (Component && Component.defaultProps) { + // Resolve default props. Taken from ReactElement + var props = _assign({}, baseProps); + var defaultProps = Component.defaultProps; + for (var propName in defaultProps) { + if (props[propName] === undefined) { + props[propName] = defaultProps[propName]; + } + } + return props; + } + return baseProps; + } + + function readLazyComponentType(lazyComponent) { + var status = lazyComponent._status; + var result = lazyComponent._result; + switch (status) { + case Resolved: + { + var Component = result; + return Component; + } + case Rejected: + { + var error = result; + throw error; + } + case Pending: + { + var thenable = result; + throw thenable; + } + default: + { + lazyComponent._status = Pending; + var ctor = lazyComponent._ctor; + var _thenable = ctor(); + _thenable.then(function (moduleObject) { + if (lazyComponent._status === Pending) { + var defaultExport = moduleObject.default; + { + if (defaultExport === undefined) { + warning$1(false, 'lazy: Expected the result of a dynamic import() call. ' + 'Instead received: %s\n\nYour code should look like: \n ' + "const MyComponent = lazy(() => import('./MyComponent'))", moduleObject); + } + } + lazyComponent._status = Resolved; + lazyComponent._result = defaultExport; + } + }, function (error) { + if (lazyComponent._status === Pending) { + lazyComponent._status = Rejected; + lazyComponent._result = error; + } + }); + // Handle synchronous thenables. + switch (lazyComponent._status) { + case Resolved: + return lazyComponent._result; + case Rejected: + throw lazyComponent._result; + } + lazyComponent._result = _thenable; + throw _thenable; + } + } + } + + var fakeInternalInstance = {}; + var isArray$1 = Array.isArray; + + // React.Component uses a shared frozen object by default. + // We'll use it to determine whether we need to initialize legacy refs. + var emptyRefsObject = new React.Component().refs; + + var didWarnAboutStateAssignmentForComponent = void 0; + var didWarnAboutUninitializedState = void 0; + var didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = void 0; + var didWarnAboutLegacyLifecyclesAndDerivedState = void 0; + var didWarnAboutUndefinedDerivedState = void 0; + var warnOnUndefinedDerivedState = void 0; + var warnOnInvalidCallback = void 0; + var didWarnAboutDirectlyAssigningPropsToState = void 0; + var didWarnAboutContextTypeAndContextTypes = void 0; + var didWarnAboutInvalidateContextType = void 0; + + { + didWarnAboutStateAssignmentForComponent = new Set(); + didWarnAboutUninitializedState = new Set(); + didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = new Set(); + didWarnAboutLegacyLifecyclesAndDerivedState = new Set(); + didWarnAboutDirectlyAssigningPropsToState = new Set(); + didWarnAboutUndefinedDerivedState = new Set(); + didWarnAboutContextTypeAndContextTypes = new Set(); + didWarnAboutInvalidateContextType = new Set(); + + var didWarnOnInvalidCallback = new Set(); + + warnOnInvalidCallback = function (callback, callerName) { + if (callback === null || typeof callback === 'function') { + return; + } + var key = callerName + '_' + callback; + if (!didWarnOnInvalidCallback.has(key)) { + didWarnOnInvalidCallback.add(key); + warningWithoutStack$1(false, '%s(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callerName, callback); + } + }; + + warnOnUndefinedDerivedState = function (type, partialState) { + if (partialState === undefined) { + var componentName = getComponentName(type) || 'Component'; + if (!didWarnAboutUndefinedDerivedState.has(componentName)) { + didWarnAboutUndefinedDerivedState.add(componentName); + warningWithoutStack$1(false, '%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. ' + 'You have returned undefined.', componentName); + } + } + }; + + // This is so gross but it's at least non-critical and can be removed if + // it causes problems. This is meant to give a nicer error message for + // ReactDOM15.unstable_renderSubtreeIntoContainer(reactDOM16Component, + // ...)) which otherwise throws a "_processChildContext is not a function" + // exception. + Object.defineProperty(fakeInternalInstance, '_processChildContext', { + enumerable: false, + value: function () { + invariant(false, '_processChildContext is not available in React 16+. This likely means you have multiple copies of React and are attempting to nest a React 15 tree inside a React 16 tree using unstable_renderSubtreeIntoContainer, which isn\'t supported. Try to make sure you have only one copy of React (and ideally, switch to ReactDOM.createPortal).'); + } + }); + Object.freeze(fakeInternalInstance); + } + + function applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, nextProps) { + var prevState = workInProgress.memoizedState; + + { + if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) { + // Invoke the function an extra time to help detect side-effects. + getDerivedStateFromProps(nextProps, prevState); + } + } + + var partialState = getDerivedStateFromProps(nextProps, prevState); + + { + warnOnUndefinedDerivedState(ctor, partialState); + } + // Merge the partial state and the previous state. + var memoizedState = partialState === null || partialState === undefined ? prevState : _assign({}, prevState, partialState); + workInProgress.memoizedState = memoizedState; + + // Once the update queue is empty, persist the derived state onto the + // base state. + var updateQueue = workInProgress.updateQueue; + if (updateQueue !== null && workInProgress.expirationTime === NoWork) { + updateQueue.baseState = memoizedState; + } + } + + var classComponentUpdater = { + isMounted: isMounted, + enqueueSetState: function (inst, payload, callback) { + var fiber = get(inst); + var currentTime = requestCurrentTime(); + var expirationTime = computeExpirationForFiber(currentTime, fiber); + + var update = createUpdate(expirationTime); + update.payload = payload; + if (callback !== undefined && callback !== null) { + { + warnOnInvalidCallback(callback, 'setState'); + } + update.callback = callback; + } + + flushPassiveEffects(); + enqueueUpdate(fiber, update); + scheduleWork(fiber, expirationTime); + }, + enqueueReplaceState: function (inst, payload, callback) { + var fiber = get(inst); + var currentTime = requestCurrentTime(); + var expirationTime = computeExpirationForFiber(currentTime, fiber); + + var update = createUpdate(expirationTime); + update.tag = ReplaceState; + update.payload = payload; + + if (callback !== undefined && callback !== null) { + { + warnOnInvalidCallback(callback, 'replaceState'); + } + update.callback = callback; + } + + flushPassiveEffects(); + enqueueUpdate(fiber, update); + scheduleWork(fiber, expirationTime); + }, + enqueueForceUpdate: function (inst, callback) { + var fiber = get(inst); + var currentTime = requestCurrentTime(); + var expirationTime = computeExpirationForFiber(currentTime, fiber); + + var update = createUpdate(expirationTime); + update.tag = ForceUpdate; + + if (callback !== undefined && callback !== null) { + { + warnOnInvalidCallback(callback, 'forceUpdate'); + } + update.callback = callback; + } + + flushPassiveEffects(); + enqueueUpdate(fiber, update); + scheduleWork(fiber, expirationTime); + } + }; + + function checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext) { + var instance = workInProgress.stateNode; + if (typeof instance.shouldComponentUpdate === 'function') { + startPhaseTimer(workInProgress, 'shouldComponentUpdate'); + var shouldUpdate = instance.shouldComponentUpdate(newProps, newState, nextContext); + stopPhaseTimer(); + + { + !(shouldUpdate !== undefined) ? warningWithoutStack$1(false, '%s.shouldComponentUpdate(): Returned undefined instead of a ' + 'boolean value. Make sure to return true or false.', getComponentName(ctor) || 'Component') : void 0; + } + + return shouldUpdate; + } + + if (ctor.prototype && ctor.prototype.isPureReactComponent) { + return !shallowEqual(oldProps, newProps) || !shallowEqual(oldState, newState); + } + + return true; + } + + function checkClassInstance(workInProgress, ctor, newProps) { + var instance = workInProgress.stateNode; + { + var name = getComponentName(ctor) || 'Component'; + var renderPresent = instance.render; + + if (!renderPresent) { + if (ctor.prototype && typeof ctor.prototype.render === 'function') { + warningWithoutStack$1(false, '%s(...): No `render` method found on the returned component ' + 'instance: did you accidentally return an object from the constructor?', name); + } else { + warningWithoutStack$1(false, '%s(...): No `render` method found on the returned component ' + 'instance: you may have forgotten to define `render`.', name); + } + } + + var noGetInitialStateOnES6 = !instance.getInitialState || instance.getInitialState.isReactClassApproved || instance.state; + !noGetInitialStateOnES6 ? warningWithoutStack$1(false, 'getInitialState was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Did you mean to define a state property instead?', name) : void 0; + var noGetDefaultPropsOnES6 = !instance.getDefaultProps || instance.getDefaultProps.isReactClassApproved; + !noGetDefaultPropsOnES6 ? warningWithoutStack$1(false, 'getDefaultProps was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Use a static property to define defaultProps instead.', name) : void 0; + var noInstancePropTypes = !instance.propTypes; + !noInstancePropTypes ? warningWithoutStack$1(false, 'propTypes was defined as an instance property on %s. Use a static ' + 'property to define propTypes instead.', name) : void 0; + var noInstanceContextType = !instance.contextType; + !noInstanceContextType ? warningWithoutStack$1(false, 'contextType was defined as an instance property on %s. Use a static ' + 'property to define contextType instead.', name) : void 0; + var noInstanceContextTypes = !instance.contextTypes; + !noInstanceContextTypes ? warningWithoutStack$1(false, 'contextTypes was defined as an instance property on %s. Use a static ' + 'property to define contextTypes instead.', name) : void 0; + + if (ctor.contextType && ctor.contextTypes && !didWarnAboutContextTypeAndContextTypes.has(ctor)) { + didWarnAboutContextTypeAndContextTypes.add(ctor); + warningWithoutStack$1(false, '%s declares both contextTypes and contextType static properties. ' + 'The legacy contextTypes property will be ignored.', name); + } + + var noComponentShouldUpdate = typeof instance.componentShouldUpdate !== 'function'; + !noComponentShouldUpdate ? warningWithoutStack$1(false, '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', name) : void 0; + if (ctor.prototype && ctor.prototype.isPureReactComponent && typeof instance.shouldComponentUpdate !== 'undefined') { + warningWithoutStack$1(false, '%s has a method called shouldComponentUpdate(). ' + 'shouldComponentUpdate should not be used when extending React.PureComponent. ' + 'Please extend React.Component if shouldComponentUpdate is used.', getComponentName(ctor) || 'A pure component'); + } + var noComponentDidUnmount = typeof instance.componentDidUnmount !== 'function'; + !noComponentDidUnmount ? warningWithoutStack$1(false, '%s has a method called ' + 'componentDidUnmount(). But there is no such lifecycle method. ' + 'Did you mean componentWillUnmount()?', name) : void 0; + var noComponentDidReceiveProps = typeof instance.componentDidReceiveProps !== 'function'; + !noComponentDidReceiveProps ? warningWithoutStack$1(false, '%s has a method called ' + 'componentDidReceiveProps(). But there is no such lifecycle method. ' + 'If you meant to update the state in response to changing props, ' + 'use componentWillReceiveProps(). If you meant to fetch data or ' + 'run side-effects or mutations after React has updated the UI, use componentDidUpdate().', name) : void 0; + var noComponentWillRecieveProps = typeof instance.componentWillRecieveProps !== 'function'; + !noComponentWillRecieveProps ? warningWithoutStack$1(false, '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', name) : void 0; + var noUnsafeComponentWillRecieveProps = typeof instance.UNSAFE_componentWillRecieveProps !== 'function'; + !noUnsafeComponentWillRecieveProps ? warningWithoutStack$1(false, '%s has a method called ' + 'UNSAFE_componentWillRecieveProps(). Did you mean UNSAFE_componentWillReceiveProps()?', name) : void 0; + var hasMutatedProps = instance.props !== newProps; + !(instance.props === undefined || !hasMutatedProps) ? warningWithoutStack$1(false, '%s(...): When calling super() in `%s`, make sure to pass ' + "up the same props that your component's constructor was passed.", name, name) : void 0; + var noInstanceDefaultProps = !instance.defaultProps; + !noInstanceDefaultProps ? warningWithoutStack$1(false, 'Setting defaultProps as an instance property on %s is not supported and will be ignored.' + ' Instead, define defaultProps as a static property on %s.', name, name) : void 0; + + if (typeof instance.getSnapshotBeforeUpdate === 'function' && typeof instance.componentDidUpdate !== 'function' && !didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.has(ctor)) { + didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate.add(ctor); + warningWithoutStack$1(false, '%s: getSnapshotBeforeUpdate() should be used with componentDidUpdate(). ' + 'This component defines getSnapshotBeforeUpdate() only.', getComponentName(ctor)); + } + + var noInstanceGetDerivedStateFromProps = typeof instance.getDerivedStateFromProps !== 'function'; + !noInstanceGetDerivedStateFromProps ? warningWithoutStack$1(false, '%s: getDerivedStateFromProps() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name) : void 0; + var noInstanceGetDerivedStateFromCatch = typeof instance.getDerivedStateFromError !== 'function'; + !noInstanceGetDerivedStateFromCatch ? warningWithoutStack$1(false, '%s: getDerivedStateFromError() is defined as an instance method ' + 'and will be ignored. Instead, declare it as a static method.', name) : void 0; + var noStaticGetSnapshotBeforeUpdate = typeof ctor.getSnapshotBeforeUpdate !== 'function'; + !noStaticGetSnapshotBeforeUpdate ? warningWithoutStack$1(false, '%s: getSnapshotBeforeUpdate() is defined as a static method ' + 'and will be ignored. Instead, declare it as an instance method.', name) : void 0; + var _state = instance.state; + if (_state && (typeof _state !== 'object' || isArray$1(_state))) { + warningWithoutStack$1(false, '%s.state: must be set to an object or null', name); + } + if (typeof instance.getChildContext === 'function') { + !(typeof ctor.childContextTypes === 'object') ? warningWithoutStack$1(false, '%s.getChildContext(): childContextTypes must be defined in order to ' + 'use getChildContext().', name) : void 0; + } + } + } + + function adoptClassInstance(workInProgress, instance) { + instance.updater = classComponentUpdater; + workInProgress.stateNode = instance; + // The instance needs access to the fiber so that it can schedule updates + set(instance, workInProgress); + { + instance._reactInternalInstance = fakeInternalInstance; + } + } + + function constructClassInstance(workInProgress, ctor, props, renderExpirationTime) { + var isLegacyContextConsumer = false; + var unmaskedContext = emptyContextObject; + var context = null; + var contextType = ctor.contextType; + + { + if ('contextType' in ctor) { + var isValid = + // Allow null for conditional declaration + contextType === null || contextType !== undefined && contextType.$$typeof === REACT_CONTEXT_TYPE && contextType._context === undefined; // Not a + + if (!isValid && !didWarnAboutInvalidateContextType.has(ctor)) { + didWarnAboutInvalidateContextType.add(ctor); + + var addendum = ''; + if (contextType === undefined) { + addendum = ' However, it is set to undefined. ' + 'This can be caused by a typo or by mixing up named and default imports. ' + 'This can also happen due to a circular dependency, so ' + 'try moving the createContext() call to a separate file.'; + } else if (typeof contextType !== 'object') { + addendum = ' However, it is set to a ' + typeof contextType + '.'; + } else if (contextType.$$typeof === REACT_PROVIDER_TYPE) { + addendum = ' Did you accidentally pass the Context.Provider instead?'; + } else if (contextType._context !== undefined) { + // + addendum = ' Did you accidentally pass the Context.Consumer instead?'; + } else { + addendum = ' However, it is set to an object with keys {' + Object.keys(contextType).join(', ') + '}.'; + } + warningWithoutStack$1(false, '%s defines an invalid contextType. ' + 'contextType should point to the Context object returned by React.createContext().%s', getComponentName(ctor) || 'Component', addendum); + } + } + } + + if (typeof contextType === 'object' && contextType !== null) { + context = readContext(contextType); + } else { + unmaskedContext = getUnmaskedContext(workInProgress, ctor, true); + var contextTypes = ctor.contextTypes; + isLegacyContextConsumer = contextTypes !== null && contextTypes !== undefined; + context = isLegacyContextConsumer ? getMaskedContext(workInProgress, unmaskedContext) : emptyContextObject; + } + + // Instantiate twice to help detect side-effects. + { + if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) { + new ctor(props, context); // eslint-disable-line no-new + } + } + + var instance = new ctor(props, context); + var state = workInProgress.memoizedState = instance.state !== null && instance.state !== undefined ? instance.state : null; + adoptClassInstance(workInProgress, instance); + + { + if (typeof ctor.getDerivedStateFromProps === 'function' && state === null) { + var componentName = getComponentName(ctor) || 'Component'; + if (!didWarnAboutUninitializedState.has(componentName)) { + didWarnAboutUninitializedState.add(componentName); + warningWithoutStack$1(false, '`%s` uses `getDerivedStateFromProps` but its initial state is ' + '%s. This is not recommended. Instead, define the initial state by ' + 'assigning an object to `this.state` in the constructor of `%s`. ' + 'This ensures that `getDerivedStateFromProps` arguments have a consistent shape.', componentName, instance.state === null ? 'null' : 'undefined', componentName); + } + } + + // If new component APIs are defined, "unsafe" lifecycles won't be called. + // Warn about these lifecycles if they are present. + // Don't warn about react-lifecycles-compat polyfilled methods though. + if (typeof ctor.getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function') { + var foundWillMountName = null; + var foundWillReceivePropsName = null; + var foundWillUpdateName = null; + if (typeof instance.componentWillMount === 'function' && instance.componentWillMount.__suppressDeprecationWarning !== true) { + foundWillMountName = 'componentWillMount'; + } else if (typeof instance.UNSAFE_componentWillMount === 'function') { + foundWillMountName = 'UNSAFE_componentWillMount'; + } + if (typeof instance.componentWillReceiveProps === 'function' && instance.componentWillReceiveProps.__suppressDeprecationWarning !== true) { + foundWillReceivePropsName = 'componentWillReceiveProps'; + } else if (typeof instance.UNSAFE_componentWillReceiveProps === 'function') { + foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps'; + } + if (typeof instance.componentWillUpdate === 'function' && instance.componentWillUpdate.__suppressDeprecationWarning !== true) { + foundWillUpdateName = 'componentWillUpdate'; + } else if (typeof instance.UNSAFE_componentWillUpdate === 'function') { + foundWillUpdateName = 'UNSAFE_componentWillUpdate'; + } + if (foundWillMountName !== null || foundWillReceivePropsName !== null || foundWillUpdateName !== null) { + var _componentName = getComponentName(ctor) || 'Component'; + var newApiName = typeof ctor.getDerivedStateFromProps === 'function' ? 'getDerivedStateFromProps()' : 'getSnapshotBeforeUpdate()'; + if (!didWarnAboutLegacyLifecyclesAndDerivedState.has(_componentName)) { + didWarnAboutLegacyLifecyclesAndDerivedState.add(_componentName); + warningWithoutStack$1(false, 'Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n' + '%s uses %s but also contains the following legacy lifecycles:%s%s%s\n\n' + 'The above lifecycles should be removed. Learn more about this warning here:\n' + 'https://fb.me/react-async-component-lifecycle-hooks', _componentName, newApiName, foundWillMountName !== null ? '\n ' + foundWillMountName : '', foundWillReceivePropsName !== null ? '\n ' + foundWillReceivePropsName : '', foundWillUpdateName !== null ? '\n ' + foundWillUpdateName : ''); + } + } + } + } + + // Cache unmasked context so we can avoid recreating masked context unless necessary. + // ReactFiberContext usually updates this cache but can't for newly-created instances. + if (isLegacyContextConsumer) { + cacheContext(workInProgress, unmaskedContext, context); + } + + return instance; + } + + function callComponentWillMount(workInProgress, instance) { + startPhaseTimer(workInProgress, 'componentWillMount'); + var oldState = instance.state; + + if (typeof instance.componentWillMount === 'function') { + instance.componentWillMount(); + } + if (typeof instance.UNSAFE_componentWillMount === 'function') { + instance.UNSAFE_componentWillMount(); + } + + stopPhaseTimer(); + + if (oldState !== instance.state) { + { + warningWithoutStack$1(false, '%s.componentWillMount(): Assigning directly to this.state is ' + "deprecated (except inside a component's " + 'constructor). Use setState instead.', getComponentName(workInProgress.type) || 'Component'); + } + classComponentUpdater.enqueueReplaceState(instance, instance.state, null); + } + } + + function callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext) { + var oldState = instance.state; + startPhaseTimer(workInProgress, 'componentWillReceiveProps'); + if (typeof instance.componentWillReceiveProps === 'function') { + instance.componentWillReceiveProps(newProps, nextContext); + } + if (typeof instance.UNSAFE_componentWillReceiveProps === 'function') { + instance.UNSAFE_componentWillReceiveProps(newProps, nextContext); + } + stopPhaseTimer(); + + if (instance.state !== oldState) { + { + var componentName = getComponentName(workInProgress.type) || 'Component'; + if (!didWarnAboutStateAssignmentForComponent.has(componentName)) { + didWarnAboutStateAssignmentForComponent.add(componentName); + warningWithoutStack$1(false, '%s.componentWillReceiveProps(): Assigning directly to ' + "this.state is deprecated (except inside a component's " + 'constructor). Use setState instead.', componentName); + } + } + classComponentUpdater.enqueueReplaceState(instance, instance.state, null); + } + } + + // Invokes the mount life-cycles on a previously never rendered instance. + function mountClassInstance(workInProgress, ctor, newProps, renderExpirationTime) { + { + checkClassInstance(workInProgress, ctor, newProps); + } + + var instance = workInProgress.stateNode; + instance.props = newProps; + instance.state = workInProgress.memoizedState; + instance.refs = emptyRefsObject; + + var contextType = ctor.contextType; + if (typeof contextType === 'object' && contextType !== null) { + instance.context = readContext(contextType); + } else { + var unmaskedContext = getUnmaskedContext(workInProgress, ctor, true); + instance.context = getMaskedContext(workInProgress, unmaskedContext); + } + + { + if (instance.state === newProps) { + var componentName = getComponentName(ctor) || 'Component'; + if (!didWarnAboutDirectlyAssigningPropsToState.has(componentName)) { + didWarnAboutDirectlyAssigningPropsToState.add(componentName); + warningWithoutStack$1(false, '%s: It is not recommended to assign props directly to state ' + "because updates to props won't be reflected in state. " + 'In most cases, it is better to use props directly.', componentName); + } + } + + if (workInProgress.mode & StrictMode) { + ReactStrictModeWarnings.recordUnsafeLifecycleWarnings(workInProgress, instance); + + ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, instance); + } + + if (warnAboutDeprecatedLifecycles) { + ReactStrictModeWarnings.recordDeprecationWarnings(workInProgress, instance); + } + } + + var updateQueue = workInProgress.updateQueue; + if (updateQueue !== null) { + processUpdateQueue(workInProgress, updateQueue, newProps, instance, renderExpirationTime); + instance.state = workInProgress.memoizedState; + } + + var getDerivedStateFromProps = ctor.getDerivedStateFromProps; + if (typeof getDerivedStateFromProps === 'function') { + applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps); + instance.state = workInProgress.memoizedState; + } + + // In order to support react-lifecycles-compat polyfilled components, + // Unsafe lifecycles should not be invoked for components using the new APIs. + if (typeof ctor.getDerivedStateFromProps !== 'function' && typeof instance.getSnapshotBeforeUpdate !== 'function' && (typeof instance.UNSAFE_componentWillMount === 'function' || typeof instance.componentWillMount === 'function')) { + callComponentWillMount(workInProgress, instance); + // If we had additional state updates during this life-cycle, let's + // process them now. + updateQueue = workInProgress.updateQueue; + if (updateQueue !== null) { + processUpdateQueue(workInProgress, updateQueue, newProps, instance, renderExpirationTime); + instance.state = workInProgress.memoizedState; + } + } + + if (typeof instance.componentDidMount === 'function') { + workInProgress.effectTag |= Update; + } + } + + function resumeMountClassInstance(workInProgress, ctor, newProps, renderExpirationTime) { + var instance = workInProgress.stateNode; + + var oldProps = workInProgress.memoizedProps; + instance.props = oldProps; + + var oldContext = instance.context; + var contextType = ctor.contextType; + var nextContext = void 0; + if (typeof contextType === 'object' && contextType !== null) { + nextContext = readContext(contextType); + } else { + var nextLegacyUnmaskedContext = getUnmaskedContext(workInProgress, ctor, true); + nextContext = getMaskedContext(workInProgress, nextLegacyUnmaskedContext); + } + + var getDerivedStateFromProps = ctor.getDerivedStateFromProps; + var hasNewLifecycles = typeof getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function'; + + // Note: During these life-cycles, instance.props/instance.state are what + // ever the previously attempted to render - not the "current". However, + // during componentDidUpdate we pass the "current" props. + + // In order to support react-lifecycles-compat polyfilled components, + // Unsafe lifecycles should not be invoked for components using the new APIs. + if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === 'function' || typeof instance.componentWillReceiveProps === 'function')) { + if (oldProps !== newProps || oldContext !== nextContext) { + callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext); + } + } + + resetHasForceUpdateBeforeProcessing(); + + var oldState = workInProgress.memoizedState; + var newState = instance.state = oldState; + var updateQueue = workInProgress.updateQueue; + if (updateQueue !== null) { + processUpdateQueue(workInProgress, updateQueue, newProps, instance, renderExpirationTime); + newState = workInProgress.memoizedState; + } + if (oldProps === newProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing()) { + // If an update was already in progress, we should schedule an Update + // effect even though we're bailing out, so that cWU/cDU are called. + if (typeof instance.componentDidMount === 'function') { + workInProgress.effectTag |= Update; + } + return false; + } + + if (typeof getDerivedStateFromProps === 'function') { + applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps); + newState = workInProgress.memoizedState; + } + + var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext); + + if (shouldUpdate) { + // In order to support react-lifecycles-compat polyfilled components, + // Unsafe lifecycles should not be invoked for components using the new APIs. + if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillMount === 'function' || typeof instance.componentWillMount === 'function')) { + startPhaseTimer(workInProgress, 'componentWillMount'); + if (typeof instance.componentWillMount === 'function') { + instance.componentWillMount(); + } + if (typeof instance.UNSAFE_componentWillMount === 'function') { + instance.UNSAFE_componentWillMount(); + } + stopPhaseTimer(); + } + if (typeof instance.componentDidMount === 'function') { + workInProgress.effectTag |= Update; + } + } else { + // If an update was already in progress, we should schedule an Update + // effect even though we're bailing out, so that cWU/cDU are called. + if (typeof instance.componentDidMount === 'function') { + workInProgress.effectTag |= Update; + } + + // If shouldComponentUpdate returned false, we should still update the + // memoized state to indicate that this work can be reused. + workInProgress.memoizedProps = newProps; + workInProgress.memoizedState = newState; + } + + // Update the existing instance's state, props, and context pointers even + // if shouldComponentUpdate returns false. + instance.props = newProps; + instance.state = newState; + instance.context = nextContext; + + return shouldUpdate; + } + + // Invokes the update life-cycles and returns false if it shouldn't rerender. + function updateClassInstance(current, workInProgress, ctor, newProps, renderExpirationTime) { + var instance = workInProgress.stateNode; + + var oldProps = workInProgress.memoizedProps; + instance.props = workInProgress.type === workInProgress.elementType ? oldProps : resolveDefaultProps(workInProgress.type, oldProps); + + var oldContext = instance.context; + var contextType = ctor.contextType; + var nextContext = void 0; + if (typeof contextType === 'object' && contextType !== null) { + nextContext = readContext(contextType); + } else { + var nextUnmaskedContext = getUnmaskedContext(workInProgress, ctor, true); + nextContext = getMaskedContext(workInProgress, nextUnmaskedContext); + } + + var getDerivedStateFromProps = ctor.getDerivedStateFromProps; + var hasNewLifecycles = typeof getDerivedStateFromProps === 'function' || typeof instance.getSnapshotBeforeUpdate === 'function'; + + // Note: During these life-cycles, instance.props/instance.state are what + // ever the previously attempted to render - not the "current". However, + // during componentDidUpdate we pass the "current" props. + + // In order to support react-lifecycles-compat polyfilled components, + // Unsafe lifecycles should not be invoked for components using the new APIs. + if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillReceiveProps === 'function' || typeof instance.componentWillReceiveProps === 'function')) { + if (oldProps !== newProps || oldContext !== nextContext) { + callComponentWillReceiveProps(workInProgress, instance, newProps, nextContext); + } + } + + resetHasForceUpdateBeforeProcessing(); + + var oldState = workInProgress.memoizedState; + var newState = instance.state = oldState; + var updateQueue = workInProgress.updateQueue; + if (updateQueue !== null) { + processUpdateQueue(workInProgress, updateQueue, newProps, instance, renderExpirationTime); + newState = workInProgress.memoizedState; + } + + if (oldProps === newProps && oldState === newState && !hasContextChanged() && !checkHasForceUpdateAfterProcessing()) { + // If an update was already in progress, we should schedule an Update + // effect even though we're bailing out, so that cWU/cDU are called. + if (typeof instance.componentDidUpdate === 'function') { + if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) { + workInProgress.effectTag |= Update; + } + } + if (typeof instance.getSnapshotBeforeUpdate === 'function') { + if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) { + workInProgress.effectTag |= Snapshot; + } + } + return false; + } + + if (typeof getDerivedStateFromProps === 'function') { + applyDerivedStateFromProps(workInProgress, ctor, getDerivedStateFromProps, newProps); + newState = workInProgress.memoizedState; + } + + var shouldUpdate = checkHasForceUpdateAfterProcessing() || checkShouldComponentUpdate(workInProgress, ctor, oldProps, newProps, oldState, newState, nextContext); + + if (shouldUpdate) { + // In order to support react-lifecycles-compat polyfilled components, + // Unsafe lifecycles should not be invoked for components using the new APIs. + if (!hasNewLifecycles && (typeof instance.UNSAFE_componentWillUpdate === 'function' || typeof instance.componentWillUpdate === 'function')) { + startPhaseTimer(workInProgress, 'componentWillUpdate'); + if (typeof instance.componentWillUpdate === 'function') { + instance.componentWillUpdate(newProps, newState, nextContext); + } + if (typeof instance.UNSAFE_componentWillUpdate === 'function') { + instance.UNSAFE_componentWillUpdate(newProps, newState, nextContext); + } + stopPhaseTimer(); + } + if (typeof instance.componentDidUpdate === 'function') { + workInProgress.effectTag |= Update; + } + if (typeof instance.getSnapshotBeforeUpdate === 'function') { + workInProgress.effectTag |= Snapshot; + } + } else { + // If an update was already in progress, we should schedule an Update + // effect even though we're bailing out, so that cWU/cDU are called. + if (typeof instance.componentDidUpdate === 'function') { + if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) { + workInProgress.effectTag |= Update; + } + } + if (typeof instance.getSnapshotBeforeUpdate === 'function') { + if (oldProps !== current.memoizedProps || oldState !== current.memoizedState) { + workInProgress.effectTag |= Snapshot; + } + } + + // If shouldComponentUpdate returned false, we should still update the + // memoized props/state to indicate that this work can be reused. + workInProgress.memoizedProps = newProps; + workInProgress.memoizedState = newState; + } + + // Update the existing instance's state, props, and context pointers even + // if shouldComponentUpdate returns false. + instance.props = newProps; + instance.state = newState; + instance.context = nextContext; + + return shouldUpdate; + } + + var didWarnAboutMaps = void 0; + var didWarnAboutGenerators = void 0; + var didWarnAboutStringRefInStrictMode = void 0; + var ownerHasKeyUseWarning = void 0; + var ownerHasFunctionTypeWarning = void 0; + var warnForMissingKey = function (child) {}; + + { + didWarnAboutMaps = false; + didWarnAboutGenerators = false; + didWarnAboutStringRefInStrictMode = {}; + + /** + * Warn if there's no key explicitly set on dynamic arrays of children or + * object keys are not valid. This allows us to keep track of children between + * updates. + */ + ownerHasKeyUseWarning = {}; + ownerHasFunctionTypeWarning = {}; + + warnForMissingKey = function (child) { + if (child === null || typeof child !== 'object') { + return; + } + if (!child._store || child._store.validated || child.key != null) { + return; + } + !(typeof child._store === 'object') ? invariant(false, 'React Component in warnForMissingKey should have a _store. This error is likely caused by a bug in React. Please file an issue.') : void 0; + child._store.validated = true; + + var currentComponentErrorInfo = 'Each child in a list should have a unique ' + '"key" prop. See https://fb.me/react-warning-keys for ' + 'more information.' + getCurrentFiberStackInDev(); + if (ownerHasKeyUseWarning[currentComponentErrorInfo]) { + return; + } + ownerHasKeyUseWarning[currentComponentErrorInfo] = true; + + warning$1(false, 'Each child in a list should have a unique ' + '"key" prop. See https://fb.me/react-warning-keys for ' + 'more information.'); + }; + } + + var isArray = Array.isArray; + + function coerceRef(returnFiber, current$$1, element) { + var mixedRef = element.ref; + if (mixedRef !== null && typeof mixedRef !== 'function' && typeof mixedRef !== 'object') { + { + if (returnFiber.mode & StrictMode) { + var componentName = getComponentName(returnFiber.type) || 'Component'; + if (!didWarnAboutStringRefInStrictMode[componentName]) { + warningWithoutStack$1(false, 'A string ref, "%s", has been found within a strict mode tree. ' + 'String refs are a source of potential bugs and should be avoided. ' + 'We recommend using createRef() instead.' + '\n%s' + '\n\nLearn more about using refs safely here:' + '\nhttps://fb.me/react-strict-mode-string-ref', mixedRef, getStackByFiberInDevAndProd(returnFiber)); + didWarnAboutStringRefInStrictMode[componentName] = true; + } + } + } + + if (element._owner) { + var owner = element._owner; + var inst = void 0; + if (owner) { + var ownerFiber = owner; + !(ownerFiber.tag === ClassComponent) ? invariant(false, 'Function components cannot have refs. Did you mean to use React.forwardRef()?') : void 0; + inst = ownerFiber.stateNode; + } + !inst ? invariant(false, 'Missing owner for string ref %s. This error is likely caused by a bug in React. Please file an issue.', mixedRef) : void 0; + var stringRef = '' + mixedRef; + // Check if previous string ref matches new string ref + if (current$$1 !== null && current$$1.ref !== null && typeof current$$1.ref === 'function' && current$$1.ref._stringRef === stringRef) { + return current$$1.ref; + } + var ref = function (value) { + var refs = inst.refs; + if (refs === emptyRefsObject) { + // This is a lazy pooled frozen object, so we need to initialize. + refs = inst.refs = {}; + } + if (value === null) { + delete refs[stringRef]; + } else { + refs[stringRef] = value; + } + }; + ref._stringRef = stringRef; + return ref; + } else { + !(typeof mixedRef === 'string') ? invariant(false, 'Expected ref to be a function, a string, an object returned by React.createRef(), or null.') : void 0; + !element._owner ? invariant(false, 'Element ref was specified as a string (%s) but no owner was set. This could happen for one of the following reasons:\n1. You may be adding a ref to a function component\n2. You may be adding a ref to a component that was not created inside a component\'s render method\n3. You have multiple copies of React loaded\nSee https://fb.me/react-refs-must-have-owner for more information.', mixedRef) : void 0; + } + } + return mixedRef; + } + + function throwOnInvalidObjectType(returnFiber, newChild) { + if (returnFiber.type !== 'textarea') { + var addendum = ''; + { + addendum = ' If you meant to render a collection of children, use an array ' + 'instead.' + getCurrentFiberStackInDev(); + } + invariant(false, 'Objects are not valid as a React child (found: %s).%s', Object.prototype.toString.call(newChild) === '[object Object]' ? 'object with keys {' + Object.keys(newChild).join(', ') + '}' : newChild, addendum); + } + } + + function warnOnFunctionType() { + var currentComponentErrorInfo = 'Functions are not valid as a React child. This may happen if ' + 'you return a Component instead of from render. ' + 'Or maybe you meant to call this function rather than return it.' + getCurrentFiberStackInDev(); + + if (ownerHasFunctionTypeWarning[currentComponentErrorInfo]) { + return; + } + ownerHasFunctionTypeWarning[currentComponentErrorInfo] = true; + + warning$1(false, 'Functions are not valid as a React child. This may happen if ' + 'you return a Component instead of from render. ' + 'Or maybe you meant to call this function rather than return it.'); + } + + // This wrapper function exists because I expect to clone the code in each path + // to be able to optimize each path individually by branching early. This needs + // a compiler or we can do it manually. Helpers that don't need this branching + // live outside of this function. + function ChildReconciler(shouldTrackSideEffects) { + function deleteChild(returnFiber, childToDelete) { + if (!shouldTrackSideEffects) { + // Noop. + return; + } + // Deletions are added in reversed order so we add it to the front. + // At this point, the return fiber's effect list is empty except for + // deletions, so we can just append the deletion to the list. The remaining + // effects aren't added until the complete phase. Once we implement + // resuming, this may not be true. + var last = returnFiber.lastEffect; + if (last !== null) { + last.nextEffect = childToDelete; + returnFiber.lastEffect = childToDelete; + } else { + returnFiber.firstEffect = returnFiber.lastEffect = childToDelete; + } + childToDelete.nextEffect = null; + childToDelete.effectTag = Deletion; + } + + function deleteRemainingChildren(returnFiber, currentFirstChild) { + if (!shouldTrackSideEffects) { + // Noop. + return null; + } + + // TODO: For the shouldClone case, this could be micro-optimized a bit by + // assuming that after the first child we've already added everything. + var childToDelete = currentFirstChild; + while (childToDelete !== null) { + deleteChild(returnFiber, childToDelete); + childToDelete = childToDelete.sibling; + } + return null; + } + + function mapRemainingChildren(returnFiber, currentFirstChild) { + // Add the remaining children to a temporary map so that we can find them by + // keys quickly. Implicit (null) keys get added to this set with their index + var existingChildren = new Map(); + + var existingChild = currentFirstChild; + while (existingChild !== null) { + if (existingChild.key !== null) { + existingChildren.set(existingChild.key, existingChild); + } else { + existingChildren.set(existingChild.index, existingChild); + } + existingChild = existingChild.sibling; + } + return existingChildren; + } + + function useFiber(fiber, pendingProps, expirationTime) { + // We currently set sibling to null and index to 0 here because it is easy + // to forget to do before returning it. E.g. for the single child case. + var clone = createWorkInProgress(fiber, pendingProps, expirationTime); + clone.index = 0; + clone.sibling = null; + return clone; + } + + function placeChild(newFiber, lastPlacedIndex, newIndex) { + newFiber.index = newIndex; + if (!shouldTrackSideEffects) { + // Noop. + return lastPlacedIndex; + } + var current$$1 = newFiber.alternate; + if (current$$1 !== null) { + var oldIndex = current$$1.index; + if (oldIndex < lastPlacedIndex) { + // This is a move. + newFiber.effectTag = Placement; + return lastPlacedIndex; + } else { + // This item can stay in place. + return oldIndex; + } + } else { + // This is an insertion. + newFiber.effectTag = Placement; + return lastPlacedIndex; + } + } + + function placeSingleChild(newFiber) { + // This is simpler for the single child case. We only need to do a + // placement for inserting new children. + if (shouldTrackSideEffects && newFiber.alternate === null) { + newFiber.effectTag = Placement; + } + return newFiber; + } + + function updateTextNode(returnFiber, current$$1, textContent, expirationTime) { + if (current$$1 === null || current$$1.tag !== HostText) { + // Insert + var created = createFiberFromText(textContent, returnFiber.mode, expirationTime); + created.return = returnFiber; + return created; + } else { + // Update + var existing = useFiber(current$$1, textContent, expirationTime); + existing.return = returnFiber; + return existing; + } + } + + function updateElement(returnFiber, current$$1, element, expirationTime) { + if (current$$1 !== null && current$$1.elementType === element.type) { + // Move based on index + var existing = useFiber(current$$1, element.props, expirationTime); + existing.ref = coerceRef(returnFiber, current$$1, element); + existing.return = returnFiber; + { + existing._debugSource = element._source; + existing._debugOwner = element._owner; + } + return existing; + } else { + // Insert + var created = createFiberFromElement(element, returnFiber.mode, expirationTime); + created.ref = coerceRef(returnFiber, current$$1, element); + created.return = returnFiber; + return created; + } + } + + function updatePortal(returnFiber, current$$1, portal, expirationTime) { + if (current$$1 === null || current$$1.tag !== HostPortal || current$$1.stateNode.containerInfo !== portal.containerInfo || current$$1.stateNode.implementation !== portal.implementation) { + // Insert + var created = createFiberFromPortal(portal, returnFiber.mode, expirationTime); + created.return = returnFiber; + return created; + } else { + // Update + var existing = useFiber(current$$1, portal.children || [], expirationTime); + existing.return = returnFiber; + return existing; + } + } + + function updateFragment(returnFiber, current$$1, fragment, expirationTime, key) { + if (current$$1 === null || current$$1.tag !== Fragment) { + // Insert + var created = createFiberFromFragment(fragment, returnFiber.mode, expirationTime, key); + created.return = returnFiber; + return created; + } else { + // Update + var existing = useFiber(current$$1, fragment, expirationTime); + existing.return = returnFiber; + return existing; + } + } + + function createChild(returnFiber, newChild, expirationTime) { + if (typeof newChild === 'string' || typeof newChild === 'number') { + // Text nodes don't have keys. If the previous node is implicitly keyed + // we can continue to replace it without aborting even if it is not a text + // node. + var created = createFiberFromText('' + newChild, returnFiber.mode, expirationTime); + created.return = returnFiber; + return created; + } + + if (typeof newChild === 'object' && newChild !== null) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + { + var _created = createFiberFromElement(newChild, returnFiber.mode, expirationTime); + _created.ref = coerceRef(returnFiber, null, newChild); + _created.return = returnFiber; + return _created; + } + case REACT_PORTAL_TYPE: + { + var _created2 = createFiberFromPortal(newChild, returnFiber.mode, expirationTime); + _created2.return = returnFiber; + return _created2; + } + } + + if (isArray(newChild) || getIteratorFn(newChild)) { + var _created3 = createFiberFromFragment(newChild, returnFiber.mode, expirationTime, null); + _created3.return = returnFiber; + return _created3; + } + + throwOnInvalidObjectType(returnFiber, newChild); + } + + { + if (typeof newChild === 'function') { + warnOnFunctionType(); + } + } + + return null; + } + + function updateSlot(returnFiber, oldFiber, newChild, expirationTime) { + // Update the fiber if the keys match, otherwise return null. + + var key = oldFiber !== null ? oldFiber.key : null; + + if (typeof newChild === 'string' || typeof newChild === 'number') { + // Text nodes don't have keys. If the previous node is implicitly keyed + // we can continue to replace it without aborting even if it is not a text + // node. + if (key !== null) { + return null; + } + return updateTextNode(returnFiber, oldFiber, '' + newChild, expirationTime); + } + + if (typeof newChild === 'object' && newChild !== null) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + { + if (newChild.key === key) { + if (newChild.type === REACT_FRAGMENT_TYPE) { + return updateFragment(returnFiber, oldFiber, newChild.props.children, expirationTime, key); + } + return updateElement(returnFiber, oldFiber, newChild, expirationTime); + } else { + return null; + } + } + case REACT_PORTAL_TYPE: + { + if (newChild.key === key) { + return updatePortal(returnFiber, oldFiber, newChild, expirationTime); + } else { + return null; + } + } + } + + if (isArray(newChild) || getIteratorFn(newChild)) { + if (key !== null) { + return null; + } + + return updateFragment(returnFiber, oldFiber, newChild, expirationTime, null); + } + + throwOnInvalidObjectType(returnFiber, newChild); + } + + { + if (typeof newChild === 'function') { + warnOnFunctionType(); + } + } + + return null; + } + + function updateFromMap(existingChildren, returnFiber, newIdx, newChild, expirationTime) { + if (typeof newChild === 'string' || typeof newChild === 'number') { + // Text nodes don't have keys, so we neither have to check the old nor + // new node for the key. If both are text nodes, they match. + var matchedFiber = existingChildren.get(newIdx) || null; + return updateTextNode(returnFiber, matchedFiber, '' + newChild, expirationTime); + } + + if (typeof newChild === 'object' && newChild !== null) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + { + var _matchedFiber = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null; + if (newChild.type === REACT_FRAGMENT_TYPE) { + return updateFragment(returnFiber, _matchedFiber, newChild.props.children, expirationTime, newChild.key); + } + return updateElement(returnFiber, _matchedFiber, newChild, expirationTime); + } + case REACT_PORTAL_TYPE: + { + var _matchedFiber2 = existingChildren.get(newChild.key === null ? newIdx : newChild.key) || null; + return updatePortal(returnFiber, _matchedFiber2, newChild, expirationTime); + } + } + + if (isArray(newChild) || getIteratorFn(newChild)) { + var _matchedFiber3 = existingChildren.get(newIdx) || null; + return updateFragment(returnFiber, _matchedFiber3, newChild, expirationTime, null); + } + + throwOnInvalidObjectType(returnFiber, newChild); + } + + { + if (typeof newChild === 'function') { + warnOnFunctionType(); + } + } + + return null; + } + + /** + * Warns if there is a duplicate or missing key + */ + function warnOnInvalidKey(child, knownKeys) { + { + if (typeof child !== 'object' || child === null) { + return knownKeys; + } + switch (child.$$typeof) { + case REACT_ELEMENT_TYPE: + case REACT_PORTAL_TYPE: + warnForMissingKey(child); + var key = child.key; + if (typeof key !== 'string') { + break; + } + if (knownKeys === null) { + knownKeys = new Set(); + knownKeys.add(key); + break; + } + if (!knownKeys.has(key)) { + knownKeys.add(key); + break; + } + warning$1(false, 'Encountered two children with the same key, `%s`. ' + 'Keys should be unique so that components maintain their identity ' + 'across updates. Non-unique keys may cause children to be ' + 'duplicated and/or omitted — the behavior is unsupported and ' + 'could change in a future version.', key); + break; + default: + break; + } + } + return knownKeys; + } + + function reconcileChildrenArray(returnFiber, currentFirstChild, newChildren, expirationTime) { + // This algorithm can't optimize by searching from both ends since we + // don't have backpointers on fibers. I'm trying to see how far we can get + // with that model. If it ends up not being worth the tradeoffs, we can + // add it later. + + // Even with a two ended optimization, we'd want to optimize for the case + // where there are few changes and brute force the comparison instead of + // going for the Map. It'd like to explore hitting that path first in + // forward-only mode and only go for the Map once we notice that we need + // lots of look ahead. This doesn't handle reversal as well as two ended + // search but that's unusual. Besides, for the two ended optimization to + // work on Iterables, we'd need to copy the whole set. + + // In this first iteration, we'll just live with hitting the bad case + // (adding everything to a Map) in for every insert/move. + + // If you change this code, also update reconcileChildrenIterator() which + // uses the same algorithm. + + { + // First, validate keys. + var knownKeys = null; + for (var i = 0; i < newChildren.length; i++) { + var child = newChildren[i]; + knownKeys = warnOnInvalidKey(child, knownKeys); + } + } + + var resultingFirstChild = null; + var previousNewFiber = null; + + var oldFiber = currentFirstChild; + var lastPlacedIndex = 0; + var newIdx = 0; + var nextOldFiber = null; + for (; oldFiber !== null && newIdx < newChildren.length; newIdx++) { + if (oldFiber.index > newIdx) { + nextOldFiber = oldFiber; + oldFiber = null; + } else { + nextOldFiber = oldFiber.sibling; + } + var newFiber = updateSlot(returnFiber, oldFiber, newChildren[newIdx], expirationTime); + if (newFiber === null) { + // TODO: This breaks on empty slots like null children. That's + // unfortunate because it triggers the slow path all the time. We need + // a better way to communicate whether this was a miss or null, + // boolean, undefined, etc. + if (oldFiber === null) { + oldFiber = nextOldFiber; + } + break; + } + if (shouldTrackSideEffects) { + if (oldFiber && newFiber.alternate === null) { + // We matched the slot, but we didn't reuse the existing fiber, so we + // need to delete the existing child. + deleteChild(returnFiber, oldFiber); + } + } + lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx); + if (previousNewFiber === null) { + // TODO: Move out of the loop. This only happens for the first run. + resultingFirstChild = newFiber; + } else { + // TODO: Defer siblings if we're not at the right index for this slot. + // I.e. if we had null values before, then we want to defer this + // for each null value. However, we also don't want to call updateSlot + // with the previous one. + previousNewFiber.sibling = newFiber; + } + previousNewFiber = newFiber; + oldFiber = nextOldFiber; + } + + if (newIdx === newChildren.length) { + // We've reached the end of the new children. We can delete the rest. + deleteRemainingChildren(returnFiber, oldFiber); + return resultingFirstChild; + } + + if (oldFiber === null) { + // If we don't have any more existing children we can choose a fast path + // since the rest will all be insertions. + for (; newIdx < newChildren.length; newIdx++) { + var _newFiber = createChild(returnFiber, newChildren[newIdx], expirationTime); + if (!_newFiber) { + continue; + } + lastPlacedIndex = placeChild(_newFiber, lastPlacedIndex, newIdx); + if (previousNewFiber === null) { + // TODO: Move out of the loop. This only happens for the first run. + resultingFirstChild = _newFiber; + } else { + previousNewFiber.sibling = _newFiber; + } + previousNewFiber = _newFiber; + } + return resultingFirstChild; + } + + // Add all children to a key map for quick lookups. + var existingChildren = mapRemainingChildren(returnFiber, oldFiber); + + // Keep scanning and use the map to restore deleted items as moves. + for (; newIdx < newChildren.length; newIdx++) { + var _newFiber2 = updateFromMap(existingChildren, returnFiber, newIdx, newChildren[newIdx], expirationTime); + if (_newFiber2) { + if (shouldTrackSideEffects) { + if (_newFiber2.alternate !== null) { + // The new fiber is a work in progress, but if there exists a + // current, that means that we reused the fiber. We need to delete + // it from the child list so that we don't add it to the deletion + // list. + existingChildren.delete(_newFiber2.key === null ? newIdx : _newFiber2.key); + } + } + lastPlacedIndex = placeChild(_newFiber2, lastPlacedIndex, newIdx); + if (previousNewFiber === null) { + resultingFirstChild = _newFiber2; + } else { + previousNewFiber.sibling = _newFiber2; + } + previousNewFiber = _newFiber2; + } + } + + if (shouldTrackSideEffects) { + // Any existing children that weren't consumed above were deleted. We need + // to add them to the deletion list. + existingChildren.forEach(function (child) { + return deleteChild(returnFiber, child); + }); + } + + return resultingFirstChild; + } + + function reconcileChildrenIterator(returnFiber, currentFirstChild, newChildrenIterable, expirationTime) { + // This is the same implementation as reconcileChildrenArray(), + // but using the iterator instead. + + var iteratorFn = getIteratorFn(newChildrenIterable); + !(typeof iteratorFn === 'function') ? invariant(false, 'An object is not an iterable. This error is likely caused by a bug in React. Please file an issue.') : void 0; + + { + // We don't support rendering Generators because it's a mutation. + // See https://github.com/facebook/react/issues/12995 + if (typeof Symbol === 'function' && + // $FlowFixMe Flow doesn't know about toStringTag + newChildrenIterable[Symbol.toStringTag] === 'Generator') { + !didWarnAboutGenerators ? warning$1(false, 'Using Generators as children is unsupported and will likely yield ' + 'unexpected results because enumerating a generator mutates it. ' + 'You may convert it to an array with `Array.from()` or the ' + '`[...spread]` operator before rendering. Keep in mind ' + 'you might need to polyfill these features for older browsers.') : void 0; + didWarnAboutGenerators = true; + } + + // Warn about using Maps as children + if (newChildrenIterable.entries === iteratorFn) { + !didWarnAboutMaps ? warning$1(false, 'Using Maps as children is unsupported and will likely yield ' + 'unexpected results. Convert it to a sequence/iterable of keyed ' + 'ReactElements instead.') : void 0; + didWarnAboutMaps = true; + } + + // First, validate keys. + // We'll get a different iterator later for the main pass. + var _newChildren = iteratorFn.call(newChildrenIterable); + if (_newChildren) { + var knownKeys = null; + var _step = _newChildren.next(); + for (; !_step.done; _step = _newChildren.next()) { + var child = _step.value; + knownKeys = warnOnInvalidKey(child, knownKeys); + } + } + } + + var newChildren = iteratorFn.call(newChildrenIterable); + !(newChildren != null) ? invariant(false, 'An iterable object provided no iterator.') : void 0; + + var resultingFirstChild = null; + var previousNewFiber = null; + + var oldFiber = currentFirstChild; + var lastPlacedIndex = 0; + var newIdx = 0; + var nextOldFiber = null; + + var step = newChildren.next(); + for (; oldFiber !== null && !step.done; newIdx++, step = newChildren.next()) { + if (oldFiber.index > newIdx) { + nextOldFiber = oldFiber; + oldFiber = null; + } else { + nextOldFiber = oldFiber.sibling; + } + var newFiber = updateSlot(returnFiber, oldFiber, step.value, expirationTime); + if (newFiber === null) { + // TODO: This breaks on empty slots like null children. That's + // unfortunate because it triggers the slow path all the time. We need + // a better way to communicate whether this was a miss or null, + // boolean, undefined, etc. + if (!oldFiber) { + oldFiber = nextOldFiber; + } + break; + } + if (shouldTrackSideEffects) { + if (oldFiber && newFiber.alternate === null) { + // We matched the slot, but we didn't reuse the existing fiber, so we + // need to delete the existing child. + deleteChild(returnFiber, oldFiber); + } + } + lastPlacedIndex = placeChild(newFiber, lastPlacedIndex, newIdx); + if (previousNewFiber === null) { + // TODO: Move out of the loop. This only happens for the first run. + resultingFirstChild = newFiber; + } else { + // TODO: Defer siblings if we're not at the right index for this slot. + // I.e. if we had null values before, then we want to defer this + // for each null value. However, we also don't want to call updateSlot + // with the previous one. + previousNewFiber.sibling = newFiber; + } + previousNewFiber = newFiber; + oldFiber = nextOldFiber; + } + + if (step.done) { + // We've reached the end of the new children. We can delete the rest. + deleteRemainingChildren(returnFiber, oldFiber); + return resultingFirstChild; + } + + if (oldFiber === null) { + // If we don't have any more existing children we can choose a fast path + // since the rest will all be insertions. + for (; !step.done; newIdx++, step = newChildren.next()) { + var _newFiber3 = createChild(returnFiber, step.value, expirationTime); + if (_newFiber3 === null) { + continue; + } + lastPlacedIndex = placeChild(_newFiber3, lastPlacedIndex, newIdx); + if (previousNewFiber === null) { + // TODO: Move out of the loop. This only happens for the first run. + resultingFirstChild = _newFiber3; + } else { + previousNewFiber.sibling = _newFiber3; + } + previousNewFiber = _newFiber3; + } + return resultingFirstChild; + } + + // Add all children to a key map for quick lookups. + var existingChildren = mapRemainingChildren(returnFiber, oldFiber); + + // Keep scanning and use the map to restore deleted items as moves. + for (; !step.done; newIdx++, step = newChildren.next()) { + var _newFiber4 = updateFromMap(existingChildren, returnFiber, newIdx, step.value, expirationTime); + if (_newFiber4 !== null) { + if (shouldTrackSideEffects) { + if (_newFiber4.alternate !== null) { + // The new fiber is a work in progress, but if there exists a + // current, that means that we reused the fiber. We need to delete + // it from the child list so that we don't add it to the deletion + // list. + existingChildren.delete(_newFiber4.key === null ? newIdx : _newFiber4.key); + } + } + lastPlacedIndex = placeChild(_newFiber4, lastPlacedIndex, newIdx); + if (previousNewFiber === null) { + resultingFirstChild = _newFiber4; + } else { + previousNewFiber.sibling = _newFiber4; + } + previousNewFiber = _newFiber4; + } + } + + if (shouldTrackSideEffects) { + // Any existing children that weren't consumed above were deleted. We need + // to add them to the deletion list. + existingChildren.forEach(function (child) { + return deleteChild(returnFiber, child); + }); + } + + return resultingFirstChild; + } + + function reconcileSingleTextNode(returnFiber, currentFirstChild, textContent, expirationTime) { + // There's no need to check for keys on text nodes since we don't have a + // way to define them. + if (currentFirstChild !== null && currentFirstChild.tag === HostText) { + // We already have an existing node so let's just update it and delete + // the rest. + deleteRemainingChildren(returnFiber, currentFirstChild.sibling); + var existing = useFiber(currentFirstChild, textContent, expirationTime); + existing.return = returnFiber; + return existing; + } + // The existing first child is not a text node so we need to create one + // and delete the existing ones. + deleteRemainingChildren(returnFiber, currentFirstChild); + var created = createFiberFromText(textContent, returnFiber.mode, expirationTime); + created.return = returnFiber; + return created; + } + + function reconcileSingleElement(returnFiber, currentFirstChild, element, expirationTime) { + var key = element.key; + var child = currentFirstChild; + while (child !== null) { + // TODO: If key === null and child.key === null, then this only applies to + // the first item in the list. + if (child.key === key) { + if (child.tag === Fragment ? element.type === REACT_FRAGMENT_TYPE : child.elementType === element.type) { + deleteRemainingChildren(returnFiber, child.sibling); + var existing = useFiber(child, element.type === REACT_FRAGMENT_TYPE ? element.props.children : element.props, expirationTime); + existing.ref = coerceRef(returnFiber, child, element); + existing.return = returnFiber; + { + existing._debugSource = element._source; + existing._debugOwner = element._owner; + } + return existing; + } else { + deleteRemainingChildren(returnFiber, child); + break; + } + } else { + deleteChild(returnFiber, child); + } + child = child.sibling; + } + + if (element.type === REACT_FRAGMENT_TYPE) { + var created = createFiberFromFragment(element.props.children, returnFiber.mode, expirationTime, element.key); + created.return = returnFiber; + return created; + } else { + var _created4 = createFiberFromElement(element, returnFiber.mode, expirationTime); + _created4.ref = coerceRef(returnFiber, currentFirstChild, element); + _created4.return = returnFiber; + return _created4; + } + } + + function reconcileSinglePortal(returnFiber, currentFirstChild, portal, expirationTime) { + var key = portal.key; + var child = currentFirstChild; + while (child !== null) { + // TODO: If key === null and child.key === null, then this only applies to + // the first item in the list. + if (child.key === key) { + if (child.tag === HostPortal && child.stateNode.containerInfo === portal.containerInfo && child.stateNode.implementation === portal.implementation) { + deleteRemainingChildren(returnFiber, child.sibling); + var existing = useFiber(child, portal.children || [], expirationTime); + existing.return = returnFiber; + return existing; + } else { + deleteRemainingChildren(returnFiber, child); + break; + } + } else { + deleteChild(returnFiber, child); + } + child = child.sibling; + } + + var created = createFiberFromPortal(portal, returnFiber.mode, expirationTime); + created.return = returnFiber; + return created; + } + + // This API will tag the children with the side-effect of the reconciliation + // itself. They will be added to the side-effect list as we pass through the + // children and the parent. + function reconcileChildFibers(returnFiber, currentFirstChild, newChild, expirationTime) { + // This function is not recursive. + // If the top level item is an array, we treat it as a set of children, + // not as a fragment. Nested arrays on the other hand will be treated as + // fragment nodes. Recursion happens at the normal flow. + + // Handle top level unkeyed fragments as if they were arrays. + // This leads to an ambiguity between <>{[...]} and <>.... + // We treat the ambiguous cases above the same. + var isUnkeyedTopLevelFragment = typeof newChild === 'object' && newChild !== null && newChild.type === REACT_FRAGMENT_TYPE && newChild.key === null; + if (isUnkeyedTopLevelFragment) { + newChild = newChild.props.children; + } + + // Handle object types + var isObject = typeof newChild === 'object' && newChild !== null; + + if (isObject) { + switch (newChild.$$typeof) { + case REACT_ELEMENT_TYPE: + return placeSingleChild(reconcileSingleElement(returnFiber, currentFirstChild, newChild, expirationTime)); + case REACT_PORTAL_TYPE: + return placeSingleChild(reconcileSinglePortal(returnFiber, currentFirstChild, newChild, expirationTime)); + } + } + + if (typeof newChild === 'string' || typeof newChild === 'number') { + return placeSingleChild(reconcileSingleTextNode(returnFiber, currentFirstChild, '' + newChild, expirationTime)); + } + + if (isArray(newChild)) { + return reconcileChildrenArray(returnFiber, currentFirstChild, newChild, expirationTime); + } + + if (getIteratorFn(newChild)) { + return reconcileChildrenIterator(returnFiber, currentFirstChild, newChild, expirationTime); + } + + if (isObject) { + throwOnInvalidObjectType(returnFiber, newChild); + } + + { + if (typeof newChild === 'function') { + warnOnFunctionType(); + } + } + if (typeof newChild === 'undefined' && !isUnkeyedTopLevelFragment) { + // If the new child is undefined, and the return fiber is a composite + // component, throw an error. If Fiber return types are disabled, + // we already threw above. + switch (returnFiber.tag) { + case ClassComponent: + { + { + var instance = returnFiber.stateNode; + if (instance.render._isMockFunction) { + // We allow auto-mocks to proceed as if they're returning null. + break; + } + } + } + // Intentionally fall through to the next case, which handles both + // functions and classes + // eslint-disable-next-lined no-fallthrough + case FunctionComponent: + { + var Component = returnFiber.type; + invariant(false, '%s(...): Nothing was returned from render. This usually means a return statement is missing. Or, to render nothing, return null.', Component.displayName || Component.name || 'Component'); + } + } + } + + // Remaining cases are all treated as empty. + return deleteRemainingChildren(returnFiber, currentFirstChild); + } + + return reconcileChildFibers; + } + + var reconcileChildFibers = ChildReconciler(true); + var mountChildFibers = ChildReconciler(false); + + function cloneChildFibers(current$$1, workInProgress) { + !(current$$1 === null || workInProgress.child === current$$1.child) ? invariant(false, 'Resuming work not yet implemented.') : void 0; + + if (workInProgress.child === null) { + return; + } + + var currentChild = workInProgress.child; + var newChild = createWorkInProgress(currentChild, currentChild.pendingProps, currentChild.expirationTime); + workInProgress.child = newChild; + + newChild.return = workInProgress; + while (currentChild.sibling !== null) { + currentChild = currentChild.sibling; + newChild = newChild.sibling = createWorkInProgress(currentChild, currentChild.pendingProps, currentChild.expirationTime); + newChild.return = workInProgress; + } + newChild.sibling = null; + } + + var NO_CONTEXT = {}; + + var contextStackCursor$1 = createCursor(NO_CONTEXT); + var contextFiberStackCursor = createCursor(NO_CONTEXT); + var rootInstanceStackCursor = createCursor(NO_CONTEXT); + + function requiredContext(c) { + !(c !== NO_CONTEXT) ? invariant(false, 'Expected host context to exist. This error is likely caused by a bug in React. Please file an issue.') : void 0; + return c; + } + + function getRootHostContainer() { + var rootInstance = requiredContext(rootInstanceStackCursor.current); + return rootInstance; + } + + function pushHostContainer(fiber, nextRootInstance) { + // Push current root instance onto the stack; + // This allows us to reset root when portals are popped. + push(rootInstanceStackCursor, nextRootInstance, fiber); + // Track the context and the Fiber that provided it. + // This enables us to pop only Fibers that provide unique contexts. + push(contextFiberStackCursor, fiber, fiber); + + // Finally, we need to push the host context to the stack. + // However, we can't just call getRootHostContext() and push it because + // we'd have a different number of entries on the stack depending on + // whether getRootHostContext() throws somewhere in renderer code or not. + // So we push an empty value first. This lets us safely unwind on errors. + push(contextStackCursor$1, NO_CONTEXT, fiber); + var nextRootContext = getRootHostContext(nextRootInstance); + // Now that we know this function doesn't throw, replace it. + pop(contextStackCursor$1, fiber); + push(contextStackCursor$1, nextRootContext, fiber); + } + + function popHostContainer(fiber) { + pop(contextStackCursor$1, fiber); + pop(contextFiberStackCursor, fiber); + pop(rootInstanceStackCursor, fiber); + } + + function getHostContext() { + var context = requiredContext(contextStackCursor$1.current); + return context; + } + + function pushHostContext(fiber) { + var rootInstance = requiredContext(rootInstanceStackCursor.current); + var context = requiredContext(contextStackCursor$1.current); + var nextContext = getChildHostContext(context, fiber.type, rootInstance); + + // Don't push this Fiber's context unless it's unique. + if (context === nextContext) { + return; + } + + // Track the context and the Fiber that provided it. + // This enables us to pop only Fibers that provide unique contexts. + push(contextFiberStackCursor, fiber, fiber); + push(contextStackCursor$1, nextContext, fiber); + } + + function popHostContext(fiber) { + // Do not pop unless this Fiber provided the current context. + // pushHostContext() only pushes Fibers that provide unique contexts. + if (contextFiberStackCursor.current !== fiber) { + return; + } + + pop(contextStackCursor$1, fiber); + pop(contextFiberStackCursor, fiber); + } + + var NoEffect$1 = /* */0; + var UnmountSnapshot = /* */2; + var UnmountMutation = /* */4; + var MountMutation = /* */8; + var UnmountLayout = /* */16; + var MountLayout = /* */32; + var MountPassive = /* */64; + var UnmountPassive = /* */128; + + var ReactCurrentDispatcher$1 = ReactSharedInternals.ReactCurrentDispatcher; + + + var didWarnAboutMismatchedHooksForComponent = void 0; + { + didWarnAboutMismatchedHooksForComponent = new Set(); + } + + // These are set right before calling the component. + var renderExpirationTime = NoWork; + // The work-in-progress fiber. I've named it differently to distinguish it from + // the work-in-progress hook. + var currentlyRenderingFiber$1 = null; + + // Hooks are stored as a linked list on the fiber's memoizedState field. The + // current hook list is the list that belongs to the current fiber. The + // work-in-progress hook list is a new list that will be added to the + // work-in-progress fiber. + var currentHook = null; + var nextCurrentHook = null; + var firstWorkInProgressHook = null; + var workInProgressHook = null; + var nextWorkInProgressHook = null; + + var remainingExpirationTime = NoWork; + var componentUpdateQueue = null; + var sideEffectTag = 0; + + // Updates scheduled during render will trigger an immediate re-render at the + // end of the current pass. We can't store these updates on the normal queue, + // because if the work is aborted, they should be discarded. Because this is + // a relatively rare case, we also don't want to add an additional field to + // either the hook or queue object types. So we store them in a lazily create + // map of queue -> render-phase updates, which are discarded once the component + // completes without re-rendering. + + // Whether an update was scheduled during the currently executing render pass. + var didScheduleRenderPhaseUpdate = false; + // Lazily created map of render-phase updates + var renderPhaseUpdates = null; + // Counter to prevent infinite loops. + var numberOfReRenders = 0; + var RE_RENDER_LIMIT = 25; + + // In DEV, this is the name of the currently executing primitive hook + var currentHookNameInDev = null; + + // In DEV, this list ensures that hooks are called in the same order between renders. + // The list stores the order of hooks used during the initial render (mount). + // Subsequent renders (updates) reference this list. + var hookTypesDev = null; + var hookTypesUpdateIndexDev = -1; + + function mountHookTypesDev() { + { + var hookName = currentHookNameInDev; + + if (hookTypesDev === null) { + hookTypesDev = [hookName]; + } else { + hookTypesDev.push(hookName); + } + } + } + + function updateHookTypesDev() { + { + var hookName = currentHookNameInDev; + + if (hookTypesDev !== null) { + hookTypesUpdateIndexDev++; + if (hookTypesDev[hookTypesUpdateIndexDev] !== hookName) { + warnOnHookMismatchInDev(hookName); + } + } + } + } + + function warnOnHookMismatchInDev(currentHookName) { + { + var componentName = getComponentName(currentlyRenderingFiber$1.type); + if (!didWarnAboutMismatchedHooksForComponent.has(componentName)) { + didWarnAboutMismatchedHooksForComponent.add(componentName); + + if (hookTypesDev !== null) { + var table = ''; + + var secondColumnStart = 30; + + for (var i = 0; i <= hookTypesUpdateIndexDev; i++) { + var oldHookName = hookTypesDev[i]; + var newHookName = i === hookTypesUpdateIndexDev ? currentHookName : oldHookName; + + var row = i + 1 + '. ' + oldHookName; + + // Extra space so second column lines up + // lol @ IE not supporting String#repeat + while (row.length < secondColumnStart) { + row += ' '; + } + + row += newHookName + '\n'; + + table += row; + } + + warning$1(false, 'React has detected a change in the order of Hooks called by %s. ' + 'This will lead to bugs and errors if not fixed. ' + 'For more information, read the Rules of Hooks: https://fb.me/rules-of-hooks\n\n' + ' Previous render Next render\n' + ' ------------------------------------------------------\n' + '%s' + ' ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n', componentName, table); + } + } + } + } + + function throwInvalidHookError() { + invariant(false, 'Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://fb.me/react-invalid-hook-call for tips about how to debug and fix this problem.'); + } + + function areHookInputsEqual(nextDeps, prevDeps) { + if (prevDeps === null) { + { + warning$1(false, '%s received a final argument during this render, but not during ' + 'the previous render. Even though the final argument is optional, ' + 'its type cannot change between renders.', currentHookNameInDev); + } + return false; + } + + { + // Don't bother comparing lengths in prod because these arrays should be + // passed inline. + if (nextDeps.length !== prevDeps.length) { + warning$1(false, 'The final argument passed to %s changed size between renders. The ' + 'order and size of this array must remain constant.\n\n' + 'Previous: %s\n' + 'Incoming: %s', currentHookNameInDev, '[' + nextDeps.join(', ') + ']', '[' + prevDeps.join(', ') + ']'); + } + } + for (var i = 0; i < prevDeps.length && i < nextDeps.length; i++) { + if (is(nextDeps[i], prevDeps[i])) { + continue; + } + return false; + } + return true; + } + + function renderWithHooks(current, workInProgress, Component, props, refOrContext, nextRenderExpirationTime) { + renderExpirationTime = nextRenderExpirationTime; + currentlyRenderingFiber$1 = workInProgress; + nextCurrentHook = current !== null ? current.memoizedState : null; + + { + hookTypesDev = current !== null ? current._debugHookTypes : null; + hookTypesUpdateIndexDev = -1; + } + + // The following should have already been reset + // currentHook = null; + // workInProgressHook = null; + + // remainingExpirationTime = NoWork; + // componentUpdateQueue = null; + + // didScheduleRenderPhaseUpdate = false; + // renderPhaseUpdates = null; + // numberOfReRenders = 0; + // sideEffectTag = 0; + + // TODO Warn if no hooks are used at all during mount, then some are used during update. + // Currently we will identify the update render as a mount because nextCurrentHook === null. + // This is tricky because it's valid for certain types of components (e.g. React.lazy) + + // Using nextCurrentHook to differentiate between mount/update only works if at least one stateful hook is used. + // Non-stateful hooks (e.g. context) don't get added to memoizedState, + // so nextCurrentHook would be null during updates and mounts. + { + if (nextCurrentHook !== null) { + ReactCurrentDispatcher$1.current = HooksDispatcherOnUpdateInDEV; + } else if (hookTypesDev !== null) { + // This dispatcher handles an edge case where a component is updating, + // but no stateful hooks have been used. + // We want to match the production code behavior (which will use HooksDispatcherOnMount), + // but with the extra DEV validation to ensure hooks ordering hasn't changed. + // This dispatcher does that. + ReactCurrentDispatcher$1.current = HooksDispatcherOnMountWithHookTypesInDEV; + } else { + ReactCurrentDispatcher$1.current = HooksDispatcherOnMountInDEV; + } + } + + var children = Component(props, refOrContext); + + if (didScheduleRenderPhaseUpdate) { + do { + didScheduleRenderPhaseUpdate = false; + numberOfReRenders += 1; + + // Start over from the beginning of the list + nextCurrentHook = current !== null ? current.memoizedState : null; + nextWorkInProgressHook = firstWorkInProgressHook; + + currentHook = null; + workInProgressHook = null; + componentUpdateQueue = null; + + { + // Also validate hook order for cascading updates. + hookTypesUpdateIndexDev = -1; + } + + ReactCurrentDispatcher$1.current = HooksDispatcherOnUpdateInDEV; + + children = Component(props, refOrContext); + } while (didScheduleRenderPhaseUpdate); + + renderPhaseUpdates = null; + numberOfReRenders = 0; + } + + // We can assume the previous dispatcher is always this one, since we set it + // at the beginning of the render phase and there's no re-entrancy. + ReactCurrentDispatcher$1.current = ContextOnlyDispatcher; + + var renderedWork = currentlyRenderingFiber$1; + + renderedWork.memoizedState = firstWorkInProgressHook; + renderedWork.expirationTime = remainingExpirationTime; + renderedWork.updateQueue = componentUpdateQueue; + renderedWork.effectTag |= sideEffectTag; + + { + renderedWork._debugHookTypes = hookTypesDev; + } + + // This check uses currentHook so that it works the same in DEV and prod bundles. + // hookTypesDev could catch more cases (e.g. context) but only in DEV bundles. + var didRenderTooFewHooks = currentHook !== null && currentHook.next !== null; + + renderExpirationTime = NoWork; + currentlyRenderingFiber$1 = null; + + currentHook = null; + nextCurrentHook = null; + firstWorkInProgressHook = null; + workInProgressHook = null; + nextWorkInProgressHook = null; + + { + currentHookNameInDev = null; + hookTypesDev = null; + hookTypesUpdateIndexDev = -1; + } + + remainingExpirationTime = NoWork; + componentUpdateQueue = null; + sideEffectTag = 0; + + // These were reset above + // didScheduleRenderPhaseUpdate = false; + // renderPhaseUpdates = null; + // numberOfReRenders = 0; + + !!didRenderTooFewHooks ? invariant(false, 'Rendered fewer hooks than expected. This may be caused by an accidental early return statement.') : void 0; + + return children; + } + + function bailoutHooks(current, workInProgress, expirationTime) { + workInProgress.updateQueue = current.updateQueue; + workInProgress.effectTag &= ~(Passive | Update); + if (current.expirationTime <= expirationTime) { + current.expirationTime = NoWork; + } + } + + function resetHooks() { + // We can assume the previous dispatcher is always this one, since we set it + // at the beginning of the render phase and there's no re-entrancy. + ReactCurrentDispatcher$1.current = ContextOnlyDispatcher; + + // This is used to reset the state of this module when a component throws. + // It's also called inside mountIndeterminateComponent if we determine the + // component is a module-style component. + renderExpirationTime = NoWork; + currentlyRenderingFiber$1 = null; + + currentHook = null; + nextCurrentHook = null; + firstWorkInProgressHook = null; + workInProgressHook = null; + nextWorkInProgressHook = null; + + { + hookTypesDev = null; + hookTypesUpdateIndexDev = -1; + + currentHookNameInDev = null; + } + + remainingExpirationTime = NoWork; + componentUpdateQueue = null; + sideEffectTag = 0; + + didScheduleRenderPhaseUpdate = false; + renderPhaseUpdates = null; + numberOfReRenders = 0; + } + + function mountWorkInProgressHook() { + var hook = { + memoizedState: null, + + baseState: null, + queue: null, + baseUpdate: null, + + next: null + }; + + if (workInProgressHook === null) { + // This is the first hook in the list + firstWorkInProgressHook = workInProgressHook = hook; + } else { + // Append to the end of the list + workInProgressHook = workInProgressHook.next = hook; + } + return workInProgressHook; + } + + function updateWorkInProgressHook() { + // This function is used both for updates and for re-renders triggered by a + // render phase update. It assumes there is either a current hook we can + // clone, or a work-in-progress hook from a previous render pass that we can + // use as a base. When we reach the end of the base list, we must switch to + // the dispatcher used for mounts. + if (nextWorkInProgressHook !== null) { + // There's already a work-in-progress. Reuse it. + workInProgressHook = nextWorkInProgressHook; + nextWorkInProgressHook = workInProgressHook.next; + + currentHook = nextCurrentHook; + nextCurrentHook = currentHook !== null ? currentHook.next : null; + } else { + // Clone from the current hook. + !(nextCurrentHook !== null) ? invariant(false, 'Rendered more hooks than during the previous render.') : void 0; + currentHook = nextCurrentHook; + + var newHook = { + memoizedState: currentHook.memoizedState, + + baseState: currentHook.baseState, + queue: currentHook.queue, + baseUpdate: currentHook.baseUpdate, + + next: null + }; + + if (workInProgressHook === null) { + // This is the first hook in the list. + workInProgressHook = firstWorkInProgressHook = newHook; + } else { + // Append to the end of the list. + workInProgressHook = workInProgressHook.next = newHook; + } + nextCurrentHook = currentHook.next; + } + return workInProgressHook; + } + + function createFunctionComponentUpdateQueue() { + return { + lastEffect: null + }; + } + + function basicStateReducer(state, action) { + return typeof action === 'function' ? action(state) : action; + } + + function mountReducer(reducer, initialArg, init) { + var hook = mountWorkInProgressHook(); + var initialState = void 0; + if (init !== undefined) { + initialState = init(initialArg); + } else { + initialState = initialArg; + } + hook.memoizedState = hook.baseState = initialState; + var queue = hook.queue = { + last: null, + dispatch: null, + lastRenderedReducer: reducer, + lastRenderedState: initialState + }; + var dispatch = queue.dispatch = dispatchAction.bind(null, + // Flow doesn't know this is non-null, but we do. + currentlyRenderingFiber$1, queue); + return [hook.memoizedState, dispatch]; + } + + function updateReducer(reducer, initialArg, init) { + var hook = updateWorkInProgressHook(); + var queue = hook.queue; + !(queue !== null) ? invariant(false, 'Should have a queue. This is likely a bug in React. Please file an issue.') : void 0; + + queue.lastRenderedReducer = reducer; + + if (numberOfReRenders > 0) { + // This is a re-render. Apply the new render phase updates to the previous + var _dispatch = queue.dispatch; + if (renderPhaseUpdates !== null) { + // Render phase updates are stored in a map of queue -> linked list + var firstRenderPhaseUpdate = renderPhaseUpdates.get(queue); + if (firstRenderPhaseUpdate !== undefined) { + renderPhaseUpdates.delete(queue); + var newState = hook.memoizedState; + var update = firstRenderPhaseUpdate; + do { + // Process this render phase update. We don't have to check the + // priority because it will always be the same as the current + // render's. + var _action = update.action; + newState = reducer(newState, _action); + update = update.next; + } while (update !== null); + + // Mark that the fiber performed work, but only if the new state is + // different from the current state. + if (!is(newState, hook.memoizedState)) { + markWorkInProgressReceivedUpdate(); + } + + hook.memoizedState = newState; + // Don't persist the state accumlated from the render phase updates to + // the base state unless the queue is empty. + // TODO: Not sure if this is the desired semantics, but it's what we + // do for gDSFP. I can't remember why. + if (hook.baseUpdate === queue.last) { + hook.baseState = newState; + } + + queue.lastRenderedState = newState; + + return [newState, _dispatch]; + } + } + return [hook.memoizedState, _dispatch]; + } + + // The last update in the entire queue + var last = queue.last; + // The last update that is part of the base state. + var baseUpdate = hook.baseUpdate; + var baseState = hook.baseState; + + // Find the first unprocessed update. + var first = void 0; + if (baseUpdate !== null) { + if (last !== null) { + // For the first update, the queue is a circular linked list where + // `queue.last.next = queue.first`. Once the first update commits, and + // the `baseUpdate` is no longer empty, we can unravel the list. + last.next = null; + } + first = baseUpdate.next; + } else { + first = last !== null ? last.next : null; + } + if (first !== null) { + var _newState = baseState; + var newBaseState = null; + var newBaseUpdate = null; + var prevUpdate = baseUpdate; + var _update = first; + var didSkip = false; + do { + var updateExpirationTime = _update.expirationTime; + if (updateExpirationTime < renderExpirationTime) { + // Priority is insufficient. Skip this update. If this is the first + // skipped update, the previous update/state is the new base + // update/state. + if (!didSkip) { + didSkip = true; + newBaseUpdate = prevUpdate; + newBaseState = _newState; + } + // Update the remaining priority in the queue. + if (updateExpirationTime > remainingExpirationTime) { + remainingExpirationTime = updateExpirationTime; + } + } else { + // Process this update. + if (_update.eagerReducer === reducer) { + // If this update was processed eagerly, and its reducer matches the + // current reducer, we can use the eagerly computed state. + _newState = _update.eagerState; + } else { + var _action2 = _update.action; + _newState = reducer(_newState, _action2); + } + } + prevUpdate = _update; + _update = _update.next; + } while (_update !== null && _update !== first); + + if (!didSkip) { + newBaseUpdate = prevUpdate; + newBaseState = _newState; + } + + // Mark that the fiber performed work, but only if the new state is + // different from the current state. + if (!is(_newState, hook.memoizedState)) { + markWorkInProgressReceivedUpdate(); + } + + hook.memoizedState = _newState; + hook.baseUpdate = newBaseUpdate; + hook.baseState = newBaseState; + + queue.lastRenderedState = _newState; + } + + var dispatch = queue.dispatch; + return [hook.memoizedState, dispatch]; + } + + function mountState(initialState) { + var hook = mountWorkInProgressHook(); + if (typeof initialState === 'function') { + initialState = initialState(); + } + hook.memoizedState = hook.baseState = initialState; + var queue = hook.queue = { + last: null, + dispatch: null, + lastRenderedReducer: basicStateReducer, + lastRenderedState: initialState + }; + var dispatch = queue.dispatch = dispatchAction.bind(null, + // Flow doesn't know this is non-null, but we do. + currentlyRenderingFiber$1, queue); + return [hook.memoizedState, dispatch]; + } + + function updateState(initialState) { + return updateReducer(basicStateReducer, initialState); + } + + function pushEffect(tag, create, destroy, deps) { + var effect = { + tag: tag, + create: create, + destroy: destroy, + deps: deps, + // Circular + next: null + }; + if (componentUpdateQueue === null) { + componentUpdateQueue = createFunctionComponentUpdateQueue(); + componentUpdateQueue.lastEffect = effect.next = effect; + } else { + var _lastEffect = componentUpdateQueue.lastEffect; + if (_lastEffect === null) { + componentUpdateQueue.lastEffect = effect.next = effect; + } else { + var firstEffect = _lastEffect.next; + _lastEffect.next = effect; + effect.next = firstEffect; + componentUpdateQueue.lastEffect = effect; + } + } + return effect; + } + + function mountRef(initialValue) { + var hook = mountWorkInProgressHook(); + var ref = { current: initialValue }; + { + Object.seal(ref); + } + hook.memoizedState = ref; + return ref; + } + + function updateRef(initialValue) { + var hook = updateWorkInProgressHook(); + return hook.memoizedState; + } + + function mountEffectImpl(fiberEffectTag, hookEffectTag, create, deps) { + var hook = mountWorkInProgressHook(); + var nextDeps = deps === undefined ? null : deps; + sideEffectTag |= fiberEffectTag; + hook.memoizedState = pushEffect(hookEffectTag, create, undefined, nextDeps); + } + + function updateEffectImpl(fiberEffectTag, hookEffectTag, create, deps) { + var hook = updateWorkInProgressHook(); + var nextDeps = deps === undefined ? null : deps; + var destroy = undefined; + + if (currentHook !== null) { + var prevEffect = currentHook.memoizedState; + destroy = prevEffect.destroy; + if (nextDeps !== null) { + var prevDeps = prevEffect.deps; + if (areHookInputsEqual(nextDeps, prevDeps)) { + pushEffect(NoEffect$1, create, destroy, nextDeps); + return; + } + } + } + + sideEffectTag |= fiberEffectTag; + hook.memoizedState = pushEffect(hookEffectTag, create, destroy, nextDeps); + } + + function mountEffect(create, deps) { + return mountEffectImpl(Update | Passive, UnmountPassive | MountPassive, create, deps); + } + + function updateEffect(create, deps) { + return updateEffectImpl(Update | Passive, UnmountPassive | MountPassive, create, deps); + } + + function mountLayoutEffect(create, deps) { + return mountEffectImpl(Update, UnmountMutation | MountLayout, create, deps); + } + + function updateLayoutEffect(create, deps) { + return updateEffectImpl(Update, UnmountMutation | MountLayout, create, deps); + } + + function imperativeHandleEffect(create, ref) { + if (typeof ref === 'function') { + var refCallback = ref; + var _inst = create(); + refCallback(_inst); + return function () { + refCallback(null); + }; + } else if (ref !== null && ref !== undefined) { + var refObject = ref; + { + !refObject.hasOwnProperty('current') ? warning$1(false, 'Expected useImperativeHandle() first argument to either be a ' + 'ref callback or React.createRef() object. Instead received: %s.', 'an object with keys {' + Object.keys(refObject).join(', ') + '}') : void 0; + } + var _inst2 = create(); + refObject.current = _inst2; + return function () { + refObject.current = null; + }; + } + } + + function mountImperativeHandle(ref, create, deps) { + { + !(typeof create === 'function') ? warning$1(false, 'Expected useImperativeHandle() second argument to be a function ' + 'that creates a handle. Instead received: %s.', create !== null ? typeof create : 'null') : void 0; + } + + // TODO: If deps are provided, should we skip comparing the ref itself? + var effectDeps = deps !== null && deps !== undefined ? deps.concat([ref]) : null; + + return mountEffectImpl(Update, UnmountMutation | MountLayout, imperativeHandleEffect.bind(null, create, ref), effectDeps); + } + + function updateImperativeHandle(ref, create, deps) { + { + !(typeof create === 'function') ? warning$1(false, 'Expected useImperativeHandle() second argument to be a function ' + 'that creates a handle. Instead received: %s.', create !== null ? typeof create : 'null') : void 0; + } + + // TODO: If deps are provided, should we skip comparing the ref itself? + var effectDeps = deps !== null && deps !== undefined ? deps.concat([ref]) : null; + + return updateEffectImpl(Update, UnmountMutation | MountLayout, imperativeHandleEffect.bind(null, create, ref), effectDeps); + } + + function mountDebugValue(value, formatterFn) { + // This hook is normally a no-op. + // The react-debug-hooks package injects its own implementation + // so that e.g. DevTools can display custom hook values. + } + + var updateDebugValue = mountDebugValue; + + function mountCallback(callback, deps) { + var hook = mountWorkInProgressHook(); + var nextDeps = deps === undefined ? null : deps; + hook.memoizedState = [callback, nextDeps]; + return callback; + } + + function updateCallback(callback, deps) { + var hook = updateWorkInProgressHook(); + var nextDeps = deps === undefined ? null : deps; + var prevState = hook.memoizedState; + if (prevState !== null) { + if (nextDeps !== null) { + var prevDeps = prevState[1]; + if (areHookInputsEqual(nextDeps, prevDeps)) { + return prevState[0]; + } + } + } + hook.memoizedState = [callback, nextDeps]; + return callback; + } + + function mountMemo(nextCreate, deps) { + var hook = mountWorkInProgressHook(); + var nextDeps = deps === undefined ? null : deps; + var nextValue = nextCreate(); + hook.memoizedState = [nextValue, nextDeps]; + return nextValue; + } + + function updateMemo(nextCreate, deps) { + var hook = updateWorkInProgressHook(); + var nextDeps = deps === undefined ? null : deps; + var prevState = hook.memoizedState; + if (prevState !== null) { + // Assume these are defined. If they're not, areHookInputsEqual will warn. + if (nextDeps !== null) { + var prevDeps = prevState[1]; + if (areHookInputsEqual(nextDeps, prevDeps)) { + return prevState[0]; + } + } + } + var nextValue = nextCreate(); + hook.memoizedState = [nextValue, nextDeps]; + return nextValue; + } + + // in a test-like environment, we want to warn if dispatchAction() + // is called outside of a batchedUpdates/TestUtils.act(...) call. + var shouldWarnForUnbatchedSetState = false; + + { + // jest isn't a 'global', it's just exposed to tests via a wrapped function + // further, this isn't a test file, so flow doesn't recognize the symbol. So... + // $FlowExpectedError - because requirements don't give a damn about your type sigs. + if ('undefined' !== typeof jest) { + shouldWarnForUnbatchedSetState = true; + } + } + + function dispatchAction(fiber, queue, action) { + !(numberOfReRenders < RE_RENDER_LIMIT) ? invariant(false, 'Too many re-renders. React limits the number of renders to prevent an infinite loop.') : void 0; + + { + !(arguments.length <= 3) ? warning$1(false, "State updates from the useState() and useReducer() Hooks don't support the " + 'second callback argument. To execute a side effect after ' + 'rendering, declare it in the component body with useEffect().') : void 0; + } + + var alternate = fiber.alternate; + if (fiber === currentlyRenderingFiber$1 || alternate !== null && alternate === currentlyRenderingFiber$1) { + // This is a render phase update. Stash it in a lazily-created map of + // queue -> linked list of updates. After this render pass, we'll restart + // and apply the stashed updates on top of the work-in-progress hook. + didScheduleRenderPhaseUpdate = true; + var update = { + expirationTime: renderExpirationTime, + action: action, + eagerReducer: null, + eagerState: null, + next: null + }; + if (renderPhaseUpdates === null) { + renderPhaseUpdates = new Map(); + } + var firstRenderPhaseUpdate = renderPhaseUpdates.get(queue); + if (firstRenderPhaseUpdate === undefined) { + renderPhaseUpdates.set(queue, update); + } else { + // Append the update to the end of the list. + var lastRenderPhaseUpdate = firstRenderPhaseUpdate; + while (lastRenderPhaseUpdate.next !== null) { + lastRenderPhaseUpdate = lastRenderPhaseUpdate.next; + } + lastRenderPhaseUpdate.next = update; + } + } else { + flushPassiveEffects(); + + var currentTime = requestCurrentTime(); + var _expirationTime = computeExpirationForFiber(currentTime, fiber); + + var _update2 = { + expirationTime: _expirationTime, + action: action, + eagerReducer: null, + eagerState: null, + next: null + }; + + // Append the update to the end of the list. + var _last = queue.last; + if (_last === null) { + // This is the first update. Create a circular list. + _update2.next = _update2; + } else { + var first = _last.next; + if (first !== null) { + // Still circular. + _update2.next = first; + } + _last.next = _update2; + } + queue.last = _update2; + + if (fiber.expirationTime === NoWork && (alternate === null || alternate.expirationTime === NoWork)) { + // The queue is currently empty, which means we can eagerly compute the + // next state before entering the render phase. If the new state is the + // same as the current state, we may be able to bail out entirely. + var _lastRenderedReducer = queue.lastRenderedReducer; + if (_lastRenderedReducer !== null) { + var prevDispatcher = void 0; + { + prevDispatcher = ReactCurrentDispatcher$1.current; + ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV; + } + try { + var currentState = queue.lastRenderedState; + var _eagerState = _lastRenderedReducer(currentState, action); + // Stash the eagerly computed state, and the reducer used to compute + // it, on the update object. If the reducer hasn't changed by the + // time we enter the render phase, then the eager state can be used + // without calling the reducer again. + _update2.eagerReducer = _lastRenderedReducer; + _update2.eagerState = _eagerState; + if (is(_eagerState, currentState)) { + // Fast path. We can bail out without scheduling React to re-render. + // It's still possible that we'll need to rebase this update later, + // if the component re-renders for a different reason and by that + // time the reducer has changed. + return; + } + } catch (error) { + // Suppress the error. It will throw again in the render phase. + } finally { + { + ReactCurrentDispatcher$1.current = prevDispatcher; + } + } + } + } + { + if (shouldWarnForUnbatchedSetState === true) { + warnIfNotCurrentlyBatchingInDev(fiber); + } + } + scheduleWork(fiber, _expirationTime); + } + } + + var ContextOnlyDispatcher = { + readContext: readContext, + + useCallback: throwInvalidHookError, + useContext: throwInvalidHookError, + useEffect: throwInvalidHookError, + useImperativeHandle: throwInvalidHookError, + useLayoutEffect: throwInvalidHookError, + useMemo: throwInvalidHookError, + useReducer: throwInvalidHookError, + useRef: throwInvalidHookError, + useState: throwInvalidHookError, + useDebugValue: throwInvalidHookError + }; + + var HooksDispatcherOnMountInDEV = null; + var HooksDispatcherOnMountWithHookTypesInDEV = null; + var HooksDispatcherOnUpdateInDEV = null; + var InvalidNestedHooksDispatcherOnMountInDEV = null; + var InvalidNestedHooksDispatcherOnUpdateInDEV = null; + + { + var warnInvalidContextAccess = function () { + warning$1(false, 'Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().'); + }; + + var warnInvalidHookAccess = function () { + warning$1(false, 'Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. ' + 'You can only call Hooks at the top level of your React function. ' + 'For more information, see ' + 'https://fb.me/rules-of-hooks'); + }; + + HooksDispatcherOnMountInDEV = { + readContext: function (context, observedBits) { + return readContext(context, observedBits); + }, + useCallback: function (callback, deps) { + currentHookNameInDev = 'useCallback'; + mountHookTypesDev(); + return mountCallback(callback, deps); + }, + useContext: function (context, observedBits) { + currentHookNameInDev = 'useContext'; + mountHookTypesDev(); + return readContext(context, observedBits); + }, + useEffect: function (create, deps) { + currentHookNameInDev = 'useEffect'; + mountHookTypesDev(); + return mountEffect(create, deps); + }, + useImperativeHandle: function (ref, create, deps) { + currentHookNameInDev = 'useImperativeHandle'; + mountHookTypesDev(); + return mountImperativeHandle(ref, create, deps); + }, + useLayoutEffect: function (create, deps) { + currentHookNameInDev = 'useLayoutEffect'; + mountHookTypesDev(); + return mountLayoutEffect(create, deps); + }, + useMemo: function (create, deps) { + currentHookNameInDev = 'useMemo'; + mountHookTypesDev(); + var prevDispatcher = ReactCurrentDispatcher$1.current; + ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountMemo(create, deps); + } finally { + ReactCurrentDispatcher$1.current = prevDispatcher; + } + }, + useReducer: function (reducer, initialArg, init) { + currentHookNameInDev = 'useReducer'; + mountHookTypesDev(); + var prevDispatcher = ReactCurrentDispatcher$1.current; + ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountReducer(reducer, initialArg, init); + } finally { + ReactCurrentDispatcher$1.current = prevDispatcher; + } + }, + useRef: function (initialValue) { + currentHookNameInDev = 'useRef'; + mountHookTypesDev(); + return mountRef(initialValue); + }, + useState: function (initialState) { + currentHookNameInDev = 'useState'; + mountHookTypesDev(); + var prevDispatcher = ReactCurrentDispatcher$1.current; + ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountState(initialState); + } finally { + ReactCurrentDispatcher$1.current = prevDispatcher; + } + }, + useDebugValue: function (value, formatterFn) { + currentHookNameInDev = 'useDebugValue'; + mountHookTypesDev(); + return mountDebugValue(value, formatterFn); + } + }; + + HooksDispatcherOnMountWithHookTypesInDEV = { + readContext: function (context, observedBits) { + return readContext(context, observedBits); + }, + useCallback: function (callback, deps) { + currentHookNameInDev = 'useCallback'; + updateHookTypesDev(); + return mountCallback(callback, deps); + }, + useContext: function (context, observedBits) { + currentHookNameInDev = 'useContext'; + updateHookTypesDev(); + return readContext(context, observedBits); + }, + useEffect: function (create, deps) { + currentHookNameInDev = 'useEffect'; + updateHookTypesDev(); + return mountEffect(create, deps); + }, + useImperativeHandle: function (ref, create, deps) { + currentHookNameInDev = 'useImperativeHandle'; + updateHookTypesDev(); + return mountImperativeHandle(ref, create, deps); + }, + useLayoutEffect: function (create, deps) { + currentHookNameInDev = 'useLayoutEffect'; + updateHookTypesDev(); + return mountLayoutEffect(create, deps); + }, + useMemo: function (create, deps) { + currentHookNameInDev = 'useMemo'; + updateHookTypesDev(); + var prevDispatcher = ReactCurrentDispatcher$1.current; + ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountMemo(create, deps); + } finally { + ReactCurrentDispatcher$1.current = prevDispatcher; + } + }, + useReducer: function (reducer, initialArg, init) { + currentHookNameInDev = 'useReducer'; + updateHookTypesDev(); + var prevDispatcher = ReactCurrentDispatcher$1.current; + ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountReducer(reducer, initialArg, init); + } finally { + ReactCurrentDispatcher$1.current = prevDispatcher; + } + }, + useRef: function (initialValue) { + currentHookNameInDev = 'useRef'; + updateHookTypesDev(); + return mountRef(initialValue); + }, + useState: function (initialState) { + currentHookNameInDev = 'useState'; + updateHookTypesDev(); + var prevDispatcher = ReactCurrentDispatcher$1.current; + ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountState(initialState); + } finally { + ReactCurrentDispatcher$1.current = prevDispatcher; + } + }, + useDebugValue: function (value, formatterFn) { + currentHookNameInDev = 'useDebugValue'; + updateHookTypesDev(); + return mountDebugValue(value, formatterFn); + } + }; + + HooksDispatcherOnUpdateInDEV = { + readContext: function (context, observedBits) { + return readContext(context, observedBits); + }, + useCallback: function (callback, deps) { + currentHookNameInDev = 'useCallback'; + updateHookTypesDev(); + return updateCallback(callback, deps); + }, + useContext: function (context, observedBits) { + currentHookNameInDev = 'useContext'; + updateHookTypesDev(); + return readContext(context, observedBits); + }, + useEffect: function (create, deps) { + currentHookNameInDev = 'useEffect'; + updateHookTypesDev(); + return updateEffect(create, deps); + }, + useImperativeHandle: function (ref, create, deps) { + currentHookNameInDev = 'useImperativeHandle'; + updateHookTypesDev(); + return updateImperativeHandle(ref, create, deps); + }, + useLayoutEffect: function (create, deps) { + currentHookNameInDev = 'useLayoutEffect'; + updateHookTypesDev(); + return updateLayoutEffect(create, deps); + }, + useMemo: function (create, deps) { + currentHookNameInDev = 'useMemo'; + updateHookTypesDev(); + var prevDispatcher = ReactCurrentDispatcher$1.current; + ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateMemo(create, deps); + } finally { + ReactCurrentDispatcher$1.current = prevDispatcher; + } + }, + useReducer: function (reducer, initialArg, init) { + currentHookNameInDev = 'useReducer'; + updateHookTypesDev(); + var prevDispatcher = ReactCurrentDispatcher$1.current; + ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateReducer(reducer, initialArg, init); + } finally { + ReactCurrentDispatcher$1.current = prevDispatcher; + } + }, + useRef: function (initialValue) { + currentHookNameInDev = 'useRef'; + updateHookTypesDev(); + return updateRef(initialValue); + }, + useState: function (initialState) { + currentHookNameInDev = 'useState'; + updateHookTypesDev(); + var prevDispatcher = ReactCurrentDispatcher$1.current; + ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateState(initialState); + } finally { + ReactCurrentDispatcher$1.current = prevDispatcher; + } + }, + useDebugValue: function (value, formatterFn) { + currentHookNameInDev = 'useDebugValue'; + updateHookTypesDev(); + return updateDebugValue(value, formatterFn); + } + }; + + InvalidNestedHooksDispatcherOnMountInDEV = { + readContext: function (context, observedBits) { + warnInvalidContextAccess(); + return readContext(context, observedBits); + }, + useCallback: function (callback, deps) { + currentHookNameInDev = 'useCallback'; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountCallback(callback, deps); + }, + useContext: function (context, observedBits) { + currentHookNameInDev = 'useContext'; + warnInvalidHookAccess(); + mountHookTypesDev(); + return readContext(context, observedBits); + }, + useEffect: function (create, deps) { + currentHookNameInDev = 'useEffect'; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountEffect(create, deps); + }, + useImperativeHandle: function (ref, create, deps) { + currentHookNameInDev = 'useImperativeHandle'; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountImperativeHandle(ref, create, deps); + }, + useLayoutEffect: function (create, deps) { + currentHookNameInDev = 'useLayoutEffect'; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountLayoutEffect(create, deps); + }, + useMemo: function (create, deps) { + currentHookNameInDev = 'useMemo'; + warnInvalidHookAccess(); + mountHookTypesDev(); + var prevDispatcher = ReactCurrentDispatcher$1.current; + ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountMemo(create, deps); + } finally { + ReactCurrentDispatcher$1.current = prevDispatcher; + } + }, + useReducer: function (reducer, initialArg, init) { + currentHookNameInDev = 'useReducer'; + warnInvalidHookAccess(); + mountHookTypesDev(); + var prevDispatcher = ReactCurrentDispatcher$1.current; + ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountReducer(reducer, initialArg, init); + } finally { + ReactCurrentDispatcher$1.current = prevDispatcher; + } + }, + useRef: function (initialValue) { + currentHookNameInDev = 'useRef'; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountRef(initialValue); + }, + useState: function (initialState) { + currentHookNameInDev = 'useState'; + warnInvalidHookAccess(); + mountHookTypesDev(); + var prevDispatcher = ReactCurrentDispatcher$1.current; + ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnMountInDEV; + try { + return mountState(initialState); + } finally { + ReactCurrentDispatcher$1.current = prevDispatcher; + } + }, + useDebugValue: function (value, formatterFn) { + currentHookNameInDev = 'useDebugValue'; + warnInvalidHookAccess(); + mountHookTypesDev(); + return mountDebugValue(value, formatterFn); + } + }; + + InvalidNestedHooksDispatcherOnUpdateInDEV = { + readContext: function (context, observedBits) { + warnInvalidContextAccess(); + return readContext(context, observedBits); + }, + useCallback: function (callback, deps) { + currentHookNameInDev = 'useCallback'; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateCallback(callback, deps); + }, + useContext: function (context, observedBits) { + currentHookNameInDev = 'useContext'; + warnInvalidHookAccess(); + updateHookTypesDev(); + return readContext(context, observedBits); + }, + useEffect: function (create, deps) { + currentHookNameInDev = 'useEffect'; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateEffect(create, deps); + }, + useImperativeHandle: function (ref, create, deps) { + currentHookNameInDev = 'useImperativeHandle'; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateImperativeHandle(ref, create, deps); + }, + useLayoutEffect: function (create, deps) { + currentHookNameInDev = 'useLayoutEffect'; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateLayoutEffect(create, deps); + }, + useMemo: function (create, deps) { + currentHookNameInDev = 'useMemo'; + warnInvalidHookAccess(); + updateHookTypesDev(); + var prevDispatcher = ReactCurrentDispatcher$1.current; + ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateMemo(create, deps); + } finally { + ReactCurrentDispatcher$1.current = prevDispatcher; + } + }, + useReducer: function (reducer, initialArg, init) { + currentHookNameInDev = 'useReducer'; + warnInvalidHookAccess(); + updateHookTypesDev(); + var prevDispatcher = ReactCurrentDispatcher$1.current; + ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateReducer(reducer, initialArg, init); + } finally { + ReactCurrentDispatcher$1.current = prevDispatcher; + } + }, + useRef: function (initialValue) { + currentHookNameInDev = 'useRef'; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateRef(initialValue); + }, + useState: function (initialState) { + currentHookNameInDev = 'useState'; + warnInvalidHookAccess(); + updateHookTypesDev(); + var prevDispatcher = ReactCurrentDispatcher$1.current; + ReactCurrentDispatcher$1.current = InvalidNestedHooksDispatcherOnUpdateInDEV; + try { + return updateState(initialState); + } finally { + ReactCurrentDispatcher$1.current = prevDispatcher; + } + }, + useDebugValue: function (value, formatterFn) { + currentHookNameInDev = 'useDebugValue'; + warnInvalidHookAccess(); + updateHookTypesDev(); + return updateDebugValue(value, formatterFn); + } + }; + } + + var commitTime = 0; + var profilerStartTime = -1; + + function getCommitTime() { + return commitTime; + } + + function recordCommitTime() { + if (!enableProfilerTimer) { + return; + } + commitTime = now(); + } + + function startProfilerTimer(fiber) { + if (!enableProfilerTimer) { + return; + } + + profilerStartTime = now(); + + if (fiber.actualStartTime < 0) { + fiber.actualStartTime = now(); + } + } + + function stopProfilerTimerIfRunning(fiber) { + if (!enableProfilerTimer) { + return; + } + profilerStartTime = -1; + } + + function stopProfilerTimerIfRunningAndRecordDelta(fiber, overrideBaseTime) { + if (!enableProfilerTimer) { + return; + } + + if (profilerStartTime >= 0) { + var elapsedTime = now() - profilerStartTime; + fiber.actualDuration += elapsedTime; + if (overrideBaseTime) { + fiber.selfBaseDuration = elapsedTime; + } + profilerStartTime = -1; + } + } + + // The deepest Fiber on the stack involved in a hydration context. + // This may have been an insertion or a hydration. + var hydrationParentFiber = null; + var nextHydratableInstance = null; + var isHydrating = false; + + function enterHydrationState(fiber) { + if (!supportsHydration) { + return false; + } + + var parentInstance = fiber.stateNode.containerInfo; + nextHydratableInstance = getFirstHydratableChild(parentInstance); + hydrationParentFiber = fiber; + isHydrating = true; + return true; + } + + function reenterHydrationStateFromDehydratedSuspenseInstance(fiber) { + if (!supportsHydration) { + return false; + } + + var suspenseInstance = fiber.stateNode; + nextHydratableInstance = getNextHydratableSibling(suspenseInstance); + popToNextHostParent(fiber); + isHydrating = true; + return true; + } + + function deleteHydratableInstance(returnFiber, instance) { + { + switch (returnFiber.tag) { + case HostRoot: + didNotHydrateContainerInstance(returnFiber.stateNode.containerInfo, instance); + break; + case HostComponent: + didNotHydrateInstance(returnFiber.type, returnFiber.memoizedProps, returnFiber.stateNode, instance); + break; + } + } + + var childToDelete = createFiberFromHostInstanceForDeletion(); + childToDelete.stateNode = instance; + childToDelete.return = returnFiber; + childToDelete.effectTag = Deletion; + + // This might seem like it belongs on progressedFirstDeletion. However, + // these children are not part of the reconciliation list of children. + // Even if we abort and rereconcile the children, that will try to hydrate + // again and the nodes are still in the host tree so these will be + // recreated. + if (returnFiber.lastEffect !== null) { + returnFiber.lastEffect.nextEffect = childToDelete; + returnFiber.lastEffect = childToDelete; + } else { + returnFiber.firstEffect = returnFiber.lastEffect = childToDelete; + } + } + + function insertNonHydratedInstance(returnFiber, fiber) { + fiber.effectTag |= Placement; + { + switch (returnFiber.tag) { + case HostRoot: + { + var parentContainer = returnFiber.stateNode.containerInfo; + switch (fiber.tag) { + case HostComponent: + var type = fiber.type; + var props = fiber.pendingProps; + didNotFindHydratableContainerInstance(parentContainer, type, props); + break; + case HostText: + var text = fiber.pendingProps; + didNotFindHydratableContainerTextInstance(parentContainer, text); + break; + case SuspenseComponent: + didNotFindHydratableContainerSuspenseInstance(parentContainer); + break; + } + break; + } + case HostComponent: + { + var parentType = returnFiber.type; + var parentProps = returnFiber.memoizedProps; + var parentInstance = returnFiber.stateNode; + switch (fiber.tag) { + case HostComponent: + var _type = fiber.type; + var _props = fiber.pendingProps; + didNotFindHydratableInstance(parentType, parentProps, parentInstance, _type, _props); + break; + case HostText: + var _text = fiber.pendingProps; + didNotFindHydratableTextInstance(parentType, parentProps, parentInstance, _text); + break; + case SuspenseComponent: + didNotFindHydratableSuspenseInstance(parentType, parentProps, parentInstance); + break; + } + break; + } + default: + return; + } + } + } + + function tryHydrate(fiber, nextInstance) { + switch (fiber.tag) { + case HostComponent: + { + var type = fiber.type; + var props = fiber.pendingProps; + var instance = canHydrateInstance(nextInstance, type, props); + if (instance !== null) { + fiber.stateNode = instance; + return true; + } + return false; + } + case HostText: + { + var text = fiber.pendingProps; + var textInstance = canHydrateTextInstance(nextInstance, text); + if (textInstance !== null) { + fiber.stateNode = textInstance; + return true; + } + return false; + } + case SuspenseComponent: + { + if (enableSuspenseServerRenderer) { + var suspenseInstance = canHydrateSuspenseInstance(nextInstance); + if (suspenseInstance !== null) { + // Downgrade the tag to a dehydrated component until we've hydrated it. + fiber.tag = DehydratedSuspenseComponent; + fiber.stateNode = suspenseInstance; + return true; + } + } + return false; + } + default: + return false; + } + } + + function tryToClaimNextHydratableInstance(fiber) { + if (!isHydrating) { + return; + } + var nextInstance = nextHydratableInstance; + if (!nextInstance) { + // Nothing to hydrate. Make it an insertion. + insertNonHydratedInstance(hydrationParentFiber, fiber); + isHydrating = false; + hydrationParentFiber = fiber; + return; + } + var firstAttemptedInstance = nextInstance; + if (!tryHydrate(fiber, nextInstance)) { + // If we can't hydrate this instance let's try the next one. + // We use this as a heuristic. It's based on intuition and not data so it + // might be flawed or unnecessary. + nextInstance = getNextHydratableSibling(firstAttemptedInstance); + if (!nextInstance || !tryHydrate(fiber, nextInstance)) { + // Nothing to hydrate. Make it an insertion. + insertNonHydratedInstance(hydrationParentFiber, fiber); + isHydrating = false; + hydrationParentFiber = fiber; + return; + } + // We matched the next one, we'll now assume that the first one was + // superfluous and we'll delete it. Since we can't eagerly delete it + // we'll have to schedule a deletion. To do that, this node needs a dummy + // fiber associated with it. + deleteHydratableInstance(hydrationParentFiber, firstAttemptedInstance); + } + hydrationParentFiber = fiber; + nextHydratableInstance = getFirstHydratableChild(nextInstance); + } + + function prepareToHydrateHostInstance(fiber, rootContainerInstance, hostContext) { + if (!supportsHydration) { + invariant(false, 'Expected prepareToHydrateHostInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.'); + } + + var instance = fiber.stateNode; + var updatePayload = hydrateInstance(instance, fiber.type, fiber.memoizedProps, rootContainerInstance, hostContext, fiber); + // TODO: Type this specific to this type of component. + fiber.updateQueue = updatePayload; + // If the update payload indicates that there is a change or if there + // is a new ref we mark this as an update. + if (updatePayload !== null) { + return true; + } + return false; + } + + function prepareToHydrateHostTextInstance(fiber) { + if (!supportsHydration) { + invariant(false, 'Expected prepareToHydrateHostTextInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.'); + } + + var textInstance = fiber.stateNode; + var textContent = fiber.memoizedProps; + var shouldUpdate = hydrateTextInstance(textInstance, textContent, fiber); + { + if (shouldUpdate) { + // We assume that prepareToHydrateHostTextInstance is called in a context where the + // hydration parent is the parent host component of this host text. + var returnFiber = hydrationParentFiber; + if (returnFiber !== null) { + switch (returnFiber.tag) { + case HostRoot: + { + var parentContainer = returnFiber.stateNode.containerInfo; + didNotMatchHydratedContainerTextInstance(parentContainer, textInstance, textContent); + break; + } + case HostComponent: + { + var parentType = returnFiber.type; + var parentProps = returnFiber.memoizedProps; + var parentInstance = returnFiber.stateNode; + didNotMatchHydratedTextInstance(parentType, parentProps, parentInstance, textInstance, textContent); + break; + } + } + } + } + } + return shouldUpdate; + } + + function skipPastDehydratedSuspenseInstance(fiber) { + if (!supportsHydration) { + invariant(false, 'Expected skipPastDehydratedSuspenseInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.'); + } + var suspenseInstance = fiber.stateNode; + !suspenseInstance ? invariant(false, 'Expected to have a hydrated suspense instance. This error is likely caused by a bug in React. Please file an issue.') : void 0; + nextHydratableInstance = getNextHydratableInstanceAfterSuspenseInstance(suspenseInstance); + } + + function popToNextHostParent(fiber) { + var parent = fiber.return; + while (parent !== null && parent.tag !== HostComponent && parent.tag !== HostRoot && parent.tag !== DehydratedSuspenseComponent) { + parent = parent.return; + } + hydrationParentFiber = parent; + } + + function popHydrationState(fiber) { + if (!supportsHydration) { + return false; + } + if (fiber !== hydrationParentFiber) { + // We're deeper than the current hydration context, inside an inserted + // tree. + return false; + } + if (!isHydrating) { + // If we're not currently hydrating but we're in a hydration context, then + // we were an insertion and now need to pop up reenter hydration of our + // siblings. + popToNextHostParent(fiber); + isHydrating = true; + return false; + } + + var type = fiber.type; + + // If we have any remaining hydratable nodes, we need to delete them now. + // We only do this deeper than head and body since they tend to have random + // other nodes in them. We also ignore components with pure text content in + // side of them. + // TODO: Better heuristic. + if (fiber.tag !== HostComponent || type !== 'head' && type !== 'body' && !shouldSetTextContent(type, fiber.memoizedProps)) { + var nextInstance = nextHydratableInstance; + while (nextInstance) { + deleteHydratableInstance(fiber, nextInstance); + nextInstance = getNextHydratableSibling(nextInstance); + } + } + + popToNextHostParent(fiber); + nextHydratableInstance = hydrationParentFiber ? getNextHydratableSibling(fiber.stateNode) : null; + return true; + } + + function resetHydrationState() { + if (!supportsHydration) { + return; + } + + hydrationParentFiber = null; + nextHydratableInstance = null; + isHydrating = false; + } + + var ReactCurrentOwner$2 = ReactSharedInternals.ReactCurrentOwner; + + var didReceiveUpdate = false; + + var didWarnAboutBadClass = void 0; + var didWarnAboutContextTypeOnFunctionComponent = void 0; + var didWarnAboutGetDerivedStateOnFunctionComponent = void 0; + var didWarnAboutFunctionRefs = void 0; + var didWarnAboutReassigningProps = void 0; + + { + didWarnAboutBadClass = {}; + didWarnAboutContextTypeOnFunctionComponent = {}; + didWarnAboutGetDerivedStateOnFunctionComponent = {}; + didWarnAboutFunctionRefs = {}; + didWarnAboutReassigningProps = false; + } + + function reconcileChildren(current$$1, workInProgress, nextChildren, renderExpirationTime) { + if (current$$1 === null) { + // If this is a fresh new component that hasn't been rendered yet, we + // won't update its child set by applying minimal side-effects. Instead, + // we will add them all to the child before it gets rendered. That means + // we can optimize this reconciliation pass by not tracking side-effects. + workInProgress.child = mountChildFibers(workInProgress, null, nextChildren, renderExpirationTime); + } else { + // If the current child is the same as the work in progress, it means that + // we haven't yet started any work on these children. Therefore, we use + // the clone algorithm to create a copy of all the current children. + + // If we had any progressed work already, that is invalid at this point so + // let's throw it out. + workInProgress.child = reconcileChildFibers(workInProgress, current$$1.child, nextChildren, renderExpirationTime); + } + } + + function forceUnmountCurrentAndReconcile(current$$1, workInProgress, nextChildren, renderExpirationTime) { + // This function is fork of reconcileChildren. It's used in cases where we + // want to reconcile without matching against the existing set. This has the + // effect of all current children being unmounted; even if the type and key + // are the same, the old child is unmounted and a new child is created. + // + // To do this, we're going to go through the reconcile algorithm twice. In + // the first pass, we schedule a deletion for all the current children by + // passing null. + workInProgress.child = reconcileChildFibers(workInProgress, current$$1.child, null, renderExpirationTime); + // In the second pass, we mount the new children. The trick here is that we + // pass null in place of where we usually pass the current child set. This has + // the effect of remounting all children regardless of whether their their + // identity matches. + workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderExpirationTime); + } + + function updateForwardRef(current$$1, workInProgress, Component, nextProps, renderExpirationTime) { + // TODO: current can be non-null here even if the component + // hasn't yet mounted. This happens after the first render suspends. + // We'll need to figure out if this is fine or can cause issues. + + { + if (workInProgress.type !== workInProgress.elementType) { + // Lazy component props can't be validated in createElement + // because they're only guaranteed to be resolved here. + var innerPropTypes = Component.propTypes; + if (innerPropTypes) { + checkPropTypes(innerPropTypes, nextProps, // Resolved props + 'prop', getComponentName(Component), getCurrentFiberStackInDev); + } + } + } + + var render = Component.render; + var ref = workInProgress.ref; + + // The rest is a fork of updateFunctionComponent + var nextChildren = void 0; + prepareToReadContext(workInProgress, renderExpirationTime); + { + ReactCurrentOwner$2.current = workInProgress; + setCurrentPhase('render'); + nextChildren = renderWithHooks(current$$1, workInProgress, render, nextProps, ref, renderExpirationTime); + if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) { + // Only double-render components with Hooks + if (workInProgress.memoizedState !== null) { + nextChildren = renderWithHooks(current$$1, workInProgress, render, nextProps, ref, renderExpirationTime); + } + } + setCurrentPhase(null); + } + + if (current$$1 !== null && !didReceiveUpdate) { + bailoutHooks(current$$1, workInProgress, renderExpirationTime); + return bailoutOnAlreadyFinishedWork(current$$1, workInProgress, renderExpirationTime); + } + + // React DevTools reads this flag. + workInProgress.effectTag |= PerformedWork; + reconcileChildren(current$$1, workInProgress, nextChildren, renderExpirationTime); + return workInProgress.child; + } + + function updateMemoComponent(current$$1, workInProgress, Component, nextProps, updateExpirationTime, renderExpirationTime) { + if (current$$1 === null) { + var type = Component.type; + if (isSimpleFunctionComponent(type) && Component.compare === null && + // SimpleMemoComponent codepath doesn't resolve outer props either. + Component.defaultProps === undefined) { + // If this is a plain function component without default props, + // and with only the default shallow comparison, we upgrade it + // to a SimpleMemoComponent to allow fast path updates. + workInProgress.tag = SimpleMemoComponent; + workInProgress.type = type; + { + validateFunctionComponentInDev(workInProgress, type); + } + return updateSimpleMemoComponent(current$$1, workInProgress, type, nextProps, updateExpirationTime, renderExpirationTime); + } + { + var innerPropTypes = type.propTypes; + if (innerPropTypes) { + // Inner memo component props aren't currently validated in createElement. + // We could move it there, but we'd still need this for lazy code path. + checkPropTypes(innerPropTypes, nextProps, // Resolved props + 'prop', getComponentName(type), getCurrentFiberStackInDev); + } + } + var child = createFiberFromTypeAndProps(Component.type, null, nextProps, null, workInProgress.mode, renderExpirationTime); + child.ref = workInProgress.ref; + child.return = workInProgress; + workInProgress.child = child; + return child; + } + { + var _type = Component.type; + var _innerPropTypes = _type.propTypes; + if (_innerPropTypes) { + // Inner memo component props aren't currently validated in createElement. + // We could move it there, but we'd still need this for lazy code path. + checkPropTypes(_innerPropTypes, nextProps, // Resolved props + 'prop', getComponentName(_type), getCurrentFiberStackInDev); + } + } + var currentChild = current$$1.child; // This is always exactly one child + if (updateExpirationTime < renderExpirationTime) { + // This will be the props with resolved defaultProps, + // unlike current.memoizedProps which will be the unresolved ones. + var prevProps = currentChild.memoizedProps; + // Default to shallow comparison + var compare = Component.compare; + compare = compare !== null ? compare : shallowEqual; + if (compare(prevProps, nextProps) && current$$1.ref === workInProgress.ref) { + return bailoutOnAlreadyFinishedWork(current$$1, workInProgress, renderExpirationTime); + } + } + // React DevTools reads this flag. + workInProgress.effectTag |= PerformedWork; + var newChild = createWorkInProgress(currentChild, nextProps, renderExpirationTime); + newChild.ref = workInProgress.ref; + newChild.return = workInProgress; + workInProgress.child = newChild; + return newChild; + } + + function updateSimpleMemoComponent(current$$1, workInProgress, Component, nextProps, updateExpirationTime, renderExpirationTime) { + // TODO: current can be non-null here even if the component + // hasn't yet mounted. This happens when the inner render suspends. + // We'll need to figure out if this is fine or can cause issues. + + { + if (workInProgress.type !== workInProgress.elementType) { + // Lazy component props can't be validated in createElement + // because they're only guaranteed to be resolved here. + var outerMemoType = workInProgress.elementType; + if (outerMemoType.$$typeof === REACT_LAZY_TYPE) { + // We warn when you define propTypes on lazy() + // so let's just skip over it to find memo() outer wrapper. + // Inner props for memo are validated later. + outerMemoType = refineResolvedLazyComponent(outerMemoType); + } + var outerPropTypes = outerMemoType && outerMemoType.propTypes; + if (outerPropTypes) { + checkPropTypes(outerPropTypes, nextProps, // Resolved (SimpleMemoComponent has no defaultProps) + 'prop', getComponentName(outerMemoType), getCurrentFiberStackInDev); + } + // Inner propTypes will be validated in the function component path. + } + } + if (current$$1 !== null) { + var prevProps = current$$1.memoizedProps; + if (shallowEqual(prevProps, nextProps) && current$$1.ref === workInProgress.ref) { + didReceiveUpdate = false; + if (updateExpirationTime < renderExpirationTime) { + return bailoutOnAlreadyFinishedWork(current$$1, workInProgress, renderExpirationTime); + } + } + } + return updateFunctionComponent(current$$1, workInProgress, Component, nextProps, renderExpirationTime); + } + + function updateFragment(current$$1, workInProgress, renderExpirationTime) { + var nextChildren = workInProgress.pendingProps; + reconcileChildren(current$$1, workInProgress, nextChildren, renderExpirationTime); + return workInProgress.child; + } + + function updateMode(current$$1, workInProgress, renderExpirationTime) { + var nextChildren = workInProgress.pendingProps.children; + reconcileChildren(current$$1, workInProgress, nextChildren, renderExpirationTime); + return workInProgress.child; + } + + function updateProfiler(current$$1, workInProgress, renderExpirationTime) { + if (enableProfilerTimer) { + workInProgress.effectTag |= Update; + } + var nextProps = workInProgress.pendingProps; + var nextChildren = nextProps.children; + reconcileChildren(current$$1, workInProgress, nextChildren, renderExpirationTime); + return workInProgress.child; + } + + function markRef(current$$1, workInProgress) { + var ref = workInProgress.ref; + if (current$$1 === null && ref !== null || current$$1 !== null && current$$1.ref !== ref) { + // Schedule a Ref effect + workInProgress.effectTag |= Ref; + } + } + + function updateFunctionComponent(current$$1, workInProgress, Component, nextProps, renderExpirationTime) { + { + if (workInProgress.type !== workInProgress.elementType) { + // Lazy component props can't be validated in createElement + // because they're only guaranteed to be resolved here. + var innerPropTypes = Component.propTypes; + if (innerPropTypes) { + checkPropTypes(innerPropTypes, nextProps, // Resolved props + 'prop', getComponentName(Component), getCurrentFiberStackInDev); + } + } + } + + var unmaskedContext = getUnmaskedContext(workInProgress, Component, true); + var context = getMaskedContext(workInProgress, unmaskedContext); + + var nextChildren = void 0; + prepareToReadContext(workInProgress, renderExpirationTime); + { + ReactCurrentOwner$2.current = workInProgress; + setCurrentPhase('render'); + nextChildren = renderWithHooks(current$$1, workInProgress, Component, nextProps, context, renderExpirationTime); + if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) { + // Only double-render components with Hooks + if (workInProgress.memoizedState !== null) { + nextChildren = renderWithHooks(current$$1, workInProgress, Component, nextProps, context, renderExpirationTime); + } + } + setCurrentPhase(null); + } + + if (current$$1 !== null && !didReceiveUpdate) { + bailoutHooks(current$$1, workInProgress, renderExpirationTime); + return bailoutOnAlreadyFinishedWork(current$$1, workInProgress, renderExpirationTime); + } + + // React DevTools reads this flag. + workInProgress.effectTag |= PerformedWork; + reconcileChildren(current$$1, workInProgress, nextChildren, renderExpirationTime); + return workInProgress.child; + } + + function updateClassComponent(current$$1, workInProgress, Component, nextProps, renderExpirationTime) { + { + if (workInProgress.type !== workInProgress.elementType) { + // Lazy component props can't be validated in createElement + // because they're only guaranteed to be resolved here. + var innerPropTypes = Component.propTypes; + if (innerPropTypes) { + checkPropTypes(innerPropTypes, nextProps, // Resolved props + 'prop', getComponentName(Component), getCurrentFiberStackInDev); + } + } + } + + // Push context providers early to prevent context stack mismatches. + // During mounting we don't know the child context yet as the instance doesn't exist. + // We will invalidate the child context in finishClassComponent() right after rendering. + var hasContext = void 0; + if (isContextProvider(Component)) { + hasContext = true; + pushContextProvider(workInProgress); + } else { + hasContext = false; + } + prepareToReadContext(workInProgress, renderExpirationTime); + + var instance = workInProgress.stateNode; + var shouldUpdate = void 0; + if (instance === null) { + if (current$$1 !== null) { + // An class component without an instance only mounts if it suspended + // inside a non- concurrent tree, in an inconsistent state. We want to + // tree it like a new mount, even though an empty version of it already + // committed. Disconnect the alternate pointers. + current$$1.alternate = null; + workInProgress.alternate = null; + // Since this is conceptually a new fiber, schedule a Placement effect + workInProgress.effectTag |= Placement; + } + // In the initial pass we might need to construct the instance. + constructClassInstance(workInProgress, Component, nextProps, renderExpirationTime); + mountClassInstance(workInProgress, Component, nextProps, renderExpirationTime); + shouldUpdate = true; + } else if (current$$1 === null) { + // In a resume, we'll already have an instance we can reuse. + shouldUpdate = resumeMountClassInstance(workInProgress, Component, nextProps, renderExpirationTime); + } else { + shouldUpdate = updateClassInstance(current$$1, workInProgress, Component, nextProps, renderExpirationTime); + } + var nextUnitOfWork = finishClassComponent(current$$1, workInProgress, Component, shouldUpdate, hasContext, renderExpirationTime); + { + var inst = workInProgress.stateNode; + if (inst.props !== nextProps) { + !didWarnAboutReassigningProps ? warning$1(false, 'It looks like %s is reassigning its own `this.props` while rendering. ' + 'This is not supported and can lead to confusing bugs.', getComponentName(workInProgress.type) || 'a component') : void 0; + didWarnAboutReassigningProps = true; + } + } + return nextUnitOfWork; + } + + function finishClassComponent(current$$1, workInProgress, Component, shouldUpdate, hasContext, renderExpirationTime) { + // Refs should update even if shouldComponentUpdate returns false + markRef(current$$1, workInProgress); + + var didCaptureError = (workInProgress.effectTag & DidCapture) !== NoEffect; + + if (!shouldUpdate && !didCaptureError) { + // Context providers should defer to sCU for rendering + if (hasContext) { + invalidateContextProvider(workInProgress, Component, false); + } + + return bailoutOnAlreadyFinishedWork(current$$1, workInProgress, renderExpirationTime); + } + + var instance = workInProgress.stateNode; + + // Rerender + ReactCurrentOwner$2.current = workInProgress; + var nextChildren = void 0; + if (didCaptureError && typeof Component.getDerivedStateFromError !== 'function') { + // If we captured an error, but getDerivedStateFrom catch is not defined, + // unmount all the children. componentDidCatch will schedule an update to + // re-render a fallback. This is temporary until we migrate everyone to + // the new API. + // TODO: Warn in a future release. + nextChildren = null; + + if (enableProfilerTimer) { + stopProfilerTimerIfRunning(workInProgress); + } + } else { + { + setCurrentPhase('render'); + nextChildren = instance.render(); + if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) { + instance.render(); + } + setCurrentPhase(null); + } + } + + // React DevTools reads this flag. + workInProgress.effectTag |= PerformedWork; + if (current$$1 !== null && didCaptureError) { + // If we're recovering from an error, reconcile without reusing any of + // the existing children. Conceptually, the normal children and the children + // that are shown on error are two different sets, so we shouldn't reuse + // normal children even if their identities match. + forceUnmountCurrentAndReconcile(current$$1, workInProgress, nextChildren, renderExpirationTime); + } else { + reconcileChildren(current$$1, workInProgress, nextChildren, renderExpirationTime); + } + + // Memoize state using the values we just used to render. + // TODO: Restructure so we never read values from the instance. + workInProgress.memoizedState = instance.state; + + // The context might have changed so we need to recalculate it. + if (hasContext) { + invalidateContextProvider(workInProgress, Component, true); + } + + return workInProgress.child; + } + + function pushHostRootContext(workInProgress) { + var root = workInProgress.stateNode; + if (root.pendingContext) { + pushTopLevelContextObject(workInProgress, root.pendingContext, root.pendingContext !== root.context); + } else if (root.context) { + // Should always be set + pushTopLevelContextObject(workInProgress, root.context, false); + } + pushHostContainer(workInProgress, root.containerInfo); + } + + function updateHostRoot(current$$1, workInProgress, renderExpirationTime) { + pushHostRootContext(workInProgress); + var updateQueue = workInProgress.updateQueue; + !(updateQueue !== null) ? invariant(false, 'If the root does not have an updateQueue, we should have already bailed out. This error is likely caused by a bug in React. Please file an issue.') : void 0; + var nextProps = workInProgress.pendingProps; + var prevState = workInProgress.memoizedState; + var prevChildren = prevState !== null ? prevState.element : null; + processUpdateQueue(workInProgress, updateQueue, nextProps, null, renderExpirationTime); + var nextState = workInProgress.memoizedState; + // Caution: React DevTools currently depends on this property + // being called "element". + var nextChildren = nextState.element; + if (nextChildren === prevChildren) { + // If the state is the same as before, that's a bailout because we had + // no work that expires at this time. + resetHydrationState(); + return bailoutOnAlreadyFinishedWork(current$$1, workInProgress, renderExpirationTime); + } + var root = workInProgress.stateNode; + if ((current$$1 === null || current$$1.child === null) && root.hydrate && enterHydrationState(workInProgress)) { + // If we don't have any current children this might be the first pass. + // We always try to hydrate. If this isn't a hydration pass there won't + // be any children to hydrate which is effectively the same thing as + // not hydrating. + + // This is a bit of a hack. We track the host root as a placement to + // know that we're currently in a mounting state. That way isMounted + // works as expected. We must reset this before committing. + // TODO: Delete this when we delete isMounted and findDOMNode. + workInProgress.effectTag |= Placement; + + // Ensure that children mount into this root without tracking + // side-effects. This ensures that we don't store Placement effects on + // nodes that will be hydrated. + workInProgress.child = mountChildFibers(workInProgress, null, nextChildren, renderExpirationTime); + } else { + // Otherwise reset hydration state in case we aborted and resumed another + // root. + reconcileChildren(current$$1, workInProgress, nextChildren, renderExpirationTime); + resetHydrationState(); + } + return workInProgress.child; + } + + function updateHostComponent(current$$1, workInProgress, renderExpirationTime) { + pushHostContext(workInProgress); + + if (current$$1 === null) { + tryToClaimNextHydratableInstance(workInProgress); + } + + var type = workInProgress.type; + var nextProps = workInProgress.pendingProps; + var prevProps = current$$1 !== null ? current$$1.memoizedProps : null; + + var nextChildren = nextProps.children; + var isDirectTextChild = shouldSetTextContent(type, nextProps); + + if (isDirectTextChild) { + // We special case a direct text child of a host node. This is a common + // case. We won't handle it as a reified child. We will instead handle + // this in the host environment that also have access to this prop. That + // avoids allocating another HostText fiber and traversing it. + nextChildren = null; + } else if (prevProps !== null && shouldSetTextContent(type, prevProps)) { + // If we're switching from a direct text child to a normal child, or to + // empty, we need to schedule the text content to be reset. + workInProgress.effectTag |= ContentReset; + } + + markRef(current$$1, workInProgress); + + // Check the host config to see if the children are offscreen/hidden. + if (renderExpirationTime !== Never && workInProgress.mode & ConcurrentMode && shouldDeprioritizeSubtree(type, nextProps)) { + // Schedule this fiber to re-render at offscreen priority. Then bailout. + workInProgress.expirationTime = workInProgress.childExpirationTime = Never; + return null; + } + + reconcileChildren(current$$1, workInProgress, nextChildren, renderExpirationTime); + return workInProgress.child; + } + + function updateHostText(current$$1, workInProgress) { + if (current$$1 === null) { + tryToClaimNextHydratableInstance(workInProgress); + } + // Nothing to do here. This is terminal. We'll do the completion step + // immediately after. + return null; + } + + function mountLazyComponent(_current, workInProgress, elementType, updateExpirationTime, renderExpirationTime) { + if (_current !== null) { + // An lazy component only mounts if it suspended inside a non- + // concurrent tree, in an inconsistent state. We want to treat it like + // a new mount, even though an empty version of it already committed. + // Disconnect the alternate pointers. + _current.alternate = null; + workInProgress.alternate = null; + // Since this is conceptually a new fiber, schedule a Placement effect + workInProgress.effectTag |= Placement; + } + + var props = workInProgress.pendingProps; + // We can't start a User Timing measurement with correct label yet. + // Cancel and resume right after we know the tag. + cancelWorkTimer(workInProgress); + var Component = readLazyComponentType(elementType); + // Store the unwrapped component in the type. + workInProgress.type = Component; + var resolvedTag = workInProgress.tag = resolveLazyComponentTag(Component); + startWorkTimer(workInProgress); + var resolvedProps = resolveDefaultProps(Component, props); + var child = void 0; + switch (resolvedTag) { + case FunctionComponent: + { + { + validateFunctionComponentInDev(workInProgress, Component); + } + child = updateFunctionComponent(null, workInProgress, Component, resolvedProps, renderExpirationTime); + break; + } + case ClassComponent: + { + child = updateClassComponent(null, workInProgress, Component, resolvedProps, renderExpirationTime); + break; + } + case ForwardRef: + { + child = updateForwardRef(null, workInProgress, Component, resolvedProps, renderExpirationTime); + break; + } + case MemoComponent: + { + { + if (workInProgress.type !== workInProgress.elementType) { + var outerPropTypes = Component.propTypes; + if (outerPropTypes) { + checkPropTypes(outerPropTypes, resolvedProps, // Resolved for outer only + 'prop', getComponentName(Component), getCurrentFiberStackInDev); + } + } + } + child = updateMemoComponent(null, workInProgress, Component, resolveDefaultProps(Component.type, resolvedProps), // The inner type can have defaults too + updateExpirationTime, renderExpirationTime); + break; + } + default: + { + var hint = ''; + { + if (Component !== null && typeof Component === 'object' && Component.$$typeof === REACT_LAZY_TYPE) { + hint = ' Did you wrap a component in React.lazy() more than once?'; + } + } + // This message intentionally doesn't mention ForwardRef or MemoComponent + // because the fact that it's a separate type of work is an + // implementation detail. + invariant(false, 'Element type is invalid. Received a promise that resolves to: %s. Lazy element type must resolve to a class or function.%s', Component, hint); + } + } + return child; + } + + function mountIncompleteClassComponent(_current, workInProgress, Component, nextProps, renderExpirationTime) { + if (_current !== null) { + // An incomplete component only mounts if it suspended inside a non- + // concurrent tree, in an inconsistent state. We want to treat it like + // a new mount, even though an empty version of it already committed. + // Disconnect the alternate pointers. + _current.alternate = null; + workInProgress.alternate = null; + // Since this is conceptually a new fiber, schedule a Placement effect + workInProgress.effectTag |= Placement; + } + + // Promote the fiber to a class and try rendering again. + workInProgress.tag = ClassComponent; + + // The rest of this function is a fork of `updateClassComponent` + + // Push context providers early to prevent context stack mismatches. + // During mounting we don't know the child context yet as the instance doesn't exist. + // We will invalidate the child context in finishClassComponent() right after rendering. + var hasContext = void 0; + if (isContextProvider(Component)) { + hasContext = true; + pushContextProvider(workInProgress); + } else { + hasContext = false; + } + prepareToReadContext(workInProgress, renderExpirationTime); + + constructClassInstance(workInProgress, Component, nextProps, renderExpirationTime); + mountClassInstance(workInProgress, Component, nextProps, renderExpirationTime); + + return finishClassComponent(null, workInProgress, Component, true, hasContext, renderExpirationTime); + } + + function mountIndeterminateComponent(_current, workInProgress, Component, renderExpirationTime) { + if (_current !== null) { + // An indeterminate component only mounts if it suspended inside a non- + // concurrent tree, in an inconsistent state. We want to treat it like + // a new mount, even though an empty version of it already committed. + // Disconnect the alternate pointers. + _current.alternate = null; + workInProgress.alternate = null; + // Since this is conceptually a new fiber, schedule a Placement effect + workInProgress.effectTag |= Placement; + } + + var props = workInProgress.pendingProps; + var unmaskedContext = getUnmaskedContext(workInProgress, Component, false); + var context = getMaskedContext(workInProgress, unmaskedContext); + + prepareToReadContext(workInProgress, renderExpirationTime); + + var value = void 0; + + { + if (Component.prototype && typeof Component.prototype.render === 'function') { + var componentName = getComponentName(Component) || 'Unknown'; + + if (!didWarnAboutBadClass[componentName]) { + warningWithoutStack$1(false, "The <%s /> component appears to have a render method, but doesn't extend React.Component. " + 'This is likely to cause errors. Change %s to extend React.Component instead.', componentName, componentName); + didWarnAboutBadClass[componentName] = true; + } + } + + if (workInProgress.mode & StrictMode) { + ReactStrictModeWarnings.recordLegacyContextWarning(workInProgress, null); + } + + ReactCurrentOwner$2.current = workInProgress; + value = renderWithHooks(null, workInProgress, Component, props, context, renderExpirationTime); + } + // React DevTools reads this flag. + workInProgress.effectTag |= PerformedWork; + + if (typeof value === 'object' && value !== null && typeof value.render === 'function' && value.$$typeof === undefined) { + // Proceed under the assumption that this is a class instance + workInProgress.tag = ClassComponent; + + // Throw out any hooks that were used. + resetHooks(); + + // Push context providers early to prevent context stack mismatches. + // During mounting we don't know the child context yet as the instance doesn't exist. + // We will invalidate the child context in finishClassComponent() right after rendering. + var hasContext = false; + if (isContextProvider(Component)) { + hasContext = true; + pushContextProvider(workInProgress); + } else { + hasContext = false; + } + + workInProgress.memoizedState = value.state !== null && value.state !== undefined ? value.state : null; + + var getDerivedStateFromProps = Component.getDerivedStateFromProps; + if (typeof getDerivedStateFromProps === 'function') { + applyDerivedStateFromProps(workInProgress, Component, getDerivedStateFromProps, props); + } + + adoptClassInstance(workInProgress, value); + mountClassInstance(workInProgress, Component, props, renderExpirationTime); + return finishClassComponent(null, workInProgress, Component, true, hasContext, renderExpirationTime); + } else { + // Proceed under the assumption that this is a function component + workInProgress.tag = FunctionComponent; + { + if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) { + // Only double-render components with Hooks + if (workInProgress.memoizedState !== null) { + value = renderWithHooks(null, workInProgress, Component, props, context, renderExpirationTime); + } + } + } + reconcileChildren(null, workInProgress, value, renderExpirationTime); + { + validateFunctionComponentInDev(workInProgress, Component); + } + return workInProgress.child; + } + } + + function validateFunctionComponentInDev(workInProgress, Component) { + if (Component) { + !!Component.childContextTypes ? warningWithoutStack$1(false, '%s(...): childContextTypes cannot be defined on a function component.', Component.displayName || Component.name || 'Component') : void 0; + } + if (workInProgress.ref !== null) { + var info = ''; + var ownerName = getCurrentFiberOwnerNameInDevOrNull(); + if (ownerName) { + info += '\n\nCheck the render method of `' + ownerName + '`.'; + } + + var warningKey = ownerName || workInProgress._debugID || ''; + var debugSource = workInProgress._debugSource; + if (debugSource) { + warningKey = debugSource.fileName + ':' + debugSource.lineNumber; + } + if (!didWarnAboutFunctionRefs[warningKey]) { + didWarnAboutFunctionRefs[warningKey] = true; + warning$1(false, 'Function components cannot be given refs. ' + 'Attempts to access this ref will fail. ' + 'Did you mean to use React.forwardRef()?%s', info); + } + } + + if (typeof Component.getDerivedStateFromProps === 'function') { + var componentName = getComponentName(Component) || 'Unknown'; + + if (!didWarnAboutGetDerivedStateOnFunctionComponent[componentName]) { + warningWithoutStack$1(false, '%s: Function components do not support getDerivedStateFromProps.', componentName); + didWarnAboutGetDerivedStateOnFunctionComponent[componentName] = true; + } + } + + if (typeof Component.contextType === 'object' && Component.contextType !== null) { + var _componentName = getComponentName(Component) || 'Unknown'; + + if (!didWarnAboutContextTypeOnFunctionComponent[_componentName]) { + warningWithoutStack$1(false, '%s: Function components do not support contextType.', _componentName); + didWarnAboutContextTypeOnFunctionComponent[_componentName] = true; + } + } + } + + function updateSuspenseComponent(current$$1, workInProgress, renderExpirationTime) { + var mode = workInProgress.mode; + var nextProps = workInProgress.pendingProps; + + // We should attempt to render the primary children unless this boundary + // already suspended during this render (`alreadyCaptured` is true). + var nextState = workInProgress.memoizedState; + + var nextDidTimeout = void 0; + if ((workInProgress.effectTag & DidCapture) === NoEffect) { + // This is the first attempt. + nextState = null; + nextDidTimeout = false; + } else { + // Something in this boundary's subtree already suspended. Switch to + // rendering the fallback children. + nextState = { + timedOutAt: nextState !== null ? nextState.timedOutAt : NoWork + }; + nextDidTimeout = true; + workInProgress.effectTag &= ~DidCapture; + } + + // This next part is a bit confusing. If the children timeout, we switch to + // showing the fallback children in place of the "primary" children. + // However, we don't want to delete the primary children because then their + // state will be lost (both the React state and the host state, e.g. + // uncontrolled form inputs). Instead we keep them mounted and hide them. + // Both the fallback children AND the primary children are rendered at the + // same time. Once the primary children are un-suspended, we can delete + // the fallback children — don't need to preserve their state. + // + // The two sets of children are siblings in the host environment, but + // semantically, for purposes of reconciliation, they are two separate sets. + // So we store them using two fragment fibers. + // + // However, we want to avoid allocating extra fibers for every placeholder. + // They're only necessary when the children time out, because that's the + // only time when both sets are mounted. + // + // So, the extra fragment fibers are only used if the children time out. + // Otherwise, we render the primary children directly. This requires some + // custom reconciliation logic to preserve the state of the primary + // children. It's essentially a very basic form of re-parenting. + + // `child` points to the child fiber. In the normal case, this is the first + // fiber of the primary children set. In the timed-out case, it's a + // a fragment fiber containing the primary children. + var child = void 0; + // `next` points to the next fiber React should render. In the normal case, + // it's the same as `child`: the first fiber of the primary children set. + // In the timed-out case, it's a fragment fiber containing the *fallback* + // children -- we skip over the primary children entirely. + var next = void 0; + if (current$$1 === null) { + if (enableSuspenseServerRenderer) { + // If we're currently hydrating, try to hydrate this boundary. + // But only if this has a fallback. + if (nextProps.fallback !== undefined) { + tryToClaimNextHydratableInstance(workInProgress); + // This could've changed the tag if this was a dehydrated suspense component. + if (workInProgress.tag === DehydratedSuspenseComponent) { + return updateDehydratedSuspenseComponent(null, workInProgress, renderExpirationTime); + } + } + } + + // This is the initial mount. This branch is pretty simple because there's + // no previous state that needs to be preserved. + if (nextDidTimeout) { + // Mount separate fragments for primary and fallback children. + var nextFallbackChildren = nextProps.fallback; + var primaryChildFragment = createFiberFromFragment(null, mode, NoWork, null); + + if ((workInProgress.mode & ConcurrentMode) === NoContext) { + // Outside of concurrent mode, we commit the effects from the + var progressedState = workInProgress.memoizedState; + var progressedPrimaryChild = progressedState !== null ? workInProgress.child.child : workInProgress.child; + primaryChildFragment.child = progressedPrimaryChild; + } + + var fallbackChildFragment = createFiberFromFragment(nextFallbackChildren, mode, renderExpirationTime, null); + primaryChildFragment.sibling = fallbackChildFragment; + child = primaryChildFragment; + // Skip the primary children, and continue working on the + // fallback children. + next = fallbackChildFragment; + child.return = next.return = workInProgress; + } else { + // Mount the primary children without an intermediate fragment fiber. + var nextPrimaryChildren = nextProps.children; + child = next = mountChildFibers(workInProgress, null, nextPrimaryChildren, renderExpirationTime); + } + } else { + // This is an update. This branch is more complicated because we need to + // ensure the state of the primary children is preserved. + var prevState = current$$1.memoizedState; + var prevDidTimeout = prevState !== null; + if (prevDidTimeout) { + // The current tree already timed out. That means each child set is + var currentPrimaryChildFragment = current$$1.child; + var currentFallbackChildFragment = currentPrimaryChildFragment.sibling; + if (nextDidTimeout) { + // Still timed out. Reuse the current primary children by cloning + // its fragment. We're going to skip over these entirely. + var _nextFallbackChildren = nextProps.fallback; + var _primaryChildFragment = createWorkInProgress(currentPrimaryChildFragment, currentPrimaryChildFragment.pendingProps, NoWork); + + if ((workInProgress.mode & ConcurrentMode) === NoContext) { + // Outside of concurrent mode, we commit the effects from the + var _progressedState = workInProgress.memoizedState; + var _progressedPrimaryChild = _progressedState !== null ? workInProgress.child.child : workInProgress.child; + if (_progressedPrimaryChild !== currentPrimaryChildFragment.child) { + _primaryChildFragment.child = _progressedPrimaryChild; + } + } + + // Because primaryChildFragment is a new fiber that we're inserting as the + // parent of a new tree, we need to set its treeBaseDuration. + if (enableProfilerTimer && workInProgress.mode & ProfileMode) { + // treeBaseDuration is the sum of all the child tree base durations. + var treeBaseDuration = 0; + var hiddenChild = _primaryChildFragment.child; + while (hiddenChild !== null) { + treeBaseDuration += hiddenChild.treeBaseDuration; + hiddenChild = hiddenChild.sibling; + } + _primaryChildFragment.treeBaseDuration = treeBaseDuration; + } + + // Clone the fallback child fragment, too. These we'll continue + // working on. + var _fallbackChildFragment = _primaryChildFragment.sibling = createWorkInProgress(currentFallbackChildFragment, _nextFallbackChildren, currentFallbackChildFragment.expirationTime); + child = _primaryChildFragment; + _primaryChildFragment.childExpirationTime = NoWork; + // Skip the primary children, and continue working on the + // fallback children. + next = _fallbackChildFragment; + child.return = next.return = workInProgress; + } else { + // No longer suspended. Switch back to showing the primary children, + // and remove the intermediate fragment fiber. + var _nextPrimaryChildren = nextProps.children; + var currentPrimaryChild = currentPrimaryChildFragment.child; + var primaryChild = reconcileChildFibers(workInProgress, currentPrimaryChild, _nextPrimaryChildren, renderExpirationTime); + + // If this render doesn't suspend, we need to delete the fallback + // children. Wait until the complete phase, after we've confirmed the + // fallback is no longer needed. + // TODO: Would it be better to store the fallback fragment on + // the stateNode? + + // Continue rendering the children, like we normally do. + child = next = primaryChild; + } + } else { + // The current tree has not already timed out. That means the primary + // children are not wrapped in a fragment fiber. + var _currentPrimaryChild = current$$1.child; + if (nextDidTimeout) { + // Timed out. Wrap the children in a fragment fiber to keep them + // separate from the fallback children. + var _nextFallbackChildren2 = nextProps.fallback; + var _primaryChildFragment2 = createFiberFromFragment( + // It shouldn't matter what the pending props are because we aren't + // going to render this fragment. + null, mode, NoWork, null); + _primaryChildFragment2.child = _currentPrimaryChild; + + // Even though we're creating a new fiber, there are no new children, + // because we're reusing an already mounted tree. So we don't need to + // schedule a placement. + // primaryChildFragment.effectTag |= Placement; + + if ((workInProgress.mode & ConcurrentMode) === NoContext) { + // Outside of concurrent mode, we commit the effects from the + var _progressedState2 = workInProgress.memoizedState; + var _progressedPrimaryChild2 = _progressedState2 !== null ? workInProgress.child.child : workInProgress.child; + _primaryChildFragment2.child = _progressedPrimaryChild2; + } + + // Because primaryChildFragment is a new fiber that we're inserting as the + // parent of a new tree, we need to set its treeBaseDuration. + if (enableProfilerTimer && workInProgress.mode & ProfileMode) { + // treeBaseDuration is the sum of all the child tree base durations. + var _treeBaseDuration = 0; + var _hiddenChild = _primaryChildFragment2.child; + while (_hiddenChild !== null) { + _treeBaseDuration += _hiddenChild.treeBaseDuration; + _hiddenChild = _hiddenChild.sibling; + } + _primaryChildFragment2.treeBaseDuration = _treeBaseDuration; + } + + // Create a fragment from the fallback children, too. + var _fallbackChildFragment2 = _primaryChildFragment2.sibling = createFiberFromFragment(_nextFallbackChildren2, mode, renderExpirationTime, null); + _fallbackChildFragment2.effectTag |= Placement; + child = _primaryChildFragment2; + _primaryChildFragment2.childExpirationTime = NoWork; + // Skip the primary children, and continue working on the + // fallback children. + next = _fallbackChildFragment2; + child.return = next.return = workInProgress; + } else { + // Still haven't timed out. Continue rendering the children, like we + // normally do. + var _nextPrimaryChildren2 = nextProps.children; + next = child = reconcileChildFibers(workInProgress, _currentPrimaryChild, _nextPrimaryChildren2, renderExpirationTime); + } + } + workInProgress.stateNode = current$$1.stateNode; + } + + workInProgress.memoizedState = nextState; + workInProgress.child = child; + return next; + } + + function updateDehydratedSuspenseComponent(current$$1, workInProgress, renderExpirationTime) { + if (current$$1 === null) { + // During the first pass, we'll bail out and not drill into the children. + // Instead, we'll leave the content in place and try to hydrate it later. + workInProgress.expirationTime = Never; + return null; + } + // We use childExpirationTime to indicate that a child might depend on context, so if + // any context has changed, we need to treat is as if the input might have changed. + var hasContextChanged$$1 = current$$1.childExpirationTime >= renderExpirationTime; + if (didReceiveUpdate || hasContextChanged$$1) { + // This boundary has changed since the first render. This means that we are now unable to + // hydrate it. We might still be able to hydrate it using an earlier expiration time but + // during this render we can't. Instead, we're going to delete the whole subtree and + // instead inject a new real Suspense boundary to take its place, which may render content + // or fallback. The real Suspense boundary will suspend for a while so we have some time + // to ensure it can produce real content, but all state and pending events will be lost. + + // Detach from the current dehydrated boundary. + current$$1.alternate = null; + workInProgress.alternate = null; + + // Insert a deletion in the effect list. + var returnFiber = workInProgress.return; + !(returnFiber !== null) ? invariant(false, 'Suspense boundaries are never on the root. This is probably a bug in React.') : void 0; + var last = returnFiber.lastEffect; + if (last !== null) { + last.nextEffect = current$$1; + returnFiber.lastEffect = current$$1; + } else { + returnFiber.firstEffect = returnFiber.lastEffect = current$$1; + } + current$$1.nextEffect = null; + current$$1.effectTag = Deletion; + + // Upgrade this work in progress to a real Suspense component. + workInProgress.tag = SuspenseComponent; + workInProgress.stateNode = null; + workInProgress.memoizedState = null; + // This is now an insertion. + workInProgress.effectTag |= Placement; + // Retry as a real Suspense component. + return updateSuspenseComponent(null, workInProgress, renderExpirationTime); + } + if ((workInProgress.effectTag & DidCapture) === NoEffect) { + // This is the first attempt. + reenterHydrationStateFromDehydratedSuspenseInstance(workInProgress); + var nextProps = workInProgress.pendingProps; + var nextChildren = nextProps.children; + workInProgress.child = mountChildFibers(workInProgress, null, nextChildren, renderExpirationTime); + return workInProgress.child; + } else { + // Something suspended. Leave the existing children in place. + // TODO: In non-concurrent mode, should we commit the nodes we have hydrated so far? + workInProgress.child = null; + return null; + } + } + + function updatePortalComponent(current$$1, workInProgress, renderExpirationTime) { + pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo); + var nextChildren = workInProgress.pendingProps; + if (current$$1 === null) { + // Portals are special because we don't append the children during mount + // but at commit. Therefore we need to track insertions which the normal + // flow doesn't do during mount. This doesn't happen at the root because + // the root always starts with a "current" with a null child. + // TODO: Consider unifying this with how the root works. + workInProgress.child = reconcileChildFibers(workInProgress, null, nextChildren, renderExpirationTime); + } else { + reconcileChildren(current$$1, workInProgress, nextChildren, renderExpirationTime); + } + return workInProgress.child; + } + + function updateContextProvider(current$$1, workInProgress, renderExpirationTime) { + var providerType = workInProgress.type; + var context = providerType._context; + + var newProps = workInProgress.pendingProps; + var oldProps = workInProgress.memoizedProps; + + var newValue = newProps.value; + + { + var providerPropTypes = workInProgress.type.propTypes; + + if (providerPropTypes) { + checkPropTypes(providerPropTypes, newProps, 'prop', 'Context.Provider', getCurrentFiberStackInDev); + } + } + + pushProvider(workInProgress, newValue); + + if (oldProps !== null) { + var oldValue = oldProps.value; + var changedBits = calculateChangedBits(context, newValue, oldValue); + if (changedBits === 0) { + // No change. Bailout early if children are the same. + if (oldProps.children === newProps.children && !hasContextChanged()) { + return bailoutOnAlreadyFinishedWork(current$$1, workInProgress, renderExpirationTime); + } + } else { + // The context value changed. Search for matching consumers and schedule + // them to update. + propagateContextChange(workInProgress, context, changedBits, renderExpirationTime); + } + } + + var newChildren = newProps.children; + reconcileChildren(current$$1, workInProgress, newChildren, renderExpirationTime); + return workInProgress.child; + } + + var hasWarnedAboutUsingContextAsConsumer = false; + + function updateContextConsumer(current$$1, workInProgress, renderExpirationTime) { + var context = workInProgress.type; + // The logic below for Context differs depending on PROD or DEV mode. In + // DEV mode, we create a separate object for Context.Consumer that acts + // like a proxy to Context. This proxy object adds unnecessary code in PROD + // so we use the old behaviour (Context.Consumer references Context) to + // reduce size and overhead. The separate object references context via + // a property called "_context", which also gives us the ability to check + // in DEV mode if this property exists or not and warn if it does not. + { + if (context._context === undefined) { + // This may be because it's a Context (rather than a Consumer). + // Or it may be because it's older React where they're the same thing. + // We only want to warn if we're sure it's a new React. + if (context !== context.Consumer) { + if (!hasWarnedAboutUsingContextAsConsumer) { + hasWarnedAboutUsingContextAsConsumer = true; + warning$1(false, 'Rendering directly is not supported and will be removed in ' + 'a future major release. Did you mean to render instead?'); + } + } + } else { + context = context._context; + } + } + var newProps = workInProgress.pendingProps; + var render = newProps.children; + + { + !(typeof render === 'function') ? warningWithoutStack$1(false, 'A context consumer was rendered with multiple children, or a child ' + "that isn't a function. A context consumer expects a single child " + 'that is a function. If you did pass a function, make sure there ' + 'is no trailing or leading whitespace around it.') : void 0; + } + + prepareToReadContext(workInProgress, renderExpirationTime); + var newValue = readContext(context, newProps.unstable_observedBits); + var newChildren = void 0; + { + ReactCurrentOwner$2.current = workInProgress; + setCurrentPhase('render'); + newChildren = render(newValue); + setCurrentPhase(null); + } + + // React DevTools reads this flag. + workInProgress.effectTag |= PerformedWork; + reconcileChildren(current$$1, workInProgress, newChildren, renderExpirationTime); + return workInProgress.child; + } + + function markWorkInProgressReceivedUpdate() { + didReceiveUpdate = true; + } + + function bailoutOnAlreadyFinishedWork(current$$1, workInProgress, renderExpirationTime) { + cancelWorkTimer(workInProgress); + + if (current$$1 !== null) { + // Reuse previous context list + workInProgress.contextDependencies = current$$1.contextDependencies; + } + + if (enableProfilerTimer) { + // Don't update "base" render times for bailouts. + stopProfilerTimerIfRunning(workInProgress); + } + + // Check if the children have any pending work. + var childExpirationTime = workInProgress.childExpirationTime; + if (childExpirationTime < renderExpirationTime) { + // The children don't have any work either. We can skip them. + // TODO: Once we add back resuming, we should check if the children are + // a work-in-progress set. If so, we need to transfer their effects. + return null; + } else { + // This fiber doesn't have work, but its subtree does. Clone the child + // fibers and continue. + cloneChildFibers(current$$1, workInProgress); + return workInProgress.child; + } + } + + function beginWork(current$$1, workInProgress, renderExpirationTime) { + var updateExpirationTime = workInProgress.expirationTime; + + if (current$$1 !== null) { + var oldProps = current$$1.memoizedProps; + var newProps = workInProgress.pendingProps; + + if (oldProps !== newProps || hasContextChanged()) { + // If props or context changed, mark the fiber as having performed work. + // This may be unset if the props are determined to be equal later (memo). + didReceiveUpdate = true; + } else if (updateExpirationTime < renderExpirationTime) { + didReceiveUpdate = false; + // This fiber does not have any pending work. Bailout without entering + // the begin phase. There's still some bookkeeping we that needs to be done + // in this optimized path, mostly pushing stuff onto the stack. + switch (workInProgress.tag) { + case HostRoot: + pushHostRootContext(workInProgress); + resetHydrationState(); + break; + case HostComponent: + pushHostContext(workInProgress); + break; + case ClassComponent: + { + var Component = workInProgress.type; + if (isContextProvider(Component)) { + pushContextProvider(workInProgress); + } + break; + } + case HostPortal: + pushHostContainer(workInProgress, workInProgress.stateNode.containerInfo); + break; + case ContextProvider: + { + var newValue = workInProgress.memoizedProps.value; + pushProvider(workInProgress, newValue); + break; + } + case Profiler: + if (enableProfilerTimer) { + workInProgress.effectTag |= Update; + } + break; + case SuspenseComponent: + { + var state = workInProgress.memoizedState; + var didTimeout = state !== null; + if (didTimeout) { + // If this boundary is currently timed out, we need to decide + // whether to retry the primary children, or to skip over it and + // go straight to the fallback. Check the priority of the primary + var primaryChildFragment = workInProgress.child; + var primaryChildExpirationTime = primaryChildFragment.childExpirationTime; + if (primaryChildExpirationTime !== NoWork && primaryChildExpirationTime >= renderExpirationTime) { + // The primary children have pending work. Use the normal path + // to attempt to render the primary children again. + return updateSuspenseComponent(current$$1, workInProgress, renderExpirationTime); + } else { + // The primary children do not have pending work with sufficient + // priority. Bailout. + var child = bailoutOnAlreadyFinishedWork(current$$1, workInProgress, renderExpirationTime); + if (child !== null) { + // The fallback children have pending work. Skip over the + // primary children and work on the fallback. + return child.sibling; + } else { + return null; + } + } + } + break; + } + case DehydratedSuspenseComponent: + { + if (enableSuspenseServerRenderer) { + // We know that this component will suspend again because if it has + // been unsuspended it has committed as a regular Suspense component. + // If it needs to be retried, it should have work scheduled on it. + workInProgress.effectTag |= DidCapture; + break; + } + } + } + return bailoutOnAlreadyFinishedWork(current$$1, workInProgress, renderExpirationTime); + } + } else { + didReceiveUpdate = false; + } + + // Before entering the begin phase, clear the expiration time. + workInProgress.expirationTime = NoWork; + + switch (workInProgress.tag) { + case IndeterminateComponent: + { + var elementType = workInProgress.elementType; + return mountIndeterminateComponent(current$$1, workInProgress, elementType, renderExpirationTime); + } + case LazyComponent: + { + var _elementType = workInProgress.elementType; + return mountLazyComponent(current$$1, workInProgress, _elementType, updateExpirationTime, renderExpirationTime); + } + case FunctionComponent: + { + var _Component = workInProgress.type; + var unresolvedProps = workInProgress.pendingProps; + var resolvedProps = workInProgress.elementType === _Component ? unresolvedProps : resolveDefaultProps(_Component, unresolvedProps); + return updateFunctionComponent(current$$1, workInProgress, _Component, resolvedProps, renderExpirationTime); + } + case ClassComponent: + { + var _Component2 = workInProgress.type; + var _unresolvedProps = workInProgress.pendingProps; + var _resolvedProps = workInProgress.elementType === _Component2 ? _unresolvedProps : resolveDefaultProps(_Component2, _unresolvedProps); + return updateClassComponent(current$$1, workInProgress, _Component2, _resolvedProps, renderExpirationTime); + } + case HostRoot: + return updateHostRoot(current$$1, workInProgress, renderExpirationTime); + case HostComponent: + return updateHostComponent(current$$1, workInProgress, renderExpirationTime); + case HostText: + return updateHostText(current$$1, workInProgress); + case SuspenseComponent: + return updateSuspenseComponent(current$$1, workInProgress, renderExpirationTime); + case HostPortal: + return updatePortalComponent(current$$1, workInProgress, renderExpirationTime); + case ForwardRef: + { + var type = workInProgress.type; + var _unresolvedProps2 = workInProgress.pendingProps; + var _resolvedProps2 = workInProgress.elementType === type ? _unresolvedProps2 : resolveDefaultProps(type, _unresolvedProps2); + return updateForwardRef(current$$1, workInProgress, type, _resolvedProps2, renderExpirationTime); + } + case Fragment: + return updateFragment(current$$1, workInProgress, renderExpirationTime); + case Mode: + return updateMode(current$$1, workInProgress, renderExpirationTime); + case Profiler: + return updateProfiler(current$$1, workInProgress, renderExpirationTime); + case ContextProvider: + return updateContextProvider(current$$1, workInProgress, renderExpirationTime); + case ContextConsumer: + return updateContextConsumer(current$$1, workInProgress, renderExpirationTime); + case MemoComponent: + { + var _type2 = workInProgress.type; + var _unresolvedProps3 = workInProgress.pendingProps; + // Resolve outer props first, then resolve inner props. + var _resolvedProps3 = resolveDefaultProps(_type2, _unresolvedProps3); + { + if (workInProgress.type !== workInProgress.elementType) { + var outerPropTypes = _type2.propTypes; + if (outerPropTypes) { + checkPropTypes(outerPropTypes, _resolvedProps3, // Resolved for outer only + 'prop', getComponentName(_type2), getCurrentFiberStackInDev); + } + } + } + _resolvedProps3 = resolveDefaultProps(_type2.type, _resolvedProps3); + return updateMemoComponent(current$$1, workInProgress, _type2, _resolvedProps3, updateExpirationTime, renderExpirationTime); + } + case SimpleMemoComponent: + { + return updateSimpleMemoComponent(current$$1, workInProgress, workInProgress.type, workInProgress.pendingProps, updateExpirationTime, renderExpirationTime); + } + case IncompleteClassComponent: + { + var _Component3 = workInProgress.type; + var _unresolvedProps4 = workInProgress.pendingProps; + var _resolvedProps4 = workInProgress.elementType === _Component3 ? _unresolvedProps4 : resolveDefaultProps(_Component3, _unresolvedProps4); + return mountIncompleteClassComponent(current$$1, workInProgress, _Component3, _resolvedProps4, renderExpirationTime); + } + case DehydratedSuspenseComponent: + { + if (enableSuspenseServerRenderer) { + return updateDehydratedSuspenseComponent(current$$1, workInProgress, renderExpirationTime); + } + break; + } + } + invariant(false, 'Unknown unit of work tag. This error is likely caused by a bug in React. Please file an issue.'); + } + + var valueCursor = createCursor(null); + + var rendererSigil = void 0; + { + // Use this to detect multiple renderers using the same context + rendererSigil = {}; + } + + var currentlyRenderingFiber = null; + var lastContextDependency = null; + var lastContextWithAllBitsObserved = null; + + var isDisallowedContextReadInDEV = false; + + function resetContextDependences() { + // This is called right before React yields execution, to ensure `readContext` + // cannot be called outside the render phase. + currentlyRenderingFiber = null; + lastContextDependency = null; + lastContextWithAllBitsObserved = null; + { + isDisallowedContextReadInDEV = false; + } + } + + function enterDisallowedContextReadInDEV() { + { + isDisallowedContextReadInDEV = true; + } + } + + function exitDisallowedContextReadInDEV() { + { + isDisallowedContextReadInDEV = false; + } + } + + function pushProvider(providerFiber, nextValue) { + var context = providerFiber.type._context; + + if (isPrimaryRenderer) { + push(valueCursor, context._currentValue, providerFiber); + + context._currentValue = nextValue; + { + !(context._currentRenderer === undefined || context._currentRenderer === null || context._currentRenderer === rendererSigil) ? warningWithoutStack$1(false, 'Detected multiple renderers concurrently rendering the ' + 'same context provider. This is currently unsupported.') : void 0; + context._currentRenderer = rendererSigil; + } + } else { + push(valueCursor, context._currentValue2, providerFiber); + + context._currentValue2 = nextValue; + { + !(context._currentRenderer2 === undefined || context._currentRenderer2 === null || context._currentRenderer2 === rendererSigil) ? warningWithoutStack$1(false, 'Detected multiple renderers concurrently rendering the ' + 'same context provider. This is currently unsupported.') : void 0; + context._currentRenderer2 = rendererSigil; + } + } + } + + function popProvider(providerFiber) { + var currentValue = valueCursor.current; + + pop(valueCursor, providerFiber); + + var context = providerFiber.type._context; + if (isPrimaryRenderer) { + context._currentValue = currentValue; + } else { + context._currentValue2 = currentValue; + } + } + + function calculateChangedBits(context, newValue, oldValue) { + if (is(oldValue, newValue)) { + // No change + return 0; + } else { + var changedBits = typeof context._calculateChangedBits === 'function' ? context._calculateChangedBits(oldValue, newValue) : maxSigned31BitInt; + + { + !((changedBits & maxSigned31BitInt) === changedBits) ? warning$1(false, 'calculateChangedBits: Expected the return value to be a ' + '31-bit integer. Instead received: %s', changedBits) : void 0; + } + return changedBits | 0; + } + } + + function scheduleWorkOnParentPath(parent, renderExpirationTime) { + // Update the child expiration time of all the ancestors, including + // the alternates. + var node = parent; + while (node !== null) { + var alternate = node.alternate; + if (node.childExpirationTime < renderExpirationTime) { + node.childExpirationTime = renderExpirationTime; + if (alternate !== null && alternate.childExpirationTime < renderExpirationTime) { + alternate.childExpirationTime = renderExpirationTime; + } + } else if (alternate !== null && alternate.childExpirationTime < renderExpirationTime) { + alternate.childExpirationTime = renderExpirationTime; + } else { + // Neither alternate was updated, which means the rest of the + // ancestor path already has sufficient priority. + break; + } + node = node.return; + } + } + + function propagateContextChange(workInProgress, context, changedBits, renderExpirationTime) { + var fiber = workInProgress.child; + if (fiber !== null) { + // Set the return pointer of the child to the work-in-progress fiber. + fiber.return = workInProgress; + } + while (fiber !== null) { + var nextFiber = void 0; + + // Visit this fiber. + var list = fiber.contextDependencies; + if (list !== null) { + nextFiber = fiber.child; + + var dependency = list.first; + while (dependency !== null) { + // Check if the context matches. + if (dependency.context === context && (dependency.observedBits & changedBits) !== 0) { + // Match! Schedule an update on this fiber. + + if (fiber.tag === ClassComponent) { + // Schedule a force update on the work-in-progress. + var update = createUpdate(renderExpirationTime); + update.tag = ForceUpdate; + // TODO: Because we don't have a work-in-progress, this will add the + // update to the current fiber, too, which means it will persist even if + // this render is thrown away. Since it's a race condition, not sure it's + // worth fixing. + enqueueUpdate(fiber, update); + } + + if (fiber.expirationTime < renderExpirationTime) { + fiber.expirationTime = renderExpirationTime; + } + var alternate = fiber.alternate; + if (alternate !== null && alternate.expirationTime < renderExpirationTime) { + alternate.expirationTime = renderExpirationTime; + } + + scheduleWorkOnParentPath(fiber.return, renderExpirationTime); + + // Mark the expiration time on the list, too. + if (list.expirationTime < renderExpirationTime) { + list.expirationTime = renderExpirationTime; + } + + // Since we already found a match, we can stop traversing the + // dependency list. + break; + } + dependency = dependency.next; + } + } else if (fiber.tag === ContextProvider) { + // Don't scan deeper if this is a matching provider + nextFiber = fiber.type === workInProgress.type ? null : fiber.child; + } else if (enableSuspenseServerRenderer && fiber.tag === DehydratedSuspenseComponent) { + // If a dehydrated suspense component is in this subtree, we don't know + // if it will have any context consumers in it. The best we can do is + // mark it as having updates on its children. + if (fiber.expirationTime < renderExpirationTime) { + fiber.expirationTime = renderExpirationTime; + } + var _alternate = fiber.alternate; + if (_alternate !== null && _alternate.expirationTime < renderExpirationTime) { + _alternate.expirationTime = renderExpirationTime; + } + // This is intentionally passing this fiber as the parent + // because we want to schedule this fiber as having work + // on its children. We'll use the childExpirationTime on + // this fiber to indicate that a context has changed. + scheduleWorkOnParentPath(fiber, renderExpirationTime); + nextFiber = fiber.sibling; + } else { + // Traverse down. + nextFiber = fiber.child; + } + + if (nextFiber !== null) { + // Set the return pointer of the child to the work-in-progress fiber. + nextFiber.return = fiber; + } else { + // No child. Traverse to next sibling. + nextFiber = fiber; + while (nextFiber !== null) { + if (nextFiber === workInProgress) { + // We're back to the root of this subtree. Exit. + nextFiber = null; + break; + } + var sibling = nextFiber.sibling; + if (sibling !== null) { + // Set the return pointer of the sibling to the work-in-progress fiber. + sibling.return = nextFiber.return; + nextFiber = sibling; + break; + } + // No more siblings. Traverse up. + nextFiber = nextFiber.return; + } + } + fiber = nextFiber; + } + } + + function prepareToReadContext(workInProgress, renderExpirationTime) { + currentlyRenderingFiber = workInProgress; + lastContextDependency = null; + lastContextWithAllBitsObserved = null; + + var currentDependencies = workInProgress.contextDependencies; + if (currentDependencies !== null && currentDependencies.expirationTime >= renderExpirationTime) { + // Context list has a pending update. Mark that this fiber performed work. + markWorkInProgressReceivedUpdate(); + } + + // Reset the work-in-progress list + workInProgress.contextDependencies = null; + } + + function readContext(context, observedBits) { + { + // This warning would fire if you read context inside a Hook like useMemo. + // Unlike the class check below, it's not enforced in production for perf. + !!isDisallowedContextReadInDEV ? warning$1(false, 'Context can only be read while React is rendering. ' + 'In classes, you can read it in the render method or getDerivedStateFromProps. ' + 'In function components, you can read it directly in the function body, but not ' + 'inside Hooks like useReducer() or useMemo().') : void 0; + } + + if (lastContextWithAllBitsObserved === context) { + // Nothing to do. We already observe everything in this context. + } else if (observedBits === false || observedBits === 0) { + // Do not observe any updates. + } else { + var resolvedObservedBits = void 0; // Avoid deopting on observable arguments or heterogeneous types. + if (typeof observedBits !== 'number' || observedBits === maxSigned31BitInt) { + // Observe all updates. + lastContextWithAllBitsObserved = context; + resolvedObservedBits = maxSigned31BitInt; + } else { + resolvedObservedBits = observedBits; + } + + var contextItem = { + context: context, + observedBits: resolvedObservedBits, + next: null + }; + + if (lastContextDependency === null) { + !(currentlyRenderingFiber !== null) ? invariant(false, 'Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().') : void 0; + + // This is the first dependency for this component. Create a new list. + lastContextDependency = contextItem; + currentlyRenderingFiber.contextDependencies = { + first: contextItem, + expirationTime: NoWork + }; + } else { + // Append a new context item. + lastContextDependency = lastContextDependency.next = contextItem; + } + } + return isPrimaryRenderer ? context._currentValue : context._currentValue2; + } + + // UpdateQueue is a linked list of prioritized updates. + // + // Like fibers, update queues come in pairs: a current queue, which represents + // the visible state of the screen, and a work-in-progress queue, which can be + // mutated and processed asynchronously before it is committed — a form of + // double buffering. If a work-in-progress render is discarded before finishing, + // we create a new work-in-progress by cloning the current queue. + // + // Both queues share a persistent, singly-linked list structure. To schedule an + // update, we append it to the end of both queues. Each queue maintains a + // pointer to first update in the persistent list that hasn't been processed. + // The work-in-progress pointer always has a position equal to or greater than + // the current queue, since we always work on that one. The current queue's + // pointer is only updated during the commit phase, when we swap in the + // work-in-progress. + // + // For example: + // + // Current pointer: A - B - C - D - E - F + // Work-in-progress pointer: D - E - F + // ^ + // The work-in-progress queue has + // processed more updates than current. + // + // The reason we append to both queues is because otherwise we might drop + // updates without ever processing them. For example, if we only add updates to + // the work-in-progress queue, some updates could be lost whenever a work-in + // -progress render restarts by cloning from current. Similarly, if we only add + // updates to the current queue, the updates will be lost whenever an already + // in-progress queue commits and swaps with the current queue. However, by + // adding to both queues, we guarantee that the update will be part of the next + // work-in-progress. (And because the work-in-progress queue becomes the + // current queue once it commits, there's no danger of applying the same + // update twice.) + // + // Prioritization + // -------------- + // + // Updates are not sorted by priority, but by insertion; new updates are always + // appended to the end of the list. + // + // The priority is still important, though. When processing the update queue + // during the render phase, only the updates with sufficient priority are + // included in the result. If we skip an update because it has insufficient + // priority, it remains in the queue to be processed later, during a lower + // priority render. Crucially, all updates subsequent to a skipped update also + // remain in the queue *regardless of their priority*. That means high priority + // updates are sometimes processed twice, at two separate priorities. We also + // keep track of a base state, that represents the state before the first + // update in the queue is applied. + // + // For example: + // + // Given a base state of '', and the following queue of updates + // + // A1 - B2 - C1 - D2 + // + // where the number indicates the priority, and the update is applied to the + // previous state by appending a letter, React will process these updates as + // two separate renders, one per distinct priority level: + // + // First render, at priority 1: + // Base state: '' + // Updates: [A1, C1] + // Result state: 'AC' + // + // Second render, at priority 2: + // Base state: 'A' <- The base state does not include C1, + // because B2 was skipped. + // Updates: [B2, C1, D2] <- C1 was rebased on top of B2 + // Result state: 'ABCD' + // + // Because we process updates in insertion order, and rebase high priority + // updates when preceding updates are skipped, the final result is deterministic + // regardless of priority. Intermediate state may vary according to system + // resources, but the final state is always the same. + + var UpdateState = 0; + var ReplaceState = 1; + var ForceUpdate = 2; + var CaptureUpdate = 3; + + // Global state that is reset at the beginning of calling `processUpdateQueue`. + // It should only be read right after calling `processUpdateQueue`, via + // `checkHasForceUpdateAfterProcessing`. + var hasForceUpdate = false; + + var didWarnUpdateInsideUpdate = void 0; + var currentlyProcessingQueue = void 0; + var resetCurrentlyProcessingQueue = void 0; + { + didWarnUpdateInsideUpdate = false; + currentlyProcessingQueue = null; + resetCurrentlyProcessingQueue = function () { + currentlyProcessingQueue = null; + }; + } + + function createUpdateQueue(baseState) { + var queue = { + baseState: baseState, + firstUpdate: null, + lastUpdate: null, + firstCapturedUpdate: null, + lastCapturedUpdate: null, + firstEffect: null, + lastEffect: null, + firstCapturedEffect: null, + lastCapturedEffect: null + }; + return queue; + } + + function cloneUpdateQueue(currentQueue) { + var queue = { + baseState: currentQueue.baseState, + firstUpdate: currentQueue.firstUpdate, + lastUpdate: currentQueue.lastUpdate, + + // TODO: With resuming, if we bail out and resuse the child tree, we should + // keep these effects. + firstCapturedUpdate: null, + lastCapturedUpdate: null, + + firstEffect: null, + lastEffect: null, + + firstCapturedEffect: null, + lastCapturedEffect: null + }; + return queue; + } + + function createUpdate(expirationTime) { + return { + expirationTime: expirationTime, + + tag: UpdateState, + payload: null, + callback: null, + + next: null, + nextEffect: null + }; + } + + function appendUpdateToQueue(queue, update) { + // Append the update to the end of the list. + if (queue.lastUpdate === null) { + // Queue is empty + queue.firstUpdate = queue.lastUpdate = update; + } else { + queue.lastUpdate.next = update; + queue.lastUpdate = update; + } + } + + function enqueueUpdate(fiber, update) { + // Update queues are created lazily. + var alternate = fiber.alternate; + var queue1 = void 0; + var queue2 = void 0; + if (alternate === null) { + // There's only one fiber. + queue1 = fiber.updateQueue; + queue2 = null; + if (queue1 === null) { + queue1 = fiber.updateQueue = createUpdateQueue(fiber.memoizedState); + } + } else { + // There are two owners. + queue1 = fiber.updateQueue; + queue2 = alternate.updateQueue; + if (queue1 === null) { + if (queue2 === null) { + // Neither fiber has an update queue. Create new ones. + queue1 = fiber.updateQueue = createUpdateQueue(fiber.memoizedState); + queue2 = alternate.updateQueue = createUpdateQueue(alternate.memoizedState); + } else { + // Only one fiber has an update queue. Clone to create a new one. + queue1 = fiber.updateQueue = cloneUpdateQueue(queue2); + } + } else { + if (queue2 === null) { + // Only one fiber has an update queue. Clone to create a new one. + queue2 = alternate.updateQueue = cloneUpdateQueue(queue1); + } else { + // Both owners have an update queue. + } + } + } + if (queue2 === null || queue1 === queue2) { + // There's only a single queue. + appendUpdateToQueue(queue1, update); + } else { + // There are two queues. We need to append the update to both queues, + // while accounting for the persistent structure of the list — we don't + // want the same update to be added multiple times. + if (queue1.lastUpdate === null || queue2.lastUpdate === null) { + // One of the queues is not empty. We must add the update to both queues. + appendUpdateToQueue(queue1, update); + appendUpdateToQueue(queue2, update); + } else { + // Both queues are non-empty. The last update is the same in both lists, + // because of structural sharing. So, only append to one of the lists. + appendUpdateToQueue(queue1, update); + // But we still need to update the `lastUpdate` pointer of queue2. + queue2.lastUpdate = update; + } + } + + { + if (fiber.tag === ClassComponent && (currentlyProcessingQueue === queue1 || queue2 !== null && currentlyProcessingQueue === queue2) && !didWarnUpdateInsideUpdate) { + warningWithoutStack$1(false, 'An update (setState, replaceState, or forceUpdate) was scheduled ' + 'from inside an update function. Update functions should be pure, ' + 'with zero side-effects. Consider using componentDidUpdate or a ' + 'callback.'); + didWarnUpdateInsideUpdate = true; + } + } + } + + function enqueueCapturedUpdate(workInProgress, update) { + // Captured updates go into a separate list, and only on the work-in- + // progress queue. + var workInProgressQueue = workInProgress.updateQueue; + if (workInProgressQueue === null) { + workInProgressQueue = workInProgress.updateQueue = createUpdateQueue(workInProgress.memoizedState); + } else { + // TODO: I put this here rather than createWorkInProgress so that we don't + // clone the queue unnecessarily. There's probably a better way to + // structure this. + workInProgressQueue = ensureWorkInProgressQueueIsAClone(workInProgress, workInProgressQueue); + } + + // Append the update to the end of the list. + if (workInProgressQueue.lastCapturedUpdate === null) { + // This is the first render phase update + workInProgressQueue.firstCapturedUpdate = workInProgressQueue.lastCapturedUpdate = update; + } else { + workInProgressQueue.lastCapturedUpdate.next = update; + workInProgressQueue.lastCapturedUpdate = update; + } + } + + function ensureWorkInProgressQueueIsAClone(workInProgress, queue) { + var current = workInProgress.alternate; + if (current !== null) { + // If the work-in-progress queue is equal to the current queue, + // we need to clone it first. + if (queue === current.updateQueue) { + queue = workInProgress.updateQueue = cloneUpdateQueue(queue); + } + } + return queue; + } + + function getStateFromUpdate(workInProgress, queue, update, prevState, nextProps, instance) { + switch (update.tag) { + case ReplaceState: + { + var _payload = update.payload; + if (typeof _payload === 'function') { + // Updater function + { + enterDisallowedContextReadInDEV(); + if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) { + _payload.call(instance, prevState, nextProps); + } + } + var nextState = _payload.call(instance, prevState, nextProps); + { + exitDisallowedContextReadInDEV(); + } + return nextState; + } + // State object + return _payload; + } + case CaptureUpdate: + { + workInProgress.effectTag = workInProgress.effectTag & ~ShouldCapture | DidCapture; + } + // Intentional fallthrough + case UpdateState: + { + var _payload2 = update.payload; + var partialState = void 0; + if (typeof _payload2 === 'function') { + // Updater function + { + enterDisallowedContextReadInDEV(); + if (debugRenderPhaseSideEffects || debugRenderPhaseSideEffectsForStrictMode && workInProgress.mode & StrictMode) { + _payload2.call(instance, prevState, nextProps); + } + } + partialState = _payload2.call(instance, prevState, nextProps); + { + exitDisallowedContextReadInDEV(); + } + } else { + // Partial state object + partialState = _payload2; + } + if (partialState === null || partialState === undefined) { + // Null and undefined are treated as no-ops. + return prevState; + } + // Merge the partial state and the previous state. + return _assign({}, prevState, partialState); + } + case ForceUpdate: + { + hasForceUpdate = true; + return prevState; + } + } + return prevState; + } + + function processUpdateQueue(workInProgress, queue, props, instance, renderExpirationTime) { + hasForceUpdate = false; + + queue = ensureWorkInProgressQueueIsAClone(workInProgress, queue); + + { + currentlyProcessingQueue = queue; + } + + // These values may change as we process the queue. + var newBaseState = queue.baseState; + var newFirstUpdate = null; + var newExpirationTime = NoWork; + + // Iterate through the list of updates to compute the result. + var update = queue.firstUpdate; + var resultState = newBaseState; + while (update !== null) { + var updateExpirationTime = update.expirationTime; + if (updateExpirationTime < renderExpirationTime) { + // This update does not have sufficient priority. Skip it. + if (newFirstUpdate === null) { + // This is the first skipped update. It will be the first update in + // the new list. + newFirstUpdate = update; + // Since this is the first update that was skipped, the current result + // is the new base state. + newBaseState = resultState; + } + // Since this update will remain in the list, update the remaining + // expiration time. + if (newExpirationTime < updateExpirationTime) { + newExpirationTime = updateExpirationTime; + } + } else { + // This update does have sufficient priority. Process it and compute + // a new result. + resultState = getStateFromUpdate(workInProgress, queue, update, resultState, props, instance); + var _callback = update.callback; + if (_callback !== null) { + workInProgress.effectTag |= Callback; + // Set this to null, in case it was mutated during an aborted render. + update.nextEffect = null; + if (queue.lastEffect === null) { + queue.firstEffect = queue.lastEffect = update; + } else { + queue.lastEffect.nextEffect = update; + queue.lastEffect = update; + } + } + } + // Continue to the next update. + update = update.next; + } + + // Separately, iterate though the list of captured updates. + var newFirstCapturedUpdate = null; + update = queue.firstCapturedUpdate; + while (update !== null) { + var _updateExpirationTime = update.expirationTime; + if (_updateExpirationTime < renderExpirationTime) { + // This update does not have sufficient priority. Skip it. + if (newFirstCapturedUpdate === null) { + // This is the first skipped captured update. It will be the first + // update in the new list. + newFirstCapturedUpdate = update; + // If this is the first update that was skipped, the current result is + // the new base state. + if (newFirstUpdate === null) { + newBaseState = resultState; + } + } + // Since this update will remain in the list, update the remaining + // expiration time. + if (newExpirationTime < _updateExpirationTime) { + newExpirationTime = _updateExpirationTime; + } + } else { + // This update does have sufficient priority. Process it and compute + // a new result. + resultState = getStateFromUpdate(workInProgress, queue, update, resultState, props, instance); + var _callback2 = update.callback; + if (_callback2 !== null) { + workInProgress.effectTag |= Callback; + // Set this to null, in case it was mutated during an aborted render. + update.nextEffect = null; + if (queue.lastCapturedEffect === null) { + queue.firstCapturedEffect = queue.lastCapturedEffect = update; + } else { + queue.lastCapturedEffect.nextEffect = update; + queue.lastCapturedEffect = update; + } + } + } + update = update.next; + } + + if (newFirstUpdate === null) { + queue.lastUpdate = null; + } + if (newFirstCapturedUpdate === null) { + queue.lastCapturedUpdate = null; + } else { + workInProgress.effectTag |= Callback; + } + if (newFirstUpdate === null && newFirstCapturedUpdate === null) { + // We processed every update, without skipping. That means the new base + // state is the same as the result state. + newBaseState = resultState; + } + + queue.baseState = newBaseState; + queue.firstUpdate = newFirstUpdate; + queue.firstCapturedUpdate = newFirstCapturedUpdate; + + // Set the remaining expiration time to be whatever is remaining in the queue. + // This should be fine because the only two other things that contribute to + // expiration time are props and context. We're already in the middle of the + // begin phase by the time we start processing the queue, so we've already + // dealt with the props. Context in components that specify + // shouldComponentUpdate is tricky; but we'll have to account for + // that regardless. + workInProgress.expirationTime = newExpirationTime; + workInProgress.memoizedState = resultState; + + { + currentlyProcessingQueue = null; + } + } + + function callCallback(callback, context) { + !(typeof callback === 'function') ? invariant(false, 'Invalid argument passed as callback. Expected a function. Instead received: %s', callback) : void 0; + callback.call(context); + } + + function resetHasForceUpdateBeforeProcessing() { + hasForceUpdate = false; + } + + function checkHasForceUpdateAfterProcessing() { + return hasForceUpdate; + } + + function commitUpdateQueue(finishedWork, finishedQueue, instance, renderExpirationTime) { + // If the finished render included captured updates, and there are still + // lower priority updates left over, we need to keep the captured updates + // in the queue so that they are rebased and not dropped once we process the + // queue again at the lower priority. + if (finishedQueue.firstCapturedUpdate !== null) { + // Join the captured update list to the end of the normal list. + if (finishedQueue.lastUpdate !== null) { + finishedQueue.lastUpdate.next = finishedQueue.firstCapturedUpdate; + finishedQueue.lastUpdate = finishedQueue.lastCapturedUpdate; + } + // Clear the list of captured updates. + finishedQueue.firstCapturedUpdate = finishedQueue.lastCapturedUpdate = null; + } + + // Commit the effects + commitUpdateEffects(finishedQueue.firstEffect, instance); + finishedQueue.firstEffect = finishedQueue.lastEffect = null; + + commitUpdateEffects(finishedQueue.firstCapturedEffect, instance); + finishedQueue.firstCapturedEffect = finishedQueue.lastCapturedEffect = null; + } + + function commitUpdateEffects(effect, instance) { + while (effect !== null) { + var _callback3 = effect.callback; + if (_callback3 !== null) { + effect.callback = null; + callCallback(_callback3, instance); + } + effect = effect.nextEffect; + } + } + + function createCapturedValue(value, source) { + // If the value is an error, call this function immediately after it is thrown + // so the stack is accurate. + return { + value: value, + source: source, + stack: getStackByFiberInDevAndProd(source) + }; + } + + function markUpdate(workInProgress) { + // Tag the fiber with an update effect. This turns a Placement into + // a PlacementAndUpdate. + workInProgress.effectTag |= Update; + } + + function markRef$1(workInProgress) { + workInProgress.effectTag |= Ref; + } + + var appendAllChildren = void 0; + var updateHostContainer = void 0; + var updateHostComponent$1 = void 0; + var updateHostText$1 = void 0; + if (supportsMutation) { + // Mutation mode + + appendAllChildren = function (parent, workInProgress, needsVisibilityToggle, isHidden) { + // We only have the top Fiber that was created but we need recurse down its + // children to find all the terminal nodes. + var node = workInProgress.child; + while (node !== null) { + if (node.tag === HostComponent || node.tag === HostText) { + appendInitialChild(parent, node.stateNode); + } else if (node.tag === HostPortal) { + // If we have a portal child, then we don't want to traverse + // down its children. Instead, we'll get insertions from each child in + // the portal directly. + } else if (node.child !== null) { + node.child.return = node; + node = node.child; + continue; + } + if (node === workInProgress) { + return; + } + while (node.sibling === null) { + if (node.return === null || node.return === workInProgress) { + return; + } + node = node.return; + } + node.sibling.return = node.return; + node = node.sibling; + } + }; + + updateHostContainer = function (workInProgress) { + // Noop + }; + updateHostComponent$1 = function (current, workInProgress, type, newProps, rootContainerInstance) { + // If we have an alternate, that means this is an update and we need to + // schedule a side-effect to do the updates. + var oldProps = current.memoizedProps; + if (oldProps === newProps) { + // In mutation mode, this is sufficient for a bailout because + // we won't touch this node even if children changed. + return; + } + + // If we get updated because one of our children updated, we don't + // have newProps so we'll have to reuse them. + // TODO: Split the update API as separate for the props vs. children. + // Even better would be if children weren't special cased at all tho. + var instance = workInProgress.stateNode; + var currentHostContext = getHostContext(); + // TODO: Experiencing an error where oldProps is null. Suggests a host + // component is hitting the resume path. Figure out why. Possibly + // related to `hidden`. + var updatePayload = prepareUpdate(instance, type, oldProps, newProps, rootContainerInstance, currentHostContext); + // TODO: Type this specific to this type of component. + workInProgress.updateQueue = updatePayload; + // If the update payload indicates that there is a change or if there + // is a new ref we mark this as an update. All the work is done in commitWork. + if (updatePayload) { + markUpdate(workInProgress); + } + }; + updateHostText$1 = function (current, workInProgress, oldText, newText) { + // If the text differs, mark it as an update. All the work in done in commitWork. + if (oldText !== newText) { + markUpdate(workInProgress); + } + }; + } else if (supportsPersistence) { + // Persistent host tree mode + + appendAllChildren = function (parent, workInProgress, needsVisibilityToggle, isHidden) { + // We only have the top Fiber that was created but we need recurse down its + // children to find all the terminal nodes. + var node = workInProgress.child; + while (node !== null) { + // eslint-disable-next-line no-labels + branches: if (node.tag === HostComponent) { + var instance = node.stateNode; + if (needsVisibilityToggle) { + var props = node.memoizedProps; + var type = node.type; + if (isHidden) { + // This child is inside a timed out tree. Hide it. + instance = cloneHiddenInstance(instance, type, props, node); + } else { + // This child was previously inside a timed out tree. If it was not + // updated during this render, it may need to be unhidden. Clone + // again to be sure. + instance = cloneUnhiddenInstance(instance, type, props, node); + } + node.stateNode = instance; + } + appendInitialChild(parent, instance); + } else if (node.tag === HostText) { + var _instance = node.stateNode; + if (needsVisibilityToggle) { + var text = node.memoizedProps; + var rootContainerInstance = getRootHostContainer(); + var currentHostContext = getHostContext(); + if (isHidden) { + _instance = createHiddenTextInstance(text, rootContainerInstance, currentHostContext, workInProgress); + } else { + _instance = createTextInstance(text, rootContainerInstance, currentHostContext, workInProgress); + } + node.stateNode = _instance; + } + appendInitialChild(parent, _instance); + } else if (node.tag === HostPortal) { + // If we have a portal child, then we don't want to traverse + // down its children. Instead, we'll get insertions from each child in + // the portal directly. + } else if (node.tag === SuspenseComponent) { + var current = node.alternate; + if (current !== null) { + var oldState = current.memoizedState; + var newState = node.memoizedState; + var oldIsHidden = oldState !== null; + var newIsHidden = newState !== null; + if (oldIsHidden !== newIsHidden) { + // The placeholder either just timed out or switched back to the normal + // children after having previously timed out. Toggle the visibility of + // the direct host children. + var primaryChildParent = newIsHidden ? node.child : node; + if (primaryChildParent !== null) { + appendAllChildren(parent, primaryChildParent, true, newIsHidden); + } + // eslint-disable-next-line no-labels + break branches; + } + } + if (node.child !== null) { + // Continue traversing like normal + node.child.return = node; + node = node.child; + continue; + } + } else if (node.child !== null) { + node.child.return = node; + node = node.child; + continue; + } + // $FlowFixMe This is correct but Flow is confused by the labeled break. + node = node; + if (node === workInProgress) { + return; + } + while (node.sibling === null) { + if (node.return === null || node.return === workInProgress) { + return; + } + node = node.return; + } + node.sibling.return = node.return; + node = node.sibling; + } + }; + + // An unfortunate fork of appendAllChildren because we have two different parent types. + var appendAllChildrenToContainer = function (containerChildSet, workInProgress, needsVisibilityToggle, isHidden) { + // We only have the top Fiber that was created but we need recurse down its + // children to find all the terminal nodes. + var node = workInProgress.child; + while (node !== null) { + // eslint-disable-next-line no-labels + branches: if (node.tag === HostComponent) { + var instance = node.stateNode; + if (needsVisibilityToggle) { + var props = node.memoizedProps; + var type = node.type; + if (isHidden) { + // This child is inside a timed out tree. Hide it. + instance = cloneHiddenInstance(instance, type, props, node); + } else { + // This child was previously inside a timed out tree. If it was not + // updated during this render, it may need to be unhidden. Clone + // again to be sure. + instance = cloneUnhiddenInstance(instance, type, props, node); + } + node.stateNode = instance; + } + appendChildToContainerChildSet(containerChildSet, instance); + } else if (node.tag === HostText) { + var _instance2 = node.stateNode; + if (needsVisibilityToggle) { + var text = node.memoizedProps; + var rootContainerInstance = getRootHostContainer(); + var currentHostContext = getHostContext(); + if (isHidden) { + _instance2 = createHiddenTextInstance(text, rootContainerInstance, currentHostContext, workInProgress); + } else { + _instance2 = createTextInstance(text, rootContainerInstance, currentHostContext, workInProgress); + } + node.stateNode = _instance2; + } + appendChildToContainerChildSet(containerChildSet, _instance2); + } else if (node.tag === HostPortal) { + // If we have a portal child, then we don't want to traverse + // down its children. Instead, we'll get insertions from each child in + // the portal directly. + } else if (node.tag === SuspenseComponent) { + var current = node.alternate; + if (current !== null) { + var oldState = current.memoizedState; + var newState = node.memoizedState; + var oldIsHidden = oldState !== null; + var newIsHidden = newState !== null; + if (oldIsHidden !== newIsHidden) { + // The placeholder either just timed out or switched back to the normal + // children after having previously timed out. Toggle the visibility of + // the direct host children. + var primaryChildParent = newIsHidden ? node.child : node; + if (primaryChildParent !== null) { + appendAllChildrenToContainer(containerChildSet, primaryChildParent, true, newIsHidden); + } + // eslint-disable-next-line no-labels + break branches; + } + } + if (node.child !== null) { + // Continue traversing like normal + node.child.return = node; + node = node.child; + continue; + } + } else if (node.child !== null) { + node.child.return = node; + node = node.child; + continue; + } + // $FlowFixMe This is correct but Flow is confused by the labeled break. + node = node; + if (node === workInProgress) { + return; + } + while (node.sibling === null) { + if (node.return === null || node.return === workInProgress) { + return; + } + node = node.return; + } + node.sibling.return = node.return; + node = node.sibling; + } + }; + updateHostContainer = function (workInProgress) { + var portalOrRoot = workInProgress.stateNode; + var childrenUnchanged = workInProgress.firstEffect === null; + if (childrenUnchanged) { + // No changes, just reuse the existing instance. + } else { + var container = portalOrRoot.containerInfo; + var newChildSet = createContainerChildSet(container); + // If children might have changed, we have to add them all to the set. + appendAllChildrenToContainer(newChildSet, workInProgress, false, false); + portalOrRoot.pendingChildren = newChildSet; + // Schedule an update on the container to swap out the container. + markUpdate(workInProgress); + finalizeContainerChildren(container, newChildSet); + } + }; + updateHostComponent$1 = function (current, workInProgress, type, newProps, rootContainerInstance) { + var currentInstance = current.stateNode; + var oldProps = current.memoizedProps; + // If there are no effects associated with this node, then none of our children had any updates. + // This guarantees that we can reuse all of them. + var childrenUnchanged = workInProgress.firstEffect === null; + if (childrenUnchanged && oldProps === newProps) { + // No changes, just reuse the existing instance. + // Note that this might release a previous clone. + workInProgress.stateNode = currentInstance; + return; + } + var recyclableInstance = workInProgress.stateNode; + var currentHostContext = getHostContext(); + var updatePayload = null; + if (oldProps !== newProps) { + updatePayload = prepareUpdate(recyclableInstance, type, oldProps, newProps, rootContainerInstance, currentHostContext); + } + if (childrenUnchanged && updatePayload === null) { + // No changes, just reuse the existing instance. + // Note that this might release a previous clone. + workInProgress.stateNode = currentInstance; + return; + } + var newInstance = cloneInstance(currentInstance, updatePayload, type, oldProps, newProps, workInProgress, childrenUnchanged, recyclableInstance); + if (finalizeInitialChildren(newInstance, type, newProps, rootContainerInstance, currentHostContext)) { + markUpdate(workInProgress); + } + workInProgress.stateNode = newInstance; + if (childrenUnchanged) { + // If there are no other effects in this tree, we need to flag this node as having one. + // Even though we're not going to use it for anything. + // Otherwise parents won't know that there are new children to propagate upwards. + markUpdate(workInProgress); + } else { + // If children might have changed, we have to add them all to the set. + appendAllChildren(newInstance, workInProgress, false, false); + } + }; + updateHostText$1 = function (current, workInProgress, oldText, newText) { + if (oldText !== newText) { + // If the text content differs, we'll create a new text instance for it. + var rootContainerInstance = getRootHostContainer(); + var currentHostContext = getHostContext(); + workInProgress.stateNode = createTextInstance(newText, rootContainerInstance, currentHostContext, workInProgress); + // We'll have to mark it as having an effect, even though we won't use the effect for anything. + // This lets the parents know that at least one of their children has changed. + markUpdate(workInProgress); + } + }; + } else { + // No host operations + updateHostContainer = function (workInProgress) { + // Noop + }; + updateHostComponent$1 = function (current, workInProgress, type, newProps, rootContainerInstance) { + // Noop + }; + updateHostText$1 = function (current, workInProgress, oldText, newText) { + // Noop + }; + } + + function completeWork(current, workInProgress, renderExpirationTime) { + var newProps = workInProgress.pendingProps; + + switch (workInProgress.tag) { + case IndeterminateComponent: + break; + case LazyComponent: + break; + case SimpleMemoComponent: + case FunctionComponent: + break; + case ClassComponent: + { + var Component = workInProgress.type; + if (isContextProvider(Component)) { + popContext(workInProgress); + } + break; + } + case HostRoot: + { + popHostContainer(workInProgress); + popTopLevelContextObject(workInProgress); + var fiberRoot = workInProgress.stateNode; + if (fiberRoot.pendingContext) { + fiberRoot.context = fiberRoot.pendingContext; + fiberRoot.pendingContext = null; + } + if (current === null || current.child === null) { + // If we hydrated, pop so that we can delete any remaining children + // that weren't hydrated. + popHydrationState(workInProgress); + // This resets the hacky state to fix isMounted before committing. + // TODO: Delete this when we delete isMounted and findDOMNode. + workInProgress.effectTag &= ~Placement; + } + updateHostContainer(workInProgress); + break; + } + case HostComponent: + { + popHostContext(workInProgress); + var rootContainerInstance = getRootHostContainer(); + var type = workInProgress.type; + if (current !== null && workInProgress.stateNode != null) { + updateHostComponent$1(current, workInProgress, type, newProps, rootContainerInstance); + + if (current.ref !== workInProgress.ref) { + markRef$1(workInProgress); + } + } else { + if (!newProps) { + !(workInProgress.stateNode !== null) ? invariant(false, 'We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.') : void 0; + // This can happen when we abort work. + break; + } + + var currentHostContext = getHostContext(); + // TODO: Move createInstance to beginWork and keep it on a context + // "stack" as the parent. Then append children as we go in beginWork + // or completeWork depending on we want to add then top->down or + // bottom->up. Top->down is faster in IE11. + var wasHydrated = popHydrationState(workInProgress); + if (wasHydrated) { + // TODO: Move this and createInstance step into the beginPhase + // to consolidate. + if (prepareToHydrateHostInstance(workInProgress, rootContainerInstance, currentHostContext)) { + // If changes to the hydrated node needs to be applied at the + // commit-phase we mark this as such. + markUpdate(workInProgress); + } + } else { + var instance = createInstance(type, newProps, rootContainerInstance, currentHostContext, workInProgress); + + appendAllChildren(instance, workInProgress, false, false); + + // Certain renderers require commit-time effects for initial mount. + // (eg DOM renderer supports auto-focus for certain elements). + // Make sure such renderers get scheduled for later work. + if (finalizeInitialChildren(instance, type, newProps, rootContainerInstance, currentHostContext)) { + markUpdate(workInProgress); + } + workInProgress.stateNode = instance; + } + + if (workInProgress.ref !== null) { + // If there is a ref on a host node we need to schedule a callback + markRef$1(workInProgress); + } + } + break; + } + case HostText: + { + var newText = newProps; + if (current && workInProgress.stateNode != null) { + var oldText = current.memoizedProps; + // If we have an alternate, that means this is an update and we need + // to schedule a side-effect to do the updates. + updateHostText$1(current, workInProgress, oldText, newText); + } else { + if (typeof newText !== 'string') { + !(workInProgress.stateNode !== null) ? invariant(false, 'We must have new props for new mounts. This error is likely caused by a bug in React. Please file an issue.') : void 0; + // This can happen when we abort work. + } + var _rootContainerInstance = getRootHostContainer(); + var _currentHostContext = getHostContext(); + var _wasHydrated = popHydrationState(workInProgress); + if (_wasHydrated) { + if (prepareToHydrateHostTextInstance(workInProgress)) { + markUpdate(workInProgress); + } + } else { + workInProgress.stateNode = createTextInstance(newText, _rootContainerInstance, _currentHostContext, workInProgress); + } + } + break; + } + case ForwardRef: + break; + case SuspenseComponent: + { + var nextState = workInProgress.memoizedState; + if ((workInProgress.effectTag & DidCapture) !== NoEffect) { + // Something suspended. Re-render with the fallback children. + workInProgress.expirationTime = renderExpirationTime; + // Do not reset the effect list. + return workInProgress; + } + + var nextDidTimeout = nextState !== null; + var prevDidTimeout = current !== null && current.memoizedState !== null; + + if (current !== null && !nextDidTimeout && prevDidTimeout) { + // We just switched from the fallback to the normal children. Delete + // the fallback. + // TODO: Would it be better to store the fallback fragment on + var currentFallbackChild = current.child.sibling; + if (currentFallbackChild !== null) { + // Deletions go at the beginning of the return fiber's effect list + var first = workInProgress.firstEffect; + if (first !== null) { + workInProgress.firstEffect = currentFallbackChild; + currentFallbackChild.nextEffect = first; + } else { + workInProgress.firstEffect = workInProgress.lastEffect = currentFallbackChild; + currentFallbackChild.nextEffect = null; + } + currentFallbackChild.effectTag = Deletion; + } + } + + if (nextDidTimeout || prevDidTimeout) { + // If the children are hidden, or if they were previous hidden, schedule + // an effect to toggle their visibility. This is also used to attach a + // retry listener to the promise. + workInProgress.effectTag |= Update; + } + break; + } + case Fragment: + break; + case Mode: + break; + case Profiler: + break; + case HostPortal: + popHostContainer(workInProgress); + updateHostContainer(workInProgress); + break; + case ContextProvider: + // Pop provider fiber + popProvider(workInProgress); + break; + case ContextConsumer: + break; + case MemoComponent: + break; + case IncompleteClassComponent: + { + // Same as class component case. I put it down here so that the tags are + // sequential to ensure this switch is compiled to a jump table. + var _Component = workInProgress.type; + if (isContextProvider(_Component)) { + popContext(workInProgress); + } + break; + } + case DehydratedSuspenseComponent: + { + if (enableSuspenseServerRenderer) { + if (current === null) { + var _wasHydrated2 = popHydrationState(workInProgress); + !_wasHydrated2 ? invariant(false, 'A dehydrated suspense component was completed without a hydrated node. This is probably a bug in React.') : void 0; + skipPastDehydratedSuspenseInstance(workInProgress); + } else if ((workInProgress.effectTag & DidCapture) === NoEffect) { + // This boundary did not suspend so it's now hydrated. + // To handle any future suspense cases, we're going to now upgrade it + // to a Suspense component. We detach it from the existing current fiber. + current.alternate = null; + workInProgress.alternate = null; + workInProgress.tag = SuspenseComponent; + workInProgress.memoizedState = null; + workInProgress.stateNode = null; + } + } + break; + } + default: + invariant(false, 'Unknown unit of work tag. This error is likely caused by a bug in React. Please file an issue.'); + } + + return null; + } + + function shouldCaptureSuspense(workInProgress) { + // In order to capture, the Suspense component must have a fallback prop. + if (workInProgress.memoizedProps.fallback === undefined) { + return false; + } + // If it was the primary children that just suspended, capture and render the + // fallback. Otherwise, don't capture and bubble to the next boundary. + var nextState = workInProgress.memoizedState; + return nextState === null; + } + + // This module is forked in different environments. + // By default, return `true` to log errors to the console. + // Forks can return `false` if this isn't desirable. + function showErrorDialog(capturedError) { + return true; + } + + function logCapturedError(capturedError) { + var logError = showErrorDialog(capturedError); + + // Allow injected showErrorDialog() to prevent default console.error logging. + // This enables renderers like ReactNative to better manage redbox behavior. + if (logError === false) { + return; + } + + var error = capturedError.error; + { + var componentName = capturedError.componentName, + componentStack = capturedError.componentStack, + errorBoundaryName = capturedError.errorBoundaryName, + errorBoundaryFound = capturedError.errorBoundaryFound, + willRetry = capturedError.willRetry; + + // Browsers support silencing uncaught errors by calling + // `preventDefault()` in window `error` handler. + // We record this information as an expando on the error. + + if (error != null && error._suppressLogging) { + if (errorBoundaryFound && willRetry) { + // The error is recoverable and was silenced. + // Ignore it and don't print the stack addendum. + // This is handy for testing error boundaries without noise. + return; + } + // The error is fatal. Since the silencing might have + // been accidental, we'll surface it anyway. + // However, the browser would have silenced the original error + // so we'll print it first, and then print the stack addendum. + console.error(error); + // For a more detailed description of this block, see: + // https://github.com/facebook/react/pull/13384 + } + + var componentNameMessage = componentName ? 'The above error occurred in the <' + componentName + '> component:' : 'The above error occurred in one of your React components:'; + + var errorBoundaryMessage = void 0; + // errorBoundaryFound check is sufficient; errorBoundaryName check is to satisfy Flow. + if (errorBoundaryFound && errorBoundaryName) { + if (willRetry) { + errorBoundaryMessage = 'React will try to recreate this component tree from scratch ' + ('using the error boundary you provided, ' + errorBoundaryName + '.'); + } else { + errorBoundaryMessage = 'This error was initially handled by the error boundary ' + errorBoundaryName + '.\n' + 'Recreating the tree from scratch failed so React will unmount the tree.'; + } + } else { + errorBoundaryMessage = 'Consider adding an error boundary to your tree to customize error handling behavior.\n' + 'Visit https://fb.me/react-error-boundaries to learn more about error boundaries.'; + } + var combinedMessage = '' + componentNameMessage + componentStack + '\n\n' + ('' + errorBoundaryMessage); + + // In development, we provide our own message with just the component stack. + // We don't include the original error message and JS stack because the browser + // has already printed it. Even if the application swallows the error, it is still + // displayed by the browser thanks to the DEV-only fake event trick in ReactErrorUtils. + console.error(combinedMessage); + } + } + + var didWarnAboutUndefinedSnapshotBeforeUpdate = null; + { + didWarnAboutUndefinedSnapshotBeforeUpdate = new Set(); + } + + var PossiblyWeakSet$1 = typeof WeakSet === 'function' ? WeakSet : Set; + + function logError(boundary, errorInfo) { + var source = errorInfo.source; + var stack = errorInfo.stack; + if (stack === null && source !== null) { + stack = getStackByFiberInDevAndProd(source); + } + + var capturedError = { + componentName: source !== null ? getComponentName(source.type) : null, + componentStack: stack !== null ? stack : '', + error: errorInfo.value, + errorBoundary: null, + errorBoundaryName: null, + errorBoundaryFound: false, + willRetry: false + }; + + if (boundary !== null && boundary.tag === ClassComponent) { + capturedError.errorBoundary = boundary.stateNode; + capturedError.errorBoundaryName = getComponentName(boundary.type); + capturedError.errorBoundaryFound = true; + capturedError.willRetry = true; + } + + try { + logCapturedError(capturedError); + } catch (e) { + // This method must not throw, or React internal state will get messed up. + // If console.error is overridden, or logCapturedError() shows a dialog that throws, + // we want to report this error outside of the normal stack as a last resort. + // https://github.com/facebook/react/issues/13188 + setTimeout(function () { + throw e; + }); + } + } + + var callComponentWillUnmountWithTimer = function (current$$1, instance) { + startPhaseTimer(current$$1, 'componentWillUnmount'); + instance.props = current$$1.memoizedProps; + instance.state = current$$1.memoizedState; + instance.componentWillUnmount(); + stopPhaseTimer(); + }; + + // Capture errors so they don't interrupt unmounting. + function safelyCallComponentWillUnmount(current$$1, instance) { + { + invokeGuardedCallback(null, callComponentWillUnmountWithTimer, null, current$$1, instance); + if (hasCaughtError()) { + var unmountError = clearCaughtError(); + captureCommitPhaseError(current$$1, unmountError); + } + } + } + + function safelyDetachRef(current$$1) { + var ref = current$$1.ref; + if (ref !== null) { + if (typeof ref === 'function') { + { + invokeGuardedCallback(null, ref, null, null); + if (hasCaughtError()) { + var refError = clearCaughtError(); + captureCommitPhaseError(current$$1, refError); + } + } + } else { + ref.current = null; + } + } + } + + function safelyCallDestroy(current$$1, destroy) { + { + invokeGuardedCallback(null, destroy, null); + if (hasCaughtError()) { + var error = clearCaughtError(); + captureCommitPhaseError(current$$1, error); + } + } + } + + function commitBeforeMutationLifeCycles(current$$1, finishedWork) { + switch (finishedWork.tag) { + case FunctionComponent: + case ForwardRef: + case SimpleMemoComponent: + { + commitHookEffectList(UnmountSnapshot, NoEffect$1, finishedWork); + return; + } + case ClassComponent: + { + if (finishedWork.effectTag & Snapshot) { + if (current$$1 !== null) { + var prevProps = current$$1.memoizedProps; + var prevState = current$$1.memoizedState; + startPhaseTimer(finishedWork, 'getSnapshotBeforeUpdate'); + var instance = finishedWork.stateNode; + // We could update instance props and state here, + // but instead we rely on them being set during last render. + // TODO: revisit this when we implement resuming. + { + if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) { + !(instance.props === finishedWork.memoizedProps) ? warning$1(false, 'Expected %s props to match memoized props before ' + 'getSnapshotBeforeUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance') : void 0; + !(instance.state === finishedWork.memoizedState) ? warning$1(false, 'Expected %s state to match memoized state before ' + 'getSnapshotBeforeUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance') : void 0; + } + } + var snapshot = instance.getSnapshotBeforeUpdate(finishedWork.elementType === finishedWork.type ? prevProps : resolveDefaultProps(finishedWork.type, prevProps), prevState); + { + var didWarnSet = didWarnAboutUndefinedSnapshotBeforeUpdate; + if (snapshot === undefined && !didWarnSet.has(finishedWork.type)) { + didWarnSet.add(finishedWork.type); + warningWithoutStack$1(false, '%s.getSnapshotBeforeUpdate(): A snapshot value (or null) ' + 'must be returned. You have returned undefined.', getComponentName(finishedWork.type)); + } + } + instance.__reactInternalSnapshotBeforeUpdate = snapshot; + stopPhaseTimer(); + } + } + return; + } + case HostRoot: + case HostComponent: + case HostText: + case HostPortal: + case IncompleteClassComponent: + // Nothing to do for these component types + return; + default: + { + invariant(false, 'This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.'); + } + } + } + + function commitHookEffectList(unmountTag, mountTag, finishedWork) { + var updateQueue = finishedWork.updateQueue; + var lastEffect = updateQueue !== null ? updateQueue.lastEffect : null; + if (lastEffect !== null) { + var firstEffect = lastEffect.next; + var effect = firstEffect; + do { + if ((effect.tag & unmountTag) !== NoEffect$1) { + // Unmount + var destroy = effect.destroy; + effect.destroy = undefined; + if (destroy !== undefined) { + destroy(); + } + } + if ((effect.tag & mountTag) !== NoEffect$1) { + // Mount + var create = effect.create; + effect.destroy = create(); + + { + var _destroy = effect.destroy; + if (_destroy !== undefined && typeof _destroy !== 'function') { + var addendum = void 0; + if (_destroy === null) { + addendum = ' You returned null. If your effect does not require clean ' + 'up, return undefined (or nothing).'; + } else if (typeof _destroy.then === 'function') { + addendum = '\n\nIt looks like you wrote useEffect(async () => ...) or returned a Promise. ' + 'Instead, write the async function inside your effect ' + 'and call it immediately:\n\n' + 'useEffect(() => {\n' + ' async function fetchData() {\n' + ' // You can await here\n' + ' const response = await MyAPI.getData(someId);\n' + ' // ...\n' + ' }\n' + ' fetchData();\n' + '}, [someId]); // Or [] if effect doesn\'t need props or state\n\n' + 'Learn more about data fetching with Hooks: https://fb.me/react-hooks-data-fetching'; + } else { + addendum = ' You returned: ' + _destroy; + } + warningWithoutStack$1(false, 'An effect function must not return anything besides a function, ' + 'which is used for clean-up.%s%s', addendum, getStackByFiberInDevAndProd(finishedWork)); + } + } + } + effect = effect.next; + } while (effect !== firstEffect); + } + } + + function commitPassiveHookEffects(finishedWork) { + commitHookEffectList(UnmountPassive, NoEffect$1, finishedWork); + commitHookEffectList(NoEffect$1, MountPassive, finishedWork); + } + + function commitLifeCycles(finishedRoot, current$$1, finishedWork, committedExpirationTime) { + switch (finishedWork.tag) { + case FunctionComponent: + case ForwardRef: + case SimpleMemoComponent: + { + commitHookEffectList(UnmountLayout, MountLayout, finishedWork); + break; + } + case ClassComponent: + { + var instance = finishedWork.stateNode; + if (finishedWork.effectTag & Update) { + if (current$$1 === null) { + startPhaseTimer(finishedWork, 'componentDidMount'); + // We could update instance props and state here, + // but instead we rely on them being set during last render. + // TODO: revisit this when we implement resuming. + { + if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) { + !(instance.props === finishedWork.memoizedProps) ? warning$1(false, 'Expected %s props to match memoized props before ' + 'componentDidMount. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance') : void 0; + !(instance.state === finishedWork.memoizedState) ? warning$1(false, 'Expected %s state to match memoized state before ' + 'componentDidMount. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance') : void 0; + } + } + instance.componentDidMount(); + stopPhaseTimer(); + } else { + var prevProps = finishedWork.elementType === finishedWork.type ? current$$1.memoizedProps : resolveDefaultProps(finishedWork.type, current$$1.memoizedProps); + var prevState = current$$1.memoizedState; + startPhaseTimer(finishedWork, 'componentDidUpdate'); + // We could update instance props and state here, + // but instead we rely on them being set during last render. + // TODO: revisit this when we implement resuming. + { + if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) { + !(instance.props === finishedWork.memoizedProps) ? warning$1(false, 'Expected %s props to match memoized props before ' + 'componentDidUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance') : void 0; + !(instance.state === finishedWork.memoizedState) ? warning$1(false, 'Expected %s state to match memoized state before ' + 'componentDidUpdate. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance') : void 0; + } + } + instance.componentDidUpdate(prevProps, prevState, instance.__reactInternalSnapshotBeforeUpdate); + stopPhaseTimer(); + } + } + var updateQueue = finishedWork.updateQueue; + if (updateQueue !== null) { + { + if (finishedWork.type === finishedWork.elementType && !didWarnAboutReassigningProps) { + !(instance.props === finishedWork.memoizedProps) ? warning$1(false, 'Expected %s props to match memoized props before ' + 'processing the update queue. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance') : void 0; + !(instance.state === finishedWork.memoizedState) ? warning$1(false, 'Expected %s state to match memoized state before ' + 'processing the update queue. ' + 'This might either be because of a bug in React, or because ' + 'a component reassigns its own `this.props`. ' + 'Please file an issue.', getComponentName(finishedWork.type) || 'instance') : void 0; + } + } + // We could update instance props and state here, + // but instead we rely on them being set during last render. + // TODO: revisit this when we implement resuming. + commitUpdateQueue(finishedWork, updateQueue, instance, committedExpirationTime); + } + return; + } + case HostRoot: + { + var _updateQueue = finishedWork.updateQueue; + if (_updateQueue !== null) { + var _instance = null; + if (finishedWork.child !== null) { + switch (finishedWork.child.tag) { + case HostComponent: + _instance = getPublicInstance(finishedWork.child.stateNode); + break; + case ClassComponent: + _instance = finishedWork.child.stateNode; + break; + } + } + commitUpdateQueue(finishedWork, _updateQueue, _instance, committedExpirationTime); + } + return; + } + case HostComponent: + { + var _instance2 = finishedWork.stateNode; + + // Renderers may schedule work to be done after host components are mounted + // (eg DOM renderer may schedule auto-focus for inputs and form controls). + // These effects should only be committed when components are first mounted, + // aka when there is no current/alternate. + if (current$$1 === null && finishedWork.effectTag & Update) { + var type = finishedWork.type; + var props = finishedWork.memoizedProps; + commitMount(_instance2, type, props, finishedWork); + } + + return; + } + case HostText: + { + // We have no life-cycles associated with text. + return; + } + case HostPortal: + { + // We have no life-cycles associated with portals. + return; + } + case Profiler: + { + if (enableProfilerTimer) { + var onRender = finishedWork.memoizedProps.onRender; + + if (enableSchedulerTracing) { + onRender(finishedWork.memoizedProps.id, current$$1 === null ? 'mount' : 'update', finishedWork.actualDuration, finishedWork.treeBaseDuration, finishedWork.actualStartTime, getCommitTime(), finishedRoot.memoizedInteractions); + } else { + onRender(finishedWork.memoizedProps.id, current$$1 === null ? 'mount' : 'update', finishedWork.actualDuration, finishedWork.treeBaseDuration, finishedWork.actualStartTime, getCommitTime()); + } + } + return; + } + case SuspenseComponent: + break; + case IncompleteClassComponent: + break; + default: + { + invariant(false, 'This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.'); + } + } + } + + function hideOrUnhideAllChildren(finishedWork, isHidden) { + if (supportsMutation) { + // We only have the top Fiber that was inserted but we need to recurse down its + var node = finishedWork; + while (true) { + if (node.tag === HostComponent) { + var instance = node.stateNode; + if (isHidden) { + hideInstance(instance); + } else { + unhideInstance(node.stateNode, node.memoizedProps); + } + } else if (node.tag === HostText) { + var _instance3 = node.stateNode; + if (isHidden) { + hideTextInstance(_instance3); + } else { + unhideTextInstance(_instance3, node.memoizedProps); + } + } else if (node.tag === SuspenseComponent && node.memoizedState !== null) { + // Found a nested Suspense component that timed out. Skip over the + var fallbackChildFragment = node.child.sibling; + fallbackChildFragment.return = node; + node = fallbackChildFragment; + continue; + } else if (node.child !== null) { + node.child.return = node; + node = node.child; + continue; + } + if (node === finishedWork) { + return; + } + while (node.sibling === null) { + if (node.return === null || node.return === finishedWork) { + return; + } + node = node.return; + } + node.sibling.return = node.return; + node = node.sibling; + } + } + } + + function commitAttachRef(finishedWork) { + var ref = finishedWork.ref; + if (ref !== null) { + var instance = finishedWork.stateNode; + var instanceToUse = void 0; + switch (finishedWork.tag) { + case HostComponent: + instanceToUse = getPublicInstance(instance); + break; + default: + instanceToUse = instance; + } + if (typeof ref === 'function') { + ref(instanceToUse); + } else { + { + if (!ref.hasOwnProperty('current')) { + warningWithoutStack$1(false, 'Unexpected ref object provided for %s. ' + 'Use either a ref-setter function or React.createRef().%s', getComponentName(finishedWork.type), getStackByFiberInDevAndProd(finishedWork)); + } + } + + ref.current = instanceToUse; + } + } + } + + function commitDetachRef(current$$1) { + var currentRef = current$$1.ref; + if (currentRef !== null) { + if (typeof currentRef === 'function') { + currentRef(null); + } else { + currentRef.current = null; + } + } + } + + // User-originating errors (lifecycles and refs) should not interrupt + // deletion, so don't let them throw. Host-originating errors should + // interrupt deletion, so it's okay + function commitUnmount(current$$1) { + onCommitUnmount(current$$1); + + switch (current$$1.tag) { + case FunctionComponent: + case ForwardRef: + case MemoComponent: + case SimpleMemoComponent: + { + var updateQueue = current$$1.updateQueue; + if (updateQueue !== null) { + var lastEffect = updateQueue.lastEffect; + if (lastEffect !== null) { + var firstEffect = lastEffect.next; + var effect = firstEffect; + do { + var destroy = effect.destroy; + if (destroy !== undefined) { + safelyCallDestroy(current$$1, destroy); + } + effect = effect.next; + } while (effect !== firstEffect); + } + } + break; + } + case ClassComponent: + { + safelyDetachRef(current$$1); + var instance = current$$1.stateNode; + if (typeof instance.componentWillUnmount === 'function') { + safelyCallComponentWillUnmount(current$$1, instance); + } + return; + } + case HostComponent: + { + safelyDetachRef(current$$1); + return; + } + case HostPortal: + { + // TODO: this is recursive. + // We are also not using this parent because + // the portal will get pushed immediately. + if (supportsMutation) { + unmountHostComponents(current$$1); + } else if (supportsPersistence) { + emptyPortalContainer(current$$1); + } + return; + } + } + } + + function commitNestedUnmounts(root) { + // While we're inside a removed host node we don't want to call + // removeChild on the inner nodes because they're removed by the top + // call anyway. We also want to call componentWillUnmount on all + // composites before this host node is removed from the tree. Therefore + var node = root; + while (true) { + commitUnmount(node); + // Visit children because they may contain more composite or host nodes. + // Skip portals because commitUnmount() currently visits them recursively. + if (node.child !== null && ( + // If we use mutation we drill down into portals using commitUnmount above. + // If we don't use mutation we drill down into portals here instead. + !supportsMutation || node.tag !== HostPortal)) { + node.child.return = node; + node = node.child; + continue; + } + if (node === root) { + return; + } + while (node.sibling === null) { + if (node.return === null || node.return === root) { + return; + } + node = node.return; + } + node.sibling.return = node.return; + node = node.sibling; + } + } + + function detachFiber(current$$1) { + // Cut off the return pointers to disconnect it from the tree. Ideally, we + // should clear the child pointer of the parent alternate to let this + // get GC:ed but we don't know which for sure which parent is the current + // one so we'll settle for GC:ing the subtree of this child. This child + // itself will be GC:ed when the parent updates the next time. + current$$1.return = null; + current$$1.child = null; + current$$1.memoizedState = null; + current$$1.updateQueue = null; + var alternate = current$$1.alternate; + if (alternate !== null) { + alternate.return = null; + alternate.child = null; + alternate.memoizedState = null; + alternate.updateQueue = null; + } + } + + function emptyPortalContainer(current$$1) { + if (!supportsPersistence) { + return; + } + + var portal = current$$1.stateNode; + var containerInfo = portal.containerInfo; + + var emptyChildSet = createContainerChildSet(containerInfo); + replaceContainerChildren(containerInfo, emptyChildSet); + } + + function commitContainer(finishedWork) { + if (!supportsPersistence) { + return; + } + + switch (finishedWork.tag) { + case ClassComponent: + { + return; + } + case HostComponent: + { + return; + } + case HostText: + { + return; + } + case HostRoot: + case HostPortal: + { + var portalOrRoot = finishedWork.stateNode; + var containerInfo = portalOrRoot.containerInfo, + _pendingChildren = portalOrRoot.pendingChildren; + + replaceContainerChildren(containerInfo, _pendingChildren); + return; + } + default: + { + invariant(false, 'This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.'); + } + } + } + + function getHostParentFiber(fiber) { + var parent = fiber.return; + while (parent !== null) { + if (isHostParent(parent)) { + return parent; + } + parent = parent.return; + } + invariant(false, 'Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.'); + } + + function isHostParent(fiber) { + return fiber.tag === HostComponent || fiber.tag === HostRoot || fiber.tag === HostPortal; + } + + function getHostSibling(fiber) { + // We're going to search forward into the tree until we find a sibling host + // node. Unfortunately, if multiple insertions are done in a row we have to + // search past them. This leads to exponential search for the next sibling. + var node = fiber; + siblings: while (true) { + // If we didn't find anything, let's try the next sibling. + while (node.sibling === null) { + if (node.return === null || isHostParent(node.return)) { + // If we pop out of the root or hit the parent the fiber we are the + // last sibling. + return null; + } + node = node.return; + } + node.sibling.return = node.return; + node = node.sibling; + while (node.tag !== HostComponent && node.tag !== HostText && node.tag !== DehydratedSuspenseComponent) { + // If it is not host node and, we might have a host node inside it. + // Try to search down until we find one. + if (node.effectTag & Placement) { + // If we don't have a child, try the siblings instead. + continue siblings; + } + // If we don't have a child, try the siblings instead. + // We also skip portals because they are not part of this host tree. + if (node.child === null || node.tag === HostPortal) { + continue siblings; + } else { + node.child.return = node; + node = node.child; + } + } + // Check if this host node is stable or about to be placed. + if (!(node.effectTag & Placement)) { + // Found it! + return node.stateNode; + } + } + } + + function commitPlacement(finishedWork) { + if (!supportsMutation) { + return; + } + + // Recursively insert all host nodes into the parent. + var parentFiber = getHostParentFiber(finishedWork); + + // Note: these two variables *must* always be updated together. + var parent = void 0; + var isContainer = void 0; + + switch (parentFiber.tag) { + case HostComponent: + parent = parentFiber.stateNode; + isContainer = false; + break; + case HostRoot: + parent = parentFiber.stateNode.containerInfo; + isContainer = true; + break; + case HostPortal: + parent = parentFiber.stateNode.containerInfo; + isContainer = true; + break; + default: + invariant(false, 'Invalid host parent fiber. This error is likely caused by a bug in React. Please file an issue.'); + } + if (parentFiber.effectTag & ContentReset) { + // Reset the text content of the parent before doing any insertions + resetTextContent(parent); + // Clear ContentReset from the effect tag + parentFiber.effectTag &= ~ContentReset; + } + + var before = getHostSibling(finishedWork); + // We only have the top Fiber that was inserted but we need to recurse down its + // children to find all the terminal nodes. + var node = finishedWork; + while (true) { + if (node.tag === HostComponent || node.tag === HostText) { + if (before) { + if (isContainer) { + insertInContainerBefore(parent, node.stateNode, before); + } else { + insertBefore(parent, node.stateNode, before); + } + } else { + if (isContainer) { + appendChildToContainer(parent, node.stateNode); + } else { + appendChild(parent, node.stateNode); + } + } + } else if (node.tag === HostPortal) { + // If the insertion itself is a portal, then we don't want to traverse + // down its children. Instead, we'll get insertions from each child in + // the portal directly. + } else if (node.child !== null) { + node.child.return = node; + node = node.child; + continue; + } + if (node === finishedWork) { + return; + } + while (node.sibling === null) { + if (node.return === null || node.return === finishedWork) { + return; + } + node = node.return; + } + node.sibling.return = node.return; + node = node.sibling; + } + } + + function unmountHostComponents(current$$1) { + // We only have the top Fiber that was deleted but we need to recurse down its + var node = current$$1; + + // Each iteration, currentParent is populated with node's host parent if not + // currentParentIsValid. + var currentParentIsValid = false; + + // Note: these two variables *must* always be updated together. + var currentParent = void 0; + var currentParentIsContainer = void 0; + + while (true) { + if (!currentParentIsValid) { + var parent = node.return; + findParent: while (true) { + !(parent !== null) ? invariant(false, 'Expected to find a host parent. This error is likely caused by a bug in React. Please file an issue.') : void 0; + switch (parent.tag) { + case HostComponent: + currentParent = parent.stateNode; + currentParentIsContainer = false; + break findParent; + case HostRoot: + currentParent = parent.stateNode.containerInfo; + currentParentIsContainer = true; + break findParent; + case HostPortal: + currentParent = parent.stateNode.containerInfo; + currentParentIsContainer = true; + break findParent; + } + parent = parent.return; + } + currentParentIsValid = true; + } + + if (node.tag === HostComponent || node.tag === HostText) { + commitNestedUnmounts(node); + // After all the children have unmounted, it is now safe to remove the + // node from the tree. + if (currentParentIsContainer) { + removeChildFromContainer(currentParent, node.stateNode); + } else { + removeChild(currentParent, node.stateNode); + } + // Don't visit children because we already visited them. + } else if (enableSuspenseServerRenderer && node.tag === DehydratedSuspenseComponent) { + // Delete the dehydrated suspense boundary and all of its content. + if (currentParentIsContainer) { + clearSuspenseBoundaryFromContainer(currentParent, node.stateNode); + } else { + clearSuspenseBoundary(currentParent, node.stateNode); + } + } else if (node.tag === HostPortal) { + if (node.child !== null) { + // When we go into a portal, it becomes the parent to remove from. + // We will reassign it back when we pop the portal on the way up. + currentParent = node.stateNode.containerInfo; + currentParentIsContainer = true; + // Visit children because portals might contain host components. + node.child.return = node; + node = node.child; + continue; + } + } else { + commitUnmount(node); + // Visit children because we may find more host components below. + if (node.child !== null) { + node.child.return = node; + node = node.child; + continue; + } + } + if (node === current$$1) { + return; + } + while (node.sibling === null) { + if (node.return === null || node.return === current$$1) { + return; + } + node = node.return; + if (node.tag === HostPortal) { + // When we go out of the portal, we need to restore the parent. + // Since we don't keep a stack of them, we will search for it. + currentParentIsValid = false; + } + } + node.sibling.return = node.return; + node = node.sibling; + } + } + + function commitDeletion(current$$1) { + if (supportsMutation) { + // Recursively delete all host nodes from the parent. + // Detach refs and call componentWillUnmount() on the whole subtree. + unmountHostComponents(current$$1); + } else { + // Detach refs and call componentWillUnmount() on the whole subtree. + commitNestedUnmounts(current$$1); + } + detachFiber(current$$1); + } + + function commitWork(current$$1, finishedWork) { + if (!supportsMutation) { + switch (finishedWork.tag) { + case FunctionComponent: + case ForwardRef: + case MemoComponent: + case SimpleMemoComponent: + { + // Note: We currently never use MountMutation, but useLayout uses + // UnmountMutation. + commitHookEffectList(UnmountMutation, MountMutation, finishedWork); + return; + } + } + + commitContainer(finishedWork); + return; + } + + switch (finishedWork.tag) { + case FunctionComponent: + case ForwardRef: + case MemoComponent: + case SimpleMemoComponent: + { + // Note: We currently never use MountMutation, but useLayout uses + // UnmountMutation. + commitHookEffectList(UnmountMutation, MountMutation, finishedWork); + return; + } + case ClassComponent: + { + return; + } + case HostComponent: + { + var instance = finishedWork.stateNode; + if (instance != null) { + // Commit the work prepared earlier. + var newProps = finishedWork.memoizedProps; + // For hydration we reuse the update path but we treat the oldProps + // as the newProps. The updatePayload will contain the real change in + // this case. + var oldProps = current$$1 !== null ? current$$1.memoizedProps : newProps; + var type = finishedWork.type; + // TODO: Type the updateQueue to be specific to host components. + var updatePayload = finishedWork.updateQueue; + finishedWork.updateQueue = null; + if (updatePayload !== null) { + commitUpdate(instance, updatePayload, type, oldProps, newProps, finishedWork); + } + } + return; + } + case HostText: + { + !(finishedWork.stateNode !== null) ? invariant(false, 'This should have a text node initialized. This error is likely caused by a bug in React. Please file an issue.') : void 0; + var textInstance = finishedWork.stateNode; + var newText = finishedWork.memoizedProps; + // For hydration we reuse the update path but we treat the oldProps + // as the newProps. The updatePayload will contain the real change in + // this case. + var oldText = current$$1 !== null ? current$$1.memoizedProps : newText; + commitTextUpdate(textInstance, oldText, newText); + return; + } + case HostRoot: + { + return; + } + case Profiler: + { + return; + } + case SuspenseComponent: + { + var newState = finishedWork.memoizedState; + + var newDidTimeout = void 0; + var primaryChildParent = finishedWork; + if (newState === null) { + newDidTimeout = false; + } else { + newDidTimeout = true; + primaryChildParent = finishedWork.child; + if (newState.timedOutAt === NoWork) { + // If the children had not already timed out, record the time. + // This is used to compute the elapsed time during subsequent + // attempts to render the children. + newState.timedOutAt = requestCurrentTime(); + } + } + + if (primaryChildParent !== null) { + hideOrUnhideAllChildren(primaryChildParent, newDidTimeout); + } + + // If this boundary just timed out, then it will have a set of thenables. + // For each thenable, attach a listener so that when it resolves, React + // attempts to re-render the boundary in the primary (pre-timeout) state. + var thenables = finishedWork.updateQueue; + if (thenables !== null) { + finishedWork.updateQueue = null; + var retryCache = finishedWork.stateNode; + if (retryCache === null) { + retryCache = finishedWork.stateNode = new PossiblyWeakSet$1(); + } + thenables.forEach(function (thenable) { + // Memoize using the boundary fiber to prevent redundant listeners. + var retry = retryTimedOutBoundary.bind(null, finishedWork, thenable); + if (enableSchedulerTracing) { + retry = tracing.unstable_wrap(retry); + } + if (!retryCache.has(thenable)) { + retryCache.add(thenable); + thenable.then(retry, retry); + } + }); + } + + return; + } + case IncompleteClassComponent: + { + return; + } + default: + { + invariant(false, 'This unit of work tag should not have side-effects. This error is likely caused by a bug in React. Please file an issue.'); + } + } + } + + function commitResetTextContent(current$$1) { + if (!supportsMutation) { + return; + } + resetTextContent(current$$1.stateNode); + } + + var PossiblyWeakSet = typeof WeakSet === 'function' ? WeakSet : Set; + var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map; + + function createRootErrorUpdate(fiber, errorInfo, expirationTime) { + var update = createUpdate(expirationTime); + // Unmount the root by rendering null. + update.tag = CaptureUpdate; + // Caution: React DevTools currently depends on this property + // being called "element". + update.payload = { element: null }; + var error = errorInfo.value; + update.callback = function () { + onUncaughtError(error); + logError(fiber, errorInfo); + }; + return update; + } + + function createClassErrorUpdate(fiber, errorInfo, expirationTime) { + var update = createUpdate(expirationTime); + update.tag = CaptureUpdate; + var getDerivedStateFromError = fiber.type.getDerivedStateFromError; + if (typeof getDerivedStateFromError === 'function') { + var error = errorInfo.value; + update.payload = function () { + return getDerivedStateFromError(error); + }; + } + + var inst = fiber.stateNode; + if (inst !== null && typeof inst.componentDidCatch === 'function') { + update.callback = function callback() { + if (typeof getDerivedStateFromError !== 'function') { + // To preserve the preexisting retry behavior of error boundaries, + // we keep track of which ones already failed during this batch. + // This gets reset before we yield back to the browser. + // TODO: Warn in strict mode if getDerivedStateFromError is + // not defined. + markLegacyErrorBoundaryAsFailed(this); + } + var error = errorInfo.value; + var stack = errorInfo.stack; + logError(fiber, errorInfo); + this.componentDidCatch(error, { + componentStack: stack !== null ? stack : '' + }); + { + if (typeof getDerivedStateFromError !== 'function') { + // If componentDidCatch is the only error boundary method defined, + // then it needs to call setState to recover from errors. + // If no state update is scheduled then the boundary will swallow the error. + !(fiber.expirationTime === Sync) ? warningWithoutStack$1(false, '%s: Error boundaries should implement getDerivedStateFromError(). ' + 'In that method, return a state update to display an error message or fallback UI.', getComponentName(fiber.type) || 'Unknown') : void 0; + } + } + }; + } + return update; + } + + function attachPingListener(root, renderExpirationTime, thenable) { + // Attach a listener to the promise to "ping" the root and retry. But + // only if one does not already exist for the current render expiration + // time (which acts like a "thread ID" here). + var pingCache = root.pingCache; + var threadIDs = void 0; + if (pingCache === null) { + pingCache = root.pingCache = new PossiblyWeakMap(); + threadIDs = new Set(); + pingCache.set(thenable, threadIDs); + } else { + threadIDs = pingCache.get(thenable); + if (threadIDs === undefined) { + threadIDs = new Set(); + pingCache.set(thenable, threadIDs); + } + } + if (!threadIDs.has(renderExpirationTime)) { + // Memoize using the thread ID to prevent redundant listeners. + threadIDs.add(renderExpirationTime); + var ping = pingSuspendedRoot.bind(null, root, thenable, renderExpirationTime); + if (enableSchedulerTracing) { + ping = tracing.unstable_wrap(ping); + } + thenable.then(ping, ping); + } + } + + function throwException(root, returnFiber, sourceFiber, value, renderExpirationTime) { + // The source fiber did not complete. + sourceFiber.effectTag |= Incomplete; + // Its effect list is no longer valid. + sourceFiber.firstEffect = sourceFiber.lastEffect = null; + + if (value !== null && typeof value === 'object' && typeof value.then === 'function') { + // This is a thenable. + var thenable = value; + + // Find the earliest timeout threshold of all the placeholders in the + // ancestor path. We could avoid this traversal by storing the thresholds on + // the stack, but we choose not to because we only hit this path if we're + // IO-bound (i.e. if something suspends). Whereas the stack is used even in + // the non-IO- bound case. + var _workInProgress = returnFiber; + var earliestTimeoutMs = -1; + var startTimeMs = -1; + do { + if (_workInProgress.tag === SuspenseComponent) { + var current$$1 = _workInProgress.alternate; + if (current$$1 !== null) { + var currentState = current$$1.memoizedState; + if (currentState !== null) { + // Reached a boundary that already timed out. Do not search + // any further. + var timedOutAt = currentState.timedOutAt; + startTimeMs = expirationTimeToMs(timedOutAt); + // Do not search any further. + break; + } + } + var timeoutPropMs = _workInProgress.pendingProps.maxDuration; + if (typeof timeoutPropMs === 'number') { + if (timeoutPropMs <= 0) { + earliestTimeoutMs = 0; + } else if (earliestTimeoutMs === -1 || timeoutPropMs < earliestTimeoutMs) { + earliestTimeoutMs = timeoutPropMs; + } + } + } + // If there is a DehydratedSuspenseComponent we don't have to do anything because + // if something suspends inside it, we will simply leave that as dehydrated. It + // will never timeout. + _workInProgress = _workInProgress.return; + } while (_workInProgress !== null); + + // Schedule the nearest Suspense to re-render the timed out view. + _workInProgress = returnFiber; + do { + if (_workInProgress.tag === SuspenseComponent && shouldCaptureSuspense(_workInProgress)) { + // Found the nearest boundary. + + // Stash the promise on the boundary fiber. If the boundary times out, we'll + var thenables = _workInProgress.updateQueue; + if (thenables === null) { + var updateQueue = new Set(); + updateQueue.add(thenable); + _workInProgress.updateQueue = updateQueue; + } else { + thenables.add(thenable); + } + + // If the boundary is outside of concurrent mode, we should *not* + // suspend the commit. Pretend as if the suspended component rendered + // null and keep rendering. In the commit phase, we'll schedule a + // subsequent synchronous update to re-render the Suspense. + // + // Note: It doesn't matter whether the component that suspended was + // inside a concurrent mode tree. If the Suspense is outside of it, we + // should *not* suspend the commit. + if ((_workInProgress.mode & ConcurrentMode) === NoEffect) { + _workInProgress.effectTag |= DidCapture; + + // We're going to commit this fiber even though it didn't complete. + // But we shouldn't call any lifecycle methods or callbacks. Remove + // all lifecycle effect tags. + sourceFiber.effectTag &= ~(LifecycleEffectMask | Incomplete); + + if (sourceFiber.tag === ClassComponent) { + var currentSourceFiber = sourceFiber.alternate; + if (currentSourceFiber === null) { + // This is a new mount. Change the tag so it's not mistaken for a + // completed class component. For example, we should not call + // componentWillUnmount if it is deleted. + sourceFiber.tag = IncompleteClassComponent; + } else { + // When we try rendering again, we should not reuse the current fiber, + // since it's known to be in an inconsistent state. Use a force updte to + // prevent a bail out. + var update = createUpdate(Sync); + update.tag = ForceUpdate; + enqueueUpdate(sourceFiber, update); + } + } + + // The source fiber did not complete. Mark it with Sync priority to + // indicate that it still has pending work. + sourceFiber.expirationTime = Sync; + + // Exit without suspending. + return; + } + + // Confirmed that the boundary is in a concurrent mode tree. Continue + // with the normal suspend path. + + attachPingListener(root, renderExpirationTime, thenable); + + var absoluteTimeoutMs = void 0; + if (earliestTimeoutMs === -1) { + // If no explicit threshold is given, default to an arbitrarily large + // value. The actual size doesn't matter because the threshold for the + // whole tree will be clamped to the expiration time. + absoluteTimeoutMs = maxSigned31BitInt; + } else { + if (startTimeMs === -1) { + // This suspend happened outside of any already timed-out + // placeholders. We don't know exactly when the update was + // scheduled, but we can infer an approximate start time from the + // expiration time. First, find the earliest uncommitted expiration + // time in the tree, including work that is suspended. Then subtract + // the offset used to compute an async update's expiration time. + // This will cause high priority (interactive) work to expire + // earlier than necessary, but we can account for this by adjusting + // for the Just Noticeable Difference. + var earliestExpirationTime = findEarliestOutstandingPriorityLevel(root, renderExpirationTime); + var earliestExpirationTimeMs = expirationTimeToMs(earliestExpirationTime); + startTimeMs = earliestExpirationTimeMs - LOW_PRIORITY_EXPIRATION; + } + absoluteTimeoutMs = startTimeMs + earliestTimeoutMs; + } + + // Mark the earliest timeout in the suspended fiber's ancestor path. + // After completing the root, we'll take the largest of all the + // suspended fiber's timeouts and use it to compute a timeout for the + // whole tree. + renderDidSuspend(root, absoluteTimeoutMs, renderExpirationTime); + + _workInProgress.effectTag |= ShouldCapture; + _workInProgress.expirationTime = renderExpirationTime; + return; + } else if (enableSuspenseServerRenderer && _workInProgress.tag === DehydratedSuspenseComponent) { + attachPingListener(root, renderExpirationTime, thenable); + + // Since we already have a current fiber, we can eagerly add a retry listener. + var retryCache = _workInProgress.memoizedState; + if (retryCache === null) { + retryCache = _workInProgress.memoizedState = new PossiblyWeakSet(); + var _current = _workInProgress.alternate; + !_current ? invariant(false, 'A dehydrated suspense boundary must commit before trying to render. This is probably a bug in React.') : void 0; + _current.memoizedState = retryCache; + } + // Memoize using the boundary fiber to prevent redundant listeners. + if (!retryCache.has(thenable)) { + retryCache.add(thenable); + var retry = retryTimedOutBoundary.bind(null, _workInProgress, thenable); + if (enableSchedulerTracing) { + retry = tracing.unstable_wrap(retry); + } + thenable.then(retry, retry); + } + _workInProgress.effectTag |= ShouldCapture; + _workInProgress.expirationTime = renderExpirationTime; + return; + } + // This boundary already captured during this render. Continue to the next + // boundary. + _workInProgress = _workInProgress.return; + } while (_workInProgress !== null); + // No boundary was found. Fallthrough to error mode. + // TODO: Use invariant so the message is stripped in prod? + value = new Error((getComponentName(sourceFiber.type) || 'A React component') + ' suspended while rendering, but no fallback UI was specified.\n' + '\n' + 'Add a component higher in the tree to ' + 'provide a loading indicator or placeholder to display.' + getStackByFiberInDevAndProd(sourceFiber)); + } + + // We didn't find a boundary that could handle this type of exception. Start + // over and traverse parent path again, this time treating the exception + // as an error. + renderDidError(); + value = createCapturedValue(value, sourceFiber); + var workInProgress = returnFiber; + do { + switch (workInProgress.tag) { + case HostRoot: + { + var _errorInfo = value; + workInProgress.effectTag |= ShouldCapture; + workInProgress.expirationTime = renderExpirationTime; + var _update = createRootErrorUpdate(workInProgress, _errorInfo, renderExpirationTime); + enqueueCapturedUpdate(workInProgress, _update); + return; + } + case ClassComponent: + // Capture and retry + var errorInfo = value; + var ctor = workInProgress.type; + var instance = workInProgress.stateNode; + if ((workInProgress.effectTag & DidCapture) === NoEffect && (typeof ctor.getDerivedStateFromError === 'function' || instance !== null && typeof instance.componentDidCatch === 'function' && !isAlreadyFailedLegacyErrorBoundary(instance))) { + workInProgress.effectTag |= ShouldCapture; + workInProgress.expirationTime = renderExpirationTime; + // Schedule the error boundary to re-render using updated state + var _update2 = createClassErrorUpdate(workInProgress, errorInfo, renderExpirationTime); + enqueueCapturedUpdate(workInProgress, _update2); + return; + } + break; + default: + break; + } + workInProgress = workInProgress.return; + } while (workInProgress !== null); + } + + function unwindWork(workInProgress, renderExpirationTime) { + switch (workInProgress.tag) { + case ClassComponent: + { + var Component = workInProgress.type; + if (isContextProvider(Component)) { + popContext(workInProgress); + } + var effectTag = workInProgress.effectTag; + if (effectTag & ShouldCapture) { + workInProgress.effectTag = effectTag & ~ShouldCapture | DidCapture; + return workInProgress; + } + return null; + } + case HostRoot: + { + popHostContainer(workInProgress); + popTopLevelContextObject(workInProgress); + var _effectTag = workInProgress.effectTag; + !((_effectTag & DidCapture) === NoEffect) ? invariant(false, 'The root failed to unmount after an error. This is likely a bug in React. Please file an issue.') : void 0; + workInProgress.effectTag = _effectTag & ~ShouldCapture | DidCapture; + return workInProgress; + } + case HostComponent: + { + // TODO: popHydrationState + popHostContext(workInProgress); + return null; + } + case SuspenseComponent: + { + var _effectTag2 = workInProgress.effectTag; + if (_effectTag2 & ShouldCapture) { + workInProgress.effectTag = _effectTag2 & ~ShouldCapture | DidCapture; + // Captured a suspense effect. Re-render the boundary. + return workInProgress; + } + return null; + } + case DehydratedSuspenseComponent: + { + if (enableSuspenseServerRenderer) { + // TODO: popHydrationState + var _effectTag3 = workInProgress.effectTag; + if (_effectTag3 & ShouldCapture) { + workInProgress.effectTag = _effectTag3 & ~ShouldCapture | DidCapture; + // Captured a suspense effect. Re-render the boundary. + return workInProgress; + } + } + return null; + } + case HostPortal: + popHostContainer(workInProgress); + return null; + case ContextProvider: + popProvider(workInProgress); + return null; + default: + return null; + } + } + + function unwindInterruptedWork(interruptedWork) { + switch (interruptedWork.tag) { + case ClassComponent: + { + var childContextTypes = interruptedWork.type.childContextTypes; + if (childContextTypes !== null && childContextTypes !== undefined) { + popContext(interruptedWork); + } + break; + } + case HostRoot: + { + popHostContainer(interruptedWork); + popTopLevelContextObject(interruptedWork); + break; + } + case HostComponent: + { + popHostContext(interruptedWork); + break; + } + case HostPortal: + popHostContainer(interruptedWork); + break; + case ContextProvider: + popProvider(interruptedWork); + break; + default: + break; + } + } + + var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher; + var ReactCurrentOwner$1 = ReactSharedInternals.ReactCurrentOwner; + + + var didWarnAboutStateTransition = void 0; + var didWarnSetStateChildContext = void 0; + var warnAboutUpdateOnUnmounted = void 0; + var warnAboutInvalidUpdates = void 0; + + if (enableSchedulerTracing) { + // Provide explicit error message when production+profiling bundle of e.g. react-dom + // is used with production (non-profiling) bundle of scheduler/tracing + !(tracing.__interactionsRef != null && tracing.__interactionsRef.current != null) ? invariant(false, 'It is not supported to run the profiling version of a renderer (for example, `react-dom/profiling`) without also replacing the `scheduler/tracing` module with `scheduler/tracing-profiling`. Your bundler might have a setting for aliasing both modules. Learn more at http://fb.me/react-profiling') : void 0; + } + + { + didWarnAboutStateTransition = false; + didWarnSetStateChildContext = false; + var didWarnStateUpdateForUnmountedComponent = {}; + + warnAboutUpdateOnUnmounted = function (fiber, isClass) { + // We show the whole stack but dedupe on the top component's name because + // the problematic code almost always lies inside that component. + var componentName = getComponentName(fiber.type) || 'ReactComponent'; + if (didWarnStateUpdateForUnmountedComponent[componentName]) { + return; + } + warningWithoutStack$1(false, "Can't perform a React state update on an unmounted component. This " + 'is a no-op, but it indicates a memory leak in your application. To ' + 'fix, cancel all subscriptions and asynchronous tasks in %s.%s', isClass ? 'the componentWillUnmount method' : 'a useEffect cleanup function', getStackByFiberInDevAndProd(fiber)); + didWarnStateUpdateForUnmountedComponent[componentName] = true; + }; + + warnAboutInvalidUpdates = function (instance) { + switch (phase) { + case 'getChildContext': + if (didWarnSetStateChildContext) { + return; + } + warningWithoutStack$1(false, 'setState(...): Cannot call setState() inside getChildContext()'); + didWarnSetStateChildContext = true; + break; + case 'render': + if (didWarnAboutStateTransition) { + return; + } + warningWithoutStack$1(false, 'Cannot update during an existing state transition (such as within ' + '`render`). Render methods should be a pure function of props and state.'); + didWarnAboutStateTransition = true; + break; + } + }; + } + + // Used to ensure computeUniqueAsyncExpiration is monotonically decreasing. + var lastUniqueAsyncExpiration = Sync - 1; + + var isWorking = false; + + // The next work in progress fiber that we're currently working on. + var nextUnitOfWork = null; + var nextRoot = null; + // The time at which we're currently rendering work. + var nextRenderExpirationTime = NoWork; + var nextLatestAbsoluteTimeoutMs = -1; + var nextRenderDidError = false; + + // The next fiber with an effect that we're currently committing. + var nextEffect = null; + + var isCommitting$1 = false; + var rootWithPendingPassiveEffects = null; + var passiveEffectCallbackHandle = null; + var passiveEffectCallback = null; + + var legacyErrorBoundariesThatAlreadyFailed = null; + + // Used for performance tracking. + var interruptedBy = null; + + var stashedWorkInProgressProperties = void 0; + var replayUnitOfWork = void 0; + var mayReplayFailedUnitOfWork = void 0; + var isReplayingFailedUnitOfWork = void 0; + var originalReplayError = void 0; + var rethrowOriginalError = void 0; + if ( true && replayFailedUnitOfWorkWithInvokeGuardedCallback) { + stashedWorkInProgressProperties = null; + mayReplayFailedUnitOfWork = true; + isReplayingFailedUnitOfWork = false; + originalReplayError = null; + replayUnitOfWork = function (failedUnitOfWork, thrownValue, isYieldy) { + if (thrownValue !== null && typeof thrownValue === 'object' && typeof thrownValue.then === 'function') { + // Don't replay promises. Treat everything else like an error. + // TODO: Need to figure out a different strategy if/when we add + // support for catching other types. + return; + } + + // Restore the original state of the work-in-progress + if (stashedWorkInProgressProperties === null) { + // This should never happen. Don't throw because this code is DEV-only. + warningWithoutStack$1(false, 'Could not replay rendering after an error. This is likely a bug in React. ' + 'Please file an issue.'); + return; + } + assignFiberPropertiesInDEV(failedUnitOfWork, stashedWorkInProgressProperties); + + switch (failedUnitOfWork.tag) { + case HostRoot: + popHostContainer(failedUnitOfWork); + popTopLevelContextObject(failedUnitOfWork); + break; + case HostComponent: + popHostContext(failedUnitOfWork); + break; + case ClassComponent: + { + var Component = failedUnitOfWork.type; + if (isContextProvider(Component)) { + popContext(failedUnitOfWork); + } + break; + } + case HostPortal: + popHostContainer(failedUnitOfWork); + break; + case ContextProvider: + popProvider(failedUnitOfWork); + break; + } + // Replay the begin phase. + isReplayingFailedUnitOfWork = true; + originalReplayError = thrownValue; + invokeGuardedCallback(null, workLoop, null, isYieldy); + isReplayingFailedUnitOfWork = false; + originalReplayError = null; + if (hasCaughtError()) { + var replayError = clearCaughtError(); + if (replayError != null && thrownValue != null) { + try { + // Reading the expando property is intentionally + // inside `try` because it might be a getter or Proxy. + if (replayError._suppressLogging) { + // Also suppress logging for the original error. + thrownValue._suppressLogging = true; + } + } catch (inner) { + // Ignore. + } + } + } else { + // If the begin phase did not fail the second time, set this pointer + // back to the original value. + nextUnitOfWork = failedUnitOfWork; + } + }; + rethrowOriginalError = function () { + throw originalReplayError; + }; + } + + function resetStack() { + if (nextUnitOfWork !== null) { + var interruptedWork = nextUnitOfWork.return; + while (interruptedWork !== null) { + unwindInterruptedWork(interruptedWork); + interruptedWork = interruptedWork.return; + } + } + + { + ReactStrictModeWarnings.discardPendingWarnings(); + checkThatStackIsEmpty(); + } + + nextRoot = null; + nextRenderExpirationTime = NoWork; + nextLatestAbsoluteTimeoutMs = -1; + nextRenderDidError = false; + nextUnitOfWork = null; + } + + function commitAllHostEffects() { + while (nextEffect !== null) { + { + setCurrentFiber(nextEffect); + } + recordEffect(); + + var effectTag = nextEffect.effectTag; + + if (effectTag & ContentReset) { + commitResetTextContent(nextEffect); + } + + if (effectTag & Ref) { + var current$$1 = nextEffect.alternate; + if (current$$1 !== null) { + commitDetachRef(current$$1); + } + } + + // The following switch statement is only concerned about placement, + // updates, and deletions. To avoid needing to add a case for every + // possible bitmap value, we remove the secondary effects from the + // effect tag and switch on that value. + var primaryEffectTag = effectTag & (Placement | Update | Deletion); + switch (primaryEffectTag) { + case Placement: + { + commitPlacement(nextEffect); + // Clear the "placement" from effect tag so that we know that this is inserted, before + // any life-cycles like componentDidMount gets called. + // TODO: findDOMNode doesn't rely on this any more but isMounted + // does and isMounted is deprecated anyway so we should be able + // to kill this. + nextEffect.effectTag &= ~Placement; + break; + } + case PlacementAndUpdate: + { + // Placement + commitPlacement(nextEffect); + // Clear the "placement" from effect tag so that we know that this is inserted, before + // any life-cycles like componentDidMount gets called. + nextEffect.effectTag &= ~Placement; + + // Update + var _current = nextEffect.alternate; + commitWork(_current, nextEffect); + break; + } + case Update: + { + var _current2 = nextEffect.alternate; + commitWork(_current2, nextEffect); + break; + } + case Deletion: + { + commitDeletion(nextEffect); + break; + } + } + nextEffect = nextEffect.nextEffect; + } + + { + resetCurrentFiber(); + } + } + + function commitBeforeMutationLifecycles() { + while (nextEffect !== null) { + { + setCurrentFiber(nextEffect); + } + + var effectTag = nextEffect.effectTag; + if (effectTag & Snapshot) { + recordEffect(); + var current$$1 = nextEffect.alternate; + commitBeforeMutationLifeCycles(current$$1, nextEffect); + } + + nextEffect = nextEffect.nextEffect; + } + + { + resetCurrentFiber(); + } + } + + function commitAllLifeCycles(finishedRoot, committedExpirationTime) { + { + ReactStrictModeWarnings.flushPendingUnsafeLifecycleWarnings(); + ReactStrictModeWarnings.flushLegacyContextWarning(); + + if (warnAboutDeprecatedLifecycles) { + ReactStrictModeWarnings.flushPendingDeprecationWarnings(); + } + } + while (nextEffect !== null) { + { + setCurrentFiber(nextEffect); + } + var effectTag = nextEffect.effectTag; + + if (effectTag & (Update | Callback)) { + recordEffect(); + var current$$1 = nextEffect.alternate; + commitLifeCycles(finishedRoot, current$$1, nextEffect, committedExpirationTime); + } + + if (effectTag & Ref) { + recordEffect(); + commitAttachRef(nextEffect); + } + + if (effectTag & Passive) { + rootWithPendingPassiveEffects = finishedRoot; + } + + nextEffect = nextEffect.nextEffect; + } + { + resetCurrentFiber(); + } + } + + function commitPassiveEffects(root, firstEffect) { + rootWithPendingPassiveEffects = null; + passiveEffectCallbackHandle = null; + passiveEffectCallback = null; + + // Set this to true to prevent re-entrancy + var previousIsRendering = isRendering; + isRendering = true; + + var effect = firstEffect; + do { + { + setCurrentFiber(effect); + } + + if (effect.effectTag & Passive) { + var didError = false; + var error = void 0; + { + invokeGuardedCallback(null, commitPassiveHookEffects, null, effect); + if (hasCaughtError()) { + didError = true; + error = clearCaughtError(); + } + } + if (didError) { + captureCommitPhaseError(effect, error); + } + } + effect = effect.nextEffect; + } while (effect !== null); + { + resetCurrentFiber(); + } + + isRendering = previousIsRendering; + + // Check if work was scheduled by one of the effects + var rootExpirationTime = root.expirationTime; + if (rootExpirationTime !== NoWork) { + requestWork(root, rootExpirationTime); + } + // Flush any sync work that was scheduled by effects + if (!isBatchingUpdates && !isRendering) { + performSyncWork(); + } + } + + function isAlreadyFailedLegacyErrorBoundary(instance) { + return legacyErrorBoundariesThatAlreadyFailed !== null && legacyErrorBoundariesThatAlreadyFailed.has(instance); + } + + function markLegacyErrorBoundaryAsFailed(instance) { + if (legacyErrorBoundariesThatAlreadyFailed === null) { + legacyErrorBoundariesThatAlreadyFailed = new Set([instance]); + } else { + legacyErrorBoundariesThatAlreadyFailed.add(instance); + } + } + + function flushPassiveEffects() { + if (passiveEffectCallbackHandle !== null) { + cancelPassiveEffects(passiveEffectCallbackHandle); + } + if (passiveEffectCallback !== null) { + // We call the scheduled callback instead of commitPassiveEffects directly + // to ensure tracing works correctly. + passiveEffectCallback(); + } + } + + function commitRoot(root, finishedWork) { + isWorking = true; + isCommitting$1 = true; + startCommitTimer(); + + !(root.current !== finishedWork) ? invariant(false, 'Cannot commit the same tree as before. This is probably a bug related to the return field. This error is likely caused by a bug in React. Please file an issue.') : void 0; + var committedExpirationTime = root.pendingCommitExpirationTime; + !(committedExpirationTime !== NoWork) ? invariant(false, 'Cannot commit an incomplete root. This error is likely caused by a bug in React. Please file an issue.') : void 0; + root.pendingCommitExpirationTime = NoWork; + + // Update the pending priority levels to account for the work that we are + // about to commit. This needs to happen before calling the lifecycles, since + // they may schedule additional updates. + var updateExpirationTimeBeforeCommit = finishedWork.expirationTime; + var childExpirationTimeBeforeCommit = finishedWork.childExpirationTime; + var earliestRemainingTimeBeforeCommit = childExpirationTimeBeforeCommit > updateExpirationTimeBeforeCommit ? childExpirationTimeBeforeCommit : updateExpirationTimeBeforeCommit; + markCommittedPriorityLevels(root, earliestRemainingTimeBeforeCommit); + + var prevInteractions = null; + if (enableSchedulerTracing) { + // Restore any pending interactions at this point, + // So that cascading work triggered during the render phase will be accounted for. + prevInteractions = tracing.__interactionsRef.current; + tracing.__interactionsRef.current = root.memoizedInteractions; + } + + // Reset this to null before calling lifecycles + ReactCurrentOwner$1.current = null; + + var firstEffect = void 0; + if (finishedWork.effectTag > PerformedWork) { + // A fiber's effect list consists only of its children, not itself. So if + // the root has an effect, we need to add it to the end of the list. The + // resulting list is the set that would belong to the root's parent, if + // it had one; that is, all the effects in the tree including the root. + if (finishedWork.lastEffect !== null) { + finishedWork.lastEffect.nextEffect = finishedWork; + firstEffect = finishedWork.firstEffect; + } else { + firstEffect = finishedWork; + } + } else { + // There is no effect on the root. + firstEffect = finishedWork.firstEffect; + } + + prepareForCommit(root.containerInfo); + + // Invoke instances of getSnapshotBeforeUpdate before mutation. + nextEffect = firstEffect; + startCommitSnapshotEffectsTimer(); + while (nextEffect !== null) { + var didError = false; + var error = void 0; + { + invokeGuardedCallback(null, commitBeforeMutationLifecycles, null); + if (hasCaughtError()) { + didError = true; + error = clearCaughtError(); + } + } + if (didError) { + !(nextEffect !== null) ? invariant(false, 'Should have next effect. This error is likely caused by a bug in React. Please file an issue.') : void 0; + captureCommitPhaseError(nextEffect, error); + // Clean-up + if (nextEffect !== null) { + nextEffect = nextEffect.nextEffect; + } + } + } + stopCommitSnapshotEffectsTimer(); + + if (enableProfilerTimer) { + // Mark the current commit time to be shared by all Profilers in this batch. + // This enables them to be grouped later. + recordCommitTime(); + } + + // Commit all the side-effects within a tree. We'll do this in two passes. + // The first pass performs all the host insertions, updates, deletions and + // ref unmounts. + nextEffect = firstEffect; + startCommitHostEffectsTimer(); + while (nextEffect !== null) { + var _didError = false; + var _error = void 0; + { + invokeGuardedCallback(null, commitAllHostEffects, null); + if (hasCaughtError()) { + _didError = true; + _error = clearCaughtError(); + } + } + if (_didError) { + !(nextEffect !== null) ? invariant(false, 'Should have next effect. This error is likely caused by a bug in React. Please file an issue.') : void 0; + captureCommitPhaseError(nextEffect, _error); + // Clean-up + if (nextEffect !== null) { + nextEffect = nextEffect.nextEffect; + } + } + } + stopCommitHostEffectsTimer(); + + resetAfterCommit(root.containerInfo); + + // The work-in-progress tree is now the current tree. This must come after + // the first pass of the commit phase, so that the previous tree is still + // current during componentWillUnmount, but before the second pass, so that + // the finished work is current during componentDidMount/Update. + root.current = finishedWork; + + // In the second pass we'll perform all life-cycles and ref callbacks. + // Life-cycles happen as a separate pass so that all placements, updates, + // and deletions in the entire tree have already been invoked. + // This pass also triggers any renderer-specific initial effects. + nextEffect = firstEffect; + startCommitLifeCyclesTimer(); + while (nextEffect !== null) { + var _didError2 = false; + var _error2 = void 0; + { + invokeGuardedCallback(null, commitAllLifeCycles, null, root, committedExpirationTime); + if (hasCaughtError()) { + _didError2 = true; + _error2 = clearCaughtError(); + } + } + if (_didError2) { + !(nextEffect !== null) ? invariant(false, 'Should have next effect. This error is likely caused by a bug in React. Please file an issue.') : void 0; + captureCommitPhaseError(nextEffect, _error2); + if (nextEffect !== null) { + nextEffect = nextEffect.nextEffect; + } + } + } + + if (firstEffect !== null && rootWithPendingPassiveEffects !== null) { + // This commit included a passive effect. These do not need to fire until + // after the next paint. Schedule an callback to fire them in an async + // event. To ensure serial execution, the callback will be flushed early if + // we enter rootWithPendingPassiveEffects commit phase before then. + var callback = commitPassiveEffects.bind(null, root, firstEffect); + if (enableSchedulerTracing) { + // TODO: Avoid this extra callback by mutating the tracing ref directly, + // like we do at the beginning of commitRoot. I've opted not to do that + // here because that code is still in flux. + callback = tracing.unstable_wrap(callback); + } + passiveEffectCallbackHandle = scheduler.unstable_runWithPriority(scheduler.unstable_NormalPriority, function () { + return schedulePassiveEffects(callback); + }); + passiveEffectCallback = callback; + } + + isCommitting$1 = false; + isWorking = false; + stopCommitLifeCyclesTimer(); + stopCommitTimer(); + onCommitRoot(finishedWork.stateNode); + if ( true && ReactFiberInstrumentation_1.debugTool) { + ReactFiberInstrumentation_1.debugTool.onCommitWork(finishedWork); + } + + var updateExpirationTimeAfterCommit = finishedWork.expirationTime; + var childExpirationTimeAfterCommit = finishedWork.childExpirationTime; + var earliestRemainingTimeAfterCommit = childExpirationTimeAfterCommit > updateExpirationTimeAfterCommit ? childExpirationTimeAfterCommit : updateExpirationTimeAfterCommit; + if (earliestRemainingTimeAfterCommit === NoWork) { + // If there's no remaining work, we can clear the set of already failed + // error boundaries. + legacyErrorBoundariesThatAlreadyFailed = null; + } + onCommit(root, earliestRemainingTimeAfterCommit); + + if (enableSchedulerTracing) { + tracing.__interactionsRef.current = prevInteractions; + + var subscriber = void 0; + + try { + subscriber = tracing.__subscriberRef.current; + if (subscriber !== null && root.memoizedInteractions.size > 0) { + var threadID = computeThreadID(committedExpirationTime, root.interactionThreadID); + subscriber.onWorkStopped(root.memoizedInteractions, threadID); + } + } catch (error) { + // It's not safe for commitRoot() to throw. + // Store the error for now and we'll re-throw in finishRendering(). + if (!hasUnhandledError) { + hasUnhandledError = true; + unhandledError = error; + } + } finally { + // Clear completed interactions from the pending Map. + // Unless the render was suspended or cascading work was scheduled, + // In which case– leave pending interactions until the subsequent render. + var pendingInteractionMap = root.pendingInteractionMap; + pendingInteractionMap.forEach(function (scheduledInteractions, scheduledExpirationTime) { + // Only decrement the pending interaction count if we're done. + // If there's still work at the current priority, + // That indicates that we are waiting for suspense data. + if (scheduledExpirationTime > earliestRemainingTimeAfterCommit) { + pendingInteractionMap.delete(scheduledExpirationTime); + + scheduledInteractions.forEach(function (interaction) { + interaction.__count--; + + if (subscriber !== null && interaction.__count === 0) { + try { + subscriber.onInteractionScheduledWorkCompleted(interaction); + } catch (error) { + // It's not safe for commitRoot() to throw. + // Store the error for now and we'll re-throw in finishRendering(). + if (!hasUnhandledError) { + hasUnhandledError = true; + unhandledError = error; + } + } + } + }); + } + }); + } + } + } + + function resetChildExpirationTime(workInProgress, renderTime) { + if (renderTime !== Never && workInProgress.childExpirationTime === Never) { + // The children of this component are hidden. Don't bubble their + // expiration times. + return; + } + + var newChildExpirationTime = NoWork; + + // Bubble up the earliest expiration time. + if (enableProfilerTimer && workInProgress.mode & ProfileMode) { + // We're in profiling mode. + // Let's use this same traversal to update the render durations. + var actualDuration = workInProgress.actualDuration; + var treeBaseDuration = workInProgress.selfBaseDuration; + + // When a fiber is cloned, its actualDuration is reset to 0. + // This value will only be updated if work is done on the fiber (i.e. it doesn't bailout). + // When work is done, it should bubble to the parent's actualDuration. + // If the fiber has not been cloned though, (meaning no work was done), + // Then this value will reflect the amount of time spent working on a previous render. + // In that case it should not bubble. + // We determine whether it was cloned by comparing the child pointer. + var shouldBubbleActualDurations = workInProgress.alternate === null || workInProgress.child !== workInProgress.alternate.child; + + var child = workInProgress.child; + while (child !== null) { + var childUpdateExpirationTime = child.expirationTime; + var childChildExpirationTime = child.childExpirationTime; + if (childUpdateExpirationTime > newChildExpirationTime) { + newChildExpirationTime = childUpdateExpirationTime; + } + if (childChildExpirationTime > newChildExpirationTime) { + newChildExpirationTime = childChildExpirationTime; + } + if (shouldBubbleActualDurations) { + actualDuration += child.actualDuration; + } + treeBaseDuration += child.treeBaseDuration; + child = child.sibling; + } + workInProgress.actualDuration = actualDuration; + workInProgress.treeBaseDuration = treeBaseDuration; + } else { + var _child = workInProgress.child; + while (_child !== null) { + var _childUpdateExpirationTime = _child.expirationTime; + var _childChildExpirationTime = _child.childExpirationTime; + if (_childUpdateExpirationTime > newChildExpirationTime) { + newChildExpirationTime = _childUpdateExpirationTime; + } + if (_childChildExpirationTime > newChildExpirationTime) { + newChildExpirationTime = _childChildExpirationTime; + } + _child = _child.sibling; + } + } + + workInProgress.childExpirationTime = newChildExpirationTime; + } + + function completeUnitOfWork(workInProgress) { + // Attempt to complete the current unit of work, then move to the + // next sibling. If there are no more siblings, return to the + // parent fiber. + while (true) { + // The current, flushed, state of this fiber is the alternate. + // Ideally nothing should rely on this, but relying on it here + // means that we don't need an additional field on the work in + // progress. + var current$$1 = workInProgress.alternate; + { + setCurrentFiber(workInProgress); + } + + var returnFiber = workInProgress.return; + var siblingFiber = workInProgress.sibling; + + if ((workInProgress.effectTag & Incomplete) === NoEffect) { + if ( true && replayFailedUnitOfWorkWithInvokeGuardedCallback) { + // Don't replay if it fails during completion phase. + mayReplayFailedUnitOfWork = false; + } + // This fiber completed. + // Remember we're completing this unit so we can find a boundary if it fails. + nextUnitOfWork = workInProgress; + if (enableProfilerTimer) { + if (workInProgress.mode & ProfileMode) { + startProfilerTimer(workInProgress); + } + nextUnitOfWork = completeWork(current$$1, workInProgress, nextRenderExpirationTime); + if (workInProgress.mode & ProfileMode) { + // Update render duration assuming we didn't error. + stopProfilerTimerIfRunningAndRecordDelta(workInProgress, false); + } + } else { + nextUnitOfWork = completeWork(current$$1, workInProgress, nextRenderExpirationTime); + } + if ( true && replayFailedUnitOfWorkWithInvokeGuardedCallback) { + // We're out of completion phase so replaying is fine now. + mayReplayFailedUnitOfWork = true; + } + stopWorkTimer(workInProgress); + resetChildExpirationTime(workInProgress, nextRenderExpirationTime); + { + resetCurrentFiber(); + } + + if (nextUnitOfWork !== null) { + // Completing this fiber spawned new work. Work on that next. + return nextUnitOfWork; + } + + if (returnFiber !== null && + // Do not append effects to parents if a sibling failed to complete + (returnFiber.effectTag & Incomplete) === NoEffect) { + // Append all the effects of the subtree and this fiber onto the effect + // list of the parent. The completion order of the children affects the + // side-effect order. + if (returnFiber.firstEffect === null) { + returnFiber.firstEffect = workInProgress.firstEffect; + } + if (workInProgress.lastEffect !== null) { + if (returnFiber.lastEffect !== null) { + returnFiber.lastEffect.nextEffect = workInProgress.firstEffect; + } + returnFiber.lastEffect = workInProgress.lastEffect; + } + + // If this fiber had side-effects, we append it AFTER the children's + // side-effects. We can perform certain side-effects earlier if + // needed, by doing multiple passes over the effect list. We don't want + // to schedule our own side-effect on our own list because if end up + // reusing children we'll schedule this effect onto itself since we're + // at the end. + var effectTag = workInProgress.effectTag; + // Skip both NoWork and PerformedWork tags when creating the effect list. + // PerformedWork effect is read by React DevTools but shouldn't be committed. + if (effectTag > PerformedWork) { + if (returnFiber.lastEffect !== null) { + returnFiber.lastEffect.nextEffect = workInProgress; + } else { + returnFiber.firstEffect = workInProgress; + } + returnFiber.lastEffect = workInProgress; + } + } + + if ( true && ReactFiberInstrumentation_1.debugTool) { + ReactFiberInstrumentation_1.debugTool.onCompleteWork(workInProgress); + } + + if (siblingFiber !== null) { + // If there is more work to do in this returnFiber, do that next. + return siblingFiber; + } else if (returnFiber !== null) { + // If there's no more work in this returnFiber. Complete the returnFiber. + workInProgress = returnFiber; + continue; + } else { + // We've reached the root. + return null; + } + } else { + if (enableProfilerTimer && workInProgress.mode & ProfileMode) { + // Record the render duration for the fiber that errored. + stopProfilerTimerIfRunningAndRecordDelta(workInProgress, false); + + // Include the time spent working on failed children before continuing. + var actualDuration = workInProgress.actualDuration; + var child = workInProgress.child; + while (child !== null) { + actualDuration += child.actualDuration; + child = child.sibling; + } + workInProgress.actualDuration = actualDuration; + } + + // This fiber did not complete because something threw. Pop values off + // the stack without entering the complete phase. If this is a boundary, + // capture values if possible. + var next = unwindWork(workInProgress, nextRenderExpirationTime); + // Because this fiber did not complete, don't reset its expiration time. + if (workInProgress.effectTag & DidCapture) { + // Restarting an error boundary + stopFailedWorkTimer(workInProgress); + } else { + stopWorkTimer(workInProgress); + } + + { + resetCurrentFiber(); + } + + if (next !== null) { + stopWorkTimer(workInProgress); + if ( true && ReactFiberInstrumentation_1.debugTool) { + ReactFiberInstrumentation_1.debugTool.onCompleteWork(workInProgress); + } + + // If completing this work spawned new work, do that next. We'll come + // back here again. + // Since we're restarting, remove anything that is not a host effect + // from the effect tag. + next.effectTag &= HostEffectMask; + return next; + } + + if (returnFiber !== null) { + // Mark the parent fiber as incomplete and clear its effect list. + returnFiber.firstEffect = returnFiber.lastEffect = null; + returnFiber.effectTag |= Incomplete; + } + + if ( true && ReactFiberInstrumentation_1.debugTool) { + ReactFiberInstrumentation_1.debugTool.onCompleteWork(workInProgress); + } + + if (siblingFiber !== null) { + // If there is more work to do in this returnFiber, do that next. + return siblingFiber; + } else if (returnFiber !== null) { + // If there's no more work in this returnFiber. Complete the returnFiber. + workInProgress = returnFiber; + continue; + } else { + return null; + } + } + } + + // Without this explicit null return Flow complains of invalid return type + // TODO Remove the above while(true) loop + // eslint-disable-next-line no-unreachable + return null; + } + + function performUnitOfWork(workInProgress) { + // The current, flushed, state of this fiber is the alternate. + // Ideally nothing should rely on this, but relying on it here + // means that we don't need an additional field on the work in + // progress. + var current$$1 = workInProgress.alternate; + + // See if beginning this work spawns more work. + startWorkTimer(workInProgress); + { + setCurrentFiber(workInProgress); + } + + if ( true && replayFailedUnitOfWorkWithInvokeGuardedCallback) { + stashedWorkInProgressProperties = assignFiberPropertiesInDEV(stashedWorkInProgressProperties, workInProgress); + } + + var next = void 0; + if (enableProfilerTimer) { + if (workInProgress.mode & ProfileMode) { + startProfilerTimer(workInProgress); + } + + next = beginWork(current$$1, workInProgress, nextRenderExpirationTime); + workInProgress.memoizedProps = workInProgress.pendingProps; + + if (workInProgress.mode & ProfileMode) { + // Record the render duration assuming we didn't bailout (or error). + stopProfilerTimerIfRunningAndRecordDelta(workInProgress, true); + } + } else { + next = beginWork(current$$1, workInProgress, nextRenderExpirationTime); + workInProgress.memoizedProps = workInProgress.pendingProps; + } + + { + resetCurrentFiber(); + if (isReplayingFailedUnitOfWork) { + // Currently replaying a failed unit of work. This should be unreachable, + // because the render phase is meant to be idempotent, and it should + // have thrown again. Since it didn't, rethrow the original error, so + // React's internal stack is not misaligned. + rethrowOriginalError(); + } + } + if ( true && ReactFiberInstrumentation_1.debugTool) { + ReactFiberInstrumentation_1.debugTool.onBeginWork(workInProgress); + } + + if (next === null) { + // If this doesn't spawn new work, complete the current work. + next = completeUnitOfWork(workInProgress); + } + + ReactCurrentOwner$1.current = null; + + return next; + } + + function workLoop(isYieldy) { + if (!isYieldy) { + // Flush work without yielding + while (nextUnitOfWork !== null) { + nextUnitOfWork = performUnitOfWork(nextUnitOfWork); + } + } else { + // Flush asynchronous work until there's a higher priority event + while (nextUnitOfWork !== null && !shouldYieldToRenderer()) { + nextUnitOfWork = performUnitOfWork(nextUnitOfWork); + } + } + } + + function renderRoot(root, isYieldy) { + !!isWorking ? invariant(false, 'renderRoot was called recursively. This error is likely caused by a bug in React. Please file an issue.') : void 0; + + flushPassiveEffects(); + + isWorking = true; + var previousDispatcher = ReactCurrentDispatcher.current; + ReactCurrentDispatcher.current = ContextOnlyDispatcher; + + var expirationTime = root.nextExpirationTimeToWorkOn; + + // Check if we're starting from a fresh stack, or if we're resuming from + // previously yielded work. + if (expirationTime !== nextRenderExpirationTime || root !== nextRoot || nextUnitOfWork === null) { + // Reset the stack and start working from the root. + resetStack(); + nextRoot = root; + nextRenderExpirationTime = expirationTime; + nextUnitOfWork = createWorkInProgress(nextRoot.current, null, nextRenderExpirationTime); + root.pendingCommitExpirationTime = NoWork; + + if (enableSchedulerTracing) { + // Determine which interactions this batch of work currently includes, + // So that we can accurately attribute time spent working on it, + var interactions = new Set(); + root.pendingInteractionMap.forEach(function (scheduledInteractions, scheduledExpirationTime) { + if (scheduledExpirationTime >= expirationTime) { + scheduledInteractions.forEach(function (interaction) { + return interactions.add(interaction); + }); + } + }); + + // Store the current set of interactions on the FiberRoot for a few reasons: + // We can re-use it in hot functions like renderRoot() without having to recalculate it. + // We will also use it in commitWork() to pass to any Profiler onRender() hooks. + // This also provides DevTools with a way to access it when the onCommitRoot() hook is called. + root.memoizedInteractions = interactions; + + if (interactions.size > 0) { + var subscriber = tracing.__subscriberRef.current; + if (subscriber !== null) { + var threadID = computeThreadID(expirationTime, root.interactionThreadID); + try { + subscriber.onWorkStarted(interactions, threadID); + } catch (error) { + // Work thrown by an interaction tracing subscriber should be rethrown, + // But only once it's safe (to avoid leaving the scheduler in an invalid state). + // Store the error for now and we'll re-throw in finishRendering(). + if (!hasUnhandledError) { + hasUnhandledError = true; + unhandledError = error; + } + } + } + } + } + } + + var prevInteractions = null; + if (enableSchedulerTracing) { + // We're about to start new traced work. + // Restore pending interactions so cascading work triggered during the render phase will be accounted for. + prevInteractions = tracing.__interactionsRef.current; + tracing.__interactionsRef.current = root.memoizedInteractions; + } + + var didFatal = false; + + startWorkLoopTimer(nextUnitOfWork); + + do { + try { + workLoop(isYieldy); + } catch (thrownValue) { + resetContextDependences(); + resetHooks(); + + // Reset in case completion throws. + // This is only used in DEV and when replaying is on. + var mayReplay = void 0; + if ( true && replayFailedUnitOfWorkWithInvokeGuardedCallback) { + mayReplay = mayReplayFailedUnitOfWork; + mayReplayFailedUnitOfWork = true; + } + + if (nextUnitOfWork === null) { + // This is a fatal error. + didFatal = true; + onUncaughtError(thrownValue); + } else { + if (enableProfilerTimer && nextUnitOfWork.mode & ProfileMode) { + // Record the time spent rendering before an error was thrown. + // This avoids inaccurate Profiler durations in the case of a suspended render. + stopProfilerTimerIfRunningAndRecordDelta(nextUnitOfWork, true); + } + + { + // Reset global debug state + // We assume this is defined in DEV + resetCurrentlyProcessingQueue(); + } + + if ( true && replayFailedUnitOfWorkWithInvokeGuardedCallback) { + if (mayReplay) { + var failedUnitOfWork = nextUnitOfWork; + replayUnitOfWork(failedUnitOfWork, thrownValue, isYieldy); + } + } + + // TODO: we already know this isn't true in some cases. + // At least this shows a nicer error message until we figure out the cause. + // https://github.com/facebook/react/issues/12449#issuecomment-386727431 + !(nextUnitOfWork !== null) ? invariant(false, 'Failed to replay rendering after an error. This is likely caused by a bug in React. Please file an issue with a reproducing case to help us find it.') : void 0; + + var sourceFiber = nextUnitOfWork; + var returnFiber = sourceFiber.return; + if (returnFiber === null) { + // This is the root. The root could capture its own errors. However, + // we don't know if it errors before or after we pushed the host + // context. This information is needed to avoid a stack mismatch. + // Because we're not sure, treat this as a fatal error. We could track + // which phase it fails in, but doesn't seem worth it. At least + // for now. + didFatal = true; + onUncaughtError(thrownValue); + } else { + throwException(root, returnFiber, sourceFiber, thrownValue, nextRenderExpirationTime); + nextUnitOfWork = completeUnitOfWork(sourceFiber); + continue; + } + } + } + break; + } while (true); + + if (enableSchedulerTracing) { + // Traced work is done for now; restore the previous interactions. + tracing.__interactionsRef.current = prevInteractions; + } + + // We're done performing work. Time to clean up. + isWorking = false; + ReactCurrentDispatcher.current = previousDispatcher; + resetContextDependences(); + resetHooks(); + + // Yield back to main thread. + if (didFatal) { + var _didCompleteRoot = false; + stopWorkLoopTimer(interruptedBy, _didCompleteRoot); + interruptedBy = null; + // There was a fatal error. + { + resetStackAfterFatalErrorInDev(); + } + // `nextRoot` points to the in-progress root. A non-null value indicates + // that we're in the middle of an async render. Set it to null to indicate + // there's no more work to be done in the current batch. + nextRoot = null; + onFatal(root); + return; + } + + if (nextUnitOfWork !== null) { + // There's still remaining async work in this tree, but we ran out of time + // in the current frame. Yield back to the renderer. Unless we're + // interrupted by a higher priority update, we'll continue later from where + // we left off. + var _didCompleteRoot2 = false; + stopWorkLoopTimer(interruptedBy, _didCompleteRoot2); + interruptedBy = null; + onYield(root); + return; + } + + // We completed the whole tree. + var didCompleteRoot = true; + stopWorkLoopTimer(interruptedBy, didCompleteRoot); + var rootWorkInProgress = root.current.alternate; + !(rootWorkInProgress !== null) ? invariant(false, 'Finished root should have a work-in-progress. This error is likely caused by a bug in React. Please file an issue.') : void 0; + + // `nextRoot` points to the in-progress root. A non-null value indicates + // that we're in the middle of an async render. Set it to null to indicate + // there's no more work to be done in the current batch. + nextRoot = null; + interruptedBy = null; + + if (nextRenderDidError) { + // There was an error + if (hasLowerPriorityWork(root, expirationTime)) { + // There's lower priority work. If so, it may have the effect of fixing + // the exception that was just thrown. Exit without committing. This is + // similar to a suspend, but without a timeout because we're not waiting + // for a promise to resolve. React will restart at the lower + // priority level. + markSuspendedPriorityLevel(root, expirationTime); + var suspendedExpirationTime = expirationTime; + var rootExpirationTime = root.expirationTime; + onSuspend(root, rootWorkInProgress, suspendedExpirationTime, rootExpirationTime, -1 // Indicates no timeout + ); + return; + } else if ( + // There's no lower priority work, but we're rendering asynchronously. + // Synchronously attempt to render the same level one more time. This is + // similar to a suspend, but without a timeout because we're not waiting + // for a promise to resolve. + !root.didError && isYieldy) { + root.didError = true; + var _suspendedExpirationTime = root.nextExpirationTimeToWorkOn = expirationTime; + var _rootExpirationTime = root.expirationTime = Sync; + onSuspend(root, rootWorkInProgress, _suspendedExpirationTime, _rootExpirationTime, -1 // Indicates no timeout + ); + return; + } + } + + if (isYieldy && nextLatestAbsoluteTimeoutMs !== -1) { + // The tree was suspended. + var _suspendedExpirationTime2 = expirationTime; + markSuspendedPriorityLevel(root, _suspendedExpirationTime2); + + // Find the earliest uncommitted expiration time in the tree, including + // work that is suspended. The timeout threshold cannot be longer than + // the overall expiration. + var earliestExpirationTime = findEarliestOutstandingPriorityLevel(root, expirationTime); + var earliestExpirationTimeMs = expirationTimeToMs(earliestExpirationTime); + if (earliestExpirationTimeMs < nextLatestAbsoluteTimeoutMs) { + nextLatestAbsoluteTimeoutMs = earliestExpirationTimeMs; + } + + // Subtract the current time from the absolute timeout to get the number + // of milliseconds until the timeout. In other words, convert an absolute + // timestamp to a relative time. This is the value that is passed + // to `setTimeout`. + var currentTimeMs = expirationTimeToMs(requestCurrentTime()); + var msUntilTimeout = nextLatestAbsoluteTimeoutMs - currentTimeMs; + msUntilTimeout = msUntilTimeout < 0 ? 0 : msUntilTimeout; + + // TODO: Account for the Just Noticeable Difference + + var _rootExpirationTime2 = root.expirationTime; + onSuspend(root, rootWorkInProgress, _suspendedExpirationTime2, _rootExpirationTime2, msUntilTimeout); + return; + } + + // Ready to commit. + onComplete(root, rootWorkInProgress, expirationTime); + } + + function captureCommitPhaseError(sourceFiber, value) { + var expirationTime = Sync; + var fiber = sourceFiber.return; + while (fiber !== null) { + switch (fiber.tag) { + case ClassComponent: + var ctor = fiber.type; + var instance = fiber.stateNode; + if (typeof ctor.getDerivedStateFromError === 'function' || typeof instance.componentDidCatch === 'function' && !isAlreadyFailedLegacyErrorBoundary(instance)) { + var errorInfo = createCapturedValue(value, sourceFiber); + var update = createClassErrorUpdate(fiber, errorInfo, expirationTime); + enqueueUpdate(fiber, update); + scheduleWork(fiber, expirationTime); + return; + } + break; + case HostRoot: + { + var _errorInfo = createCapturedValue(value, sourceFiber); + var _update = createRootErrorUpdate(fiber, _errorInfo, expirationTime); + enqueueUpdate(fiber, _update); + scheduleWork(fiber, expirationTime); + return; + } + } + fiber = fiber.return; + } + + if (sourceFiber.tag === HostRoot) { + // Error was thrown at the root. There is no parent, so the root + // itself should capture it. + var rootFiber = sourceFiber; + var _errorInfo2 = createCapturedValue(value, rootFiber); + var _update2 = createRootErrorUpdate(rootFiber, _errorInfo2, expirationTime); + enqueueUpdate(rootFiber, _update2); + scheduleWork(rootFiber, expirationTime); + } + } + + function computeThreadID(expirationTime, interactionThreadID) { + // Interaction threads are unique per root and expiration time. + return expirationTime * 1000 + interactionThreadID; + } + + // Creates a unique async expiration time. + function computeUniqueAsyncExpiration() { + var currentTime = requestCurrentTime(); + var result = computeAsyncExpiration(currentTime); + if (result >= lastUniqueAsyncExpiration) { + // Since we assume the current time monotonically increases, we only hit + // this branch when computeUniqueAsyncExpiration is fired multiple times + // within a 200ms window (or whatever the async bucket size is). + result = lastUniqueAsyncExpiration - 1; + } + lastUniqueAsyncExpiration = result; + return lastUniqueAsyncExpiration; + } + + function computeExpirationForFiber(currentTime, fiber) { + var priorityLevel = scheduler.unstable_getCurrentPriorityLevel(); + + var expirationTime = void 0; + if ((fiber.mode & ConcurrentMode) === NoContext) { + // Outside of concurrent mode, updates are always synchronous. + expirationTime = Sync; + } else if (isWorking && !isCommitting$1) { + // During render phase, updates expire during as the current render. + expirationTime = nextRenderExpirationTime; + } else { + switch (priorityLevel) { + case scheduler.unstable_ImmediatePriority: + expirationTime = Sync; + break; + case scheduler.unstable_UserBlockingPriority: + expirationTime = computeInteractiveExpiration(currentTime); + break; + case scheduler.unstable_NormalPriority: + // This is a normal, concurrent update + expirationTime = computeAsyncExpiration(currentTime); + break; + case scheduler.unstable_LowPriority: + case scheduler.unstable_IdlePriority: + expirationTime = Never; + break; + default: + invariant(false, 'Unknown priority level. This error is likely caused by a bug in React. Please file an issue.'); + } + + // If we're in the middle of rendering a tree, do not update at the same + // expiration time that is already rendering. + if (nextRoot !== null && expirationTime === nextRenderExpirationTime) { + expirationTime -= 1; + } + } + + // Keep track of the lowest pending interactive expiration time. This + // allows us to synchronously flush all interactive updates + // when needed. + // TODO: Move this to renderer? + if (priorityLevel === scheduler.unstable_UserBlockingPriority && (lowestPriorityPendingInteractiveExpirationTime === NoWork || expirationTime < lowestPriorityPendingInteractiveExpirationTime)) { + lowestPriorityPendingInteractiveExpirationTime = expirationTime; + } + + return expirationTime; + } + + function renderDidSuspend(root, absoluteTimeoutMs, suspendedTime) { + // Schedule the timeout. + if (absoluteTimeoutMs >= 0 && nextLatestAbsoluteTimeoutMs < absoluteTimeoutMs) { + nextLatestAbsoluteTimeoutMs = absoluteTimeoutMs; + } + } + + function renderDidError() { + nextRenderDidError = true; + } + + function pingSuspendedRoot(root, thenable, pingTime) { + // A promise that previously suspended React from committing has resolved. + // If React is still suspended, try again at the previous level (pingTime). + + var pingCache = root.pingCache; + if (pingCache !== null) { + // The thenable resolved, so we no longer need to memoize, because it will + // never be thrown again. + pingCache.delete(thenable); + } + + if (nextRoot !== null && nextRenderExpirationTime === pingTime) { + // Received a ping at the same priority level at which we're currently + // rendering. Restart from the root. + nextRoot = null; + } else { + // Confirm that the root is still suspended at this level. Otherwise exit. + if (isPriorityLevelSuspended(root, pingTime)) { + // Ping at the original level + markPingedPriorityLevel(root, pingTime); + var rootExpirationTime = root.expirationTime; + if (rootExpirationTime !== NoWork) { + requestWork(root, rootExpirationTime); + } + } + } + } + + function retryTimedOutBoundary(boundaryFiber, thenable) { + // The boundary fiber (a Suspense component) previously timed out and was + // rendered in its fallback state. One of the promises that suspended it has + // resolved, which means at least part of the tree was likely unblocked. Try + var retryCache = void 0; + if (enableSuspenseServerRenderer) { + switch (boundaryFiber.tag) { + case SuspenseComponent: + retryCache = boundaryFiber.stateNode; + break; + case DehydratedSuspenseComponent: + retryCache = boundaryFiber.memoizedState; + break; + default: + invariant(false, 'Pinged unknown suspense boundary type. This is probably a bug in React.'); + } + } else { + retryCache = boundaryFiber.stateNode; + } + if (retryCache !== null) { + // The thenable resolved, so we no longer need to memoize, because it will + // never be thrown again. + retryCache.delete(thenable); + } + + var currentTime = requestCurrentTime(); + var retryTime = computeExpirationForFiber(currentTime, boundaryFiber); + var root = scheduleWorkToRoot(boundaryFiber, retryTime); + if (root !== null) { + markPendingPriorityLevel(root, retryTime); + var rootExpirationTime = root.expirationTime; + if (rootExpirationTime !== NoWork) { + requestWork(root, rootExpirationTime); + } + } + } + + function scheduleWorkToRoot(fiber, expirationTime) { + recordScheduleUpdate(); + + { + if (fiber.tag === ClassComponent) { + var instance = fiber.stateNode; + warnAboutInvalidUpdates(instance); + } + } + + // Update the source fiber's expiration time + if (fiber.expirationTime < expirationTime) { + fiber.expirationTime = expirationTime; + } + var alternate = fiber.alternate; + if (alternate !== null && alternate.expirationTime < expirationTime) { + alternate.expirationTime = expirationTime; + } + // Walk the parent path to the root and update the child expiration time. + var node = fiber.return; + var root = null; + if (node === null && fiber.tag === HostRoot) { + root = fiber.stateNode; + } else { + while (node !== null) { + alternate = node.alternate; + if (node.childExpirationTime < expirationTime) { + node.childExpirationTime = expirationTime; + if (alternate !== null && alternate.childExpirationTime < expirationTime) { + alternate.childExpirationTime = expirationTime; + } + } else if (alternate !== null && alternate.childExpirationTime < expirationTime) { + alternate.childExpirationTime = expirationTime; + } + if (node.return === null && node.tag === HostRoot) { + root = node.stateNode; + break; + } + node = node.return; + } + } + + if (enableSchedulerTracing) { + if (root !== null) { + var interactions = tracing.__interactionsRef.current; + if (interactions.size > 0) { + var pendingInteractionMap = root.pendingInteractionMap; + var pendingInteractions = pendingInteractionMap.get(expirationTime); + if (pendingInteractions != null) { + interactions.forEach(function (interaction) { + if (!pendingInteractions.has(interaction)) { + // Update the pending async work count for previously unscheduled interaction. + interaction.__count++; + } + + pendingInteractions.add(interaction); + }); + } else { + pendingInteractionMap.set(expirationTime, new Set(interactions)); + + // Update the pending async work count for the current interactions. + interactions.forEach(function (interaction) { + interaction.__count++; + }); + } + + var subscriber = tracing.__subscriberRef.current; + if (subscriber !== null) { + var threadID = computeThreadID(expirationTime, root.interactionThreadID); + subscriber.onWorkScheduled(interactions, threadID); + } + } + } + } + return root; + } + + function warnIfNotCurrentlyBatchingInDev(fiber) { + { + if (isRendering === false && isBatchingUpdates === false) { + warningWithoutStack$1(false, 'An update to %s inside a test was not wrapped in act(...).\n\n' + 'When testing, code that causes React state updates should be wrapped into act(...):\n\n' + 'act(() => {\n' + ' /* fire events that update state */\n' + '});\n' + '/* assert on the output */\n\n' + "This ensures that you're testing the behavior the user would see in the browser." + ' Learn more at https://fb.me/react-wrap-tests-with-act' + '%s', getComponentName(fiber.type), getStackByFiberInDevAndProd(fiber)); + } + } + } + + function scheduleWork(fiber, expirationTime) { + var root = scheduleWorkToRoot(fiber, expirationTime); + if (root === null) { + { + switch (fiber.tag) { + case ClassComponent: + warnAboutUpdateOnUnmounted(fiber, true); + break; + case FunctionComponent: + case ForwardRef: + case MemoComponent: + case SimpleMemoComponent: + warnAboutUpdateOnUnmounted(fiber, false); + break; + } + } + return; + } + + if (!isWorking && nextRenderExpirationTime !== NoWork && expirationTime > nextRenderExpirationTime) { + // This is an interruption. (Used for performance tracking.) + interruptedBy = fiber; + resetStack(); + } + markPendingPriorityLevel(root, expirationTime); + if ( + // If we're in the render phase, we don't need to schedule this root + // for an update, because we'll do it before we exit... + !isWorking || isCommitting$1 || + // ...unless this is a different root than the one we're rendering. + nextRoot !== root) { + var rootExpirationTime = root.expirationTime; + requestWork(root, rootExpirationTime); + } + if (nestedUpdateCount > NESTED_UPDATE_LIMIT) { + // Reset this back to zero so subsequent updates don't throw. + nestedUpdateCount = 0; + invariant(false, 'Maximum update depth exceeded. This can happen when a component repeatedly calls setState inside componentWillUpdate or componentDidUpdate. React limits the number of nested updates to prevent infinite loops.'); + } + } + + function syncUpdates(fn, a, b, c, d) { + return scheduler.unstable_runWithPriority(scheduler.unstable_ImmediatePriority, function () { + return fn(a, b, c, d); + }); + } + + // TODO: Everything below this is written as if it has been lifted to the + // renderers. I'll do this in a follow-up. + + // Linked-list of roots + var firstScheduledRoot = null; + var lastScheduledRoot = null; + + var callbackExpirationTime = NoWork; + var callbackID = void 0; + var isRendering = false; + var nextFlushedRoot = null; + var nextFlushedExpirationTime = NoWork; + var lowestPriorityPendingInteractiveExpirationTime = NoWork; + var hasUnhandledError = false; + var unhandledError = null; + + var isBatchingUpdates = false; + var isUnbatchingUpdates = false; + + var completedBatches = null; + + var originalStartTimeMs = now(); + var currentRendererTime = msToExpirationTime(originalStartTimeMs); + var currentSchedulerTime = currentRendererTime; + + // Use these to prevent an infinite loop of nested updates + var NESTED_UPDATE_LIMIT = 50; + var nestedUpdateCount = 0; + var lastCommittedRootDuringThisBatch = null; + + function recomputeCurrentRendererTime() { + var currentTimeMs = now() - originalStartTimeMs; + currentRendererTime = msToExpirationTime(currentTimeMs); + } + + function scheduleCallbackWithExpirationTime(root, expirationTime) { + if (callbackExpirationTime !== NoWork) { + // A callback is already scheduled. Check its expiration time (timeout). + if (expirationTime < callbackExpirationTime) { + // Existing callback has sufficient timeout. Exit. + return; + } else { + if (callbackID !== null) { + // Existing callback has insufficient timeout. Cancel and schedule a + // new one. + cancelDeferredCallback(callbackID); + } + } + // The request callback timer is already running. Don't start a new one. + } else { + startRequestCallbackTimer(); + } + + callbackExpirationTime = expirationTime; + var currentMs = now() - originalStartTimeMs; + var expirationTimeMs = expirationTimeToMs(expirationTime); + var timeout = expirationTimeMs - currentMs; + callbackID = scheduleDeferredCallback(performAsyncWork, { timeout: timeout }); + } + + // For every call to renderRoot, one of onFatal, onComplete, onSuspend, and + // onYield is called upon exiting. We use these in lieu of returning a tuple. + // I've also chosen not to inline them into renderRoot because these will + // eventually be lifted into the renderer. + function onFatal(root) { + root.finishedWork = null; + } + + function onComplete(root, finishedWork, expirationTime) { + root.pendingCommitExpirationTime = expirationTime; + root.finishedWork = finishedWork; + } + + function onSuspend(root, finishedWork, suspendedExpirationTime, rootExpirationTime, msUntilTimeout) { + root.expirationTime = rootExpirationTime; + if (msUntilTimeout === 0 && !shouldYieldToRenderer()) { + // Don't wait an additional tick. Commit the tree immediately. + root.pendingCommitExpirationTime = suspendedExpirationTime; + root.finishedWork = finishedWork; + } else if (msUntilTimeout > 0) { + // Wait `msUntilTimeout` milliseconds before committing. + root.timeoutHandle = scheduleTimeout(onTimeout.bind(null, root, finishedWork, suspendedExpirationTime), msUntilTimeout); + } + } + + function onYield(root) { + root.finishedWork = null; + } + + function onTimeout(root, finishedWork, suspendedExpirationTime) { + // The root timed out. Commit it. + root.pendingCommitExpirationTime = suspendedExpirationTime; + root.finishedWork = finishedWork; + // Read the current time before entering the commit phase. We can be + // certain this won't cause tearing related to batching of event updates + // because we're at the top of a timer event. + recomputeCurrentRendererTime(); + currentSchedulerTime = currentRendererTime; + flushRoot(root, suspendedExpirationTime); + } + + function onCommit(root, expirationTime) { + root.expirationTime = expirationTime; + root.finishedWork = null; + } + + function requestCurrentTime() { + // requestCurrentTime is called by the scheduler to compute an expiration + // time. + // + // Expiration times are computed by adding to the current time (the start + // time). However, if two updates are scheduled within the same event, we + // should treat their start times as simultaneous, even if the actual clock + // time has advanced between the first and second call. + + // In other words, because expiration times determine how updates are batched, + // we want all updates of like priority that occur within the same event to + // receive the same expiration time. Otherwise we get tearing. + // + // We keep track of two separate times: the current "renderer" time and the + // current "scheduler" time. The renderer time can be updated whenever; it + // only exists to minimize the calls performance.now. + // + // But the scheduler time can only be updated if there's no pending work, or + // if we know for certain that we're not in the middle of an event. + + if (isRendering) { + // We're already rendering. Return the most recently read time. + return currentSchedulerTime; + } + // Check if there's pending work. + findHighestPriorityRoot(); + if (nextFlushedExpirationTime === NoWork || nextFlushedExpirationTime === Never) { + // If there's no pending work, or if the pending work is offscreen, we can + // read the current time without risk of tearing. + recomputeCurrentRendererTime(); + currentSchedulerTime = currentRendererTime; + return currentSchedulerTime; + } + // There's already pending work. We might be in the middle of a browser + // event. If we were to read the current time, it could cause multiple updates + // within the same event to receive different expiration times, leading to + // tearing. Return the last read time. During the next idle callback, the + // time will be updated. + return currentSchedulerTime; + } + + // requestWork is called by the scheduler whenever a root receives an update. + // It's up to the renderer to call renderRoot at some point in the future. + function requestWork(root, expirationTime) { + addRootToSchedule(root, expirationTime); + if (isRendering) { + // Prevent reentrancy. Remaining work will be scheduled at the end of + // the currently rendering batch. + return; + } + + if (isBatchingUpdates) { + // Flush work at the end of the batch. + if (isUnbatchingUpdates) { + // ...unless we're inside unbatchedUpdates, in which case we should + // flush it now. + nextFlushedRoot = root; + nextFlushedExpirationTime = Sync; + performWorkOnRoot(root, Sync, false); + } + return; + } + + // TODO: Get rid of Sync and use current time? + if (expirationTime === Sync) { + performSyncWork(); + } else { + scheduleCallbackWithExpirationTime(root, expirationTime); + } + } + + function addRootToSchedule(root, expirationTime) { + // Add the root to the schedule. + // Check if this root is already part of the schedule. + if (root.nextScheduledRoot === null) { + // This root is not already scheduled. Add it. + root.expirationTime = expirationTime; + if (lastScheduledRoot === null) { + firstScheduledRoot = lastScheduledRoot = root; + root.nextScheduledRoot = root; + } else { + lastScheduledRoot.nextScheduledRoot = root; + lastScheduledRoot = root; + lastScheduledRoot.nextScheduledRoot = firstScheduledRoot; + } + } else { + // This root is already scheduled, but its priority may have increased. + var remainingExpirationTime = root.expirationTime; + if (expirationTime > remainingExpirationTime) { + // Update the priority. + root.expirationTime = expirationTime; + } + } + } + + function findHighestPriorityRoot() { + var highestPriorityWork = NoWork; + var highestPriorityRoot = null; + if (lastScheduledRoot !== null) { + var previousScheduledRoot = lastScheduledRoot; + var root = firstScheduledRoot; + while (root !== null) { + var remainingExpirationTime = root.expirationTime; + if (remainingExpirationTime === NoWork) { + // This root no longer has work. Remove it from the scheduler. + + // TODO: This check is redudant, but Flow is confused by the branch + // below where we set lastScheduledRoot to null, even though we break + // from the loop right after. + !(previousScheduledRoot !== null && lastScheduledRoot !== null) ? invariant(false, 'Should have a previous and last root. This error is likely caused by a bug in React. Please file an issue.') : void 0; + if (root === root.nextScheduledRoot) { + // This is the only root in the list. + root.nextScheduledRoot = null; + firstScheduledRoot = lastScheduledRoot = null; + break; + } else if (root === firstScheduledRoot) { + // This is the first root in the list. + var next = root.nextScheduledRoot; + firstScheduledRoot = next; + lastScheduledRoot.nextScheduledRoot = next; + root.nextScheduledRoot = null; + } else if (root === lastScheduledRoot) { + // This is the last root in the list. + lastScheduledRoot = previousScheduledRoot; + lastScheduledRoot.nextScheduledRoot = firstScheduledRoot; + root.nextScheduledRoot = null; + break; + } else { + previousScheduledRoot.nextScheduledRoot = root.nextScheduledRoot; + root.nextScheduledRoot = null; + } + root = previousScheduledRoot.nextScheduledRoot; + } else { + if (remainingExpirationTime > highestPriorityWork) { + // Update the priority, if it's higher + highestPriorityWork = remainingExpirationTime; + highestPriorityRoot = root; + } + if (root === lastScheduledRoot) { + break; + } + if (highestPriorityWork === Sync) { + // Sync is highest priority by definition so + // we can stop searching. + break; + } + previousScheduledRoot = root; + root = root.nextScheduledRoot; + } + } + } + + nextFlushedRoot = highestPriorityRoot; + nextFlushedExpirationTime = highestPriorityWork; + } + + // TODO: This wrapper exists because many of the older tests (the ones that use + // flushDeferredPri) rely on the number of times `shouldYield` is called. We + // should get rid of it. + var didYield = false; + function shouldYieldToRenderer() { + if (didYield) { + return true; + } + if (shouldYield()) { + didYield = true; + return true; + } + return false; + } + + function performAsyncWork() { + try { + if (!shouldYieldToRenderer()) { + // The callback timed out. That means at least one update has expired. + // Iterate through the root schedule. If they contain expired work, set + // the next render expiration time to the current time. This has the effect + // of flushing all expired work in a single batch, instead of flushing each + // level one at a time. + if (firstScheduledRoot !== null) { + recomputeCurrentRendererTime(); + var root = firstScheduledRoot; + do { + didExpireAtExpirationTime(root, currentRendererTime); + // The root schedule is circular, so this is never null. + root = root.nextScheduledRoot; + } while (root !== firstScheduledRoot); + } + } + performWork(NoWork, true); + } finally { + didYield = false; + } + } + + function performSyncWork() { + performWork(Sync, false); + } + + function performWork(minExpirationTime, isYieldy) { + // Keep working on roots until there's no more work, or until there's a higher + // priority event. + findHighestPriorityRoot(); + + if (isYieldy) { + recomputeCurrentRendererTime(); + currentSchedulerTime = currentRendererTime; + + if (enableUserTimingAPI) { + var didExpire = nextFlushedExpirationTime > currentRendererTime; + var timeout = expirationTimeToMs(nextFlushedExpirationTime); + stopRequestCallbackTimer(didExpire, timeout); + } + + while (nextFlushedRoot !== null && nextFlushedExpirationTime !== NoWork && minExpirationTime <= nextFlushedExpirationTime && !(didYield && currentRendererTime > nextFlushedExpirationTime)) { + performWorkOnRoot(nextFlushedRoot, nextFlushedExpirationTime, currentRendererTime > nextFlushedExpirationTime); + findHighestPriorityRoot(); + recomputeCurrentRendererTime(); + currentSchedulerTime = currentRendererTime; + } + } else { + while (nextFlushedRoot !== null && nextFlushedExpirationTime !== NoWork && minExpirationTime <= nextFlushedExpirationTime) { + performWorkOnRoot(nextFlushedRoot, nextFlushedExpirationTime, false); + findHighestPriorityRoot(); + } + } + + // We're done flushing work. Either we ran out of time in this callback, + // or there's no more work left with sufficient priority. + + // If we're inside a callback, set this to false since we just completed it. + if (isYieldy) { + callbackExpirationTime = NoWork; + callbackID = null; + } + // If there's work left over, schedule a new callback. + if (nextFlushedExpirationTime !== NoWork) { + scheduleCallbackWithExpirationTime(nextFlushedRoot, nextFlushedExpirationTime); + } + + // Clean-up. + finishRendering(); + } + + function flushRoot(root, expirationTime) { + !!isRendering ? invariant(false, 'work.commit(): Cannot commit while already rendering. This likely means you attempted to commit from inside a lifecycle method.') : void 0; + // Perform work on root as if the given expiration time is the current time. + // This has the effect of synchronously flushing all work up to and + // including the given time. + nextFlushedRoot = root; + nextFlushedExpirationTime = expirationTime; + performWorkOnRoot(root, expirationTime, false); + // Flush any sync work that was scheduled by lifecycles + performSyncWork(); + } + + function finishRendering() { + nestedUpdateCount = 0; + lastCommittedRootDuringThisBatch = null; + + if (completedBatches !== null) { + var batches = completedBatches; + completedBatches = null; + for (var i = 0; i < batches.length; i++) { + var batch = batches[i]; + try { + batch._onComplete(); + } catch (error) { + if (!hasUnhandledError) { + hasUnhandledError = true; + unhandledError = error; + } + } + } + } + + if (hasUnhandledError) { + var error = unhandledError; + unhandledError = null; + hasUnhandledError = false; + throw error; + } + } + + function performWorkOnRoot(root, expirationTime, isYieldy) { + !!isRendering ? invariant(false, 'performWorkOnRoot was called recursively. This error is likely caused by a bug in React. Please file an issue.') : void 0; + + isRendering = true; + + // Check if this is async work or sync/expired work. + if (!isYieldy) { + // Flush work without yielding. + // TODO: Non-yieldy work does not necessarily imply expired work. A renderer + // may want to perform some work without yielding, but also without + // requiring the root to complete (by triggering placeholders). + + var finishedWork = root.finishedWork; + if (finishedWork !== null) { + // This root is already complete. We can commit it. + completeRoot(root, finishedWork, expirationTime); + } else { + root.finishedWork = null; + // If this root previously suspended, clear its existing timeout, since + // we're about to try rendering again. + var timeoutHandle = root.timeoutHandle; + if (timeoutHandle !== noTimeout) { + root.timeoutHandle = noTimeout; + // $FlowFixMe Complains noTimeout is not a TimeoutID, despite the check above + cancelTimeout(timeoutHandle); + } + renderRoot(root, isYieldy); + finishedWork = root.finishedWork; + if (finishedWork !== null) { + // We've completed the root. Commit it. + completeRoot(root, finishedWork, expirationTime); + } + } + } else { + // Flush async work. + var _finishedWork = root.finishedWork; + if (_finishedWork !== null) { + // This root is already complete. We can commit it. + completeRoot(root, _finishedWork, expirationTime); + } else { + root.finishedWork = null; + // If this root previously suspended, clear its existing timeout, since + // we're about to try rendering again. + var _timeoutHandle = root.timeoutHandle; + if (_timeoutHandle !== noTimeout) { + root.timeoutHandle = noTimeout; + // $FlowFixMe Complains noTimeout is not a TimeoutID, despite the check above + cancelTimeout(_timeoutHandle); + } + renderRoot(root, isYieldy); + _finishedWork = root.finishedWork; + if (_finishedWork !== null) { + // We've completed the root. Check the if we should yield one more time + // before committing. + if (!shouldYieldToRenderer()) { + // Still time left. Commit the root. + completeRoot(root, _finishedWork, expirationTime); + } else { + // There's no time left. Mark this root as complete. We'll come + // back and commit it later. + root.finishedWork = _finishedWork; + } + } + } + } + + isRendering = false; + } + + function completeRoot(root, finishedWork, expirationTime) { + // Check if there's a batch that matches this expiration time. + var firstBatch = root.firstBatch; + if (firstBatch !== null && firstBatch._expirationTime >= expirationTime) { + if (completedBatches === null) { + completedBatches = [firstBatch]; + } else { + completedBatches.push(firstBatch); + } + if (firstBatch._defer) { + // This root is blocked from committing by a batch. Unschedule it until + // we receive another update. + root.finishedWork = finishedWork; + root.expirationTime = NoWork; + return; + } + } + + // Commit the root. + root.finishedWork = null; + + // Check if this is a nested update (a sync update scheduled during the + // commit phase). + if (root === lastCommittedRootDuringThisBatch) { + // If the next root is the same as the previous root, this is a nested + // update. To prevent an infinite loop, increment the nested update count. + nestedUpdateCount++; + } else { + // Reset whenever we switch roots. + lastCommittedRootDuringThisBatch = root; + nestedUpdateCount = 0; + } + scheduler.unstable_runWithPriority(scheduler.unstable_ImmediatePriority, function () { + commitRoot(root, finishedWork); + }); + } + + function onUncaughtError(error) { + !(nextFlushedRoot !== null) ? invariant(false, 'Should be working on a root. This error is likely caused by a bug in React. Please file an issue.') : void 0; + // Unschedule this root so we don't work on it again until there's + // another update. + nextFlushedRoot.expirationTime = NoWork; + if (!hasUnhandledError) { + hasUnhandledError = true; + unhandledError = error; + } + } + + // TODO: Batching should be implemented at the renderer level, not inside + // the reconciler. + function batchedUpdates(fn, a) { + var previousIsBatchingUpdates = isBatchingUpdates; + isBatchingUpdates = true; + try { + return fn(a); + } finally { + isBatchingUpdates = previousIsBatchingUpdates; + if (!isBatchingUpdates && !isRendering) { + performSyncWork(); + } + } + } + + // TODO: Batching should be implemented at the renderer level, not inside + // the reconciler. + function unbatchedUpdates(fn, a) { + if (isBatchingUpdates && !isUnbatchingUpdates) { + isUnbatchingUpdates = true; + try { + return fn(a); + } finally { + isUnbatchingUpdates = false; + } + } + return fn(a); + } + + // TODO: Batching should be implemented at the renderer level, not within + // the reconciler. + function flushSync(fn, a) { + !!isRendering ? invariant(false, 'flushSync was called from inside a lifecycle method. It cannot be called when React is already rendering.') : void 0; + var previousIsBatchingUpdates = isBatchingUpdates; + isBatchingUpdates = true; + try { + return syncUpdates(fn, a); + } finally { + isBatchingUpdates = previousIsBatchingUpdates; + performSyncWork(); + } + } + + function interactiveUpdates(fn, a, b) { + // If there are any pending interactive updates, synchronously flush them. + // This needs to happen before we read any handlers, because the effect of + // the previous event may influence which handlers are called during + // this event. + if (!isBatchingUpdates && !isRendering && lowestPriorityPendingInteractiveExpirationTime !== NoWork) { + // Synchronously flush pending interactive updates. + performWork(lowestPriorityPendingInteractiveExpirationTime, false); + lowestPriorityPendingInteractiveExpirationTime = NoWork; + } + var previousIsBatchingUpdates = isBatchingUpdates; + isBatchingUpdates = true; + try { + return scheduler.unstable_runWithPriority(scheduler.unstable_UserBlockingPriority, function () { + return fn(a, b); + }); + } finally { + isBatchingUpdates = previousIsBatchingUpdates; + if (!isBatchingUpdates && !isRendering) { + performSyncWork(); + } + } + } + + function flushInteractiveUpdates() { + if (!isRendering && lowestPriorityPendingInteractiveExpirationTime !== NoWork) { + // Synchronously flush pending interactive updates. + performWork(lowestPriorityPendingInteractiveExpirationTime, false); + lowestPriorityPendingInteractiveExpirationTime = NoWork; + } + } + + function flushControlled(fn) { + var previousIsBatchingUpdates = isBatchingUpdates; + isBatchingUpdates = true; + try { + syncUpdates(fn); + } finally { + isBatchingUpdates = previousIsBatchingUpdates; + if (!isBatchingUpdates && !isRendering) { + performSyncWork(); + } + } + } + + // 0 is PROD, 1 is DEV. + // Might add PROFILE later. + + + var didWarnAboutNestedUpdates = void 0; + var didWarnAboutFindNodeInStrictMode = void 0; + + { + didWarnAboutNestedUpdates = false; + didWarnAboutFindNodeInStrictMode = {}; + } + + function getContextForSubtree(parentComponent) { + if (!parentComponent) { + return emptyContextObject; + } + + var fiber = get(parentComponent); + var parentContext = findCurrentUnmaskedContext(fiber); + + if (fiber.tag === ClassComponent) { + var Component = fiber.type; + if (isContextProvider(Component)) { + return processChildContext(fiber, Component, parentContext); + } + } + + return parentContext; + } + + function scheduleRootUpdate(current$$1, element, expirationTime, callback) { + { + if (phase === 'render' && current !== null && !didWarnAboutNestedUpdates) { + didWarnAboutNestedUpdates = true; + warningWithoutStack$1(false, 'Render methods should be a pure function of props and state; ' + 'triggering nested component updates from render is not allowed. ' + 'If necessary, trigger nested updates in componentDidUpdate.\n\n' + 'Check the render method of %s.', getComponentName(current.type) || 'Unknown'); + } + } + + var update = createUpdate(expirationTime); + // Caution: React DevTools currently depends on this property + // being called "element". + update.payload = { element: element }; + + callback = callback === undefined ? null : callback; + if (callback !== null) { + !(typeof callback === 'function') ? warningWithoutStack$1(false, 'render(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callback) : void 0; + update.callback = callback; + } + + flushPassiveEffects(); + enqueueUpdate(current$$1, update); + scheduleWork(current$$1, expirationTime); + + return expirationTime; + } + + function updateContainerAtExpirationTime(element, container, parentComponent, expirationTime, callback) { + // TODO: If this is a nested container, this won't be the root. + var current$$1 = container.current; + + { + if (ReactFiberInstrumentation_1.debugTool) { + if (current$$1.alternate === null) { + ReactFiberInstrumentation_1.debugTool.onMountContainer(container); + } else if (element === null) { + ReactFiberInstrumentation_1.debugTool.onUnmountContainer(container); + } else { + ReactFiberInstrumentation_1.debugTool.onUpdateContainer(container); + } + } + } + + var context = getContextForSubtree(parentComponent); + if (container.context === null) { + container.context = context; + } else { + container.pendingContext = context; + } + + return scheduleRootUpdate(current$$1, element, expirationTime, callback); + } + + function findHostInstance(component) { + var fiber = get(component); + if (fiber === undefined) { + if (typeof component.render === 'function') { + invariant(false, 'Unable to find node on an unmounted component.'); + } else { + invariant(false, 'Argument appears to not be a ReactComponent. Keys: %s', Object.keys(component)); + } + } + var hostFiber = findCurrentHostFiber(fiber); + if (hostFiber === null) { + return null; + } + return hostFiber.stateNode; + } + + function findHostInstanceWithWarning(component, methodName) { + { + var fiber = get(component); + if (fiber === undefined) { + if (typeof component.render === 'function') { + invariant(false, 'Unable to find node on an unmounted component.'); + } else { + invariant(false, 'Argument appears to not be a ReactComponent. Keys: %s', Object.keys(component)); + } + } + var hostFiber = findCurrentHostFiber(fiber); + if (hostFiber === null) { + return null; + } + if (hostFiber.mode & StrictMode) { + var componentName = getComponentName(fiber.type) || 'Component'; + if (!didWarnAboutFindNodeInStrictMode[componentName]) { + didWarnAboutFindNodeInStrictMode[componentName] = true; + if (fiber.mode & StrictMode) { + warningWithoutStack$1(false, '%s is deprecated in StrictMode. ' + '%s was passed an instance of %s which is inside StrictMode. ' + 'Instead, add a ref directly to the element you want to reference.' + '\n%s' + '\n\nLearn more about using refs safely here:' + '\nhttps://fb.me/react-strict-mode-find-node', methodName, methodName, componentName, getStackByFiberInDevAndProd(hostFiber)); + } else { + warningWithoutStack$1(false, '%s is deprecated in StrictMode. ' + '%s was passed an instance of %s which renders StrictMode children. ' + 'Instead, add a ref directly to the element you want to reference.' + '\n%s' + '\n\nLearn more about using refs safely here:' + '\nhttps://fb.me/react-strict-mode-find-node', methodName, methodName, componentName, getStackByFiberInDevAndProd(hostFiber)); + } + } + } + return hostFiber.stateNode; + } + return findHostInstance(component); + } + + function createContainer(containerInfo, isConcurrent, hydrate) { + return createFiberRoot(containerInfo, isConcurrent, hydrate); + } + + function updateContainer(element, container, parentComponent, callback) { + var current$$1 = container.current; + var currentTime = requestCurrentTime(); + var expirationTime = computeExpirationForFiber(currentTime, current$$1); + return updateContainerAtExpirationTime(element, container, parentComponent, expirationTime, callback); + } + + function getPublicRootInstance(container) { + var containerFiber = container.current; + if (!containerFiber.child) { + return null; + } + switch (containerFiber.child.tag) { + case HostComponent: + return getPublicInstance(containerFiber.child.stateNode); + default: + return containerFiber.child.stateNode; + } + } + + function findHostInstanceWithNoPortals(fiber) { + var hostFiber = findCurrentHostFiberWithNoPortals(fiber); + if (hostFiber === null) { + return null; + } + return hostFiber.stateNode; + } + + var overrideProps = null; + + { + var copyWithSetImpl = function (obj, path, idx, value) { + if (idx >= path.length) { + return value; + } + var key = path[idx]; + var updated = Array.isArray(obj) ? obj.slice() : _assign({}, obj); + // $FlowFixMe number or string is fine here + updated[key] = copyWithSetImpl(obj[key], path, idx + 1, value); + return updated; + }; + + var copyWithSet = function (obj, path, value) { + return copyWithSetImpl(obj, path, 0, value); + }; + + // Support DevTools props for function components, forwardRef, memo, host components, etc. + overrideProps = function (fiber, path, value) { + flushPassiveEffects(); + fiber.pendingProps = copyWithSet(fiber.memoizedProps, path, value); + if (fiber.alternate) { + fiber.alternate.pendingProps = fiber.pendingProps; + } + scheduleWork(fiber, Sync); + }; + } + + function injectIntoDevTools(devToolsConfig) { + var findFiberByHostInstance = devToolsConfig.findFiberByHostInstance; + var ReactCurrentDispatcher = ReactSharedInternals.ReactCurrentDispatcher; + + + return injectInternals(_assign({}, devToolsConfig, { + overrideProps: overrideProps, + currentDispatcherRef: ReactCurrentDispatcher, + findHostInstanceByFiber: function (fiber) { + var hostFiber = findCurrentHostFiber(fiber); + if (hostFiber === null) { + return null; + } + return hostFiber.stateNode; + }, + findFiberByHostInstance: function (instance) { + if (!findFiberByHostInstance) { + // Might not be implemented by the renderer. + return null; + } + return findFiberByHostInstance(instance); + } + })); + } + + var ReactFiberReconciler = Object.freeze({ + updateContainerAtExpirationTime: updateContainerAtExpirationTime, + createContainer: createContainer, + updateContainer: updateContainer, + flushRoot: flushRoot, + requestWork: requestWork, + computeUniqueAsyncExpiration: computeUniqueAsyncExpiration, + batchedUpdates: batchedUpdates, + unbatchedUpdates: unbatchedUpdates, + deferredUpdates: scheduler.unstable_next, + syncUpdates: syncUpdates, + interactiveUpdates: interactiveUpdates, + flushInteractiveUpdates: flushInteractiveUpdates, + flushControlled: flushControlled, + flushSync: flushSync, + getPublicRootInstance: getPublicRootInstance, + findHostInstance: findHostInstance, + findHostInstanceWithWarning: findHostInstanceWithWarning, + findHostInstanceWithNoPortals: findHostInstanceWithNoPortals, + injectIntoDevTools: injectIntoDevTools + }); + + // This entry point is intentionally not typed. It exists only for third-party + // renderers. The renderers we ship (such as React DOM) instead import a named + // "inline" entry point (for example, `react-reconciler/inline.dom`). It uses + // the same code, but the Flow configuration redirects the host config to its + // real implementation so we can check it against exact intended host types. + // + // Only one renderer (the one you passed to `yarn flow `) is fully + // type-checked at any given time. The Flow config maps the + // `react-reconciler/inline.` import (which is *not* Flow typed) to + // `react-reconciler/inline-typed` (which *is*) for the current renderer. + // On CI, we run Flow checks for each renderer separately. + + + + + + // TODO: decide on the top-level export form. + // This is hacky but makes it work with both Rollup and Jest. + var reactReconciler = ReactFiberReconciler.default || ReactFiberReconciler; + + module.exports = reactReconciler; + var $$$renderer = module.exports; + module.exports = $$$reconciler; + return $$$renderer; + }; + } + + + /***/ }), + /* 45 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + if (false) {} else { + module.exports = __webpack_require__(46); + } + + + /***/ }), + /* 46 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /** @license React v0.13.6 + * scheduler-tracing.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + + + + + if (true) { + (function() { + 'use strict'; + + Object.defineProperty(exports, '__esModule', { value: true }); + + // Helps identify side effects in begin-phase lifecycle hooks and setState reducers: + + + // In some cases, StrictMode should also double-render lifecycles. + // This can be confusing for tests though, + // And it can be bad for performance in production. + // This feature flag can be used to control the behavior: + + + // To preserve the "Pause on caught exceptions" behavior of the debugger, we + // replay the begin phase of a failed component inside invokeGuardedCallback. + + + // Warn about deprecated, async-unsafe lifecycles; relates to RFC #6: + + + // Gather advanced timing metrics for Profiler subtrees. + + + // Trace which interactions trigger each commit. + var enableSchedulerTracing = true; + + // Only used in www builds. + // TODO: true? Here it might just be false. + + // Only used in www builds. + + + // Only used in www builds. + + + // React Fire: prevent the value and checked attributes from syncing + // with their related DOM properties + + + // These APIs will no longer be "unstable" in the upcoming 16.7 release, + // Control this behavior with a flag to support 16.6 minor releases in the meanwhile. + + var DEFAULT_THREAD_ID = 0; + + // Counters used to generate unique IDs. + var interactionIDCounter = 0; + var threadIDCounter = 0; + + // Set of currently traced interactions. + // Interactions "stack"– + // Meaning that newly traced interactions are appended to the previously active set. + // When an interaction goes out of scope, the previous set (if any) is restored. + exports.__interactionsRef = null; + + // Listener(s) to notify when interactions begin and end. + exports.__subscriberRef = null; + + if (enableSchedulerTracing) { + exports.__interactionsRef = { + current: new Set() + }; + exports.__subscriberRef = { + current: null + }; + } + + function unstable_clear(callback) { + if (!enableSchedulerTracing) { + return callback(); + } + + var prevInteractions = exports.__interactionsRef.current; + exports.__interactionsRef.current = new Set(); + + try { + return callback(); + } finally { + exports.__interactionsRef.current = prevInteractions; + } + } + + function unstable_getCurrent() { + if (!enableSchedulerTracing) { + return null; + } else { + return exports.__interactionsRef.current; + } + } + + function unstable_getThreadID() { + return ++threadIDCounter; + } + + function unstable_trace(name, timestamp, callback) { + var threadID = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : DEFAULT_THREAD_ID; + + if (!enableSchedulerTracing) { + return callback(); + } + + var interaction = { + __count: 1, + id: interactionIDCounter++, + name: name, + timestamp: timestamp + }; + + var prevInteractions = exports.__interactionsRef.current; + + // Traced interactions should stack/accumulate. + // To do that, clone the current interactions. + // The previous set will be restored upon completion. + var interactions = new Set(prevInteractions); + interactions.add(interaction); + exports.__interactionsRef.current = interactions; + + var subscriber = exports.__subscriberRef.current; + var returnValue = void 0; + + try { + if (subscriber !== null) { + subscriber.onInteractionTraced(interaction); + } + } finally { + try { + if (subscriber !== null) { + subscriber.onWorkStarted(interactions, threadID); + } + } finally { + try { + returnValue = callback(); + } finally { + exports.__interactionsRef.current = prevInteractions; + + try { + if (subscriber !== null) { + subscriber.onWorkStopped(interactions, threadID); + } + } finally { + interaction.__count--; + + // If no async work was scheduled for this interaction, + // Notify subscribers that it's completed. + if (subscriber !== null && interaction.__count === 0) { + subscriber.onInteractionScheduledWorkCompleted(interaction); + } + } + } + } + } + + return returnValue; + } + + function unstable_wrap(callback) { + var threadID = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DEFAULT_THREAD_ID; + + if (!enableSchedulerTracing) { + return callback; + } + + var wrappedInteractions = exports.__interactionsRef.current; + + var subscriber = exports.__subscriberRef.current; + if (subscriber !== null) { + subscriber.onWorkScheduled(wrappedInteractions, threadID); + } + + // Update the pending async work count for the current interactions. + // Update after calling subscribers in case of error. + wrappedInteractions.forEach(function (interaction) { + interaction.__count++; + }); + + var hasRun = false; + + function wrapped() { + var prevInteractions = exports.__interactionsRef.current; + exports.__interactionsRef.current = wrappedInteractions; + + subscriber = exports.__subscriberRef.current; + + try { + var returnValue = void 0; + + try { + if (subscriber !== null) { + subscriber.onWorkStarted(wrappedInteractions, threadID); + } + } finally { + try { + returnValue = callback.apply(undefined, arguments); + } finally { + exports.__interactionsRef.current = prevInteractions; + + if (subscriber !== null) { + subscriber.onWorkStopped(wrappedInteractions, threadID); + } + } + } + + return returnValue; + } finally { + if (!hasRun) { + // We only expect a wrapped function to be executed once, + // But in the event that it's executed more than once– + // Only decrement the outstanding interaction counts once. + hasRun = true; + + // Update pending async counts for all wrapped interactions. + // If this was the last scheduled async work for any of them, + // Mark them as completed. + wrappedInteractions.forEach(function (interaction) { + interaction.__count--; + + if (subscriber !== null && interaction.__count === 0) { + subscriber.onInteractionScheduledWorkCompleted(interaction); + } + }); + } + } + } + + wrapped.cancel = function cancel() { + subscriber = exports.__subscriberRef.current; + + try { + if (subscriber !== null) { + subscriber.onWorkCanceled(wrappedInteractions, threadID); + } + } finally { + // Update pending async counts for all wrapped interactions. + // If this was the last scheduled async work for any of them, + // Mark them as completed. + wrappedInteractions.forEach(function (interaction) { + interaction.__count--; + + if (subscriber && interaction.__count === 0) { + subscriber.onInteractionScheduledWorkCompleted(interaction); + } + }); + } + }; + + return wrapped; + } + + var subscribers = null; + if (enableSchedulerTracing) { + subscribers = new Set(); + } + + function unstable_subscribe(subscriber) { + if (enableSchedulerTracing) { + subscribers.add(subscriber); + + if (subscribers.size === 1) { + exports.__subscriberRef.current = { + onInteractionScheduledWorkCompleted: onInteractionScheduledWorkCompleted, + onInteractionTraced: onInteractionTraced, + onWorkCanceled: onWorkCanceled, + onWorkScheduled: onWorkScheduled, + onWorkStarted: onWorkStarted, + onWorkStopped: onWorkStopped + }; + } + } + } + + function unstable_unsubscribe(subscriber) { + if (enableSchedulerTracing) { + subscribers.delete(subscriber); + + if (subscribers.size === 0) { + exports.__subscriberRef.current = null; + } + } + } + + function onInteractionTraced(interaction) { + var didCatchError = false; + var caughtError = null; + + subscribers.forEach(function (subscriber) { + try { + subscriber.onInteractionTraced(interaction); + } catch (error) { + if (!didCatchError) { + didCatchError = true; + caughtError = error; + } + } + }); + + if (didCatchError) { + throw caughtError; + } + } + + function onInteractionScheduledWorkCompleted(interaction) { + var didCatchError = false; + var caughtError = null; + + subscribers.forEach(function (subscriber) { + try { + subscriber.onInteractionScheduledWorkCompleted(interaction); + } catch (error) { + if (!didCatchError) { + didCatchError = true; + caughtError = error; + } + } + }); + + if (didCatchError) { + throw caughtError; + } + } + + function onWorkScheduled(interactions, threadID) { + var didCatchError = false; + var caughtError = null; + + subscribers.forEach(function (subscriber) { + try { + subscriber.onWorkScheduled(interactions, threadID); + } catch (error) { + if (!didCatchError) { + didCatchError = true; + caughtError = error; + } + } + }); + + if (didCatchError) { + throw caughtError; + } + } + + function onWorkStarted(interactions, threadID) { + var didCatchError = false; + var caughtError = null; + + subscribers.forEach(function (subscriber) { + try { + subscriber.onWorkStarted(interactions, threadID); + } catch (error) { + if (!didCatchError) { + didCatchError = true; + caughtError = error; + } + } + }); + + if (didCatchError) { + throw caughtError; + } + } + + function onWorkStopped(interactions, threadID) { + var didCatchError = false; + var caughtError = null; + + subscribers.forEach(function (subscriber) { + try { + subscriber.onWorkStopped(interactions, threadID); + } catch (error) { + if (!didCatchError) { + didCatchError = true; + caughtError = error; + } + } + }); + + if (didCatchError) { + throw caughtError; + } + } + + function onWorkCanceled(interactions, threadID) { + var didCatchError = false; + var caughtError = null; + + subscribers.forEach(function (subscriber) { + try { + subscriber.onWorkCanceled(interactions, threadID); + } catch (error) { + if (!didCatchError) { + didCatchError = true; + caughtError = error; + } + } + }); + + if (didCatchError) { + throw caughtError; + } + } + + exports.unstable_clear = unstable_clear; + exports.unstable_getCurrent = unstable_getCurrent; + exports.unstable_getThreadID = unstable_getThreadID; + exports.unstable_trace = unstable_trace; + exports.unstable_wrap = unstable_wrap; + exports.unstable_subscribe = unstable_subscribe; + exports.unstable_unsubscribe = unstable_unsubscribe; + })(); + } + + + /***/ }), + /* 47 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + if (false) {} else { + module.exports = __webpack_require__(48); + } + + + /***/ }), + /* 48 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /** @license React v0.13.6 + * scheduler.development.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + + + + + if (true) { + (function() { + 'use strict'; + + Object.defineProperty(exports, '__esModule', { value: true }); + + var enableSchedulerDebugging = false; + + /* eslint-disable no-var */ + + // TODO: Use symbols? + var ImmediatePriority = 1; + var UserBlockingPriority = 2; + var NormalPriority = 3; + var LowPriority = 4; + var IdlePriority = 5; + + // Max 31 bit integer. The max integer size in V8 for 32-bit systems. + // Math.pow(2, 30) - 1 + // 0b111111111111111111111111111111 + var maxSigned31BitInt = 1073741823; + + // Times out immediately + var IMMEDIATE_PRIORITY_TIMEOUT = -1; + // Eventually times out + var USER_BLOCKING_PRIORITY = 250; + var NORMAL_PRIORITY_TIMEOUT = 5000; + var LOW_PRIORITY_TIMEOUT = 10000; + // Never times out + var IDLE_PRIORITY = maxSigned31BitInt; + + // Callbacks are stored as a circular, doubly linked list. + var firstCallbackNode = null; + + var currentDidTimeout = false; + // Pausing the scheduler is useful for debugging. + var isSchedulerPaused = false; + + var currentPriorityLevel = NormalPriority; + var currentEventStartTime = -1; + var currentExpirationTime = -1; + + // This is set when a callback is being executed, to prevent re-entrancy. + var isExecutingCallback = false; + + var isHostCallbackScheduled = false; + + var hasNativePerformanceNow = typeof performance === 'object' && typeof performance.now === 'function'; + + function ensureHostCallbackIsScheduled() { + if (isExecutingCallback) { + // Don't schedule work yet; wait until the next time we yield. + return; + } + // Schedule the host callback using the earliest expiration in the list. + var expirationTime = firstCallbackNode.expirationTime; + if (!isHostCallbackScheduled) { + isHostCallbackScheduled = true; + } else { + // Cancel the existing host callback. + cancelHostCallback(); + } + requestHostCallback(flushWork, expirationTime); + } + + function flushFirstCallback() { + var flushedNode = firstCallbackNode; + + // Remove the node from the list before calling the callback. That way the + // list is in a consistent state even if the callback throws. + var next = firstCallbackNode.next; + if (firstCallbackNode === next) { + // This is the last callback in the list. + firstCallbackNode = null; + next = null; + } else { + var lastCallbackNode = firstCallbackNode.previous; + firstCallbackNode = lastCallbackNode.next = next; + next.previous = lastCallbackNode; + } + + flushedNode.next = flushedNode.previous = null; + + // Now it's safe to call the callback. + var callback = flushedNode.callback; + var expirationTime = flushedNode.expirationTime; + var priorityLevel = flushedNode.priorityLevel; + var previousPriorityLevel = currentPriorityLevel; + var previousExpirationTime = currentExpirationTime; + currentPriorityLevel = priorityLevel; + currentExpirationTime = expirationTime; + var continuationCallback; + try { + continuationCallback = callback(); + } finally { + currentPriorityLevel = previousPriorityLevel; + currentExpirationTime = previousExpirationTime; + } + + // A callback may return a continuation. The continuation should be scheduled + // with the same priority and expiration as the just-finished callback. + if (typeof continuationCallback === 'function') { + var continuationNode = { + callback: continuationCallback, + priorityLevel: priorityLevel, + expirationTime: expirationTime, + next: null, + previous: null + }; + + // Insert the new callback into the list, sorted by its expiration. This is + // almost the same as the code in `scheduleCallback`, except the callback + // is inserted into the list *before* callbacks of equal expiration instead + // of after. + if (firstCallbackNode === null) { + // This is the first callback in the list. + firstCallbackNode = continuationNode.next = continuationNode.previous = continuationNode; + } else { + var nextAfterContinuation = null; + var node = firstCallbackNode; + do { + if (node.expirationTime >= expirationTime) { + // This callback expires at or after the continuation. We will insert + // the continuation *before* this callback. + nextAfterContinuation = node; + break; + } + node = node.next; + } while (node !== firstCallbackNode); + + if (nextAfterContinuation === null) { + // No equal or lower priority callback was found, which means the new + // callback is the lowest priority callback in the list. + nextAfterContinuation = firstCallbackNode; + } else if (nextAfterContinuation === firstCallbackNode) { + // The new callback is the highest priority callback in the list. + firstCallbackNode = continuationNode; + ensureHostCallbackIsScheduled(); + } + + var previous = nextAfterContinuation.previous; + previous.next = nextAfterContinuation.previous = continuationNode; + continuationNode.next = nextAfterContinuation; + continuationNode.previous = previous; + } + } + } + + function flushImmediateWork() { + if ( + // Confirm we've exited the outer most event handler + currentEventStartTime === -1 && firstCallbackNode !== null && firstCallbackNode.priorityLevel === ImmediatePriority) { + isExecutingCallback = true; + try { + do { + flushFirstCallback(); + } while ( + // Keep flushing until there are no more immediate callbacks + firstCallbackNode !== null && firstCallbackNode.priorityLevel === ImmediatePriority); + } finally { + isExecutingCallback = false; + if (firstCallbackNode !== null) { + // There's still work remaining. Request another callback. + ensureHostCallbackIsScheduled(); + } else { + isHostCallbackScheduled = false; + } + } + } + } + + function flushWork(didTimeout) { + // Exit right away if we're currently paused + + if (enableSchedulerDebugging && isSchedulerPaused) { + return; + } + + isExecutingCallback = true; + var previousDidTimeout = currentDidTimeout; + currentDidTimeout = didTimeout; + try { + if (didTimeout) { + // Flush all the expired callbacks without yielding. + while (firstCallbackNode !== null && !(enableSchedulerDebugging && isSchedulerPaused)) { + // TODO Wrap in feature flag + // Read the current time. Flush all the callbacks that expire at or + // earlier than that time. Then read the current time again and repeat. + // This optimizes for as few performance.now calls as possible. + var currentTime = exports.unstable_now(); + if (firstCallbackNode.expirationTime <= currentTime) { + do { + flushFirstCallback(); + } while (firstCallbackNode !== null && firstCallbackNode.expirationTime <= currentTime && !(enableSchedulerDebugging && isSchedulerPaused)); + continue; + } + break; + } + } else { + // Keep flushing callbacks until we run out of time in the frame. + if (firstCallbackNode !== null) { + do { + if (enableSchedulerDebugging && isSchedulerPaused) { + break; + } + flushFirstCallback(); + } while (firstCallbackNode !== null && !shouldYieldToHost()); + } + } + } finally { + isExecutingCallback = false; + currentDidTimeout = previousDidTimeout; + if (firstCallbackNode !== null) { + // There's still work remaining. Request another callback. + ensureHostCallbackIsScheduled(); + } else { + isHostCallbackScheduled = false; + } + // Before exiting, flush all the immediate work that was scheduled. + flushImmediateWork(); + } + } + + function unstable_runWithPriority(priorityLevel, eventHandler) { + switch (priorityLevel) { + case ImmediatePriority: + case UserBlockingPriority: + case NormalPriority: + case LowPriority: + case IdlePriority: + break; + default: + priorityLevel = NormalPriority; + } + + var previousPriorityLevel = currentPriorityLevel; + var previousEventStartTime = currentEventStartTime; + currentPriorityLevel = priorityLevel; + currentEventStartTime = exports.unstable_now(); + + try { + return eventHandler(); + } finally { + currentPriorityLevel = previousPriorityLevel; + currentEventStartTime = previousEventStartTime; + + // Before exiting, flush all the immediate work that was scheduled. + flushImmediateWork(); + } + } + + function unstable_next(eventHandler) { + var priorityLevel = void 0; + switch (currentPriorityLevel) { + case ImmediatePriority: + case UserBlockingPriority: + case NormalPriority: + // Shift down to normal priority + priorityLevel = NormalPriority; + break; + default: + // Anything lower than normal priority should remain at the current level. + priorityLevel = currentPriorityLevel; + break; + } + + var previousPriorityLevel = currentPriorityLevel; + var previousEventStartTime = currentEventStartTime; + currentPriorityLevel = priorityLevel; + currentEventStartTime = exports.unstable_now(); + + try { + return eventHandler(); + } finally { + currentPriorityLevel = previousPriorityLevel; + currentEventStartTime = previousEventStartTime; + + // Before exiting, flush all the immediate work that was scheduled. + flushImmediateWork(); + } + } + + function unstable_wrapCallback(callback) { + var parentPriorityLevel = currentPriorityLevel; + return function () { + // This is a fork of runWithPriority, inlined for performance. + var previousPriorityLevel = currentPriorityLevel; + var previousEventStartTime = currentEventStartTime; + currentPriorityLevel = parentPriorityLevel; + currentEventStartTime = exports.unstable_now(); + + try { + return callback.apply(this, arguments); + } finally { + currentPriorityLevel = previousPriorityLevel; + currentEventStartTime = previousEventStartTime; + flushImmediateWork(); + } + }; + } + + function unstable_scheduleCallback(callback, deprecated_options) { + var startTime = currentEventStartTime !== -1 ? currentEventStartTime : exports.unstable_now(); + + var expirationTime; + if (typeof deprecated_options === 'object' && deprecated_options !== null && typeof deprecated_options.timeout === 'number') { + // FIXME: Remove this branch once we lift expiration times out of React. + expirationTime = startTime + deprecated_options.timeout; + } else { + switch (currentPriorityLevel) { + case ImmediatePriority: + expirationTime = startTime + IMMEDIATE_PRIORITY_TIMEOUT; + break; + case UserBlockingPriority: + expirationTime = startTime + USER_BLOCKING_PRIORITY; + break; + case IdlePriority: + expirationTime = startTime + IDLE_PRIORITY; + break; + case LowPriority: + expirationTime = startTime + LOW_PRIORITY_TIMEOUT; + break; + case NormalPriority: + default: + expirationTime = startTime + NORMAL_PRIORITY_TIMEOUT; + } + } + + var newNode = { + callback: callback, + priorityLevel: currentPriorityLevel, + expirationTime: expirationTime, + next: null, + previous: null + }; + + // Insert the new callback into the list, ordered first by expiration, then + // by insertion. So the new callback is inserted any other callback with + // equal expiration. + if (firstCallbackNode === null) { + // This is the first callback in the list. + firstCallbackNode = newNode.next = newNode.previous = newNode; + ensureHostCallbackIsScheduled(); + } else { + var next = null; + var node = firstCallbackNode; + do { + if (node.expirationTime > expirationTime) { + // The new callback expires before this one. + next = node; + break; + } + node = node.next; + } while (node !== firstCallbackNode); + + if (next === null) { + // No callback with a later expiration was found, which means the new + // callback has the latest expiration in the list. + next = firstCallbackNode; + } else if (next === firstCallbackNode) { + // The new callback has the earliest expiration in the entire list. + firstCallbackNode = newNode; + ensureHostCallbackIsScheduled(); + } + + var previous = next.previous; + previous.next = next.previous = newNode; + newNode.next = next; + newNode.previous = previous; + } + + return newNode; + } + + function unstable_pauseExecution() { + isSchedulerPaused = true; + } + + function unstable_continueExecution() { + isSchedulerPaused = false; + if (firstCallbackNode !== null) { + ensureHostCallbackIsScheduled(); + } + } + + function unstable_getFirstCallbackNode() { + return firstCallbackNode; + } + + function unstable_cancelCallback(callbackNode) { + var next = callbackNode.next; + if (next === null) { + // Already cancelled. + return; + } + + if (next === callbackNode) { + // This is the only scheduled callback. Clear the list. + firstCallbackNode = null; + } else { + // Remove the callback from its position in the list. + if (callbackNode === firstCallbackNode) { + firstCallbackNode = next; + } + var previous = callbackNode.previous; + previous.next = next; + next.previous = previous; + } + + callbackNode.next = callbackNode.previous = null; + } + + function unstable_getCurrentPriorityLevel() { + return currentPriorityLevel; + } + + function unstable_shouldYield() { + return !currentDidTimeout && (firstCallbackNode !== null && firstCallbackNode.expirationTime < currentExpirationTime || shouldYieldToHost()); + } + + // The remaining code is essentially a polyfill for requestIdleCallback. It + // works by scheduling a requestAnimationFrame, storing the time for the start + // of the frame, then scheduling a postMessage which gets scheduled after paint. + // Within the postMessage handler do as much work as possible until time + frame + // rate. By separating the idle call into a separate event tick we ensure that + // layout, paint and other browser work is counted against the available time. + // The frame rate is dynamically adjusted. + + // We capture a local reference to any global, in case it gets polyfilled after + // this module is initially evaluated. We want to be using a + // consistent implementation. + var localDate = Date; + + // This initialization code may run even on server environments if a component + // just imports ReactDOM (e.g. for findDOMNode). Some environments might not + // have setTimeout or clearTimeout. However, we always expect them to be defined + // on the client. https://github.com/facebook/react/pull/13088 + var localSetTimeout = typeof setTimeout === 'function' ? setTimeout : undefined; + var localClearTimeout = typeof clearTimeout === 'function' ? clearTimeout : undefined; + + // We don't expect either of these to necessarily be defined, but we will error + // later if they are missing on the client. + var localRequestAnimationFrame = typeof requestAnimationFrame === 'function' ? requestAnimationFrame : undefined; + var localCancelAnimationFrame = typeof cancelAnimationFrame === 'function' ? cancelAnimationFrame : undefined; + + // requestAnimationFrame does not run when the tab is in the background. If + // we're backgrounded we prefer for that work to happen so that the page + // continues to load in the background. So we also schedule a 'setTimeout' as + // a fallback. + // TODO: Need a better heuristic for backgrounded work. + var ANIMATION_FRAME_TIMEOUT = 100; + var rAFID; + var rAFTimeoutID; + var requestAnimationFrameWithTimeout = function (callback) { + // schedule rAF and also a setTimeout + rAFID = localRequestAnimationFrame(function (timestamp) { + // cancel the setTimeout + localClearTimeout(rAFTimeoutID); + callback(timestamp); + }); + rAFTimeoutID = localSetTimeout(function () { + // cancel the requestAnimationFrame + localCancelAnimationFrame(rAFID); + callback(exports.unstable_now()); + }, ANIMATION_FRAME_TIMEOUT); + }; + + if (hasNativePerformanceNow) { + var Performance = performance; + exports.unstable_now = function () { + return Performance.now(); + }; + } else { + exports.unstable_now = function () { + return localDate.now(); + }; + } + + var requestHostCallback; + var cancelHostCallback; + var shouldYieldToHost; + + var globalValue = null; + if (typeof window !== 'undefined') { + globalValue = window; + } else if (typeof global !== 'undefined') { + globalValue = global; + } + + if (globalValue && globalValue._schedMock) { + // Dynamic injection, only for testing purposes. + var globalImpl = globalValue._schedMock; + requestHostCallback = globalImpl[0]; + cancelHostCallback = globalImpl[1]; + shouldYieldToHost = globalImpl[2]; + exports.unstable_now = globalImpl[3]; + } else if ( + // If Scheduler runs in a non-DOM environment, it falls back to a naive + // implementation using setTimeout. + typeof window === 'undefined' || + // Check if MessageChannel is supported, too. + typeof MessageChannel !== 'function') { + // If this accidentally gets imported in a non-browser environment, e.g. JavaScriptCore, + // fallback to a naive implementation. + var _callback = null; + var _flushCallback = function (didTimeout) { + if (_callback !== null) { + try { + _callback(didTimeout); + } finally { + _callback = null; + } + } + }; + requestHostCallback = function (cb, ms) { + if (_callback !== null) { + // Protect against re-entrancy. + setTimeout(requestHostCallback, 0, cb); + } else { + _callback = cb; + setTimeout(_flushCallback, 0, false); + } + }; + cancelHostCallback = function () { + _callback = null; + }; + shouldYieldToHost = function () { + return false; + }; + } else { + if (typeof console !== 'undefined') { + // TODO: Remove fb.me link + if (typeof localRequestAnimationFrame !== 'function') { + console.error("This browser doesn't support requestAnimationFrame. " + 'Make sure that you load a ' + 'polyfill in older browsers. https://fb.me/react-polyfills'); + } + if (typeof localCancelAnimationFrame !== 'function') { + console.error("This browser doesn't support cancelAnimationFrame. " + 'Make sure that you load a ' + 'polyfill in older browsers. https://fb.me/react-polyfills'); + } + } + + var scheduledHostCallback = null; + var isMessageEventScheduled = false; + var timeoutTime = -1; + + var isAnimationFrameScheduled = false; + + var isFlushingHostCallback = false; + + var frameDeadline = 0; + // We start out assuming that we run at 30fps but then the heuristic tracking + // will adjust this value to a faster fps if we get more frequent animation + // frames. + var previousFrameTime = 33; + var activeFrameTime = 33; + + shouldYieldToHost = function () { + return frameDeadline <= exports.unstable_now(); + }; + + // We use the postMessage trick to defer idle work until after the repaint. + var channel = new MessageChannel(); + var port = channel.port2; + channel.port1.onmessage = function (event) { + isMessageEventScheduled = false; + + var prevScheduledCallback = scheduledHostCallback; + var prevTimeoutTime = timeoutTime; + scheduledHostCallback = null; + timeoutTime = -1; + + var currentTime = exports.unstable_now(); + + var didTimeout = false; + if (frameDeadline - currentTime <= 0) { + // There's no time left in this idle period. Check if the callback has + // a timeout and whether it's been exceeded. + if (prevTimeoutTime !== -1 && prevTimeoutTime <= currentTime) { + // Exceeded the timeout. Invoke the callback even though there's no + // time left. + didTimeout = true; + } else { + // No timeout. + if (!isAnimationFrameScheduled) { + // Schedule another animation callback so we retry later. + isAnimationFrameScheduled = true; + requestAnimationFrameWithTimeout(animationTick); + } + // Exit without invoking the callback. + scheduledHostCallback = prevScheduledCallback; + timeoutTime = prevTimeoutTime; + return; + } + } + + if (prevScheduledCallback !== null) { + isFlushingHostCallback = true; + try { + prevScheduledCallback(didTimeout); + } finally { + isFlushingHostCallback = false; + } + } + }; + + var animationTick = function (rafTime) { + if (scheduledHostCallback !== null) { + // Eagerly schedule the next animation callback at the beginning of the + // frame. If the scheduler queue is not empty at the end of the frame, it + // will continue flushing inside that callback. If the queue *is* empty, + // then it will exit immediately. Posting the callback at the start of the + // frame ensures it's fired within the earliest possible frame. If we + // waited until the end of the frame to post the callback, we risk the + // browser skipping a frame and not firing the callback until the frame + // after that. + requestAnimationFrameWithTimeout(animationTick); + } else { + // No pending work. Exit. + isAnimationFrameScheduled = false; + return; + } + + var nextFrameTime = rafTime - frameDeadline + activeFrameTime; + if (nextFrameTime < activeFrameTime && previousFrameTime < activeFrameTime) { + if (nextFrameTime < 8) { + // Defensive coding. We don't support higher frame rates than 120hz. + // If the calculated frame time gets lower than 8, it is probably a bug. + nextFrameTime = 8; + } + // If one frame goes long, then the next one can be short to catch up. + // If two frames are short in a row, then that's an indication that we + // actually have a higher frame rate than what we're currently optimizing. + // We adjust our heuristic dynamically accordingly. For example, if we're + // running on 120hz display or 90hz VR display. + // Take the max of the two in case one of them was an anomaly due to + // missed frame deadlines. + activeFrameTime = nextFrameTime < previousFrameTime ? previousFrameTime : nextFrameTime; + } else { + previousFrameTime = nextFrameTime; + } + frameDeadline = rafTime + activeFrameTime; + if (!isMessageEventScheduled) { + isMessageEventScheduled = true; + port.postMessage(undefined); + } + }; + + requestHostCallback = function (callback, absoluteTimeout) { + scheduledHostCallback = callback; + timeoutTime = absoluteTimeout; + if (isFlushingHostCallback || absoluteTimeout < 0) { + // Don't wait for the next frame. Continue working ASAP, in a new event. + port.postMessage(undefined); + } else if (!isAnimationFrameScheduled) { + // If rAF didn't already schedule one, we need to schedule a frame. + // TODO: If this rAF doesn't materialize because the browser throttles, we + // might want to still have setTimeout trigger rIC as a backup to ensure + // that we keep performing work. + isAnimationFrameScheduled = true; + requestAnimationFrameWithTimeout(animationTick); + } + }; + + cancelHostCallback = function () { + scheduledHostCallback = null; + isMessageEventScheduled = false; + timeoutTime = -1; + }; + } + + exports.unstable_ImmediatePriority = ImmediatePriority; + exports.unstable_UserBlockingPriority = UserBlockingPriority; + exports.unstable_NormalPriority = NormalPriority; + exports.unstable_IdlePriority = IdlePriority; + exports.unstable_LowPriority = LowPriority; + exports.unstable_runWithPriority = unstable_runWithPriority; + exports.unstable_next = unstable_next; + exports.unstable_scheduleCallback = unstable_scheduleCallback; + exports.unstable_cancelCallback = unstable_cancelCallback; + exports.unstable_wrapCallback = unstable_wrapCallback; + exports.unstable_getCurrentPriorityLevel = unstable_getCurrentPriorityLevel; + exports.unstable_shouldYield = unstable_shouldYield; + exports.unstable_continueExecution = unstable_continueExecution; + exports.unstable_pauseExecution = unstable_pauseExecution; + exports.unstable_getFirstCallbackNode = unstable_getFirstCallbackNode; + })(); + } + + + /***/ }), + /* 49 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.createTextNode = exports.setAttribute = exports.removeChildNode = exports.insertBeforeNode = exports.appendStaticNode = exports.appendChildNode = exports.createNode = void 0; + + // Helper utilities implementing some common DOM methods to simplify reconciliation code + const createNode = tagName => ({ + nodeName: tagName.toUpperCase(), + style: {}, + attributes: {}, + childNodes: [], + parentNode: null + }); + + exports.createNode = createNode; + + const appendChildNode = (node, childNode) => { + if (childNode.parentNode) { + removeChildNode(childNode.parentNode, childNode); + } + + childNode.parentNode = node; + node.childNodes.push(childNode); + }; // Same as `appendChildNode`, but without removing child node from parent node + + + exports.appendChildNode = appendChildNode; + + const appendStaticNode = (node, childNode) => { + node.childNodes.push(childNode); + }; + + exports.appendStaticNode = appendStaticNode; + + const insertBeforeNode = (node, newChildNode, beforeChildNode) => { + if (newChildNode.parentNode) { + removeChildNode(newChildNode.parentNode, newChildNode); + } + + newChildNode.parentNode = node; + const index = node.childNodes.indexOf(beforeChildNode); + + if (index >= 0) { + node.childNodes.splice(index, 0, newChildNode); + return; + } + + node.childNodes.push(newChildNode); + }; + + exports.insertBeforeNode = insertBeforeNode; + + const removeChildNode = (node, removeNode) => { + removeNode.parentNode = null; + const index = node.childNodes.indexOf(removeNode); + + if (index >= 0) { + node.childNodes.splice(index, 1); + } + }; + + exports.removeChildNode = removeChildNode; + + const setAttribute = (node, key, value) => { + node.attributes[key] = value; + }; + + exports.setAttribute = setAttribute; + + const createTextNode = text => ({ + nodeName: '#text', + nodeValue: text + }); + + exports.createTextNode = createTextNode; + + /***/ }), + /* 50 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + + var _yogaLayoutPrebuilt = _interopRequireDefault(__webpack_require__(51)); + + var _output = _interopRequireDefault(__webpack_require__(55)); + + var _dom = __webpack_require__(49); + + var _buildLayout = _interopRequireDefault(__webpack_require__(61)); + + var _renderNodeToOutput = _interopRequireDefault(__webpack_require__(66)); + + var _measureText = _interopRequireDefault(__webpack_require__(63)); + + var _wrapText = _interopRequireDefault(__webpack_require__(67)); + + var _getMaxWidth = _interopRequireDefault(__webpack_require__(69)); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + // Since we need to know the width of text container to wrap text, we have to calculate layout twice + // This function is executed after first layout calculation to reassign width and height of text nodes + const calculateWrappedText = node => { + if (node.textContent && typeof node.parentNode.style.textWrap === 'string') { + const { + yogaNode + } = node; + const parentYogaNode = node.parentNode.yogaNode; + const maxWidth = (0, _getMaxWidth.default)(parentYogaNode); + const currentWidth = yogaNode.getComputedWidth(); + + if (currentWidth > maxWidth) { + const { + textWrap + } = node.parentNode.style; + const wrappedText = (0, _wrapText.default)(node.textContent, maxWidth, { + textWrap + }); + const { + width, + height + } = (0, _measureText.default)(wrappedText); + yogaNode.setWidth(width); + yogaNode.setHeight(height); + } + + return; + } + + if (Array.isArray(node.childNodes) && node.childNodes.length > 0) { + for (const childNode of node.childNodes) { + calculateWrappedText(childNode); + } + } + }; // Since components can be placed anywhere in the tree, this helper finds and returns them + + + const getStaticNodes = element => { + const staticNodes = []; + + for (const childNode of element.childNodes) { + if (childNode.unstable__static) { + staticNodes.push(childNode); + } + + if (Array.isArray(childNode.childNodes) && childNode.childNodes.length > 0) { + staticNodes.push(...getStaticNodes(childNode)); + } + } + + return staticNodes; + }; // Build layout, apply styles, build text output of all nodes and return it + + + var _default = ({ + terminalWidth + }) => { + const config = _yogaLayoutPrebuilt.default.Config.create(); // Used to free up memory used by last Yoga node tree + + + let lastYogaNode; + let lastStaticYogaNode; + return node => { + if (lastYogaNode) { + lastYogaNode.freeRecursive(); + } + + if (lastStaticYogaNode) { + lastStaticYogaNode.freeRecursive(); + } + + const staticElements = getStaticNodes(node); + + if (staticElements.length > 1) { + if (true) { + console.error('Warning: There can only be one component'); + } + } // component must be built and rendered separately, so that the layout of the other output is unaffected + + + let staticOutput; + + if (staticElements.length === 1) { + const rootNode = (0, _dom.createNode)('root'); + (0, _dom.appendStaticNode)(rootNode, staticElements[0]); + const { + yogaNode: staticYogaNode + } = (0, _buildLayout.default)(rootNode, { + config, + terminalWidth, + skipStaticElements: false + }); + staticYogaNode.calculateLayout(_yogaLayoutPrebuilt.default.UNDEFINED, _yogaLayoutPrebuilt.default.UNDEFINED, _yogaLayoutPrebuilt.default.DIRECTION_LTR); + calculateWrappedText(rootNode); + staticYogaNode.calculateLayout(_yogaLayoutPrebuilt.default.UNDEFINED, _yogaLayoutPrebuilt.default.UNDEFINED, _yogaLayoutPrebuilt.default.DIRECTION_LTR); // Save current Yoga node tree to free up memory later + + lastStaticYogaNode = staticYogaNode; + staticOutput = new _output.default({ + width: staticYogaNode.getComputedWidth(), + height: staticYogaNode.getComputedHeight() + }); + (0, _renderNodeToOutput.default)(rootNode, staticOutput, { + skipStaticElements: false + }); + } + + const { + yogaNode + } = (0, _buildLayout.default)(node, { + config, + terminalWidth, + skipStaticElements: true + }); + yogaNode.calculateLayout(_yogaLayoutPrebuilt.default.UNDEFINED, _yogaLayoutPrebuilt.default.UNDEFINED, _yogaLayoutPrebuilt.default.DIRECTION_LTR); + calculateWrappedText(node); + yogaNode.calculateLayout(_yogaLayoutPrebuilt.default.UNDEFINED, _yogaLayoutPrebuilt.default.UNDEFINED, _yogaLayoutPrebuilt.default.DIRECTION_LTR); // Save current node tree to free up memory later + + lastYogaNode = yogaNode; + const output = new _output.default({ + width: yogaNode.getComputedWidth(), + height: yogaNode.getComputedHeight() + }); + (0, _renderNodeToOutput.default)(node, output, { + skipStaticElements: true + }); + return { + output: output.get(), + staticOutput: staticOutput ? `${staticOutput.get()}\n` : undefined + }; + }; + }; + + exports.default = _default; + + /***/ }), + /* 51 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + /** + * Copyright (c) 2014-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + * @format + */ + + var Yoga = __webpack_require__(52); + var nbind = __webpack_require__(54); + + var ran = false; + var ret = null; + + nbind({}, function (err, result) { + if (ran) { + return; + } + + ran = true; + + if (err) { + throw err; + } + + ret = result; + }); + + if (!ran) { + throw new Error("Failed to load the yoga module - it needed to be loaded synchronously, but didn't"); + } + + // $FlowFixMe ret will not be null here + module.exports = Yoga(ret.bind, ret.lib); + + /***/ }), + /* 52 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; + + var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + + /** + * Copyright (c) 2014-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + * @format + */ + + var CONSTANTS = __webpack_require__(53); + + var Layout = function () { + function Layout(left, right, top, bottom, width, height) { + _classCallCheck(this, Layout); + + this.left = left; + this.right = right; + this.top = top; + this.bottom = bottom; + this.width = width; + this.height = height; + } + + _createClass(Layout, [{ + key: 'fromJS', + value: function fromJS(expose) { + expose(this.left, this.right, this.top, this.bottom, this.width, this.height); + } + }, { + key: 'toString', + value: function toString() { + return ''; + } + }]); + + return Layout; + }(); + + var Size = function () { + _createClass(Size, null, [{ + key: 'fromJS', + value: function fromJS(_ref) { + var width = _ref.width, + height = _ref.height; + + return new Size(width, height); + } + }]); + + function Size(width, height) { + _classCallCheck(this, Size); + + this.width = width; + this.height = height; + } + + _createClass(Size, [{ + key: 'fromJS', + value: function fromJS(expose) { + expose(this.width, this.height); + } + }, { + key: 'toString', + value: function toString() { + return ''; + } + }]); + + return Size; + }(); + + var Value = function () { + function Value(unit, value) { + _classCallCheck(this, Value); + + this.unit = unit; + this.value = value; + } + + _createClass(Value, [{ + key: 'fromJS', + value: function fromJS(expose) { + expose(this.unit, this.value); + } + }, { + key: 'toString', + value: function toString() { + switch (this.unit) { + case CONSTANTS.UNIT_POINT: + return String(this.value); + case CONSTANTS.UNIT_PERCENT: + return this.value + '%'; + case CONSTANTS.UNIT_AUTO: + return 'auto'; + default: + { + return this.value + '?'; + } + } + } + }, { + key: 'valueOf', + value: function valueOf() { + return this.value; + } + }]); + + return Value; + }(); + + module.exports = function (bind, lib) { + function patch(prototype, name, fn) { + var original = prototype[name]; + + prototype[name] = function () { + for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + + return fn.call.apply(fn, [this, original].concat(args)); + }; + } + + var _arr = ['setPosition', 'setMargin', 'setFlexBasis', 'setWidth', 'setHeight', 'setMinWidth', 'setMinHeight', 'setMaxWidth', 'setMaxHeight', 'setPadding']; + + var _loop = function _loop() { + var _methods; + + var fnName = _arr[_i]; + var methods = (_methods = {}, _defineProperty(_methods, CONSTANTS.UNIT_POINT, lib.Node.prototype[fnName]), _defineProperty(_methods, CONSTANTS.UNIT_PERCENT, lib.Node.prototype[fnName + 'Percent']), _defineProperty(_methods, CONSTANTS.UNIT_AUTO, lib.Node.prototype[fnName + 'Auto']), _methods); + + patch(lib.Node.prototype, fnName, function (original) { + for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { + args[_key2 - 1] = arguments[_key2]; + } + + // We patch all these functions to add support for the following calls: + // .setWidth(100) / .setWidth("100%") / .setWidth(.getWidth()) / .setWidth("auto") + + var value = args.pop(); + var unit = void 0, + asNumber = void 0; + + if (value === 'auto') { + unit = CONSTANTS.UNIT_AUTO; + asNumber = undefined; + } else if (value instanceof Value) { + unit = value.unit; + asNumber = value.valueOf(); + } else { + unit = typeof value === 'string' && value.endsWith('%') ? CONSTANTS.UNIT_PERCENT : CONSTANTS.UNIT_POINT; + asNumber = parseFloat(value); + if (!Number.isNaN(value) && Number.isNaN(asNumber)) { + throw new Error('Invalid value ' + value + ' for ' + fnName); + } + } + + if (!methods[unit]) throw new Error('Failed to execute "' + fnName + '": Unsupported unit \'' + value + '\''); + + if (asNumber !== undefined) { + var _methods$unit; + + return (_methods$unit = methods[unit]).call.apply(_methods$unit, [this].concat(args, [asNumber])); + } else { + var _methods$unit2; + + return (_methods$unit2 = methods[unit]).call.apply(_methods$unit2, [this].concat(args)); + } + }); + }; + + for (var _i = 0; _i < _arr.length; _i++) { + _loop(); + } + + patch(lib.Config.prototype, 'free', function () { + // Since we handle the memory allocation ourselves (via lib.Config.create), + // we also need to handle the deallocation + lib.Config.destroy(this); + }); + + patch(lib.Node, 'create', function (_, config) { + // We decide the constructor we want to call depending on the parameters + return config ? lib.Node.createWithConfig(config) : lib.Node.createDefault(); + }); + + patch(lib.Node.prototype, 'free', function () { + // Since we handle the memory allocation ourselves (via lib.Node.create), + // we also need to handle the deallocation + lib.Node.destroy(this); + }); + + patch(lib.Node.prototype, 'freeRecursive', function () { + for (var t = 0, T = this.getChildCount(); t < T; ++t) { + this.getChild(0).freeRecursive(); + } + this.free(); + }); + + patch(lib.Node.prototype, 'setMeasureFunc', function (original, measureFunc) { + // This patch is just a convenience patch, since it helps write more + // idiomatic source code (such as .setMeasureFunc(null)) + // We also automatically convert the return value of the measureFunc + // to a Size object, so that we can return anything that has .width and + // .height properties + if (measureFunc) { + return original.call(this, function () { + return Size.fromJS(measureFunc.apply(undefined, arguments)); + }); + } else { + return this.unsetMeasureFunc(); + } + }); + + patch(lib.Node.prototype, 'calculateLayout', function (original) { + var width = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : NaN; + var height = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : NaN; + var direction = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : CONSTANTS.DIRECTION_LTR; + + // Just a small patch to add support for the function default parameters + return original.call(this, width, height, direction); + }); + + return _extends({ + Config: lib.Config, + Node: lib.Node, + Layout: bind('Layout', Layout), + Size: bind('Size', Size), + Value: bind('Value', Value), + getInstanceCount: function getInstanceCount() { + return lib.getInstanceCount.apply(lib, arguments); + } + }, CONSTANTS); + }; + + /***/ }), + /* 53 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + /** + * Copyright (c) 2014-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + * @format + */ + + var CONSTANTS = { + ALIGN_COUNT: 8, + ALIGN_AUTO: 0, + ALIGN_FLEX_START: 1, + ALIGN_CENTER: 2, + ALIGN_FLEX_END: 3, + ALIGN_STRETCH: 4, + ALIGN_BASELINE: 5, + ALIGN_SPACE_BETWEEN: 6, + ALIGN_SPACE_AROUND: 7, + + DIMENSION_COUNT: 2, + DIMENSION_WIDTH: 0, + DIMENSION_HEIGHT: 1, + + DIRECTION_COUNT: 3, + DIRECTION_INHERIT: 0, + DIRECTION_LTR: 1, + DIRECTION_RTL: 2, + + DISPLAY_COUNT: 2, + DISPLAY_FLEX: 0, + DISPLAY_NONE: 1, + + EDGE_COUNT: 9, + EDGE_LEFT: 0, + EDGE_TOP: 1, + EDGE_RIGHT: 2, + EDGE_BOTTOM: 3, + EDGE_START: 4, + EDGE_END: 5, + EDGE_HORIZONTAL: 6, + EDGE_VERTICAL: 7, + EDGE_ALL: 8, + + EXPERIMENTAL_FEATURE_COUNT: 1, + EXPERIMENTAL_FEATURE_WEB_FLEX_BASIS: 0, + + FLEX_DIRECTION_COUNT: 4, + FLEX_DIRECTION_COLUMN: 0, + FLEX_DIRECTION_COLUMN_REVERSE: 1, + FLEX_DIRECTION_ROW: 2, + FLEX_DIRECTION_ROW_REVERSE: 3, + + JUSTIFY_COUNT: 6, + JUSTIFY_FLEX_START: 0, + JUSTIFY_CENTER: 1, + JUSTIFY_FLEX_END: 2, + JUSTIFY_SPACE_BETWEEN: 3, + JUSTIFY_SPACE_AROUND: 4, + JUSTIFY_SPACE_EVENLY: 5, + + LOG_LEVEL_COUNT: 6, + LOG_LEVEL_ERROR: 0, + LOG_LEVEL_WARN: 1, + LOG_LEVEL_INFO: 2, + LOG_LEVEL_DEBUG: 3, + LOG_LEVEL_VERBOSE: 4, + LOG_LEVEL_FATAL: 5, + + MEASURE_MODE_COUNT: 3, + MEASURE_MODE_UNDEFINED: 0, + MEASURE_MODE_EXACTLY: 1, + MEASURE_MODE_AT_MOST: 2, + + NODE_TYPE_COUNT: 2, + NODE_TYPE_DEFAULT: 0, + NODE_TYPE_TEXT: 1, + + OVERFLOW_COUNT: 3, + OVERFLOW_VISIBLE: 0, + OVERFLOW_HIDDEN: 1, + OVERFLOW_SCROLL: 2, + + POSITION_TYPE_COUNT: 2, + POSITION_TYPE_RELATIVE: 0, + POSITION_TYPE_ABSOLUTE: 1, + + PRINT_OPTIONS_COUNT: 3, + PRINT_OPTIONS_LAYOUT: 1, + PRINT_OPTIONS_STYLE: 2, + PRINT_OPTIONS_CHILDREN: 4, + + UNIT_COUNT: 4, + UNIT_UNDEFINED: 0, + UNIT_POINT: 1, + UNIT_PERCENT: 2, + UNIT_AUTO: 3, + + WRAP_COUNT: 3, + WRAP_NO_WRAP: 0, + WRAP_WRAP: 1, + WRAP_WRAP_REVERSE: 2 + }; + + module.exports = CONSTANTS; + + /***/ }), + /* 54 */ + /***/ (function(module, exports, __webpack_require__) { + + var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function (root, wrapper) { + if (true) !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () { + return wrapper; + }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));else {} + })(this, function (Module, cb) { + if (typeof Module == "function") { + cb = Module;Module = {}; + }Module.onRuntimeInitialized = function (init, cb) { + return function () { + if (init) init.apply(this, arguments);try { + Module.ccall("nbind_init"); + } catch (err) { + cb(err);return; + }cb(null, { bind: Module._nbind_value, reflect: Module.NBind.reflect, queryType: Module.NBind.queryType, toggleLightGC: Module.toggleLightGC, lib: Module }); + }; + }(Module.onRuntimeInitialized, cb);var Module;if (!Module) Module = (typeof Module !== "undefined" ? Module : null) || {};var moduleOverrides = {};for (var key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } + }var ENVIRONMENT_IS_WEB = false;var ENVIRONMENT_IS_WORKER = false;var ENVIRONMENT_IS_NODE = false;var ENVIRONMENT_IS_SHELL = false;if (Module["ENVIRONMENT"]) { + if (Module["ENVIRONMENT"] === "WEB") { + ENVIRONMENT_IS_WEB = true; + } else if (Module["ENVIRONMENT"] === "WORKER") { + ENVIRONMENT_IS_WORKER = true; + } else if (Module["ENVIRONMENT"] === "NODE") { + ENVIRONMENT_IS_NODE = true; + } else if (Module["ENVIRONMENT"] === "SHELL") { + ENVIRONMENT_IS_SHELL = true; + } else { + throw new Error("The provided Module['ENVIRONMENT'] value is not valid. It must be one of: WEB|WORKER|NODE|SHELL."); + } + } else { + ENVIRONMENT_IS_WEB = typeof window === "object";ENVIRONMENT_IS_WORKER = typeof importScripts === "function";ENVIRONMENT_IS_NODE = typeof process === "object" && "function" === "function" && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; + }if (ENVIRONMENT_IS_NODE) { + if (!Module["print"]) Module["print"] = console.log;if (!Module["printErr"]) Module["printErr"] = console.warn;var nodeFS;var nodePath;Module["read"] = function shell_read(filename, binary) { + if (!nodeFS) nodeFS = {}("");if (!nodePath) nodePath = {}("");filename = nodePath["normalize"](filename);var ret = nodeFS["readFileSync"](filename);return binary ? ret : ret.toString(); + };Module["readBinary"] = function readBinary(filename) { + var ret = Module["read"](filename, true);if (!ret.buffer) { + ret = new Uint8Array(ret); + }assert(ret.buffer);return ret; + };Module["load"] = function load(f) { + globalEval(read(f)); + };if (!Module["thisProgram"]) { + if (process["argv"].length > 1) { + Module["thisProgram"] = process["argv"][1].replace(/\\/g, "/"); + } else { + Module["thisProgram"] = "unknown-program"; + } + }Module["arguments"] = process["argv"].slice(2);if (true) { + module["exports"] = Module; + }process["on"]("uncaughtException", function (ex) { + if (!(ex instanceof ExitStatus)) { + throw ex; + } + });Module["inspect"] = function () { + return "[Emscripten Module object]"; + }; + } else if (ENVIRONMENT_IS_SHELL) { + if (!Module["print"]) Module["print"] = print;if (typeof printErr != "undefined") Module["printErr"] = printErr;if (typeof read != "undefined") { + Module["read"] = read; + } else { + Module["read"] = function shell_read() { + throw "no read() available"; + }; + }Module["readBinary"] = function readBinary(f) { + if (typeof readbuffer === "function") { + return new Uint8Array(readbuffer(f)); + }var data = read(f, "binary");assert(typeof data === "object");return data; + };if (typeof scriptArgs != "undefined") { + Module["arguments"] = scriptArgs; + } else if (typeof arguments != "undefined") { + Module["arguments"] = arguments; + }if (typeof quit === "function") { + Module["quit"] = function (status, toThrow) { + quit(status); + }; + } + } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { + Module["read"] = function shell_read(url) { + var xhr = new XMLHttpRequest();xhr.open("GET", url, false);xhr.send(null);return xhr.responseText; + };if (ENVIRONMENT_IS_WORKER) { + Module["readBinary"] = function readBinary(url) { + var xhr = new XMLHttpRequest();xhr.open("GET", url, false);xhr.responseType = "arraybuffer";xhr.send(null);return new Uint8Array(xhr.response); + }; + }Module["readAsync"] = function readAsync(url, onload, onerror) { + var xhr = new XMLHttpRequest();xhr.open("GET", url, true);xhr.responseType = "arraybuffer";xhr.onload = function xhr_onload() { + if (xhr.status == 200 || xhr.status == 0 && xhr.response) { + onload(xhr.response); + } else { + onerror(); + } + };xhr.onerror = onerror;xhr.send(null); + };if (typeof arguments != "undefined") { + Module["arguments"] = arguments; + }if (typeof console !== "undefined") { + if (!Module["print"]) Module["print"] = function shell_print(x) { + console.log(x); + };if (!Module["printErr"]) Module["printErr"] = function shell_printErr(x) { + console.warn(x); + }; + } else { + var TRY_USE_DUMP = false;if (!Module["print"]) Module["print"] = TRY_USE_DUMP && typeof dump !== "undefined" ? function (x) { + dump(x); + } : function (x) {}; + }if (ENVIRONMENT_IS_WORKER) { + Module["load"] = importScripts; + }if (typeof Module["setWindowTitle"] === "undefined") { + Module["setWindowTitle"] = function (title) { + document.title = title; + }; + } + } else { + throw "Unknown runtime environment. Where are we?"; + }function globalEval(x) { + eval.call(null, x); + }if (!Module["load"] && Module["read"]) { + Module["load"] = function load(f) { + globalEval(Module["read"](f)); + }; + }if (!Module["print"]) { + Module["print"] = function () {}; + }if (!Module["printErr"]) { + Module["printErr"] = Module["print"]; + }if (!Module["arguments"]) { + Module["arguments"] = []; + }if (!Module["thisProgram"]) { + Module["thisProgram"] = "./this.program"; + }if (!Module["quit"]) { + Module["quit"] = function (status, toThrow) { + throw toThrow; + }; + }Module.print = Module["print"];Module.printErr = Module["printErr"];Module["preRun"] = [];Module["postRun"] = [];for (var key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key]; + } + }moduleOverrides = undefined;var Runtime = { setTempRet0: function (value) { + tempRet0 = value;return value; + }, getTempRet0: function () { + return tempRet0; + }, stackSave: function () { + return STACKTOP; + }, stackRestore: function (stackTop) { + STACKTOP = stackTop; + }, getNativeTypeSize: function (type) { + switch (type) {case "i1":case "i8": + return 1;case "i16": + return 2;case "i32": + return 4;case "i64": + return 8;case "float": + return 4;case "double": + return 8;default: + { + if (type[type.length - 1] === "*") { + return Runtime.QUANTUM_SIZE; + } else if (type[0] === "i") { + var bits = parseInt(type.substr(1));assert(bits % 8 === 0);return bits / 8; + } else { + return 0; + } + }} + }, getNativeFieldSize: function (type) { + return Math.max(Runtime.getNativeTypeSize(type), Runtime.QUANTUM_SIZE); + }, STACK_ALIGN: 16, prepVararg: function (ptr, type) { + if (type === "double" || type === "i64") { + if (ptr & 7) { + assert((ptr & 7) === 4);ptr += 4; + } + } else { + assert((ptr & 3) === 0); + }return ptr; + }, getAlignSize: function (type, size, vararg) { + if (!vararg && (type == "i64" || type == "double")) return 8;if (!type) return Math.min(size, 8);return Math.min(size || (type ? Runtime.getNativeFieldSize(type) : 0), Runtime.QUANTUM_SIZE); + }, dynCall: function (sig, ptr, args) { + if (args && args.length) { + return Module["dynCall_" + sig].apply(null, [ptr].concat(args)); + } else { + return Module["dynCall_" + sig].call(null, ptr); + } + }, functionPointers: [], addFunction: function (func) { + for (var i = 0; i < Runtime.functionPointers.length; i++) { + if (!Runtime.functionPointers[i]) { + Runtime.functionPointers[i] = func;return 2 * (1 + i); + } + }throw "Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."; + }, removeFunction: function (index) { + Runtime.functionPointers[(index - 2) / 2] = null; + }, warnOnce: function (text) { + if (!Runtime.warnOnce.shown) Runtime.warnOnce.shown = {};if (!Runtime.warnOnce.shown[text]) { + Runtime.warnOnce.shown[text] = 1;Module.printErr(text); + } + }, funcWrappers: {}, getFuncWrapper: function (func, sig) { + if (!func) return;assert(sig);if (!Runtime.funcWrappers[sig]) { + Runtime.funcWrappers[sig] = {}; + }var sigCache = Runtime.funcWrappers[sig];if (!sigCache[func]) { + if (sig.length === 1) { + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func); + }; + } else if (sig.length === 2) { + sigCache[func] = function dynCall_wrapper(arg) { + return Runtime.dynCall(sig, func, [arg]); + }; + } else { + sigCache[func] = function dynCall_wrapper() { + return Runtime.dynCall(sig, func, Array.prototype.slice.call(arguments)); + }; + } + }return sigCache[func]; + }, getCompilerSetting: function (name) { + throw "You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"; + }, stackAlloc: function (size) { + var ret = STACKTOP;STACKTOP = STACKTOP + size | 0;STACKTOP = STACKTOP + 15 & -16;return ret; + }, staticAlloc: function (size) { + var ret = STATICTOP;STATICTOP = STATICTOP + size | 0;STATICTOP = STATICTOP + 15 & -16;return ret; + }, dynamicAlloc: function (size) { + var ret = HEAP32[DYNAMICTOP_PTR >> 2];var end = (ret + size + 15 | 0) & -16;HEAP32[DYNAMICTOP_PTR >> 2] = end;if (end >= TOTAL_MEMORY) { + var success = enlargeMemory();if (!success) { + HEAP32[DYNAMICTOP_PTR >> 2] = ret;return 0; + } + }return ret; + }, alignMemory: function (size, quantum) { + var ret = size = Math.ceil(size / (quantum ? quantum : 16)) * (quantum ? quantum : 16);return ret; + }, makeBigInt: function (low, high, unsigned) { + var ret = unsigned ? +(low >>> 0) + +(high >>> 0) * +4294967296 : +(low >>> 0) + +(high | 0) * +4294967296;return ret; + }, GLOBAL_BASE: 8, QUANTUM_SIZE: 4, __dummy__: 0 };Module["Runtime"] = Runtime;var ABORT = 0;var EXITSTATUS = 0;function assert(condition, text) { + if (!condition) { + abort("Assertion failed: " + text); + } + }function getCFunc(ident) { + var func = Module["_" + ident];if (!func) { + try { + func = eval("_" + ident); + } catch (e) {} + }assert(func, "Cannot call unknown function " + ident + " (perhaps LLVM optimizations or closure removed it?)");return func; + }var cwrap, ccall;(function () { + var JSfuncs = { "stackSave": function () { + Runtime.stackSave(); + }, "stackRestore": function () { + Runtime.stackRestore(); + }, "arrayToC": function (arr) { + var ret = Runtime.stackAlloc(arr.length);writeArrayToMemory(arr, ret);return ret; + }, "stringToC": function (str) { + var ret = 0;if (str !== null && str !== undefined && str !== 0) { + var len = (str.length << 2) + 1;ret = Runtime.stackAlloc(len);stringToUTF8(str, ret, len); + }return ret; + } };var toC = { "string": JSfuncs["stringToC"], "array": JSfuncs["arrayToC"] };ccall = function ccallFunc(ident, returnType, argTypes, args, opts) { + var func = getCFunc(ident);var cArgs = [];var stack = 0;if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]];if (converter) { + if (stack === 0) stack = Runtime.stackSave();cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + }var ret = func.apply(null, cArgs);if (returnType === "string") ret = Pointer_stringify(ret);if (stack !== 0) { + if (opts && opts.async) { + EmterpreterAsync.asyncFinalizers.push(function () { + Runtime.stackRestore(stack); + });return; + }Runtime.stackRestore(stack); + }return ret; + };var sourceRegex = /^function\s*[a-zA-Z$_0-9]*\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc) { + var parsed = jsfunc.toString().match(sourceRegex).slice(1);return { arguments: parsed[0], body: parsed[1], returnValue: parsed[2] }; + }var JSsource = null;function ensureJSsource() { + if (!JSsource) { + JSsource = {};for (var fun in JSfuncs) { + if (JSfuncs.hasOwnProperty(fun)) { + JSsource[fun] = parseJSFunc(JSfuncs[fun]); + } + } + } + }cwrap = function cwrap(ident, returnType, argTypes) { + argTypes = argTypes || [];var cfunc = getCFunc(ident);var numericArgs = argTypes.every(function (type) { + return type === "number"; + });var numericRet = returnType !== "string";if (numericRet && numericArgs) { + return cfunc; + }var argNames = argTypes.map(function (x, i) { + return "$" + i; + });var funcstr = "(function(" + argNames.join(",") + ") {";var nargs = argTypes.length;if (!numericArgs) { + ensureJSsource();funcstr += "var stack = " + JSsource["stackSave"].body + ";";for (var i = 0; i < nargs; i++) { + var arg = argNames[i], + type = argTypes[i];if (type === "number") continue;var convertCode = JSsource[type + "ToC"];funcstr += "var " + convertCode.arguments + " = " + arg + ";";funcstr += convertCode.body + ";";funcstr += arg + "=(" + convertCode.returnValue + ");"; + } + }var cfuncname = parseJSFunc(function () { + return cfunc; + }).returnValue;funcstr += "var ret = " + cfuncname + "(" + argNames.join(",") + ");";if (!numericRet) { + var strgfy = parseJSFunc(function () { + return Pointer_stringify; + }).returnValue;funcstr += "ret = " + strgfy + "(ret);"; + }if (!numericArgs) { + ensureJSsource();funcstr += JSsource["stackRestore"].body.replace("()", "(stack)") + ";"; + }funcstr += "return ret})";return eval(funcstr); + }; + })();Module["ccall"] = ccall;Module["cwrap"] = cwrap;function setValue(ptr, value, type, noSafe) { + type = type || "i8";if (type.charAt(type.length - 1) === "*") type = "i32";switch (type) {case "i1": + HEAP8[ptr >> 0] = value;break;case "i8": + HEAP8[ptr >> 0] = value;break;case "i16": + HEAP16[ptr >> 1] = value;break;case "i32": + HEAP32[ptr >> 2] = value;break;case "i64": + tempI64 = [value >>> 0, (tempDouble = value, +Math_abs(tempDouble) >= +1 ? tempDouble > +0 ? (Math_min(+Math_floor(tempDouble / +4294967296), +4294967295) | 0) >>> 0 : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / +4294967296) >>> 0 : 0)], HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1];break;case "float": + HEAPF32[ptr >> 2] = value;break;case "double": + HEAPF64[ptr >> 3] = value;break;default: + abort("invalid type for setValue: " + type);} + }Module["setValue"] = setValue;function getValue(ptr, type, noSafe) { + type = type || "i8";if (type.charAt(type.length - 1) === "*") type = "i32";switch (type) {case "i1": + return HEAP8[ptr >> 0];case "i8": + return HEAP8[ptr >> 0];case "i16": + return HEAP16[ptr >> 1];case "i32": + return HEAP32[ptr >> 2];case "i64": + return HEAP32[ptr >> 2];case "float": + return HEAPF32[ptr >> 2];case "double": + return HEAPF64[ptr >> 3];default: + abort("invalid type for setValue: " + type);}return null; + }Module["getValue"] = getValue;var ALLOC_NORMAL = 0;var ALLOC_STACK = 1;var ALLOC_STATIC = 2;var ALLOC_DYNAMIC = 3;var ALLOC_NONE = 4;Module["ALLOC_NORMAL"] = ALLOC_NORMAL;Module["ALLOC_STACK"] = ALLOC_STACK;Module["ALLOC_STATIC"] = ALLOC_STATIC;Module["ALLOC_DYNAMIC"] = ALLOC_DYNAMIC;Module["ALLOC_NONE"] = ALLOC_NONE;function allocate(slab, types, allocator, ptr) { + var zeroinit, size;if (typeof slab === "number") { + zeroinit = true;size = slab; + } else { + zeroinit = false;size = slab.length; + }var singleType = typeof types === "string" ? types : null;var ret;if (allocator == ALLOC_NONE) { + ret = ptr; + } else { + ret = [typeof _malloc === "function" ? _malloc : Runtime.staticAlloc, Runtime.stackAlloc, Runtime.staticAlloc, Runtime.dynamicAlloc][allocator === undefined ? ALLOC_STATIC : allocator](Math.max(size, singleType ? 1 : types.length)); + }if (zeroinit) { + var ptr = ret, + stop;assert((ret & 3) == 0);stop = ret + (size & ~3);for (; ptr < stop; ptr += 4) { + HEAP32[ptr >> 2] = 0; + }stop = ret + size;while (ptr < stop) { + HEAP8[ptr++ >> 0] = 0; + }return ret; + }if (singleType === "i8") { + if (slab.subarray || slab.slice) { + HEAPU8.set(slab, ret); + } else { + HEAPU8.set(new Uint8Array(slab), ret); + }return ret; + }var i = 0, + type, + typeSize, + previousType;while (i < size) { + var curr = slab[i];if (typeof curr === "function") { + curr = Runtime.getFunctionIndex(curr); + }type = singleType || types[i];if (type === 0) { + i++;continue; + }if (type == "i64") type = "i32";setValue(ret + i, curr, type);if (previousType !== type) { + typeSize = Runtime.getNativeTypeSize(type);previousType = type; + }i += typeSize; + }return ret; + }Module["allocate"] = allocate;function getMemory(size) { + if (!staticSealed) return Runtime.staticAlloc(size);if (!runtimeInitialized) return Runtime.dynamicAlloc(size);return _malloc(size); + }Module["getMemory"] = getMemory;function Pointer_stringify(ptr, length) { + if (length === 0 || !ptr) return "";var hasUtf = 0;var t;var i = 0;while (1) { + t = HEAPU8[ptr + i >> 0];hasUtf |= t;if (t == 0 && !length) break;i++;if (length && i == length) break; + }if (!length) length = i;var ret = "";if (hasUtf < 128) { + var MAX_CHUNK = 1024;var curr;while (length > 0) { + curr = String.fromCharCode.apply(String, HEAPU8.subarray(ptr, ptr + Math.min(length, MAX_CHUNK)));ret = ret ? ret + curr : curr;ptr += MAX_CHUNK;length -= MAX_CHUNK; + }return ret; + }return Module["UTF8ToString"](ptr); + }Module["Pointer_stringify"] = Pointer_stringify;function AsciiToString(ptr) { + var str = "";while (1) { + var ch = HEAP8[ptr++ >> 0];if (!ch) return str;str += String.fromCharCode(ch); + } + }Module["AsciiToString"] = AsciiToString;function stringToAscii(str, outPtr) { + return writeAsciiToMemory(str, outPtr, false); + }Module["stringToAscii"] = stringToAscii;var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined;function UTF8ArrayToString(u8Array, idx) { + var endPtr = idx;while (u8Array[endPtr]) ++endPtr;if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) { + return UTF8Decoder.decode(u8Array.subarray(idx, endPtr)); + } else { + var u0, u1, u2, u3, u4, u5;var str = "";while (1) { + u0 = u8Array[idx++];if (!u0) return str;if (!(u0 & 128)) { + str += String.fromCharCode(u0);continue; + }u1 = u8Array[idx++] & 63;if ((u0 & 224) == 192) { + str += String.fromCharCode((u0 & 31) << 6 | u1);continue; + }u2 = u8Array[idx++] & 63;if ((u0 & 240) == 224) { + u0 = (u0 & 15) << 12 | u1 << 6 | u2; + } else { + u3 = u8Array[idx++] & 63;if ((u0 & 248) == 240) { + u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | u3; + } else { + u4 = u8Array[idx++] & 63;if ((u0 & 252) == 248) { + u0 = (u0 & 3) << 24 | u1 << 18 | u2 << 12 | u3 << 6 | u4; + } else { + u5 = u8Array[idx++] & 63;u0 = (u0 & 1) << 30 | u1 << 24 | u2 << 18 | u3 << 12 | u4 << 6 | u5; + } + } + }if (u0 < 65536) { + str += String.fromCharCode(u0); + } else { + var ch = u0 - 65536;str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023); + } + } + } + }Module["UTF8ArrayToString"] = UTF8ArrayToString;function UTF8ToString(ptr) { + return UTF8ArrayToString(HEAPU8, ptr); + }Module["UTF8ToString"] = UTF8ToString;function stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) return 0;var startIdx = outIdx;var endIdx = outIdx + maxBytesToWrite - 1;for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i);if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023;if (u <= 127) { + if (outIdx >= endIdx) break;outU8Array[outIdx++] = u; + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) break;outU8Array[outIdx++] = 192 | u >> 6;outU8Array[outIdx++] = 128 | u & 63; + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) break;outU8Array[outIdx++] = 224 | u >> 12;outU8Array[outIdx++] = 128 | u >> 6 & 63;outU8Array[outIdx++] = 128 | u & 63; + } else if (u <= 2097151) { + if (outIdx + 3 >= endIdx) break;outU8Array[outIdx++] = 240 | u >> 18;outU8Array[outIdx++] = 128 | u >> 12 & 63;outU8Array[outIdx++] = 128 | u >> 6 & 63;outU8Array[outIdx++] = 128 | u & 63; + } else if (u <= 67108863) { + if (outIdx + 4 >= endIdx) break;outU8Array[outIdx++] = 248 | u >> 24;outU8Array[outIdx++] = 128 | u >> 18 & 63;outU8Array[outIdx++] = 128 | u >> 12 & 63;outU8Array[outIdx++] = 128 | u >> 6 & 63;outU8Array[outIdx++] = 128 | u & 63; + } else { + if (outIdx + 5 >= endIdx) break;outU8Array[outIdx++] = 252 | u >> 30;outU8Array[outIdx++] = 128 | u >> 24 & 63;outU8Array[outIdx++] = 128 | u >> 18 & 63;outU8Array[outIdx++] = 128 | u >> 12 & 63;outU8Array[outIdx++] = 128 | u >> 6 & 63;outU8Array[outIdx++] = 128 | u & 63; + } + }outU8Array[outIdx] = 0;return outIdx - startIdx; + }Module["stringToUTF8Array"] = stringToUTF8Array;function stringToUTF8(str, outPtr, maxBytesToWrite) { + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); + }Module["stringToUTF8"] = stringToUTF8;function lengthBytesUTF8(str) { + var len = 0;for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i);if (u >= 55296 && u <= 57343) u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023;if (u <= 127) { + ++len; + } else if (u <= 2047) { + len += 2; + } else if (u <= 65535) { + len += 3; + } else if (u <= 2097151) { + len += 4; + } else if (u <= 67108863) { + len += 5; + } else { + len += 6; + } + }return len; + }Module["lengthBytesUTF8"] = lengthBytesUTF8;var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined;function demangle(func) { + var __cxa_demangle_func = Module["___cxa_demangle"] || Module["__cxa_demangle"];if (__cxa_demangle_func) { + try { + var s = func.substr(1);var len = lengthBytesUTF8(s) + 1;var buf = _malloc(len);stringToUTF8(s, buf, len);var status = _malloc(4);var ret = __cxa_demangle_func(buf, 0, 0, status);if (getValue(status, "i32") === 0 && ret) { + return Pointer_stringify(ret); + } + } catch (e) {} finally { + if (buf) _free(buf);if (status) _free(status);if (ret) _free(ret); + }return func; + }Runtime.warnOnce("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling");return func; + }function demangleAll(text) { + var regex = /__Z[\w\d_]+/g;return text.replace(regex, function (x) { + var y = demangle(x);return x === y ? x : x + " [" + y + "]"; + }); + }function jsStackTrace() { + var err = new Error();if (!err.stack) { + try { + throw new Error(0); + } catch (e) { + err = e; + }if (!err.stack) { + return "(no stack trace available)"; + } + }return err.stack.toString(); + }function stackTrace() { + var js = jsStackTrace();if (Module["extraStackTrace"]) js += "\n" + Module["extraStackTrace"]();return demangleAll(js); + }Module["stackTrace"] = stackTrace;var HEAP, buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;function updateGlobalBufferViews() { + Module["HEAP8"] = HEAP8 = new Int8Array(buffer);Module["HEAP16"] = HEAP16 = new Int16Array(buffer);Module["HEAP32"] = HEAP32 = new Int32Array(buffer);Module["HEAPU8"] = HEAPU8 = new Uint8Array(buffer);Module["HEAPU16"] = HEAPU16 = new Uint16Array(buffer);Module["HEAPU32"] = HEAPU32 = new Uint32Array(buffer);Module["HEAPF32"] = HEAPF32 = new Float32Array(buffer);Module["HEAPF64"] = HEAPF64 = new Float64Array(buffer); + }var STATIC_BASE, STATICTOP, staticSealed;var STACK_BASE, STACKTOP, STACK_MAX;var DYNAMIC_BASE, DYNAMICTOP_PTR;STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0;staticSealed = false;function abortOnCannotGrowMemory() { + abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value " + TOTAL_MEMORY + ", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which allows increasing the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or (4) if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 "); + }function enlargeMemory() { + abortOnCannotGrowMemory(); + }var TOTAL_STACK = Module["TOTAL_STACK"] || 5242880;var TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 134217728;if (TOTAL_MEMORY < TOTAL_STACK) Module.printErr("TOTAL_MEMORY should be larger than TOTAL_STACK, was " + TOTAL_MEMORY + "! (TOTAL_STACK=" + TOTAL_STACK + ")");if (Module["buffer"]) { + buffer = Module["buffer"]; + } else { + { + buffer = new ArrayBuffer(TOTAL_MEMORY); + } + }updateGlobalBufferViews();function getTotalMemory() { + return TOTAL_MEMORY; + }HEAP32[0] = 1668509029;HEAP16[1] = 25459;if (HEAPU8[2] !== 115 || HEAPU8[3] !== 99) throw "Runtime error: expected the system to be little-endian!";Module["HEAP"] = HEAP;Module["buffer"] = buffer;Module["HEAP8"] = HEAP8;Module["HEAP16"] = HEAP16;Module["HEAP32"] = HEAP32;Module["HEAPU8"] = HEAPU8;Module["HEAPU16"] = HEAPU16;Module["HEAPU32"] = HEAPU32;Module["HEAPF32"] = HEAPF32;Module["HEAPF64"] = HEAPF64;function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + var callback = callbacks.shift();if (typeof callback == "function") { + callback();continue; + }var func = callback.func;if (typeof func === "number") { + if (callback.arg === undefined) { + Module["dynCall_v"](func); + } else { + Module["dynCall_vi"](func, callback.arg); + } + } else { + func(callback.arg === undefined ? null : callback.arg); + } + } + }var __ATPRERUN__ = [];var __ATINIT__ = [];var __ATMAIN__ = [];var __ATEXIT__ = [];var __ATPOSTRUN__ = [];var runtimeInitialized = false;var runtimeExited = false;function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") Module["preRun"] = [Module["preRun"]];while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()); + } + }callRuntimeCallbacks(__ATPRERUN__); + }function ensureInitRuntime() { + if (runtimeInitialized) return;runtimeInitialized = true;callRuntimeCallbacks(__ATINIT__); + }function preMain() { + callRuntimeCallbacks(__ATMAIN__); + }function exitRuntime() { + callRuntimeCallbacks(__ATEXIT__);runtimeExited = true; + }function postRun() { + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") Module["postRun"] = [Module["postRun"]];while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()); + } + }callRuntimeCallbacks(__ATPOSTRUN__); + }function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); + }Module["addOnPreRun"] = addOnPreRun;function addOnInit(cb) { + __ATINIT__.unshift(cb); + }Module["addOnInit"] = addOnInit;function addOnPreMain(cb) { + __ATMAIN__.unshift(cb); + }Module["addOnPreMain"] = addOnPreMain;function addOnExit(cb) { + __ATEXIT__.unshift(cb); + }Module["addOnExit"] = addOnExit;function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); + }Module["addOnPostRun"] = addOnPostRun;function intArrayFromString(stringy, dontAddNull, length) { + var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;var u8array = new Array(len);var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);if (dontAddNull) u8array.length = numBytesWritten;return u8array; + }Module["intArrayFromString"] = intArrayFromString;function intArrayToString(array) { + var ret = [];for (var i = 0; i < array.length; i++) { + var chr = array[i];if (chr > 255) { + chr &= 255; + }ret.push(String.fromCharCode(chr)); + }return ret.join(""); + }Module["intArrayToString"] = intArrayToString;function writeStringToMemory(string, buffer, dontAddNull) { + Runtime.warnOnce("writeStringToMemory is deprecated and should not be called! Use stringToUTF8() instead!");var lastChar, end;if (dontAddNull) { + end = buffer + lengthBytesUTF8(string);lastChar = HEAP8[end]; + }stringToUTF8(string, buffer, Infinity);if (dontAddNull) HEAP8[end] = lastChar; + }Module["writeStringToMemory"] = writeStringToMemory;function writeArrayToMemory(array, buffer) { + HEAP8.set(array, buffer); + }Module["writeArrayToMemory"] = writeArrayToMemory;function writeAsciiToMemory(str, buffer, dontAddNull) { + for (var i = 0; i < str.length; ++i) { + HEAP8[buffer++ >> 0] = str.charCodeAt(i); + }if (!dontAddNull) HEAP8[buffer >> 0] = 0; + }Module["writeAsciiToMemory"] = writeAsciiToMemory;if (!Math["imul"] || Math["imul"](4294967295, 5) !== -5) Math["imul"] = function imul(a, b) { + var ah = a >>> 16;var al = a & 65535;var bh = b >>> 16;var bl = b & 65535;return al * bl + (ah * bl + al * bh << 16) | 0; + };Math.imul = Math["imul"];if (!Math["fround"]) { + var froundBuffer = new Float32Array(1);Math["fround"] = function (x) { + froundBuffer[0] = x;return froundBuffer[0]; + }; + }Math.fround = Math["fround"];if (!Math["clz32"]) Math["clz32"] = function (x) { + x = x >>> 0;for (var i = 0; i < 32; i++) { + if (x & 1 << 31 - i) return i; + }return 32; + };Math.clz32 = Math["clz32"];if (!Math["trunc"]) Math["trunc"] = function (x) { + return x < 0 ? Math.ceil(x) : Math.floor(x); + };Math.trunc = Math["trunc"];var Math_abs = Math.abs;var Math_cos = Math.cos;var Math_sin = Math.sin;var Math_tan = Math.tan;var Math_acos = Math.acos;var Math_asin = Math.asin;var Math_atan = Math.atan;var Math_atan2 = Math.atan2;var Math_exp = Math.exp;var Math_log = Math.log;var Math_sqrt = Math.sqrt;var Math_ceil = Math.ceil;var Math_floor = Math.floor;var Math_pow = Math.pow;var Math_imul = Math.imul;var Math_fround = Math.fround;var Math_round = Math.round;var Math_min = Math.min;var Math_clz32 = Math.clz32;var Math_trunc = Math.trunc;var runDependencies = 0;var runDependencyWatcher = null;var dependenciesFulfilled = null;function getUniqueRunDependency(id) { + return id; + }function addRunDependency(id) { + runDependencies++;if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } + }Module["addRunDependency"] = addRunDependency;function removeRunDependency(id) { + runDependencies--;if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + }if (runDependencies == 0) { + if (runDependencyWatcher !== null) { + clearInterval(runDependencyWatcher);runDependencyWatcher = null; + }if (dependenciesFulfilled) { + var callback = dependenciesFulfilled;dependenciesFulfilled = null;callback(); + } + } + }Module["removeRunDependency"] = removeRunDependency;Module["preloadedImages"] = {};Module["preloadedAudios"] = {};var ASM_CONSTS = [function ($0, $1, $2, $3, $4, $5, $6, $7) { + return _nbind.callbackSignatureList[$0].apply(this, arguments); + }];function _emscripten_asm_const_iiiiiiii(code, a0, a1, a2, a3, a4, a5, a6) { + return ASM_CONSTS[code](a0, a1, a2, a3, a4, a5, a6); + }function _emscripten_asm_const_iiiii(code, a0, a1, a2, a3) { + return ASM_CONSTS[code](a0, a1, a2, a3); + }function _emscripten_asm_const_iiidddddd(code, a0, a1, a2, a3, a4, a5, a6, a7) { + return ASM_CONSTS[code](a0, a1, a2, a3, a4, a5, a6, a7); + }function _emscripten_asm_const_iiididi(code, a0, a1, a2, a3, a4, a5) { + return ASM_CONSTS[code](a0, a1, a2, a3, a4, a5); + }function _emscripten_asm_const_iiii(code, a0, a1, a2) { + return ASM_CONSTS[code](a0, a1, a2); + }function _emscripten_asm_const_iiiid(code, a0, a1, a2, a3) { + return ASM_CONSTS[code](a0, a1, a2, a3); + }function _emscripten_asm_const_iiiiii(code, a0, a1, a2, a3, a4) { + return ASM_CONSTS[code](a0, a1, a2, a3, a4); + }STATIC_BASE = Runtime.GLOBAL_BASE;STATICTOP = STATIC_BASE + 12800;__ATINIT__.push({ func: function () { + __GLOBAL__sub_I_Yoga_cpp(); + } }, { func: function () { + __GLOBAL__sub_I_nbind_cc(); + } }, { func: function () { + __GLOBAL__sub_I_common_cc(); + } }, { func: function () { + __GLOBAL__sub_I_Binding_cc(); + } });allocate([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 192, 127, 0, 0, 192, 127, 0, 0, 192, 127, 3, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 3, 0, 0, 0, 0, 0, 192, 127, 3, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 127, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 128, 191, 0, 0, 128, 191, 0, 0, 192, 127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 190, 12, 0, 0, 200, 12, 0, 0, 208, 12, 0, 0, 216, 12, 0, 0, 230, 12, 0, 0, 242, 12, 0, 0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 192, 127, 3, 0, 0, 0, 180, 45, 0, 0, 181, 45, 0, 0, 182, 45, 0, 0, 181, 45, 0, 0, 182, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 0, 4, 0, 0, 0, 183, 45, 0, 0, 181, 45, 0, 0, 181, 45, 0, 0, 181, 45, 0, 0, 181, 45, 0, 0, 181, 45, 0, 0, 181, 45, 0, 0, 184, 45, 0, 0, 185, 45, 0, 0, 181, 45, 0, 0, 181, 45, 0, 0, 182, 45, 0, 0, 186, 45, 0, 0, 185, 45, 0, 0, 148, 4, 0, 0, 3, 0, 0, 0, 187, 45, 0, 0, 164, 4, 0, 0, 188, 45, 0, 0, 2, 0, 0, 0, 189, 45, 0, 0, 164, 4, 0, 0, 188, 45, 0, 0, 185, 45, 0, 0, 164, 4, 0, 0, 185, 45, 0, 0, 164, 4, 0, 0, 188, 45, 0, 0, 181, 45, 0, 0, 182, 45, 0, 0, 181, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 5, 0, 0, 0, 6, 0, 0, 0, 1, 0, 0, 0, 7, 0, 0, 0, 183, 45, 0, 0, 182, 45, 0, 0, 181, 45, 0, 0, 190, 45, 0, 0, 190, 45, 0, 0, 182, 45, 0, 0, 182, 45, 0, 0, 185, 45, 0, 0, 181, 45, 0, 0, 185, 45, 0, 0, 182, 45, 0, 0, 181, 45, 0, 0, 185, 45, 0, 0, 182, 45, 0, 0, 185, 45, 0, 0, 48, 5, 0, 0, 3, 0, 0, 0, 56, 5, 0, 0, 1, 0, 0, 0, 189, 45, 0, 0, 185, 45, 0, 0, 164, 4, 0, 0, 76, 5, 0, 0, 2, 0, 0, 0, 191, 45, 0, 0, 186, 45, 0, 0, 182, 45, 0, 0, 185, 45, 0, 0, 192, 45, 0, 0, 185, 45, 0, 0, 182, 45, 0, 0, 186, 45, 0, 0, 185, 45, 0, 0, 76, 5, 0, 0, 76, 5, 0, 0, 136, 5, 0, 0, 182, 45, 0, 0, 181, 45, 0, 0, 2, 0, 0, 0, 190, 45, 0, 0, 136, 5, 0, 0, 56, 19, 0, 0, 156, 5, 0, 0, 2, 0, 0, 0, 184, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 8, 0, 0, 0, 9, 0, 0, 0, 1, 0, 0, 0, 10, 0, 0, 0, 204, 5, 0, 0, 181, 45, 0, 0, 181, 45, 0, 0, 2, 0, 0, 0, 180, 45, 0, 0, 204, 5, 0, 0, 2, 0, 0, 0, 195, 45, 0, 0, 236, 5, 0, 0, 97, 19, 0, 0, 198, 45, 0, 0, 211, 45, 0, 0, 212, 45, 0, 0, 213, 45, 0, 0, 214, 45, 0, 0, 215, 45, 0, 0, 188, 45, 0, 0, 182, 45, 0, 0, 216, 45, 0, 0, 217, 45, 0, 0, 218, 45, 0, 0, 219, 45, 0, 0, 192, 45, 0, 0, 181, 45, 0, 0, 0, 0, 0, 0, 185, 45, 0, 0, 110, 19, 0, 0, 186, 45, 0, 0, 115, 19, 0, 0, 221, 45, 0, 0, 120, 19, 0, 0, 148, 4, 0, 0, 132, 19, 0, 0, 96, 6, 0, 0, 145, 19, 0, 0, 222, 45, 0, 0, 164, 19, 0, 0, 223, 45, 0, 0, 173, 19, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 104, 6, 0, 0, 1, 0, 0, 0, 187, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 11, 0, 0, 0, 12, 0, 0, 0, 1, 0, 0, 0, 13, 0, 0, 0, 185, 45, 0, 0, 224, 45, 0, 0, 164, 6, 0, 0, 188, 45, 0, 0, 172, 6, 0, 0, 180, 6, 0, 0, 2, 0, 0, 0, 188, 6, 0, 0, 7, 0, 0, 0, 224, 45, 0, 0, 7, 0, 0, 0, 164, 6, 0, 0, 1, 0, 0, 0, 213, 45, 0, 0, 185, 45, 0, 0, 224, 45, 0, 0, 172, 6, 0, 0, 185, 45, 0, 0, 224, 45, 0, 0, 164, 6, 0, 0, 185, 45, 0, 0, 224, 45, 0, 0, 211, 45, 0, 0, 211, 45, 0, 0, 222, 45, 0, 0, 211, 45, 0, 0, 224, 45, 0, 0, 222, 45, 0, 0, 211, 45, 0, 0, 224, 45, 0, 0, 172, 6, 0, 0, 222, 45, 0, 0, 211, 45, 0, 0, 224, 45, 0, 0, 188, 45, 0, 0, 222, 45, 0, 0, 211, 45, 0, 0, 40, 7, 0, 0, 188, 45, 0, 0, 2, 0, 0, 0, 224, 45, 0, 0, 185, 45, 0, 0, 188, 45, 0, 0, 188, 45, 0, 0, 188, 45, 0, 0, 188, 45, 0, 0, 222, 45, 0, 0, 224, 45, 0, 0, 148, 4, 0, 0, 185, 45, 0, 0, 148, 4, 0, 0, 148, 4, 0, 0, 148, 4, 0, 0, 148, 4, 0, 0, 148, 4, 0, 0, 185, 45, 0, 0, 164, 6, 0, 0, 148, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 14, 0, 0, 0, 15, 0, 0, 0, 1, 0, 0, 0, 16, 0, 0, 0, 148, 7, 0, 0, 2, 0, 0, 0, 225, 45, 0, 0, 183, 45, 0, 0, 188, 45, 0, 0, 168, 7, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 0, 0, 0, 234, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 148, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 9, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2, 0, 0, 0, 242, 45, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 111, 117, 108, 100, 32, 110, 111, 116, 32, 97, 108, 108, 111, 99, 97, 116, 101, 32, 109, 101, 109, 111, 114, 121, 32, 102, 111, 114, 32, 110, 111, 100, 101, 0, 67, 97, 110, 110, 111, 116, 32, 114, 101, 115, 101, 116, 32, 97, 32, 110, 111, 100, 101, 32, 119, 104, 105, 99, 104, 32, 115, 116, 105, 108, 108, 32, 104, 97, 115, 32, 99, 104, 105, 108, 100, 114, 101, 110, 32, 97, 116, 116, 97, 99, 104, 101, 100, 0, 67, 97, 110, 110, 111, 116, 32, 114, 101, 115, 101, 116, 32, 97, 32, 110, 111, 100, 101, 32, 115, 116, 105, 108, 108, 32, 97, 116, 116, 97, 99, 104, 101, 100, 32, 116, 111, 32, 97, 32, 112, 97, 114, 101, 110, 116, 0, 67, 111, 117, 108, 100, 32, 110, 111, 116, 32, 97, 108, 108, 111, 99, 97, 116, 101, 32, 109, 101, 109, 111, 114, 121, 32, 102, 111, 114, 32, 99, 111, 110, 102, 105, 103, 0, 67, 97, 110, 110, 111, 116, 32, 115, 101, 116, 32, 109, 101, 97, 115, 117, 114, 101, 32, 102, 117, 110, 99, 116, 105, 111, 110, 58, 32, 78, 111, 100, 101, 115, 32, 119, 105, 116, 104, 32, 109, 101, 97, 115, 117, 114, 101, 32, 102, 117, 110, 99, 116, 105, 111, 110, 115, 32, 99, 97, 110, 110, 111, 116, 32, 104, 97, 118, 101, 32, 99, 104, 105, 108, 100, 114, 101, 110, 46, 0, 67, 104, 105, 108, 100, 32, 97, 108, 114, 101, 97, 100, 121, 32, 104, 97, 115, 32, 97, 32, 112, 97, 114, 101, 110, 116, 44, 32, 105, 116, 32, 109, 117, 115, 116, 32, 98, 101, 32, 114, 101, 109, 111, 118, 101, 100, 32, 102, 105, 114, 115, 116, 46, 0, 67, 97, 110, 110, 111, 116, 32, 97, 100, 100, 32, 99, 104, 105, 108, 100, 58, 32, 78, 111, 100, 101, 115, 32, 119, 105, 116, 104, 32, 109, 101, 97, 115, 117, 114, 101, 32, 102, 117, 110, 99, 116, 105, 111, 110, 115, 32, 99, 97, 110, 110, 111, 116, 32, 104, 97, 118, 101, 32, 99, 104, 105, 108, 100, 114, 101, 110, 46, 0, 79, 110, 108, 121, 32, 108, 101, 97, 102, 32, 110, 111, 100, 101, 115, 32, 119, 105, 116, 104, 32, 99, 117, 115, 116, 111, 109, 32, 109, 101, 97, 115, 117, 114, 101, 32, 102, 117, 110, 99, 116, 105, 111, 110, 115, 115, 104, 111, 117, 108, 100, 32, 109, 97, 110, 117, 97, 108, 108, 121, 32, 109, 97, 114, 107, 32, 116, 104, 101, 109, 115, 101, 108, 118, 101, 115, 32, 97, 115, 32, 100, 105, 114, 116, 121, 0, 67, 97, 110, 110, 111, 116, 32, 103, 101, 116, 32, 108, 97, 121, 111, 117, 116, 32, 112, 114, 111, 112, 101, 114, 116, 105, 101, 115, 32, 111, 102, 32, 109, 117, 108, 116, 105, 45, 101, 100, 103, 101, 32, 115, 104, 111, 114, 116, 104, 97, 110, 100, 115, 0, 37, 115, 37, 100, 46, 123, 91, 115, 107, 105, 112, 112, 101, 100, 93, 32, 0, 119, 109, 58, 32, 37, 115, 44, 32, 104, 109, 58, 32, 37, 115, 44, 32, 97, 119, 58, 32, 37, 102, 32, 97, 104, 58, 32, 37, 102, 32, 61, 62, 32, 100, 58, 32, 40, 37, 102, 44, 32, 37, 102, 41, 32, 37, 115, 10, 0, 37, 115, 37, 100, 46, 123, 37, 115, 0, 42, 0, 119, 109, 58, 32, 37, 115, 44, 32, 104, 109, 58, 32, 37, 115, 44, 32, 97, 119, 58, 32, 37, 102, 32, 97, 104, 58, 32, 37, 102, 32, 37, 115, 10, 0, 37, 115, 37, 100, 46, 125, 37, 115, 0, 119, 109, 58, 32, 37, 115, 44, 32, 104, 109, 58, 32, 37, 115, 44, 32, 100, 58, 32, 40, 37, 102, 44, 32, 37, 102, 41, 32, 37, 115, 10, 0, 79, 117, 116, 32, 111, 102, 32, 99, 97, 99, 104, 101, 32, 101, 110, 116, 114, 105, 101, 115, 33, 10, 0, 83, 99, 97, 108, 101, 32, 102, 97, 99, 116, 111, 114, 32, 115, 104, 111, 117, 108, 100, 32, 110, 111, 116, 32, 98, 101, 32, 108, 101, 115, 115, 32, 116, 104, 97, 110, 32, 122, 101, 114, 111, 0, 105, 110, 105, 116, 105, 97, 108, 0, 37, 115, 10, 0, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 0, 85, 78, 68, 69, 70, 73, 78, 69, 68, 0, 69, 88, 65, 67, 84, 76, 89, 0, 65, 84, 95, 77, 79, 83, 84, 0, 76, 65, 89, 95, 85, 78, 68, 69, 70, 73, 78, 69, 68, 0, 76, 65, 89, 95, 69, 88, 65, 67, 84, 76, 89, 0, 76, 65, 89, 95, 65, 84, 95, 77, 79, 83, 84, 0, 97, 118, 97, 105, 108, 97, 98, 108, 101, 87, 105, 100, 116, 104, 32, 105, 115, 32, 105, 110, 100, 101, 102, 105, 110, 105, 116, 101, 32, 115, 111, 32, 119, 105, 100, 116, 104, 77, 101, 97, 115, 117, 114, 101, 77, 111, 100, 101, 32, 109, 117, 115, 116, 32, 98, 101, 32, 89, 71, 77, 101, 97, 115, 117, 114, 101, 77, 111, 100, 101, 85, 110, 100, 101, 102, 105, 110, 101, 100, 0, 97, 118, 97, 105, 108, 97, 98, 108, 101, 72, 101, 105, 103, 104, 116, 32, 105, 115, 32, 105, 110, 100, 101, 102, 105, 110, 105, 116, 101, 32, 115, 111, 32, 104, 101, 105, 103, 104, 116, 77, 101, 97, 115, 117, 114, 101, 77, 111, 100, 101, 32, 109, 117, 115, 116, 32, 98, 101, 32, 89, 71, 77, 101, 97, 115, 117, 114, 101, 77, 111, 100, 101, 85, 110, 100, 101, 102, 105, 110, 101, 100, 0, 102, 108, 101, 120, 0, 115, 116, 114, 101, 116, 99, 104, 0, 109, 117, 108, 116, 105, 108, 105, 110, 101, 45, 115, 116, 114, 101, 116, 99, 104, 0, 69, 120, 112, 101, 99, 116, 101, 100, 32, 110, 111, 100, 101, 32, 116, 111, 32, 104, 97, 118, 101, 32, 99, 117, 115, 116, 111, 109, 32, 109, 101, 97, 115, 117, 114, 101, 32, 102, 117, 110, 99, 116, 105, 111, 110, 0, 109, 101, 97, 115, 117, 114, 101, 0, 69, 120, 112, 101, 99, 116, 32, 99, 117, 115, 116, 111, 109, 32, 98, 97, 115, 101, 108, 105, 110, 101, 32, 102, 117, 110, 99, 116, 105, 111, 110, 32, 116, 111, 32, 110, 111, 116, 32, 114, 101, 116, 117, 114, 110, 32, 78, 97, 78, 0, 97, 98, 115, 45, 109, 101, 97, 115, 117, 114, 101, 0, 97, 98, 115, 45, 108, 97, 121, 111, 117, 116, 0, 78, 111, 100, 101, 0, 99, 114, 101, 97, 116, 101, 68, 101, 102, 97, 117, 108, 116, 0, 99, 114, 101, 97, 116, 101, 87, 105, 116, 104, 67, 111, 110, 102, 105, 103, 0, 100, 101, 115, 116, 114, 111, 121, 0, 114, 101, 115, 101, 116, 0, 99, 111, 112, 121, 83, 116, 121, 108, 101, 0, 115, 101, 116, 80, 111, 115, 105, 116, 105, 111, 110, 84, 121, 112, 101, 0, 115, 101, 116, 80, 111, 115, 105, 116, 105, 111, 110, 0, 115, 101, 116, 80, 111, 115, 105, 116, 105, 111, 110, 80, 101, 114, 99, 101, 110, 116, 0, 115, 101, 116, 65, 108, 105, 103, 110, 67, 111, 110, 116, 101, 110, 116, 0, 115, 101, 116, 65, 108, 105, 103, 110, 73, 116, 101, 109, 115, 0, 115, 101, 116, 65, 108, 105, 103, 110, 83, 101, 108, 102, 0, 115, 101, 116, 70, 108, 101, 120, 68, 105, 114, 101, 99, 116, 105, 111, 110, 0, 115, 101, 116, 70, 108, 101, 120, 87, 114, 97, 112, 0, 115, 101, 116, 74, 117, 115, 116, 105, 102, 121, 67, 111, 110, 116, 101, 110, 116, 0, 115, 101, 116, 77, 97, 114, 103, 105, 110, 0, 115, 101, 116, 77, 97, 114, 103, 105, 110, 80, 101, 114, 99, 101, 110, 116, 0, 115, 101, 116, 77, 97, 114, 103, 105, 110, 65, 117, 116, 111, 0, 115, 101, 116, 79, 118, 101, 114, 102, 108, 111, 119, 0, 115, 101, 116, 68, 105, 115, 112, 108, 97, 121, 0, 115, 101, 116, 70, 108, 101, 120, 0, 115, 101, 116, 70, 108, 101, 120, 66, 97, 115, 105, 115, 0, 115, 101, 116, 70, 108, 101, 120, 66, 97, 115, 105, 115, 80, 101, 114, 99, 101, 110, 116, 0, 115, 101, 116, 70, 108, 101, 120, 71, 114, 111, 119, 0, 115, 101, 116, 70, 108, 101, 120, 83, 104, 114, 105, 110, 107, 0, 115, 101, 116, 87, 105, 100, 116, 104, 0, 115, 101, 116, 87, 105, 100, 116, 104, 80, 101, 114, 99, 101, 110, 116, 0, 115, 101, 116, 87, 105, 100, 116, 104, 65, 117, 116, 111, 0, 115, 101, 116, 72, 101, 105, 103, 104, 116, 0, 115, 101, 116, 72, 101, 105, 103, 104, 116, 80, 101, 114, 99, 101, 110, 116, 0, 115, 101, 116, 72, 101, 105, 103, 104, 116, 65, 117, 116, 111, 0, 115, 101, 116, 77, 105, 110, 87, 105, 100, 116, 104, 0, 115, 101, 116, 77, 105, 110, 87, 105, 100, 116, 104, 80, 101, 114, 99, 101, 110, 116, 0, 115, 101, 116, 77, 105, 110, 72, 101, 105, 103, 104, 116, 0, 115, 101, 116, 77, 105, 110, 72, 101, 105, 103, 104, 116, 80, 101, 114, 99, 101, 110, 116, 0, 115, 101, 116, 77, 97, 120, 87, 105, 100, 116, 104, 0, 115, 101, 116, 77, 97, 120, 87, 105, 100, 116, 104, 80, 101, 114, 99, 101, 110, 116, 0, 115, 101, 116, 77, 97, 120, 72, 101, 105, 103, 104, 116, 0, 115, 101, 116, 77, 97, 120, 72, 101, 105, 103, 104, 116, 80, 101, 114, 99, 101, 110, 116, 0, 115, 101, 116, 65, 115, 112, 101, 99, 116, 82, 97, 116, 105, 111, 0, 115, 101, 116, 66, 111, 114, 100, 101, 114, 0, 115, 101, 116, 80, 97, 100, 100, 105, 110, 103, 0, 115, 101, 116, 80, 97, 100, 100, 105, 110, 103, 80, 101, 114, 99, 101, 110, 116, 0, 103, 101, 116, 80, 111, 115, 105, 116, 105, 111, 110, 84, 121, 112, 101, 0, 103, 101, 116, 80, 111, 115, 105, 116, 105, 111, 110, 0, 103, 101, 116, 65, 108, 105, 103, 110, 67, 111, 110, 116, 101, 110, 116, 0, 103, 101, 116, 65, 108, 105, 103, 110, 73, 116, 101, 109, 115, 0, 103, 101, 116, 65, 108, 105, 103, 110, 83, 101, 108, 102, 0, 103, 101, 116, 70, 108, 101, 120, 68, 105, 114, 101, 99, 116, 105, 111, 110, 0, 103, 101, 116, 70, 108, 101, 120, 87, 114, 97, 112, 0, 103, 101, 116, 74, 117, 115, 116, 105, 102, 121, 67, 111, 110, 116, 101, 110, 116, 0, 103, 101, 116, 77, 97, 114, 103, 105, 110, 0, 103, 101, 116, 70, 108, 101, 120, 66, 97, 115, 105, 115, 0, 103, 101, 116, 70, 108, 101, 120, 71, 114, 111, 119, 0, 103, 101, 116, 70, 108, 101, 120, 83, 104, 114, 105, 110, 107, 0, 103, 101, 116, 87, 105, 100, 116, 104, 0, 103, 101, 116, 72, 101, 105, 103, 104, 116, 0, 103, 101, 116, 77, 105, 110, 87, 105, 100, 116, 104, 0, 103, 101, 116, 77, 105, 110, 72, 101, 105, 103, 104, 116, 0, 103, 101, 116, 77, 97, 120, 87, 105, 100, 116, 104, 0, 103, 101, 116, 77, 97, 120, 72, 101, 105, 103, 104, 116, 0, 103, 101, 116, 65, 115, 112, 101, 99, 116, 82, 97, 116, 105, 111, 0, 103, 101, 116, 66, 111, 114, 100, 101, 114, 0, 103, 101, 116, 79, 118, 101, 114, 102, 108, 111, 119, 0, 103, 101, 116, 68, 105, 115, 112, 108, 97, 121, 0, 103, 101, 116, 80, 97, 100, 100, 105, 110, 103, 0, 105, 110, 115, 101, 114, 116, 67, 104, 105, 108, 100, 0, 114, 101, 109, 111, 118, 101, 67, 104, 105, 108, 100, 0, 103, 101, 116, 67, 104, 105, 108, 100, 67, 111, 117, 110, 116, 0, 103, 101, 116, 80, 97, 114, 101, 110, 116, 0, 103, 101, 116, 67, 104, 105, 108, 100, 0, 115, 101, 116, 77, 101, 97, 115, 117, 114, 101, 70, 117, 110, 99, 0, 117, 110, 115, 101, 116, 77, 101, 97, 115, 117, 114, 101, 70, 117, 110, 99, 0, 109, 97, 114, 107, 68, 105, 114, 116, 121, 0, 105, 115, 68, 105, 114, 116, 121, 0, 99, 97, 108, 99, 117, 108, 97, 116, 101, 76, 97, 121, 111, 117, 116, 0, 103, 101, 116, 67, 111, 109, 112, 117, 116, 101, 100, 76, 101, 102, 116, 0, 103, 101, 116, 67, 111, 109, 112, 117, 116, 101, 100, 82, 105, 103, 104, 116, 0, 103, 101, 116, 67, 111, 109, 112, 117, 116, 101, 100, 84, 111, 112, 0, 103, 101, 116, 67, 111, 109, 112, 117, 116, 101, 100, 66, 111, 116, 116, 111, 109, 0, 103, 101, 116, 67, 111, 109, 112, 117, 116, 101, 100, 87, 105, 100, 116, 104, 0, 103, 101, 116, 67, 111, 109, 112, 117, 116, 101, 100, 72, 101, 105, 103, 104, 116, 0, 103, 101, 116, 67, 111, 109, 112, 117, 116, 101, 100, 76, 97, 121, 111, 117, 116, 0, 103, 101, 116, 67, 111, 109, 112, 117, 116, 101, 100, 77, 97, 114, 103, 105, 110, 0, 103, 101, 116, 67, 111, 109, 112, 117, 116, 101, 100, 66, 111, 114, 100, 101, 114, 0, 103, 101, 116, 67, 111, 109, 112, 117, 116, 101, 100, 80, 97, 100, 100, 105, 110, 103, 0, 67, 111, 110, 102, 105, 103, 0, 99, 114, 101, 97, 116, 101, 0, 115, 101, 116, 69, 120, 112, 101, 114, 105, 109, 101, 110, 116, 97, 108, 70, 101, 97, 116, 117, 114, 101, 69, 110, 97, 98, 108, 101, 100, 0, 115, 101, 116, 80, 111, 105, 110, 116, 83, 99, 97, 108, 101, 70, 97, 99, 116, 111, 114, 0, 105, 115, 69, 120, 112, 101, 114, 105, 109, 101, 110, 116, 97, 108, 70, 101, 97, 116, 117, 114, 101, 69, 110, 97, 98, 108, 101, 100, 0, 86, 97, 108, 117, 101, 0, 76, 97, 121, 111, 117, 116, 0, 83, 105, 122, 101, 0, 103, 101, 116, 73, 110, 115, 116, 97, 110, 99, 101, 67, 111, 117, 110, 116, 0, 73, 110, 116, 54, 52, 0, 1, 1, 1, 2, 2, 4, 4, 4, 4, 8, 8, 4, 8, 118, 111, 105, 100, 0, 98, 111, 111, 108, 0, 115, 116, 100, 58, 58, 115, 116, 114, 105, 110, 103, 0, 99, 98, 70, 117, 110, 99, 116, 105, 111, 110, 32, 38, 0, 99, 111, 110, 115, 116, 32, 99, 98, 70, 117, 110, 99, 116, 105, 111, 110, 32, 38, 0, 69, 120, 116, 101, 114, 110, 97, 108, 0, 66, 117, 102, 102, 101, 114, 0, 78, 66, 105, 110, 100, 73, 68, 0, 78, 66, 105, 110, 100, 0, 98, 105, 110, 100, 95, 118, 97, 108, 117, 101, 0, 114, 101, 102, 108, 101, 99, 116, 0, 113, 117, 101, 114, 121, 84, 121, 112, 101, 0, 108, 97, 108, 108, 111, 99, 0, 108, 114, 101, 115, 101, 116, 0, 123, 114, 101, 116, 117, 114, 110, 40, 95, 110, 98, 105, 110, 100, 46, 99, 97, 108, 108, 98, 97, 99, 107, 83, 105, 103, 110, 97, 116, 117, 114, 101, 76, 105, 115, 116, 91, 36, 48, 93, 46, 97, 112, 112, 108, 121, 40, 116, 104, 105, 115, 44, 97, 114, 103, 117, 109, 101, 110, 116, 115, 41, 41, 59, 125, 0, 95, 110, 98, 105, 110, 100, 95, 110, 101, 119, 0, 17, 0, 10, 0, 17, 17, 17, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 15, 10, 17, 17, 17, 3, 10, 7, 0, 1, 19, 9, 11, 11, 0, 0, 9, 6, 11, 0, 0, 11, 0, 6, 17, 0, 0, 0, 17, 17, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0, 10, 10, 17, 17, 17, 0, 10, 0, 0, 2, 0, 9, 11, 0, 0, 0, 9, 0, 11, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 12, 0, 0, 0, 0, 9, 12, 0, 0, 0, 0, 0, 12, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 4, 13, 0, 0, 0, 0, 9, 14, 0, 0, 0, 0, 0, 14, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 15, 0, 0, 0, 0, 9, 16, 0, 0, 0, 0, 0, 16, 0, 0, 16, 0, 0, 18, 0, 0, 0, 18, 18, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 0, 0, 18, 18, 18, 0, 0, 0, 0, 0, 0, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 10, 0, 0, 0, 0, 9, 11, 0, 0, 0, 0, 0, 11, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 12, 0, 0, 0, 0, 9, 12, 0, 0, 0, 0, 0, 12, 0, 0, 12, 0, 0, 45, 43, 32, 32, 32, 48, 88, 48, 120, 0, 40, 110, 117, 108, 108, 41, 0, 45, 48, 88, 43, 48, 88, 32, 48, 88, 45, 48, 120, 43, 48, 120, 32, 48, 120, 0, 105, 110, 102, 0, 73, 78, 70, 0, 110, 97, 110, 0, 78, 65, 78, 0, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 65, 66, 67, 68, 69, 70, 46, 0, 84, 33, 34, 25, 13, 1, 2, 3, 17, 75, 28, 12, 16, 4, 11, 29, 18, 30, 39, 104, 110, 111, 112, 113, 98, 32, 5, 6, 15, 19, 20, 21, 26, 8, 22, 7, 40, 36, 23, 24, 9, 10, 14, 27, 31, 37, 35, 131, 130, 125, 38, 42, 43, 60, 61, 62, 63, 67, 71, 74, 77, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 99, 100, 101, 102, 103, 105, 106, 107, 108, 114, 115, 116, 121, 122, 123, 124, 0, 73, 108, 108, 101, 103, 97, 108, 32, 98, 121, 116, 101, 32, 115, 101, 113, 117, 101, 110, 99, 101, 0, 68, 111, 109, 97, 105, 110, 32, 101, 114, 114, 111, 114, 0, 82, 101, 115, 117, 108, 116, 32, 110, 111, 116, 32, 114, 101, 112, 114, 101, 115, 101, 110, 116, 97, 98, 108, 101, 0, 78, 111, 116, 32, 97, 32, 116, 116, 121, 0, 80, 101, 114, 109, 105, 115, 115, 105, 111, 110, 32, 100, 101, 110, 105, 101, 100, 0, 79, 112, 101, 114, 97, 116, 105, 111, 110, 32, 110, 111, 116, 32, 112, 101, 114, 109, 105, 116, 116, 101, 100, 0, 78, 111, 32, 115, 117, 99, 104, 32, 102, 105, 108, 101, 32, 111, 114, 32, 100, 105, 114, 101, 99, 116, 111, 114, 121, 0, 78, 111, 32, 115, 117, 99, 104, 32, 112, 114, 111, 99, 101, 115, 115, 0, 70, 105, 108, 101, 32, 101, 120, 105, 115, 116, 115, 0, 86, 97, 108, 117, 101, 32, 116, 111, 111, 32, 108, 97, 114, 103, 101, 32, 102, 111, 114, 32, 100, 97, 116, 97, 32, 116, 121, 112, 101, 0, 78, 111, 32, 115, 112, 97, 99, 101, 32, 108, 101, 102, 116, 32, 111, 110, 32, 100, 101, 118, 105, 99, 101, 0, 79, 117, 116, 32, 111, 102, 32, 109, 101, 109, 111, 114, 121, 0, 82, 101, 115, 111, 117, 114, 99, 101, 32, 98, 117, 115, 121, 0, 73, 110, 116, 101, 114, 114, 117, 112, 116, 101, 100, 32, 115, 121, 115, 116, 101, 109, 32, 99, 97, 108, 108, 0, 82, 101, 115, 111, 117, 114, 99, 101, 32, 116, 101, 109, 112, 111, 114, 97, 114, 105, 108, 121, 32, 117, 110, 97, 118, 97, 105, 108, 97, 98, 108, 101, 0, 73, 110, 118, 97, 108, 105, 100, 32, 115, 101, 101, 107, 0, 67, 114, 111, 115, 115, 45, 100, 101, 118, 105, 99, 101, 32, 108, 105, 110, 107, 0, 82, 101, 97, 100, 45, 111, 110, 108, 121, 32, 102, 105, 108, 101, 32, 115, 121, 115, 116, 101, 109, 0, 68, 105, 114, 101, 99, 116, 111, 114, 121, 32, 110, 111, 116, 32, 101, 109, 112, 116, 121, 0, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 32, 114, 101, 115, 101, 116, 32, 98, 121, 32, 112, 101, 101, 114, 0, 79, 112, 101, 114, 97, 116, 105, 111, 110, 32, 116, 105, 109, 101, 100, 32, 111, 117, 116, 0, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 32, 114, 101, 102, 117, 115, 101, 100, 0, 72, 111, 115, 116, 32, 105, 115, 32, 100, 111, 119, 110, 0, 72, 111, 115, 116, 32, 105, 115, 32, 117, 110, 114, 101, 97, 99, 104, 97, 98, 108, 101, 0, 65, 100, 100, 114, 101, 115, 115, 32, 105, 110, 32, 117, 115, 101, 0, 66, 114, 111, 107, 101, 110, 32, 112, 105, 112, 101, 0, 73, 47, 79, 32, 101, 114, 114, 111, 114, 0, 78, 111, 32, 115, 117, 99, 104, 32, 100, 101, 118, 105, 99, 101, 32, 111, 114, 32, 97, 100, 100, 114, 101, 115, 115, 0, 66, 108, 111, 99, 107, 32, 100, 101, 118, 105, 99, 101, 32, 114, 101, 113, 117, 105, 114, 101, 100, 0, 78, 111, 32, 115, 117, 99, 104, 32, 100, 101, 118, 105, 99, 101, 0, 78, 111, 116, 32, 97, 32, 100, 105, 114, 101, 99, 116, 111, 114, 121, 0, 73, 115, 32, 97, 32, 100, 105, 114, 101, 99, 116, 111, 114, 121, 0, 84, 101, 120, 116, 32, 102, 105, 108, 101, 32, 98, 117, 115, 121, 0, 69, 120, 101, 99, 32, 102, 111, 114, 109, 97, 116, 32, 101, 114, 114, 111, 114, 0, 73, 110, 118, 97, 108, 105, 100, 32, 97, 114, 103, 117, 109, 101, 110, 116, 0, 65, 114, 103, 117, 109, 101, 110, 116, 32, 108, 105, 115, 116, 32, 116, 111, 111, 32, 108, 111, 110, 103, 0, 83, 121, 109, 98, 111, 108, 105, 99, 32, 108, 105, 110, 107, 32, 108, 111, 111, 112, 0, 70, 105, 108, 101, 110, 97, 109, 101, 32, 116, 111, 111, 32, 108, 111, 110, 103, 0, 84, 111, 111, 32, 109, 97, 110, 121, 32, 111, 112, 101, 110, 32, 102, 105, 108, 101, 115, 32, 105, 110, 32, 115, 121, 115, 116, 101, 109, 0, 78, 111, 32, 102, 105, 108, 101, 32, 100, 101, 115, 99, 114, 105, 112, 116, 111, 114, 115, 32, 97, 118, 97, 105, 108, 97, 98, 108, 101, 0, 66, 97, 100, 32, 102, 105, 108, 101, 32, 100, 101, 115, 99, 114, 105, 112, 116, 111, 114, 0, 78, 111, 32, 99, 104, 105, 108, 100, 32, 112, 114, 111, 99, 101, 115, 115, 0, 66, 97, 100, 32, 97, 100, 100, 114, 101, 115, 115, 0, 70, 105, 108, 101, 32, 116, 111, 111, 32, 108, 97, 114, 103, 101, 0, 84, 111, 111, 32, 109, 97, 110, 121, 32, 108, 105, 110, 107, 115, 0, 78, 111, 32, 108, 111, 99, 107, 115, 32, 97, 118, 97, 105, 108, 97, 98, 108, 101, 0, 82, 101, 115, 111, 117, 114, 99, 101, 32, 100, 101, 97, 100, 108, 111, 99, 107, 32, 119, 111, 117, 108, 100, 32, 111, 99, 99, 117, 114, 0, 83, 116, 97, 116, 101, 32, 110, 111, 116, 32, 114, 101, 99, 111, 118, 101, 114, 97, 98, 108, 101, 0, 80, 114, 101, 118, 105, 111, 117, 115, 32, 111, 119, 110, 101, 114, 32, 100, 105, 101, 100, 0, 79, 112, 101, 114, 97, 116, 105, 111, 110, 32, 99, 97, 110, 99, 101, 108, 101, 100, 0, 70, 117, 110, 99, 116, 105, 111, 110, 32, 110, 111, 116, 32, 105, 109, 112, 108, 101, 109, 101, 110, 116, 101, 100, 0, 78, 111, 32, 109, 101, 115, 115, 97, 103, 101, 32, 111, 102, 32, 100, 101, 115, 105, 114, 101, 100, 32, 116, 121, 112, 101, 0, 73, 100, 101, 110, 116, 105, 102, 105, 101, 114, 32, 114, 101, 109, 111, 118, 101, 100, 0, 68, 101, 118, 105, 99, 101, 32, 110, 111, 116, 32, 97, 32, 115, 116, 114, 101, 97, 109, 0, 78, 111, 32, 100, 97, 116, 97, 32, 97, 118, 97, 105, 108, 97, 98, 108, 101, 0, 68, 101, 118, 105, 99, 101, 32, 116, 105, 109, 101, 111, 117, 116, 0, 79, 117, 116, 32, 111, 102, 32, 115, 116, 114, 101, 97, 109, 115, 32, 114, 101, 115, 111, 117, 114, 99, 101, 115, 0, 76, 105, 110, 107, 32, 104, 97, 115, 32, 98, 101, 101, 110, 32, 115, 101, 118, 101, 114, 101, 100, 0, 80, 114, 111, 116, 111, 99, 111, 108, 32, 101, 114, 114, 111, 114, 0, 66, 97, 100, 32, 109, 101, 115, 115, 97, 103, 101, 0, 70, 105, 108, 101, 32, 100, 101, 115, 99, 114, 105, 112, 116, 111, 114, 32, 105, 110, 32, 98, 97, 100, 32, 115, 116, 97, 116, 101, 0, 78, 111, 116, 32, 97, 32, 115, 111, 99, 107, 101, 116, 0, 68, 101, 115, 116, 105, 110, 97, 116, 105, 111, 110, 32, 97, 100, 100, 114, 101, 115, 115, 32, 114, 101, 113, 117, 105, 114, 101, 100, 0, 77, 101, 115, 115, 97, 103, 101, 32, 116, 111, 111, 32, 108, 97, 114, 103, 101, 0, 80, 114, 111, 116, 111, 99, 111, 108, 32, 119, 114, 111, 110, 103, 32, 116, 121, 112, 101, 32, 102, 111, 114, 32, 115, 111, 99, 107, 101, 116, 0, 80, 114, 111, 116, 111, 99, 111, 108, 32, 110, 111, 116, 32, 97, 118, 97, 105, 108, 97, 98, 108, 101, 0, 80, 114, 111, 116, 111, 99, 111, 108, 32, 110, 111, 116, 32, 115, 117, 112, 112, 111, 114, 116, 101, 100, 0, 83, 111, 99, 107, 101, 116, 32, 116, 121, 112, 101, 32, 110, 111, 116, 32, 115, 117, 112, 112, 111, 114, 116, 101, 100, 0, 78, 111, 116, 32, 115, 117, 112, 112, 111, 114, 116, 101, 100, 0, 80, 114, 111, 116, 111, 99, 111, 108, 32, 102, 97, 109, 105, 108, 121, 32, 110, 111, 116, 32, 115, 117, 112, 112, 111, 114, 116, 101, 100, 0, 65, 100, 100, 114, 101, 115, 115, 32, 102, 97, 109, 105, 108, 121, 32, 110, 111, 116, 32, 115, 117, 112, 112, 111, 114, 116, 101, 100, 32, 98, 121, 32, 112, 114, 111, 116, 111, 99, 111, 108, 0, 65, 100, 100, 114, 101, 115, 115, 32, 110, 111, 116, 32, 97, 118, 97, 105, 108, 97, 98, 108, 101, 0, 78, 101, 116, 119, 111, 114, 107, 32, 105, 115, 32, 100, 111, 119, 110, 0, 78, 101, 116, 119, 111, 114, 107, 32, 117, 110, 114, 101, 97, 99, 104, 97, 98, 108, 101, 0, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 32, 114, 101, 115, 101, 116, 32, 98, 121, 32, 110, 101, 116, 119, 111, 114, 107, 0, 67, 111, 110, 110, 101, 99, 116, 105, 111, 110, 32, 97, 98, 111, 114, 116, 101, 100, 0, 78, 111, 32, 98, 117, 102, 102, 101, 114, 32, 115, 112, 97, 99, 101, 32, 97, 118, 97, 105, 108, 97, 98, 108, 101, 0, 83, 111, 99, 107, 101, 116, 32, 105, 115, 32, 99, 111, 110, 110, 101, 99, 116, 101, 100, 0, 83, 111, 99, 107, 101, 116, 32, 110, 111, 116, 32, 99, 111, 110, 110, 101, 99, 116, 101, 100, 0, 67, 97, 110, 110, 111, 116, 32, 115, 101, 110, 100, 32, 97, 102, 116, 101, 114, 32, 115, 111, 99, 107, 101, 116, 32, 115, 104, 117, 116, 100, 111, 119, 110, 0, 79, 112, 101, 114, 97, 116, 105, 111, 110, 32, 97, 108, 114, 101, 97, 100, 121, 32, 105, 110, 32, 112, 114, 111, 103, 114, 101, 115, 115, 0, 79, 112, 101, 114, 97, 116, 105, 111, 110, 32, 105, 110, 32, 112, 114, 111, 103, 114, 101, 115, 115, 0, 83, 116, 97, 108, 101, 32, 102, 105, 108, 101, 32, 104, 97, 110, 100, 108, 101, 0, 82, 101, 109, 111, 116, 101, 32, 73, 47, 79, 32, 101, 114, 114, 111, 114, 0, 81, 117, 111, 116, 97, 32, 101, 120, 99, 101, 101, 100, 101, 100, 0, 78, 111, 32, 109, 101, 100, 105, 117, 109, 32, 102, 111, 117, 110, 100, 0, 87, 114, 111, 110, 103, 32, 109, 101, 100, 105, 117, 109, 32, 116, 121, 112, 101, 0, 78, 111, 32, 101, 114, 114, 111, 114, 32, 105, 110, 102, 111, 114, 109, 97, 116, 105, 111, 110, 0, 0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE);var tempDoublePtr = STATICTOP;STATICTOP += 16;function _atexit(func, arg) { + __ATEXIT__.unshift({ func: func, arg: arg }); + }function ___cxa_atexit() { + return _atexit.apply(null, arguments); + }function _abort() { + Module["abort"](); + }function __ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj() { + Module["printErr"]("missing function: _ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj");abort(-1); + }function __decorate(decorators, target, key, desc) { + var c = arguments.length, + r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, + d;if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;return c > 3 && r && Object.defineProperty(target, key, r), r; + }function _defineHidden(value) { + return function (target, key) { + Object.defineProperty(target, key, { configurable: false, enumerable: false, value: value, writable: true }); + }; + }var _nbind = {};function __nbind_free_external(num) { + _nbind.externalList[num].dereference(num); + }function __nbind_reference_external(num) { + _nbind.externalList[num].reference(); + }function _llvm_stackrestore(p) { + var self = _llvm_stacksave;var ret = self.LLVM_SAVEDSTACKS[p];self.LLVM_SAVEDSTACKS.splice(p, 1);Runtime.stackRestore(ret); + }function __nbind_register_pool(pageSize, usedPtr, rootPtr, pagePtr) { + _nbind.Pool.pageSize = pageSize;_nbind.Pool.usedPtr = usedPtr / 4;_nbind.Pool.rootPtr = rootPtr;_nbind.Pool.pagePtr = pagePtr / 4;HEAP32[usedPtr / 4] = 16909060;if (HEAP8[usedPtr] == 1) _nbind.bigEndian = true;HEAP32[usedPtr / 4] = 0;_nbind.makeTypeKindTbl = (_a = {}, _a[1024] = _nbind.PrimitiveType, _a[64] = _nbind.Int64Type, _a[2048] = _nbind.BindClass, _a[3072] = _nbind.BindClassPtr, _a[4096] = _nbind.SharedClassPtr, _a[5120] = _nbind.ArrayType, _a[6144] = _nbind.ArrayType, _a[7168] = _nbind.CStringType, _a[9216] = _nbind.CallbackType, _a[10240] = _nbind.BindType, _a);_nbind.makeTypeNameTbl = { "Buffer": _nbind.BufferType, "External": _nbind.ExternalType, "Int64": _nbind.Int64Type, "_nbind_new": _nbind.CreateValueType, "bool": _nbind.BooleanType, "cbFunction &": _nbind.CallbackType, "const cbFunction &": _nbind.CallbackType, "const std::string &": _nbind.StringType, "std::string": _nbind.StringType };Module["toggleLightGC"] = _nbind.toggleLightGC;_nbind.callUpcast = Module["dynCall_ii"];var globalScope = _nbind.makeType(_nbind.constructType, { flags: 2048, id: 0, name: "" });globalScope.proto = Module;_nbind.BindClass.list.push(globalScope);var _a; + }function _emscripten_set_main_loop_timing(mode, value) { + Browser.mainLoop.timingMode = mode;Browser.mainLoop.timingValue = value;if (!Browser.mainLoop.func) { + return 1; + }if (mode == 0) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setTimeout() { + var timeUntilNextTick = Math.max(0, Browser.mainLoop.tickStartTime + value - _emscripten_get_now()) | 0;setTimeout(Browser.mainLoop.runner, timeUntilNextTick); + };Browser.mainLoop.method = "timeout"; + } else if (mode == 1) { + Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_rAF() { + Browser.requestAnimationFrame(Browser.mainLoop.runner); + };Browser.mainLoop.method = "rAF"; + } else if (mode == 2) { + if (!window["setImmediate"]) { + var setImmediates = [];var emscriptenMainLoopMessageId = "setimmediate";function Browser_setImmediate_messageHandler(event) { + if (event.source === window && event.data === emscriptenMainLoopMessageId) { + event.stopPropagation();setImmediates.shift()(); + } + }window.addEventListener("message", Browser_setImmediate_messageHandler, true);window["setImmediate"] = function Browser_emulated_setImmediate(func) { + setImmediates.push(func);if (ENVIRONMENT_IS_WORKER) { + if (Module["setImmediates"] === undefined) Module["setImmediates"] = [];Module["setImmediates"].push(func);window.postMessage({ target: emscriptenMainLoopMessageId }); + } else window.postMessage(emscriptenMainLoopMessageId, "*"); + }; + }Browser.mainLoop.scheduler = function Browser_mainLoop_scheduler_setImmediate() { + window["setImmediate"](Browser.mainLoop.runner); + };Browser.mainLoop.method = "immediate"; + }return 0; + }function _emscripten_get_now() { + abort(); + }function _emscripten_set_main_loop(func, fps, simulateInfiniteLoop, arg, noSetTiming) { + Module["noExitRuntime"] = true;assert(!Browser.mainLoop.func, "emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");Browser.mainLoop.func = func;Browser.mainLoop.arg = arg;var browserIterationFunc;if (typeof arg !== "undefined") { + browserIterationFunc = function () { + Module["dynCall_vi"](func, arg); + }; + } else { + browserIterationFunc = function () { + Module["dynCall_v"](func); + }; + }var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop;Browser.mainLoop.runner = function Browser_mainLoop_runner() { + if (ABORT) return;if (Browser.mainLoop.queue.length > 0) { + var start = Date.now();var blocker = Browser.mainLoop.queue.shift();blocker.func(blocker.arg);if (Browser.mainLoop.remainingBlockers) { + var remaining = Browser.mainLoop.remainingBlockers;var next = remaining % 1 == 0 ? remaining - 1 : Math.floor(remaining);if (blocker.counted) { + Browser.mainLoop.remainingBlockers = next; + } else { + next = next + .5;Browser.mainLoop.remainingBlockers = (8 * remaining + next) / 9; + } + }console.log('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + " ms");Browser.mainLoop.updateStatus();if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;setTimeout(Browser.mainLoop.runner, 0);return; + }if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0;if (Browser.mainLoop.timingMode == 1 && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) { + Browser.mainLoop.scheduler();return; + } else if (Browser.mainLoop.timingMode == 0) { + Browser.mainLoop.tickStartTime = _emscripten_get_now(); + }if (Browser.mainLoop.method === "timeout" && Module.ctx) { + Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!");Browser.mainLoop.method = ""; + }Browser.mainLoop.runIter(browserIterationFunc);if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) return;if (typeof SDL === "object" && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData();Browser.mainLoop.scheduler(); + };if (!noSetTiming) { + if (fps && fps > 0) _emscripten_set_main_loop_timing(0, 1e3 / fps);else _emscripten_set_main_loop_timing(1, 1);Browser.mainLoop.scheduler(); + }if (simulateInfiniteLoop) { + throw "SimulateInfiniteLoop"; + } + }var Browser = { mainLoop: { scheduler: null, method: "", currentlyRunningMainloop: 0, func: null, arg: 0, timingMode: 0, timingValue: 0, currentFrameNumber: 0, queue: [], pause: function () { + Browser.mainLoop.scheduler = null;Browser.mainLoop.currentlyRunningMainloop++; + }, resume: function () { + Browser.mainLoop.currentlyRunningMainloop++;var timingMode = Browser.mainLoop.timingMode;var timingValue = Browser.mainLoop.timingValue;var func = Browser.mainLoop.func;Browser.mainLoop.func = null;_emscripten_set_main_loop(func, 0, false, Browser.mainLoop.arg, true);_emscripten_set_main_loop_timing(timingMode, timingValue);Browser.mainLoop.scheduler(); + }, updateStatus: function () { + if (Module["setStatus"]) { + var message = Module["statusMessage"] || "Please wait...";var remaining = Browser.mainLoop.remainingBlockers;var expected = Browser.mainLoop.expectedBlockers;if (remaining) { + if (remaining < expected) { + Module["setStatus"](message + " (" + (expected - remaining) + "/" + expected + ")"); + } else { + Module["setStatus"](message); + } + } else { + Module["setStatus"](""); + } + } + }, runIter: function (func) { + if (ABORT) return;if (Module["preMainLoop"]) { + var preRet = Module["preMainLoop"]();if (preRet === false) { + return; + } + }try { + func(); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else { + if (e && typeof e === "object" && e.stack) Module.printErr("exception thrown: " + [e, e.stack]);throw e; + } + }if (Module["postMainLoop"]) Module["postMainLoop"](); + } }, isFullscreen: false, pointerLock: false, moduleContextCreatedCallbacks: [], workers: [], init: function () { + if (!Module["preloadPlugins"]) Module["preloadPlugins"] = [];if (Browser.initted) return;Browser.initted = true;try { + new Blob();Browser.hasBlobConstructor = true; + } catch (e) { + Browser.hasBlobConstructor = false;console.log("warning: no blob constructor, cannot create blobs with mimetypes"); + }Browser.BlobBuilder = typeof MozBlobBuilder != "undefined" ? MozBlobBuilder : typeof WebKitBlobBuilder != "undefined" ? WebKitBlobBuilder : !Browser.hasBlobConstructor ? console.log("warning: no BlobBuilder") : null;Browser.URLObject = typeof window != "undefined" ? window.URL ? window.URL : window.webkitURL : undefined;if (!Module.noImageDecoding && typeof Browser.URLObject === "undefined") { + console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available.");Module.noImageDecoding = true; + }var imagePlugin = {};imagePlugin["canHandle"] = function imagePlugin_canHandle(name) { + return !Module.noImageDecoding && /\.(jpg|jpeg|png|bmp)$/i.test(name); + };imagePlugin["handle"] = function imagePlugin_handle(byteArray, name, onload, onerror) { + var b = null;if (Browser.hasBlobConstructor) { + try { + b = new Blob([byteArray], { type: Browser.getMimetype(name) });if (b.size !== byteArray.length) { + b = new Blob([new Uint8Array(byteArray).buffer], { type: Browser.getMimetype(name) }); + } + } catch (e) { + Runtime.warnOnce("Blob constructor present but fails: " + e + "; falling back to blob builder"); + } + }if (!b) { + var bb = new Browser.BlobBuilder();bb.append(new Uint8Array(byteArray).buffer);b = bb.getBlob(); + }var url = Browser.URLObject.createObjectURL(b);var img = new Image();img.onload = function img_onload() { + assert(img.complete, "Image " + name + " could not be decoded");var canvas = document.createElement("canvas");canvas.width = img.width;canvas.height = img.height;var ctx = canvas.getContext("2d");ctx.drawImage(img, 0, 0);Module["preloadedImages"][name] = canvas;Browser.URLObject.revokeObjectURL(url);if (onload) onload(byteArray); + };img.onerror = function img_onerror(event) { + console.log("Image " + url + " could not be decoded");if (onerror) onerror(); + };img.src = url; + };Module["preloadPlugins"].push(imagePlugin);var audioPlugin = {};audioPlugin["canHandle"] = function audioPlugin_canHandle(name) { + return !Module.noAudioDecoding && name.substr(-4) in { ".ogg": 1, ".wav": 1, ".mp3": 1 }; + };audioPlugin["handle"] = function audioPlugin_handle(byteArray, name, onload, onerror) { + var done = false;function finish(audio) { + if (done) return;done = true;Module["preloadedAudios"][name] = audio;if (onload) onload(byteArray); + }function fail() { + if (done) return;done = true;Module["preloadedAudios"][name] = new Audio();if (onerror) onerror(); + }if (Browser.hasBlobConstructor) { + try { + var b = new Blob([byteArray], { type: Browser.getMimetype(name) }); + } catch (e) { + return fail(); + }var url = Browser.URLObject.createObjectURL(b);var audio = new Audio();audio.addEventListener("canplaythrough", function () { + finish(audio); + }, false);audio.onerror = function audio_onerror(event) { + if (done) return;console.log("warning: browser could not fully decode audio " + name + ", trying slower base64 approach");function encode64(data) { + var BASE = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var PAD = "=";var ret = "";var leftchar = 0;var leftbits = 0;for (var i = 0; i < data.length; i++) { + leftchar = leftchar << 8 | data[i];leftbits += 8;while (leftbits >= 6) { + var curr = leftchar >> leftbits - 6 & 63;leftbits -= 6;ret += BASE[curr]; + } + }if (leftbits == 2) { + ret += BASE[(leftchar & 3) << 4];ret += PAD + PAD; + } else if (leftbits == 4) { + ret += BASE[(leftchar & 15) << 2];ret += PAD; + }return ret; + }audio.src = "data:audio/x-" + name.substr(-3) + ";base64," + encode64(byteArray);finish(audio); + };audio.src = url;Browser.safeSetTimeout(function () { + finish(audio); + }, 1e4); + } else { + return fail(); + } + };Module["preloadPlugins"].push(audioPlugin);function pointerLockChange() { + Browser.pointerLock = document["pointerLockElement"] === Module["canvas"] || document["mozPointerLockElement"] === Module["canvas"] || document["webkitPointerLockElement"] === Module["canvas"] || document["msPointerLockElement"] === Module["canvas"]; + }var canvas = Module["canvas"];if (canvas) { + canvas.requestPointerLock = canvas["requestPointerLock"] || canvas["mozRequestPointerLock"] || canvas["webkitRequestPointerLock"] || canvas["msRequestPointerLock"] || function () {};canvas.exitPointerLock = document["exitPointerLock"] || document["mozExitPointerLock"] || document["webkitExitPointerLock"] || document["msExitPointerLock"] || function () {};canvas.exitPointerLock = canvas.exitPointerLock.bind(document);document.addEventListener("pointerlockchange", pointerLockChange, false);document.addEventListener("mozpointerlockchange", pointerLockChange, false);document.addEventListener("webkitpointerlockchange", pointerLockChange, false);document.addEventListener("mspointerlockchange", pointerLockChange, false);if (Module["elementPointerLock"]) { + canvas.addEventListener("click", function (ev) { + if (!Browser.pointerLock && Module["canvas"].requestPointerLock) { + Module["canvas"].requestPointerLock();ev.preventDefault(); + } + }, false); + } + } + }, createContext: function (canvas, useWebGL, setInModule, webGLContextAttributes) { + if (useWebGL && Module.ctx && canvas == Module.canvas) return Module.ctx;var ctx;var contextHandle;if (useWebGL) { + var contextAttributes = { antialias: false, alpha: false };if (webGLContextAttributes) { + for (var attribute in webGLContextAttributes) { + contextAttributes[attribute] = webGLContextAttributes[attribute]; + } + }contextHandle = GL.createContext(canvas, contextAttributes);if (contextHandle) { + ctx = GL.getContext(contextHandle).GLctx; + } + } else { + ctx = canvas.getContext("2d"); + }if (!ctx) return null;if (setInModule) { + if (!useWebGL) assert(typeof GLctx === "undefined", "cannot set in module if GLctx is used, but we are a non-GL context that would replace it");Module.ctx = ctx;if (useWebGL) GL.makeContextCurrent(contextHandle);Module.useWebGL = useWebGL;Browser.moduleContextCreatedCallbacks.forEach(function (callback) { + callback(); + });Browser.init(); + }return ctx; + }, destroyContext: function (canvas, useWebGL, setInModule) {}, fullscreenHandlersInstalled: false, lockPointer: undefined, resizeCanvas: undefined, requestFullscreen: function (lockPointer, resizeCanvas, vrDevice) { + Browser.lockPointer = lockPointer;Browser.resizeCanvas = resizeCanvas;Browser.vrDevice = vrDevice;if (typeof Browser.lockPointer === "undefined") Browser.lockPointer = true;if (typeof Browser.resizeCanvas === "undefined") Browser.resizeCanvas = false;if (typeof Browser.vrDevice === "undefined") Browser.vrDevice = null;var canvas = Module["canvas"];function fullscreenChange() { + Browser.isFullscreen = false;var canvasContainer = canvas.parentNode;if ((document["fullscreenElement"] || document["mozFullScreenElement"] || document["msFullscreenElement"] || document["webkitFullscreenElement"] || document["webkitCurrentFullScreenElement"]) === canvasContainer) { + canvas.exitFullscreen = document["exitFullscreen"] || document["cancelFullScreen"] || document["mozCancelFullScreen"] || document["msExitFullscreen"] || document["webkitCancelFullScreen"] || function () {};canvas.exitFullscreen = canvas.exitFullscreen.bind(document);if (Browser.lockPointer) canvas.requestPointerLock();Browser.isFullscreen = true;if (Browser.resizeCanvas) Browser.setFullscreenCanvasSize(); + } else { + canvasContainer.parentNode.insertBefore(canvas, canvasContainer);canvasContainer.parentNode.removeChild(canvasContainer);if (Browser.resizeCanvas) Browser.setWindowedCanvasSize(); + }if (Module["onFullScreen"]) Module["onFullScreen"](Browser.isFullscreen);if (Module["onFullscreen"]) Module["onFullscreen"](Browser.isFullscreen);Browser.updateCanvasDimensions(canvas); + }if (!Browser.fullscreenHandlersInstalled) { + Browser.fullscreenHandlersInstalled = true;document.addEventListener("fullscreenchange", fullscreenChange, false);document.addEventListener("mozfullscreenchange", fullscreenChange, false);document.addEventListener("webkitfullscreenchange", fullscreenChange, false);document.addEventListener("MSFullscreenChange", fullscreenChange, false); + }var canvasContainer = document.createElement("div");canvas.parentNode.insertBefore(canvasContainer, canvas);canvasContainer.appendChild(canvas);canvasContainer.requestFullscreen = canvasContainer["requestFullscreen"] || canvasContainer["mozRequestFullScreen"] || canvasContainer["msRequestFullscreen"] || (canvasContainer["webkitRequestFullscreen"] ? function () { + canvasContainer["webkitRequestFullscreen"](Element["ALLOW_KEYBOARD_INPUT"]); + } : null) || (canvasContainer["webkitRequestFullScreen"] ? function () { + canvasContainer["webkitRequestFullScreen"](Element["ALLOW_KEYBOARD_INPUT"]); + } : null);if (vrDevice) { + canvasContainer.requestFullscreen({ vrDisplay: vrDevice }); + } else { + canvasContainer.requestFullscreen(); + } + }, requestFullScreen: function (lockPointer, resizeCanvas, vrDevice) { + Module.printErr("Browser.requestFullScreen() is deprecated. Please call Browser.requestFullscreen instead.");Browser.requestFullScreen = function (lockPointer, resizeCanvas, vrDevice) { + return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + };return Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + }, nextRAF: 0, fakeRequestAnimationFrame: function (func) { + var now = Date.now();if (Browser.nextRAF === 0) { + Browser.nextRAF = now + 1e3 / 60; + } else { + while (now + 2 >= Browser.nextRAF) { + Browser.nextRAF += 1e3 / 60; + } + }var delay = Math.max(Browser.nextRAF - now, 0);setTimeout(func, delay); + }, requestAnimationFrame: function requestAnimationFrame(func) { + if (typeof window === "undefined") { + Browser.fakeRequestAnimationFrame(func); + } else { + if (!window.requestAnimationFrame) { + window.requestAnimationFrame = window["requestAnimationFrame"] || window["mozRequestAnimationFrame"] || window["webkitRequestAnimationFrame"] || window["msRequestAnimationFrame"] || window["oRequestAnimationFrame"] || Browser.fakeRequestAnimationFrame; + }window.requestAnimationFrame(func); + } + }, safeCallback: function (func) { + return function () { + if (!ABORT) return func.apply(null, arguments); + }; + }, allowAsyncCallbacks: true, queuedAsyncCallbacks: [], pauseAsyncCallbacks: function () { + Browser.allowAsyncCallbacks = false; + }, resumeAsyncCallbacks: function () { + Browser.allowAsyncCallbacks = true;if (Browser.queuedAsyncCallbacks.length > 0) { + var callbacks = Browser.queuedAsyncCallbacks;Browser.queuedAsyncCallbacks = [];callbacks.forEach(function (func) { + func(); + }); + } + }, safeRequestAnimationFrame: function (func) { + return Browser.requestAnimationFrame(function () { + if (ABORT) return;if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }); + }, safeSetTimeout: function (func, timeout) { + Module["noExitRuntime"] = true;return setTimeout(function () { + if (ABORT) return;if (Browser.allowAsyncCallbacks) { + func(); + } else { + Browser.queuedAsyncCallbacks.push(func); + } + }, timeout); + }, safeSetInterval: function (func, timeout) { + Module["noExitRuntime"] = true;return setInterval(function () { + if (ABORT) return;if (Browser.allowAsyncCallbacks) { + func(); + } + }, timeout); + }, getMimetype: function (name) { + return { "jpg": "image/jpeg", "jpeg": "image/jpeg", "png": "image/png", "bmp": "image/bmp", "ogg": "audio/ogg", "wav": "audio/wav", "mp3": "audio/mpeg" }[name.substr(name.lastIndexOf(".") + 1)]; + }, getUserMedia: function (func) { + if (!window.getUserMedia) { + window.getUserMedia = navigator["getUserMedia"] || navigator["mozGetUserMedia"]; + }window.getUserMedia(func); + }, getMovementX: function (event) { + return event["movementX"] || event["mozMovementX"] || event["webkitMovementX"] || 0; + }, getMovementY: function (event) { + return event["movementY"] || event["mozMovementY"] || event["webkitMovementY"] || 0; + }, getMouseWheelDelta: function (event) { + var delta = 0;switch (event.type) {case "DOMMouseScroll": + delta = event.detail;break;case "mousewheel": + delta = event.wheelDelta;break;case "wheel": + delta = event["deltaY"];break;default: + throw "unrecognized mouse wheel event: " + event.type;}return delta; + }, mouseX: 0, mouseY: 0, mouseMovementX: 0, mouseMovementY: 0, touches: {}, lastTouches: {}, calculateMouseEvent: function (event) { + if (Browser.pointerLock) { + if (event.type != "mousemove" && "mozMovementX" in event) { + Browser.mouseMovementX = Browser.mouseMovementY = 0; + } else { + Browser.mouseMovementX = Browser.getMovementX(event);Browser.mouseMovementY = Browser.getMovementY(event); + }if (typeof SDL != "undefined") { + Browser.mouseX = SDL.mouseX + Browser.mouseMovementX;Browser.mouseY = SDL.mouseY + Browser.mouseMovementY; + } else { + Browser.mouseX += Browser.mouseMovementX;Browser.mouseY += Browser.mouseMovementY; + } + } else { + var rect = Module["canvas"].getBoundingClientRect();var cw = Module["canvas"].width;var ch = Module["canvas"].height;var scrollX = typeof window.scrollX !== "undefined" ? window.scrollX : window.pageXOffset;var scrollY = typeof window.scrollY !== "undefined" ? window.scrollY : window.pageYOffset;if (event.type === "touchstart" || event.type === "touchend" || event.type === "touchmove") { + var touch = event.touch;if (touch === undefined) { + return; + }var adjustedX = touch.pageX - (scrollX + rect.left);var adjustedY = touch.pageY - (scrollY + rect.top);adjustedX = adjustedX * (cw / rect.width);adjustedY = adjustedY * (ch / rect.height);var coords = { x: adjustedX, y: adjustedY };if (event.type === "touchstart") { + Browser.lastTouches[touch.identifier] = coords;Browser.touches[touch.identifier] = coords; + } else if (event.type === "touchend" || event.type === "touchmove") { + var last = Browser.touches[touch.identifier];if (!last) last = coords;Browser.lastTouches[touch.identifier] = last;Browser.touches[touch.identifier] = coords; + }return; + }var x = event.pageX - (scrollX + rect.left);var y = event.pageY - (scrollY + rect.top);x = x * (cw / rect.width);y = y * (ch / rect.height);Browser.mouseMovementX = x - Browser.mouseX;Browser.mouseMovementY = y - Browser.mouseY;Browser.mouseX = x;Browser.mouseY = y; + } + }, asyncLoad: function (url, onload, onerror, noRunDep) { + var dep = !noRunDep ? getUniqueRunDependency("al " + url) : "";Module["readAsync"](url, function (arrayBuffer) { + assert(arrayBuffer, 'Loading data file "' + url + '" failed (no arrayBuffer).');onload(new Uint8Array(arrayBuffer));if (dep) removeRunDependency(dep); + }, function (event) { + if (onerror) { + onerror(); + } else { + throw 'Loading data file "' + url + '" failed.'; + } + });if (dep) addRunDependency(dep); + }, resizeListeners: [], updateResizeListeners: function () { + var canvas = Module["canvas"];Browser.resizeListeners.forEach(function (listener) { + listener(canvas.width, canvas.height); + }); + }, setCanvasSize: function (width, height, noUpdates) { + var canvas = Module["canvas"];Browser.updateCanvasDimensions(canvas, width, height);if (!noUpdates) Browser.updateResizeListeners(); + }, windowedWidth: 0, windowedHeight: 0, setFullscreenCanvasSize: function () { + if (typeof SDL != "undefined") { + var flags = HEAPU32[SDL.screen + Runtime.QUANTUM_SIZE * 0 >> 2];flags = flags | 8388608;HEAP32[SDL.screen + Runtime.QUANTUM_SIZE * 0 >> 2] = flags; + }Browser.updateResizeListeners(); + }, setWindowedCanvasSize: function () { + if (typeof SDL != "undefined") { + var flags = HEAPU32[SDL.screen + Runtime.QUANTUM_SIZE * 0 >> 2];flags = flags & ~8388608;HEAP32[SDL.screen + Runtime.QUANTUM_SIZE * 0 >> 2] = flags; + }Browser.updateResizeListeners(); + }, updateCanvasDimensions: function (canvas, wNative, hNative) { + if (wNative && hNative) { + canvas.widthNative = wNative;canvas.heightNative = hNative; + } else { + wNative = canvas.widthNative;hNative = canvas.heightNative; + }var w = wNative;var h = hNative;if (Module["forcedAspectRatio"] && Module["forcedAspectRatio"] > 0) { + if (w / h < Module["forcedAspectRatio"]) { + w = Math.round(h * Module["forcedAspectRatio"]); + } else { + h = Math.round(w / Module["forcedAspectRatio"]); + } + }if ((document["fullscreenElement"] || document["mozFullScreenElement"] || document["msFullscreenElement"] || document["webkitFullscreenElement"] || document["webkitCurrentFullScreenElement"]) === canvas.parentNode && typeof screen != "undefined") { + var factor = Math.min(screen.width / w, screen.height / h);w = Math.round(w * factor);h = Math.round(h * factor); + }if (Browser.resizeCanvas) { + if (canvas.width != w) canvas.width = w;if (canvas.height != h) canvas.height = h;if (typeof canvas.style != "undefined") { + canvas.style.removeProperty("width");canvas.style.removeProperty("height"); + } + } else { + if (canvas.width != wNative) canvas.width = wNative;if (canvas.height != hNative) canvas.height = hNative;if (typeof canvas.style != "undefined") { + if (w != wNative || h != hNative) { + canvas.style.setProperty("width", w + "px", "important");canvas.style.setProperty("height", h + "px", "important"); + } else { + canvas.style.removeProperty("width");canvas.style.removeProperty("height"); + } + } + } + }, wgetRequests: {}, nextWgetRequestHandle: 0, getNextWgetRequestHandle: function () { + var handle = Browser.nextWgetRequestHandle;Browser.nextWgetRequestHandle++;return handle; + } };var SYSCALLS = { varargs: 0, get: function (varargs) { + SYSCALLS.varargs += 4;var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];return ret; + }, getStr: function () { + var ret = Pointer_stringify(SYSCALLS.get());return ret; + }, get64: function () { + var low = SYSCALLS.get(), + high = SYSCALLS.get();if (low >= 0) assert(high === 0);else assert(high === -1);return low; + }, getZero: function () { + assert(SYSCALLS.get() === 0); + } };function ___syscall6(which, varargs) { + SYSCALLS.varargs = varargs;try { + var stream = SYSCALLS.getStreamFromFD();FS.close(stream);return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);return -e.errno; + } + }function ___syscall54(which, varargs) { + SYSCALLS.varargs = varargs;try { + return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);return -e.errno; + } + }function _typeModule(self) { + var structureList = [[0, 1, "X"], [1, 1, "const X"], [128, 1, "X *"], [256, 1, "X &"], [384, 1, "X &&"], [512, 1, "std::shared_ptr"], [640, 1, "std::unique_ptr"], [5120, 1, "std::vector"], [6144, 2, "std::array"], [9216, -1, "std::function"]];function applyStructure(outerName, outerFlags, innerName, innerFlags, param, flip) { + if (outerFlags == 1) { + var ref = innerFlags & 896;if (ref == 128 || ref == 256 || ref == 384) outerName = "X const"; + }var name;if (flip) { + name = innerName.replace("X", outerName).replace("Y", param); + } else { + name = outerName.replace("X", innerName).replace("Y", param); + }return name.replace(/([*&]) (?=[*&])/g, "$1"); + }function reportProblem(problem, id, kind, structureType, place) { + throw new Error(problem + " type " + kind.replace("X", id + "?") + (structureType ? " with flag " + structureType : "") + " in " + place); + }function getComplexType(id, constructType, getType, queryType, place, kind, prevStructure, depth) { + if (kind === void 0) { + kind = "X"; + }if (depth === void 0) { + depth = 1; + }var result = getType(id);if (result) return result;var query = queryType(id);var structureType = query.placeholderFlag;var structure = structureList[structureType];if (prevStructure && structure) { + kind = applyStructure(prevStructure[2], prevStructure[0], kind, structure[0], "?", true); + }var problem;if (structureType == 0) problem = "Unbound";if (structureType >= 10) problem = "Corrupt";if (depth > 20) problem = "Deeply nested";if (problem) reportProblem(problem, id, kind, structureType, place || "?");var subId = query.paramList[0];var subType = getComplexType(subId, constructType, getType, queryType, place, kind, structure, depth + 1);var srcSpec;var spec = { flags: structure[0], id: id, name: "", paramList: [subType] };var argList = [];var structureParam = "?";switch (query.placeholderFlag) {case 1: + srcSpec = subType.spec;break;case 2: + if ((subType.flags & 15360) == 1024 && subType.spec.ptrSize == 1) { + spec.flags = 7168;break; + };case 3:case 6:case 5: + srcSpec = subType.spec;if ((subType.flags & 15360) != 2048) {}break;case 8: + structureParam = "" + query.paramList[1];spec.paramList.push(query.paramList[1]);break;case 9: + for (var _i = 0, _a = query.paramList[1]; _i < _a.length; _i++) { + var paramId = _a[_i];var paramType = getComplexType(paramId, constructType, getType, queryType, place, kind, structure, depth + 1);argList.push(paramType.name);spec.paramList.push(paramType); + }structureParam = argList.join(", ");break;default: + break;}spec.name = applyStructure(structure[2], structure[0], subType.name, subType.flags, structureParam);if (srcSpec) { + for (var _b = 0, _c = Object.keys(srcSpec); _b < _c.length; _b++) { + var key = _c[_b];spec[key] = spec[key] || srcSpec[key]; + }spec.flags |= srcSpec.flags; + }return makeType(constructType, spec); + }function makeType(constructType, spec) { + var flags = spec.flags;var refKind = flags & 896;var kind = flags & 15360;if (!spec.name && kind == 1024) { + if (spec.ptrSize == 1) { + spec.name = (flags & 16 ? "" : (flags & 8 ? "un" : "") + "signed ") + "char"; + } else { + spec.name = (flags & 8 ? "u" : "") + (flags & 32 ? "float" : "int") + (spec.ptrSize * 8 + "_t"); + } + }if (spec.ptrSize == 8 && !(flags & 32)) kind = 64;if (kind == 2048) { + if (refKind == 512 || refKind == 640) { + kind = 4096; + } else if (refKind) kind = 3072; + }return constructType(kind, spec); + }var Type = function () { + function Type(spec) { + this.id = spec.id;this.name = spec.name;this.flags = spec.flags;this.spec = spec; + }Type.prototype.toString = function () { + return this.name; + };return Type; + }();var output = { Type: Type, getComplexType: getComplexType, makeType: makeType, structureList: structureList };self.output = output;return self.output || output; + }function __nbind_register_type(id, namePtr) { + var name = _nbind.readAsciiString(namePtr);var spec = { flags: 10240, id: id, name: name };_nbind.makeType(_nbind.constructType, spec); + }function __nbind_register_callback_signature(typeListPtr, typeCount) { + var typeList = _nbind.readTypeIdList(typeListPtr, typeCount);var num = _nbind.callbackSignatureList.length;_nbind.callbackSignatureList[num] = _nbind.makeJSCaller(typeList);return num; + }function __extends(Class, Parent) { + for (var key in Parent) if (Parent.hasOwnProperty(key)) Class[key] = Parent[key];function Base() { + this.constructor = Class; + }Base.prototype = Parent.prototype;Class.prototype = new Base(); + }function __nbind_register_class(idListPtr, policyListPtr, superListPtr, upcastListPtr, superCount, destructorPtr, namePtr) { + var name = _nbind.readAsciiString(namePtr);var policyTbl = _nbind.readPolicyList(policyListPtr);var idList = HEAPU32.subarray(idListPtr / 4, idListPtr / 4 + 2);var spec = { flags: 2048 | (policyTbl["Value"] ? 2 : 0), id: idList[0], name: name };var bindClass = _nbind.makeType(_nbind.constructType, spec);bindClass.ptrType = _nbind.getComplexType(idList[1], _nbind.constructType, _nbind.getType, _nbind.queryType);bindClass.destroy = _nbind.makeMethodCaller(bindClass.ptrType, { boundID: spec.id, flags: 0, name: "destroy", num: 0, ptr: destructorPtr, title: bindClass.name + ".free", typeList: ["void", "uint32_t", "uint32_t"] });if (superCount) { + bindClass.superIdList = Array.prototype.slice.call(HEAPU32.subarray(superListPtr / 4, superListPtr / 4 + superCount));bindClass.upcastList = Array.prototype.slice.call(HEAPU32.subarray(upcastListPtr / 4, upcastListPtr / 4 + superCount)); + }Module[bindClass.name] = bindClass.makeBound(policyTbl);_nbind.BindClass.list.push(bindClass); + }function _removeAccessorPrefix(name) { + var prefixMatcher = /^[Gg]et_?([A-Z]?([A-Z]?))/;return name.replace(prefixMatcher, function (match, initial, second) { + return second ? initial : initial.toLowerCase(); + }); + }function __nbind_register_function(boundID, policyListPtr, typeListPtr, typeCount, ptr, direct, signatureType, namePtr, num, flags) { + var bindClass = _nbind.getType(boundID);var policyTbl = _nbind.readPolicyList(policyListPtr);var typeList = _nbind.readTypeIdList(typeListPtr, typeCount);var specList;if (signatureType == 5) { + specList = [{ direct: ptr, name: "__nbindConstructor", ptr: 0, title: bindClass.name + " constructor", typeList: ["uint32_t"].concat(typeList.slice(1)) }, { direct: direct, name: "__nbindValueConstructor", ptr: 0, title: bindClass.name + " value constructor", typeList: ["void", "uint32_t"].concat(typeList.slice(1)) }]; + } else { + var name_1 = _nbind.readAsciiString(namePtr);var title = (bindClass.name && bindClass.name + ".") + name_1;if (signatureType == 3 || signatureType == 4) { + name_1 = _removeAccessorPrefix(name_1); + }specList = [{ boundID: boundID, direct: direct, name: name_1, ptr: ptr, title: title, typeList: typeList }]; + }for (var _i = 0, specList_1 = specList; _i < specList_1.length; _i++) { + var spec = specList_1[_i];spec.signatureType = signatureType;spec.policyTbl = policyTbl;spec.num = num;spec.flags = flags;bindClass.addMethod(spec); + } + }function _nbind_value(name, proto) { + if (!_nbind.typeNameTbl[name]) _nbind.throwError("Unknown value type " + name);Module["NBind"].bind_value(name, proto);_defineHidden(_nbind.typeNameTbl[name].proto.prototype.__nbindValueConstructor)(proto.prototype, "__nbindValueConstructor"); + }Module["_nbind_value"] = _nbind_value;function __nbind_get_value_object(num, ptr) { + var obj = _nbind.popValue(num);if (!obj.fromJS) { + throw new Error("Object " + obj + " has no fromJS function"); + }obj.fromJS(function () { + obj.__nbindValueConstructor.apply(this, Array.prototype.concat.apply([ptr], arguments)); + }); + }function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.set(HEAPU8.subarray(src, src + num), dest);return dest; + }function __nbind_register_primitive(id, size, flags) { + var spec = { flags: 1024 | flags, id: id, ptrSize: size };_nbind.makeType(_nbind.constructType, spec); + }var cttz_i8 = allocate([8, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 7, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 6, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 5, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0, 4, 0, 1, 0, 2, 0, 1, 0, 3, 0, 1, 0, 2, 0, 1, 0], "i8", ALLOC_STATIC);function ___setErrNo(value) { + if (Module["___errno_location"]) HEAP32[Module["___errno_location"]() >> 2] = value;return value; + }function _llvm_stacksave() { + var self = _llvm_stacksave;if (!self.LLVM_SAVEDSTACKS) { + self.LLVM_SAVEDSTACKS = []; + }self.LLVM_SAVEDSTACKS.push(Runtime.stackSave());return self.LLVM_SAVEDSTACKS.length - 1; + }function ___syscall140(which, varargs) { + SYSCALLS.varargs = varargs;try { + var stream = SYSCALLS.getStreamFromFD(), + offset_high = SYSCALLS.get(), + offset_low = SYSCALLS.get(), + result = SYSCALLS.get(), + whence = SYSCALLS.get();var offset = offset_low;FS.llseek(stream, offset, whence);HEAP32[result >> 2] = stream.position;if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;return 0; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);return -e.errno; + } + }function ___syscall146(which, varargs) { + SYSCALLS.varargs = varargs;try { + var stream = SYSCALLS.get(), + iov = SYSCALLS.get(), + iovcnt = SYSCALLS.get();var ret = 0;if (!___syscall146.buffer) { + ___syscall146.buffers = [null, [], []];___syscall146.printChar = function (stream, curr) { + var buffer = ___syscall146.buffers[stream];assert(buffer);if (curr === 0 || curr === 10) { + (stream === 1 ? Module["print"] : Module["printErr"])(UTF8ArrayToString(buffer, 0));buffer.length = 0; + } else { + buffer.push(curr); + } + }; + }for (var i = 0; i < iovcnt; i++) { + var ptr = HEAP32[iov + i * 8 >> 2];var len = HEAP32[iov + (i * 8 + 4) >> 2];for (var j = 0; j < len; j++) { + ___syscall146.printChar(stream, HEAPU8[ptr + j]); + }ret += len; + }return ret; + } catch (e) { + if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);return -e.errno; + } + }function __nbind_finish() { + for (var _i = 0, _a = _nbind.BindClass.list; _i < _a.length; _i++) { + var bindClass = _a[_i];bindClass.finish(); + } + }var ___dso_handle = STATICTOP;STATICTOP += 16;(function (_nbind) { + var typeIdTbl = {};_nbind.typeNameTbl = {};var Pool = function () { + function Pool() {}Pool.lalloc = function (size) { + size = size + 7 & ~7;var used = HEAPU32[Pool.usedPtr];if (size > Pool.pageSize / 2 || size > Pool.pageSize - used) { + var NBind = _nbind.typeNameTbl["NBind"].proto;return NBind.lalloc(size); + } else { + HEAPU32[Pool.usedPtr] = used + size;return Pool.rootPtr + used; + } + };Pool.lreset = function (used, page) { + var topPage = HEAPU32[Pool.pagePtr];if (topPage) { + var NBind = _nbind.typeNameTbl["NBind"].proto;NBind.lreset(used, page); + } else { + HEAPU32[Pool.usedPtr] = used; + } + };return Pool; + }();_nbind.Pool = Pool;function constructType(kind, spec) { + var construct = kind == 10240 ? _nbind.makeTypeNameTbl[spec.name] || _nbind.BindType : _nbind.makeTypeKindTbl[kind];var bindType = new construct(spec);typeIdTbl[spec.id] = bindType;_nbind.typeNameTbl[spec.name] = bindType;return bindType; + }_nbind.constructType = constructType;function getType(id) { + return typeIdTbl[id]; + }_nbind.getType = getType;function queryType(id) { + var placeholderFlag = HEAPU8[id];var paramCount = _nbind.structureList[placeholderFlag][1];id /= 4;if (paramCount < 0) { + ++id;paramCount = HEAPU32[id] + 1; + }var paramList = Array.prototype.slice.call(HEAPU32.subarray(id + 1, id + 1 + paramCount));if (placeholderFlag == 9) { + paramList = [paramList[0], paramList.slice(1)]; + }return { paramList: paramList, placeholderFlag: placeholderFlag }; + }_nbind.queryType = queryType;function getTypes(idList, place) { + return idList.map(function (id) { + return typeof id == "number" ? _nbind.getComplexType(id, constructType, getType, queryType, place) : _nbind.typeNameTbl[id]; + }); + }_nbind.getTypes = getTypes;function readTypeIdList(typeListPtr, typeCount) { + return Array.prototype.slice.call(HEAPU32, typeListPtr / 4, typeListPtr / 4 + typeCount); + }_nbind.readTypeIdList = readTypeIdList;function readAsciiString(ptr) { + var endPtr = ptr;while (HEAPU8[endPtr++]);return String.fromCharCode.apply("", HEAPU8.subarray(ptr, endPtr - 1)); + }_nbind.readAsciiString = readAsciiString;function readPolicyList(policyListPtr) { + var policyTbl = {};if (policyListPtr) { + while (1) { + var namePtr = HEAPU32[policyListPtr / 4];if (!namePtr) break;policyTbl[readAsciiString(namePtr)] = true;policyListPtr += 4; + } + }return policyTbl; + }_nbind.readPolicyList = readPolicyList;function getDynCall(typeList, name) { + var mangleMap = { float32_t: "d", float64_t: "d", int64_t: "d", uint64_t: "d", "void": "v" };var signature = typeList.map(function (type) { + return mangleMap[type.name] || "i"; + }).join("");var dynCall = Module["dynCall_" + signature];if (!dynCall) { + throw new Error("dynCall_" + signature + " not found for " + name + "(" + typeList.map(function (type) { + return type.name; + }).join(", ") + ")"); + }return dynCall; + }_nbind.getDynCall = getDynCall;function addMethod(obj, name, func, arity) { + var overload = obj[name];if (obj.hasOwnProperty(name) && overload) { + if (overload.arity || overload.arity === 0) { + overload = _nbind.makeOverloader(overload, overload.arity);obj[name] = overload; + }overload.addMethod(func, arity); + } else { + func.arity = arity;obj[name] = func; + } + }_nbind.addMethod = addMethod;function throwError(message) { + throw new Error(message); + }_nbind.throwError = throwError;_nbind.bigEndian = false;_a = _typeModule(_typeModule), _nbind.Type = _a.Type, _nbind.makeType = _a.makeType, _nbind.getComplexType = _a.getComplexType, _nbind.structureList = _a.structureList;var BindType = function (_super) { + __extends(BindType, _super);function BindType() { + var _this = _super !== null && _super.apply(this, arguments) || this;_this.heap = HEAPU32;_this.ptrSize = 4;return _this; + }BindType.prototype.needsWireRead = function (policyTbl) { + return !!this.wireRead || !!this.makeWireRead; + };BindType.prototype.needsWireWrite = function (policyTbl) { + return !!this.wireWrite || !!this.makeWireWrite; + };return BindType; + }(_nbind.Type);_nbind.BindType = BindType;var PrimitiveType = function (_super) { + __extends(PrimitiveType, _super);function PrimitiveType(spec) { + var _this = _super.call(this, spec) || this;var heapTbl = spec.flags & 32 ? { 32: HEAPF32, 64: HEAPF64 } : spec.flags & 8 ? { 8: HEAPU8, 16: HEAPU16, 32: HEAPU32 } : { 8: HEAP8, 16: HEAP16, 32: HEAP32 };_this.heap = heapTbl[spec.ptrSize * 8];_this.ptrSize = spec.ptrSize;return _this; + }PrimitiveType.prototype.needsWireWrite = function (policyTbl) { + return !!policyTbl && !!policyTbl["Strict"]; + };PrimitiveType.prototype.makeWireWrite = function (expr, policyTbl) { + return policyTbl && policyTbl["Strict"] && function (arg) { + if (typeof arg == "number") return arg;throw new Error("Type mismatch"); + }; + };return PrimitiveType; + }(BindType);_nbind.PrimitiveType = PrimitiveType;function pushCString(str, policyTbl) { + if (str === null || str === undefined) { + if (policyTbl && policyTbl["Nullable"]) { + return 0; + } else throw new Error("Type mismatch"); + }if (policyTbl && policyTbl["Strict"]) { + if (typeof str != "string") throw new Error("Type mismatch"); + } else str = str.toString();var length = Module.lengthBytesUTF8(str) + 1;var result = _nbind.Pool.lalloc(length);Module.stringToUTF8Array(str, HEAPU8, result, length);return result; + }_nbind.pushCString = pushCString;function popCString(ptr) { + if (ptr === 0) return null;return Module.Pointer_stringify(ptr); + }_nbind.popCString = popCString;var CStringType = function (_super) { + __extends(CStringType, _super);function CStringType() { + var _this = _super !== null && _super.apply(this, arguments) || this;_this.wireRead = popCString;_this.wireWrite = pushCString;_this.readResources = [_nbind.resources.pool];_this.writeResources = [_nbind.resources.pool];return _this; + }CStringType.prototype.makeWireWrite = function (expr, policyTbl) { + return function (arg) { + return pushCString(arg, policyTbl); + }; + };return CStringType; + }(BindType);_nbind.CStringType = CStringType;var BooleanType = function (_super) { + __extends(BooleanType, _super);function BooleanType() { + var _this = _super !== null && _super.apply(this, arguments) || this;_this.wireRead = function (arg) { + return !!arg; + };return _this; + }BooleanType.prototype.needsWireWrite = function (policyTbl) { + return !!policyTbl && !!policyTbl["Strict"]; + };BooleanType.prototype.makeWireRead = function (expr) { + return "!!(" + expr + ")"; + };BooleanType.prototype.makeWireWrite = function (expr, policyTbl) { + return policyTbl && policyTbl["Strict"] && function (arg) { + if (typeof arg == "boolean") return arg;throw new Error("Type mismatch"); + } || expr; + };return BooleanType; + }(BindType);_nbind.BooleanType = BooleanType;var Wrapper = function () { + function Wrapper() {}Wrapper.prototype.persist = function () { + this.__nbindState |= 1; + };return Wrapper; + }();_nbind.Wrapper = Wrapper;function makeBound(policyTbl, bindClass) { + var Bound = function (_super) { + __extends(Bound, _super);function Bound(marker, flags, ptr, shared) { + var _this = _super.call(this) || this;if (!(_this instanceof Bound)) { + return new (Function.prototype.bind.apply(Bound, Array.prototype.concat.apply([null], arguments)))(); + }var nbindFlags = flags;var nbindPtr = ptr;var nbindShared = shared;if (marker !== _nbind.ptrMarker) { + var wirePtr = _this.__nbindConstructor.apply(_this, arguments);nbindFlags = 4096 | 512;nbindShared = HEAPU32[wirePtr / 4];nbindPtr = HEAPU32[wirePtr / 4 + 1]; + }var spec = { configurable: true, enumerable: false, value: null, writable: false };var propTbl = { "__nbindFlags": nbindFlags, "__nbindPtr": nbindPtr };if (nbindShared) { + propTbl["__nbindShared"] = nbindShared;_nbind.mark(_this); + }for (var _i = 0, _a = Object.keys(propTbl); _i < _a.length; _i++) { + var key = _a[_i];spec.value = propTbl[key];Object.defineProperty(_this, key, spec); + }_defineHidden(0)(_this, "__nbindState");return _this; + }Bound.prototype.free = function () { + bindClass.destroy.call(this, this.__nbindShared, this.__nbindFlags);this.__nbindState |= 2;disableMember(this, "__nbindShared");disableMember(this, "__nbindPtr"); + };return Bound; + }(Wrapper);__decorate([_defineHidden()], Bound.prototype, "__nbindConstructor", void 0);__decorate([_defineHidden()], Bound.prototype, "__nbindValueConstructor", void 0);__decorate([_defineHidden(policyTbl)], Bound.prototype, "__nbindPolicies", void 0);return Bound; + }_nbind.makeBound = makeBound;function disableMember(obj, name) { + function die() { + throw new Error("Accessing deleted object"); + }Object.defineProperty(obj, name, { configurable: false, enumerable: false, get: die, set: die }); + }_nbind.ptrMarker = {};var BindClass = function (_super) { + __extends(BindClass, _super);function BindClass(spec) { + var _this = _super.call(this, spec) || this;_this.wireRead = function (arg) { + return _nbind.popValue(arg, _this.ptrType); + };_this.wireWrite = function (arg) { + return pushPointer(arg, _this.ptrType, true); + };_this.pendingSuperCount = 0;_this.ready = false;_this.methodTbl = {};if (spec.paramList) { + _this.classType = spec.paramList[0].classType;_this.proto = _this.classType.proto; + } else _this.classType = _this;return _this; + }BindClass.prototype.makeBound = function (policyTbl) { + var Bound = _nbind.makeBound(policyTbl, this);this.proto = Bound;this.ptrType.proto = Bound;return Bound; + };BindClass.prototype.addMethod = function (spec) { + var overloadList = this.methodTbl[spec.name] || [];overloadList.push(spec);this.methodTbl[spec.name] = overloadList; + };BindClass.prototype.registerMethods = function (src, staticOnly) { + var setter;for (var _i = 0, _a = Object.keys(src.methodTbl); _i < _a.length; _i++) { + var name_1 = _a[_i];var overloadList = src.methodTbl[name_1];for (var _b = 0, overloadList_1 = overloadList; _b < overloadList_1.length; _b++) { + var spec = overloadList_1[_b];var target = void 0;var caller = void 0;target = this.proto.prototype;if (staticOnly && spec.signatureType != 1) continue;switch (spec.signatureType) {case 1: + target = this.proto;case 5: + caller = _nbind.makeCaller(spec);_nbind.addMethod(target, spec.name, caller, spec.typeList.length - 1);break;case 4: + setter = _nbind.makeMethodCaller(src.ptrType, spec);break;case 3: + Object.defineProperty(target, spec.name, { configurable: true, enumerable: false, get: _nbind.makeMethodCaller(src.ptrType, spec), set: setter });break;case 2: + caller = _nbind.makeMethodCaller(src.ptrType, spec);_nbind.addMethod(target, spec.name, caller, spec.typeList.length - 1);break;default: + break;} + } + } + };BindClass.prototype.registerSuperMethods = function (src, firstSuper, visitTbl) { + if (visitTbl[src.name]) return;visitTbl[src.name] = true;var superNum = 0;var nextFirst;for (var _i = 0, _a = src.superIdList || []; _i < _a.length; _i++) { + var superId = _a[_i];var superClass = _nbind.getType(superId);if (superNum++ < firstSuper || firstSuper < 0) { + nextFirst = -1; + } else { + nextFirst = 0; + }this.registerSuperMethods(superClass, nextFirst, visitTbl); + }this.registerMethods(src, firstSuper < 0); + };BindClass.prototype.finish = function () { + if (this.ready) return this;this.ready = true;this.superList = (this.superIdList || []).map(function (superId) { + return _nbind.getType(superId).finish(); + });var Bound = this.proto;if (this.superList.length) { + var Proto = function () { + this.constructor = Bound; + };Proto.prototype = this.superList[0].proto.prototype;Bound.prototype = new Proto(); + }if (Bound != Module) Bound.prototype.__nbindType = this;this.registerSuperMethods(this, 1, {});return this; + };BindClass.prototype.upcastStep = function (dst, ptr) { + if (dst == this) return ptr;for (var i = 0; i < this.superList.length; ++i) { + var superPtr = this.superList[i].upcastStep(dst, _nbind.callUpcast(this.upcastList[i], ptr));if (superPtr) return superPtr; + }return 0; + };return BindClass; + }(_nbind.BindType);BindClass.list = [];_nbind.BindClass = BindClass;function popPointer(ptr, type) { + return ptr ? new type.proto(_nbind.ptrMarker, type.flags, ptr) : null; + }_nbind.popPointer = popPointer;function pushPointer(obj, type, tryValue) { + if (!(obj instanceof _nbind.Wrapper)) { + if (tryValue) { + return _nbind.pushValue(obj); + } else throw new Error("Type mismatch"); + }var ptr = obj.__nbindPtr;var objType = obj.__nbindType.classType;var classType = type.classType;if (obj instanceof type.proto) { + while (objType != classType) { + ptr = _nbind.callUpcast(objType.upcastList[0], ptr);objType = objType.superList[0]; + } + } else { + ptr = objType.upcastStep(classType, ptr);if (!ptr) throw new Error("Type mismatch"); + }return ptr; + }_nbind.pushPointer = pushPointer;function pushMutablePointer(obj, type) { + var ptr = pushPointer(obj, type);if (obj.__nbindFlags & 1) { + throw new Error("Passing a const value as a non-const argument"); + }return ptr; + }var BindClassPtr = function (_super) { + __extends(BindClassPtr, _super);function BindClassPtr(spec) { + var _this = _super.call(this, spec) || this;_this.classType = spec.paramList[0].classType;_this.proto = _this.classType.proto;var isConst = spec.flags & 1;var isValue = (_this.flags & 896) == 256 && spec.flags & 2;var push = isConst ? pushPointer : pushMutablePointer;var pop = isValue ? _nbind.popValue : popPointer;_this.makeWireWrite = function (expr, policyTbl) { + return policyTbl["Nullable"] ? function (arg) { + return arg ? push(arg, _this) : 0; + } : function (arg) { + return push(arg, _this); + }; + };_this.wireRead = function (arg) { + return pop(arg, _this); + };_this.wireWrite = function (arg) { + return push(arg, _this); + };return _this; + }return BindClassPtr; + }(_nbind.BindType);_nbind.BindClassPtr = BindClassPtr;function popShared(ptr, type) { + var shared = HEAPU32[ptr / 4];var unsafe = HEAPU32[ptr / 4 + 1];return unsafe ? new type.proto(_nbind.ptrMarker, type.flags, unsafe, shared) : null; + }_nbind.popShared = popShared;function pushShared(obj, type) { + if (!(obj instanceof type.proto)) throw new Error("Type mismatch");return obj.__nbindShared; + }function pushMutableShared(obj, type) { + if (!(obj instanceof type.proto)) throw new Error("Type mismatch");if (obj.__nbindFlags & 1) { + throw new Error("Passing a const value as a non-const argument"); + }return obj.__nbindShared; + }var SharedClassPtr = function (_super) { + __extends(SharedClassPtr, _super);function SharedClassPtr(spec) { + var _this = _super.call(this, spec) || this;_this.readResources = [_nbind.resources.pool];_this.classType = spec.paramList[0].classType;_this.proto = _this.classType.proto;var isConst = spec.flags & 1;var push = isConst ? pushShared : pushMutableShared;_this.wireRead = function (arg) { + return popShared(arg, _this); + };_this.wireWrite = function (arg) { + return push(arg, _this); + };return _this; + }return SharedClassPtr; + }(_nbind.BindType);_nbind.SharedClassPtr = SharedClassPtr;_nbind.externalList = [0];var firstFreeExternal = 0;var External = function () { + function External(data) { + this.refCount = 1;this.data = data; + }External.prototype.register = function () { + var num = firstFreeExternal;if (num) { + firstFreeExternal = _nbind.externalList[num]; + } else num = _nbind.externalList.length;_nbind.externalList[num] = this;return num; + };External.prototype.reference = function () { + ++this.refCount; + };External.prototype.dereference = function (num) { + if (--this.refCount == 0) { + if (this.free) this.free();_nbind.externalList[num] = firstFreeExternal;firstFreeExternal = num; + } + };return External; + }();_nbind.External = External;function popExternal(num) { + var obj = _nbind.externalList[num];obj.dereference(num);return obj.data; + }function pushExternal(obj) { + var external = new External(obj);external.reference();return external.register(); + }var ExternalType = function (_super) { + __extends(ExternalType, _super);function ExternalType() { + var _this = _super !== null && _super.apply(this, arguments) || this;_this.wireRead = popExternal;_this.wireWrite = pushExternal;return _this; + }return ExternalType; + }(_nbind.BindType);_nbind.ExternalType = ExternalType;_nbind.callbackSignatureList = [];var CallbackType = function (_super) { + __extends(CallbackType, _super);function CallbackType() { + var _this = _super !== null && _super.apply(this, arguments) || this;_this.wireWrite = function (func) { + if (typeof func != "function") _nbind.throwError("Type mismatch");return new _nbind.External(func).register(); + };return _this; + }return CallbackType; + }(_nbind.BindType);_nbind.CallbackType = CallbackType;_nbind.valueList = [0];var firstFreeValue = 0;function pushValue(value) { + var num = firstFreeValue;if (num) { + firstFreeValue = _nbind.valueList[num]; + } else num = _nbind.valueList.length;_nbind.valueList[num] = value;return num * 2 + 1; + }_nbind.pushValue = pushValue;function popValue(num, type) { + if (!num) _nbind.throwError("Value type JavaScript class is missing or not registered");if (num & 1) { + num >>= 1;var obj = _nbind.valueList[num];_nbind.valueList[num] = firstFreeValue;firstFreeValue = num;return obj; + } else if (type) { + return _nbind.popShared(num, type); + } else throw new Error("Invalid value slot " + num); + }_nbind.popValue = popValue;var valueBase = 0x10000000000000000;function push64(num) { + if (typeof num == "number") return num;return pushValue(num) * 4096 + valueBase; + }function pop64(num) { + if (num < valueBase) return num;return popValue((num - valueBase) / 4096); + }var CreateValueType = function (_super) { + __extends(CreateValueType, _super);function CreateValueType() { + return _super !== null && _super.apply(this, arguments) || this; + }CreateValueType.prototype.makeWireWrite = function (expr) { + return "(_nbind.pushValue(new " + expr + "))"; + };return CreateValueType; + }(_nbind.BindType);_nbind.CreateValueType = CreateValueType;var Int64Type = function (_super) { + __extends(Int64Type, _super);function Int64Type() { + var _this = _super !== null && _super.apply(this, arguments) || this;_this.wireWrite = push64;_this.wireRead = pop64;return _this; + }return Int64Type; + }(_nbind.BindType);_nbind.Int64Type = Int64Type;function pushArray(arr, type) { + if (!arr) return 0;var length = arr.length;if ((type.size || type.size === 0) && length < type.size) { + throw new Error("Type mismatch"); + }var ptrSize = type.memberType.ptrSize;var result = _nbind.Pool.lalloc(4 + length * ptrSize);HEAPU32[result / 4] = length;var heap = type.memberType.heap;var ptr = (result + 4) / ptrSize;var wireWrite = type.memberType.wireWrite;var num = 0;if (wireWrite) { + while (num < length) { + heap[ptr++] = wireWrite(arr[num++]); + } + } else { + while (num < length) { + heap[ptr++] = arr[num++]; + } + }return result; + }_nbind.pushArray = pushArray;function popArray(ptr, type) { + if (ptr === 0) return null;var length = HEAPU32[ptr / 4];var arr = new Array(length);var heap = type.memberType.heap;ptr = (ptr + 4) / type.memberType.ptrSize;var wireRead = type.memberType.wireRead;var num = 0;if (wireRead) { + while (num < length) { + arr[num++] = wireRead(heap[ptr++]); + } + } else { + while (num < length) { + arr[num++] = heap[ptr++]; + } + }return arr; + }_nbind.popArray = popArray;var ArrayType = function (_super) { + __extends(ArrayType, _super);function ArrayType(spec) { + var _this = _super.call(this, spec) || this;_this.wireRead = function (arg) { + return popArray(arg, _this); + };_this.wireWrite = function (arg) { + return pushArray(arg, _this); + };_this.readResources = [_nbind.resources.pool];_this.writeResources = [_nbind.resources.pool];_this.memberType = spec.paramList[0];if (spec.paramList[1]) _this.size = spec.paramList[1];return _this; + }return ArrayType; + }(_nbind.BindType);_nbind.ArrayType = ArrayType;function pushString(str, policyTbl) { + if (str === null || str === undefined) { + if (policyTbl && policyTbl["Nullable"]) { + str = ""; + } else throw new Error("Type mismatch"); + }if (policyTbl && policyTbl["Strict"]) { + if (typeof str != "string") throw new Error("Type mismatch"); + } else str = str.toString();var length = Module.lengthBytesUTF8(str);var result = _nbind.Pool.lalloc(4 + length + 1);HEAPU32[result / 4] = length;Module.stringToUTF8Array(str, HEAPU8, result + 4, length + 1);return result; + }_nbind.pushString = pushString;function popString(ptr) { + if (ptr === 0) return null;var length = HEAPU32[ptr / 4];return Module.Pointer_stringify(ptr + 4, length); + }_nbind.popString = popString;var StringType = function (_super) { + __extends(StringType, _super);function StringType() { + var _this = _super !== null && _super.apply(this, arguments) || this;_this.wireRead = popString;_this.wireWrite = pushString;_this.readResources = [_nbind.resources.pool];_this.writeResources = [_nbind.resources.pool];return _this; + }StringType.prototype.makeWireWrite = function (expr, policyTbl) { + return function (arg) { + return pushString(arg, policyTbl); + }; + };return StringType; + }(_nbind.BindType);_nbind.StringType = StringType;function makeArgList(argCount) { + return Array.apply(null, Array(argCount)).map(function (dummy, num) { + return "a" + (num + 1); + }); + }function anyNeedsWireWrite(typeList, policyTbl) { + return typeList.reduce(function (result, type) { + return result || type.needsWireWrite(policyTbl); + }, false); + }function anyNeedsWireRead(typeList, policyTbl) { + return typeList.reduce(function (result, type) { + return result || !!type.needsWireRead(policyTbl); + }, false); + }function makeWireRead(convertParamList, policyTbl, type, expr) { + var paramNum = convertParamList.length;if (type.makeWireRead) { + return type.makeWireRead(expr, convertParamList, paramNum); + } else if (type.wireRead) { + convertParamList[paramNum] = type.wireRead;return "(convertParamList[" + paramNum + "](" + expr + "))"; + } else return expr; + }function makeWireWrite(convertParamList, policyTbl, type, expr) { + var wireWrite;var paramNum = convertParamList.length;if (type.makeWireWrite) { + wireWrite = type.makeWireWrite(expr, policyTbl, convertParamList, paramNum); + } else wireWrite = type.wireWrite;if (wireWrite) { + if (typeof wireWrite == "string") { + return wireWrite; + } else { + convertParamList[paramNum] = wireWrite;return "(convertParamList[" + paramNum + "](" + expr + "))"; + } + } else return expr; + }function buildCallerFunction(dynCall, ptrType, ptr, num, policyTbl, needsWireWrite, prefix, returnType, argTypeList, mask, err) { + var argList = makeArgList(argTypeList.length);var convertParamList = [];var callExpression = makeWireRead(convertParamList, policyTbl, returnType, "dynCall(" + [prefix].concat(argList.map(function (name, index) { + return makeWireWrite(convertParamList, policyTbl, argTypeList[index], name); + })).join(",") + ")");var resourceSet = _nbind.listResources([returnType], argTypeList);var sourceCode = "function(" + argList.join(",") + "){" + (mask ? "this.__nbindFlags&mask&&err();" : "") + resourceSet.makeOpen() + "var r=" + callExpression + ";" + resourceSet.makeClose() + "return r;" + "}";return eval("(" + sourceCode + ")"); + }function buildJSCallerFunction(returnType, argTypeList) { + var argList = makeArgList(argTypeList.length);var convertParamList = [];var callExpression = makeWireWrite(convertParamList, null, returnType, "_nbind.externalList[num].data(" + argList.map(function (name, index) { + return makeWireRead(convertParamList, null, argTypeList[index], name); + }).join(",") + ")");var resourceSet = _nbind.listResources(argTypeList, [returnType]);resourceSet.remove(_nbind.resources.pool);var sourceCode = "function(" + ["dummy", "num"].concat(argList).join(",") + "){" + resourceSet.makeOpen() + "var r=" + callExpression + ";" + resourceSet.makeClose() + "return r;" + "}";return eval("(" + sourceCode + ")"); + }_nbind.buildJSCallerFunction = buildJSCallerFunction;function makeJSCaller(idList) { + var argCount = idList.length - 1;var typeList = _nbind.getTypes(idList, "callback");var returnType = typeList[0];var argTypeList = typeList.slice(1);var needsWireRead = anyNeedsWireRead(argTypeList, null);var needsWireWrite = returnType.needsWireWrite(null);if (!needsWireWrite && !needsWireRead) { + switch (argCount) {case 0: + return function (dummy, num) { + return _nbind.externalList[num].data(); + };case 1: + return function (dummy, num, a1) { + return _nbind.externalList[num].data(a1); + };case 2: + return function (dummy, num, a1, a2) { + return _nbind.externalList[num].data(a1, a2); + };case 3: + return function (dummy, num, a1, a2, a3) { + return _nbind.externalList[num].data(a1, a2, a3); + };default: + break;} + }return buildJSCallerFunction(returnType, argTypeList); + }_nbind.makeJSCaller = makeJSCaller;function makeMethodCaller(ptrType, spec) { + var argCount = spec.typeList.length - 1;var typeIdList = spec.typeList.slice(0);typeIdList.splice(1, 0, "uint32_t", spec.boundID);var typeList = _nbind.getTypes(typeIdList, spec.title);var returnType = typeList[0];var argTypeList = typeList.slice(3);var needsWireRead = returnType.needsWireRead(spec.policyTbl);var needsWireWrite = anyNeedsWireWrite(argTypeList, spec.policyTbl);var ptr = spec.ptr;var num = spec.num;var dynCall = _nbind.getDynCall(typeList, spec.title);var mask = ~spec.flags & 1;function err() { + throw new Error("Calling a non-const method on a const object"); + }if (!needsWireRead && !needsWireWrite) { + switch (argCount) {case 0: + return function () { + return this.__nbindFlags & mask ? err() : dynCall(ptr, num, _nbind.pushPointer(this, ptrType)); + };case 1: + return function (a1) { + return this.__nbindFlags & mask ? err() : dynCall(ptr, num, _nbind.pushPointer(this, ptrType), a1); + };case 2: + return function (a1, a2) { + return this.__nbindFlags & mask ? err() : dynCall(ptr, num, _nbind.pushPointer(this, ptrType), a1, a2); + };case 3: + return function (a1, a2, a3) { + return this.__nbindFlags & mask ? err() : dynCall(ptr, num, _nbind.pushPointer(this, ptrType), a1, a2, a3); + };default: + break;} + }return buildCallerFunction(dynCall, ptrType, ptr, num, spec.policyTbl, needsWireWrite, "ptr,num,pushPointer(this,ptrType)", returnType, argTypeList, mask, err); + }_nbind.makeMethodCaller = makeMethodCaller;function makeCaller(spec) { + var argCount = spec.typeList.length - 1;var typeList = _nbind.getTypes(spec.typeList, spec.title);var returnType = typeList[0];var argTypeList = typeList.slice(1);var needsWireRead = returnType.needsWireRead(spec.policyTbl);var needsWireWrite = anyNeedsWireWrite(argTypeList, spec.policyTbl);var direct = spec.direct;var ptr = spec.ptr;if (spec.direct && !needsWireRead && !needsWireWrite) { + var dynCall_1 = _nbind.getDynCall(typeList, spec.title);switch (argCount) {case 0: + return function () { + return dynCall_1(direct); + };case 1: + return function (a1) { + return dynCall_1(direct, a1); + };case 2: + return function (a1, a2) { + return dynCall_1(direct, a1, a2); + };case 3: + return function (a1, a2, a3) { + return dynCall_1(direct, a1, a2, a3); + };default: + break;}ptr = 0; + }var prefix;if (ptr) { + var typeIdList = spec.typeList.slice(0);typeIdList.splice(1, 0, "uint32_t");typeList = _nbind.getTypes(typeIdList, spec.title);prefix = "ptr,num"; + } else { + ptr = direct;prefix = "ptr"; + }var dynCall = _nbind.getDynCall(typeList, spec.title);return buildCallerFunction(dynCall, null, ptr, spec.num, spec.policyTbl, needsWireWrite, prefix, returnType, argTypeList); + }_nbind.makeCaller = makeCaller;function makeOverloader(func, arity) { + var callerList = [];function call() { + return callerList[arguments.length].apply(this, arguments); + }call.addMethod = function (_func, _arity) { + callerList[_arity] = _func; + };call.addMethod(func, arity);return call; + }_nbind.makeOverloader = makeOverloader;var Resource = function () { + function Resource(open, close) { + var _this = this;this.makeOpen = function () { + return Object.keys(_this.openTbl).join(""); + };this.makeClose = function () { + return Object.keys(_this.closeTbl).join(""); + };this.openTbl = {};this.closeTbl = {};if (open) this.openTbl[open] = true;if (close) this.closeTbl[close] = true; + }Resource.prototype.add = function (other) { + for (var _i = 0, _a = Object.keys(other.openTbl); _i < _a.length; _i++) { + var key = _a[_i];this.openTbl[key] = true; + }for (var _b = 0, _c = Object.keys(other.closeTbl); _b < _c.length; _b++) { + var key = _c[_b];this.closeTbl[key] = true; + } + };Resource.prototype.remove = function (other) { + for (var _i = 0, _a = Object.keys(other.openTbl); _i < _a.length; _i++) { + var key = _a[_i];delete this.openTbl[key]; + }for (var _b = 0, _c = Object.keys(other.closeTbl); _b < _c.length; _b++) { + var key = _c[_b];delete this.closeTbl[key]; + } + };return Resource; + }();_nbind.Resource = Resource;function listResources(readList, writeList) { + var result = new Resource();for (var _i = 0, readList_1 = readList; _i < readList_1.length; _i++) { + var bindType = readList_1[_i];for (var _a = 0, _b = bindType.readResources || []; _a < _b.length; _a++) { + var resource = _b[_a];result.add(resource); + } + }for (var _c = 0, writeList_1 = writeList; _c < writeList_1.length; _c++) { + var bindType = writeList_1[_c];for (var _d = 0, _e = bindType.writeResources || []; _d < _e.length; _d++) { + var resource = _e[_d];result.add(resource); + } + }return result; + }_nbind.listResources = listResources;_nbind.resources = { pool: new Resource("var used=HEAPU32[_nbind.Pool.usedPtr],page=HEAPU32[_nbind.Pool.pagePtr];", "_nbind.Pool.lreset(used,page);") };var ExternalBuffer = function (_super) { + __extends(ExternalBuffer, _super);function ExternalBuffer(buf, ptr) { + var _this = _super.call(this, buf) || this;_this.ptr = ptr;return _this; + }ExternalBuffer.prototype.free = function () { + _free(this.ptr); + };return ExternalBuffer; + }(_nbind.External);function getBuffer(buf) { + if (buf instanceof ArrayBuffer) { + return new Uint8Array(buf); + } else if (buf instanceof DataView) { + return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength); + } else return buf; + }function pushBuffer(buf, policyTbl) { + if (buf === null || buf === undefined) { + if (policyTbl && policyTbl["Nullable"]) buf = []; + }if (typeof buf != "object") throw new Error("Type mismatch");var b = buf;var length = b.byteLength || b.length;if (!length && length !== 0 && b.byteLength !== 0) throw new Error("Type mismatch");var result = _nbind.Pool.lalloc(8);var data = _malloc(length);var ptr = result / 4;HEAPU32[ptr++] = length;HEAPU32[ptr++] = data;HEAPU32[ptr++] = new ExternalBuffer(buf, data).register();HEAPU8.set(getBuffer(buf), data);return result; + }var BufferType = function (_super) { + __extends(BufferType, _super);function BufferType() { + var _this = _super !== null && _super.apply(this, arguments) || this;_this.wireWrite = pushBuffer;_this.readResources = [_nbind.resources.pool];_this.writeResources = [_nbind.resources.pool];return _this; + }BufferType.prototype.makeWireWrite = function (expr, policyTbl) { + return function (arg) { + return pushBuffer(arg, policyTbl); + }; + };return BufferType; + }(_nbind.BindType);_nbind.BufferType = BufferType;function commitBuffer(num, data, length) { + var buf = _nbind.externalList[num].data;var NodeBuffer = Buffer;if (typeof Buffer != "function") NodeBuffer = function () {};if (buf instanceof Array) {} else { + var src = HEAPU8.subarray(data, data + length);if (buf instanceof NodeBuffer) { + var srcBuf = void 0;if (typeof Buffer.from == "function" && Buffer.from.length >= 3) { + srcBuf = Buffer.from(src); + } else srcBuf = new Buffer(src);srcBuf.copy(buf); + } else getBuffer(buf).set(src); + } + }_nbind.commitBuffer = commitBuffer;var dirtyList = [];var gcTimer = 0;function sweep() { + for (var _i = 0, dirtyList_1 = dirtyList; _i < dirtyList_1.length; _i++) { + var obj = dirtyList_1[_i];if (!(obj.__nbindState & (1 | 2))) { + obj.free(); + } + }dirtyList = [];gcTimer = 0; + }_nbind.mark = function (obj) {};function toggleLightGC(enable) { + if (enable) { + _nbind.mark = function (obj) { + dirtyList.push(obj);if (!gcTimer) gcTimer = setTimeout(sweep, 0); + }; + } else { + _nbind.mark = function (obj) {}; + } + }_nbind.toggleLightGC = toggleLightGC; + })(_nbind);Module["requestFullScreen"] = function Module_requestFullScreen(lockPointer, resizeCanvas, vrDevice) { + Module.printErr("Module.requestFullScreen is deprecated. Please call Module.requestFullscreen instead.");Module["requestFullScreen"] = Module["requestFullscreen"];Browser.requestFullScreen(lockPointer, resizeCanvas, vrDevice); + };Module["requestFullscreen"] = function Module_requestFullscreen(lockPointer, resizeCanvas, vrDevice) { + Browser.requestFullscreen(lockPointer, resizeCanvas, vrDevice); + };Module["requestAnimationFrame"] = function Module_requestAnimationFrame(func) { + Browser.requestAnimationFrame(func); + };Module["setCanvasSize"] = function Module_setCanvasSize(width, height, noUpdates) { + Browser.setCanvasSize(width, height, noUpdates); + };Module["pauseMainLoop"] = function Module_pauseMainLoop() { + Browser.mainLoop.pause(); + };Module["resumeMainLoop"] = function Module_resumeMainLoop() { + Browser.mainLoop.resume(); + };Module["getUserMedia"] = function Module_getUserMedia() { + Browser.getUserMedia(); + };Module["createContext"] = function Module_createContext(canvas, useWebGL, setInModule, webGLContextAttributes) { + return Browser.createContext(canvas, useWebGL, setInModule, webGLContextAttributes); + };if (ENVIRONMENT_IS_NODE) { + _emscripten_get_now = function _emscripten_get_now_actual() { + var t = process["hrtime"]();return t[0] * 1e3 + t[1] / 1e6; + }; + } else if (typeof dateNow !== "undefined") { + _emscripten_get_now = dateNow; + } else if (typeof self === "object" && self["performance"] && typeof self["performance"]["now"] === "function") { + _emscripten_get_now = function () { + return self["performance"]["now"](); + }; + } else if (typeof performance === "object" && typeof performance["now"] === "function") { + _emscripten_get_now = function () { + return performance["now"](); + }; + } else { + _emscripten_get_now = Date.now; + }__ATEXIT__.push(function () { + var fflush = Module["_fflush"];if (fflush) fflush(0);var printChar = ___syscall146.printChar;if (!printChar) return;var buffers = ___syscall146.buffers;if (buffers[1].length) printChar(1, 10);if (buffers[2].length) printChar(2, 10); + });DYNAMICTOP_PTR = allocate(1, "i32", ALLOC_STATIC);STACK_BASE = STACKTOP = Runtime.alignMemory(STATICTOP);STACK_MAX = STACK_BASE + TOTAL_STACK;DYNAMIC_BASE = Runtime.alignMemory(STACK_MAX);HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE;staticSealed = true;function invoke_viiiii(index, a1, a2, a3, a4, a5) { + try { + Module["dynCall_viiiii"](index, a1, a2, a3, a4, a5); + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e;Module["setThrew"](1, 0); + } + }function invoke_vif(index, a1, a2) { + try { + Module["dynCall_vif"](index, a1, a2); + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e;Module["setThrew"](1, 0); + } + }function invoke_vid(index, a1, a2) { + try { + Module["dynCall_vid"](index, a1, a2); + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e;Module["setThrew"](1, 0); + } + }function invoke_fiff(index, a1, a2, a3) { + try { + return Module["dynCall_fiff"](index, a1, a2, a3); + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e;Module["setThrew"](1, 0); + } + }function invoke_vi(index, a1) { + try { + Module["dynCall_vi"](index, a1); + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e;Module["setThrew"](1, 0); + } + }function invoke_vii(index, a1, a2) { + try { + Module["dynCall_vii"](index, a1, a2); + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e;Module["setThrew"](1, 0); + } + }function invoke_ii(index, a1) { + try { + return Module["dynCall_ii"](index, a1); + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e;Module["setThrew"](1, 0); + } + }function invoke_viddi(index, a1, a2, a3, a4) { + try { + Module["dynCall_viddi"](index, a1, a2, a3, a4); + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e;Module["setThrew"](1, 0); + } + }function invoke_vidd(index, a1, a2, a3) { + try { + Module["dynCall_vidd"](index, a1, a2, a3); + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e;Module["setThrew"](1, 0); + } + }function invoke_iiii(index, a1, a2, a3) { + try { + return Module["dynCall_iiii"](index, a1, a2, a3); + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e;Module["setThrew"](1, 0); + } + }function invoke_diii(index, a1, a2, a3) { + try { + return Module["dynCall_diii"](index, a1, a2, a3); + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e;Module["setThrew"](1, 0); + } + }function invoke_di(index, a1) { + try { + return Module["dynCall_di"](index, a1); + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e;Module["setThrew"](1, 0); + } + }function invoke_iid(index, a1, a2) { + try { + return Module["dynCall_iid"](index, a1, a2); + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e;Module["setThrew"](1, 0); + } + }function invoke_iii(index, a1, a2) { + try { + return Module["dynCall_iii"](index, a1, a2); + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e;Module["setThrew"](1, 0); + } + }function invoke_viiddi(index, a1, a2, a3, a4, a5) { + try { + Module["dynCall_viiddi"](index, a1, a2, a3, a4, a5); + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e;Module["setThrew"](1, 0); + } + }function invoke_viiiiii(index, a1, a2, a3, a4, a5, a6) { + try { + Module["dynCall_viiiiii"](index, a1, a2, a3, a4, a5, a6); + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e;Module["setThrew"](1, 0); + } + }function invoke_dii(index, a1, a2) { + try { + return Module["dynCall_dii"](index, a1, a2); + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e;Module["setThrew"](1, 0); + } + }function invoke_i(index) { + try { + return Module["dynCall_i"](index); + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e;Module["setThrew"](1, 0); + } + }function invoke_iiiiii(index, a1, a2, a3, a4, a5) { + try { + return Module["dynCall_iiiiii"](index, a1, a2, a3, a4, a5); + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e;Module["setThrew"](1, 0); + } + }function invoke_viiid(index, a1, a2, a3, a4) { + try { + Module["dynCall_viiid"](index, a1, a2, a3, a4); + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e;Module["setThrew"](1, 0); + } + }function invoke_viififi(index, a1, a2, a3, a4, a5, a6) { + try { + Module["dynCall_viififi"](index, a1, a2, a3, a4, a5, a6); + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e;Module["setThrew"](1, 0); + } + }function invoke_viii(index, a1, a2, a3) { + try { + Module["dynCall_viii"](index, a1, a2, a3); + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e;Module["setThrew"](1, 0); + } + }function invoke_v(index) { + try { + Module["dynCall_v"](index); + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e;Module["setThrew"](1, 0); + } + }function invoke_viid(index, a1, a2, a3) { + try { + Module["dynCall_viid"](index, a1, a2, a3); + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e;Module["setThrew"](1, 0); + } + }function invoke_idd(index, a1, a2) { + try { + return Module["dynCall_idd"](index, a1, a2); + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e;Module["setThrew"](1, 0); + } + }function invoke_viiii(index, a1, a2, a3, a4) { + try { + Module["dynCall_viiii"](index, a1, a2, a3, a4); + } catch (e) { + if (typeof e !== "number" && e !== "longjmp") throw e;Module["setThrew"](1, 0); + } + }Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity };Module.asmLibraryArg = { "abort": abort, "assert": assert, "enlargeMemory": enlargeMemory, "getTotalMemory": getTotalMemory, "abortOnCannotGrowMemory": abortOnCannotGrowMemory, "invoke_viiiii": invoke_viiiii, "invoke_vif": invoke_vif, "invoke_vid": invoke_vid, "invoke_fiff": invoke_fiff, "invoke_vi": invoke_vi, "invoke_vii": invoke_vii, "invoke_ii": invoke_ii, "invoke_viddi": invoke_viddi, "invoke_vidd": invoke_vidd, "invoke_iiii": invoke_iiii, "invoke_diii": invoke_diii, "invoke_di": invoke_di, "invoke_iid": invoke_iid, "invoke_iii": invoke_iii, "invoke_viiddi": invoke_viiddi, "invoke_viiiiii": invoke_viiiiii, "invoke_dii": invoke_dii, "invoke_i": invoke_i, "invoke_iiiiii": invoke_iiiiii, "invoke_viiid": invoke_viiid, "invoke_viififi": invoke_viififi, "invoke_viii": invoke_viii, "invoke_v": invoke_v, "invoke_viid": invoke_viid, "invoke_idd": invoke_idd, "invoke_viiii": invoke_viiii, "_emscripten_asm_const_iiiii": _emscripten_asm_const_iiiii, "_emscripten_asm_const_iiidddddd": _emscripten_asm_const_iiidddddd, "_emscripten_asm_const_iiiid": _emscripten_asm_const_iiiid, "__nbind_reference_external": __nbind_reference_external, "_emscripten_asm_const_iiiiiiii": _emscripten_asm_const_iiiiiiii, "_removeAccessorPrefix": _removeAccessorPrefix, "_typeModule": _typeModule, "__nbind_register_pool": __nbind_register_pool, "__decorate": __decorate, "_llvm_stackrestore": _llvm_stackrestore, "___cxa_atexit": ___cxa_atexit, "__extends": __extends, "__nbind_get_value_object": __nbind_get_value_object, "__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj": __ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj, "_emscripten_set_main_loop_timing": _emscripten_set_main_loop_timing, "__nbind_register_primitive": __nbind_register_primitive, "__nbind_register_type": __nbind_register_type, "_emscripten_memcpy_big": _emscripten_memcpy_big, "__nbind_register_function": __nbind_register_function, "___setErrNo": ___setErrNo, "__nbind_register_class": __nbind_register_class, "__nbind_finish": __nbind_finish, "_abort": _abort, "_nbind_value": _nbind_value, "_llvm_stacksave": _llvm_stacksave, "___syscall54": ___syscall54, "_defineHidden": _defineHidden, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_get_now": _emscripten_get_now, "__nbind_register_callback_signature": __nbind_register_callback_signature, "_emscripten_asm_const_iiiiii": _emscripten_asm_const_iiiiii, "__nbind_free_external": __nbind_free_external, "_emscripten_asm_const_iiii": _emscripten_asm_const_iiii, "_emscripten_asm_const_iiididi": _emscripten_asm_const_iiididi, "___syscall6": ___syscall6, "_atexit": _atexit, "___syscall140": ___syscall140, "___syscall146": ___syscall146, "DYNAMICTOP_PTR": DYNAMICTOP_PTR, "tempDoublePtr": tempDoublePtr, "ABORT": ABORT, "STACKTOP": STACKTOP, "STACK_MAX": STACK_MAX, "cttz_i8": cttz_i8, "___dso_handle": ___dso_handle }; // EMSCRIPTEN_START_ASM + var asm = function (global, env, buffer) { + "use asm"; + var a = new global.Int8Array(buffer);var b = new global.Int16Array(buffer);var c = new global.Int32Array(buffer);var d = new global.Uint8Array(buffer);var e = new global.Uint16Array(buffer);var f = new global.Uint32Array(buffer);var g = new global.Float32Array(buffer);var h = new global.Float64Array(buffer);var i = env.DYNAMICTOP_PTR | 0;var j = env.tempDoublePtr | 0;var k = env.ABORT | 0;var l = env.STACKTOP | 0;var m = env.STACK_MAX | 0;var n = env.cttz_i8 | 0;var o = env.___dso_handle | 0;var p = 0;var q = 0;var r = 0;var s = 0;var t = global.NaN, + u = global.Infinity;var v = 0, + w = 0, + x = 0, + y = 0, + z = 0.0;var A = 0;var B = global.Math.floor;var C = global.Math.abs;var D = global.Math.sqrt;var E = global.Math.pow;var F = global.Math.cos;var G = global.Math.sin;var H = global.Math.tan;var I = global.Math.acos;var J = global.Math.asin;var K = global.Math.atan;var L = global.Math.atan2;var M = global.Math.exp;var N = global.Math.log;var O = global.Math.ceil;var P = global.Math.imul;var Q = global.Math.min;var R = global.Math.max;var S = global.Math.clz32;var T = global.Math.fround;var U = env.abort;var V = env.assert;var W = env.enlargeMemory;var X = env.getTotalMemory;var Y = env.abortOnCannotGrowMemory;var Z = env.invoke_viiiii;var _ = env.invoke_vif;var $ = env.invoke_vid;var aa = env.invoke_fiff;var ba = env.invoke_vi;var ca = env.invoke_vii;var da = env.invoke_ii;var ea = env.invoke_viddi;var fa = env.invoke_vidd;var ga = env.invoke_iiii;var ha = env.invoke_diii;var ia = env.invoke_di;var ja = env.invoke_iid;var ka = env.invoke_iii;var la = env.invoke_viiddi;var ma = env.invoke_viiiiii;var na = env.invoke_dii;var oa = env.invoke_i;var pa = env.invoke_iiiiii;var qa = env.invoke_viiid;var ra = env.invoke_viififi;var sa = env.invoke_viii;var ta = env.invoke_v;var ua = env.invoke_viid;var va = env.invoke_idd;var wa = env.invoke_viiii;var xa = env._emscripten_asm_const_iiiii;var ya = env._emscripten_asm_const_iiidddddd;var za = env._emscripten_asm_const_iiiid;var Aa = env.__nbind_reference_external;var Ba = env._emscripten_asm_const_iiiiiiii;var Ca = env._removeAccessorPrefix;var Da = env._typeModule;var Ea = env.__nbind_register_pool;var Fa = env.__decorate;var Ga = env._llvm_stackrestore;var Ha = env.___cxa_atexit;var Ia = env.__extends;var Ja = env.__nbind_get_value_object;var Ka = env.__ZN8facebook4yoga14YGNodeToStringEPNSt3__212basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEP6YGNode14YGPrintOptionsj;var La = env._emscripten_set_main_loop_timing;var Ma = env.__nbind_register_primitive;var Na = env.__nbind_register_type;var Oa = env._emscripten_memcpy_big;var Pa = env.__nbind_register_function;var Qa = env.___setErrNo;var Ra = env.__nbind_register_class;var Sa = env.__nbind_finish;var Ta = env._abort;var Ua = env._nbind_value;var Va = env._llvm_stacksave;var Wa = env.___syscall54;var Xa = env._defineHidden;var Ya = env._emscripten_set_main_loop;var Za = env._emscripten_get_now;var _a = env.__nbind_register_callback_signature;var $a = env._emscripten_asm_const_iiiiii;var ab = env.__nbind_free_external;var bb = env._emscripten_asm_const_iiii;var cb = env._emscripten_asm_const_iiididi;var db = env.___syscall6;var eb = env._atexit;var fb = env.___syscall140;var gb = env.___syscall146;var hb = T(0);const ib = T(0); + // EMSCRIPTEN_START_FUNCS + function Jb(a) { + a = a | 0;var b = 0;b = l;l = l + a | 0;l = l + 15 & -16;return b | 0; + }function Kb() { + return l | 0; + }function Lb(a) { + a = a | 0;l = a; + }function Mb(a, b) { + a = a | 0;b = b | 0;l = a;m = b; + }function Nb(a, b) { + a = a | 0;b = b | 0;if (!p) { + p = a;q = b; + } + }function Ob(a) { + a = a | 0;A = a; + }function Pb() { + return A | 0; + }function Qb() { + var b = 0, + d = 0;BC(8104, 8, 400) | 0;BC(8504, 408, 540) | 0;b = 9044;d = b + 44 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));a[9088] = 0;a[9089] = 1;c[2273] = 0;c[2274] = 948;c[2275] = 948;Ha(17, 8104, o | 0) | 0;return; + }function Rb(a) { + a = a | 0;oc(a + 948 | 0);return; + }function Sb(a) { + a = T(a);return ((af(a) | 0) & 2147483647) >>> 0 > 2139095040 | 0; + }function Tb(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;a: do if (!(c[a + (b << 3) + 4 >> 2] | 0)) { + if ((b | 2 | 0) == 3 ? c[a + 60 >> 2] | 0 : 0) { + a = a + 56 | 0;break; + }switch (b | 0) {case 0:case 2:case 4:case 5: + { + if (c[a + 52 >> 2] | 0) { + a = a + 48 | 0;break a; + }break; + }default: + {}}if (!(c[a + 68 >> 2] | 0)) { + a = (b | 1 | 0) == 5 ? 948 : d;break; + } else { + a = a + 64 | 0;break; + } + } else a = a + (b << 3) | 0; while (0);return a | 0; + }function Ub(b) { + b = b | 0;var d = 0;d = oB(1e3) | 0;Vb(b, (d | 0) != 0, 2456);c[2276] = (c[2276] | 0) + 1;BC(d | 0, 8104, 1e3) | 0;if (a[b + 2 >> 0] | 0) { + c[d + 4 >> 2] = 2;c[d + 12 >> 2] = 4; + }c[d + 976 >> 2] = b;return d | 0; + }function Vb(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0;f = l;l = l + 16 | 0;e = f;if (!b) { + c[e >> 2] = d;fe(a, 5, 3197, e); + }l = f;return; + }function Wb() { + return Ub(956) | 0; + }function Xb(a) { + a = a | 0;var b = 0;b = qC(1e3) | 0;Yb(b, a);Vb(c[a + 976 >> 2] | 0, 1, 2456);c[2276] = (c[2276] | 0) + 1;c[b + 944 >> 2] = 0;return b | 0; + }function Yb(a, b) { + a = a | 0;b = b | 0;var d = 0;BC(a | 0, b | 0, 948) | 0;ie(a + 948 | 0, b + 948 | 0);d = a + 960 | 0;a = b + 960 | 0;b = d + 40 | 0;do { + c[d >> 2] = c[a >> 2];d = d + 4 | 0;a = a + 4 | 0; + } while ((d | 0) < (b | 0));return; + }function Zb(a) { + a = a | 0;var b = 0, + d = 0, + e = 0, + f = 0;b = a + 944 | 0;d = c[b >> 2] | 0;if (d | 0) { + _b(d + 948 | 0, a) | 0;c[b >> 2] = 0; + }d = $b(a) | 0;if (d | 0) { + b = 0;do { + c[(ac(a, b) | 0) + 944 >> 2] = 0;b = b + 1 | 0; + } while ((b | 0) != (d | 0)); + }d = a + 948 | 0;e = c[d >> 2] | 0;f = a + 952 | 0;b = c[f >> 2] | 0;if ((b | 0) != (e | 0)) c[f >> 2] = b + (~((b + -4 - e | 0) >>> 2) << 2);bc(d);pB(a);c[2276] = (c[2276] | 0) + -1;return; + }function _b(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0;e = c[a >> 2] | 0;i = a + 4 | 0;d = c[i >> 2] | 0;g = d;a: do if ((e | 0) == (d | 0)) { + f = e;h = 4; + } else { + a = e;while (1) { + if ((c[a >> 2] | 0) == (b | 0)) { + f = a;h = 4;break a; + }a = a + 4 | 0;if ((a | 0) == (d | 0)) { + a = 0;break; + } + } + } while (0);if ((h | 0) == 4) if ((f | 0) != (d | 0)) { + e = f + 4 | 0;a = g - e | 0;b = a >> 2;if (b) { + GC(f | 0, e | 0, a | 0) | 0;d = c[i >> 2] | 0; + }a = f + (b << 2) | 0;if ((d | 0) == (a | 0)) a = 1;else { + c[i >> 2] = d + (~((d + -4 - a | 0) >>> 2) << 2);a = 1; + } + } else a = 0;return a | 0; + }function $b(a) { + a = a | 0;return (c[a + 952 >> 2] | 0) - (c[a + 948 >> 2] | 0) >> 2 | 0; + }function ac(a, b) { + a = a | 0;b = b | 0;var d = 0;d = c[a + 948 >> 2] | 0;if ((c[a + 952 >> 2] | 0) - d >> 2 >>> 0 > b >>> 0) a = c[d + (b << 2) >> 2] | 0;else a = 0;return a | 0; + }function bc(a) { + a = a | 0;var b = 0, + d = 0, + e = 0, + f = 0;e = l;l = l + 32 | 0;b = e;f = c[a >> 2] | 0;d = (c[a + 4 >> 2] | 0) - f | 0;if (((c[a + 8 >> 2] | 0) - f | 0) >>> 0 > d >>> 0) { + f = d >> 2;bf(b, f, f, a + 8 | 0);cf(a, b);df(b); + }l = e;return; + }function cc(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0;k = $b(a) | 0;do if (k | 0) { + if ((c[(ac(a, 0) | 0) + 944 >> 2] | 0) == (a | 0)) { + if (!(_b(a + 948 | 0, b) | 0)) break;BC(b + 400 | 0, 8504, 540) | 0;c[b + 944 >> 2] = 0;nc(a);break; + }h = c[(c[a + 976 >> 2] | 0) + 12 >> 2] | 0;i = a + 948 | 0;j = (h | 0) == 0;d = 0;g = 0;do { + e = c[(c[i >> 2] | 0) + (g << 2) >> 2] | 0;if ((e | 0) == (b | 0)) nc(a);else { + f = Xb(e) | 0;c[(c[i >> 2] | 0) + (d << 2) >> 2] = f;c[f + 944 >> 2] = a;if (!j) Ib[h & 15](e, f, a, d);d = d + 1 | 0; + }g = g + 1 | 0; + } while ((g | 0) != (k | 0));if (d >>> 0 < k >>> 0) { + j = a + 948 | 0;i = a + 952 | 0;h = d;d = c[i >> 2] | 0;do { + g = (c[j >> 2] | 0) + (h << 2) | 0;e = g + 4 | 0;f = d - e | 0;b = f >> 2;if (!b) f = d;else { + GC(g | 0, e | 0, f | 0) | 0;d = c[i >> 2] | 0;f = d; + }e = g + (b << 2) | 0;if ((f | 0) != (e | 0)) { + d = f + (~((f + -4 - e | 0) >>> 2) << 2) | 0;c[i >> 2] = d; + }h = h + 1 | 0; + } while ((h | 0) != (k | 0)); + } + } while (0);return; + }function dc(b) { + b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0;ec(b, ($b(b) | 0) == 0, 2491);ec(b, (c[b + 944 >> 2] | 0) == 0, 2545);d = b + 948 | 0;e = c[d >> 2] | 0;f = b + 952 | 0;g = c[f >> 2] | 0;if ((g | 0) != (e | 0)) c[f >> 2] = g + (~((g + -4 - e | 0) >>> 2) << 2);bc(d);d = b + 976 | 0;e = c[d >> 2] | 0;BC(b | 0, 8104, 1e3) | 0;if (a[e + 2 >> 0] | 0) { + c[b + 4 >> 2] = 2;c[b + 12 >> 2] = 4; + }c[d >> 2] = e;return; + }function ec(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0;f = l;l = l + 16 | 0;e = f;if (!b) { + c[e >> 2] = d;Vd(a, 5, 3197, e); + }l = f;return; + }function fc() { + return c[2276] | 0; + }function gc() { + var a = 0;a = oB(20) | 0;hc((a | 0) != 0, 2592);c[2277] = (c[2277] | 0) + 1;c[a >> 2] = c[239];c[a + 4 >> 2] = c[240];c[a + 8 >> 2] = c[241];c[a + 12 >> 2] = c[242];c[a + 16 >> 2] = c[243];return a | 0; + }function hc(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0;e = l;l = l + 16 | 0;d = e;if (!a) { + c[d >> 2] = b;Vd(0, 5, 3197, d); + }l = e;return; + }function ic(a) { + a = a | 0;pB(a);c[2277] = (c[2277] | 0) + -1;return; + }function jc(a, b) { + a = a | 0;b = b | 0;var d = 0;if (!b) { + d = 0;b = 0; + } else { + ec(a, ($b(a) | 0) == 0, 2629);d = 1; + }c[a + 964 >> 2] = b;c[a + 988 >> 2] = d;return; + }function kc(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;g = e + 8 | 0;f = e + 4 | 0;h = e;c[f >> 2] = b;ec(a, (c[b + 944 >> 2] | 0) == 0, 2709);ec(a, (c[a + 964 >> 2] | 0) == 0, 2763);lc(a);b = a + 948 | 0;c[h >> 2] = (c[b >> 2] | 0) + (d << 2);c[g >> 2] = c[h >> 2];mc(b, g, f) | 0;c[(c[f >> 2] | 0) + 944 >> 2] = a;nc(a);l = e;return; + }function lc(a) { + a = a | 0;var b = 0, + d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0;d = $b(a) | 0;if (d | 0 ? (c[(ac(a, 0) | 0) + 944 >> 2] | 0) != (a | 0) : 0) { + e = c[(c[a + 976 >> 2] | 0) + 12 >> 2] | 0;f = a + 948 | 0;g = (e | 0) == 0;b = 0;do { + h = c[(c[f >> 2] | 0) + (b << 2) >> 2] | 0;i = Xb(h) | 0;c[(c[f >> 2] | 0) + (b << 2) >> 2] = i;c[i + 944 >> 2] = a;if (!g) Ib[e & 15](h, i, a, b);b = b + 1 | 0; + } while ((b | 0) != (d | 0)); + }return; + }function mc(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0, + p = 0, + q = 0, + r = 0, + s = 0, + t = 0;s = l;l = l + 64 | 0;n = s + 52 | 0;i = s + 48 | 0;o = s + 28 | 0;p = s + 24 | 0;q = s + 20 | 0;r = s;e = c[a >> 2] | 0;g = e;b = e + ((c[b >> 2] | 0) - g >> 2 << 2) | 0;e = a + 4 | 0;f = c[e >> 2] | 0;h = a + 8 | 0;do if (f >>> 0 < (c[h >> 2] | 0) >>> 0) { + if ((b | 0) == (f | 0)) { + c[b >> 2] = c[d >> 2];c[e >> 2] = (c[e >> 2] | 0) + 4;break; + }ef(a, b, f, b + 4 | 0);if (b >>> 0 <= d >>> 0) d = (c[e >> 2] | 0) >>> 0 > d >>> 0 ? d + 4 | 0 : d;c[b >> 2] = c[d >> 2]; + } else { + e = (f - g >> 2) + 1 | 0;f = le(a) | 0;if (f >>> 0 < e >>> 0) jC(a);m = c[a >> 2] | 0;k = (c[h >> 2] | 0) - m | 0;g = k >> 1;bf(r, k >> 2 >>> 0 < f >>> 1 >>> 0 ? g >>> 0 < e >>> 0 ? e : g : f, b - m >> 2, a + 8 | 0);m = r + 8 | 0;e = c[m >> 2] | 0;g = r + 12 | 0;k = c[g >> 2] | 0;h = k;j = e;do if ((e | 0) == (k | 0)) { + k = r + 4 | 0;e = c[k >> 2] | 0;t = c[r >> 2] | 0;f = t;if (e >>> 0 <= t >>> 0) { + e = h - f >> 1;e = (e | 0) == 0 ? 1 : e;bf(o, e, e >>> 2, c[r + 16 >> 2] | 0);c[p >> 2] = c[k >> 2];c[q >> 2] = c[m >> 2];c[i >> 2] = c[p >> 2];c[n >> 2] = c[q >> 2];gf(o, i, n);e = c[r >> 2] | 0;c[r >> 2] = c[o >> 2];c[o >> 2] = e;e = o + 4 | 0;t = c[k >> 2] | 0;c[k >> 2] = c[e >> 2];c[e >> 2] = t;e = o + 8 | 0;t = c[m >> 2] | 0;c[m >> 2] = c[e >> 2];c[e >> 2] = t;e = o + 12 | 0;t = c[g >> 2] | 0;c[g >> 2] = c[e >> 2];c[e >> 2] = t;df(o);e = c[m >> 2] | 0;break; + }g = e;h = ((g - f >> 2) + 1 | 0) / -2 | 0;i = e + (h << 2) | 0;f = j - g | 0;g = f >> 2;if (g) { + GC(i | 0, e | 0, f | 0) | 0;e = c[k >> 2] | 0; + }t = i + (g << 2) | 0;c[m >> 2] = t;c[k >> 2] = e + (h << 2);e = t; + } while (0);c[e >> 2] = c[d >> 2];c[m >> 2] = (c[m >> 2] | 0) + 4;b = ff(a, r, b) | 0;df(r); + } while (0);l = s;return b | 0; + }function nc(b) { + b = b | 0;var d = 0;do { + d = b + 984 | 0;if (a[d >> 0] | 0) break;a[d >> 0] = 1;g[b + 504 >> 2] = T(t);b = c[b + 944 >> 2] | 0; + } while ((b | 0) != 0);return; + }function oc(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~((b + -4 - e | 0) >>> 2) << 2);sC(d); + }return; + }function pc(a) { + a = a | 0;return c[a + 944 >> 2] | 0; + }function qc(a) { + a = a | 0;ec(a, (c[a + 964 >> 2] | 0) != 0, 2832);nc(a);return; + }function rc(b) { + b = b | 0;return (a[b + 984 >> 0] | 0) != 0 | 0; + }function sc(a, b) { + a = a | 0;b = b | 0;if (BB(a, b, 400) | 0) { + BC(a | 0, b | 0, 400) | 0;nc(a); + }return; + }function tc(a) { + a = a | 0;var b = ib;b = T(g[a + 44 >> 2]);a = Sb(b) | 0;return T(a ? T(0.0) : b); + }function uc(b) { + b = b | 0;var d = ib;d = T(g[b + 48 >> 2]);if (Sb(d) | 0) d = a[(c[b + 976 >> 2] | 0) + 2 >> 0] | 0 ? T(1.0) : T(0.0);return T(d); + }function vc(a, b) { + a = a | 0;b = b | 0;c[a + 980 >> 2] = b;return; + }function wc(a) { + a = a | 0;return c[a + 980 >> 2] | 0; + }function xc(a, b) { + a = a | 0;b = b | 0;var d = 0;d = a + 4 | 0;if ((c[d >> 2] | 0) != (b | 0)) { + c[d >> 2] = b;nc(a); + }return; + }function yc(a) { + a = a | 0;return c[a + 4 >> 2] | 0; + }function zc(a, b) { + a = a | 0;b = b | 0;var d = 0;d = a + 8 | 0;if ((c[d >> 2] | 0) != (b | 0)) { + c[d >> 2] = b;nc(a); + }return; + }function Ac(a) { + a = a | 0;return c[a + 8 >> 2] | 0; + }function Bc(a, b) { + a = a | 0;b = b | 0;var d = 0;d = a + 12 | 0;if ((c[d >> 2] | 0) != (b | 0)) { + c[d >> 2] = b;nc(a); + }return; + }function Cc(a) { + a = a | 0;return c[a + 12 >> 2] | 0; + }function Dc(a, b) { + a = a | 0;b = b | 0;var d = 0;d = a + 16 | 0;if ((c[d >> 2] | 0) != (b | 0)) { + c[d >> 2] = b;nc(a); + }return; + }function Ec(a) { + a = a | 0;return c[a + 16 >> 2] | 0; + }function Fc(a, b) { + a = a | 0;b = b | 0;var d = 0;d = a + 20 | 0;if ((c[d >> 2] | 0) != (b | 0)) { + c[d >> 2] = b;nc(a); + }return; + }function Gc(a) { + a = a | 0;return c[a + 20 >> 2] | 0; + }function Hc(a, b) { + a = a | 0;b = b | 0;var d = 0;d = a + 24 | 0;if ((c[d >> 2] | 0) != (b | 0)) { + c[d >> 2] = b;nc(a); + }return; + }function Ic(a) { + a = a | 0;return c[a + 24 >> 2] | 0; + }function Jc(a, b) { + a = a | 0;b = b | 0;var d = 0;d = a + 28 | 0;if ((c[d >> 2] | 0) != (b | 0)) { + c[d >> 2] = b;nc(a); + }return; + }function Kc(a) { + a = a | 0;return c[a + 28 >> 2] | 0; + }function Lc(a, b) { + a = a | 0;b = b | 0;var d = 0;d = a + 32 | 0;if ((c[d >> 2] | 0) != (b | 0)) { + c[d >> 2] = b;nc(a); + }return; + }function Mc(a) { + a = a | 0;return c[a + 32 >> 2] | 0; + }function Nc(a, b) { + a = a | 0;b = b | 0;var d = 0;d = a + 36 | 0;if ((c[d >> 2] | 0) != (b | 0)) { + c[d >> 2] = b;nc(a); + }return; + }function Oc(a) { + a = a | 0;return c[a + 36 >> 2] | 0; + }function Pc(a, b) { + a = a | 0;b = T(b);var c = 0;c = a + 40 | 0;if (T(g[c >> 2]) != b) { + g[c >> 2] = b;nc(a); + }return; + }function Qc(a, b) { + a = a | 0;b = T(b);var c = 0;c = a + 44 | 0;if (T(g[c >> 2]) != b) { + g[c >> 2] = b;nc(a); + }return; + }function Rc(a, b) { + a = a | 0;b = T(b);var c = 0;c = a + 48 | 0;if (T(g[c >> 2]) != b) { + g[c >> 2] = b;nc(a); + }return; + }function Sc(a, b) { + a = a | 0;b = T(b);var d = 0, + e = 0, + f = 0, + h = 0;h = Sb(b) | 0;d = (h ^ 1) & 1;e = a + 52 | 0;f = a + 56 | 0;if (!(h | T(g[e >> 2]) == b ? (c[f >> 2] | 0) == (d | 0) : 0)) { + g[e >> 2] = b;c[f >> 2] = d;nc(a); + }return; + }function Tc(a, b) { + a = a | 0;b = T(b);var d = 0, + e = 0;e = a + 52 | 0;d = a + 56 | 0;if (!(!(T(g[e >> 2]) != b) ? (c[d >> 2] | 0) == 2 : 0)) { + g[e >> 2] = b;e = Sb(b) | 0;c[d >> 2] = e ? 3 : 2;nc(a); + }return; + }function Uc(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0;e = b + 52 | 0;d = c[e + 4 >> 2] | 0;b = a;c[b >> 2] = c[e >> 2];c[b + 4 >> 2] = d;return; + }function Vc(a, b, d) { + a = a | 0;b = b | 0;d = T(d);var e = 0, + f = 0, + h = 0;h = Sb(d) | 0;e = (h ^ 1) & 1;f = a + 132 + (b << 3) | 0;b = a + 132 + (b << 3) + 4 | 0;if (!(h | T(g[f >> 2]) == d ? (c[b >> 2] | 0) == (e | 0) : 0)) { + g[f >> 2] = d;c[b >> 2] = e;nc(a); + }return; + }function Wc(a, b, d) { + a = a | 0;b = b | 0;d = T(d);var e = 0, + f = 0, + h = 0;h = Sb(d) | 0;e = h ? 0 : 2;f = a + 132 + (b << 3) | 0;b = a + 132 + (b << 3) + 4 | 0;if (!(h | T(g[f >> 2]) == d ? (c[b >> 2] | 0) == (e | 0) : 0)) { + g[f >> 2] = d;c[b >> 2] = e;nc(a); + }return; + }function Xc(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0;e = b + 132 + (d << 3) | 0;b = c[e + 4 >> 2] | 0;d = a;c[d >> 2] = c[e >> 2];c[d + 4 >> 2] = b;return; + }function Yc(a, b, d) { + a = a | 0;b = b | 0;d = T(d);var e = 0, + f = 0, + h = 0;h = Sb(d) | 0;e = (h ^ 1) & 1;f = a + 60 + (b << 3) | 0;b = a + 60 + (b << 3) + 4 | 0;if (!(h | T(g[f >> 2]) == d ? (c[b >> 2] | 0) == (e | 0) : 0)) { + g[f >> 2] = d;c[b >> 2] = e;nc(a); + }return; + }function Zc(a, b, d) { + a = a | 0;b = b | 0;d = T(d);var e = 0, + f = 0, + h = 0;h = Sb(d) | 0;e = h ? 0 : 2;f = a + 60 + (b << 3) | 0;b = a + 60 + (b << 3) + 4 | 0;if (!(h | T(g[f >> 2]) == d ? (c[b >> 2] | 0) == (e | 0) : 0)) { + g[f >> 2] = d;c[b >> 2] = e;nc(a); + }return; + }function _c(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0;e = b + 60 + (d << 3) | 0;b = c[e + 4 >> 2] | 0;d = a;c[d >> 2] = c[e >> 2];c[d + 4 >> 2] = b;return; + }function $c(a, b) { + a = a | 0;b = b | 0;var d = 0;d = a + 60 + (b << 3) + 4 | 0;if ((c[d >> 2] | 0) != 3) { + g[a + 60 + (b << 3) >> 2] = T(t);c[d >> 2] = 3;nc(a); + }return; + }function ad(a, b, d) { + a = a | 0;b = b | 0;d = T(d);var e = 0, + f = 0, + h = 0;h = Sb(d) | 0;e = (h ^ 1) & 1;f = a + 204 + (b << 3) | 0;b = a + 204 + (b << 3) + 4 | 0;if (!(h | T(g[f >> 2]) == d ? (c[b >> 2] | 0) == (e | 0) : 0)) { + g[f >> 2] = d;c[b >> 2] = e;nc(a); + }return; + }function bd(a, b, d) { + a = a | 0;b = b | 0;d = T(d);var e = 0, + f = 0, + h = 0;h = Sb(d) | 0;e = h ? 0 : 2;f = a + 204 + (b << 3) | 0;b = a + 204 + (b << 3) + 4 | 0;if (!(h | T(g[f >> 2]) == d ? (c[b >> 2] | 0) == (e | 0) : 0)) { + g[f >> 2] = d;c[b >> 2] = e;nc(a); + }return; + }function cd(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0;e = b + 204 + (d << 3) | 0;b = c[e + 4 >> 2] | 0;d = a;c[d >> 2] = c[e >> 2];c[d + 4 >> 2] = b;return; + }function dd(a, b, d) { + a = a | 0;b = b | 0;d = T(d);var e = 0, + f = 0, + h = 0;h = Sb(d) | 0;e = (h ^ 1) & 1;f = a + 276 + (b << 3) | 0;b = a + 276 + (b << 3) + 4 | 0;if (!(h | T(g[f >> 2]) == d ? (c[b >> 2] | 0) == (e | 0) : 0)) { + g[f >> 2] = d;c[b >> 2] = e;nc(a); + }return; + }function ed(a, b) { + a = a | 0;b = b | 0;return T(g[a + 276 + (b << 3) >> 2]); + }function fd(a, b) { + a = a | 0;b = T(b);var d = 0, + e = 0, + f = 0, + h = 0;h = Sb(b) | 0;d = (h ^ 1) & 1;e = a + 348 | 0;f = a + 352 | 0;if (!(h | T(g[e >> 2]) == b ? (c[f >> 2] | 0) == (d | 0) : 0)) { + g[e >> 2] = b;c[f >> 2] = d;nc(a); + }return; + }function gd(a, b) { + a = a | 0;b = T(b);var d = 0, + e = 0;e = a + 348 | 0;d = a + 352 | 0;if (!(!(T(g[e >> 2]) != b) ? (c[d >> 2] | 0) == 2 : 0)) { + g[e >> 2] = b;e = Sb(b) | 0;c[d >> 2] = e ? 3 : 2;nc(a); + }return; + }function hd(a) { + a = a | 0;var b = 0;b = a + 352 | 0;if ((c[b >> 2] | 0) != 3) { + g[a + 348 >> 2] = T(t);c[b >> 2] = 3;nc(a); + }return; + }function id(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0;e = b + 348 | 0;d = c[e + 4 >> 2] | 0;b = a;c[b >> 2] = c[e >> 2];c[b + 4 >> 2] = d;return; + }function jd(a, b) { + a = a | 0;b = T(b);var d = 0, + e = 0, + f = 0, + h = 0;h = Sb(b) | 0;d = (h ^ 1) & 1;e = a + 356 | 0;f = a + 360 | 0;if (!(h | T(g[e >> 2]) == b ? (c[f >> 2] | 0) == (d | 0) : 0)) { + g[e >> 2] = b;c[f >> 2] = d;nc(a); + }return; + }function kd(a, b) { + a = a | 0;b = T(b);var d = 0, + e = 0;e = a + 356 | 0;d = a + 360 | 0;if (!(!(T(g[e >> 2]) != b) ? (c[d >> 2] | 0) == 2 : 0)) { + g[e >> 2] = b;e = Sb(b) | 0;c[d >> 2] = e ? 3 : 2;nc(a); + }return; + }function ld(a) { + a = a | 0;var b = 0;b = a + 360 | 0;if ((c[b >> 2] | 0) != 3) { + g[a + 356 >> 2] = T(t);c[b >> 2] = 3;nc(a); + }return; + }function md(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0;e = b + 356 | 0;d = c[e + 4 >> 2] | 0;b = a;c[b >> 2] = c[e >> 2];c[b + 4 >> 2] = d;return; + }function nd(a, b) { + a = a | 0;b = T(b);var d = 0, + e = 0, + f = 0, + h = 0;h = Sb(b) | 0;d = (h ^ 1) & 1;e = a + 364 | 0;f = a + 368 | 0;if (!(h | T(g[e >> 2]) == b ? (c[f >> 2] | 0) == (d | 0) : 0)) { + g[e >> 2] = b;c[f >> 2] = d;nc(a); + }return; + }function od(a, b) { + a = a | 0;b = T(b);var d = 0, + e = 0, + f = 0, + h = 0;h = Sb(b) | 0;d = h ? 0 : 2;e = a + 364 | 0;f = a + 368 | 0;if (!(h | T(g[e >> 2]) == b ? (c[f >> 2] | 0) == (d | 0) : 0)) { + g[e >> 2] = b;c[f >> 2] = d;nc(a); + }return; + }function pd(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0;e = b + 364 | 0;d = c[e + 4 >> 2] | 0;b = a;c[b >> 2] = c[e >> 2];c[b + 4 >> 2] = d;return; + }function qd(a, b) { + a = a | 0;b = T(b);var d = 0, + e = 0, + f = 0, + h = 0;h = Sb(b) | 0;d = (h ^ 1) & 1;e = a + 372 | 0;f = a + 376 | 0;if (!(h | T(g[e >> 2]) == b ? (c[f >> 2] | 0) == (d | 0) : 0)) { + g[e >> 2] = b;c[f >> 2] = d;nc(a); + }return; + }function rd(a, b) { + a = a | 0;b = T(b);var d = 0, + e = 0, + f = 0, + h = 0;h = Sb(b) | 0;d = h ? 0 : 2;e = a + 372 | 0;f = a + 376 | 0;if (!(h | T(g[e >> 2]) == b ? (c[f >> 2] | 0) == (d | 0) : 0)) { + g[e >> 2] = b;c[f >> 2] = d;nc(a); + }return; + }function sd(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0;e = b + 372 | 0;d = c[e + 4 >> 2] | 0;b = a;c[b >> 2] = c[e >> 2];c[b + 4 >> 2] = d;return; + }function td(a, b) { + a = a | 0;b = T(b);var d = 0, + e = 0, + f = 0, + h = 0;h = Sb(b) | 0;d = (h ^ 1) & 1;e = a + 380 | 0;f = a + 384 | 0;if (!(h | T(g[e >> 2]) == b ? (c[f >> 2] | 0) == (d | 0) : 0)) { + g[e >> 2] = b;c[f >> 2] = d;nc(a); + }return; + }function ud(a, b) { + a = a | 0;b = T(b);var d = 0, + e = 0, + f = 0, + h = 0;h = Sb(b) | 0;d = h ? 0 : 2;e = a + 380 | 0;f = a + 384 | 0;if (!(h | T(g[e >> 2]) == b ? (c[f >> 2] | 0) == (d | 0) : 0)) { + g[e >> 2] = b;c[f >> 2] = d;nc(a); + }return; + }function vd(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0;e = b + 380 | 0;d = c[e + 4 >> 2] | 0;b = a;c[b >> 2] = c[e >> 2];c[b + 4 >> 2] = d;return; + }function wd(a, b) { + a = a | 0;b = T(b);var d = 0, + e = 0, + f = 0, + h = 0;h = Sb(b) | 0;d = (h ^ 1) & 1;e = a + 388 | 0;f = a + 392 | 0;if (!(h | T(g[e >> 2]) == b ? (c[f >> 2] | 0) == (d | 0) : 0)) { + g[e >> 2] = b;c[f >> 2] = d;nc(a); + }return; + }function xd(a, b) { + a = a | 0;b = T(b);var d = 0, + e = 0, + f = 0, + h = 0;h = Sb(b) | 0;d = h ? 0 : 2;e = a + 388 | 0;f = a + 392 | 0;if (!(h | T(g[e >> 2]) == b ? (c[f >> 2] | 0) == (d | 0) : 0)) { + g[e >> 2] = b;c[f >> 2] = d;nc(a); + }return; + }function yd(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0;e = b + 388 | 0;d = c[e + 4 >> 2] | 0;b = a;c[b >> 2] = c[e >> 2];c[b + 4 >> 2] = d;return; + }function zd(a, b) { + a = a | 0;b = T(b);var c = 0;c = a + 396 | 0;if (T(g[c >> 2]) != b) { + g[c >> 2] = b;nc(a); + }return; + }function Ad(a) { + a = a | 0;return T(g[a + 396 >> 2]); + }function Bd(a) { + a = a | 0;return T(g[a + 400 >> 2]); + }function Cd(a) { + a = a | 0;return T(g[a + 404 >> 2]); + }function Dd(a) { + a = a | 0;return T(g[a + 408 >> 2]); + }function Ed(a) { + a = a | 0;return T(g[a + 412 >> 2]); + }function Fd(a) { + a = a | 0;return T(g[a + 416 >> 2]); + }function Gd(a) { + a = a | 0;return T(g[a + 420 >> 2]); + }function Hd(a, b) { + a = a | 0;b = b | 0;ec(a, (b | 0) < 6, 2918);switch (b | 0) {case 0: + { + b = (c[a + 496 >> 2] | 0) == 2 ? 5 : 4;break; + }case 2: + { + b = (c[a + 496 >> 2] | 0) == 2 ? 4 : 5;break; + }default: + {}}return T(g[a + 424 + (b << 2) >> 2]); + }function Id(a, b) { + a = a | 0;b = b | 0;ec(a, (b | 0) < 6, 2918);switch (b | 0) {case 0: + { + b = (c[a + 496 >> 2] | 0) == 2 ? 5 : 4;break; + }case 2: + { + b = (c[a + 496 >> 2] | 0) == 2 ? 4 : 5;break; + }default: + {}}return T(g[a + 448 + (b << 2) >> 2]); + }function Jd(a, b) { + a = a | 0;b = b | 0;ec(a, (b | 0) < 6, 2918);switch (b | 0) {case 0: + { + b = (c[a + 496 >> 2] | 0) == 2 ? 5 : 4;break; + }case 2: + { + b = (c[a + 496 >> 2] | 0) == 2 ? 4 : 5;break; + }default: + {}}return T(g[a + 472 + (b << 2) >> 2]); + }function Kd(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = ib;d = c[a + 4 >> 2] | 0;if ((d | 0) == (c[b + 4 >> 2] | 0)) { + if (!d) a = 1;else { + e = T(g[a >> 2]);a = T(C(T(e - T(g[b >> 2])))) < T(.0000999999974); + } + } else a = 0;return a | 0; + }function Ld(a, b) { + a = T(a);b = T(b);var c = 0;if (Sb(a) | 0) c = Sb(b) | 0;else c = T(C(T(a - b))) < T(.0000999999974);return c | 0; + }function Md(a, b) { + a = a | 0;b = b | 0;Nd(a, b);return; + }function Nd(b, d) { + b = b | 0;d = d | 0;var e = 0, + f = 0;e = l;l = l + 16 | 0;f = e + 4 | 0;c[f >> 2] = 0;c[f + 4 >> 2] = 0;c[f + 8 >> 2] = 0;Ka(f | 0, b | 0, d | 0, 0);Vd(b, 3, (a[f + 11 >> 0] | 0) < 0 ? c[f >> 2] | 0 : f, e);tC(f);l = e;return; + }function Od(a, b, c, d) { + a = T(a);b = T(b);c = c | 0;d = d | 0;var e = ib;a = T(a * b);e = T(gC(a, T(1.0)));do if (!(Ld(e, T(0.0)) | 0)) { + a = T(a - e);if (Ld(e, T(1.0)) | 0) { + a = T(a + T(1.0));break; + }if (c) { + a = T(a + T(1.0));break; + }if (!d) { + if (e > T(.5)) e = T(1.0);else { + d = Ld(e, T(.5)) | 0;e = d ? T(1.0) : T(0.0); + }a = T(a + e); + } + } else a = T(a - e); while (0);return T(a / b); + }function Pd(a, b, c, d, e, f, h, i, j, k, l, m, n) { + a = a | 0;b = T(b);c = c | 0;d = T(d);e = e | 0;f = T(f);h = h | 0;i = T(i);j = T(j);k = T(k);l = T(l);m = T(m);n = n | 0;var o = 0, + p = ib, + q = ib, + r = ib, + s = ib, + t = ib, + u = ib;if (j < T(0.0) | k < T(0.0)) n = 0;else { + if ((n | 0) != 0 ? (p = T(g[n + 4 >> 2]), p != T(0.0)) : 0) { + r = T(Od(b, p, 0, 0));s = T(Od(d, p, 0, 0));q = T(Od(f, p, 0, 0));p = T(Od(i, p, 0, 0)); + } else { + q = f;r = b;p = i;s = d; + }if ((e | 0) == (a | 0)) o = Ld(q, r) | 0;else o = 0;if ((h | 0) == (c | 0)) n = Ld(p, s) | 0;else n = 0;if ((!o ? (t = T(b - l), !(Qd(a, t, j) | 0)) : 0) ? !(Rd(a, t, e, j) | 0) : 0) o = Sd(a, t, e, f, j) | 0;else o = 1;if ((!n ? (u = T(d - m), !(Qd(c, u, k) | 0)) : 0) ? !(Rd(c, u, h, k) | 0) : 0) n = Sd(c, u, h, i, k) | 0;else n = 1;n = o & n; + }return n | 0; + }function Qd(a, b, c) { + a = a | 0;b = T(b);c = T(c);if ((a | 0) == 1) a = Ld(b, c) | 0;else a = 0;return a | 0; + }function Rd(a, b, c, d) { + a = a | 0;b = T(b);c = c | 0;d = T(d);if ((a | 0) == 2 & (c | 0) == 0) { + if (!(b >= d)) a = Ld(b, d) | 0;else a = 1; + } else a = 0;return a | 0; + }function Sd(a, b, c, d, e) { + a = a | 0;b = T(b);c = c | 0;d = T(d);e = T(e);if ((a | 0) == 2 & (c | 0) == 2 & d > b) { + if (!(e <= b)) a = Ld(b, e) | 0;else a = 1; + } else a = 0;return a | 0; + }function Td(b, d, e, f, i, j, k, m, n, o, p) { + b = b | 0;d = T(d);e = T(e);f = f | 0;i = i | 0;j = j | 0;k = T(k);m = T(m);n = n | 0;o = o | 0;p = p | 0;var q = 0, + r = 0, + s = 0, + t = 0, + u = ib, + v = ib, + w = 0, + x = 0, + y = 0, + z = 0, + A = 0, + B = 0, + C = 0, + D = 0, + E = 0, + F = 0, + G = 0, + H = ib, + I = ib, + J = ib, + K = 0.0, + L = 0.0;G = l;l = l + 160 | 0;D = G + 152 | 0;C = G + 120 | 0;B = G + 104 | 0;y = G + 72 | 0;t = G + 56 | 0;A = G + 8 | 0;x = G;z = (c[2279] | 0) + 1 | 0;c[2279] = z;E = b + 984 | 0;if ((a[E >> 0] | 0) != 0 ? (c[b + 512 >> 2] | 0) != (c[2278] | 0) : 0) w = 4;else if ((c[b + 516 >> 2] | 0) == (f | 0)) F = 0;else w = 4;if ((w | 0) == 4) { + c[b + 520 >> 2] = 0;c[b + 924 >> 2] = -1;c[b + 928 >> 2] = -1;g[b + 932 >> 2] = T(-1.0);g[b + 936 >> 2] = T(-1.0);F = 1; + }a: do if (!(c[b + 964 >> 2] | 0)) { + if (n) { + q = b + 916 | 0;if (!(Ld(T(g[q >> 2]), d) | 0)) { + w = 21;break; + }if (!(Ld(T(g[b + 920 >> 2]), e) | 0)) { + w = 21;break; + }if ((c[b + 924 >> 2] | 0) != (i | 0)) { + w = 21;break; + }q = (c[b + 928 >> 2] | 0) == (j | 0) ? q : 0;w = 22;break; + }s = c[b + 520 >> 2] | 0;if (!s) w = 21;else { + r = 0;while (1) { + q = b + 524 + (r * 24 | 0) | 0;if (((Ld(T(g[q >> 2]), d) | 0 ? Ld(T(g[b + 524 + (r * 24 | 0) + 4 >> 2]), e) | 0 : 0) ? (c[b + 524 + (r * 24 | 0) + 8 >> 2] | 0) == (i | 0) : 0) ? (c[b + 524 + (r * 24 | 0) + 12 >> 2] | 0) == (j | 0) : 0) { + w = 22;break a; + }r = r + 1 | 0;if (r >>> 0 >= s >>> 0) { + w = 21;break; + } + } + } + } else { + u = T(Ud(b, 2, k));v = T(Ud(b, 0, k));q = b + 916 | 0;J = T(g[q >> 2]);I = T(g[b + 920 >> 2]);H = T(g[b + 932 >> 2]);if (!(Pd(i, d, j, e, c[b + 924 >> 2] | 0, J, c[b + 928 >> 2] | 0, I, H, T(g[b + 936 >> 2]), u, v, p) | 0)) { + s = c[b + 520 >> 2] | 0;if (!s) w = 21;else { + r = 0;while (1) { + q = b + 524 + (r * 24 | 0) | 0;H = T(g[q >> 2]);I = T(g[b + 524 + (r * 24 | 0) + 4 >> 2]);J = T(g[b + 524 + (r * 24 | 0) + 16 >> 2]);if (Pd(i, d, j, e, c[b + 524 + (r * 24 | 0) + 8 >> 2] | 0, H, c[b + 524 + (r * 24 | 0) + 12 >> 2] | 0, I, J, T(g[b + 524 + (r * 24 | 0) + 20 >> 2]), u, v, p) | 0) { + w = 22;break a; + }r = r + 1 | 0;if (r >>> 0 >= s >>> 0) { + w = 21;break; + } + } + } + } else w = 22; + } while (0);do if ((w | 0) == 21) { + if (!(a[11697] | 0)) { + q = 0;w = 31; + } else { + q = 0;w = 28; + } + } else if ((w | 0) == 22) { + r = (a[11697] | 0) != 0;if (!((q | 0) != 0 & (F ^ 1))) if (r) { + w = 28;break; + } else { + w = 31;break; + }t = q + 16 | 0;c[b + 908 >> 2] = c[t >> 2];s = q + 20 | 0;c[b + 912 >> 2] = c[s >> 2];if (!((a[11698] | 0) == 0 | r ^ 1)) { + c[x >> 2] = Wd(z) | 0;c[x + 4 >> 2] = z;Vd(b, 4, 2972, x);r = c[b + 972 >> 2] | 0;if (r | 0) nb[r & 127](b);i = Xd(i, n) | 0;j = Xd(j, n) | 0;L = +T(g[t >> 2]);K = +T(g[s >> 2]);c[A >> 2] = i;c[A + 4 >> 2] = j;h[A + 8 >> 3] = +d;h[A + 16 >> 3] = +e;h[A + 24 >> 3] = L;h[A + 32 >> 3] = K;c[A + 40 >> 2] = o;Vd(b, 4, 2989, A); + } + } while (0);if ((w | 0) == 28) { + r = Wd(z) | 0;c[t >> 2] = r;c[t + 4 >> 2] = z;c[t + 8 >> 2] = F ? 3047 : 11699;Vd(b, 4, 3038, t);r = c[b + 972 >> 2] | 0;if (r | 0) nb[r & 127](b);A = Xd(i, n) | 0;w = Xd(j, n) | 0;c[y >> 2] = A;c[y + 4 >> 2] = w;h[y + 8 >> 3] = +d;h[y + 16 >> 3] = +e;c[y + 24 >> 2] = o;Vd(b, 4, 3049, y);w = 31; + }if ((w | 0) == 31) { + Yd(b, d, e, f, i, j, k, m, n, p);if (a[11697] | 0) { + r = c[2279] | 0;A = Wd(r) | 0;c[B >> 2] = A;c[B + 4 >> 2] = r;c[B + 8 >> 2] = F ? 3047 : 11699;Vd(b, 4, 3083, B);r = c[b + 972 >> 2] | 0;if (r | 0) nb[r & 127](b);A = Xd(i, n) | 0;B = Xd(j, n) | 0;K = +T(g[b + 908 >> 2]);L = +T(g[b + 912 >> 2]);c[C >> 2] = A;c[C + 4 >> 2] = B;h[C + 8 >> 3] = K;h[C + 16 >> 3] = L;c[C + 24 >> 2] = o;Vd(b, 4, 3092, C); + }c[b + 516 >> 2] = f;if (!q) { + r = b + 520 | 0;q = c[r >> 2] | 0;if ((q | 0) == 16) { + if (a[11697] | 0) Vd(b, 4, 3124, D);c[r >> 2] = 0;q = 0; + }if (n) q = b + 916 | 0;else { + c[r >> 2] = q + 1;q = b + 524 + (q * 24 | 0) | 0; + }g[q >> 2] = d;g[q + 4 >> 2] = e;c[q + 8 >> 2] = i;c[q + 12 >> 2] = j;c[q + 16 >> 2] = c[b + 908 >> 2];c[q + 20 >> 2] = c[b + 912 >> 2];q = 0; + } + }if (n) { + c[b + 416 >> 2] = c[b + 908 >> 2];c[b + 420 >> 2] = c[b + 912 >> 2];a[b + 985 >> 0] = 1;a[E >> 0] = 0; + }c[2279] = (c[2279] | 0) + -1;c[b + 512 >> 2] = c[2278];l = G;return F | (q | 0) == 0 | 0; + }function Ud(a, b, c) { + a = a | 0;b = b | 0;c = T(c);var d = ib;d = T(me(a, b, c));return T(d + T(ne(a, b, c))); + }function Vd(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0;g = l;l = l + 16 | 0;f = g;c[f >> 2] = e;if (!a) e = 0;else e = c[a + 976 >> 2] | 0;ge(e, a, b, d, f);l = g;return; + }function Wd(a) { + a = a | 0;return (a >>> 0 > 60 ? 3201 : 3201 + (60 - a) | 0) | 0; + }function Xd(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0;f = l;l = l + 32 | 0;d = f + 12 | 0;e = f;c[d >> 2] = c[254];c[d + 4 >> 2] = c[255];c[d + 8 >> 2] = c[256];c[e >> 2] = c[257];c[e + 4 >> 2] = c[258];c[e + 8 >> 2] = c[259];if ((a | 0) > 2) a = 11699;else a = c[(b ? e : d) + (a << 2) >> 2] | 0;l = f;return a | 0; + }function Yd(b, e, f, h, i, k, m, n, o, p) { + b = b | 0;e = T(e);f = T(f);h = h | 0;i = i | 0;k = k | 0;m = T(m);n = T(n);o = o | 0;p = p | 0;var q = 0, + r = 0, + s = 0, + t = 0, + u = ib, + v = ib, + w = ib, + x = ib, + y = ib, + z = ib, + A = ib, + B = 0, + C = 0, + D = 0, + E = ib, + F = ib, + G = 0, + H = ib, + I = 0, + J = 0, + K = 0, + L = 0, + M = 0, + N = 0, + O = 0, + P = 0, + Q = 0, + R = 0, + S = 0, + U = 0, + V = 0, + W = 0, + X = 0, + Y = 0, + Z = 0, + _ = 0, + $ = ib, + aa = ib, + ba = ib, + ca = ib, + da = ib, + ea = 0, + fa = 0, + ga = 0, + ha = 0, + ia = 0, + ja = ib, + ka = ib, + la = ib, + ma = ib, + na = ib, + oa = ib, + pa = 0, + qa = ib, + ra = ib, + sa = ib, + ta = ib, + ua = ib, + va = ib, + wa = 0, + xa = 0, + ya = ib, + za = ib, + Aa = 0, + Ba = 0, + Ca = 0, + Da = 0, + Ea = ib, + Fa = 0, + Ga = 0, + Ha = 0, + Ia = 0, + Ja = 0, + Ka = 0, + La = 0, + Ma = ib, + Na = 0, + Oa = 0;La = l;l = l + 16 | 0;ea = La + 12 | 0;fa = La + 8 | 0;ga = La + 4 | 0;ha = La;ec(b, (i | 0) == 0 | (Sb(e) | 0) ^ 1, 3326);ec(b, (k | 0) == 0 | (Sb(f) | 0) ^ 1, 3406);Ga = qe(b, h) | 0;c[b + 496 >> 2] = Ga;Ja = re(2, Ga) | 0;Ka = re(0, Ga) | 0;g[b + 440 >> 2] = T(me(b, Ja, m));g[b + 444 >> 2] = T(ne(b, Ja, m));g[b + 428 >> 2] = T(me(b, Ka, m));g[b + 436 >> 2] = T(ne(b, Ka, m));g[b + 464 >> 2] = T(se(b, Ja));g[b + 468 >> 2] = T(te(b, Ja));g[b + 452 >> 2] = T(se(b, Ka));g[b + 460 >> 2] = T(te(b, Ka));g[b + 488 >> 2] = T(ue(b, Ja, m));g[b + 492 >> 2] = T(ve(b, Ja, m));g[b + 476 >> 2] = T(ue(b, Ka, m));g[b + 484 >> 2] = T(ve(b, Ka, m));do if (!(c[b + 964 >> 2] | 0)) { + Ha = b + 948 | 0;Ia = (c[b + 952 >> 2] | 0) - (c[Ha >> 2] | 0) >> 2;if (!Ia) { + xe(b, e, f, i, k, m, n);break; + }if (!o ? ye(b, e, f, i, k, m, n) | 0 : 0) break;lc(b);Y = b + 508 | 0;a[Y >> 0] = 0;Ja = re(c[b + 4 >> 2] | 0, Ga) | 0;Ka = ze(Ja, Ga) | 0;Fa = oe(Ja) | 0;Z = c[b + 8 >> 2] | 0;Ba = b + 28 | 0;_ = (c[Ba >> 2] | 0) != 0;ua = Fa ? m : n;ya = Fa ? n : m;$ = T(Ae(b, Ja, m));aa = T(Be(b, Ja, m));u = T(Ae(b, Ka, m));va = T(Ce(b, Ja, m));za = T(Ce(b, Ka, m));D = Fa ? i : k;Aa = Fa ? k : i;Ea = Fa ? va : za;y = Fa ? za : va;ta = T(Ud(b, 2, m));x = T(Ud(b, 0, m));v = T(T(be(b + 364 | 0, m)) - Ea);w = T(T(be(b + 380 | 0, m)) - Ea);z = T(T(be(b + 372 | 0, n)) - y);A = T(T(be(b + 388 | 0, n)) - y);ba = Fa ? v : z;ca = Fa ? w : A;ta = T(e - ta);e = T(ta - Ea);if (Sb(e) | 0) Ea = e;else Ea = T(cC(T(eC(e, w)), v));ra = T(f - x);e = T(ra - y);if (Sb(e) | 0) sa = e;else sa = T(cC(T(eC(e, A)), z));v = Fa ? Ea : sa;qa = Fa ? sa : Ea;a: do if ((D | 0) == 1) { + h = 0;r = 0;while (1) { + q = ac(b, r) | 0;if (!h) { + if (T(Ee(q)) > T(0.0) ? T(Fe(q)) > T(0.0) : 0) h = q;else h = 0; + } else if (De(q) | 0) { + t = 0;break a; + }r = r + 1 | 0;if (r >>> 0 >= Ia >>> 0) { + t = h;break; + } + } + } else t = 0; while (0);B = t + 500 | 0;C = t + 504 | 0;h = 0;q = 0;e = T(0.0);s = 0;do { + r = c[(c[Ha >> 2] | 0) + (s << 2) >> 2] | 0;if ((c[r + 36 >> 2] | 0) == 1) { + Ge(r);a[r + 985 >> 0] = 1;a[r + 984 >> 0] = 0; + } else { + $d(r);if (o) ce(r, qe(r, Ga) | 0, v, qa, Ea);do if ((c[r + 24 >> 2] | 0) != 1) { + if ((r | 0) == (t | 0)) { + c[B >> 2] = c[2278];g[C >> 2] = T(0.0);break; + } else { + He(b, r, Ea, i, sa, Ea, sa, k, Ga, p);break; + } + } else { + if (q | 0) c[q + 960 >> 2] = r;c[r + 960 >> 2] = 0;q = r;h = (h | 0) == 0 ? r : h; + } while (0);oa = T(g[r + 504 >> 2]);e = T(e + T(oa + T(Ud(r, Ja, Ea)))); + }s = s + 1 | 0; + } while ((s | 0) != (Ia | 0));K = e > v;pa = _ & ((D | 0) == 2 & K) ? 1 : D;I = (Aa | 0) == 1;M = I & (o ^ 1);N = (pa | 0) == 1;O = (pa | 0) == 2;P = 976 + (Ja << 2) | 0;Q = (Aa | 2 | 0) == 2;W = I & (_ ^ 1);R = 1040 + (Ka << 2) | 0;S = 1040 + (Ja << 2) | 0;U = 976 + (Ka << 2) | 0;V = (Aa | 0) != 1;K = _ & ((D | 0) != 0 & K);J = b + 976 | 0;I = I ^ 1;e = v;G = 0;L = 0;oa = T(0.0);da = T(0.0);while (1) { + b: do if (G >>> 0 < Ia >>> 0) { + C = c[Ha >> 2] | 0;s = 0;A = T(0.0);z = T(0.0);w = T(0.0);v = T(0.0);r = 0;q = 0;t = G;while (1) { + B = c[C + (t << 2) >> 2] | 0;if ((c[B + 36 >> 2] | 0) != 1 ? (c[B + 940 >> 2] = L, (c[B + 24 >> 2] | 0) != 1) : 0) { + x = T(Ud(B, Ja, Ea));X = c[P >> 2] | 0;f = T(be(B + 380 + (X << 3) | 0, ua));y = T(g[B + 504 >> 2]);f = T(eC(f, y));f = T(cC(T(be(B + 364 + (X << 3) | 0, ua)), f));if (_ & (s | 0) != 0 & T(x + T(z + f)) > e) { + k = s;x = A;D = t;break b; + }x = T(x + f);f = T(z + x);x = T(A + x);if (De(B) | 0) { + w = T(w + T(Ee(B)));v = T(v - T(y * T(Fe(B)))); + }if (q | 0) c[q + 960 >> 2] = B;c[B + 960 >> 2] = 0;s = s + 1 | 0;q = B;r = (r | 0) == 0 ? B : r; + } else { + x = A;f = z; + }t = t + 1 | 0;if (t >>> 0 < Ia >>> 0) { + A = x;z = f; + } else { + k = s;D = t;break; + } + } + } else { + k = 0;x = T(0.0);w = T(0.0);v = T(0.0);r = 0;D = G; + } while (0);X = w > T(0.0) & w < T(1.0);E = X ? T(1.0) : w;X = v > T(0.0) & v < T(1.0);A = X ? T(1.0) : v;do if (!N) { + if (!(x < ba & ((Sb(ba) | 0) ^ 1))) { + if (!(x > ca & ((Sb(ca) | 0) ^ 1))) { + if (!(a[(c[J >> 2] | 0) + 3 >> 0] | 0)) { + if (!(E == T(0.0)) ? !(T(Ee(b)) == T(0.0)) : 0) { + X = 53;break; + }e = x;X = 53; + } else X = 51; + } else { + e = ca;X = 51; + } + } else { + e = ba;X = 51; + } + } else X = 51; while (0);if ((X | 0) == 51) { + X = 0;if (Sb(e) | 0) X = 53;else { + F = T(e - x);H = e; + } + }if ((X | 0) == 53) { + X = 0;if (x < T(0.0)) { + F = T(-x);H = e; + } else { + F = T(0.0);H = e; + } + }if (!M ? (ia = (r | 0) == 0, !ia) : 0) { + s = c[P >> 2] | 0;t = F < T(0.0);y = T(F / A);B = F > T(0.0);z = T(F / E);w = T(0.0);x = T(0.0);e = T(0.0);q = r;do { + f = T(be(q + 380 + (s << 3) | 0, ua));v = T(be(q + 364 + (s << 3) | 0, ua));v = T(eC(f, T(cC(v, T(g[q + 504 >> 2])))));if (t) { + f = T(v * T(Fe(q)));if (f != T(-0.0) ? (Ma = T(v - T(y * f)), ja = T(Ie(q, Ja, Ma, H, Ea)), Ma != ja) : 0) { + w = T(w - T(ja - v));e = T(e + f); + } + } else if ((B ? (ka = T(Ee(q)), ka != T(0.0)) : 0) ? (Ma = T(v + T(z * ka)), la = T(Ie(q, Ja, Ma, H, Ea)), Ma != la) : 0) { + w = T(w - T(la - v));x = T(x - ka); + }q = c[q + 960 >> 2] | 0; + } while ((q | 0) != 0);e = T(A + e);v = T(F + w);if (!ia) { + y = T(E + x);t = c[P >> 2] | 0;B = v < T(0.0);C = e == T(0.0);z = T(v / e);s = v > T(0.0);y = T(v / y);e = T(0.0);do { + Ma = T(be(r + 380 + (t << 3) | 0, ua));w = T(be(r + 364 + (t << 3) | 0, ua));w = T(eC(Ma, T(cC(w, T(g[r + 504 >> 2])))));if (B) { + Ma = T(w * T(Fe(r)));v = T(-Ma);if (Ma != T(-0.0)) { + Ma = T(z * v);v = T(Ie(r, Ja, T(w + (C ? v : Ma)), H, Ea)); + } else v = w; + } else if (s ? (ma = T(Ee(r)), ma != T(0.0)) : 0) v = T(Ie(r, Ja, T(w + T(y * ma)), H, Ea));else v = w;e = T(e - T(v - w));x = T(Ud(r, Ja, Ea));f = T(Ud(r, Ka, Ea));v = T(v + x);g[fa >> 2] = v;c[ha >> 2] = 1;w = T(g[r + 396 >> 2]);c: do if (Sb(w) | 0) { + q = Sb(qa) | 0;do if (!q) { + if (K | (ae(r, Ka, qa) | 0 | I)) break;if ((Je(b, r) | 0) != 4) break;if ((c[(Ke(r, Ka) | 0) + 4 >> 2] | 0) == 3) break;if ((c[(Le(r, Ka) | 0) + 4 >> 2] | 0) == 3) break;g[ea >> 2] = qa;c[ga >> 2] = 1;break c; + } while (0);if (ae(r, Ka, qa) | 0) { + q = c[r + 992 + (c[U >> 2] << 2) >> 2] | 0;Ma = T(f + T(be(q, qa)));g[ea >> 2] = Ma;q = V & (c[q + 4 >> 2] | 0) == 2;c[ga >> 2] = ((Sb(Ma) | 0 | q) ^ 1) & 1;break; + } else { + g[ea >> 2] = qa;c[ga >> 2] = q ? 0 : 2;break; + } + } else { + Ma = T(v - x);E = T(Ma / w);Ma = T(w * Ma);c[ga >> 2] = 1;g[ea >> 2] = T(f + (Fa ? E : Ma)); + } while (0);Me(r, Ja, H, Ea, ha, fa);Me(r, Ka, qa, Ea, ga, ea);do if (!(ae(r, Ka, qa) | 0) ? (Je(b, r) | 0) == 4 : 0) { + if ((c[(Ke(r, Ka) | 0) + 4 >> 2] | 0) == 3) { + q = 0;break; + }q = (c[(Le(r, Ka) | 0) + 4 >> 2] | 0) != 3; + } else q = 0; while (0);Ma = T(g[fa >> 2]);E = T(g[ea >> 2]);Na = c[ha >> 2] | 0;Oa = c[ga >> 2] | 0;Td(r, Fa ? Ma : E, Fa ? E : Ma, Ga, Fa ? Na : Oa, Fa ? Oa : Na, Ea, sa, o & (q ^ 1), 3488, p) | 0;a[Y >> 0] = a[Y >> 0] | a[r + 508 >> 0];r = c[r + 960 >> 2] | 0; + } while ((r | 0) != 0); + } else e = T(0.0); + } else e = T(0.0);e = T(F + e);Oa = e < T(0.0) & 1;a[Y >> 0] = Oa | d[Y >> 0];if (O & e > T(0.0)) { + q = c[P >> 2] | 0;if ((c[b + 364 + (q << 3) + 4 >> 2] | 0) != 0 ? (na = T(be(b + 364 + (q << 3) | 0, ua)), na >= T(0.0)) : 0) v = T(cC(T(0.0), T(na - T(H - e))));else v = T(0.0); + } else v = e;B = G >>> 0 < D >>> 0;if (B) { + t = c[Ha >> 2] | 0;s = G;q = 0;do { + r = c[t + (s << 2) >> 2] | 0;if (!(c[r + 24 >> 2] | 0)) { + q = ((c[(Ke(r, Ja) | 0) + 4 >> 2] | 0) == 3 & 1) + q | 0;q = q + ((c[(Le(r, Ja) | 0) + 4 >> 2] | 0) == 3 & 1) | 0; + }s = s + 1 | 0; + } while ((s | 0) != (D | 0));if (q) { + x = T(0.0);f = T(0.0); + } else X = 101; + } else X = 101;d: do if ((X | 0) == 101) { + X = 0;switch (Z | 0) {case 1: + { + q = 0;x = T(v * T(.5));f = T(0.0);break d; + }case 2: + { + q = 0;x = v;f = T(0.0);break d; + }case 3: + { + if (k >>> 0 <= 1) { + q = 0;x = T(0.0);f = T(0.0);break d; + }f = T((k + -1 | 0) >>> 0);q = 0;x = T(0.0);f = T(T(cC(v, T(0.0))) / f);break d; + }case 5: + { + f = T(v / T((k + 1 | 0) >>> 0));q = 0;x = f;break d; + }case 4: + { + f = T(v / T(k >>> 0));q = 0;x = T(f * T(.5));break d; + }default: + { + q = 0;x = T(0.0);f = T(0.0);break d; + }} + } while (0);e = T($ + x);if (B) { + w = T(v / T(q | 0));s = c[Ha >> 2] | 0;r = G;v = T(0.0);do { + q = c[s + (r << 2) >> 2] | 0;e: do if ((c[q + 36 >> 2] | 0) != 1) { + switch (c[q + 24 >> 2] | 0) {case 1: + { + if (Ne(q, Ja) | 0) { + if (!o) break e;Ma = T(Oe(q, Ja, H));Ma = T(Ma + T(se(b, Ja)));Ma = T(Ma + T(me(q, Ja, Ea)));g[q + 400 + (c[S >> 2] << 2) >> 2] = Ma;break e; + }break; + }case 0: + { + Oa = (c[(Ke(q, Ja) | 0) + 4 >> 2] | 0) == 3;Ma = T(w + e);e = Oa ? Ma : e;if (o) { + Oa = q + 400 + (c[S >> 2] << 2) | 0;g[Oa >> 2] = T(e + T(g[Oa >> 2])); + }Oa = (c[(Le(q, Ja) | 0) + 4 >> 2] | 0) == 3;Ma = T(w + e);e = Oa ? Ma : e;if (M) { + Ma = T(f + T(Ud(q, Ja, Ea)));v = qa;e = T(e + T(Ma + T(g[q + 504 >> 2])));break e; + } else { + e = T(e + T(f + T(Pe(q, Ja, Ea))));v = T(cC(v, T(Pe(q, Ka, Ea))));break e; + } + }default: + {}}if (o) { + Ma = T(x + T(se(b, Ja)));Oa = q + 400 + (c[S >> 2] << 2) | 0;g[Oa >> 2] = T(Ma + T(g[Oa >> 2])); + } + } while (0);r = r + 1 | 0; + } while ((r | 0) != (D | 0)); + } else v = T(0.0);f = T(aa + e);if (Q) x = T(T(Ie(b, Ka, T(za + v), ya, m)) - za);else x = qa;w = T(T(Ie(b, Ka, T(za + (W ? qa : v)), ya, m)) - za);if (B & o) { + r = G;do { + s = c[(c[Ha >> 2] | 0) + (r << 2) >> 2] | 0;do if ((c[s + 36 >> 2] | 0) != 1) { + if ((c[s + 24 >> 2] | 0) == 1) { + if (Ne(s, Ka) | 0) { + Ma = T(Oe(s, Ka, qa));Ma = T(Ma + T(se(b, Ka)));Ma = T(Ma + T(me(s, Ka, Ea)));q = c[R >> 2] | 0;g[s + 400 + (q << 2) >> 2] = Ma;if (!(Sb(Ma) | 0)) break; + } else q = c[R >> 2] | 0;Ma = T(se(b, Ka));g[s + 400 + (q << 2) >> 2] = T(Ma + T(me(s, Ka, Ea)));break; + }q = Je(b, s) | 0;do if ((q | 0) == 4) { + if ((c[(Ke(s, Ka) | 0) + 4 >> 2] | 0) == 3) { + X = 139;break; + }if ((c[(Le(s, Ka) | 0) + 4 >> 2] | 0) == 3) { + X = 139;break; + }if (ae(s, Ka, qa) | 0) { + e = u;break; + }Na = c[s + 908 + (c[P >> 2] << 2) >> 2] | 0;c[ea >> 2] = Na;e = T(g[s + 396 >> 2]);Oa = Sb(e) | 0;v = (c[j >> 2] = Na, T(g[j >> 2]));if (Oa) e = w;else { + F = T(Ud(s, Ka, Ea));Ma = T(v / e);e = T(e * v);e = T(F + (Fa ? Ma : e)); + }g[fa >> 2] = e;g[ea >> 2] = T(T(Ud(s, Ja, Ea)) + v);c[ga >> 2] = 1;c[ha >> 2] = 1;Me(s, Ja, H, Ea, ga, ea);Me(s, Ka, qa, Ea, ha, fa);e = T(g[ea >> 2]);F = T(g[fa >> 2]);Ma = Fa ? e : F;e = Fa ? F : e;Oa = ((Sb(Ma) | 0) ^ 1) & 1;Td(s, Ma, e, Ga, Oa, ((Sb(e) | 0) ^ 1) & 1, Ea, sa, 1, 3493, p) | 0;e = u; + } else X = 139; while (0);f: do if ((X | 0) == 139) { + X = 0;e = T(x - T(Pe(s, Ka, Ea)));do if ((c[(Ke(s, Ka) | 0) + 4 >> 2] | 0) == 3) { + if ((c[(Le(s, Ka) | 0) + 4 >> 2] | 0) != 3) break;e = T(u + T(cC(T(0.0), T(e * T(.5)))));break f; + } while (0);if ((c[(Le(s, Ka) | 0) + 4 >> 2] | 0) == 3) { + e = u;break; + }if ((c[(Ke(s, Ka) | 0) + 4 >> 2] | 0) == 3) { + e = T(u + T(cC(T(0.0), e)));break; + }switch (q | 0) {case 1: + { + e = u;break f; + }case 2: + { + e = T(u + T(e * T(.5)));break f; + }default: + { + e = T(u + e);break f; + }} + } while (0);Ma = T(oa + e);Oa = s + 400 + (c[R >> 2] << 2) | 0;g[Oa >> 2] = T(Ma + T(g[Oa >> 2])); + } while (0);r = r + 1 | 0; + } while ((r | 0) != (D | 0)); + }oa = T(oa + w);da = T(cC(da, f));k = L + 1 | 0;if (D >>> 0 >= Ia >>> 0) break;else { + e = H;G = D;L = k; + } + }do if (o) { + q = k >>> 0 > 1;if (!q ? !(Qe(b) | 0) : 0) break;if (!(Sb(qa) | 0)) { + e = T(qa - oa);g: do switch (c[b + 12 >> 2] | 0) {case 3: + { + u = T(u + e);z = T(0.0);break; + }case 2: + { + u = T(u + T(e * T(.5)));z = T(0.0);break; + }case 4: + { + if (qa > oa) z = T(e / T(k >>> 0));else z = T(0.0);break; + }case 7: + if (qa > oa) { + u = T(u + T(e / T(k << 1 >>> 0)));z = T(e / T(k >>> 0));z = q ? z : T(0.0);break g; + } else { + u = T(u + T(e * T(.5)));z = T(0.0);break g; + }case 6: + { + z = T(e / T(L >>> 0));z = qa > oa & q ? z : T(0.0);break; + }default: + z = T(0.0);} while (0);if (k | 0) { + B = 1040 + (Ka << 2) | 0;C = 976 + (Ka << 2) | 0;t = 0;r = 0;while (1) { + h: do if (r >>> 0 < Ia >>> 0) { + v = T(0.0);w = T(0.0);e = T(0.0);s = r;while (1) { + q = c[(c[Ha >> 2] | 0) + (s << 2) >> 2] | 0;do if ((c[q + 36 >> 2] | 0) != 1 ? (c[q + 24 >> 2] | 0) == 0 : 0) { + if ((c[q + 940 >> 2] | 0) != (t | 0)) break h;if (Re(q, Ka) | 0) { + Ma = T(g[q + 908 + (c[C >> 2] << 2) >> 2]);e = T(cC(e, T(Ma + T(Ud(q, Ka, Ea))))); + }if ((Je(b, q) | 0) != 5) break;na = T(Se(q));na = T(na + T(me(q, 0, Ea)));Ma = T(g[q + 912 >> 2]);Ma = T(T(Ma + T(Ud(q, 0, Ea))) - na);na = T(cC(w, na));Ma = T(cC(v, Ma));v = Ma;w = na;e = T(cC(e, T(na + Ma))); + } while (0);q = s + 1 | 0;if (q >>> 0 < Ia >>> 0) s = q;else { + s = q;break; + } + } + } else { + w = T(0.0);e = T(0.0);s = r; + } while (0);y = T(z + e);f = u;u = T(u + y);if (r >>> 0 < s >>> 0) { + x = T(f + w);q = r;do { + r = c[(c[Ha >> 2] | 0) + (q << 2) >> 2] | 0;i: do if ((c[r + 36 >> 2] | 0) != 1 ? (c[r + 24 >> 2] | 0) == 0 : 0) switch (Je(b, r) | 0) {case 1: + { + Ma = T(f + T(me(r, Ka, Ea)));g[r + 400 + (c[B >> 2] << 2) >> 2] = Ma;break i; + }case 3: + { + Ma = T(T(u - T(ne(r, Ka, Ea))) - T(g[r + 908 + (c[C >> 2] << 2) >> 2]));g[r + 400 + (c[B >> 2] << 2) >> 2] = Ma;break i; + }case 2: + { + Ma = T(f + T(T(y - T(g[r + 908 + (c[C >> 2] << 2) >> 2])) * T(.5)));g[r + 400 + (c[B >> 2] << 2) >> 2] = Ma;break i; + }case 4: + { + Ma = T(f + T(me(r, Ka, Ea)));g[r + 400 + (c[B >> 2] << 2) >> 2] = Ma;if (ae(r, Ka, qa) | 0) break i;if (Fa) { + v = T(g[r + 908 >> 2]);e = T(v + T(Ud(r, Ja, Ea)));w = y; + } else { + w = T(g[r + 912 >> 2]);w = T(w + T(Ud(r, Ka, Ea)));e = y;v = T(g[r + 908 >> 2]); + }if (Ld(e, v) | 0 ? Ld(w, T(g[r + 912 >> 2])) | 0 : 0) break i;Td(r, e, w, Ga, 1, 1, Ea, sa, 1, 3501, p) | 0;break i; + }case 5: + { + g[r + 404 >> 2] = T(T(x - T(Se(r))) + T(Oe(r, 0, qa)));break i; + }default: + break i;} while (0);q = q + 1 | 0; + } while ((q | 0) != (s | 0)); + }t = t + 1 | 0;if ((t | 0) == (k | 0)) break;else r = s; + } + } + } + } while (0);g[b + 908 >> 2] = T(Ie(b, 2, ta, m, m));g[b + 912 >> 2] = T(Ie(b, 0, ra, n, m));if ((pa | 0) != 0 ? (wa = c[b + 32 >> 2] | 0, xa = (pa | 0) == 2, !(xa & (wa | 0) != 2)) : 0) { + if (xa & (wa | 0) == 2) { + e = T(va + H);e = T(cC(T(eC(e, T(Te(b, Ja, da, ua)))), va));X = 198; + } + } else { + e = T(Ie(b, Ja, da, ua, m));X = 198; + }if ((X | 0) == 198) g[b + 908 + (c[976 + (Ja << 2) >> 2] << 2) >> 2] = e;if ((Aa | 0) != 0 ? (Ca = c[b + 32 >> 2] | 0, Da = (Aa | 0) == 2, !(Da & (Ca | 0) != 2)) : 0) { + if (Da & (Ca | 0) == 2) { + e = T(za + qa);e = T(cC(T(eC(e, T(Te(b, Ka, T(za + oa), ya)))), za));X = 204; + } + } else { + e = T(Ie(b, Ka, T(za + oa), ya, m));X = 204; + }if ((X | 0) == 204) g[b + 908 + (c[976 + (Ka << 2) >> 2] << 2) >> 2] = e;if (o) { + if ((c[Ba >> 2] | 0) == 2) { + r = 976 + (Ka << 2) | 0;s = 1040 + (Ka << 2) | 0;q = 0;do { + t = ac(b, q) | 0;if (!(c[t + 24 >> 2] | 0)) { + Na = c[r >> 2] | 0;Ma = T(g[b + 908 + (Na << 2) >> 2]);Oa = t + 400 + (c[s >> 2] << 2) | 0;Ma = T(Ma - T(g[Oa >> 2]));g[Oa >> 2] = T(Ma - T(g[t + 908 + (Na << 2) >> 2])); + }q = q + 1 | 0; + } while ((q | 0) != (Ia | 0)); + }if (h | 0) { + q = Fa ? pa : i;do { + Ue(b, h, Ea, q, sa, Ga, p);h = c[h + 960 >> 2] | 0; + } while ((h | 0) != 0); + }q = (Ja | 2 | 0) == 3;r = (Ka | 2 | 0) == 3;if (q | r) { + h = 0;do { + s = c[(c[Ha >> 2] | 0) + (h << 2) >> 2] | 0;if ((c[s + 36 >> 2] | 0) != 1) { + if (q) Ve(b, s, Ja);if (r) Ve(b, s, Ka); + }h = h + 1 | 0; + } while ((h | 0) != (Ia | 0)); + } + } + } else we(b, e, f, i, k, m, n); while (0);l = La;return; + }function Zd(a, b) { + a = a | 0;b = T(b);var c = 0;Vb(a, b >= T(0.0), 3147);c = b == T(0.0);g[a + 4 >> 2] = c ? T(0.0) : b;return; + }function _d(b, d, e, f) { + b = b | 0;d = T(d);e = T(e);f = f | 0;var h = ib, + i = ib, + j = 0, + k = 0, + l = 0;c[2278] = (c[2278] | 0) + 1;$d(b);if (!(ae(b, 2, d) | 0)) { + h = T(be(b + 380 | 0, d));if (!(h >= T(0.0))) { + l = ((Sb(d) | 0) ^ 1) & 1;h = d; + } else l = 2; + } else { + h = T(be(c[b + 992 >> 2] | 0, d));l = 1;h = T(h + T(Ud(b, 2, d))); + }if (!(ae(b, 0, e) | 0)) { + i = T(be(b + 388 | 0, e));if (!(i >= T(0.0))) { + k = ((Sb(e) | 0) ^ 1) & 1;i = e; + } else k = 2; + } else { + i = T(be(c[b + 996 >> 2] | 0, e));k = 1;i = T(i + T(Ud(b, 0, d))); + }j = b + 976 | 0;if (Td(b, h, i, f, l, k, d, e, 1, 3189, c[j >> 2] | 0) | 0 ? (ce(b, c[b + 496 >> 2] | 0, d, e, d), de(b, T(g[(c[j >> 2] | 0) + 4 >> 2]), T(0.0), T(0.0)), a[11696] | 0) : 0) Md(b, 7);return; + }function $d(a) { + a = a | 0;var b = 0, + d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;i = l;l = l + 32 | 0;h = i + 24 | 0;g = i + 16 | 0;e = i + 8 | 0;f = i;d = 0;do { + b = a + 380 + (d << 3) | 0;if (!((c[a + 380 + (d << 3) + 4 >> 2] | 0) != 0 ? (j = b, k = c[j + 4 >> 2] | 0, m = e, c[m >> 2] = c[j >> 2], c[m + 4 >> 2] = k, m = a + 364 + (d << 3) | 0, k = c[m + 4 >> 2] | 0, j = f, c[j >> 2] = c[m >> 2], c[j + 4 >> 2] = k, c[g >> 2] = c[e >> 2], c[g + 4 >> 2] = c[e + 4 >> 2], c[h >> 2] = c[f >> 2], c[h + 4 >> 2] = c[f + 4 >> 2], Kd(g, h) | 0) : 0)) b = a + 348 + (d << 3) | 0;c[a + 992 + (d << 2) >> 2] = b;d = d + 1 | 0; + } while ((d | 0) != 2);l = i;return; + }function ae(a, b, d) { + a = a | 0;b = b | 0;d = T(d);var e = 0;a = c[a + 992 + (c[976 + (b << 2) >> 2] << 2) >> 2] | 0;switch (c[a + 4 >> 2] | 0) {case 0:case 3: + { + a = 0;break; + }case 1: + { + if (T(g[a >> 2]) < T(0.0)) a = 0;else e = 5;break; + }case 2: + { + if (T(g[a >> 2]) < T(0.0)) a = 0;else a = (Sb(d) | 0) ^ 1;break; + }default: + e = 5;}if ((e | 0) == 5) a = 1;return a | 0; + }function be(a, b) { + a = a | 0;b = T(b);switch (c[a + 4 >> 2] | 0) {case 2: + { + b = T(T(T(g[a >> 2]) * b) / T(100.0));break; + }case 1: + { + b = T(g[a >> 2]);break; + }default: + b = T(t);}return T(b); + }function ce(a, b, d, e, f) { + a = a | 0;b = b | 0;d = T(d);e = T(e);f = T(f);var h = 0, + i = ib;b = c[a + 944 >> 2] | 0 ? b : 1;h = re(c[a + 4 >> 2] | 0, b) | 0;b = ze(h, b) | 0;d = T($e(a, h, d));e = T($e(a, b, e));i = T(d + T(me(a, h, f)));g[a + 400 + (c[1040 + (h << 2) >> 2] << 2) >> 2] = i;d = T(d + T(ne(a, h, f)));g[a + 400 + (c[1e3 + (h << 2) >> 2] << 2) >> 2] = d;d = T(e + T(me(a, b, f)));g[a + 400 + (c[1040 + (b << 2) >> 2] << 2) >> 2] = d;f = T(e + T(ne(a, b, f)));g[a + 400 + (c[1e3 + (b << 2) >> 2] << 2) >> 2] = f;return; + }function de(a, b, d, e) { + a = a | 0;b = T(b);d = T(d);e = T(e);var f = 0, + h = 0, + i = ib, + j = ib, + k = 0, + l = 0, + m = ib, + n = 0, + o = ib, + p = ib, + q = ib, + r = ib;if (!(b == T(0.0))) { + f = a + 400 | 0;r = T(g[f >> 2]);h = a + 404 | 0;q = T(g[h >> 2]);n = a + 416 | 0;p = T(g[n >> 2]);l = a + 420 | 0;i = T(g[l >> 2]);o = T(r + d);m = T(q + e);e = T(o + p);j = T(m + i);k = (c[a + 988 >> 2] | 0) == 1;g[f >> 2] = T(Od(r, b, 0, k));g[h >> 2] = T(Od(q, b, 0, k));d = T(gC(T(p * b), T(1.0)));if (Ld(d, T(0.0)) | 0) h = 0;else h = (Ld(d, T(1.0)) | 0) ^ 1;d = T(gC(T(i * b), T(1.0)));if (Ld(d, T(0.0)) | 0) f = 0;else f = (Ld(d, T(1.0)) | 0) ^ 1;r = T(Od(e, b, k & h, k & (h ^ 1)));g[n >> 2] = T(r - T(Od(o, b, 0, k)));r = T(Od(j, b, k & f, k & (f ^ 1)));g[l >> 2] = T(r - T(Od(m, b, 0, k)));h = (c[a + 952 >> 2] | 0) - (c[a + 948 >> 2] | 0) >> 2;if (h | 0) { + f = 0;do { + de(ac(a, f) | 0, b, o, m);f = f + 1 | 0; + } while ((f | 0) != (h | 0)); + } + }return; + }function ee(a, b, d, e, f) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;f = f | 0;switch (d | 0) {case 5:case 0: + { + a = CB(c[489] | 0, e, f) | 0;break; + }default: + a = iC(e, f) | 0;}return a | 0; + }function fe(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0;f = l;l = l + 16 | 0;g = f;c[g >> 2] = e;ge(a, 0, b, d, g);l = f;return; + }function ge(a, b, d, e, f) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;f = f | 0;a = a | 0 ? a : 956;Bb[c[a + 8 >> 2] & 1](a, b, d, e, f) | 0;if ((d | 0) == 5) Ta();else return; + }function he(b, c, d) { + b = b | 0;c = c | 0;d = d | 0;a[b + c >> 0] = d & 1;return; + }function ie(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0;c[a >> 2] = 0;c[a + 4 >> 2] = 0;c[a + 8 >> 2] = 0;d = b + 4 | 0;e = (c[d >> 2] | 0) - (c[b >> 2] | 0) >> 2;if (e | 0) { + je(a, e);ke(a, c[b >> 2] | 0, c[d >> 2] | 0, e); + }return; + }function je(a, b) { + a = a | 0;b = b | 0;var d = 0;if ((le(a) | 0) >>> 0 < b >>> 0) jC(a);if (b >>> 0 > 1073741823) Ta();else { + d = qC(b << 2) | 0;c[a + 4 >> 2] = d;c[a >> 2] = d;c[a + 8 >> 2] = d + (b << 2);return; + } + }function ke(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;e = a + 4 | 0;a = d - b | 0;if ((a | 0) > 0) { + BC(c[e >> 2] | 0, b | 0, a | 0) | 0;c[e >> 2] = (c[e >> 2] | 0) + (a >>> 2 << 2); + }return; + }function le(a) { + a = a | 0;return 1073741823; + }function me(a, b, d) { + a = a | 0;b = b | 0;d = T(d);if (oe(b) | 0 ? (c[a + 96 >> 2] | 0) != 0 : 0) a = a + 92 | 0;else a = Tb(a + 60 | 0, c[1040 + (b << 2) >> 2] | 0, 992) | 0;return T(pe(a, d)); + }function ne(a, b, d) { + a = a | 0;b = b | 0;d = T(d);if (oe(b) | 0 ? (c[a + 104 >> 2] | 0) != 0 : 0) a = a + 100 | 0;else a = Tb(a + 60 | 0, c[1e3 + (b << 2) >> 2] | 0, 992) | 0;return T(pe(a, d)); + }function oe(a) { + a = a | 0;return (a | 1 | 0) == 3 | 0; + }function pe(a, b) { + a = a | 0;b = T(b);if ((c[a + 4 >> 2] | 0) == 3) b = T(0.0);else b = T(be(a, b));return T(b); + }function qe(a, b) { + a = a | 0;b = b | 0;a = c[a >> 2] | 0;return ((a | 0) == 0 ? (b | 0) > 1 ? b : 1 : a) | 0; + }function re(a, b) { + a = a | 0;b = b | 0;var c = 0;a: do if ((b | 0) == 2) { + switch (a | 0) {case 2: + { + a = 3;break a; + }case 3: + break;default: + { + c = 4;break a; + }}a = 2; + } else c = 4; while (0);return a | 0; + }function se(a, b) { + a = a | 0;b = b | 0;var d = ib;if (!((oe(b) | 0 ? (c[a + 312 >> 2] | 0) != 0 : 0) ? (d = T(g[a + 308 >> 2]), d >= T(0.0)) : 0)) d = T(cC(T(g[(Tb(a + 276 | 0, c[1040 + (b << 2) >> 2] | 0, 992) | 0) >> 2]), T(0.0)));return T(d); + }function te(a, b) { + a = a | 0;b = b | 0;var d = ib;if (!((oe(b) | 0 ? (c[a + 320 >> 2] | 0) != 0 : 0) ? (d = T(g[a + 316 >> 2]), d >= T(0.0)) : 0)) d = T(cC(T(g[(Tb(a + 276 | 0, c[1e3 + (b << 2) >> 2] | 0, 992) | 0) >> 2]), T(0.0)));return T(d); + }function ue(a, b, d) { + a = a | 0;b = b | 0;d = T(d);var e = ib;if (!((oe(b) | 0 ? (c[a + 240 >> 2] | 0) != 0 : 0) ? (e = T(be(a + 236 | 0, d)), e >= T(0.0)) : 0)) e = T(cC(T(be(Tb(a + 204 | 0, c[1040 + (b << 2) >> 2] | 0, 992) | 0, d)), T(0.0)));return T(e); + }function ve(a, b, d) { + a = a | 0;b = b | 0;d = T(d);var e = ib;if (!((oe(b) | 0 ? (c[a + 248 >> 2] | 0) != 0 : 0) ? (e = T(be(a + 244 | 0, d)), e >= T(0.0)) : 0)) e = T(cC(T(be(Tb(a + 204 | 0, c[1e3 + (b << 2) >> 2] | 0, 992) | 0, d)), T(0.0)));return T(e); + }function we(a, b, d, e, f, h, i) { + a = a | 0;b = T(b);d = T(d);e = e | 0;f = f | 0;h = T(h);i = T(i);var j = ib, + k = ib, + m = ib, + n = ib, + o = ib, + p = ib, + q = 0, + r = 0, + s = 0;s = l;l = l + 16 | 0;q = s;r = a + 964 | 0;ec(a, (c[r >> 2] | 0) != 0, 3519);j = T(Ce(a, 2, b));k = T(Ce(a, 0, b));m = T(Ud(a, 2, b));n = T(Ud(a, 0, b));if (Sb(b) | 0) o = b;else o = T(cC(T(0.0), T(T(b - m) - j)));if (Sb(d) | 0) p = d;else p = T(cC(T(0.0), T(T(d - n) - k)));if ((e | 0) == 1 & (f | 0) == 1) { + g[a + 908 >> 2] = T(Ie(a, 2, T(b - m), h, h));b = T(Ie(a, 0, T(d - n), i, h)); + } else { + Db[c[r >> 2] & 1](q, a, o, e, p, f);o = T(j + T(g[q >> 2]));p = T(b - m);g[a + 908 >> 2] = T(Ie(a, 2, (e | 2 | 0) == 2 ? o : p, h, h));p = T(k + T(g[q + 4 >> 2]));b = T(d - n);b = T(Ie(a, 0, (f | 2 | 0) == 2 ? p : b, i, h)); + }g[a + 912 >> 2] = b;l = s;return; + }function xe(a, b, c, d, e, f, h) { + a = a | 0;b = T(b);c = T(c);d = d | 0;e = e | 0;f = T(f);h = T(h);var i = ib, + j = ib, + k = ib, + l = ib;k = T(Ce(a, 2, f));i = T(Ce(a, 0, f));l = T(Ud(a, 2, f));j = T(Ud(a, 0, f));b = T(b - l);g[a + 908 >> 2] = T(Ie(a, 2, (d | 2 | 0) == 2 ? k : b, f, f));c = T(c - j);g[a + 912 >> 2] = T(Ie(a, 0, (e | 2 | 0) == 2 ? i : c, h, f));return; + }function ye(a, b, c, d, e, f, h) { + a = a | 0;b = T(b);c = T(c);d = d | 0;e = e | 0;f = T(f);h = T(h);var i = 0, + j = ib, + k = ib;i = (d | 0) == 2;if ((!(b <= T(0.0) & i) ? !(c <= T(0.0) & (e | 0) == 2) : 0) ? !((d | 0) == 1 & (e | 0) == 1) : 0) a = 0;else { + j = T(Ud(a, 0, f));k = T(Ud(a, 2, f));i = b < T(0.0) & i | (Sb(b) | 0);b = T(b - k);g[a + 908 >> 2] = T(Ie(a, 2, i ? T(0.0) : b, f, f));b = T(c - j);i = c < T(0.0) & (e | 0) == 2 | (Sb(c) | 0);g[a + 912 >> 2] = T(Ie(a, 0, i ? T(0.0) : b, h, f));a = 1; + }return a | 0; + }function ze(a, b) { + a = a | 0;b = b | 0;if (We(a) | 0) a = re(2, b) | 0;else a = 0;return a | 0; + }function Ae(a, b, c) { + a = a | 0;b = b | 0;c = T(c);c = T(ue(a, b, c));return T(c + T(se(a, b))); + }function Be(a, b, c) { + a = a | 0;b = b | 0;c = T(c);c = T(ve(a, b, c));return T(c + T(te(a, b))); + }function Ce(a, b, c) { + a = a | 0;b = b | 0;c = T(c);var d = ib;d = T(Ae(a, b, c));return T(d + T(Be(a, b, c))); + }function De(a) { + a = a | 0;if (!(c[a + 24 >> 2] | 0)) { + if (T(Ee(a)) != T(0.0)) a = 1;else a = T(Fe(a)) != T(0.0); + } else a = 0;return a | 0; + }function Ee(a) { + a = a | 0;var b = ib;if (c[a + 944 >> 2] | 0) { + b = T(g[a + 44 >> 2]);if (Sb(b) | 0) { + b = T(g[a + 40 >> 2]);a = b > T(0.0) & ((Sb(b) | 0) ^ 1);return T(a ? b : T(0.0)); + } + } else b = T(0.0);return T(b); + }function Fe(b) { + b = b | 0;var d = ib, + e = 0, + f = ib;do if (c[b + 944 >> 2] | 0) { + d = T(g[b + 48 >> 2]);if (Sb(d) | 0) { + e = a[(c[b + 976 >> 2] | 0) + 2 >> 0] | 0;if (e << 24 >> 24 == 0 ? (f = T(g[b + 40 >> 2]), f < T(0.0) & ((Sb(f) | 0) ^ 1)) : 0) { + d = T(-f);break; + }d = e << 24 >> 24 ? T(1.0) : T(0.0); + } + } else d = T(0.0); while (0);return T(d); + }function Ge(b) { + b = b | 0;var d = 0, + e = 0;yC(b + 400 | 0, 0, 540) | 0;a[b + 985 >> 0] = 1;lc(b);e = $b(b) | 0;if (e | 0) { + d = b + 948 | 0;b = 0;do { + Ge(c[(c[d >> 2] | 0) + (b << 2) >> 2] | 0);b = b + 1 | 0; + } while ((b | 0) != (e | 0)); + }return; + }function He(a, b, d, e, f, h, i, j, k, m) { + a = a | 0;b = b | 0;d = T(d);e = e | 0;f = T(f);h = T(h);i = T(i);j = j | 0;k = k | 0;m = m | 0;var n = 0, + o = ib, + p = 0, + q = 0, + r = ib, + s = ib, + u = 0, + v = ib, + w = 0, + x = ib, + y = 0, + z = 0, + A = 0, + B = 0, + C = 0, + D = 0, + E = 0, + F = 0, + G = 0, + H = 0;G = l;l = l + 16 | 0;A = G + 12 | 0;B = G + 8 | 0;C = G + 4 | 0;D = G;F = re(c[a + 4 >> 2] | 0, k) | 0;y = oe(F) | 0;o = T(be(Xe(b) | 0, y ? h : i));z = ae(b, 2, h) | 0;E = ae(b, 0, i) | 0;do if (!(Sb(o) | 0) ? !(Sb(y ? d : f) | 0) : 0) { + n = b + 504 | 0;if (!(Sb(T(g[n >> 2])) | 0)) { + if (!(Ye(c[b + 976 >> 2] | 0, 0) | 0)) break;if ((c[b + 500 >> 2] | 0) == (c[2278] | 0)) break; + }g[n >> 2] = T(cC(o, T(Ce(b, F, h)))); + } else p = 7; while (0);do if ((p | 0) == 7) { + w = y ^ 1;if (!(w | z ^ 1)) { + i = T(be(c[b + 992 >> 2] | 0, h));g[b + 504 >> 2] = T(cC(i, T(Ce(b, 2, h))));break; + }if (!(y | E ^ 1)) { + i = T(be(c[b + 996 >> 2] | 0, i));g[b + 504 >> 2] = T(cC(i, T(Ce(b, 0, h))));break; + }g[A >> 2] = T(t);g[B >> 2] = T(t);c[C >> 2] = 0;c[D >> 2] = 0;v = T(Ud(b, 2, h));x = T(Ud(b, 0, h));if (z) { + r = T(v + T(be(c[b + 992 >> 2] | 0, h)));g[A >> 2] = r;c[C >> 2] = 1;q = 1; + } else { + q = 0;r = T(t); + }if (E) { + o = T(x + T(be(c[b + 996 >> 2] | 0, i)));g[B >> 2] = o;c[D >> 2] = 1;n = 1; + } else { + n = 0;o = T(t); + }p = c[a + 32 >> 2] | 0;if (!(y & (p | 0) == 2)) { + if (Sb(r) | 0 ? !(Sb(d) | 0) : 0) { + g[A >> 2] = d;c[C >> 2] = 2;q = 2;r = d; + } + } else p = 2;if ((!((p | 0) == 2 & w) ? Sb(o) | 0 : 0) ? !(Sb(f) | 0) : 0) { + g[B >> 2] = f;c[D >> 2] = 2;n = 2;o = f; + }s = T(g[b + 396 >> 2]);u = Sb(s) | 0;do if (!u) { + if ((q | 0) == 1 & w) { + g[B >> 2] = T(T(r - v) / s);c[D >> 2] = 1;n = 1;p = 1;break; + }if (y & (n | 0) == 1) { + g[A >> 2] = T(s * T(o - x));c[C >> 2] = 1;n = 1;p = 1; + } else p = q; + } else p = q; while (0);H = Sb(d) | 0;q = (Je(a, b) | 0) != 4;if (!(y | z | ((e | 0) != 1 | H) | (q | (p | 0) == 1)) ? (g[A >> 2] = d, c[C >> 2] = 1, !u) : 0) { + g[B >> 2] = T(T(d - v) / s);c[D >> 2] = 1;n = 1; + }if (!(E | w | ((j | 0) != 1 | (Sb(f) | 0)) | (q | (n | 0) == 1)) ? (g[B >> 2] = f, c[D >> 2] = 1, !u) : 0) { + g[A >> 2] = T(s * T(f - x));c[C >> 2] = 1; + }Me(b, 2, h, h, C, A);Me(b, 0, i, h, D, B);d = T(g[A >> 2]);f = T(g[B >> 2]);Td(b, d, f, k, c[C >> 2] | 0, c[D >> 2] | 0, h, i, 0, 3565, m) | 0;i = T(g[b + 908 + (c[976 + (F << 2) >> 2] << 2) >> 2]);g[b + 504 >> 2] = T(cC(i, T(Ce(b, F, h)))); + } while (0);c[b + 500 >> 2] = c[2278];l = G;return; + }function Ie(a, b, c, d, e) { + a = a | 0;b = b | 0;c = T(c);d = T(d);e = T(e);d = T(Te(a, b, c, d));return T(cC(d, T(Ce(a, b, e)))); + }function Je(a, b) { + a = a | 0;b = b | 0;b = b + 20 | 0;b = c[((c[b >> 2] | 0) == 0 ? a + 16 | 0 : b) >> 2] | 0;if ((b | 0) == 5 ? We(c[a + 4 >> 2] | 0) | 0 : 0) b = 1;return b | 0; + }function Ke(a, b) { + a = a | 0;b = b | 0;if (oe(b) | 0 ? (c[a + 96 >> 2] | 0) != 0 : 0) b = 4;else b = c[1040 + (b << 2) >> 2] | 0;return a + 60 + (b << 3) | 0; + }function Le(a, b) { + a = a | 0;b = b | 0;if (oe(b) | 0 ? (c[a + 104 >> 2] | 0) != 0 : 0) b = 5;else b = c[1e3 + (b << 2) >> 2] | 0;return a + 60 + (b << 3) | 0; + }function Me(a, b, d, e, f, h) { + a = a | 0;b = b | 0;d = T(d);e = T(e);f = f | 0;h = h | 0;d = T(be(a + 380 + (c[976 + (b << 2) >> 2] << 3) | 0, d));d = T(d + T(Ud(a, b, e)));switch (c[f >> 2] | 0) {case 2:case 1: + { + f = Sb(d) | 0;e = T(g[h >> 2]);g[h >> 2] = f | e < d ? e : d;break; + }case 0: + { + if (!(Sb(d) | 0)) { + c[f >> 2] = 2;g[h >> 2] = d; + }break; + }default: + {}}return; + }function Ne(a, b) { + a = a | 0;b = b | 0;a = a + 132 | 0;if (oe(b) | 0 ? (c[(Tb(a, 4, 948) | 0) + 4 >> 2] | 0) != 0 : 0) a = 1;else a = (c[(Tb(a, c[1040 + (b << 2) >> 2] | 0, 948) | 0) + 4 >> 2] | 0) != 0;return a | 0; + }function Oe(a, b, d) { + a = a | 0;b = b | 0;d = T(d);var e = 0, + f = 0;a = a + 132 | 0;if (oe(b) | 0 ? (e = Tb(a, 4, 948) | 0, (c[e + 4 >> 2] | 0) != 0) : 0) f = 4;else { + e = Tb(a, c[1040 + (b << 2) >> 2] | 0, 948) | 0;if (!(c[e + 4 >> 2] | 0)) d = T(0.0);else f = 4; + }if ((f | 0) == 4) d = T(be(e, d));return T(d); + }function Pe(a, b, d) { + a = a | 0;b = b | 0;d = T(d);var e = ib;e = T(g[a + 908 + (c[976 + (b << 2) >> 2] << 2) >> 2]);e = T(e + T(me(a, b, d)));return T(e + T(ne(a, b, d))); + }function Qe(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;a: do if (!(We(c[a + 4 >> 2] | 0) | 0)) { + if ((c[a + 16 >> 2] | 0) != 5) { + d = $b(a) | 0;if (!d) b = 0;else { + b = 0;while (1) { + e = ac(a, b) | 0;if ((c[e + 24 >> 2] | 0) == 0 ? (c[e + 20 >> 2] | 0) == 5 : 0) { + b = 1;break a; + }b = b + 1 | 0;if (b >>> 0 >= d >>> 0) { + b = 0;break; + } + } + } + } else b = 1; + } else b = 0; while (0);return b | 0; + }function Re(a, b) { + a = a | 0;b = b | 0;var d = ib;d = T(g[a + 908 + (c[976 + (b << 2) >> 2] << 2) >> 2]);return d >= T(0.0) & ((Sb(d) | 0) ^ 1) | 0; + }function Se(a) { + a = a | 0;var b = ib, + d = 0, + e = 0, + f = 0, + h = 0, + i = 0, + j = 0, + k = ib;d = c[a + 968 >> 2] | 0;if (!d) { + h = $b(a) | 0;do if (h | 0) { + d = 0;f = 0;while (1) { + e = ac(a, f) | 0;if (c[e + 940 >> 2] | 0) { + i = 8;break; + }if ((c[e + 24 >> 2] | 0) != 1) { + j = (Je(a, e) | 0) == 5;if (j) { + d = e;break; + } else d = (d | 0) == 0 ? e : d; + }f = f + 1 | 0;if (f >>> 0 >= h >>> 0) { + i = 8;break; + } + }if ((i | 0) == 8) if (!d) break;b = T(Se(d));return T(b + T(g[d + 404 >> 2])); + } while (0);b = T(g[a + 912 >> 2]); + } else { + k = T(g[a + 908 >> 2]);b = T(g[a + 912 >> 2]);b = T(mb[d & 0](a, k, b));ec(a, (Sb(b) | 0) ^ 1, 3573); + }return T(b); + }function Te(a, b, c, d) { + a = a | 0;b = b | 0;c = T(c);d = T(d);var e = ib, + f = 0;if (!(We(b) | 0)) { + if (oe(b) | 0) { + b = 0;f = 3; + } else { + d = T(t);e = T(t); + } + } else { + b = 1;f = 3; + }if ((f | 0) == 3) { + e = T(be(a + 364 + (b << 3) | 0, d));d = T(be(a + 380 + (b << 3) | 0, d)); + }f = d < c & (d >= T(0.0) & ((Sb(d) | 0) ^ 1));c = f ? d : c;f = e >= T(0.0) & ((Sb(e) | 0) ^ 1) & c < e;return T(f ? e : c); + }function Ue(a, b, d, e, f, h, i) { + a = a | 0;b = b | 0;d = T(d);e = e | 0;f = T(f);h = h | 0;i = i | 0;var j = ib, + k = ib, + l = 0, + m = 0, + n = ib, + o = ib, + p = ib, + q = 0, + r = 0, + s = 0, + u = 0, + v = ib, + w = 0;s = re(c[a + 4 >> 2] | 0, h) | 0;q = ze(s, h) | 0;r = oe(s) | 0;n = T(Ud(b, 2, d));o = T(Ud(b, 0, d));if (!(ae(b, 2, d) | 0)) { + if (Ne(b, 2) | 0 ? Ze(b, 2) | 0 : 0) { + j = T(g[a + 908 >> 2]);k = T(se(a, 2));k = T(j - T(k + T(te(a, 2))));j = T(Oe(b, 2, d));j = T(Ie(b, 2, T(k - T(j + T(_e(b, 2, d)))), d, d)); + } else j = T(t); + } else j = T(n + T(be(c[b + 992 >> 2] | 0, d)));if (!(ae(b, 0, f) | 0)) { + if (Ne(b, 0) | 0 ? Ze(b, 0) | 0 : 0) { + k = T(g[a + 912 >> 2]);v = T(se(a, 0));v = T(k - T(v + T(te(a, 0))));k = T(Oe(b, 0, f));k = T(Ie(b, 0, T(v - T(k + T(_e(b, 0, f)))), f, d)); + } else k = T(t); + } else k = T(o + T(be(c[b + 996 >> 2] | 0, f)));l = Sb(j) | 0;m = Sb(k) | 0;do if (l ^ m ? (p = T(g[b + 396 >> 2]), !(Sb(p) | 0)) : 0) if (l) { + j = T(n + T(T(k - o) * p));break; + } else { + v = T(o + T(T(j - n) / p));k = m ? v : k;break; + } while (0);m = Sb(j) | 0;l = Sb(k) | 0;if (m | l) { + w = (m ^ 1) & 1;e = d > T(0.0) & ((e | 0) != 0 & m);j = r ? j : e ? d : j;Td(b, j, k, h, r ? w : e ? 2 : w, m & (l ^ 1) & 1, j, k, 0, 3623, i) | 0;j = T(g[b + 908 >> 2]);j = T(j + T(Ud(b, 2, d)));k = T(g[b + 912 >> 2]);k = T(k + T(Ud(b, 0, d))); + }Td(b, j, k, h, 1, 1, j, k, 1, 3635, i) | 0;if (Ze(b, s) | 0 ? !(Ne(b, s) | 0) : 0) { + w = c[976 + (s << 2) >> 2] | 0;v = T(g[a + 908 + (w << 2) >> 2]);v = T(v - T(g[b + 908 + (w << 2) >> 2]));v = T(v - T(te(a, s)));v = T(v - T(ne(b, s, d)));v = T(v - T(_e(b, s, r ? d : f)));g[b + 400 + (c[1040 + (s << 2) >> 2] << 2) >> 2] = v; + } else u = 21;do if ((u | 0) == 21) { + if (!(Ne(b, s) | 0) ? (c[a + 8 >> 2] | 0) == 1 : 0) { + w = c[976 + (s << 2) >> 2] | 0;v = T(g[a + 908 + (w << 2) >> 2]);v = T(T(v - T(g[b + 908 + (w << 2) >> 2])) * T(.5));g[b + 400 + (c[1040 + (s << 2) >> 2] << 2) >> 2] = v;break; + }if (!(Ne(b, s) | 0) ? (c[a + 8 >> 2] | 0) == 2 : 0) { + w = c[976 + (s << 2) >> 2] | 0;v = T(g[a + 908 + (w << 2) >> 2]);v = T(v - T(g[b + 908 + (w << 2) >> 2]));g[b + 400 + (c[1040 + (s << 2) >> 2] << 2) >> 2] = v; + } + } while (0);if (Ze(b, q) | 0 ? !(Ne(b, q) | 0) : 0) { + w = c[976 + (q << 2) >> 2] | 0;v = T(g[a + 908 + (w << 2) >> 2]);v = T(v - T(g[b + 908 + (w << 2) >> 2]));v = T(v - T(te(a, q)));v = T(v - T(ne(b, q, d)));v = T(v - T(_e(b, q, r ? f : d)));g[b + 400 + (c[1040 + (q << 2) >> 2] << 2) >> 2] = v; + } else u = 30;do if ((u | 0) == 30 ? !(Ne(b, q) | 0) : 0) { + if ((Je(a, b) | 0) == 2) { + w = c[976 + (q << 2) >> 2] | 0;v = T(g[a + 908 + (w << 2) >> 2]);v = T(T(v - T(g[b + 908 + (w << 2) >> 2])) * T(.5));g[b + 400 + (c[1040 + (q << 2) >> 2] << 2) >> 2] = v;break; + }w = (Je(a, b) | 0) == 3;if (w ^ (c[a + 28 >> 2] | 0) == 2) { + w = c[976 + (q << 2) >> 2] | 0;v = T(g[a + 908 + (w << 2) >> 2]);v = T(v - T(g[b + 908 + (w << 2) >> 2]));g[b + 400 + (c[1040 + (q << 2) >> 2] << 2) >> 2] = v; + } + } while (0);return; + }function Ve(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = ib, + f = 0;f = c[976 + (d << 2) >> 2] | 0;e = T(g[b + 908 + (f << 2) >> 2]);e = T(T(g[a + 908 + (f << 2) >> 2]) - e);e = T(e - T(g[b + 400 + (c[1040 + (d << 2) >> 2] << 2) >> 2]));g[b + 400 + (c[1e3 + (d << 2) >> 2] << 2) >> 2] = e;return; + }function We(a) { + a = a | 0;return (a | 1 | 0) == 1 | 0; + }function Xe(b) { + b = b | 0;var d = ib;switch (c[b + 56 >> 2] | 0) {case 0:case 3: + { + d = T(g[b + 40 >> 2]);if (d > T(0.0) & ((Sb(d) | 0) ^ 1)) b = a[(c[b + 976 >> 2] | 0) + 2 >> 0] | 0 ? 1056 : 992;else b = 1056;break; + }default: + b = b + 52 | 0;}return b | 0; + }function Ye(b, c) { + b = b | 0;c = c | 0;return (a[b + c >> 0] | 0) != 0 | 0; + }function Ze(a, b) { + a = a | 0;b = b | 0;a = a + 132 | 0;if (oe(b) | 0 ? (c[(Tb(a, 5, 948) | 0) + 4 >> 2] | 0) != 0 : 0) a = 1;else a = (c[(Tb(a, c[1e3 + (b << 2) >> 2] | 0, 948) | 0) + 4 >> 2] | 0) != 0;return a | 0; + }function _e(a, b, d) { + a = a | 0;b = b | 0;d = T(d);var e = 0, + f = 0;a = a + 132 | 0;if (oe(b) | 0 ? (e = Tb(a, 5, 948) | 0, (c[e + 4 >> 2] | 0) != 0) : 0) f = 4;else { + e = Tb(a, c[1e3 + (b << 2) >> 2] | 0, 948) | 0;if (!(c[e + 4 >> 2] | 0)) d = T(0.0);else f = 4; + }if ((f | 0) == 4) d = T(be(e, d));return T(d); + }function $e(a, b, c) { + a = a | 0;b = b | 0;c = T(c);if (Ne(a, b) | 0) c = T(Oe(a, b, c));else c = T(-T(_e(a, b, c)));return T(c); + }function af(a) { + a = T(a);return (g[j >> 2] = a, c[j >> 2] | 0) | 0; + }function bf(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 1073741823) Ta();else { + f = qC(b << 2) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d << 2) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b << 2);return; + }function cf(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (0 - (f >> 2) << 2) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function df(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~((e + -4 - b | 0) >>> 2) << 2);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function ef(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0;h = a + 4 | 0;i = c[h >> 2] | 0;f = i - e | 0;g = f >> 2;a = b + (g << 2) | 0;if (a >>> 0 < d >>> 0) { + e = i;do { + c[e >> 2] = c[a >> 2];a = a + 4 | 0;e = (c[h >> 2] | 0) + 4 | 0;c[h >> 2] = e; + } while (a >>> 0 < d >>> 0); + }if (g | 0) GC(i + (0 - g << 2) | 0, b | 0, f | 0) | 0;return; + }function ff(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0;i = b + 4 | 0;j = c[i >> 2] | 0;f = c[a >> 2] | 0;h = d;g = h - f | 0;e = j + (0 - (g >> 2) << 2) | 0;c[i >> 2] = e;if ((g | 0) > 0) BC(e | 0, f | 0, g | 0) | 0;f = a + 4 | 0;g = b + 8 | 0;e = (c[f >> 2] | 0) - h | 0;if ((e | 0) > 0) { + BC(c[g >> 2] | 0, d | 0, e | 0) | 0;c[g >> 2] = (c[g >> 2] | 0) + (e >>> 2 << 2); + }h = c[a >> 2] | 0;c[a >> 2] = c[i >> 2];c[i >> 2] = h;h = c[f >> 2] | 0;c[f >> 2] = c[g >> 2];c[g >> 2] = h;h = a + 8 | 0;d = b + 12 | 0;a = c[h >> 2] | 0;c[h >> 2] = c[d >> 2];c[d >> 2] = a;c[b >> 2] = c[i >> 2];return j | 0; + }function gf(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;h = c[b >> 2] | 0;g = c[d >> 2] | 0;if ((h | 0) != (g | 0)) { + f = a + 8 | 0;d = ((g + -4 - h | 0) >>> 2) + 1 | 0;a = h;e = c[f >> 2] | 0;do { + c[e >> 2] = c[a >> 2];e = (c[f >> 2] | 0) + 4 | 0;c[f >> 2] = e;a = a + 4 | 0; + } while ((a | 0) != (g | 0));c[b >> 2] = h + (d << 2); + }return; + }function hf() { + Qb();return; + }function jf() { + var a = 0;a = qC(4) | 0;kf(a);return a | 0; + }function kf(a) { + a = a | 0;c[a >> 2] = gc() | 0;return; + }function lf(a) { + a = a | 0;if (a | 0) { + mf(a);sC(a); + }return; + }function mf(a) { + a = a | 0;ic(c[a >> 2] | 0);return; + }function nf(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;he(c[a >> 2] | 0, b, d);return; + }function of(a, b) { + a = a | 0;b = T(b);Zd(c[a >> 2] | 0, b);return; + }function pf(a, b) { + a = a | 0;b = b | 0;return Ye(c[a >> 2] | 0, b) | 0; + }function qf() { + var a = 0;a = qC(8) | 0;rf(a, 0);return a | 0; + }function rf(a, b) { + a = a | 0;b = b | 0;if (!b) b = Wb() | 0;else b = Ub(c[b >> 2] | 0) | 0;c[a >> 2] = b;c[a + 4 >> 2] = 0;vc(b, a);return; + }function sf(a) { + a = a | 0;var b = 0;b = qC(8) | 0;rf(b, a);return b | 0; + }function tf(a) { + a = a | 0;if (a | 0) { + uf(a);sC(a); + }return; + }function uf(a) { + a = a | 0;var b = 0;Zb(c[a >> 2] | 0);b = a + 4 | 0;a = c[b >> 2] | 0;c[b >> 2] = 0;if (a | 0) { + vf(a);sC(a); + }return; + }function vf(a) { + a = a | 0;wf(a);return; + }function wf(a) { + a = a | 0;a = c[a >> 2] | 0;if (a | 0) ab(a | 0);return; + }function xf(a) { + a = a | 0;return wc(a) | 0; + }function yf(a) { + a = a | 0;var b = 0, + d = 0;d = a + 4 | 0;b = c[d >> 2] | 0;c[d >> 2] = 0;if (b | 0) { + vf(b);sC(b); + }dc(c[a >> 2] | 0);return; + }function zf(a, b) { + a = a | 0;b = b | 0;sc(c[a >> 2] | 0, c[b >> 2] | 0);return; + }function Af(a, b) { + a = a | 0;b = b | 0;Hc(c[a >> 2] | 0, b);return; + }function Bf(a, b, d) { + a = a | 0;b = b | 0;d = +d;Vc(c[a >> 2] | 0, b, T(d));return; + }function Cf(a, b, d) { + a = a | 0;b = b | 0;d = +d;Wc(c[a >> 2] | 0, b, T(d));return; + }function Df(a, b) { + a = a | 0;b = b | 0;Bc(c[a >> 2] | 0, b);return; + }function Ef(a, b) { + a = a | 0;b = b | 0;Dc(c[a >> 2] | 0, b);return; + }function Ff(a, b) { + a = a | 0;b = b | 0;Fc(c[a >> 2] | 0, b);return; + }function Gf(a, b) { + a = a | 0;b = b | 0;xc(c[a >> 2] | 0, b);return; + }function Hf(a, b) { + a = a | 0;b = b | 0;Jc(c[a >> 2] | 0, b);return; + }function If(a, b) { + a = a | 0;b = b | 0;zc(c[a >> 2] | 0, b);return; + }function Jf(a, b, d) { + a = a | 0;b = b | 0;d = +d;Yc(c[a >> 2] | 0, b, T(d));return; + }function Kf(a, b, d) { + a = a | 0;b = b | 0;d = +d;Zc(c[a >> 2] | 0, b, T(d));return; + }function Lf(a, b) { + a = a | 0;b = b | 0;$c(c[a >> 2] | 0, b);return; + }function Mf(a, b) { + a = a | 0;b = b | 0;Lc(c[a >> 2] | 0, b);return; + }function Nf(a, b) { + a = a | 0;b = b | 0;Nc(c[a >> 2] | 0, b);return; + }function Of(a, b) { + a = a | 0;b = +b;Pc(c[a >> 2] | 0, T(b));return; + }function Pf(a, b) { + a = a | 0;b = +b;Sc(c[a >> 2] | 0, T(b));return; + }function Qf(a, b) { + a = a | 0;b = +b;Tc(c[a >> 2] | 0, T(b));return; + }function Rf(a, b) { + a = a | 0;b = +b;Qc(c[a >> 2] | 0, T(b));return; + }function Sf(a, b) { + a = a | 0;b = +b;Rc(c[a >> 2] | 0, T(b));return; + }function Tf(a, b) { + a = a | 0;b = +b;fd(c[a >> 2] | 0, T(b));return; + }function Uf(a, b) { + a = a | 0;b = +b;gd(c[a >> 2] | 0, T(b));return; + }function Vf(a) { + a = a | 0;hd(c[a >> 2] | 0);return; + }function Wf(a, b) { + a = a | 0;b = +b;jd(c[a >> 2] | 0, T(b));return; + }function Xf(a, b) { + a = a | 0;b = +b;kd(c[a >> 2] | 0, T(b));return; + }function Yf(a) { + a = a | 0;ld(c[a >> 2] | 0);return; + }function Zf(a, b) { + a = a | 0;b = +b;nd(c[a >> 2] | 0, T(b));return; + }function _f(a, b) { + a = a | 0;b = +b;od(c[a >> 2] | 0, T(b));return; + }function $f(a, b) { + a = a | 0;b = +b;qd(c[a >> 2] | 0, T(b));return; + }function ag(a, b) { + a = a | 0;b = +b;rd(c[a >> 2] | 0, T(b));return; + }function bg(a, b) { + a = a | 0;b = +b;td(c[a >> 2] | 0, T(b));return; + }function cg(a, b) { + a = a | 0;b = +b;ud(c[a >> 2] | 0, T(b));return; + }function dg(a, b) { + a = a | 0;b = +b;wd(c[a >> 2] | 0, T(b));return; + }function eg(a, b) { + a = a | 0;b = +b;xd(c[a >> 2] | 0, T(b));return; + }function fg(a, b) { + a = a | 0;b = +b;zd(c[a >> 2] | 0, T(b));return; + }function gg(a, b, d) { + a = a | 0;b = b | 0;d = +d;dd(c[a >> 2] | 0, b, T(d));return; + }function hg(a, b, d) { + a = a | 0;b = b | 0;d = +d;ad(c[a >> 2] | 0, b, T(d));return; + }function ig(a, b, d) { + a = a | 0;b = b | 0;d = +d;bd(c[a >> 2] | 0, b, T(d));return; + }function jg(a) { + a = a | 0;return Ic(c[a >> 2] | 0) | 0; + }function kg(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0;e = l;l = l + 16 | 0;f = e;Xc(f, c[b >> 2] | 0, d);lg(a, f);l = e;return; + }function lg(a, b) { + a = a | 0;b = b | 0;mg(a, c[b + 4 >> 2] | 0, +T(g[b >> 2]));return; + }function mg(a, b, d) { + a = a | 0;b = b | 0;d = +d;c[a >> 2] = b;h[a + 8 >> 3] = d;return; + }function ng(a) { + a = a | 0;return Cc(c[a >> 2] | 0) | 0; + }function og(a) { + a = a | 0;return Ec(c[a >> 2] | 0) | 0; + }function pg(a) { + a = a | 0;return Gc(c[a >> 2] | 0) | 0; + }function qg(a) { + a = a | 0;return yc(c[a >> 2] | 0) | 0; + }function rg(a) { + a = a | 0;return Kc(c[a >> 2] | 0) | 0; + }function sg(a) { + a = a | 0;return Ac(c[a >> 2] | 0) | 0; + }function tg(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0;e = l;l = l + 16 | 0;f = e;_c(f, c[b >> 2] | 0, d);lg(a, f);l = e;return; + }function ug(a) { + a = a | 0;return Mc(c[a >> 2] | 0) | 0; + }function vg(a) { + a = a | 0;return Oc(c[a >> 2] | 0) | 0; + }function wg(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0;d = l;l = l + 16 | 0;e = d;Uc(e, c[b >> 2] | 0);lg(a, e);l = d;return; + }function xg(a) { + a = a | 0;return + +T(tc(c[a >> 2] | 0)); + }function yg(a) { + a = a | 0;return + +T(uc(c[a >> 2] | 0)); + }function zg(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0;d = l;l = l + 16 | 0;e = d;id(e, c[b >> 2] | 0);lg(a, e);l = d;return; + }function Ag(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0;d = l;l = l + 16 | 0;e = d;md(e, c[b >> 2] | 0);lg(a, e);l = d;return; + }function Bg(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0;d = l;l = l + 16 | 0;e = d;pd(e, c[b >> 2] | 0);lg(a, e);l = d;return; + }function Cg(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0;d = l;l = l + 16 | 0;e = d;sd(e, c[b >> 2] | 0);lg(a, e);l = d;return; + }function Dg(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0;d = l;l = l + 16 | 0;e = d;vd(e, c[b >> 2] | 0);lg(a, e);l = d;return; + }function Eg(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0;d = l;l = l + 16 | 0;e = d;yd(e, c[b >> 2] | 0);lg(a, e);l = d;return; + }function Fg(a) { + a = a | 0;return + +T(Ad(c[a >> 2] | 0)); + }function Gg(a, b) { + a = a | 0;b = b | 0;return + +T(ed(c[a >> 2] | 0, b)); + }function Hg(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0;e = l;l = l + 16 | 0;f = e;cd(f, c[b >> 2] | 0, d);lg(a, f);l = e;return; + }function Ig(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;kc(c[a >> 2] | 0, c[b >> 2] | 0, d);return; + }function Jg(a, b) { + a = a | 0;b = b | 0;cc(c[a >> 2] | 0, c[b >> 2] | 0);return; + }function Kg(a) { + a = a | 0;return $b(c[a >> 2] | 0) | 0; + }function Lg(a) { + a = a | 0;a = pc(c[a >> 2] | 0) | 0;if (!a) a = 0;else a = xf(a) | 0;return a | 0; + }function Mg(a, b) { + a = a | 0;b = b | 0;a = ac(c[a >> 2] | 0, b) | 0;if (!a) a = 0;else a = xf(a) | 0;return a | 0; + }function Ng(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0;e = qC(4) | 0;Og(e, b);d = a + 4 | 0;b = c[d >> 2] | 0;c[d >> 2] = e;if (b | 0) { + vf(b);sC(b); + }jc(c[a >> 2] | 0, 1);return; + }function Og(a, b) { + a = a | 0;b = b | 0;gh(a, b);return; + }function Pg(a, b, c, d, e, f) { + a = a | 0;b = b | 0;c = T(c);d = d | 0;e = T(e);f = f | 0;var i = 0, + j = 0;i = l;l = l + 16 | 0;j = i;Qg(j, wc(b) | 0, +c, d, +e, f);g[a >> 2] = T(+h[j >> 3]);g[a + 4 >> 2] = T(+h[j + 8 >> 3]);l = i;return; + }function Qg(a, b, d, e, f, g) { + a = a | 0;b = b | 0;d = +d;e = e | 0;f = +f;g = g | 0;var i = 0, + j = 0, + k = 0, + m = 0, + n = 0;i = l;l = l + 32 | 0;n = i + 8 | 0;m = i + 20 | 0;k = i;j = i + 16 | 0;h[n >> 3] = d;c[m >> 2] = e;h[k >> 3] = f;c[j >> 2] = g;Rg(a, c[b + 4 >> 2] | 0, n, m, k, j);l = i;return; + }function Rg(a, b, d, e, f, g) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;f = f | 0;g = g | 0;var i = 0, + j = 0;i = l;l = l + 16 | 0;j = i;UA(j);b = Sg(b) | 0;Tg(a, b, +h[d >> 3], c[e >> 2] | 0, +h[f >> 3], c[g >> 2] | 0);WA(j);l = i;return; + }function Sg(a) { + a = a | 0;return c[a >> 2] | 0; + }function Tg(a, b, c, d, e, f) { + a = a | 0;b = b | 0;c = +c;d = d | 0;e = +e;f = f | 0;var g = 0;g = Vg(Ug() | 0) | 0;c = +Wg(c);d = Xg(d) | 0;e = +Wg(e);Yg(a, cb(0, g | 0, b | 0, +c, d | 0, +e, Xg(f) | 0) | 0);return; + }function Ug() { + var b = 0;if (!(a[7608] | 0)) { + dh(9120);b = 7608;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }return 9120; + }function Vg(a) { + a = a | 0;return c[a + 8 >> 2] | 0; + }function Wg(a) { + a = +a;return + +ch(a); + }function Xg(a) { + a = a | 0;return bh(a) | 0; + }function Yg(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0;f = l;l = l + 32 | 0;d = f;e = b;if (!(e & 1)) { + c[a >> 2] = c[b >> 2];c[a + 4 >> 2] = c[b + 4 >> 2];c[a + 8 >> 2] = c[b + 8 >> 2];c[a + 12 >> 2] = c[b + 12 >> 2]; + } else { + Zg(d, 0);Ja(e | 0, d | 0) | 0;_g(a, d);$g(d); + }l = f;return; + }function Zg(b, d) { + b = b | 0;d = d | 0;ah(b, d);c[b + 8 >> 2] = 0;a[b + 24 >> 0] = 0;return; + }function _g(a, b) { + a = a | 0;b = b | 0;b = b + 8 | 0;c[a >> 2] = c[b >> 2];c[a + 4 >> 2] = c[b + 4 >> 2];c[a + 8 >> 2] = c[b + 8 >> 2];c[a + 12 >> 2] = c[b + 12 >> 2];return; + }function $g(b) { + b = b | 0;a[b + 24 >> 0] = 0;return; + }function ah(a, b) { + a = a | 0;b = b | 0;c[a >> 2] = b;return; + }function bh(a) { + a = a | 0;return a | 0; + }function ch(a) { + a = +a;return +a; + }function dh(a) { + a = a | 0;fh(a, eh() | 0, 4);return; + }function eh() { + return 1064; + }function fh(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;c[a >> 2] = b;c[a + 4 >> 2] = d;c[a + 8 >> 2] = _a(b | 0, d + 1 | 0) | 0;return; + }function gh(a, b) { + a = a | 0;b = b | 0;b = c[b >> 2] | 0;c[a >> 2] = b;Aa(b | 0);return; + }function hh(a) { + a = a | 0;var b = 0, + d = 0;d = a + 4 | 0;b = c[d >> 2] | 0;c[d >> 2] = 0;if (b | 0) { + vf(b);sC(b); + }jc(c[a >> 2] | 0, 0);return; + }function ih(a) { + a = a | 0;qc(c[a >> 2] | 0);return; + }function jh(a) { + a = a | 0;return rc(c[a >> 2] | 0) | 0; + }function kh(a, b, d, e) { + a = a | 0;b = +b;d = +d;e = e | 0;_d(c[a >> 2] | 0, T(b), T(d), e);return; + }function lh(a) { + a = a | 0;return + +T(Bd(c[a >> 2] | 0)); + }function mh(a) { + a = a | 0;return + +T(Dd(c[a >> 2] | 0)); + }function nh(a) { + a = a | 0;return + +T(Cd(c[a >> 2] | 0)); + }function oh(a) { + a = a | 0;return + +T(Ed(c[a >> 2] | 0)); + }function ph(a) { + a = a | 0;return + +T(Fd(c[a >> 2] | 0)); + }function qh(a) { + a = a | 0;return + +T(Gd(c[a >> 2] | 0)); + }function rh(a, b) { + a = a | 0;b = b | 0;h[a >> 3] = +T(Bd(c[b >> 2] | 0));h[a + 8 >> 3] = +T(Dd(c[b >> 2] | 0));h[a + 16 >> 3] = +T(Cd(c[b >> 2] | 0));h[a + 24 >> 3] = +T(Ed(c[b >> 2] | 0));h[a + 32 >> 3] = +T(Fd(c[b >> 2] | 0));h[a + 40 >> 3] = +T(Gd(c[b >> 2] | 0));return; + }function sh(a, b) { + a = a | 0;b = b | 0;return + +T(Hd(c[a >> 2] | 0, b)); + }function th(a, b) { + a = a | 0;b = b | 0;return + +T(Id(c[a >> 2] | 0, b)); + }function uh(a, b) { + a = a | 0;b = b | 0;return + +T(Jd(c[a >> 2] | 0, b)); + }function vh() { + return fc() | 0; + }function wh() { + xh();yh();zh();Ah();Bh();Ch();return; + }function xh() { + kv(11713, 4938, 1);return; + }function yh() { + yu(10448);return; + }function zh() { + eu(10408);return; + }function Ah() { + vt(10324);return; + }function Bh() { + or(10096);return; + }function Ch() { + Dh(9132);return; + }function Dh(a) { + a = a | 0;var b = 0, + d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0, + p = 0, + q = 0, + r = 0, + s = 0, + t = 0, + u = 0, + v = 0, + w = 0, + x = 0, + y = 0, + z = 0, + A = 0, + B = 0, + C = 0, + D = 0, + E = 0, + F = 0, + G = 0, + H = 0, + I = 0, + J = 0, + K = 0, + L = 0, + M = 0, + N = 0, + O = 0, + P = 0, + Q = 0, + R = 0, + S = 0, + T = 0, + U = 0, + V = 0, + W = 0, + X = 0, + Y = 0, + Z = 0, + _ = 0, + $ = 0, + aa = 0, + ba = 0, + ca = 0, + da = 0, + ea = 0, + fa = 0, + ga = 0, + ha = 0, + ia = 0, + ja = 0, + ka = 0, + la = 0, + ma = 0, + na = 0, + oa = 0, + pa = 0, + qa = 0, + ra = 0, + sa = 0, + ta = 0, + ua = 0, + va = 0, + wa = 0, + xa = 0, + ya = 0, + za = 0, + Aa = 0, + Ba = 0, + Ca = 0, + Da = 0, + Ea = 0, + Fa = 0, + Ga = 0;b = l;l = l + 672 | 0;d = b + 656 | 0;Ga = b + 648 | 0;Fa = b + 640 | 0;Ea = b + 632 | 0;Da = b + 624 | 0;Ca = b + 616 | 0;Ba = b + 608 | 0;Aa = b + 600 | 0;za = b + 592 | 0;ya = b + 584 | 0;xa = b + 576 | 0;wa = b + 568 | 0;va = b + 560 | 0;ua = b + 552 | 0;ta = b + 544 | 0;sa = b + 536 | 0;ra = b + 528 | 0;qa = b + 520 | 0;pa = b + 512 | 0;oa = b + 504 | 0;na = b + 496 | 0;ma = b + 488 | 0;la = b + 480 | 0;ka = b + 472 | 0;ja = b + 464 | 0;ia = b + 456 | 0;ha = b + 448 | 0;ga = b + 440 | 0;fa = b + 432 | 0;ea = b + 424 | 0;da = b + 416 | 0;ca = b + 408 | 0;ba = b + 400 | 0;aa = b + 392 | 0;$ = b + 384 | 0;_ = b + 376 | 0;Z = b + 368 | 0;Y = b + 360 | 0;X = b + 352 | 0;W = b + 344 | 0;V = b + 336 | 0;U = b + 328 | 0;T = b + 320 | 0;S = b + 312 | 0;R = b + 304 | 0;Q = b + 296 | 0;P = b + 288 | 0;O = b + 280 | 0;N = b + 272 | 0;M = b + 264 | 0;L = b + 256 | 0;K = b + 248 | 0;J = b + 240 | 0;I = b + 232 | 0;H = b + 224 | 0;G = b + 216 | 0;F = b + 208 | 0;E = b + 200 | 0;D = b + 192 | 0;C = b + 184 | 0;B = b + 176 | 0;A = b + 168 | 0;z = b + 160 | 0;y = b + 152 | 0;x = b + 144 | 0;w = b + 136 | 0;v = b + 128 | 0;u = b + 120 | 0;t = b + 112 | 0;s = b + 104 | 0;r = b + 96 | 0;q = b + 88 | 0;p = b + 80 | 0;o = b + 72 | 0;n = b + 64 | 0;m = b + 56 | 0;k = b + 48 | 0;j = b + 40 | 0;i = b + 32 | 0;h = b + 24 | 0;g = b + 16 | 0;f = b + 8 | 0;e = b;Eh(a, 3646);Fh(a, 3651, 2) | 0;Gh(a, 3665, 2) | 0;Hh(a, 3682, 18) | 0;c[Ga >> 2] = 19;c[Ga + 4 >> 2] = 0;c[d >> 2] = c[Ga >> 2];c[d + 4 >> 2] = c[Ga + 4 >> 2];Ih(a, 3690, d) | 0;c[Fa >> 2] = 1;c[Fa + 4 >> 2] = 0;c[d >> 2] = c[Fa >> 2];c[d + 4 >> 2] = c[Fa + 4 >> 2];Jh(a, 3696, d) | 0;c[Ea >> 2] = 2;c[Ea + 4 >> 2] = 0;c[d >> 2] = c[Ea >> 2];c[d + 4 >> 2] = c[Ea + 4 >> 2];Kh(a, 3706, d) | 0;c[Da >> 2] = 1;c[Da + 4 >> 2] = 0;c[d >> 2] = c[Da >> 2];c[d + 4 >> 2] = c[Da + 4 >> 2];Lh(a, 3722, d) | 0;c[Ca >> 2] = 2;c[Ca + 4 >> 2] = 0;c[d >> 2] = c[Ca >> 2];c[d + 4 >> 2] = c[Ca + 4 >> 2];Lh(a, 3734, d) | 0;c[Ba >> 2] = 3;c[Ba + 4 >> 2] = 0;c[d >> 2] = c[Ba >> 2];c[d + 4 >> 2] = c[Ba + 4 >> 2];Kh(a, 3753, d) | 0;c[Aa >> 2] = 4;c[Aa + 4 >> 2] = 0;c[d >> 2] = c[Aa >> 2];c[d + 4 >> 2] = c[Aa + 4 >> 2];Kh(a, 3769, d) | 0;c[za >> 2] = 5;c[za + 4 >> 2] = 0;c[d >> 2] = c[za >> 2];c[d + 4 >> 2] = c[za + 4 >> 2];Kh(a, 3783, d) | 0;c[ya >> 2] = 6;c[ya + 4 >> 2] = 0;c[d >> 2] = c[ya >> 2];c[d + 4 >> 2] = c[ya + 4 >> 2];Kh(a, 3796, d) | 0;c[xa >> 2] = 7;c[xa + 4 >> 2] = 0;c[d >> 2] = c[xa >> 2];c[d + 4 >> 2] = c[xa + 4 >> 2];Kh(a, 3813, d) | 0;c[wa >> 2] = 8;c[wa + 4 >> 2] = 0;c[d >> 2] = c[wa >> 2];c[d + 4 >> 2] = c[wa + 4 >> 2];Kh(a, 3825, d) | 0;c[va >> 2] = 3;c[va + 4 >> 2] = 0;c[d >> 2] = c[va >> 2];c[d + 4 >> 2] = c[va + 4 >> 2];Lh(a, 3843, d) | 0;c[ua >> 2] = 4;c[ua + 4 >> 2] = 0;c[d >> 2] = c[ua >> 2];c[d + 4 >> 2] = c[ua + 4 >> 2];Lh(a, 3853, d) | 0;c[ta >> 2] = 9;c[ta + 4 >> 2] = 0;c[d >> 2] = c[ta >> 2];c[d + 4 >> 2] = c[ta + 4 >> 2];Kh(a, 3870, d) | 0;c[sa >> 2] = 10;c[sa + 4 >> 2] = 0;c[d >> 2] = c[sa >> 2];c[d + 4 >> 2] = c[sa + 4 >> 2];Kh(a, 3884, d) | 0;c[ra >> 2] = 11;c[ra + 4 >> 2] = 0;c[d >> 2] = c[ra >> 2];c[d + 4 >> 2] = c[ra + 4 >> 2];Kh(a, 3896, d) | 0;c[qa >> 2] = 1;c[qa + 4 >> 2] = 0;c[d >> 2] = c[qa >> 2];c[d + 4 >> 2] = c[qa + 4 >> 2];Mh(a, 3907, d) | 0;c[pa >> 2] = 2;c[pa + 4 >> 2] = 0;c[d >> 2] = c[pa >> 2];c[d + 4 >> 2] = c[pa + 4 >> 2];Mh(a, 3915, d) | 0;c[oa >> 2] = 3;c[oa + 4 >> 2] = 0;c[d >> 2] = c[oa >> 2];c[d + 4 >> 2] = c[oa + 4 >> 2];Mh(a, 3928, d) | 0;c[na >> 2] = 4;c[na + 4 >> 2] = 0;c[d >> 2] = c[na >> 2];c[d + 4 >> 2] = c[na + 4 >> 2];Mh(a, 3948, d) | 0;c[ma >> 2] = 5;c[ma + 4 >> 2] = 0;c[d >> 2] = c[ma >> 2];c[d + 4 >> 2] = c[ma + 4 >> 2];Mh(a, 3960, d) | 0;c[la >> 2] = 6;c[la + 4 >> 2] = 0;c[d >> 2] = c[la >> 2];c[d + 4 >> 2] = c[la + 4 >> 2];Mh(a, 3974, d) | 0;c[ka >> 2] = 7;c[ka + 4 >> 2] = 0;c[d >> 2] = c[ka >> 2];c[d + 4 >> 2] = c[ka + 4 >> 2];Mh(a, 3983, d) | 0;c[ja >> 2] = 20;c[ja + 4 >> 2] = 0;c[d >> 2] = c[ja >> 2];c[d + 4 >> 2] = c[ja + 4 >> 2];Ih(a, 3999, d) | 0;c[ia >> 2] = 8;c[ia + 4 >> 2] = 0;c[d >> 2] = c[ia >> 2];c[d + 4 >> 2] = c[ia + 4 >> 2];Mh(a, 4012, d) | 0;c[ha >> 2] = 9;c[ha + 4 >> 2] = 0;c[d >> 2] = c[ha >> 2];c[d + 4 >> 2] = c[ha + 4 >> 2];Mh(a, 4022, d) | 0;c[ga >> 2] = 21;c[ga + 4 >> 2] = 0;c[d >> 2] = c[ga >> 2];c[d + 4 >> 2] = c[ga + 4 >> 2];Ih(a, 4039, d) | 0;c[fa >> 2] = 10;c[fa + 4 >> 2] = 0;c[d >> 2] = c[fa >> 2];c[d + 4 >> 2] = c[fa + 4 >> 2];Mh(a, 4053, d) | 0;c[ea >> 2] = 11;c[ea + 4 >> 2] = 0;c[d >> 2] = c[ea >> 2];c[d + 4 >> 2] = c[ea + 4 >> 2];Mh(a, 4065, d) | 0;c[da >> 2] = 12;c[da + 4 >> 2] = 0;c[d >> 2] = c[da >> 2];c[d + 4 >> 2] = c[da + 4 >> 2];Mh(a, 4084, d) | 0;c[ca >> 2] = 13;c[ca + 4 >> 2] = 0;c[d >> 2] = c[ca >> 2];c[d + 4 >> 2] = c[ca + 4 >> 2];Mh(a, 4097, d) | 0;c[ba >> 2] = 14;c[ba + 4 >> 2] = 0;c[d >> 2] = c[ba >> 2];c[d + 4 >> 2] = c[ba + 4 >> 2];Mh(a, 4117, d) | 0;c[aa >> 2] = 15;c[aa + 4 >> 2] = 0;c[d >> 2] = c[aa >> 2];c[d + 4 >> 2] = c[aa + 4 >> 2];Mh(a, 4129, d) | 0;c[$ >> 2] = 16;c[$ + 4 >> 2] = 0;c[d >> 2] = c[$ >> 2];c[d + 4 >> 2] = c[$ + 4 >> 2];Mh(a, 4148, d) | 0;c[_ >> 2] = 17;c[_ + 4 >> 2] = 0;c[d >> 2] = c[_ >> 2];c[d + 4 >> 2] = c[_ + 4 >> 2];Mh(a, 4161, d) | 0;c[Z >> 2] = 18;c[Z + 4 >> 2] = 0;c[d >> 2] = c[Z >> 2];c[d + 4 >> 2] = c[Z + 4 >> 2];Mh(a, 4181, d) | 0;c[Y >> 2] = 5;c[Y + 4 >> 2] = 0;c[d >> 2] = c[Y >> 2];c[d + 4 >> 2] = c[Y + 4 >> 2];Lh(a, 4196, d) | 0;c[X >> 2] = 6;c[X + 4 >> 2] = 0;c[d >> 2] = c[X >> 2];c[d + 4 >> 2] = c[X + 4 >> 2];Lh(a, 4206, d) | 0;c[W >> 2] = 7;c[W + 4 >> 2] = 0;c[d >> 2] = c[W >> 2];c[d + 4 >> 2] = c[W + 4 >> 2];Lh(a, 4217, d) | 0;c[V >> 2] = 3;c[V + 4 >> 2] = 0;c[d >> 2] = c[V >> 2];c[d + 4 >> 2] = c[V + 4 >> 2];Nh(a, 4235, d) | 0;c[U >> 2] = 1;c[U + 4 >> 2] = 0;c[d >> 2] = c[U >> 2];c[d + 4 >> 2] = c[U + 4 >> 2];Oh(a, 4251, d) | 0;c[T >> 2] = 4;c[T + 4 >> 2] = 0;c[d >> 2] = c[T >> 2];c[d + 4 >> 2] = c[T + 4 >> 2];Nh(a, 4263, d) | 0;c[S >> 2] = 5;c[S + 4 >> 2] = 0;c[d >> 2] = c[S >> 2];c[d + 4 >> 2] = c[S + 4 >> 2];Nh(a, 4279, d) | 0;c[R >> 2] = 6;c[R + 4 >> 2] = 0;c[d >> 2] = c[R >> 2];c[d + 4 >> 2] = c[R + 4 >> 2];Nh(a, 4293, d) | 0;c[Q >> 2] = 7;c[Q + 4 >> 2] = 0;c[d >> 2] = c[Q >> 2];c[d + 4 >> 2] = c[Q + 4 >> 2];Nh(a, 4306, d) | 0;c[P >> 2] = 8;c[P + 4 >> 2] = 0;c[d >> 2] = c[P >> 2];c[d + 4 >> 2] = c[P + 4 >> 2];Nh(a, 4323, d) | 0;c[O >> 2] = 9;c[O + 4 >> 2] = 0;c[d >> 2] = c[O >> 2];c[d + 4 >> 2] = c[O + 4 >> 2];Nh(a, 4335, d) | 0;c[N >> 2] = 2;c[N + 4 >> 2] = 0;c[d >> 2] = c[N >> 2];c[d + 4 >> 2] = c[N + 4 >> 2];Oh(a, 4353, d) | 0;c[M >> 2] = 12;c[M + 4 >> 2] = 0;c[d >> 2] = c[M >> 2];c[d + 4 >> 2] = c[M + 4 >> 2];Ph(a, 4363, d) | 0;c[L >> 2] = 1;c[L + 4 >> 2] = 0;c[d >> 2] = c[L >> 2];c[d + 4 >> 2] = c[L + 4 >> 2];Qh(a, 4376, d) | 0;c[K >> 2] = 2;c[K + 4 >> 2] = 0;c[d >> 2] = c[K >> 2];c[d + 4 >> 2] = c[K + 4 >> 2];Qh(a, 4388, d) | 0;c[J >> 2] = 13;c[J + 4 >> 2] = 0;c[d >> 2] = c[J >> 2];c[d + 4 >> 2] = c[J + 4 >> 2];Ph(a, 4402, d) | 0;c[I >> 2] = 14;c[I + 4 >> 2] = 0;c[d >> 2] = c[I >> 2];c[d + 4 >> 2] = c[I + 4 >> 2];Ph(a, 4411, d) | 0;c[H >> 2] = 15;c[H + 4 >> 2] = 0;c[d >> 2] = c[H >> 2];c[d + 4 >> 2] = c[H + 4 >> 2];Ph(a, 4421, d) | 0;c[G >> 2] = 16;c[G + 4 >> 2] = 0;c[d >> 2] = c[G >> 2];c[d + 4 >> 2] = c[G + 4 >> 2];Ph(a, 4433, d) | 0;c[F >> 2] = 17;c[F + 4 >> 2] = 0;c[d >> 2] = c[F >> 2];c[d + 4 >> 2] = c[F + 4 >> 2];Ph(a, 4446, d) | 0;c[E >> 2] = 18;c[E + 4 >> 2] = 0;c[d >> 2] = c[E >> 2];c[d + 4 >> 2] = c[E + 4 >> 2];Ph(a, 4458, d) | 0;c[D >> 2] = 3;c[D + 4 >> 2] = 0;c[d >> 2] = c[D >> 2];c[d + 4 >> 2] = c[D + 4 >> 2];Qh(a, 4471, d) | 0;c[C >> 2] = 1;c[C + 4 >> 2] = 0;c[d >> 2] = c[C >> 2];c[d + 4 >> 2] = c[C + 4 >> 2];Rh(a, 4486, d) | 0;c[B >> 2] = 10;c[B + 4 >> 2] = 0;c[d >> 2] = c[B >> 2];c[d + 4 >> 2] = c[B + 4 >> 2];Nh(a, 4496, d) | 0;c[A >> 2] = 11;c[A + 4 >> 2] = 0;c[d >> 2] = c[A >> 2];c[d + 4 >> 2] = c[A + 4 >> 2];Nh(a, 4508, d) | 0;c[z >> 2] = 3;c[z + 4 >> 2] = 0;c[d >> 2] = c[z >> 2];c[d + 4 >> 2] = c[z + 4 >> 2];Oh(a, 4519, d) | 0;c[y >> 2] = 4;c[y + 4 >> 2] = 0;c[d >> 2] = c[y >> 2];c[d + 4 >> 2] = c[y + 4 >> 2];Sh(a, 4530, d) | 0;c[x >> 2] = 19;c[x + 4 >> 2] = 0;c[d >> 2] = c[x >> 2];c[d + 4 >> 2] = c[x + 4 >> 2];Th(a, 4542, d) | 0;c[w >> 2] = 12;c[w + 4 >> 2] = 0;c[d >> 2] = c[w >> 2];c[d + 4 >> 2] = c[w + 4 >> 2];Uh(a, 4554, d) | 0;c[v >> 2] = 13;c[v + 4 >> 2] = 0;c[d >> 2] = c[v >> 2];c[d + 4 >> 2] = c[v + 4 >> 2];Vh(a, 4568, d) | 0;c[u >> 2] = 2;c[u + 4 >> 2] = 0;c[d >> 2] = c[u >> 2];c[d + 4 >> 2] = c[u + 4 >> 2];Wh(a, 4578, d) | 0;c[t >> 2] = 20;c[t + 4 >> 2] = 0;c[d >> 2] = c[t >> 2];c[d + 4 >> 2] = c[t + 4 >> 2];Xh(a, 4587, d) | 0;c[s >> 2] = 22;c[s + 4 >> 2] = 0;c[d >> 2] = c[s >> 2];c[d + 4 >> 2] = c[s + 4 >> 2];Ih(a, 4602, d) | 0;c[r >> 2] = 23;c[r + 4 >> 2] = 0;c[d >> 2] = c[r >> 2];c[d + 4 >> 2] = c[r + 4 >> 2];Ih(a, 4619, d) | 0;c[q >> 2] = 14;c[q + 4 >> 2] = 0;c[d >> 2] = c[q >> 2];c[d + 4 >> 2] = c[q + 4 >> 2];Yh(a, 4629, d) | 0;c[p >> 2] = 1;c[p + 4 >> 2] = 0;c[d >> 2] = c[p >> 2];c[d + 4 >> 2] = c[p + 4 >> 2];Zh(a, 4637, d) | 0;c[o >> 2] = 4;c[o + 4 >> 2] = 0;c[d >> 2] = c[o >> 2];c[d + 4 >> 2] = c[o + 4 >> 2];Qh(a, 4653, d) | 0;c[n >> 2] = 5;c[n + 4 >> 2] = 0;c[d >> 2] = c[n >> 2];c[d + 4 >> 2] = c[n + 4 >> 2];Qh(a, 4669, d) | 0;c[m >> 2] = 6;c[m + 4 >> 2] = 0;c[d >> 2] = c[m >> 2];c[d + 4 >> 2] = c[m + 4 >> 2];Qh(a, 4686, d) | 0;c[k >> 2] = 7;c[k + 4 >> 2] = 0;c[d >> 2] = c[k >> 2];c[d + 4 >> 2] = c[k + 4 >> 2];Qh(a, 4701, d) | 0;c[j >> 2] = 8;c[j + 4 >> 2] = 0;c[d >> 2] = c[j >> 2];c[d + 4 >> 2] = c[j + 4 >> 2];Qh(a, 4719, d) | 0;c[i >> 2] = 9;c[i + 4 >> 2] = 0;c[d >> 2] = c[i >> 2];c[d + 4 >> 2] = c[i + 4 >> 2];Qh(a, 4736, d) | 0;c[h >> 2] = 21;c[h + 4 >> 2] = 0;c[d >> 2] = c[h >> 2];c[d + 4 >> 2] = c[h + 4 >> 2];_h(a, 4754, d) | 0;c[g >> 2] = 2;c[g + 4 >> 2] = 0;c[d >> 2] = c[g >> 2];c[d + 4 >> 2] = c[g + 4 >> 2];Rh(a, 4772, d) | 0;c[f >> 2] = 3;c[f + 4 >> 2] = 0;c[d >> 2] = c[f >> 2];c[d + 4 >> 2] = c[f + 4 >> 2];Rh(a, 4790, d) | 0;c[e >> 2] = 4;c[e + 4 >> 2] = 0;c[d >> 2] = c[e >> 2];c[d + 4 >> 2] = c[e + 4 >> 2];Rh(a, 4808, d) | 0;l = b;return; + }function Eh(a, b) { + a = a | 0;b = b | 0;var d = 0;d = dr() | 0;c[a >> 2] = d;er(d, b);Hv(c[a >> 2] | 0);return; + }function Fh(a, b, c) { + a = a | 0;b = b | 0;c = c | 0;Oq(a, ai(b) | 0, c, 0);return a | 0; + }function Gh(a, b, c) { + a = a | 0;b = b | 0;c = c | 0;tq(a, ai(b) | 0, c, 0);return a | 0; + }function Hh(a, b, c) { + a = a | 0;b = b | 0;c = c | 0;cq(a, ai(b) | 0, c, 0);return a | 0; + }function Ih(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = c[d + 4 >> 2] | 0;c[g >> 2] = c[d >> 2];c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];Lp(a, b, f);l = e;return a | 0; + }function Jh(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = c[d + 4 >> 2] | 0;c[g >> 2] = c[d >> 2];c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];pp(a, b, f);l = e;return a | 0; + }function Kh(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = c[d + 4 >> 2] | 0;c[g >> 2] = c[d >> 2];c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];Yo(a, b, f);l = e;return a | 0; + }function Lh(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = c[d + 4 >> 2] | 0;c[g >> 2] = c[d >> 2];c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];Fo(a, b, f);l = e;return a | 0; + }function Mh(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = c[d + 4 >> 2] | 0;c[g >> 2] = c[d >> 2];c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];mo(a, b, f);l = e;return a | 0; + }function Nh(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = c[d + 4 >> 2] | 0;c[g >> 2] = c[d >> 2];c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];Un(a, b, f);l = e;return a | 0; + }function Oh(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = c[d + 4 >> 2] | 0;c[g >> 2] = c[d >> 2];c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];Bn(a, b, f);l = e;return a | 0; + }function Ph(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = c[d + 4 >> 2] | 0;c[g >> 2] = c[d >> 2];c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];Um(a, b, f);l = e;return a | 0; + }function Qh(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = c[d + 4 >> 2] | 0;c[g >> 2] = c[d >> 2];c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];Bm(a, b, f);l = e;return a | 0; + }function Rh(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = c[d + 4 >> 2] | 0;c[g >> 2] = c[d >> 2];c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];im(a, b, f);l = e;return a | 0; + }function Sh(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = c[d + 4 >> 2] | 0;c[g >> 2] = c[d >> 2];c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];Rl(a, b, f);l = e;return a | 0; + }function Th(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = c[d + 4 >> 2] | 0;c[g >> 2] = c[d >> 2];c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];vl(a, b, f);l = e;return a | 0; + }function Uh(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = c[d + 4 >> 2] | 0;c[g >> 2] = c[d >> 2];c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];bl(a, b, f);l = e;return a | 0; + }function Vh(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = c[d + 4 >> 2] | 0;c[g >> 2] = c[d >> 2];c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];Kk(a, b, f);l = e;return a | 0; + }function Wh(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = c[d + 4 >> 2] | 0;c[g >> 2] = c[d >> 2];c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];nk(a, b, f);l = e;return a | 0; + }function Xh(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = c[d + 4 >> 2] | 0;c[g >> 2] = c[d >> 2];c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];Rj(a, b, f);l = e;return a | 0; + }function Yh(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = c[d + 4 >> 2] | 0;c[g >> 2] = c[d >> 2];c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];xj(a, b, f);l = e;return a | 0; + }function Zh(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = c[d + 4 >> 2] | 0;c[g >> 2] = c[d >> 2];c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];_i(a, b, f);l = e;return a | 0; + }function _h(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = c[d + 4 >> 2] | 0;c[g >> 2] = c[d >> 2];c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];$h(a, b, f);l = e;return a | 0; + }function $h(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;i = c[d >> 2] | 0;h = c[d + 4 >> 2] | 0;d = ai(b) | 0;c[g >> 2] = i;c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];bi(a, d, f, 1);l = e;return; + }function ai(a) { + a = a | 0;return a | 0; + }function bi(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;f = l;l = l + 32 | 0;g = f + 16 | 0;m = f + 8 | 0;i = f;k = c[d >> 2] | 0;j = c[d + 4 >> 2] | 0;h = c[a >> 2] | 0;a = ci() | 0;c[m >> 2] = k;c[m + 4 >> 2] = j;c[g >> 2] = c[m >> 2];c[g + 4 >> 2] = c[m + 4 >> 2];d = di(g) | 0;c[i >> 2] = k;c[i + 4 >> 2] = j;c[g >> 2] = c[i >> 2];c[g + 4 >> 2] = c[i + 4 >> 2];fi(h, b, a, d, ei(g, e) | 0, e);l = f;return; + }function ci() { + var b = 0, + d = 0;if (!(a[7616] | 0)) { + qi(9136);Ha(24, 9136, o | 0) | 0;d = 7616;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(9136) | 0)) { + b = 9136;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));qi(9136); + }return 9136; + }function di(a) { + a = a | 0;return 0; + }function ei(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0;m = l;l = l + 32 | 0;f = m + 24 | 0;h = m + 16 | 0;i = m;j = m + 8 | 0;g = c[a >> 2] | 0;e = c[a + 4 >> 2] | 0;c[i >> 2] = g;c[i + 4 >> 2] = e;n = ci() | 0;k = n + 24 | 0;a = ji(b, 4) | 0;c[j >> 2] = a;b = n + 28 | 0;d = c[b >> 2] | 0;if (d >>> 0 < (c[n + 32 >> 2] | 0) >>> 0) { + c[h >> 2] = g;c[h + 4 >> 2] = e;c[f >> 2] = c[h >> 2];c[f + 4 >> 2] = c[h + 4 >> 2];ki(d, f, a);a = (c[b >> 2] | 0) + 12 | 0;c[b >> 2] = a; + } else { + li(k, i, j);a = c[b >> 2] | 0; + }l = m;return ((a - (c[k >> 2] | 0) | 0) / 12 | 0) + -1 | 0; + }function fi(a, b, d, e, f, g) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;f = f | 0;g = g | 0;var h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0, + p = 0;h = l;l = l + 32 | 0;o = h + 24 | 0;n = h + 20 | 0;j = h + 16 | 0;m = h + 12 | 0;k = h + 8 | 0;i = h + 4 | 0;p = h;c[n >> 2] = b;c[j >> 2] = d;c[m >> 2] = e;c[k >> 2] = f;c[i >> 2] = g;g = a + 28 | 0;c[p >> 2] = c[g >> 2];c[o >> 2] = c[p >> 2];gi(a + 24 | 0, o, n, m, k, j, i) | 0;c[g >> 2] = c[c[g >> 2] >> 2];l = h;return; + }function gi(a, b, d, e, f, g, h) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;f = f | 0;g = g | 0;h = h | 0;a = hi(b) | 0;b = qC(24) | 0;ii(b + 4 | 0, c[d >> 2] | 0, c[e >> 2] | 0, c[f >> 2] | 0, c[g >> 2] | 0, c[h >> 2] | 0);c[b >> 2] = c[a >> 2];c[a >> 2] = b;return b | 0; + }function hi(a) { + a = a | 0;return c[a >> 2] | 0; + }function ii(a, b, d, e, f, g) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;f = f | 0;g = g | 0;c[a >> 2] = b;c[a + 4 >> 2] = d;c[a + 8 >> 2] = e;c[a + 12 >> 2] = f;c[a + 16 >> 2] = g;return; + }function ji(a, b) { + a = a | 0;b = b | 0;return b | a | 0; + }function ki(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0;e = c[b + 4 >> 2] | 0;c[a >> 2] = c[b >> 2];c[a + 4 >> 2] = e;c[a + 8 >> 2] = d;return; + }function li(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0;k = l;l = l + 48 | 0;e = k + 32 | 0;h = k + 24 | 0;i = k;j = a + 4 | 0;f = (((c[j >> 2] | 0) - (c[a >> 2] | 0) | 0) / 12 | 0) + 1 | 0;g = mi(a) | 0;if (g >>> 0 < f >>> 0) jC(a);else { + m = c[a >> 2] | 0;o = ((c[a + 8 >> 2] | 0) - m | 0) / 12 | 0;n = o << 1;ni(i, o >>> 0 < g >>> 1 >>> 0 ? n >>> 0 < f >>> 0 ? f : n : g, ((c[j >> 2] | 0) - m | 0) / 12 | 0, a + 8 | 0);j = i + 8 | 0;g = c[j >> 2] | 0;f = c[b + 4 >> 2] | 0;d = c[d >> 2] | 0;c[h >> 2] = c[b >> 2];c[h + 4 >> 2] = f;c[e >> 2] = c[h >> 2];c[e + 4 >> 2] = c[h + 4 >> 2];ki(g, e, d);c[j >> 2] = (c[j >> 2] | 0) + 12;oi(a, i);pi(i);l = k;return; + } + }function mi(a) { + a = a | 0;return 357913941; + }function ni(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 357913941) Ta();else { + f = qC(b * 12 | 0) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d * 12 | 0) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b * 12 | 0);return; + }function oi(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (((f | 0) / -12 | 0) * 12 | 0) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function pi(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~(((e + -12 - b | 0) >>> 0) / 12 | 0) * 12 | 0);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function qi(a) { + a = a | 0;ui(a);return; + }function ri(a) { + a = a | 0;ti(a + 24 | 0);return; + }function si(a) { + a = a | 0;return c[a >> 2] | 0; + }function ti(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~(((b + -12 - e | 0) >>> 0) / 12 | 0) * 12 | 0);sC(d); + }return; + }function ui(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 2, 3, b, wi() | 0, 0);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function vi() { + return 9228; + }function wi() { + return 1140; + }function xi(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0;d = l;l = l + 16 | 0;e = d + 8 | 0;f = d;g = zi(a) | 0;a = c[g + 4 >> 2] | 0;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = a;c[e >> 2] = c[f >> 2];c[e + 4 >> 2] = c[f + 4 >> 2];b = Ai(b, e) | 0;l = d;return b | 0; + }function yi(a, b, d, e, f, g) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;f = f | 0;g = g | 0;c[a >> 2] = b;c[a + 4 >> 2] = d;c[a + 8 >> 2] = e;c[a + 12 >> 2] = f;c[a + 16 >> 2] = g;return; + }function zi(a) { + a = a | 0;return (c[(ci() | 0) + 24 >> 2] | 0) + (a * 12 | 0) | 0; + }function Ai(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0;f = l;l = l + 48 | 0;e = f;d = c[b >> 2] | 0;b = c[b + 4 >> 2] | 0;a = a + (b >> 1) | 0;if (b & 1) d = c[(c[a >> 2] | 0) + d >> 2] | 0;ob[d & 31](e, a);e = Bi(e) | 0;l = f;return e | 0; + }function Bi(a) { + a = a | 0;var b = 0, + c = 0, + d = 0, + e = 0;e = l;l = l + 32 | 0;b = e + 12 | 0;c = e;d = Di(Ci() | 0) | 0;if (!d) a = Ii(a) | 0;else { + Ei(b, d);Fi(c, b);Gi(a, c);a = Hi(b) | 0; + }l = e;return a | 0; + }function Ci() { + var b = 0;if (!(a[7632] | 0)) { + Ti(9184);Ha(25, 9184, o | 0) | 0;b = 7632;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }return 9184; + }function Di(a) { + a = a | 0;return c[a + 36 >> 2] | 0; + }function Ei(a, b) { + a = a | 0;b = b | 0;c[a >> 2] = b;c[a + 4 >> 2] = a;c[a + 8 >> 2] = 0;return; + }function Fi(a, b) { + a = a | 0;b = b | 0;c[a >> 2] = c[b >> 2];c[a + 4 >> 2] = c[b + 4 >> 2];c[a + 8 >> 2] = 0;return; + }function Gi(a, b) { + a = a | 0;b = b | 0;Ni(b, a, a + 8 | 0, a + 16 | 0, a + 24 | 0, a + 32 | 0, a + 40 | 0) | 0;return; + }function Hi(a) { + a = a | 0;return c[(c[a + 4 >> 2] | 0) + 8 >> 2] | 0; + }function Ii(a) { + a = a | 0;var b = 0, + d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0;j = l;l = l + 16 | 0;d = j + 4 | 0;e = j;f = jy(8) | 0;g = f;h = qC(48) | 0;i = h;b = i + 48 | 0;do { + c[i >> 2] = c[a >> 2];i = i + 4 | 0;a = a + 4 | 0; + } while ((i | 0) < (b | 0));b = g + 4 | 0;c[b >> 2] = h;i = qC(8) | 0;h = c[b >> 2] | 0;c[e >> 2] = 0;c[d >> 2] = c[e >> 2];Ji(i, h, d);c[f >> 2] = i;l = j;return g | 0; + }function Ji(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;c[a >> 2] = b;d = qC(16) | 0;c[d + 4 >> 2] = 0;c[d + 8 >> 2] = 0;c[d >> 2] = 1092;c[d + 12 >> 2] = b;c[a + 4 >> 2] = d;return; + }function Ki(a) { + a = a | 0;kC(a);sC(a);return; + }function Li(a) { + a = a | 0;a = c[a + 12 >> 2] | 0;if (a | 0) sC(a);return; + }function Mi(a) { + a = a | 0;sC(a);return; + }function Ni(a, b, d, e, f, g, h) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;f = f | 0;g = g | 0;h = h | 0;g = Oi(c[a >> 2] | 0, b, d, e, f, g, h) | 0;h = a + 4 | 0;c[(c[h >> 2] | 0) + 8 >> 2] = g;return c[(c[h >> 2] | 0) + 8 >> 2] | 0; + }function Oi(a, b, c, d, e, f, g) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;e = e | 0;f = f | 0;g = g | 0;var i = 0, + j = 0;i = l;l = l + 16 | 0;j = i;UA(j);a = Sg(a) | 0;g = Pi(a, +h[b >> 3], +h[c >> 3], +h[d >> 3], +h[e >> 3], +h[f >> 3], +h[g >> 3]) | 0;WA(j);l = i;return g | 0; + }function Pi(a, b, c, d, e, f, g) { + a = a | 0;b = +b;c = +c;d = +d;e = +e;f = +f;g = +g;var h = 0;h = Vg(Qi() | 0) | 0;b = +Wg(b);c = +Wg(c);d = +Wg(d);e = +Wg(e);f = +Wg(f);return ya(0, h | 0, a | 0, +b, +c, +d, +e, +f, + +Wg(g)) | 0; + }function Qi() { + var b = 0;if (!(a[7624] | 0)) { + Ri(9172);b = 7624;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }return 9172; + }function Ri(a) { + a = a | 0;fh(a, Si() | 0, 6);return; + }function Si() { + return 1112; + }function Ti(a) { + a = a | 0;Zi(a);return; + }function Ui(a) { + a = a | 0;Vi(a + 24 | 0);Wi(a + 16 | 0);return; + }function Vi(a) { + a = a | 0;Yi(a);return; + }function Wi(a) { + a = a | 0;Xi(a);return; + }function Xi(a) { + a = a | 0;var b = 0, + d = 0;b = c[a >> 2] | 0;if (b | 0) do { + d = b;b = c[b >> 2] | 0;sC(d); + } while ((b | 0) != 0);c[a >> 2] = 0;return; + }function Yi(a) { + a = a | 0;var b = 0, + d = 0;b = c[a >> 2] | 0;if (b | 0) do { + d = b;b = c[b >> 2] | 0;sC(d); + } while ((b | 0) != 0);c[a >> 2] = 0;return; + }function Zi(b) { + b = b | 0;var d = 0;c[b + 16 >> 2] = 0;c[b + 20 >> 2] = 0;d = b + 24 | 0;c[d >> 2] = 0;c[b + 28 >> 2] = d;c[b + 36 >> 2] = 0;a[b + 40 >> 0] = 0;a[b + 41 >> 0] = 0;return; + }function _i(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;i = c[d >> 2] | 0;h = c[d + 4 >> 2] | 0;d = ai(b) | 0;c[g >> 2] = i;c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];$i(a, d, f, 0);l = e;return; + }function $i(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;f = l;l = l + 32 | 0;g = f + 16 | 0;m = f + 8 | 0;i = f;k = c[d >> 2] | 0;j = c[d + 4 >> 2] | 0;h = c[a >> 2] | 0;a = aj() | 0;c[m >> 2] = k;c[m + 4 >> 2] = j;c[g >> 2] = c[m >> 2];c[g + 4 >> 2] = c[m + 4 >> 2];d = bj(g) | 0;c[i >> 2] = k;c[i + 4 >> 2] = j;c[g >> 2] = c[i >> 2];c[g + 4 >> 2] = c[i + 4 >> 2];fi(h, b, a, d, cj(g, e) | 0, e);l = f;return; + }function aj() { + var b = 0, + d = 0;if (!(a[7640] | 0)) { + jj(9232);Ha(26, 9232, o | 0) | 0;d = 7640;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(9232) | 0)) { + b = 9232;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));jj(9232); + }return 9232; + }function bj(a) { + a = a | 0;return 0; + }function cj(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0;m = l;l = l + 32 | 0;f = m + 24 | 0;h = m + 16 | 0;i = m;j = m + 8 | 0;g = c[a >> 2] | 0;e = c[a + 4 >> 2] | 0;c[i >> 2] = g;c[i + 4 >> 2] = e;n = aj() | 0;k = n + 24 | 0;a = ji(b, 4) | 0;c[j >> 2] = a;b = n + 28 | 0;d = c[b >> 2] | 0;if (d >>> 0 < (c[n + 32 >> 2] | 0) >>> 0) { + c[h >> 2] = g;c[h + 4 >> 2] = e;c[f >> 2] = c[h >> 2];c[f + 4 >> 2] = c[h + 4 >> 2];dj(d, f, a);a = (c[b >> 2] | 0) + 12 | 0;c[b >> 2] = a; + } else { + ej(k, i, j);a = c[b >> 2] | 0; + }l = m;return ((a - (c[k >> 2] | 0) | 0) / 12 | 0) + -1 | 0; + }function dj(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0;e = c[b + 4 >> 2] | 0;c[a >> 2] = c[b >> 2];c[a + 4 >> 2] = e;c[a + 8 >> 2] = d;return; + }function ej(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0;k = l;l = l + 48 | 0;e = k + 32 | 0;h = k + 24 | 0;i = k;j = a + 4 | 0;f = (((c[j >> 2] | 0) - (c[a >> 2] | 0) | 0) / 12 | 0) + 1 | 0;g = fj(a) | 0;if (g >>> 0 < f >>> 0) jC(a);else { + m = c[a >> 2] | 0;o = ((c[a + 8 >> 2] | 0) - m | 0) / 12 | 0;n = o << 1;gj(i, o >>> 0 < g >>> 1 >>> 0 ? n >>> 0 < f >>> 0 ? f : n : g, ((c[j >> 2] | 0) - m | 0) / 12 | 0, a + 8 | 0);j = i + 8 | 0;g = c[j >> 2] | 0;f = c[b + 4 >> 2] | 0;d = c[d >> 2] | 0;c[h >> 2] = c[b >> 2];c[h + 4 >> 2] = f;c[e >> 2] = c[h >> 2];c[e + 4 >> 2] = c[h + 4 >> 2];dj(g, e, d);c[j >> 2] = (c[j >> 2] | 0) + 12;hj(a, i);ij(i);l = k;return; + } + }function fj(a) { + a = a | 0;return 357913941; + }function gj(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 357913941) Ta();else { + f = qC(b * 12 | 0) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d * 12 | 0) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b * 12 | 0);return; + }function hj(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (((f | 0) / -12 | 0) * 12 | 0) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function ij(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~(((e + -12 - b | 0) >>> 0) / 12 | 0) * 12 | 0);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function jj(a) { + a = a | 0;mj(a);return; + }function kj(a) { + a = a | 0;lj(a + 24 | 0);return; + }function lj(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~(((b + -12 - e | 0) >>> 0) / 12 | 0) * 12 | 0);sC(d); + }return; + }function mj(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 2, 1, b, nj() | 0, 3);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function nj() { + return 1144; + }function oj(a, b, d, e, f) { + a = a | 0;b = b | 0;d = +d;e = +e;f = f | 0;var g = 0, + h = 0, + i = 0, + j = 0;g = l;l = l + 16 | 0;h = g + 8 | 0;i = g;j = pj(a) | 0;a = c[j + 4 >> 2] | 0;c[i >> 2] = c[j >> 2];c[i + 4 >> 2] = a;c[h >> 2] = c[i >> 2];c[h + 4 >> 2] = c[i + 4 >> 2];qj(b, h, d, e, f);l = g;return; + }function pj(a) { + a = a | 0;return (c[(aj() | 0) + 24 >> 2] | 0) + (a * 12 | 0) | 0; + }function qj(a, b, d, e, f) { + a = a | 0;b = b | 0;d = +d;e = +e;f = f | 0;var g = 0, + h = 0, + i = 0, + j = 0, + k = 0;k = l;l = l + 16 | 0;h = k + 2 | 0;i = k + 1 | 0;j = k;g = c[b >> 2] | 0;b = c[b + 4 >> 2] | 0;a = a + (b >> 1) | 0;if (b & 1) g = c[(c[a >> 2] | 0) + g >> 2] | 0;rj(h, d);d = +sj(h, d);rj(i, e);e = +sj(i, e);tj(j, f);j = uj(j, f) | 0;qb[g & 1](a, d, e, j);l = k;return; + }function rj(a, b) { + a = a | 0;b = +b;return; + }function sj(a, b) { + a = a | 0;b = +b;return + +wj(b); + }function tj(a, b) { + a = a | 0;b = b | 0;return; + }function uj(a, b) { + a = a | 0;b = b | 0;return vj(b) | 0; + }function vj(a) { + a = a | 0;return a | 0; + }function wj(a) { + a = +a;return +a; + }function xj(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;i = c[d >> 2] | 0;h = c[d + 4 >> 2] | 0;d = ai(b) | 0;c[g >> 2] = i;c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];yj(a, d, f, 1);l = e;return; + }function yj(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;f = l;l = l + 32 | 0;g = f + 16 | 0;m = f + 8 | 0;i = f;k = c[d >> 2] | 0;j = c[d + 4 >> 2] | 0;h = c[a >> 2] | 0;a = zj() | 0;c[m >> 2] = k;c[m + 4 >> 2] = j;c[g >> 2] = c[m >> 2];c[g + 4 >> 2] = c[m + 4 >> 2];d = Aj(g) | 0;c[i >> 2] = k;c[i + 4 >> 2] = j;c[g >> 2] = c[i >> 2];c[g + 4 >> 2] = c[i + 4 >> 2];fi(h, b, a, d, Bj(g, e) | 0, e);l = f;return; + }function zj() { + var b = 0, + d = 0;if (!(a[7648] | 0)) { + Ij(9268);Ha(27, 9268, o | 0) | 0;d = 7648;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(9268) | 0)) { + b = 9268;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));Ij(9268); + }return 9268; + }function Aj(a) { + a = a | 0;return 0; + }function Bj(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0;m = l;l = l + 32 | 0;f = m + 24 | 0;h = m + 16 | 0;i = m;j = m + 8 | 0;g = c[a >> 2] | 0;e = c[a + 4 >> 2] | 0;c[i >> 2] = g;c[i + 4 >> 2] = e;n = zj() | 0;k = n + 24 | 0;a = ji(b, 4) | 0;c[j >> 2] = a;b = n + 28 | 0;d = c[b >> 2] | 0;if (d >>> 0 < (c[n + 32 >> 2] | 0) >>> 0) { + c[h >> 2] = g;c[h + 4 >> 2] = e;c[f >> 2] = c[h >> 2];c[f + 4 >> 2] = c[h + 4 >> 2];Cj(d, f, a);a = (c[b >> 2] | 0) + 12 | 0;c[b >> 2] = a; + } else { + Dj(k, i, j);a = c[b >> 2] | 0; + }l = m;return ((a - (c[k >> 2] | 0) | 0) / 12 | 0) + -1 | 0; + }function Cj(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0;e = c[b + 4 >> 2] | 0;c[a >> 2] = c[b >> 2];c[a + 4 >> 2] = e;c[a + 8 >> 2] = d;return; + }function Dj(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0;k = l;l = l + 48 | 0;e = k + 32 | 0;h = k + 24 | 0;i = k;j = a + 4 | 0;f = (((c[j >> 2] | 0) - (c[a >> 2] | 0) | 0) / 12 | 0) + 1 | 0;g = Ej(a) | 0;if (g >>> 0 < f >>> 0) jC(a);else { + m = c[a >> 2] | 0;o = ((c[a + 8 >> 2] | 0) - m | 0) / 12 | 0;n = o << 1;Fj(i, o >>> 0 < g >>> 1 >>> 0 ? n >>> 0 < f >>> 0 ? f : n : g, ((c[j >> 2] | 0) - m | 0) / 12 | 0, a + 8 | 0);j = i + 8 | 0;g = c[j >> 2] | 0;f = c[b + 4 >> 2] | 0;d = c[d >> 2] | 0;c[h >> 2] = c[b >> 2];c[h + 4 >> 2] = f;c[e >> 2] = c[h >> 2];c[e + 4 >> 2] = c[h + 4 >> 2];Cj(g, e, d);c[j >> 2] = (c[j >> 2] | 0) + 12;Gj(a, i);Hj(i);l = k;return; + } + }function Ej(a) { + a = a | 0;return 357913941; + }function Fj(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 357913941) Ta();else { + f = qC(b * 12 | 0) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d * 12 | 0) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b * 12 | 0);return; + }function Gj(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (((f | 0) / -12 | 0) * 12 | 0) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function Hj(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~(((e + -12 - b | 0) >>> 0) / 12 | 0) * 12 | 0);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function Ij(a) { + a = a | 0;Lj(a);return; + }function Jj(a) { + a = a | 0;Kj(a + 24 | 0);return; + }function Kj(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~(((b + -12 - e | 0) >>> 0) / 12 | 0) * 12 | 0);sC(d); + }return; + }function Lj(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 2, 4, b, Mj() | 0, 0);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function Mj() { + return 1160; + }function Nj(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0;d = l;l = l + 16 | 0;e = d + 8 | 0;f = d;g = Oj(a) | 0;a = c[g + 4 >> 2] | 0;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = a;c[e >> 2] = c[f >> 2];c[e + 4 >> 2] = c[f + 4 >> 2];b = Pj(b, e) | 0;l = d;return b | 0; + }function Oj(a) { + a = a | 0;return (c[(zj() | 0) + 24 >> 2] | 0) + (a * 12 | 0) | 0; + }function Pj(a, b) { + a = a | 0;b = b | 0;var d = 0;d = c[b >> 2] | 0;b = c[b + 4 >> 2] | 0;a = a + (b >> 1) | 0;if (b & 1) d = c[(c[a >> 2] | 0) + d >> 2] | 0;return Qj(pb[d & 31](a) | 0) | 0; + }function Qj(a) { + a = a | 0;return a & 1 | 0; + }function Rj(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;i = c[d >> 2] | 0;h = c[d + 4 >> 2] | 0;d = ai(b) | 0;c[g >> 2] = i;c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];Sj(a, d, f, 0);l = e;return; + }function Sj(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;f = l;l = l + 32 | 0;g = f + 16 | 0;m = f + 8 | 0;i = f;k = c[d >> 2] | 0;j = c[d + 4 >> 2] | 0;h = c[a >> 2] | 0;a = Tj() | 0;c[m >> 2] = k;c[m + 4 >> 2] = j;c[g >> 2] = c[m >> 2];c[g + 4 >> 2] = c[m + 4 >> 2];d = Uj(g) | 0;c[i >> 2] = k;c[i + 4 >> 2] = j;c[g >> 2] = c[i >> 2];c[g + 4 >> 2] = c[i + 4 >> 2];fi(h, b, a, d, Vj(g, e) | 0, e);l = f;return; + }function Tj() { + var b = 0, + d = 0;if (!(a[7656] | 0)) { + ak(9304);Ha(28, 9304, o | 0) | 0;d = 7656;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(9304) | 0)) { + b = 9304;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));ak(9304); + }return 9304; + }function Uj(a) { + a = a | 0;return 0; + }function Vj(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0;m = l;l = l + 32 | 0;f = m + 24 | 0;h = m + 16 | 0;i = m;j = m + 8 | 0;g = c[a >> 2] | 0;e = c[a + 4 >> 2] | 0;c[i >> 2] = g;c[i + 4 >> 2] = e;n = Tj() | 0;k = n + 24 | 0;a = ji(b, 4) | 0;c[j >> 2] = a;b = n + 28 | 0;d = c[b >> 2] | 0;if (d >>> 0 < (c[n + 32 >> 2] | 0) >>> 0) { + c[h >> 2] = g;c[h + 4 >> 2] = e;c[f >> 2] = c[h >> 2];c[f + 4 >> 2] = c[h + 4 >> 2];Wj(d, f, a);a = (c[b >> 2] | 0) + 12 | 0;c[b >> 2] = a; + } else { + Xj(k, i, j);a = c[b >> 2] | 0; + }l = m;return ((a - (c[k >> 2] | 0) | 0) / 12 | 0) + -1 | 0; + }function Wj(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0;e = c[b + 4 >> 2] | 0;c[a >> 2] = c[b >> 2];c[a + 4 >> 2] = e;c[a + 8 >> 2] = d;return; + }function Xj(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0;k = l;l = l + 48 | 0;e = k + 32 | 0;h = k + 24 | 0;i = k;j = a + 4 | 0;f = (((c[j >> 2] | 0) - (c[a >> 2] | 0) | 0) / 12 | 0) + 1 | 0;g = Yj(a) | 0;if (g >>> 0 < f >>> 0) jC(a);else { + m = c[a >> 2] | 0;o = ((c[a + 8 >> 2] | 0) - m | 0) / 12 | 0;n = o << 1;Zj(i, o >>> 0 < g >>> 1 >>> 0 ? n >>> 0 < f >>> 0 ? f : n : g, ((c[j >> 2] | 0) - m | 0) / 12 | 0, a + 8 | 0);j = i + 8 | 0;g = c[j >> 2] | 0;f = c[b + 4 >> 2] | 0;d = c[d >> 2] | 0;c[h >> 2] = c[b >> 2];c[h + 4 >> 2] = f;c[e >> 2] = c[h >> 2];c[e + 4 >> 2] = c[h + 4 >> 2];Wj(g, e, d);c[j >> 2] = (c[j >> 2] | 0) + 12;_j(a, i);$j(i);l = k;return; + } + }function Yj(a) { + a = a | 0;return 357913941; + }function Zj(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 357913941) Ta();else { + f = qC(b * 12 | 0) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d * 12 | 0) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b * 12 | 0);return; + }function _j(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (((f | 0) / -12 | 0) * 12 | 0) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function $j(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~(((e + -12 - b | 0) >>> 0) / 12 | 0) * 12 | 0);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function ak(a) { + a = a | 0;dk(a);return; + }function bk(a) { + a = a | 0;ck(a + 24 | 0);return; + }function ck(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~(((b + -12 - e | 0) >>> 0) / 12 | 0) * 12 | 0);sC(d); + }return; + }function dk(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 2, 5, b, ek() | 0, 1);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function ek() { + return 1164; + }function fk(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = gk(a) | 0;a = c[h + 4 >> 2] | 0;c[g >> 2] = c[h >> 2];c[g + 4 >> 2] = a;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];hk(b, f, d);l = e;return; + }function gk(a) { + a = a | 0;return (c[(Tj() | 0) + 24 >> 2] | 0) + (a * 12 | 0) | 0; + }function hk(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0;g = l;l = l + 16 | 0;f = g;e = c[b >> 2] | 0;b = c[b + 4 >> 2] | 0;a = a + (b >> 1) | 0;if (b & 1) e = c[(c[a >> 2] | 0) + e >> 2] | 0;ik(f, d);d = jk(f, d) | 0;ob[e & 31](a, d);kk(f);l = g;return; + }function ik(a, b) { + a = a | 0;b = b | 0;lk(a, b);return; + }function jk(a, b) { + a = a | 0;b = b | 0;return a | 0; + }function kk(a) { + a = a | 0;vf(a);return; + }function lk(a, b) { + a = a | 0;b = b | 0;mk(a, b);return; + }function mk(a, b) { + a = a | 0;b = b | 0;c[a >> 2] = b;return; + }function nk(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;i = c[d >> 2] | 0;h = c[d + 4 >> 2] | 0;d = ai(b) | 0;c[g >> 2] = i;c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];ok(a, d, f, 0);l = e;return; + }function ok(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;f = l;l = l + 32 | 0;g = f + 16 | 0;m = f + 8 | 0;i = f;k = c[d >> 2] | 0;j = c[d + 4 >> 2] | 0;h = c[a >> 2] | 0;a = pk() | 0;c[m >> 2] = k;c[m + 4 >> 2] = j;c[g >> 2] = c[m >> 2];c[g + 4 >> 2] = c[m + 4 >> 2];d = qk(g) | 0;c[i >> 2] = k;c[i + 4 >> 2] = j;c[g >> 2] = c[i >> 2];c[g + 4 >> 2] = c[i + 4 >> 2];fi(h, b, a, d, rk(g, e) | 0, e);l = f;return; + }function pk() { + var b = 0, + d = 0;if (!(a[7664] | 0)) { + yk(9340);Ha(29, 9340, o | 0) | 0;d = 7664;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(9340) | 0)) { + b = 9340;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));yk(9340); + }return 9340; + }function qk(a) { + a = a | 0;return 0; + }function rk(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0;m = l;l = l + 32 | 0;f = m + 24 | 0;h = m + 16 | 0;i = m;j = m + 8 | 0;g = c[a >> 2] | 0;e = c[a + 4 >> 2] | 0;c[i >> 2] = g;c[i + 4 >> 2] = e;n = pk() | 0;k = n + 24 | 0;a = ji(b, 4) | 0;c[j >> 2] = a;b = n + 28 | 0;d = c[b >> 2] | 0;if (d >>> 0 < (c[n + 32 >> 2] | 0) >>> 0) { + c[h >> 2] = g;c[h + 4 >> 2] = e;c[f >> 2] = c[h >> 2];c[f + 4 >> 2] = c[h + 4 >> 2];sk(d, f, a);a = (c[b >> 2] | 0) + 12 | 0;c[b >> 2] = a; + } else { + tk(k, i, j);a = c[b >> 2] | 0; + }l = m;return ((a - (c[k >> 2] | 0) | 0) / 12 | 0) + -1 | 0; + }function sk(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0;e = c[b + 4 >> 2] | 0;c[a >> 2] = c[b >> 2];c[a + 4 >> 2] = e;c[a + 8 >> 2] = d;return; + }function tk(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0;k = l;l = l + 48 | 0;e = k + 32 | 0;h = k + 24 | 0;i = k;j = a + 4 | 0;f = (((c[j >> 2] | 0) - (c[a >> 2] | 0) | 0) / 12 | 0) + 1 | 0;g = uk(a) | 0;if (g >>> 0 < f >>> 0) jC(a);else { + m = c[a >> 2] | 0;o = ((c[a + 8 >> 2] | 0) - m | 0) / 12 | 0;n = o << 1;vk(i, o >>> 0 < g >>> 1 >>> 0 ? n >>> 0 < f >>> 0 ? f : n : g, ((c[j >> 2] | 0) - m | 0) / 12 | 0, a + 8 | 0);j = i + 8 | 0;g = c[j >> 2] | 0;f = c[b + 4 >> 2] | 0;d = c[d >> 2] | 0;c[h >> 2] = c[b >> 2];c[h + 4 >> 2] = f;c[e >> 2] = c[h >> 2];c[e + 4 >> 2] = c[h + 4 >> 2];sk(g, e, d);c[j >> 2] = (c[j >> 2] | 0) + 12;wk(a, i);xk(i);l = k;return; + } + }function uk(a) { + a = a | 0;return 357913941; + }function vk(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 357913941) Ta();else { + f = qC(b * 12 | 0) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d * 12 | 0) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b * 12 | 0);return; + }function wk(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (((f | 0) / -12 | 0) * 12 | 0) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function xk(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~(((e + -12 - b | 0) >>> 0) / 12 | 0) * 12 | 0);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function yk(a) { + a = a | 0;Bk(a);return; + }function zk(a) { + a = a | 0;Ak(a + 24 | 0);return; + }function Ak(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~(((b + -12 - e | 0) >>> 0) / 12 | 0) * 12 | 0);sC(d); + }return; + }function Bk(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 2, 4, b, Ck() | 0, 1);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function Ck() { + return 1180; + }function Dk(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = Ek(a) | 0;a = c[h + 4 >> 2] | 0;c[g >> 2] = c[h >> 2];c[g + 4 >> 2] = a;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];d = Fk(b, f, d) | 0;l = e;return d | 0; + }function Ek(a) { + a = a | 0;return (c[(pk() | 0) + 24 >> 2] | 0) + (a * 12 | 0) | 0; + }function Fk(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0;g = l;l = l + 16 | 0;f = g;e = c[b >> 2] | 0;b = c[b + 4 >> 2] | 0;a = a + (b >> 1) | 0;if (b & 1) e = c[(c[a >> 2] | 0) + e >> 2] | 0;Gk(f, d);f = Hk(f, d) | 0;f = Ik(wb[e & 15](a, f) | 0) | 0;l = g;return f | 0; + }function Gk(a, b) { + a = a | 0;b = b | 0;return; + }function Hk(a, b) { + a = a | 0;b = b | 0;return Jk(b) | 0; + }function Ik(a) { + a = a | 0;return a | 0; + }function Jk(a) { + a = a | 0;return a | 0; + }function Kk(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;i = c[d >> 2] | 0;h = c[d + 4 >> 2] | 0;d = ai(b) | 0;c[g >> 2] = i;c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];Lk(a, d, f, 0);l = e;return; + }function Lk(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;f = l;l = l + 32 | 0;g = f + 16 | 0;m = f + 8 | 0;i = f;k = c[d >> 2] | 0;j = c[d + 4 >> 2] | 0;h = c[a >> 2] | 0;a = Mk() | 0;c[m >> 2] = k;c[m + 4 >> 2] = j;c[g >> 2] = c[m >> 2];c[g + 4 >> 2] = c[m + 4 >> 2];d = Nk(g) | 0;c[i >> 2] = k;c[i + 4 >> 2] = j;c[g >> 2] = c[i >> 2];c[g + 4 >> 2] = c[i + 4 >> 2];fi(h, b, a, d, Ok(g, e) | 0, e);l = f;return; + }function Mk() { + var b = 0, + d = 0;if (!(a[7672] | 0)) { + Vk(9376);Ha(30, 9376, o | 0) | 0;d = 7672;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(9376) | 0)) { + b = 9376;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));Vk(9376); + }return 9376; + }function Nk(a) { + a = a | 0;return 0; + }function Ok(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0;m = l;l = l + 32 | 0;f = m + 24 | 0;h = m + 16 | 0;i = m;j = m + 8 | 0;g = c[a >> 2] | 0;e = c[a + 4 >> 2] | 0;c[i >> 2] = g;c[i + 4 >> 2] = e;n = Mk() | 0;k = n + 24 | 0;a = ji(b, 4) | 0;c[j >> 2] = a;b = n + 28 | 0;d = c[b >> 2] | 0;if (d >>> 0 < (c[n + 32 >> 2] | 0) >>> 0) { + c[h >> 2] = g;c[h + 4 >> 2] = e;c[f >> 2] = c[h >> 2];c[f + 4 >> 2] = c[h + 4 >> 2];Pk(d, f, a);a = (c[b >> 2] | 0) + 12 | 0;c[b >> 2] = a; + } else { + Qk(k, i, j);a = c[b >> 2] | 0; + }l = m;return ((a - (c[k >> 2] | 0) | 0) / 12 | 0) + -1 | 0; + }function Pk(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0;e = c[b + 4 >> 2] | 0;c[a >> 2] = c[b >> 2];c[a + 4 >> 2] = e;c[a + 8 >> 2] = d;return; + }function Qk(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0;k = l;l = l + 48 | 0;e = k + 32 | 0;h = k + 24 | 0;i = k;j = a + 4 | 0;f = (((c[j >> 2] | 0) - (c[a >> 2] | 0) | 0) / 12 | 0) + 1 | 0;g = Rk(a) | 0;if (g >>> 0 < f >>> 0) jC(a);else { + m = c[a >> 2] | 0;o = ((c[a + 8 >> 2] | 0) - m | 0) / 12 | 0;n = o << 1;Sk(i, o >>> 0 < g >>> 1 >>> 0 ? n >>> 0 < f >>> 0 ? f : n : g, ((c[j >> 2] | 0) - m | 0) / 12 | 0, a + 8 | 0);j = i + 8 | 0;g = c[j >> 2] | 0;f = c[b + 4 >> 2] | 0;d = c[d >> 2] | 0;c[h >> 2] = c[b >> 2];c[h + 4 >> 2] = f;c[e >> 2] = c[h >> 2];c[e + 4 >> 2] = c[h + 4 >> 2];Pk(g, e, d);c[j >> 2] = (c[j >> 2] | 0) + 12;Tk(a, i);Uk(i);l = k;return; + } + }function Rk(a) { + a = a | 0;return 357913941; + }function Sk(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 357913941) Ta();else { + f = qC(b * 12 | 0) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d * 12 | 0) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b * 12 | 0);return; + }function Tk(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (((f | 0) / -12 | 0) * 12 | 0) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function Uk(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~(((e + -12 - b | 0) >>> 0) / 12 | 0) * 12 | 0);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function Vk(a) { + a = a | 0;Yk(a);return; + }function Wk(a) { + a = a | 0;Xk(a + 24 | 0);return; + }function Xk(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~(((b + -12 - e | 0) >>> 0) / 12 | 0) * 12 | 0);sC(d); + }return; + }function Yk(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 2, 5, b, Zk() | 0, 0);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function Zk() { + return 1196; + }function _k(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0;d = l;l = l + 16 | 0;e = d + 8 | 0;f = d;g = $k(a) | 0;a = c[g + 4 >> 2] | 0;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = a;c[e >> 2] = c[f >> 2];c[e + 4 >> 2] = c[f + 4 >> 2];b = al(b, e) | 0;l = d;return b | 0; + }function $k(a) { + a = a | 0;return (c[(Mk() | 0) + 24 >> 2] | 0) + (a * 12 | 0) | 0; + }function al(a, b) { + a = a | 0;b = b | 0;var d = 0;d = c[b >> 2] | 0;b = c[b + 4 >> 2] | 0;a = a + (b >> 1) | 0;if (b & 1) d = c[(c[a >> 2] | 0) + d >> 2] | 0;return Ik(pb[d & 31](a) | 0) | 0; + }function bl(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;i = c[d >> 2] | 0;h = c[d + 4 >> 2] | 0;d = ai(b) | 0;c[g >> 2] = i;c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];cl(a, d, f, 1);l = e;return; + }function cl(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;f = l;l = l + 32 | 0;g = f + 16 | 0;m = f + 8 | 0;i = f;k = c[d >> 2] | 0;j = c[d + 4 >> 2] | 0;h = c[a >> 2] | 0;a = dl() | 0;c[m >> 2] = k;c[m + 4 >> 2] = j;c[g >> 2] = c[m >> 2];c[g + 4 >> 2] = c[m + 4 >> 2];d = el(g) | 0;c[i >> 2] = k;c[i + 4 >> 2] = j;c[g >> 2] = c[i >> 2];c[g + 4 >> 2] = c[i + 4 >> 2];fi(h, b, a, d, fl(g, e) | 0, e);l = f;return; + }function dl() { + var b = 0, + d = 0;if (!(a[7680] | 0)) { + ml(9412);Ha(31, 9412, o | 0) | 0;d = 7680;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(9412) | 0)) { + b = 9412;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));ml(9412); + }return 9412; + }function el(a) { + a = a | 0;return 0; + }function fl(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0;m = l;l = l + 32 | 0;f = m + 24 | 0;h = m + 16 | 0;i = m;j = m + 8 | 0;g = c[a >> 2] | 0;e = c[a + 4 >> 2] | 0;c[i >> 2] = g;c[i + 4 >> 2] = e;n = dl() | 0;k = n + 24 | 0;a = ji(b, 4) | 0;c[j >> 2] = a;b = n + 28 | 0;d = c[b >> 2] | 0;if (d >>> 0 < (c[n + 32 >> 2] | 0) >>> 0) { + c[h >> 2] = g;c[h + 4 >> 2] = e;c[f >> 2] = c[h >> 2];c[f + 4 >> 2] = c[h + 4 >> 2];gl(d, f, a);a = (c[b >> 2] | 0) + 12 | 0;c[b >> 2] = a; + } else { + hl(k, i, j);a = c[b >> 2] | 0; + }l = m;return ((a - (c[k >> 2] | 0) | 0) / 12 | 0) + -1 | 0; + }function gl(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0;e = c[b + 4 >> 2] | 0;c[a >> 2] = c[b >> 2];c[a + 4 >> 2] = e;c[a + 8 >> 2] = d;return; + }function hl(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0;k = l;l = l + 48 | 0;e = k + 32 | 0;h = k + 24 | 0;i = k;j = a + 4 | 0;f = (((c[j >> 2] | 0) - (c[a >> 2] | 0) | 0) / 12 | 0) + 1 | 0;g = il(a) | 0;if (g >>> 0 < f >>> 0) jC(a);else { + m = c[a >> 2] | 0;o = ((c[a + 8 >> 2] | 0) - m | 0) / 12 | 0;n = o << 1;jl(i, o >>> 0 < g >>> 1 >>> 0 ? n >>> 0 < f >>> 0 ? f : n : g, ((c[j >> 2] | 0) - m | 0) / 12 | 0, a + 8 | 0);j = i + 8 | 0;g = c[j >> 2] | 0;f = c[b + 4 >> 2] | 0;d = c[d >> 2] | 0;c[h >> 2] = c[b >> 2];c[h + 4 >> 2] = f;c[e >> 2] = c[h >> 2];c[e + 4 >> 2] = c[h + 4 >> 2];gl(g, e, d);c[j >> 2] = (c[j >> 2] | 0) + 12;kl(a, i);ll(i);l = k;return; + } + }function il(a) { + a = a | 0;return 357913941; + }function jl(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 357913941) Ta();else { + f = qC(b * 12 | 0) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d * 12 | 0) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b * 12 | 0);return; + }function kl(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (((f | 0) / -12 | 0) * 12 | 0) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function ll(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~(((e + -12 - b | 0) >>> 0) / 12 | 0) * 12 | 0);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function ml(a) { + a = a | 0;pl(a);return; + }function nl(a) { + a = a | 0;ol(a + 24 | 0);return; + }function ol(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~(((b + -12 - e | 0) >>> 0) / 12 | 0) * 12 | 0);sC(d); + }return; + }function pl(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 2, 6, b, ql() | 0, 0);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function ql() { + return 1200; + }function rl(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0;d = l;l = l + 16 | 0;e = d + 8 | 0;f = d;g = sl(a) | 0;a = c[g + 4 >> 2] | 0;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = a;c[e >> 2] = c[f >> 2];c[e + 4 >> 2] = c[f + 4 >> 2];b = tl(b, e) | 0;l = d;return b | 0; + }function sl(a) { + a = a | 0;return (c[(dl() | 0) + 24 >> 2] | 0) + (a * 12 | 0) | 0; + }function tl(a, b) { + a = a | 0;b = b | 0;var d = 0;d = c[b >> 2] | 0;b = c[b + 4 >> 2] | 0;a = a + (b >> 1) | 0;if (b & 1) d = c[(c[a >> 2] | 0) + d >> 2] | 0;return ul(pb[d & 31](a) | 0) | 0; + }function ul(a) { + a = a | 0;return a | 0; + }function vl(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;i = c[d >> 2] | 0;h = c[d + 4 >> 2] | 0;d = ai(b) | 0;c[g >> 2] = i;c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];wl(a, d, f, 0);l = e;return; + }function wl(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;f = l;l = l + 32 | 0;g = f + 16 | 0;m = f + 8 | 0;i = f;k = c[d >> 2] | 0;j = c[d + 4 >> 2] | 0;h = c[a >> 2] | 0;a = xl() | 0;c[m >> 2] = k;c[m + 4 >> 2] = j;c[g >> 2] = c[m >> 2];c[g + 4 >> 2] = c[m + 4 >> 2];d = yl(g) | 0;c[i >> 2] = k;c[i + 4 >> 2] = j;c[g >> 2] = c[i >> 2];c[g + 4 >> 2] = c[i + 4 >> 2];fi(h, b, a, d, zl(g, e) | 0, e);l = f;return; + }function xl() { + var b = 0, + d = 0;if (!(a[7688] | 0)) { + Gl(9448);Ha(32, 9448, o | 0) | 0;d = 7688;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(9448) | 0)) { + b = 9448;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));Gl(9448); + }return 9448; + }function yl(a) { + a = a | 0;return 0; + }function zl(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0;m = l;l = l + 32 | 0;f = m + 24 | 0;h = m + 16 | 0;i = m;j = m + 8 | 0;g = c[a >> 2] | 0;e = c[a + 4 >> 2] | 0;c[i >> 2] = g;c[i + 4 >> 2] = e;n = xl() | 0;k = n + 24 | 0;a = ji(b, 4) | 0;c[j >> 2] = a;b = n + 28 | 0;d = c[b >> 2] | 0;if (d >>> 0 < (c[n + 32 >> 2] | 0) >>> 0) { + c[h >> 2] = g;c[h + 4 >> 2] = e;c[f >> 2] = c[h >> 2];c[f + 4 >> 2] = c[h + 4 >> 2];Al(d, f, a);a = (c[b >> 2] | 0) + 12 | 0;c[b >> 2] = a; + } else { + Bl(k, i, j);a = c[b >> 2] | 0; + }l = m;return ((a - (c[k >> 2] | 0) | 0) / 12 | 0) + -1 | 0; + }function Al(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0;e = c[b + 4 >> 2] | 0;c[a >> 2] = c[b >> 2];c[a + 4 >> 2] = e;c[a + 8 >> 2] = d;return; + }function Bl(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0;k = l;l = l + 48 | 0;e = k + 32 | 0;h = k + 24 | 0;i = k;j = a + 4 | 0;f = (((c[j >> 2] | 0) - (c[a >> 2] | 0) | 0) / 12 | 0) + 1 | 0;g = Cl(a) | 0;if (g >>> 0 < f >>> 0) jC(a);else { + m = c[a >> 2] | 0;o = ((c[a + 8 >> 2] | 0) - m | 0) / 12 | 0;n = o << 1;Dl(i, o >>> 0 < g >>> 1 >>> 0 ? n >>> 0 < f >>> 0 ? f : n : g, ((c[j >> 2] | 0) - m | 0) / 12 | 0, a + 8 | 0);j = i + 8 | 0;g = c[j >> 2] | 0;f = c[b + 4 >> 2] | 0;d = c[d >> 2] | 0;c[h >> 2] = c[b >> 2];c[h + 4 >> 2] = f;c[e >> 2] = c[h >> 2];c[e + 4 >> 2] = c[h + 4 >> 2];Al(g, e, d);c[j >> 2] = (c[j >> 2] | 0) + 12;El(a, i);Fl(i);l = k;return; + } + }function Cl(a) { + a = a | 0;return 357913941; + }function Dl(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 357913941) Ta();else { + f = qC(b * 12 | 0) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d * 12 | 0) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b * 12 | 0);return; + }function El(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (((f | 0) / -12 | 0) * 12 | 0) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function Fl(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~(((e + -12 - b | 0) >>> 0) / 12 | 0) * 12 | 0);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function Gl(a) { + a = a | 0;Jl(a);return; + }function Hl(a) { + a = a | 0;Il(a + 24 | 0);return; + }function Il(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~(((b + -12 - e | 0) >>> 0) / 12 | 0) * 12 | 0);sC(d); + }return; + }function Jl(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 2, 6, b, Kl() | 0, 1);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function Kl() { + return 1204; + }function Ll(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = Ml(a) | 0;a = c[h + 4 >> 2] | 0;c[g >> 2] = c[h >> 2];c[g + 4 >> 2] = a;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];Nl(b, f, d);l = e;return; + }function Ml(a) { + a = a | 0;return (c[(xl() | 0) + 24 >> 2] | 0) + (a * 12 | 0) | 0; + }function Nl(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0;g = l;l = l + 16 | 0;f = g;e = c[b >> 2] | 0;b = c[b + 4 >> 2] | 0;a = a + (b >> 1) | 0;if (b & 1) e = c[(c[a >> 2] | 0) + e >> 2] | 0;Ol(f, d);f = Pl(f, d) | 0;ob[e & 31](a, f);l = g;return; + }function Ol(a, b) { + a = a | 0;b = b | 0;return; + }function Pl(a, b) { + a = a | 0;b = b | 0;return Ql(b) | 0; + }function Ql(a) { + a = a | 0;return a | 0; + }function Rl(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;i = c[d >> 2] | 0;h = c[d + 4 >> 2] | 0;d = ai(b) | 0;c[g >> 2] = i;c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];Sl(a, d, f, 0);l = e;return; + }function Sl(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;f = l;l = l + 32 | 0;g = f + 16 | 0;m = f + 8 | 0;i = f;k = c[d >> 2] | 0;j = c[d + 4 >> 2] | 0;h = c[a >> 2] | 0;a = Tl() | 0;c[m >> 2] = k;c[m + 4 >> 2] = j;c[g >> 2] = c[m >> 2];c[g + 4 >> 2] = c[m + 4 >> 2];d = Ul(g) | 0;c[i >> 2] = k;c[i + 4 >> 2] = j;c[g >> 2] = c[i >> 2];c[g + 4 >> 2] = c[i + 4 >> 2];fi(h, b, a, d, Vl(g, e) | 0, e);l = f;return; + }function Tl() { + var b = 0, + d = 0;if (!(a[7696] | 0)) { + am(9484);Ha(33, 9484, o | 0) | 0;d = 7696;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(9484) | 0)) { + b = 9484;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));am(9484); + }return 9484; + }function Ul(a) { + a = a | 0;return 0; + }function Vl(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0;m = l;l = l + 32 | 0;f = m + 24 | 0;h = m + 16 | 0;i = m;j = m + 8 | 0;g = c[a >> 2] | 0;e = c[a + 4 >> 2] | 0;c[i >> 2] = g;c[i + 4 >> 2] = e;n = Tl() | 0;k = n + 24 | 0;a = ji(b, 4) | 0;c[j >> 2] = a;b = n + 28 | 0;d = c[b >> 2] | 0;if (d >>> 0 < (c[n + 32 >> 2] | 0) >>> 0) { + c[h >> 2] = g;c[h + 4 >> 2] = e;c[f >> 2] = c[h >> 2];c[f + 4 >> 2] = c[h + 4 >> 2];Wl(d, f, a);a = (c[b >> 2] | 0) + 12 | 0;c[b >> 2] = a; + } else { + Xl(k, i, j);a = c[b >> 2] | 0; + }l = m;return ((a - (c[k >> 2] | 0) | 0) / 12 | 0) + -1 | 0; + }function Wl(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0;e = c[b + 4 >> 2] | 0;c[a >> 2] = c[b >> 2];c[a + 4 >> 2] = e;c[a + 8 >> 2] = d;return; + }function Xl(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0;k = l;l = l + 48 | 0;e = k + 32 | 0;h = k + 24 | 0;i = k;j = a + 4 | 0;f = (((c[j >> 2] | 0) - (c[a >> 2] | 0) | 0) / 12 | 0) + 1 | 0;g = Yl(a) | 0;if (g >>> 0 < f >>> 0) jC(a);else { + m = c[a >> 2] | 0;o = ((c[a + 8 >> 2] | 0) - m | 0) / 12 | 0;n = o << 1;Zl(i, o >>> 0 < g >>> 1 >>> 0 ? n >>> 0 < f >>> 0 ? f : n : g, ((c[j >> 2] | 0) - m | 0) / 12 | 0, a + 8 | 0);j = i + 8 | 0;g = c[j >> 2] | 0;f = c[b + 4 >> 2] | 0;d = c[d >> 2] | 0;c[h >> 2] = c[b >> 2];c[h + 4 >> 2] = f;c[e >> 2] = c[h >> 2];c[e + 4 >> 2] = c[h + 4 >> 2];Wl(g, e, d);c[j >> 2] = (c[j >> 2] | 0) + 12;_l(a, i);$l(i);l = k;return; + } + }function Yl(a) { + a = a | 0;return 357913941; + }function Zl(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 357913941) Ta();else { + f = qC(b * 12 | 0) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d * 12 | 0) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b * 12 | 0);return; + }function _l(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (((f | 0) / -12 | 0) * 12 | 0) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function $l(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~(((e + -12 - b | 0) >>> 0) / 12 | 0) * 12 | 0);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function am(a) { + a = a | 0;dm(a);return; + }function bm(a) { + a = a | 0;cm(a + 24 | 0);return; + }function cm(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~(((b + -12 - e | 0) >>> 0) / 12 | 0) * 12 | 0);sC(d); + }return; + }function dm(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 2, 1, b, em() | 0, 2);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function em() { + return 1212; + }function fm(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0;f = l;l = l + 16 | 0;g = f + 8 | 0;h = f;i = gm(a) | 0;a = c[i + 4 >> 2] | 0;c[h >> 2] = c[i >> 2];c[h + 4 >> 2] = a;c[g >> 2] = c[h >> 2];c[g + 4 >> 2] = c[h + 4 >> 2];hm(b, g, d, e);l = f;return; + }function gm(a) { + a = a | 0;return (c[(Tl() | 0) + 24 >> 2] | 0) + (a * 12 | 0) | 0; + }function hm(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0;i = l;l = l + 16 | 0;g = i + 1 | 0;h = i;f = c[b >> 2] | 0;b = c[b + 4 >> 2] | 0;a = a + (b >> 1) | 0;if (b & 1) f = c[(c[a >> 2] | 0) + f >> 2] | 0;Ol(g, d);g = Pl(g, d) | 0;Gk(h, e);h = Hk(h, e) | 0;Eb[f & 15](a, g, h);l = i;return; + }function im(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;i = c[d >> 2] | 0;h = c[d + 4 >> 2] | 0;d = ai(b) | 0;c[g >> 2] = i;c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];jm(a, d, f, 1);l = e;return; + }function jm(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;f = l;l = l + 32 | 0;g = f + 16 | 0;m = f + 8 | 0;i = f;k = c[d >> 2] | 0;j = c[d + 4 >> 2] | 0;h = c[a >> 2] | 0;a = km() | 0;c[m >> 2] = k;c[m + 4 >> 2] = j;c[g >> 2] = c[m >> 2];c[g + 4 >> 2] = c[m + 4 >> 2];d = lm(g) | 0;c[i >> 2] = k;c[i + 4 >> 2] = j;c[g >> 2] = c[i >> 2];c[g + 4 >> 2] = c[i + 4 >> 2];fi(h, b, a, d, mm(g, e) | 0, e);l = f;return; + }function km() { + var b = 0, + d = 0;if (!(a[7704] | 0)) { + tm(9520);Ha(34, 9520, o | 0) | 0;d = 7704;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(9520) | 0)) { + b = 9520;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));tm(9520); + }return 9520; + }function lm(a) { + a = a | 0;return 0; + }function mm(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0;m = l;l = l + 32 | 0;f = m + 24 | 0;h = m + 16 | 0;i = m;j = m + 8 | 0;g = c[a >> 2] | 0;e = c[a + 4 >> 2] | 0;c[i >> 2] = g;c[i + 4 >> 2] = e;n = km() | 0;k = n + 24 | 0;a = ji(b, 4) | 0;c[j >> 2] = a;b = n + 28 | 0;d = c[b >> 2] | 0;if (d >>> 0 < (c[n + 32 >> 2] | 0) >>> 0) { + c[h >> 2] = g;c[h + 4 >> 2] = e;c[f >> 2] = c[h >> 2];c[f + 4 >> 2] = c[h + 4 >> 2];nm(d, f, a);a = (c[b >> 2] | 0) + 12 | 0;c[b >> 2] = a; + } else { + om(k, i, j);a = c[b >> 2] | 0; + }l = m;return ((a - (c[k >> 2] | 0) | 0) / 12 | 0) + -1 | 0; + }function nm(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0;e = c[b + 4 >> 2] | 0;c[a >> 2] = c[b >> 2];c[a + 4 >> 2] = e;c[a + 8 >> 2] = d;return; + }function om(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0;k = l;l = l + 48 | 0;e = k + 32 | 0;h = k + 24 | 0;i = k;j = a + 4 | 0;f = (((c[j >> 2] | 0) - (c[a >> 2] | 0) | 0) / 12 | 0) + 1 | 0;g = pm(a) | 0;if (g >>> 0 < f >>> 0) jC(a);else { + m = c[a >> 2] | 0;o = ((c[a + 8 >> 2] | 0) - m | 0) / 12 | 0;n = o << 1;qm(i, o >>> 0 < g >>> 1 >>> 0 ? n >>> 0 < f >>> 0 ? f : n : g, ((c[j >> 2] | 0) - m | 0) / 12 | 0, a + 8 | 0);j = i + 8 | 0;g = c[j >> 2] | 0;f = c[b + 4 >> 2] | 0;d = c[d >> 2] | 0;c[h >> 2] = c[b >> 2];c[h + 4 >> 2] = f;c[e >> 2] = c[h >> 2];c[e + 4 >> 2] = c[h + 4 >> 2];nm(g, e, d);c[j >> 2] = (c[j >> 2] | 0) + 12;rm(a, i);sm(i);l = k;return; + } + }function pm(a) { + a = a | 0;return 357913941; + }function qm(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 357913941) Ta();else { + f = qC(b * 12 | 0) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d * 12 | 0) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b * 12 | 0);return; + }function rm(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (((f | 0) / -12 | 0) * 12 | 0) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function sm(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~(((e + -12 - b | 0) >>> 0) / 12 | 0) * 12 | 0);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function tm(a) { + a = a | 0;wm(a);return; + }function um(a) { + a = a | 0;vm(a + 24 | 0);return; + }function vm(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~(((b + -12 - e | 0) >>> 0) / 12 | 0) * 12 | 0);sC(d); + }return; + }function wm(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 2, 1, b, xm() | 0, 1);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function xm() { + return 1224; + }function ym(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0.0, + f = 0, + g = 0, + h = 0, + i = 0;f = l;l = l + 16 | 0;g = f + 8 | 0;h = f;i = zm(a) | 0;a = c[i + 4 >> 2] | 0;c[h >> 2] = c[i >> 2];c[h + 4 >> 2] = a;c[g >> 2] = c[h >> 2];c[g + 4 >> 2] = c[h + 4 >> 2];e = +Am(b, g, d);l = f;return +e; + }function zm(a) { + a = a | 0;return (c[(km() | 0) + 24 >> 2] | 0) + (a * 12 | 0) | 0; + }function Am(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0.0;g = l;l = l + 16 | 0;f = g;e = c[b >> 2] | 0;b = c[b + 4 >> 2] | 0;a = a + (b >> 1) | 0;if (b & 1) e = c[(c[a >> 2] | 0) + e >> 2] | 0;tj(f, d);f = uj(f, d) | 0;h = +ch(+zb[e & 7](a, f));l = g;return +h; + }function Bm(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;i = c[d >> 2] | 0;h = c[d + 4 >> 2] | 0;d = ai(b) | 0;c[g >> 2] = i;c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];Cm(a, d, f, 1);l = e;return; + }function Cm(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;f = l;l = l + 32 | 0;g = f + 16 | 0;m = f + 8 | 0;i = f;k = c[d >> 2] | 0;j = c[d + 4 >> 2] | 0;h = c[a >> 2] | 0;a = Dm() | 0;c[m >> 2] = k;c[m + 4 >> 2] = j;c[g >> 2] = c[m >> 2];c[g + 4 >> 2] = c[m + 4 >> 2];d = Em(g) | 0;c[i >> 2] = k;c[i + 4 >> 2] = j;c[g >> 2] = c[i >> 2];c[g + 4 >> 2] = c[i + 4 >> 2];fi(h, b, a, d, Fm(g, e) | 0, e);l = f;return; + }function Dm() { + var b = 0, + d = 0;if (!(a[7712] | 0)) { + Mm(9556);Ha(35, 9556, o | 0) | 0;d = 7712;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(9556) | 0)) { + b = 9556;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));Mm(9556); + }return 9556; + }function Em(a) { + a = a | 0;return 0; + }function Fm(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0;m = l;l = l + 32 | 0;f = m + 24 | 0;h = m + 16 | 0;i = m;j = m + 8 | 0;g = c[a >> 2] | 0;e = c[a + 4 >> 2] | 0;c[i >> 2] = g;c[i + 4 >> 2] = e;n = Dm() | 0;k = n + 24 | 0;a = ji(b, 4) | 0;c[j >> 2] = a;b = n + 28 | 0;d = c[b >> 2] | 0;if (d >>> 0 < (c[n + 32 >> 2] | 0) >>> 0) { + c[h >> 2] = g;c[h + 4 >> 2] = e;c[f >> 2] = c[h >> 2];c[f + 4 >> 2] = c[h + 4 >> 2];Gm(d, f, a);a = (c[b >> 2] | 0) + 12 | 0;c[b >> 2] = a; + } else { + Hm(k, i, j);a = c[b >> 2] | 0; + }l = m;return ((a - (c[k >> 2] | 0) | 0) / 12 | 0) + -1 | 0; + }function Gm(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0;e = c[b + 4 >> 2] | 0;c[a >> 2] = c[b >> 2];c[a + 4 >> 2] = e;c[a + 8 >> 2] = d;return; + }function Hm(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0;k = l;l = l + 48 | 0;e = k + 32 | 0;h = k + 24 | 0;i = k;j = a + 4 | 0;f = (((c[j >> 2] | 0) - (c[a >> 2] | 0) | 0) / 12 | 0) + 1 | 0;g = Im(a) | 0;if (g >>> 0 < f >>> 0) jC(a);else { + m = c[a >> 2] | 0;o = ((c[a + 8 >> 2] | 0) - m | 0) / 12 | 0;n = o << 1;Jm(i, o >>> 0 < g >>> 1 >>> 0 ? n >>> 0 < f >>> 0 ? f : n : g, ((c[j >> 2] | 0) - m | 0) / 12 | 0, a + 8 | 0);j = i + 8 | 0;g = c[j >> 2] | 0;f = c[b + 4 >> 2] | 0;d = c[d >> 2] | 0;c[h >> 2] = c[b >> 2];c[h + 4 >> 2] = f;c[e >> 2] = c[h >> 2];c[e + 4 >> 2] = c[h + 4 >> 2];Gm(g, e, d);c[j >> 2] = (c[j >> 2] | 0) + 12;Km(a, i);Lm(i);l = k;return; + } + }function Im(a) { + a = a | 0;return 357913941; + }function Jm(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 357913941) Ta();else { + f = qC(b * 12 | 0) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d * 12 | 0) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b * 12 | 0);return; + }function Km(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (((f | 0) / -12 | 0) * 12 | 0) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function Lm(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~(((e + -12 - b | 0) >>> 0) / 12 | 0) * 12 | 0);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function Mm(a) { + a = a | 0;Pm(a);return; + }function Nm(a) { + a = a | 0;Om(a + 24 | 0);return; + }function Om(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~(((b + -12 - e | 0) >>> 0) / 12 | 0) * 12 | 0);sC(d); + }return; + }function Pm(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 2, 5, b, Qm() | 0, 0);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function Qm() { + return 1232; + }function Rm(a, b) { + a = a | 0;b = b | 0;var d = 0.0, + e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = Sm(a) | 0;a = c[h + 4 >> 2] | 0;c[g >> 2] = c[h >> 2];c[g + 4 >> 2] = a;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];d = +Tm(b, f);l = e;return +d; + }function Sm(a) { + a = a | 0;return (c[(Dm() | 0) + 24 >> 2] | 0) + (a * 12 | 0) | 0; + }function Tm(a, b) { + a = a | 0;b = b | 0;var d = 0;d = c[b >> 2] | 0;b = c[b + 4 >> 2] | 0;a = a + (b >> 1) | 0;if (b & 1) d = c[(c[a >> 2] | 0) + d >> 2] | 0;return + +ch(+ub[d & 15](a)); + }function Um(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;i = c[d >> 2] | 0;h = c[d + 4 >> 2] | 0;d = ai(b) | 0;c[g >> 2] = i;c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];Vm(a, d, f, 1);l = e;return; + }function Vm(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;f = l;l = l + 32 | 0;g = f + 16 | 0;m = f + 8 | 0;i = f;k = c[d >> 2] | 0;j = c[d + 4 >> 2] | 0;h = c[a >> 2] | 0;a = Wm() | 0;c[m >> 2] = k;c[m + 4 >> 2] = j;c[g >> 2] = c[m >> 2];c[g + 4 >> 2] = c[m + 4 >> 2];d = Xm(g) | 0;c[i >> 2] = k;c[i + 4 >> 2] = j;c[g >> 2] = c[i >> 2];c[g + 4 >> 2] = c[i + 4 >> 2];fi(h, b, a, d, Ym(g, e) | 0, e);l = f;return; + }function Wm() { + var b = 0, + d = 0;if (!(a[7720] | 0)) { + dn(9592);Ha(36, 9592, o | 0) | 0;d = 7720;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(9592) | 0)) { + b = 9592;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));dn(9592); + }return 9592; + }function Xm(a) { + a = a | 0;return 0; + }function Ym(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0;m = l;l = l + 32 | 0;f = m + 24 | 0;h = m + 16 | 0;i = m;j = m + 8 | 0;g = c[a >> 2] | 0;e = c[a + 4 >> 2] | 0;c[i >> 2] = g;c[i + 4 >> 2] = e;n = Wm() | 0;k = n + 24 | 0;a = ji(b, 4) | 0;c[j >> 2] = a;b = n + 28 | 0;d = c[b >> 2] | 0;if (d >>> 0 < (c[n + 32 >> 2] | 0) >>> 0) { + c[h >> 2] = g;c[h + 4 >> 2] = e;c[f >> 2] = c[h >> 2];c[f + 4 >> 2] = c[h + 4 >> 2];Zm(d, f, a);a = (c[b >> 2] | 0) + 12 | 0;c[b >> 2] = a; + } else { + _m(k, i, j);a = c[b >> 2] | 0; + }l = m;return ((a - (c[k >> 2] | 0) | 0) / 12 | 0) + -1 | 0; + }function Zm(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0;e = c[b + 4 >> 2] | 0;c[a >> 2] = c[b >> 2];c[a + 4 >> 2] = e;c[a + 8 >> 2] = d;return; + }function _m(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0;k = l;l = l + 48 | 0;e = k + 32 | 0;h = k + 24 | 0;i = k;j = a + 4 | 0;f = (((c[j >> 2] | 0) - (c[a >> 2] | 0) | 0) / 12 | 0) + 1 | 0;g = $m(a) | 0;if (g >>> 0 < f >>> 0) jC(a);else { + m = c[a >> 2] | 0;o = ((c[a + 8 >> 2] | 0) - m | 0) / 12 | 0;n = o << 1;an(i, o >>> 0 < g >>> 1 >>> 0 ? n >>> 0 < f >>> 0 ? f : n : g, ((c[j >> 2] | 0) - m | 0) / 12 | 0, a + 8 | 0);j = i + 8 | 0;g = c[j >> 2] | 0;f = c[b + 4 >> 2] | 0;d = c[d >> 2] | 0;c[h >> 2] = c[b >> 2];c[h + 4 >> 2] = f;c[e >> 2] = c[h >> 2];c[e + 4 >> 2] = c[h + 4 >> 2];Zm(g, e, d);c[j >> 2] = (c[j >> 2] | 0) + 12;bn(a, i);cn(i);l = k;return; + } + }function $m(a) { + a = a | 0;return 357913941; + }function an(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 357913941) Ta();else { + f = qC(b * 12 | 0) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d * 12 | 0) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b * 12 | 0);return; + }function bn(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (((f | 0) / -12 | 0) * 12 | 0) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function cn(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~(((e + -12 - b | 0) >>> 0) / 12 | 0) * 12 | 0);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function dn(a) { + a = a | 0;gn(a);return; + }function en(a) { + a = a | 0;fn(a + 24 | 0);return; + }function fn(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~(((b + -12 - e | 0) >>> 0) / 12 | 0) * 12 | 0);sC(d); + }return; + }function gn(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 2, 7, b, hn() | 0, 0);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function hn() { + return 1276; + }function jn(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0;d = l;l = l + 16 | 0;e = d + 8 | 0;f = d;g = kn(a) | 0;a = c[g + 4 >> 2] | 0;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = a;c[e >> 2] = c[f >> 2];c[e + 4 >> 2] = c[f + 4 >> 2];b = ln(b, e) | 0;l = d;return b | 0; + }function kn(a) { + a = a | 0;return (c[(Wm() | 0) + 24 >> 2] | 0) + (a * 12 | 0) | 0; + }function ln(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0;f = l;l = l + 16 | 0;e = f;d = c[b >> 2] | 0;b = c[b + 4 >> 2] | 0;a = a + (b >> 1) | 0;if (b & 1) d = c[(c[a >> 2] | 0) + d >> 2] | 0;ob[d & 31](e, a);e = mn(e) | 0;l = f;return e | 0; + }function mn(a) { + a = a | 0;var b = 0, + c = 0, + d = 0, + e = 0;e = l;l = l + 32 | 0;b = e + 12 | 0;c = e;d = Di(nn() | 0) | 0;if (!d) a = pn(a) | 0;else { + Ei(b, d);Fi(c, b);on(a, c);a = Hi(b) | 0; + }l = e;return a | 0; + }function nn() { + var b = 0;if (!(a[7736] | 0)) { + An(9640);Ha(25, 9640, o | 0) | 0;b = 7736;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }return 9640; + }function on(a, b) { + a = a | 0;b = b | 0;un(b, a, a + 8 | 0) | 0;return; + } + function pn(a) { + a = a | 0;var b = 0, + d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0;d = l;l = l + 16 | 0;f = d + 4 | 0;h = d;e = jy(8) | 0;b = e;i = qC(16) | 0;c[i >> 2] = c[a >> 2];c[i + 4 >> 2] = c[a + 4 >> 2];c[i + 8 >> 2] = c[a + 8 >> 2];c[i + 12 >> 2] = c[a + 12 >> 2];g = b + 4 | 0;c[g >> 2] = i;a = qC(8) | 0;g = c[g >> 2] | 0;c[h >> 2] = 0;c[f >> 2] = c[h >> 2];qn(a, g, f);c[e >> 2] = a;l = d;return b | 0; + }function qn(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;c[a >> 2] = b;d = qC(16) | 0;c[d + 4 >> 2] = 0;c[d + 8 >> 2] = 0;c[d >> 2] = 1244;c[d + 12 >> 2] = b;c[a + 4 >> 2] = d;return; + }function rn(a) { + a = a | 0;kC(a);sC(a);return; + }function sn(a) { + a = a | 0;a = c[a + 12 >> 2] | 0;if (a | 0) sC(a);return; + }function tn(a) { + a = a | 0;sC(a);return; + }function un(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;b = vn(c[a >> 2] | 0, b, d) | 0;d = a + 4 | 0;c[(c[d >> 2] | 0) + 8 >> 2] = b;return c[(c[d >> 2] | 0) + 8 >> 2] | 0; + }function vn(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0;e = l;l = l + 16 | 0;f = e;UA(f);a = Sg(a) | 0;d = wn(a, c[b >> 2] | 0, +h[d >> 3]) | 0;WA(f);l = e;return d | 0; + }function wn(a, b, c) { + a = a | 0;b = b | 0;c = +c;var d = 0;d = Vg(xn() | 0) | 0;b = Xg(b) | 0;return za(0, d | 0, a | 0, b | 0, + +Wg(c)) | 0; + }function xn() { + var b = 0;if (!(a[7728] | 0)) { + yn(9628);b = 7728;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }return 9628; + }function yn(a) { + a = a | 0;fh(a, zn() | 0, 2);return; + }function zn() { + return 1264; + }function An(a) { + a = a | 0;Zi(a);return; + }function Bn(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;i = c[d >> 2] | 0;h = c[d + 4 >> 2] | 0;d = ai(b) | 0;c[g >> 2] = i;c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];Cn(a, d, f, 1);l = e;return; + }function Cn(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;f = l;l = l + 32 | 0;g = f + 16 | 0;m = f + 8 | 0;i = f;k = c[d >> 2] | 0;j = c[d + 4 >> 2] | 0;h = c[a >> 2] | 0;a = Dn() | 0;c[m >> 2] = k;c[m + 4 >> 2] = j;c[g >> 2] = c[m >> 2];c[g + 4 >> 2] = c[m + 4 >> 2];d = En(g) | 0;c[i >> 2] = k;c[i + 4 >> 2] = j;c[g >> 2] = c[i >> 2];c[g + 4 >> 2] = c[i + 4 >> 2];fi(h, b, a, d, Fn(g, e) | 0, e);l = f;return; + }function Dn() { + var b = 0, + d = 0;if (!(a[7744] | 0)) { + Mn(9684);Ha(37, 9684, o | 0) | 0;d = 7744;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(9684) | 0)) { + b = 9684;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));Mn(9684); + }return 9684; + }function En(a) { + a = a | 0;return 0; + }function Fn(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0;m = l;l = l + 32 | 0;f = m + 24 | 0;h = m + 16 | 0;i = m;j = m + 8 | 0;g = c[a >> 2] | 0;e = c[a + 4 >> 2] | 0;c[i >> 2] = g;c[i + 4 >> 2] = e;n = Dn() | 0;k = n + 24 | 0;a = ji(b, 4) | 0;c[j >> 2] = a;b = n + 28 | 0;d = c[b >> 2] | 0;if (d >>> 0 < (c[n + 32 >> 2] | 0) >>> 0) { + c[h >> 2] = g;c[h + 4 >> 2] = e;c[f >> 2] = c[h >> 2];c[f + 4 >> 2] = c[h + 4 >> 2];Gn(d, f, a);a = (c[b >> 2] | 0) + 12 | 0;c[b >> 2] = a; + } else { + Hn(k, i, j);a = c[b >> 2] | 0; + }l = m;return ((a - (c[k >> 2] | 0) | 0) / 12 | 0) + -1 | 0; + }function Gn(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0;e = c[b + 4 >> 2] | 0;c[a >> 2] = c[b >> 2];c[a + 4 >> 2] = e;c[a + 8 >> 2] = d;return; + }function Hn(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0;k = l;l = l + 48 | 0;e = k + 32 | 0;h = k + 24 | 0;i = k;j = a + 4 | 0;f = (((c[j >> 2] | 0) - (c[a >> 2] | 0) | 0) / 12 | 0) + 1 | 0;g = In(a) | 0;if (g >>> 0 < f >>> 0) jC(a);else { + m = c[a >> 2] | 0;o = ((c[a + 8 >> 2] | 0) - m | 0) / 12 | 0;n = o << 1;Jn(i, o >>> 0 < g >>> 1 >>> 0 ? n >>> 0 < f >>> 0 ? f : n : g, ((c[j >> 2] | 0) - m | 0) / 12 | 0, a + 8 | 0);j = i + 8 | 0;g = c[j >> 2] | 0;f = c[b + 4 >> 2] | 0;d = c[d >> 2] | 0;c[h >> 2] = c[b >> 2];c[h + 4 >> 2] = f;c[e >> 2] = c[h >> 2];c[e + 4 >> 2] = c[h + 4 >> 2];Gn(g, e, d);c[j >> 2] = (c[j >> 2] | 0) + 12;Kn(a, i);Ln(i);l = k;return; + } + }function In(a) { + a = a | 0;return 357913941; + }function Jn(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 357913941) Ta();else { + f = qC(b * 12 | 0) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d * 12 | 0) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b * 12 | 0);return; + }function Kn(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (((f | 0) / -12 | 0) * 12 | 0) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function Ln(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~(((e + -12 - b | 0) >>> 0) / 12 | 0) * 12 | 0);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function Mn(a) { + a = a | 0;Pn(a);return; + }function Nn(a) { + a = a | 0;On(a + 24 | 0);return; + }function On(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~(((b + -12 - e | 0) >>> 0) / 12 | 0) * 12 | 0);sC(d); + }return; + }function Pn(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 2, 5, b, Qn() | 0, 1);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function Qn() { + return 1280; + }function Rn(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = Sn(a) | 0;a = c[h + 4 >> 2] | 0;c[g >> 2] = c[h >> 2];c[g + 4 >> 2] = a;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];d = Tn(b, f, d) | 0;l = e;return d | 0; + }function Sn(a) { + a = a | 0;return (c[(Dn() | 0) + 24 >> 2] | 0) + (a * 12 | 0) | 0; + }function Tn(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;h = l;l = l + 32 | 0;f = h;g = h + 16 | 0;e = c[b >> 2] | 0;b = c[b + 4 >> 2] | 0;a = a + (b >> 1) | 0;if (b & 1) e = c[(c[a >> 2] | 0) + e >> 2] | 0;tj(g, d);g = uj(g, d) | 0;Eb[e & 15](f, a, g);g = mn(f) | 0;l = h;return g | 0; + }function Un(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;i = c[d >> 2] | 0;h = c[d + 4 >> 2] | 0;d = ai(b) | 0;c[g >> 2] = i;c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];Vn(a, d, f, 1);l = e;return; + }function Vn(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;f = l;l = l + 32 | 0;g = f + 16 | 0;m = f + 8 | 0;i = f;k = c[d >> 2] | 0;j = c[d + 4 >> 2] | 0;h = c[a >> 2] | 0;a = Wn() | 0;c[m >> 2] = k;c[m + 4 >> 2] = j;c[g >> 2] = c[m >> 2];c[g + 4 >> 2] = c[m + 4 >> 2];d = Xn(g) | 0;c[i >> 2] = k;c[i + 4 >> 2] = j;c[g >> 2] = c[i >> 2];c[g + 4 >> 2] = c[i + 4 >> 2];fi(h, b, a, d, Yn(g, e) | 0, e);l = f;return; + }function Wn() { + var b = 0, + d = 0;if (!(a[7752] | 0)) { + eo(9720);Ha(38, 9720, o | 0) | 0;d = 7752;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(9720) | 0)) { + b = 9720;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));eo(9720); + }return 9720; + }function Xn(a) { + a = a | 0;return 0; + }function Yn(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0;m = l;l = l + 32 | 0;f = m + 24 | 0;h = m + 16 | 0;i = m;j = m + 8 | 0;g = c[a >> 2] | 0;e = c[a + 4 >> 2] | 0;c[i >> 2] = g;c[i + 4 >> 2] = e;n = Wn() | 0;k = n + 24 | 0;a = ji(b, 4) | 0;c[j >> 2] = a;b = n + 28 | 0;d = c[b >> 2] | 0;if (d >>> 0 < (c[n + 32 >> 2] | 0) >>> 0) { + c[h >> 2] = g;c[h + 4 >> 2] = e;c[f >> 2] = c[h >> 2];c[f + 4 >> 2] = c[h + 4 >> 2];Zn(d, f, a);a = (c[b >> 2] | 0) + 12 | 0;c[b >> 2] = a; + } else { + _n(k, i, j);a = c[b >> 2] | 0; + }l = m;return ((a - (c[k >> 2] | 0) | 0) / 12 | 0) + -1 | 0; + }function Zn(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0;e = c[b + 4 >> 2] | 0;c[a >> 2] = c[b >> 2];c[a + 4 >> 2] = e;c[a + 8 >> 2] = d;return; + }function _n(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0;k = l;l = l + 48 | 0;e = k + 32 | 0;h = k + 24 | 0;i = k;j = a + 4 | 0;f = (((c[j >> 2] | 0) - (c[a >> 2] | 0) | 0) / 12 | 0) + 1 | 0;g = $n(a) | 0;if (g >>> 0 < f >>> 0) jC(a);else { + m = c[a >> 2] | 0;o = ((c[a + 8 >> 2] | 0) - m | 0) / 12 | 0;n = o << 1;ao(i, o >>> 0 < g >>> 1 >>> 0 ? n >>> 0 < f >>> 0 ? f : n : g, ((c[j >> 2] | 0) - m | 0) / 12 | 0, a + 8 | 0);j = i + 8 | 0;g = c[j >> 2] | 0;f = c[b + 4 >> 2] | 0;d = c[d >> 2] | 0;c[h >> 2] = c[b >> 2];c[h + 4 >> 2] = f;c[e >> 2] = c[h >> 2];c[e + 4 >> 2] = c[h + 4 >> 2];Zn(g, e, d);c[j >> 2] = (c[j >> 2] | 0) + 12;bo(a, i);co(i);l = k;return; + } + }function $n(a) { + a = a | 0;return 357913941; + }function ao(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 357913941) Ta();else { + f = qC(b * 12 | 0) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d * 12 | 0) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b * 12 | 0);return; + }function bo(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (((f | 0) / -12 | 0) * 12 | 0) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function co(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~(((e + -12 - b | 0) >>> 0) / 12 | 0) * 12 | 0);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function eo(a) { + a = a | 0;ho(a);return; + }function fo(a) { + a = a | 0;go(a + 24 | 0);return; + }function go(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~(((b + -12 - e | 0) >>> 0) / 12 | 0) * 12 | 0);sC(d); + }return; + }function ho(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 2, 8, b, io() | 0, 0);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function io() { + return 1288; + }function jo(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0;d = l;l = l + 16 | 0;e = d + 8 | 0;f = d;g = ko(a) | 0;a = c[g + 4 >> 2] | 0;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = a;c[e >> 2] = c[f >> 2];c[e + 4 >> 2] = c[f + 4 >> 2];b = lo(b, e) | 0;l = d;return b | 0; + }function ko(a) { + a = a | 0;return (c[(Wn() | 0) + 24 >> 2] | 0) + (a * 12 | 0) | 0; + }function lo(a, b) { + a = a | 0;b = b | 0;var d = 0;d = c[b >> 2] | 0;b = c[b + 4 >> 2] | 0;a = a + (b >> 1) | 0;if (b & 1) d = c[(c[a >> 2] | 0) + d >> 2] | 0;return bh(pb[d & 31](a) | 0) | 0; + }function mo(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;i = c[d >> 2] | 0;h = c[d + 4 >> 2] | 0;d = ai(b) | 0;c[g >> 2] = i;c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];no(a, d, f, 0);l = e;return; + }function no(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;f = l;l = l + 32 | 0;g = f + 16 | 0;m = f + 8 | 0;i = f;k = c[d >> 2] | 0;j = c[d + 4 >> 2] | 0;h = c[a >> 2] | 0;a = oo() | 0;c[m >> 2] = k;c[m + 4 >> 2] = j;c[g >> 2] = c[m >> 2];c[g + 4 >> 2] = c[m + 4 >> 2];d = po(g) | 0;c[i >> 2] = k;c[i + 4 >> 2] = j;c[g >> 2] = c[i >> 2];c[g + 4 >> 2] = c[i + 4 >> 2];fi(h, b, a, d, qo(g, e) | 0, e);l = f;return; + }function oo() { + var b = 0, + d = 0;if (!(a[7760] | 0)) { + xo(9756);Ha(39, 9756, o | 0) | 0;d = 7760;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(9756) | 0)) { + b = 9756;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));xo(9756); + }return 9756; + }function po(a) { + a = a | 0;return 0; + }function qo(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0;m = l;l = l + 32 | 0;f = m + 24 | 0;h = m + 16 | 0;i = m;j = m + 8 | 0;g = c[a >> 2] | 0;e = c[a + 4 >> 2] | 0;c[i >> 2] = g;c[i + 4 >> 2] = e;n = oo() | 0;k = n + 24 | 0;a = ji(b, 4) | 0;c[j >> 2] = a;b = n + 28 | 0;d = c[b >> 2] | 0;if (d >>> 0 < (c[n + 32 >> 2] | 0) >>> 0) { + c[h >> 2] = g;c[h + 4 >> 2] = e;c[f >> 2] = c[h >> 2];c[f + 4 >> 2] = c[h + 4 >> 2];ro(d, f, a);a = (c[b >> 2] | 0) + 12 | 0;c[b >> 2] = a; + } else { + so(k, i, j);a = c[b >> 2] | 0; + }l = m;return ((a - (c[k >> 2] | 0) | 0) / 12 | 0) + -1 | 0; + }function ro(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0;e = c[b + 4 >> 2] | 0;c[a >> 2] = c[b >> 2];c[a + 4 >> 2] = e;c[a + 8 >> 2] = d;return; + }function so(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0;k = l;l = l + 48 | 0;e = k + 32 | 0;h = k + 24 | 0;i = k;j = a + 4 | 0;f = (((c[j >> 2] | 0) - (c[a >> 2] | 0) | 0) / 12 | 0) + 1 | 0;g = to(a) | 0;if (g >>> 0 < f >>> 0) jC(a);else { + m = c[a >> 2] | 0;o = ((c[a + 8 >> 2] | 0) - m | 0) / 12 | 0;n = o << 1;uo(i, o >>> 0 < g >>> 1 >>> 0 ? n >>> 0 < f >>> 0 ? f : n : g, ((c[j >> 2] | 0) - m | 0) / 12 | 0, a + 8 | 0);j = i + 8 | 0;g = c[j >> 2] | 0;f = c[b + 4 >> 2] | 0;d = c[d >> 2] | 0;c[h >> 2] = c[b >> 2];c[h + 4 >> 2] = f;c[e >> 2] = c[h >> 2];c[e + 4 >> 2] = c[h + 4 >> 2];ro(g, e, d);c[j >> 2] = (c[j >> 2] | 0) + 12;vo(a, i);wo(i);l = k;return; + } + }function to(a) { + a = a | 0;return 357913941; + }function uo(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 357913941) Ta();else { + f = qC(b * 12 | 0) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d * 12 | 0) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b * 12 | 0);return; + }function vo(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (((f | 0) / -12 | 0) * 12 | 0) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function wo(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~(((e + -12 - b | 0) >>> 0) / 12 | 0) * 12 | 0);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function xo(a) { + a = a | 0;Ao(a);return; + }function yo(a) { + a = a | 0;zo(a + 24 | 0);return; + }function zo(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~(((b + -12 - e | 0) >>> 0) / 12 | 0) * 12 | 0);sC(d); + }return; + }function Ao(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 2, 8, b, Bo() | 0, 1);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function Bo() { + return 1292; + }function Co(a, b, d) { + a = a | 0;b = b | 0;d = +d;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = Do(a) | 0;a = c[h + 4 >> 2] | 0;c[g >> 2] = c[h >> 2];c[g + 4 >> 2] = a;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];Eo(b, f, d);l = e;return; + }function Do(a) { + a = a | 0;return (c[(oo() | 0) + 24 >> 2] | 0) + (a * 12 | 0) | 0; + }function Eo(a, b, d) { + a = a | 0;b = b | 0;d = +d;var e = 0, + f = 0, + g = 0;g = l;l = l + 16 | 0;f = g;e = c[b >> 2] | 0;b = c[b + 4 >> 2] | 0;a = a + (b >> 1) | 0;if (b & 1) e = c[(c[a >> 2] | 0) + e >> 2] | 0;rj(f, d);d = +sj(f, d);lb[e & 31](a, d);l = g;return; + }function Fo(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;i = c[d >> 2] | 0;h = c[d + 4 >> 2] | 0;d = ai(b) | 0;c[g >> 2] = i;c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];Go(a, d, f, 0);l = e;return; + }function Go(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;f = l;l = l + 32 | 0;g = f + 16 | 0;m = f + 8 | 0;i = f;k = c[d >> 2] | 0;j = c[d + 4 >> 2] | 0;h = c[a >> 2] | 0;a = Ho() | 0;c[m >> 2] = k;c[m + 4 >> 2] = j;c[g >> 2] = c[m >> 2];c[g + 4 >> 2] = c[m + 4 >> 2];d = Io(g) | 0;c[i >> 2] = k;c[i + 4 >> 2] = j;c[g >> 2] = c[i >> 2];c[g + 4 >> 2] = c[i + 4 >> 2];fi(h, b, a, d, Jo(g, e) | 0, e);l = f;return; + }function Ho() { + var b = 0, + d = 0;if (!(a[7768] | 0)) { + Qo(9792);Ha(40, 9792, o | 0) | 0;d = 7768;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(9792) | 0)) { + b = 9792;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));Qo(9792); + }return 9792; + }function Io(a) { + a = a | 0;return 0; + }function Jo(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0;m = l;l = l + 32 | 0;f = m + 24 | 0;h = m + 16 | 0;i = m;j = m + 8 | 0;g = c[a >> 2] | 0;e = c[a + 4 >> 2] | 0;c[i >> 2] = g;c[i + 4 >> 2] = e;n = Ho() | 0;k = n + 24 | 0;a = ji(b, 4) | 0;c[j >> 2] = a;b = n + 28 | 0;d = c[b >> 2] | 0;if (d >>> 0 < (c[n + 32 >> 2] | 0) >>> 0) { + c[h >> 2] = g;c[h + 4 >> 2] = e;c[f >> 2] = c[h >> 2];c[f + 4 >> 2] = c[h + 4 >> 2];Ko(d, f, a);a = (c[b >> 2] | 0) + 12 | 0;c[b >> 2] = a; + } else { + Lo(k, i, j);a = c[b >> 2] | 0; + }l = m;return ((a - (c[k >> 2] | 0) | 0) / 12 | 0) + -1 | 0; + }function Ko(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0;e = c[b + 4 >> 2] | 0;c[a >> 2] = c[b >> 2];c[a + 4 >> 2] = e;c[a + 8 >> 2] = d;return; + }function Lo(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0;k = l;l = l + 48 | 0;e = k + 32 | 0;h = k + 24 | 0;i = k;j = a + 4 | 0;f = (((c[j >> 2] | 0) - (c[a >> 2] | 0) | 0) / 12 | 0) + 1 | 0;g = Mo(a) | 0;if (g >>> 0 < f >>> 0) jC(a);else { + m = c[a >> 2] | 0;o = ((c[a + 8 >> 2] | 0) - m | 0) / 12 | 0;n = o << 1;No(i, o >>> 0 < g >>> 1 >>> 0 ? n >>> 0 < f >>> 0 ? f : n : g, ((c[j >> 2] | 0) - m | 0) / 12 | 0, a + 8 | 0);j = i + 8 | 0;g = c[j >> 2] | 0;f = c[b + 4 >> 2] | 0;d = c[d >> 2] | 0;c[h >> 2] = c[b >> 2];c[h + 4 >> 2] = f;c[e >> 2] = c[h >> 2];c[e + 4 >> 2] = c[h + 4 >> 2];Ko(g, e, d);c[j >> 2] = (c[j >> 2] | 0) + 12;Oo(a, i);Po(i);l = k;return; + } + }function Mo(a) { + a = a | 0;return 357913941; + }function No(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 357913941) Ta();else { + f = qC(b * 12 | 0) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d * 12 | 0) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b * 12 | 0);return; + }function Oo(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (((f | 0) / -12 | 0) * 12 | 0) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function Po(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~(((e + -12 - b | 0) >>> 0) / 12 | 0) * 12 | 0);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function Qo(a) { + a = a | 0;To(a);return; + }function Ro(a) { + a = a | 0;So(a + 24 | 0);return; + }function So(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~(((b + -12 - e | 0) >>> 0) / 12 | 0) * 12 | 0);sC(d); + }return; + }function To(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 2, 1, b, Uo() | 0, 2);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function Uo() { + return 1300; + }function Vo(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = +e;var f = 0, + g = 0, + h = 0, + i = 0;f = l;l = l + 16 | 0;g = f + 8 | 0;h = f;i = Wo(a) | 0;a = c[i + 4 >> 2] | 0;c[h >> 2] = c[i >> 2];c[h + 4 >> 2] = a;c[g >> 2] = c[h >> 2];c[g + 4 >> 2] = c[h + 4 >> 2];Xo(b, g, d, e);l = f;return; + }function Wo(a) { + a = a | 0;return (c[(Ho() | 0) + 24 >> 2] | 0) + (a * 12 | 0) | 0; + }function Xo(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = +e;var f = 0, + g = 0, + h = 0, + i = 0;i = l;l = l + 16 | 0;g = i + 1 | 0;h = i;f = c[b >> 2] | 0;b = c[b + 4 >> 2] | 0;a = a + (b >> 1) | 0;if (b & 1) f = c[(c[a >> 2] | 0) + f >> 2] | 0;tj(g, d);g = uj(g, d) | 0;rj(h, e);e = +sj(h, e);Gb[f & 15](a, g, e);l = i;return; + }function Yo(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;i = c[d >> 2] | 0;h = c[d + 4 >> 2] | 0;d = ai(b) | 0;c[g >> 2] = i;c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];Zo(a, d, f, 0);l = e;return; + }function Zo(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;f = l;l = l + 32 | 0;g = f + 16 | 0;m = f + 8 | 0;i = f;k = c[d >> 2] | 0;j = c[d + 4 >> 2] | 0;h = c[a >> 2] | 0;a = _o() | 0;c[m >> 2] = k;c[m + 4 >> 2] = j;c[g >> 2] = c[m >> 2];c[g + 4 >> 2] = c[m + 4 >> 2];d = $o(g) | 0;c[i >> 2] = k;c[i + 4 >> 2] = j;c[g >> 2] = c[i >> 2];c[g + 4 >> 2] = c[i + 4 >> 2];fi(h, b, a, d, ap(g, e) | 0, e);l = f;return; + }function _o() { + var b = 0, + d = 0;if (!(a[7776] | 0)) { + hp(9828);Ha(41, 9828, o | 0) | 0;d = 7776;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(9828) | 0)) { + b = 9828;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));hp(9828); + }return 9828; + }function $o(a) { + a = a | 0;return 0; + }function ap(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0;m = l;l = l + 32 | 0;f = m + 24 | 0;h = m + 16 | 0;i = m;j = m + 8 | 0;g = c[a >> 2] | 0;e = c[a + 4 >> 2] | 0;c[i >> 2] = g;c[i + 4 >> 2] = e;n = _o() | 0;k = n + 24 | 0;a = ji(b, 4) | 0;c[j >> 2] = a;b = n + 28 | 0;d = c[b >> 2] | 0;if (d >>> 0 < (c[n + 32 >> 2] | 0) >>> 0) { + c[h >> 2] = g;c[h + 4 >> 2] = e;c[f >> 2] = c[h >> 2];c[f + 4 >> 2] = c[h + 4 >> 2];bp(d, f, a);a = (c[b >> 2] | 0) + 12 | 0;c[b >> 2] = a; + } else { + cp(k, i, j);a = c[b >> 2] | 0; + }l = m;return ((a - (c[k >> 2] | 0) | 0) / 12 | 0) + -1 | 0; + }function bp(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0;e = c[b + 4 >> 2] | 0;c[a >> 2] = c[b >> 2];c[a + 4 >> 2] = e;c[a + 8 >> 2] = d;return; + }function cp(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0;k = l;l = l + 48 | 0;e = k + 32 | 0;h = k + 24 | 0;i = k;j = a + 4 | 0;f = (((c[j >> 2] | 0) - (c[a >> 2] | 0) | 0) / 12 | 0) + 1 | 0;g = dp(a) | 0;if (g >>> 0 < f >>> 0) jC(a);else { + m = c[a >> 2] | 0;o = ((c[a + 8 >> 2] | 0) - m | 0) / 12 | 0;n = o << 1;ep(i, o >>> 0 < g >>> 1 >>> 0 ? n >>> 0 < f >>> 0 ? f : n : g, ((c[j >> 2] | 0) - m | 0) / 12 | 0, a + 8 | 0);j = i + 8 | 0;g = c[j >> 2] | 0;f = c[b + 4 >> 2] | 0;d = c[d >> 2] | 0;c[h >> 2] = c[b >> 2];c[h + 4 >> 2] = f;c[e >> 2] = c[h >> 2];c[e + 4 >> 2] = c[h + 4 >> 2];bp(g, e, d);c[j >> 2] = (c[j >> 2] | 0) + 12;fp(a, i);gp(i);l = k;return; + } + }function dp(a) { + a = a | 0;return 357913941; + }function ep(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 357913941) Ta();else { + f = qC(b * 12 | 0) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d * 12 | 0) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b * 12 | 0);return; + }function fp(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (((f | 0) / -12 | 0) * 12 | 0) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function gp(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~(((e + -12 - b | 0) >>> 0) / 12 | 0) * 12 | 0);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function hp(a) { + a = a | 0;kp(a);return; + }function ip(a) { + a = a | 0;jp(a + 24 | 0);return; + }function jp(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~(((b + -12 - e | 0) >>> 0) / 12 | 0) * 12 | 0);sC(d); + }return; + }function kp(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 2, 7, b, lp() | 0, 1);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function lp() { + return 1312; + }function mp(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = np(a) | 0;a = c[h + 4 >> 2] | 0;c[g >> 2] = c[h >> 2];c[g + 4 >> 2] = a;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];op(b, f, d);l = e;return; + }function np(a) { + a = a | 0;return (c[(_o() | 0) + 24 >> 2] | 0) + (a * 12 | 0) | 0; + }function op(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0;g = l;l = l + 16 | 0;f = g;e = c[b >> 2] | 0;b = c[b + 4 >> 2] | 0;a = a + (b >> 1) | 0;if (b & 1) e = c[(c[a >> 2] | 0) + e >> 2] | 0;tj(f, d);f = uj(f, d) | 0;ob[e & 31](a, f);l = g;return; + }function pp(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;i = c[d >> 2] | 0;h = c[d + 4 >> 2] | 0;d = ai(b) | 0;c[g >> 2] = i;c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];qp(a, d, f, 0);l = e;return; + }function qp(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;f = l;l = l + 32 | 0;g = f + 16 | 0;m = f + 8 | 0;i = f;k = c[d >> 2] | 0;j = c[d + 4 >> 2] | 0;h = c[a >> 2] | 0;a = rp() | 0;c[m >> 2] = k;c[m + 4 >> 2] = j;c[g >> 2] = c[m >> 2];c[g + 4 >> 2] = c[m + 4 >> 2];d = sp(g) | 0;c[i >> 2] = k;c[i + 4 >> 2] = j;c[g >> 2] = c[i >> 2];c[g + 4 >> 2] = c[i + 4 >> 2];fi(h, b, a, d, tp(g, e) | 0, e);l = f;return; + }function rp() { + var b = 0, + d = 0;if (!(a[7784] | 0)) { + Ap(9864);Ha(42, 9864, o | 0) | 0;d = 7784;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(9864) | 0)) { + b = 9864;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));Ap(9864); + }return 9864; + }function sp(a) { + a = a | 0;return 0; + }function tp(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0;m = l;l = l + 32 | 0;f = m + 24 | 0;h = m + 16 | 0;i = m;j = m + 8 | 0;g = c[a >> 2] | 0;e = c[a + 4 >> 2] | 0;c[i >> 2] = g;c[i + 4 >> 2] = e;n = rp() | 0;k = n + 24 | 0;a = ji(b, 4) | 0;c[j >> 2] = a;b = n + 28 | 0;d = c[b >> 2] | 0;if (d >>> 0 < (c[n + 32 >> 2] | 0) >>> 0) { + c[h >> 2] = g;c[h + 4 >> 2] = e;c[f >> 2] = c[h >> 2];c[f + 4 >> 2] = c[h + 4 >> 2];up(d, f, a);a = (c[b >> 2] | 0) + 12 | 0;c[b >> 2] = a; + } else { + vp(k, i, j);a = c[b >> 2] | 0; + }l = m;return ((a - (c[k >> 2] | 0) | 0) / 12 | 0) + -1 | 0; + }function up(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0;e = c[b + 4 >> 2] | 0;c[a >> 2] = c[b >> 2];c[a + 4 >> 2] = e;c[a + 8 >> 2] = d;return; + }function vp(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0;k = l;l = l + 48 | 0;e = k + 32 | 0;h = k + 24 | 0;i = k;j = a + 4 | 0;f = (((c[j >> 2] | 0) - (c[a >> 2] | 0) | 0) / 12 | 0) + 1 | 0;g = wp(a) | 0;if (g >>> 0 < f >>> 0) jC(a);else { + m = c[a >> 2] | 0;o = ((c[a + 8 >> 2] | 0) - m | 0) / 12 | 0;n = o << 1;xp(i, o >>> 0 < g >>> 1 >>> 0 ? n >>> 0 < f >>> 0 ? f : n : g, ((c[j >> 2] | 0) - m | 0) / 12 | 0, a + 8 | 0);j = i + 8 | 0;g = c[j >> 2] | 0;f = c[b + 4 >> 2] | 0;d = c[d >> 2] | 0;c[h >> 2] = c[b >> 2];c[h + 4 >> 2] = f;c[e >> 2] = c[h >> 2];c[e + 4 >> 2] = c[h + 4 >> 2];up(g, e, d);c[j >> 2] = (c[j >> 2] | 0) + 12;yp(a, i);zp(i);l = k;return; + } + }function wp(a) { + a = a | 0;return 357913941; + }function xp(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 357913941) Ta();else { + f = qC(b * 12 | 0) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d * 12 | 0) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b * 12 | 0);return; + }function yp(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (((f | 0) / -12 | 0) * 12 | 0) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function zp(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~(((e + -12 - b | 0) >>> 0) / 12 | 0) * 12 | 0);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function Ap(a) { + a = a | 0;Dp(a);return; + }function Bp(a) { + a = a | 0;Cp(a + 24 | 0);return; + }function Cp(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~(((b + -12 - e | 0) >>> 0) / 12 | 0) * 12 | 0);sC(d); + }return; + }function Dp(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 2, 8, b, Ep() | 0, 1);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function Ep() { + return 1320; + }function Fp(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = Gp(a) | 0;a = c[h + 4 >> 2] | 0;c[g >> 2] = c[h >> 2];c[g + 4 >> 2] = a;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];Hp(b, f, d);l = e;return; + }function Gp(a) { + a = a | 0;return (c[(rp() | 0) + 24 >> 2] | 0) + (a * 12 | 0) | 0; + }function Hp(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0;g = l;l = l + 16 | 0;f = g;e = c[b >> 2] | 0;b = c[b + 4 >> 2] | 0;a = a + (b >> 1) | 0;if (b & 1) e = c[(c[a >> 2] | 0) + e >> 2] | 0;Ip(f, d);f = Jp(f, d) | 0;ob[e & 31](a, f);l = g;return; + }function Ip(a, b) { + a = a | 0;b = b | 0;return; + }function Jp(a, b) { + a = a | 0;b = b | 0;return Kp(b) | 0; + }function Kp(a) { + a = a | 0;return a | 0; + }function Lp(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;i = c[d >> 2] | 0;h = c[d + 4 >> 2] | 0;d = ai(b) | 0;c[g >> 2] = i;c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];Mp(a, d, f, 0);l = e;return; + }function Mp(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;f = l;l = l + 32 | 0;g = f + 16 | 0;m = f + 8 | 0;i = f;k = c[d >> 2] | 0;j = c[d + 4 >> 2] | 0;h = c[a >> 2] | 0;a = Np() | 0;c[m >> 2] = k;c[m + 4 >> 2] = j;c[g >> 2] = c[m >> 2];c[g + 4 >> 2] = c[m + 4 >> 2];d = Op(g) | 0;c[i >> 2] = k;c[i + 4 >> 2] = j;c[g >> 2] = c[i >> 2];c[g + 4 >> 2] = c[i + 4 >> 2];fi(h, b, a, d, Pp(g, e) | 0, e);l = f;return; + }function Np() { + var b = 0, + d = 0;if (!(a[7792] | 0)) { + Wp(9900);Ha(43, 9900, o | 0) | 0;d = 7792;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(9900) | 0)) { + b = 9900;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));Wp(9900); + }return 9900; + }function Op(a) { + a = a | 0;return 0; + }function Pp(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0;m = l;l = l + 32 | 0;f = m + 24 | 0;h = m + 16 | 0;i = m;j = m + 8 | 0;g = c[a >> 2] | 0;e = c[a + 4 >> 2] | 0;c[i >> 2] = g;c[i + 4 >> 2] = e;n = Np() | 0;k = n + 24 | 0;a = ji(b, 4) | 0;c[j >> 2] = a;b = n + 28 | 0;d = c[b >> 2] | 0;if (d >>> 0 < (c[n + 32 >> 2] | 0) >>> 0) { + c[h >> 2] = g;c[h + 4 >> 2] = e;c[f >> 2] = c[h >> 2];c[f + 4 >> 2] = c[h + 4 >> 2];Qp(d, f, a);a = (c[b >> 2] | 0) + 12 | 0;c[b >> 2] = a; + } else { + Rp(k, i, j);a = c[b >> 2] | 0; + }l = m;return ((a - (c[k >> 2] | 0) | 0) / 12 | 0) + -1 | 0; + }function Qp(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0;e = c[b + 4 >> 2] | 0;c[a >> 2] = c[b >> 2];c[a + 4 >> 2] = e;c[a + 8 >> 2] = d;return; + }function Rp(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0;k = l;l = l + 48 | 0;e = k + 32 | 0;h = k + 24 | 0;i = k;j = a + 4 | 0;f = (((c[j >> 2] | 0) - (c[a >> 2] | 0) | 0) / 12 | 0) + 1 | 0;g = Sp(a) | 0;if (g >>> 0 < f >>> 0) jC(a);else { + m = c[a >> 2] | 0;o = ((c[a + 8 >> 2] | 0) - m | 0) / 12 | 0;n = o << 1;Tp(i, o >>> 0 < g >>> 1 >>> 0 ? n >>> 0 < f >>> 0 ? f : n : g, ((c[j >> 2] | 0) - m | 0) / 12 | 0, a + 8 | 0);j = i + 8 | 0;g = c[j >> 2] | 0;f = c[b + 4 >> 2] | 0;d = c[d >> 2] | 0;c[h >> 2] = c[b >> 2];c[h + 4 >> 2] = f;c[e >> 2] = c[h >> 2];c[e + 4 >> 2] = c[h + 4 >> 2];Qp(g, e, d);c[j >> 2] = (c[j >> 2] | 0) + 12;Up(a, i);Vp(i);l = k;return; + } + }function Sp(a) { + a = a | 0;return 357913941; + }function Tp(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 357913941) Ta();else { + f = qC(b * 12 | 0) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d * 12 | 0) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b * 12 | 0);return; + }function Up(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (((f | 0) / -12 | 0) * 12 | 0) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function Vp(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~(((e + -12 - b | 0) >>> 0) / 12 | 0) * 12 | 0);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function Wp(a) { + a = a | 0;Zp(a);return; + }function Xp(a) { + a = a | 0;Yp(a + 24 | 0);return; + }function Yp(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~(((b + -12 - e | 0) >>> 0) / 12 | 0) * 12 | 0);sC(d); + }return; + }function Zp(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 2, 22, b, _p() | 0, 0);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function _p() { + return 1344; + }function $p(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0;d = l;l = l + 16 | 0;e = d + 8 | 0;f = d;g = aq(a) | 0;a = c[g + 4 >> 2] | 0;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = a;c[e >> 2] = c[f >> 2];c[e + 4 >> 2] = c[f + 4 >> 2];bq(b, e);l = d;return; + }function aq(a) { + a = a | 0;return (c[(Np() | 0) + 24 >> 2] | 0) + (a * 12 | 0) | 0; + }function bq(a, b) { + a = a | 0;b = b | 0;var d = 0;d = c[b >> 2] | 0;b = c[b + 4 >> 2] | 0;a = a + (b >> 1) | 0;if (b & 1) d = c[(c[a >> 2] | 0) + d >> 2] | 0;nb[d & 127](a);return; + }function cq(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0;g = c[a >> 2] | 0;f = dq() | 0;a = eq(d) | 0;fi(g, b, f, a, fq(d, e) | 0, e);return; + }function dq() { + var b = 0, + d = 0;if (!(a[7800] | 0)) { + mq(9936);Ha(44, 9936, o | 0) | 0;d = 7800;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(9936) | 0)) { + b = 9936;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));mq(9936); + }return 9936; + }function eq(a) { + a = a | 0;return a | 0; + }function fq(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0;i = l;l = l + 16 | 0;f = i;g = i + 4 | 0;c[f >> 2] = a;j = dq() | 0;h = j + 24 | 0;b = ji(b, 4) | 0;c[g >> 2] = b;d = j + 28 | 0;e = c[d >> 2] | 0;if (e >>> 0 < (c[j + 32 >> 2] | 0) >>> 0) { + gq(e, a, b);b = (c[d >> 2] | 0) + 8 | 0;c[d >> 2] = b; + } else { + hq(h, f, g);b = c[d >> 2] | 0; + }l = i;return (b - (c[h >> 2] | 0) >> 3) + -1 | 0; + }function gq(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;c[a >> 2] = b;c[a + 4 >> 2] = d;return; + }function hq(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;i = l;l = l + 32 | 0;f = i;g = a + 4 | 0;h = ((c[g >> 2] | 0) - (c[a >> 2] | 0) >> 3) + 1 | 0;e = iq(a) | 0;if (e >>> 0 < h >>> 0) jC(a);else { + j = c[a >> 2] | 0;m = (c[a + 8 >> 2] | 0) - j | 0;k = m >> 2;jq(f, m >> 3 >>> 0 < e >>> 1 >>> 0 ? k >>> 0 < h >>> 0 ? h : k : e, (c[g >> 2] | 0) - j >> 3, a + 8 | 0);h = f + 8 | 0;gq(c[h >> 2] | 0, c[b >> 2] | 0, c[d >> 2] | 0);c[h >> 2] = (c[h >> 2] | 0) + 8;kq(a, f);lq(f);l = i;return; + } + }function iq(a) { + a = a | 0;return 536870911; + }function jq(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 536870911) Ta();else { + f = qC(b << 3) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d << 3) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b << 3);return; + }function kq(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (0 - (f >> 3) << 3) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function lq(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~((e + -8 - b | 0) >>> 3) << 3);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function mq(a) { + a = a | 0;pq(a);return; + }function nq(a) { + a = a | 0;oq(a + 24 | 0);return; + }function oq(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~((b + -8 - e | 0) >>> 3) << 3);sC(d); + }return; + }function pq(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 1, 23, b, Kl() | 0, 1);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function qq(a, b) { + a = a | 0;b = b | 0;sq(c[(rq(a) | 0) >> 2] | 0, b);return; + }function rq(a) { + a = a | 0;return (c[(dq() | 0) + 24 >> 2] | 0) + (a << 3) | 0; + }function sq(a, b) { + a = a | 0;b = b | 0;var c = 0, + d = 0;c = l;l = l + 16 | 0;d = c;Ol(d, b);b = Pl(d, b) | 0;nb[a & 127](b);l = c;return; + }function tq(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0;g = c[a >> 2] | 0;f = uq() | 0;a = vq(d) | 0;fi(g, b, f, a, wq(d, e) | 0, e);return; + }function uq() { + var b = 0, + d = 0;if (!(a[7808] | 0)) { + Dq(9972);Ha(45, 9972, o | 0) | 0;d = 7808;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(9972) | 0)) { + b = 9972;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));Dq(9972); + }return 9972; + }function vq(a) { + a = a | 0;return a | 0; + }function wq(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0;i = l;l = l + 16 | 0;f = i;g = i + 4 | 0;c[f >> 2] = a;j = uq() | 0;h = j + 24 | 0;b = ji(b, 4) | 0;c[g >> 2] = b;d = j + 28 | 0;e = c[d >> 2] | 0;if (e >>> 0 < (c[j + 32 >> 2] | 0) >>> 0) { + xq(e, a, b);b = (c[d >> 2] | 0) + 8 | 0;c[d >> 2] = b; + } else { + yq(h, f, g);b = c[d >> 2] | 0; + }l = i;return (b - (c[h >> 2] | 0) >> 3) + -1 | 0; + }function xq(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;c[a >> 2] = b;c[a + 4 >> 2] = d;return; + }function yq(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;i = l;l = l + 32 | 0;f = i;g = a + 4 | 0;h = ((c[g >> 2] | 0) - (c[a >> 2] | 0) >> 3) + 1 | 0;e = zq(a) | 0;if (e >>> 0 < h >>> 0) jC(a);else { + j = c[a >> 2] | 0;m = (c[a + 8 >> 2] | 0) - j | 0;k = m >> 2;Aq(f, m >> 3 >>> 0 < e >>> 1 >>> 0 ? k >>> 0 < h >>> 0 ? h : k : e, (c[g >> 2] | 0) - j >> 3, a + 8 | 0);h = f + 8 | 0;xq(c[h >> 2] | 0, c[b >> 2] | 0, c[d >> 2] | 0);c[h >> 2] = (c[h >> 2] | 0) + 8;Bq(a, f);Cq(f);l = i;return; + } + }function zq(a) { + a = a | 0;return 536870911; + }function Aq(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 536870911) Ta();else { + f = qC(b << 3) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d << 3) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b << 3);return; + }function Bq(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (0 - (f >> 3) << 3) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function Cq(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~((e + -8 - b | 0) >>> 3) << 3);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function Dq(a) { + a = a | 0;Gq(a);return; + }function Eq(a) { + a = a | 0;Fq(a + 24 | 0);return; + }function Fq(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~((b + -8 - e | 0) >>> 3) << 3);sC(d); + }return; + }function Gq(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 1, 9, b, Hq() | 0, 1);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function Hq() { + return 1348; + }function Iq(a, b) { + a = a | 0;b = b | 0;return Kq(c[(Jq(a) | 0) >> 2] | 0, b) | 0; + }function Jq(a) { + a = a | 0;return (c[(uq() | 0) + 24 >> 2] | 0) + (a << 3) | 0; + }function Kq(a, b) { + a = a | 0;b = b | 0;var c = 0, + d = 0;c = l;l = l + 16 | 0;d = c;Lq(d, b);b = Mq(d, b) | 0;b = Ik(pb[a & 31](b) | 0) | 0;l = c;return b | 0; + }function Lq(a, b) { + a = a | 0;b = b | 0;return; + }function Mq(a, b) { + a = a | 0;b = b | 0;return Nq(b) | 0; + }function Nq(a) { + a = a | 0;return a | 0; + }function Oq(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0;g = c[a >> 2] | 0;f = Pq() | 0;a = Qq(d) | 0;fi(g, b, f, a, Rq(d, e) | 0, e);return; + }function Pq() { + var b = 0, + d = 0;if (!(a[7816] | 0)) { + Yq(10008);Ha(46, 10008, o | 0) | 0;d = 7816;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(10008) | 0)) { + b = 10008;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));Yq(10008); + }return 10008; + }function Qq(a) { + a = a | 0;return a | 0; + }function Rq(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0;i = l;l = l + 16 | 0;f = i;g = i + 4 | 0;c[f >> 2] = a;j = Pq() | 0;h = j + 24 | 0;b = ji(b, 4) | 0;c[g >> 2] = b;d = j + 28 | 0;e = c[d >> 2] | 0;if (e >>> 0 < (c[j + 32 >> 2] | 0) >>> 0) { + Sq(e, a, b);b = (c[d >> 2] | 0) + 8 | 0;c[d >> 2] = b; + } else { + Tq(h, f, g);b = c[d >> 2] | 0; + }l = i;return (b - (c[h >> 2] | 0) >> 3) + -1 | 0; + }function Sq(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;c[a >> 2] = b;c[a + 4 >> 2] = d;return; + }function Tq(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;i = l;l = l + 32 | 0;f = i;g = a + 4 | 0;h = ((c[g >> 2] | 0) - (c[a >> 2] | 0) >> 3) + 1 | 0;e = Uq(a) | 0;if (e >>> 0 < h >>> 0) jC(a);else { + j = c[a >> 2] | 0;m = (c[a + 8 >> 2] | 0) - j | 0;k = m >> 2;Vq(f, m >> 3 >>> 0 < e >>> 1 >>> 0 ? k >>> 0 < h >>> 0 ? h : k : e, (c[g >> 2] | 0) - j >> 3, a + 8 | 0);h = f + 8 | 0;Sq(c[h >> 2] | 0, c[b >> 2] | 0, c[d >> 2] | 0);c[h >> 2] = (c[h >> 2] | 0) + 8;Wq(a, f);Xq(f);l = i;return; + } + }function Uq(a) { + a = a | 0;return 536870911; + }function Vq(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 536870911) Ta();else { + f = qC(b << 3) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d << 3) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b << 3);return; + }function Wq(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (0 - (f >> 3) << 3) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function Xq(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~((e + -8 - b | 0) >>> 3) << 3);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function Yq(a) { + a = a | 0;$q(a);return; + }function Zq(a) { + a = a | 0;_q(a + 24 | 0);return; + }function _q(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~((b + -8 - e | 0) >>> 3) << 3);sC(d); + }return; + }function $q(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 1, 15, b, Zk() | 0, 0);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function ar(a) { + a = a | 0;return cr(c[(br(a) | 0) >> 2] | 0) | 0; + }function br(a) { + a = a | 0;return (c[(Pq() | 0) + 24 >> 2] | 0) + (a << 3) | 0; + }function cr(a) { + a = a | 0;return Ik(Ab[a & 7]() | 0) | 0; + }function dr() { + var b = 0;if (!(a[7832] | 0)) { + nr(10052);Ha(25, 10052, o | 0) | 0;b = 7832;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }return 10052; + }function er(a, b) { + a = a | 0;b = b | 0;c[a >> 2] = fr() | 0;c[a + 4 >> 2] = gr() | 0;c[a + 12 >> 2] = b;c[a + 8 >> 2] = hr() | 0;c[a + 32 >> 2] = 2;return; + }function fr() { + return 11709; + }function gr() { + return 1188; + }function hr() { + return lr() | 0; + }function ir(a, b, c, d) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;if ((jr(d, 896) | 0) == 512) { + if (c | 0) { + kr(c);sC(c); + } + } else if (b | 0) { + uf(b);sC(b); + }return; + }function jr(a, b) { + a = a | 0;b = b | 0;return b & a | 0; + }function kr(a) { + a = a | 0;a = c[a + 4 >> 2] | 0;if (a | 0) oC(a);return; + }function lr() { + var b = 0;if (!(a[7824] | 0)) { + c[2511] = mr() | 0;c[2512] = 0;b = 7824;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }return 10044; + }function mr() { + return 0; + }function nr(a) { + a = a | 0;Zi(a);return; + }function or(a) { + a = a | 0;var b = 0, + d = 0, + e = 0, + f = 0, + g = 0;b = l;l = l + 32 | 0;d = b + 24 | 0;g = b + 16 | 0;f = b + 8 | 0;e = b;pr(a, 4827);qr(a, 4834, 3) | 0;rr(a, 3682, 47) | 0;c[g >> 2] = 9;c[g + 4 >> 2] = 0;c[d >> 2] = c[g >> 2];c[d + 4 >> 2] = c[g + 4 >> 2];sr(a, 4841, d) | 0;c[f >> 2] = 1;c[f + 4 >> 2] = 0;c[d >> 2] = c[f >> 2];c[d + 4 >> 2] = c[f + 4 >> 2];tr(a, 4871, d) | 0;c[e >> 2] = 10;c[e + 4 >> 2] = 0;c[d >> 2] = c[e >> 2];c[d + 4 >> 2] = c[e + 4 >> 2];ur(a, 4891, d) | 0;l = b;return; + }function pr(a, b) { + a = a | 0;b = b | 0;var d = 0;d = nt() | 0;c[a >> 2] = d;ot(d, b);Hv(c[a >> 2] | 0);return; + }function qr(a, b, c) { + a = a | 0;b = b | 0;c = c | 0;Ws(a, ai(b) | 0, c, 0);return a | 0; + }function rr(a, b, c) { + a = a | 0;b = b | 0;c = c | 0;Es(a, ai(b) | 0, c, 0);return a | 0; + }function sr(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = c[d + 4 >> 2] | 0;c[g >> 2] = c[d >> 2];c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];is(a, b, f);l = e;return a | 0; + }function tr(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = c[d + 4 >> 2] | 0;c[g >> 2] = c[d >> 2];c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];Or(a, b, f);l = e;return a | 0; + }function ur(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = c[d + 4 >> 2] | 0;c[g >> 2] = c[d >> 2];c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];vr(a, b, f);l = e;return a | 0; + }function vr(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;i = c[d >> 2] | 0;h = c[d + 4 >> 2] | 0;d = ai(b) | 0;c[g >> 2] = i;c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];wr(a, d, f, 1);l = e;return; + }function wr(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;f = l;l = l + 32 | 0;g = f + 16 | 0;m = f + 8 | 0;i = f;k = c[d >> 2] | 0;j = c[d + 4 >> 2] | 0;h = c[a >> 2] | 0;a = xr() | 0;c[m >> 2] = k;c[m + 4 >> 2] = j;c[g >> 2] = c[m >> 2];c[g + 4 >> 2] = c[m + 4 >> 2];d = yr(g) | 0;c[i >> 2] = k;c[i + 4 >> 2] = j;c[g >> 2] = c[i >> 2];c[g + 4 >> 2] = c[i + 4 >> 2];fi(h, b, a, d, zr(g, e) | 0, e);l = f;return; + }function xr() { + var b = 0, + d = 0;if (!(a[7840] | 0)) { + Gr(10100);Ha(48, 10100, o | 0) | 0;d = 7840;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(10100) | 0)) { + b = 10100;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));Gr(10100); + }return 10100; + }function yr(a) { + a = a | 0;return 0; + }function zr(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0;m = l;l = l + 32 | 0;f = m + 24 | 0;h = m + 16 | 0;i = m;j = m + 8 | 0;g = c[a >> 2] | 0;e = c[a + 4 >> 2] | 0;c[i >> 2] = g;c[i + 4 >> 2] = e;n = xr() | 0;k = n + 24 | 0;a = ji(b, 4) | 0;c[j >> 2] = a;b = n + 28 | 0;d = c[b >> 2] | 0;if (d >>> 0 < (c[n + 32 >> 2] | 0) >>> 0) { + c[h >> 2] = g;c[h + 4 >> 2] = e;c[f >> 2] = c[h >> 2];c[f + 4 >> 2] = c[h + 4 >> 2];Ar(d, f, a);a = (c[b >> 2] | 0) + 12 | 0;c[b >> 2] = a; + } else { + Br(k, i, j);a = c[b >> 2] | 0; + }l = m;return ((a - (c[k >> 2] | 0) | 0) / 12 | 0) + -1 | 0; + }function Ar(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0;e = c[b + 4 >> 2] | 0;c[a >> 2] = c[b >> 2];c[a + 4 >> 2] = e;c[a + 8 >> 2] = d;return; + }function Br(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0;k = l;l = l + 48 | 0;e = k + 32 | 0;h = k + 24 | 0;i = k;j = a + 4 | 0;f = (((c[j >> 2] | 0) - (c[a >> 2] | 0) | 0) / 12 | 0) + 1 | 0;g = Cr(a) | 0;if (g >>> 0 < f >>> 0) jC(a);else { + m = c[a >> 2] | 0;o = ((c[a + 8 >> 2] | 0) - m | 0) / 12 | 0;n = o << 1;Dr(i, o >>> 0 < g >>> 1 >>> 0 ? n >>> 0 < f >>> 0 ? f : n : g, ((c[j >> 2] | 0) - m | 0) / 12 | 0, a + 8 | 0);j = i + 8 | 0;g = c[j >> 2] | 0;f = c[b + 4 >> 2] | 0;d = c[d >> 2] | 0;c[h >> 2] = c[b >> 2];c[h + 4 >> 2] = f;c[e >> 2] = c[h >> 2];c[e + 4 >> 2] = c[h + 4 >> 2];Ar(g, e, d);c[j >> 2] = (c[j >> 2] | 0) + 12;Er(a, i);Fr(i);l = k;return; + } + }function Cr(a) { + a = a | 0;return 357913941; + }function Dr(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 357913941) Ta();else { + f = qC(b * 12 | 0) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d * 12 | 0) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b * 12 | 0);return; + }function Er(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (((f | 0) / -12 | 0) * 12 | 0) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function Fr(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~(((e + -12 - b | 0) >>> 0) / 12 | 0) * 12 | 0);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function Gr(a) { + a = a | 0;Jr(a);return; + }function Hr(a) { + a = a | 0;Ir(a + 24 | 0);return; + }function Ir(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~(((b + -12 - e | 0) >>> 0) / 12 | 0) * 12 | 0);sC(d); + }return; + }function Jr(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 2, 6, b, Kr() | 0, 1);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function Kr() { + return 1364; + }function Lr(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = Mr(a) | 0;a = c[h + 4 >> 2] | 0;c[g >> 2] = c[h >> 2];c[g + 4 >> 2] = a;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];d = Nr(b, f, d) | 0;l = e;return d | 0; + }function Mr(a) { + a = a | 0;return (c[(xr() | 0) + 24 >> 2] | 0) + (a * 12 | 0) | 0; + }function Nr(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0;g = l;l = l + 16 | 0;f = g;e = c[b >> 2] | 0;b = c[b + 4 >> 2] | 0;a = a + (b >> 1) | 0;if (b & 1) e = c[(c[a >> 2] | 0) + e >> 2] | 0;tj(f, d);f = uj(f, d) | 0;f = Qj(wb[e & 15](a, f) | 0) | 0;l = g;return f | 0; + }function Or(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;i = c[d >> 2] | 0;h = c[d + 4 >> 2] | 0;d = ai(b) | 0;c[g >> 2] = i;c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];Pr(a, d, f, 0);l = e;return; + }function Pr(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;f = l;l = l + 32 | 0;g = f + 16 | 0;m = f + 8 | 0;i = f;k = c[d >> 2] | 0;j = c[d + 4 >> 2] | 0;h = c[a >> 2] | 0;a = Qr() | 0;c[m >> 2] = k;c[m + 4 >> 2] = j;c[g >> 2] = c[m >> 2];c[g + 4 >> 2] = c[m + 4 >> 2];d = Rr(g) | 0;c[i >> 2] = k;c[i + 4 >> 2] = j;c[g >> 2] = c[i >> 2];c[g + 4 >> 2] = c[i + 4 >> 2];fi(h, b, a, d, Sr(g, e) | 0, e);l = f;return; + }function Qr() { + var b = 0, + d = 0;if (!(a[7848] | 0)) { + Zr(10136);Ha(49, 10136, o | 0) | 0;d = 7848;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(10136) | 0)) { + b = 10136;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));Zr(10136); + }return 10136; + }function Rr(a) { + a = a | 0;return 0; + }function Sr(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0;m = l;l = l + 32 | 0;f = m + 24 | 0;h = m + 16 | 0;i = m;j = m + 8 | 0;g = c[a >> 2] | 0;e = c[a + 4 >> 2] | 0;c[i >> 2] = g;c[i + 4 >> 2] = e;n = Qr() | 0;k = n + 24 | 0;a = ji(b, 4) | 0;c[j >> 2] = a;b = n + 28 | 0;d = c[b >> 2] | 0;if (d >>> 0 < (c[n + 32 >> 2] | 0) >>> 0) { + c[h >> 2] = g;c[h + 4 >> 2] = e;c[f >> 2] = c[h >> 2];c[f + 4 >> 2] = c[h + 4 >> 2];Tr(d, f, a);a = (c[b >> 2] | 0) + 12 | 0;c[b >> 2] = a; + } else { + Ur(k, i, j);a = c[b >> 2] | 0; + }l = m;return ((a - (c[k >> 2] | 0) | 0) / 12 | 0) + -1 | 0; + }function Tr(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0;e = c[b + 4 >> 2] | 0;c[a >> 2] = c[b >> 2];c[a + 4 >> 2] = e;c[a + 8 >> 2] = d;return; + }function Ur(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0;k = l;l = l + 48 | 0;e = k + 32 | 0;h = k + 24 | 0;i = k;j = a + 4 | 0;f = (((c[j >> 2] | 0) - (c[a >> 2] | 0) | 0) / 12 | 0) + 1 | 0;g = Vr(a) | 0;if (g >>> 0 < f >>> 0) jC(a);else { + m = c[a >> 2] | 0;o = ((c[a + 8 >> 2] | 0) - m | 0) / 12 | 0;n = o << 1;Wr(i, o >>> 0 < g >>> 1 >>> 0 ? n >>> 0 < f >>> 0 ? f : n : g, ((c[j >> 2] | 0) - m | 0) / 12 | 0, a + 8 | 0);j = i + 8 | 0;g = c[j >> 2] | 0;f = c[b + 4 >> 2] | 0;d = c[d >> 2] | 0;c[h >> 2] = c[b >> 2];c[h + 4 >> 2] = f;c[e >> 2] = c[h >> 2];c[e + 4 >> 2] = c[h + 4 >> 2];Tr(g, e, d);c[j >> 2] = (c[j >> 2] | 0) + 12;Xr(a, i);Yr(i);l = k;return; + } + }function Vr(a) { + a = a | 0;return 357913941; + }function Wr(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 357913941) Ta();else { + f = qC(b * 12 | 0) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d * 12 | 0) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b * 12 | 0);return; + }function Xr(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (((f | 0) / -12 | 0) * 12 | 0) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function Yr(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~(((e + -12 - b | 0) >>> 0) / 12 | 0) * 12 | 0);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function Zr(a) { + a = a | 0;as(a);return; + }function _r(a) { + a = a | 0;$r(a + 24 | 0);return; + }function $r(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~(((b + -12 - e | 0) >>> 0) / 12 | 0) * 12 | 0);sC(d); + }return; + }function as(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 2, 9, b, bs() | 0, 1);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function bs() { + return 1372; + }function cs(a, b, d) { + a = a | 0;b = b | 0;d = +d;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;h = ds(a) | 0;a = c[h + 4 >> 2] | 0;c[g >> 2] = c[h >> 2];c[g + 4 >> 2] = a;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];es(b, f, d);l = e;return; + }function ds(a) { + a = a | 0;return (c[(Qr() | 0) + 24 >> 2] | 0) + (a * 12 | 0) | 0; + }function es(a, b, d) { + a = a | 0;b = b | 0;d = +d;var e = 0, + f = 0, + g = 0, + h = ib;g = l;l = l + 16 | 0;f = g;e = c[b >> 2] | 0;b = c[b + 4 >> 2] | 0;a = a + (b >> 1) | 0;if (b & 1) e = c[(c[a >> 2] | 0) + e >> 2] | 0;fs(f, d);h = T(gs(f, d));kb[e & 1](a, h);l = g;return; + }function fs(a, b) { + a = a | 0;b = +b;return; + }function gs(a, b) { + a = a | 0;b = +b;return T(hs(b)); + }function hs(a) { + a = +a;return T(a); + }function is(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0;e = l;l = l + 16 | 0;f = e + 8 | 0;g = e;i = c[d >> 2] | 0;h = c[d + 4 >> 2] | 0;d = ai(b) | 0;c[g >> 2] = i;c[g + 4 >> 2] = h;c[f >> 2] = c[g >> 2];c[f + 4 >> 2] = c[g + 4 >> 2];js(a, d, f, 0);l = e;return; + }function js(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;f = l;l = l + 32 | 0;g = f + 16 | 0;m = f + 8 | 0;i = f;k = c[d >> 2] | 0;j = c[d + 4 >> 2] | 0;h = c[a >> 2] | 0;a = ks() | 0;c[m >> 2] = k;c[m + 4 >> 2] = j;c[g >> 2] = c[m >> 2];c[g + 4 >> 2] = c[m + 4 >> 2];d = ls(g) | 0;c[i >> 2] = k;c[i + 4 >> 2] = j;c[g >> 2] = c[i >> 2];c[g + 4 >> 2] = c[i + 4 >> 2];fi(h, b, a, d, ms(g, e) | 0, e);l = f;return; + }function ks() { + var b = 0, + d = 0;if (!(a[7856] | 0)) { + ts(10172);Ha(50, 10172, o | 0) | 0;d = 7856;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(10172) | 0)) { + b = 10172;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));ts(10172); + }return 10172; + }function ls(a) { + a = a | 0;return 0; + }function ms(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0;m = l;l = l + 32 | 0;f = m + 24 | 0;h = m + 16 | 0;i = m;j = m + 8 | 0;g = c[a >> 2] | 0;e = c[a + 4 >> 2] | 0;c[i >> 2] = g;c[i + 4 >> 2] = e;n = ks() | 0;k = n + 24 | 0;a = ji(b, 4) | 0;c[j >> 2] = a;b = n + 28 | 0;d = c[b >> 2] | 0;if (d >>> 0 < (c[n + 32 >> 2] | 0) >>> 0) { + c[h >> 2] = g;c[h + 4 >> 2] = e;c[f >> 2] = c[h >> 2];c[f + 4 >> 2] = c[h + 4 >> 2];ns(d, f, a);a = (c[b >> 2] | 0) + 12 | 0;c[b >> 2] = a; + } else { + os(k, i, j);a = c[b >> 2] | 0; + }l = m;return ((a - (c[k >> 2] | 0) | 0) / 12 | 0) + -1 | 0; + }function ns(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0;e = c[b + 4 >> 2] | 0;c[a >> 2] = c[b >> 2];c[a + 4 >> 2] = e;c[a + 8 >> 2] = d;return; + }function os(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0;k = l;l = l + 48 | 0;e = k + 32 | 0;h = k + 24 | 0;i = k;j = a + 4 | 0;f = (((c[j >> 2] | 0) - (c[a >> 2] | 0) | 0) / 12 | 0) + 1 | 0;g = ps(a) | 0;if (g >>> 0 < f >>> 0) jC(a);else { + m = c[a >> 2] | 0;o = ((c[a + 8 >> 2] | 0) - m | 0) / 12 | 0;n = o << 1;qs(i, o >>> 0 < g >>> 1 >>> 0 ? n >>> 0 < f >>> 0 ? f : n : g, ((c[j >> 2] | 0) - m | 0) / 12 | 0, a + 8 | 0);j = i + 8 | 0;g = c[j >> 2] | 0;f = c[b + 4 >> 2] | 0;d = c[d >> 2] | 0;c[h >> 2] = c[b >> 2];c[h + 4 >> 2] = f;c[e >> 2] = c[h >> 2];c[e + 4 >> 2] = c[h + 4 >> 2];ns(g, e, d);c[j >> 2] = (c[j >> 2] | 0) + 12;rs(a, i);ss(i);l = k;return; + } + }function ps(a) { + a = a | 0;return 357913941; + }function qs(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 357913941) Ta();else { + f = qC(b * 12 | 0) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d * 12 | 0) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b * 12 | 0);return; + }function rs(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (((f | 0) / -12 | 0) * 12 | 0) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function ss(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~(((e + -12 - b | 0) >>> 0) / 12 | 0) * 12 | 0);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function ts(a) { + a = a | 0;ws(a);return; + }function us(a) { + a = a | 0;vs(a + 24 | 0);return; + }function vs(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~(((b + -12 - e | 0) >>> 0) / 12 | 0) * 12 | 0);sC(d); + }return; + }function ws(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 2, 3, b, xs() | 0, 2);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function xs() { + return 1380; + }function ys(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0;f = l;l = l + 16 | 0;g = f + 8 | 0;h = f;i = zs(a) | 0;a = c[i + 4 >> 2] | 0;c[h >> 2] = c[i >> 2];c[h + 4 >> 2] = a;c[g >> 2] = c[h >> 2];c[g + 4 >> 2] = c[h + 4 >> 2];As(b, g, d, e);l = f;return; + }function zs(a) { + a = a | 0;return (c[(ks() | 0) + 24 >> 2] | 0) + (a * 12 | 0) | 0; + }function As(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0;i = l;l = l + 16 | 0;g = i + 1 | 0;h = i;f = c[b >> 2] | 0;b = c[b + 4 >> 2] | 0;a = a + (b >> 1) | 0;if (b & 1) f = c[(c[a >> 2] | 0) + f >> 2] | 0;tj(g, d);g = uj(g, d) | 0;Bs(h, e);h = Cs(h, e) | 0;Eb[f & 15](a, g, h);l = i;return; + }function Bs(a, b) { + a = a | 0;b = b | 0;return; + }function Cs(a, b) { + a = a | 0;b = b | 0;return Ds(b) | 0; + }function Ds(a) { + a = a | 0;return (a | 0) != 0 | 0; + }function Es(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0;g = c[a >> 2] | 0;f = Fs() | 0;a = Gs(d) | 0;fi(g, b, f, a, Hs(d, e) | 0, e);return; + }function Fs() { + var b = 0, + d = 0;if (!(a[7864] | 0)) { + Os(10208);Ha(51, 10208, o | 0) | 0;d = 7864;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(10208) | 0)) { + b = 10208;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));Os(10208); + }return 10208; + }function Gs(a) { + a = a | 0;return a | 0; + }function Hs(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0;i = l;l = l + 16 | 0;f = i;g = i + 4 | 0;c[f >> 2] = a;j = Fs() | 0;h = j + 24 | 0;b = ji(b, 4) | 0;c[g >> 2] = b;d = j + 28 | 0;e = c[d >> 2] | 0;if (e >>> 0 < (c[j + 32 >> 2] | 0) >>> 0) { + Is(e, a, b);b = (c[d >> 2] | 0) + 8 | 0;c[d >> 2] = b; + } else { + Js(h, f, g);b = c[d >> 2] | 0; + }l = i;return (b - (c[h >> 2] | 0) >> 3) + -1 | 0; + }function Is(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;c[a >> 2] = b;c[a + 4 >> 2] = d;return; + }function Js(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;i = l;l = l + 32 | 0;f = i;g = a + 4 | 0;h = ((c[g >> 2] | 0) - (c[a >> 2] | 0) >> 3) + 1 | 0;e = Ks(a) | 0;if (e >>> 0 < h >>> 0) jC(a);else { + j = c[a >> 2] | 0;m = (c[a + 8 >> 2] | 0) - j | 0;k = m >> 2;Ls(f, m >> 3 >>> 0 < e >>> 1 >>> 0 ? k >>> 0 < h >>> 0 ? h : k : e, (c[g >> 2] | 0) - j >> 3, a + 8 | 0);h = f + 8 | 0;Is(c[h >> 2] | 0, c[b >> 2] | 0, c[d >> 2] | 0);c[h >> 2] = (c[h >> 2] | 0) + 8;Ms(a, f);Ns(f);l = i;return; + } + }function Ks(a) { + a = a | 0;return 536870911; + }function Ls(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 536870911) Ta();else { + f = qC(b << 3) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d << 3) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b << 3);return; + }function Ms(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (0 - (f >> 3) << 3) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function Ns(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~((e + -8 - b | 0) >>> 3) << 3);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function Os(a) { + a = a | 0;Rs(a);return; + }function Ps(a) { + a = a | 0;Qs(a + 24 | 0);return; + }function Qs(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~((b + -8 - e | 0) >>> 3) << 3);sC(d); + }return; + }function Rs(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 1, 24, b, Ss() | 0, 1);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function Ss() { + return 1392; + }function Ts(a, b) { + a = a | 0;b = b | 0;Vs(c[(Us(a) | 0) >> 2] | 0, b);return; + }function Us(a) { + a = a | 0;return (c[(Fs() | 0) + 24 >> 2] | 0) + (a << 3) | 0; + }function Vs(a, b) { + a = a | 0;b = b | 0;var c = 0, + d = 0;c = l;l = l + 16 | 0;d = c;Lq(d, b);b = Mq(d, b) | 0;nb[a & 127](b);l = c;return; + }function Ws(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0;g = c[a >> 2] | 0;f = Xs() | 0;a = Ys(d) | 0;fi(g, b, f, a, Zs(d, e) | 0, e);return; + }function Xs() { + var b = 0, + d = 0;if (!(a[7872] | 0)) { + et(10244);Ha(52, 10244, o | 0) | 0;d = 7872;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(10244) | 0)) { + b = 10244;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));et(10244); + }return 10244; + }function Ys(a) { + a = a | 0;return a | 0; + }function Zs(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0;i = l;l = l + 16 | 0;f = i;g = i + 4 | 0;c[f >> 2] = a;j = Xs() | 0;h = j + 24 | 0;b = ji(b, 4) | 0;c[g >> 2] = b;d = j + 28 | 0;e = c[d >> 2] | 0;if (e >>> 0 < (c[j + 32 >> 2] | 0) >>> 0) { + _s(e, a, b);b = (c[d >> 2] | 0) + 8 | 0;c[d >> 2] = b; + } else { + $s(h, f, g);b = c[d >> 2] | 0; + }l = i;return (b - (c[h >> 2] | 0) >> 3) + -1 | 0; + }function _s(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;c[a >> 2] = b;c[a + 4 >> 2] = d;return; + }function $s(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;i = l;l = l + 32 | 0;f = i;g = a + 4 | 0;h = ((c[g >> 2] | 0) - (c[a >> 2] | 0) >> 3) + 1 | 0;e = at(a) | 0;if (e >>> 0 < h >>> 0) jC(a);else { + j = c[a >> 2] | 0;m = (c[a + 8 >> 2] | 0) - j | 0;k = m >> 2;bt(f, m >> 3 >>> 0 < e >>> 1 >>> 0 ? k >>> 0 < h >>> 0 ? h : k : e, (c[g >> 2] | 0) - j >> 3, a + 8 | 0);h = f + 8 | 0;_s(c[h >> 2] | 0, c[b >> 2] | 0, c[d >> 2] | 0);c[h >> 2] = (c[h >> 2] | 0) + 8;ct(a, f);dt(f);l = i;return; + } + }function at(a) { + a = a | 0;return 536870911; + }function bt(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 536870911) Ta();else { + f = qC(b << 3) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d << 3) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b << 3);return; + }function ct(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (0 - (f >> 3) << 3) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function dt(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~((e + -8 - b | 0) >>> 3) << 3);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function et(a) { + a = a | 0;ht(a);return; + }function ft(a) { + a = a | 0;gt(a + 24 | 0);return; + }function gt(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~((b + -8 - e | 0) >>> 3) << 3);sC(d); + }return; + }function ht(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 1, 16, b, it() | 0, 0);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function it() { + return 1400; + }function jt(a) { + a = a | 0;return lt(c[(kt(a) | 0) >> 2] | 0) | 0; + }function kt(a) { + a = a | 0;return (c[(Xs() | 0) + 24 >> 2] | 0) + (a << 3) | 0; + }function lt(a) { + a = a | 0;return mt(Ab[a & 7]() | 0) | 0; + }function mt(a) { + a = a | 0;return a | 0; + }function nt() { + var b = 0;if (!(a[7880] | 0)) { + ut(10280);Ha(25, 10280, o | 0) | 0;b = 7880;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }return 10280; + }function ot(a, b) { + a = a | 0;b = b | 0;c[a >> 2] = pt() | 0;c[a + 4 >> 2] = qt() | 0;c[a + 12 >> 2] = b;c[a + 8 >> 2] = rt() | 0;c[a + 32 >> 2] = 4;return; + }function pt() { + return 11711; + }function qt() { + return 1356; + }function rt() { + return lr() | 0; + }function st(a, b, c, d) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;if ((jr(d, 896) | 0) == 512) { + if (c | 0) { + tt(c);sC(c); + } + } else if (b | 0) { + mf(b);sC(b); + }return; + }function tt(a) { + a = a | 0;a = c[a + 4 >> 2] | 0;if (a | 0) oC(a);return; + }function ut(a) { + a = a | 0;Zi(a);return; + }function vt(a) { + a = a | 0;wt(a, 4920);xt(a) | 0;yt(a) | 0;return; + }function wt(a, b) { + a = a | 0;b = b | 0;var d = 0;d = nn() | 0;c[a >> 2] = d;Yt(d, b);Hv(c[a >> 2] | 0);return; + }function xt(a) { + a = a | 0;var b = 0;b = c[a >> 2] | 0;At(b, Mt() | 0);return a | 0; + }function yt(a) { + a = a | 0;var b = 0;b = c[a >> 2] | 0;At(b, zt() | 0);return a | 0; + }function zt() { + var b = 0;if (!(a[7888] | 0)) { + Bt(10328);Ha(53, 10328, o | 0) | 0;b = 7888;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }if (!(si(10328) | 0)) Bt(10328);return 10328; + }function At(a, b) { + a = a | 0;b = b | 0;fi(a, 0, b, 0, 0, 0);return; + }function Bt(a) { + a = a | 0;Et(a);Gt(a, 10);return; + }function Ct(a) { + a = a | 0;Dt(a + 24 | 0);return; + }function Dt(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~((b + -8 - e | 0) >>> 3) << 3);sC(d); + }return; + }function Et(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 5, 1, b, Jt() | 0, 2);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function Ft(a, b, c) { + a = a | 0;b = b | 0;c = +c;Ht(a, b, c);return; + }function Gt(a, b) { + a = a | 0;b = b | 0;c[a + 20 >> 2] = b;return; + }function Ht(a, b, d) { + a = a | 0;b = b | 0;d = +d;var e = 0, + f = 0, + g = 0, + i = 0, + j = 0;e = l;l = l + 16 | 0;g = e + 8 | 0;j = e + 13 | 0;f = e;i = e + 12 | 0;tj(j, b);c[g >> 2] = uj(j, b) | 0;rj(i, d);h[f >> 3] = +sj(i, d);It(a, g, f);l = e;return; + }function It(b, d, e) { + b = b | 0;d = d | 0;e = e | 0;mg(b + 8 | 0, c[d >> 2] | 0, +h[e >> 3]);a[b + 24 >> 0] = 1;return; + }function Jt() { + return 1404; + }function Kt(a, b) { + a = a | 0;b = +b;return Lt(a, b) | 0; + }function Lt(a, b) { + a = a | 0;b = +b;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0;e = l;l = l + 16 | 0;g = e + 4 | 0;h = e + 8 | 0;i = e;f = jy(8) | 0;d = f;j = qC(16) | 0;tj(g, a);a = uj(g, a) | 0;rj(h, b);mg(j, a, +sj(h, b));h = d + 4 | 0;c[h >> 2] = j;a = qC(8) | 0;h = c[h >> 2] | 0;c[i >> 2] = 0;c[g >> 2] = c[i >> 2];qn(a, h, g);c[f >> 2] = a;l = e;return d | 0; + }function Mt() { + var b = 0;if (!(a[7896] | 0)) { + Nt(10364);Ha(54, 10364, o | 0) | 0;b = 7896;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }if (!(si(10364) | 0)) Nt(10364);return 10364; + }function Nt(a) { + a = a | 0;Qt(a);Gt(a, 55);return; + }function Ot(a) { + a = a | 0;Pt(a + 24 | 0);return; + }function Pt(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~((b + -8 - e | 0) >>> 3) << 3);sC(d); + }return; + }function Qt(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 5, 4, b, Vt() | 0, 0);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function Rt(a) { + a = a | 0;St(a);return; + }function St(a) { + a = a | 0;Tt(a);return; + }function Tt(b) { + b = b | 0;Ut(b + 8 | 0);a[b + 24 >> 0] = 1;return; + }function Ut(a) { + a = a | 0;c[a >> 2] = 0;h[a + 8 >> 3] = 0.0;return; + }function Vt() { + return 1424; + }function Wt() { + return Xt() | 0; + }function Xt() { + var a = 0, + b = 0, + d = 0, + e = 0, + f = 0, + g = 0, + h = 0;b = l;l = l + 16 | 0;f = b + 4 | 0;h = b;d = jy(8) | 0;a = d;e = qC(16) | 0;Ut(e);g = a + 4 | 0;c[g >> 2] = e;e = qC(8) | 0;g = c[g >> 2] | 0;c[h >> 2] = 0;c[f >> 2] = c[h >> 2];qn(e, g, f);c[d >> 2] = e;l = b;return a | 0; + }function Yt(a, b) { + a = a | 0;b = b | 0;c[a >> 2] = Zt() | 0;c[a + 4 >> 2] = _t() | 0;c[a + 12 >> 2] = b;c[a + 8 >> 2] = $t() | 0;c[a + 32 >> 2] = 5;return; + }function Zt() { + return 11710; + }function _t() { + return 1416; + }function $t() { + return cu() | 0; + }function au(a, b, c, d) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;if ((jr(d, 896) | 0) == 512) { + if (c | 0) { + bu(c);sC(c); + } + } else if (b | 0) sC(b);return; + }function bu(a) { + a = a | 0;a = c[a + 4 >> 2] | 0;if (a | 0) oC(a);return; + }function cu() { + var b = 0;if (!(a[7904] | 0)) { + c[2600] = du() | 0;c[2601] = 0;b = 7904;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }return 10400; + }function du() { + return c[357] | 0; + }function eu(a) { + a = a | 0;fu(a, 4926);gu(a) | 0;return; + }function fu(a, b) { + a = a | 0;b = b | 0;var d = 0;d = Ci() | 0;c[a >> 2] = d;su(d, b);Hv(c[a >> 2] | 0);return; + }function gu(a) { + a = a | 0;var b = 0;b = c[a >> 2] | 0;At(b, hu() | 0);return a | 0; + }function hu() { + var b = 0;if (!(a[7912] | 0)) { + iu(10412);Ha(56, 10412, o | 0) | 0;b = 7912;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }if (!(si(10412) | 0)) iu(10412);return 10412; + }function iu(a) { + a = a | 0;lu(a);Gt(a, 57);return; + }function ju(a) { + a = a | 0;ku(a + 24 | 0);return; + }function ku(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~((b + -8 - e | 0) >>> 3) << 3);sC(d); + }return; + }function lu(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 5, 5, b, pu() | 0, 0);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function mu(a) { + a = a | 0;nu(a);return; + }function nu(a) { + a = a | 0;ou(a);return; + }function ou(b) { + b = b | 0;var d = 0, + e = 0;d = b + 8 | 0;e = d + 48 | 0;do { + c[d >> 2] = 0;d = d + 4 | 0; + } while ((d | 0) < (e | 0));a[b + 56 >> 0] = 1;return; + }function pu() { + return 1432; + }function qu() { + return ru() | 0; + }function ru() { + var a = 0, + b = 0, + d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0;h = l;l = l + 16 | 0;a = h + 4 | 0;b = h;d = jy(8) | 0;e = d;f = qC(48) | 0;g = f;i = g + 48 | 0;do { + c[g >> 2] = 0;g = g + 4 | 0; + } while ((g | 0) < (i | 0));g = e + 4 | 0;c[g >> 2] = f;i = qC(8) | 0;g = c[g >> 2] | 0;c[b >> 2] = 0;c[a >> 2] = c[b >> 2];Ji(i, g, a);c[d >> 2] = i;l = h;return e | 0; + }function su(a, b) { + a = a | 0;b = b | 0;c[a >> 2] = tu() | 0;c[a + 4 >> 2] = uu() | 0;c[a + 12 >> 2] = b;c[a + 8 >> 2] = vu() | 0;c[a + 32 >> 2] = 6;return; + }function tu() { + return 11704; + }function uu() { + return 1436; + }function vu() { + return cu() | 0; + }function wu(a, b, c, d) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;if ((jr(d, 896) | 0) == 512) { + if (c | 0) { + xu(c);sC(c); + } + } else if (b | 0) sC(b);return; + }function xu(a) { + a = a | 0;a = c[a + 4 >> 2] | 0;if (a | 0) oC(a);return; + }function yu(a) { + a = a | 0;zu(a, 4933);Au(a) | 0;Bu(a) | 0;return; + }function zu(a, b) { + a = a | 0;b = b | 0;var d = 0;d = cv() | 0;c[a >> 2] = d;dv(d, b);Hv(c[a >> 2] | 0);return; + }function Au(a) { + a = a | 0;var b = 0;b = c[a >> 2] | 0;At(b, Su() | 0);return a | 0; + }function Bu(a) { + a = a | 0;var b = 0;b = c[a >> 2] | 0;At(b, Cu() | 0);return a | 0; + }function Cu() { + var b = 0;if (!(a[7920] | 0)) { + Du(10452);Ha(58, 10452, o | 0) | 0;b = 7920;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }if (!(si(10452) | 0)) Du(10452);return 10452; + }function Du(a) { + a = a | 0;Gu(a);Gt(a, 1);return; + }function Eu(a) { + a = a | 0;Fu(a + 24 | 0);return; + }function Fu(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~((b + -8 - e | 0) >>> 3) << 3);sC(d); + }return; + }function Gu(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 5, 1, b, Lu() | 0, 2);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function Hu(a, b, c) { + a = a | 0;b = +b;c = +c;Iu(a, b, c);return; + }function Iu(a, b, c) { + a = a | 0;b = +b;c = +c;var d = 0, + e = 0, + f = 0, + g = 0, + i = 0;d = l;l = l + 32 | 0;f = d + 8 | 0;i = d + 17 | 0;e = d;g = d + 16 | 0;rj(i, b);h[f >> 3] = +sj(i, b);rj(g, c);h[e >> 3] = +sj(g, c);Ju(a, f, e);l = d;return; + }function Ju(b, c, d) { + b = b | 0;c = c | 0;d = d | 0;Ku(b + 8 | 0, +h[c >> 3], +h[d >> 3]);a[b + 24 >> 0] = 1;return; + }function Ku(a, b, c) { + a = a | 0;b = +b;c = +c;h[a >> 3] = b;h[a + 8 >> 3] = c;return; + }function Lu() { + return 1472; + }function Mu(a, b) { + a = +a;b = +b;return Nu(a, b) | 0; + }function Nu(a, b) { + a = +a;b = +b;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0;e = l;l = l + 16 | 0;h = e + 4 | 0;i = e + 8 | 0;j = e;f = jy(8) | 0;d = f;g = qC(16) | 0;rj(h, a);a = +sj(h, a);rj(i, b);Ku(g, a, +sj(i, b));i = d + 4 | 0;c[i >> 2] = g;g = qC(8) | 0;i = c[i >> 2] | 0;c[j >> 2] = 0;c[h >> 2] = c[j >> 2];Ou(g, i, h);c[f >> 2] = g;l = e;return d | 0; + }function Ou(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;c[a >> 2] = b;d = qC(16) | 0;c[d + 4 >> 2] = 0;c[d + 8 >> 2] = 0;c[d >> 2] = 1452;c[d + 12 >> 2] = b;c[a + 4 >> 2] = d;return; + }function Pu(a) { + a = a | 0;kC(a);sC(a);return; + }function Qu(a) { + a = a | 0;a = c[a + 12 >> 2] | 0;if (a | 0) sC(a);return; + }function Ru(a) { + a = a | 0;sC(a);return; + }function Su() { + var b = 0;if (!(a[7928] | 0)) { + Tu(10488);Ha(59, 10488, o | 0) | 0;b = 7928;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }if (!(si(10488) | 0)) Tu(10488);return 10488; + }function Tu(a) { + a = a | 0;Wu(a);Gt(a, 60);return; + }function Uu(a) { + a = a | 0;Vu(a + 24 | 0);return; + }function Vu(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~((b + -8 - e | 0) >>> 3) << 3);sC(d); + }return; + }function Wu(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 5, 6, b, $u() | 0, 0);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function Xu(a) { + a = a | 0;Yu(a);return; + }function Yu(a) { + a = a | 0;Zu(a);return; + }function Zu(b) { + b = b | 0;_u(b + 8 | 0);a[b + 24 >> 0] = 1;return; + }function _u(a) { + a = a | 0;c[a >> 2] = 0;c[a + 4 >> 2] = 0;c[a + 8 >> 2] = 0;c[a + 12 >> 2] = 0;return; + }function $u() { + return 1492; + }function av() { + return bv() | 0; + }function bv() { + var a = 0, + b = 0, + d = 0, + e = 0, + f = 0, + g = 0, + h = 0;b = l;l = l + 16 | 0;f = b + 4 | 0;h = b;d = jy(8) | 0;a = d;e = qC(16) | 0;_u(e);g = a + 4 | 0;c[g >> 2] = e;e = qC(8) | 0;g = c[g >> 2] | 0;c[h >> 2] = 0;c[f >> 2] = c[h >> 2];Ou(e, g, f);c[d >> 2] = e;l = b;return a | 0; + }function cv() { + var b = 0;if (!(a[7936] | 0)) { + jv(10524);Ha(25, 10524, o | 0) | 0;b = 7936;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }return 10524; + }function dv(a, b) { + a = a | 0;b = b | 0;c[a >> 2] = ev() | 0;c[a + 4 >> 2] = fv() | 0;c[a + 12 >> 2] = b;c[a + 8 >> 2] = gv() | 0;c[a + 32 >> 2] = 7;return; + }function ev() { + return 11700; + }function fv() { + return 1484; + }function gv() { + return cu() | 0; + }function hv(a, b, c, d) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;if ((jr(d, 896) | 0) == 512) { + if (c | 0) { + iv(c);sC(c); + } + } else if (b | 0) sC(b);return; + }function iv(a) { + a = a | 0;a = c[a + 4 >> 2] | 0;if (a | 0) oC(a);return; + }function jv(a) { + a = a | 0;Zi(a);return; + }function kv(a, b, c) { + a = a | 0;b = b | 0;c = c | 0;a = ai(b) | 0;b = lv(c) | 0;c = mv(c, 0) | 0;Zv(a, b, c, nv() | 0, 0);return; + }function lv(a) { + a = a | 0;return a | 0; + }function mv(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0;i = l;l = l + 16 | 0;f = i;g = i + 4 | 0;c[f >> 2] = a;j = nv() | 0;h = j + 24 | 0;b = ji(b, 4) | 0;c[g >> 2] = b;d = j + 28 | 0;e = c[d >> 2] | 0;if (e >>> 0 < (c[j + 32 >> 2] | 0) >>> 0) { + vv(e, a, b);b = (c[d >> 2] | 0) + 8 | 0;c[d >> 2] = b; + } else { + wv(h, f, g);b = c[d >> 2] | 0; + }l = i;return (b - (c[h >> 2] | 0) >> 3) + -1 | 0; + }function nv() { + var b = 0, + d = 0;if (!(a[7944] | 0)) { + ov(10568);Ha(61, 10568, o | 0) | 0;d = 7944;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(10568) | 0)) { + b = 10568;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));ov(10568); + }return 10568; + }function ov(a) { + a = a | 0;rv(a);return; + }function pv(a) { + a = a | 0;qv(a + 24 | 0);return; + }function qv(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~((b + -8 - e | 0) >>> 3) << 3);sC(d); + }return; + }function rv(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 1, 17, b, ql() | 0, 0);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function sv(a) { + a = a | 0;return uv(c[(tv(a) | 0) >> 2] | 0) | 0; + }function tv(a) { + a = a | 0;return (c[(nv() | 0) + 24 >> 2] | 0) + (a << 3) | 0; + }function uv(a) { + a = a | 0;return ul(Ab[a & 7]() | 0) | 0; + }function vv(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;c[a >> 2] = b;c[a + 4 >> 2] = d;return; + }function wv(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;i = l;l = l + 32 | 0;f = i;g = a + 4 | 0;h = ((c[g >> 2] | 0) - (c[a >> 2] | 0) >> 3) + 1 | 0;e = xv(a) | 0;if (e >>> 0 < h >>> 0) jC(a);else { + j = c[a >> 2] | 0;m = (c[a + 8 >> 2] | 0) - j | 0;k = m >> 2;yv(f, m >> 3 >>> 0 < e >>> 1 >>> 0 ? k >>> 0 < h >>> 0 ? h : k : e, (c[g >> 2] | 0) - j >> 3, a + 8 | 0);h = f + 8 | 0;vv(c[h >> 2] | 0, c[b >> 2] | 0, c[d >> 2] | 0);c[h >> 2] = (c[h >> 2] | 0) + 8;zv(a, f);Av(f);l = i;return; + } + }function xv(a) { + a = a | 0;return 536870911; + }function yv(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 536870911) Ta();else { + f = qC(b << 3) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d << 3) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b << 3);return; + }function zv(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (0 - (f >> 3) << 3) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function Av(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~((e + -8 - b | 0) >>> 3) << 3);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function Bv() { + Cv();return; + }function Cv() { + Dv(10604);return; + }function Dv(a) { + a = a | 0;Ev(a, 4955);return; + }function Ev(a, b) { + a = a | 0;b = b | 0;var d = 0;d = Fv() | 0;c[a >> 2] = d;Gv(d, b);Hv(c[a >> 2] | 0);return; + }function Fv() { + var b = 0;if (!(a[7952] | 0)) { + Rv(10612);Ha(25, 10612, o | 0) | 0;b = 7952;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }return 10612; + }function Gv(a, b) { + a = a | 0;b = b | 0;c[a >> 2] = Mv() | 0;c[a + 4 >> 2] = Nv() | 0;c[a + 12 >> 2] = b;c[a + 8 >> 2] = Ov() | 0;c[a + 32 >> 2] = 8;return; + }function Hv(a) { + a = a | 0;var b = 0, + d = 0;b = l;l = l + 16 | 0;d = b;Iv() | 0;c[d >> 2] = a;Jv(10608, d);l = b;return; + }function Iv() { + if (!(a[11714] | 0)) { + c[2652] = 0;Ha(62, 10608, o | 0) | 0;a[11714] = 1; + }return 10608; + }function Jv(a, b) { + a = a | 0;b = b | 0;var d = 0;d = qC(8) | 0;c[d + 4 >> 2] = c[b >> 2];c[d >> 2] = c[a >> 2];c[a >> 2] = d;return; + }function Kv(a) { + a = a | 0;Lv(a);return; + }function Lv(a) { + a = a | 0;var b = 0, + d = 0;b = c[a >> 2] | 0;if (b | 0) do { + d = b;b = c[b >> 2] | 0;sC(d); + } while ((b | 0) != 0);c[a >> 2] = 0;return; + }function Mv() { + return 11715; + }function Nv() { + return 1496; + }function Ov() { + return lr() | 0; + }function Pv(a, b, c, d) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;if ((jr(d, 896) | 0) == 512) { + if (c | 0) { + Qv(c);sC(c); + } + } else if (b | 0) sC(b);return; + }function Qv(a) { + a = a | 0;a = c[a + 4 >> 2] | 0;if (a | 0) oC(a);return; + }function Rv(a) { + a = a | 0;Zi(a);return; + }function Sv(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0;Iv() | 0;d = c[2652] | 0;a: do if (d | 0) { + while (1) { + e = c[d + 4 >> 2] | 0;if (e | 0 ? (AB(Tv(e) | 0, a) | 0) == 0 : 0) break;d = c[d >> 2] | 0;if (!d) break a; + }Uv(e, b); + } while (0);return; + }function Tv(a) { + a = a | 0;return c[a + 12 >> 2] | 0; + }function Uv(a, b) { + a = a | 0;b = b | 0;var d = 0;a = a + 36 | 0;d = c[a >> 2] | 0;if (d | 0) { + vf(d);sC(d); + }d = qC(4) | 0;Og(d, b);c[a >> 2] = d;return; + }function Vv() { + if (!(a[11716] | 0)) { + c[2664] = 0;Ha(63, 10656, o | 0) | 0;a[11716] = 1; + }return 10656; + }function Wv() { + var b = 0;if (!(a[11717] | 0)) { + Xv();c[2665] = 1504;a[11717] = 1;b = 1504; + } else b = c[2665] | 0;return b | 0; + }function Xv() { + if (!(a[11740] | 0)) { + a[11718] = ji(ji(8, 0) | 0, 0) | 0;a[11719] = ji(ji(0, 0) | 0, 0) | 0;a[11720] = ji(ji(0, 16) | 0, 0) | 0;a[11721] = ji(ji(8, 0) | 0, 0) | 0;a[11722] = ji(ji(0, 0) | 0, 0) | 0;a[11723] = ji(ji(8, 0) | 0, 0) | 0;a[11724] = ji(ji(0, 0) | 0, 0) | 0;a[11725] = ji(ji(8, 0) | 0, 0) | 0;a[11726] = ji(ji(0, 0) | 0, 0) | 0;a[11727] = ji(ji(8, 0) | 0, 0) | 0;a[11728] = ji(ji(0, 0) | 0, 0) | 0;a[11729] = ji(ji(0, 0) | 0, 32) | 0;a[11730] = ji(ji(0, 0) | 0, 32) | 0;a[11740] = 1; + }return; + }function Yv() { + return 1572; + }function Zv(a, b, d, e, f) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;f = f | 0;var g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;g = l;l = l + 32 | 0;m = g + 16 | 0;k = g + 12 | 0;j = g + 8 | 0;i = g + 4 | 0;h = g;c[m >> 2] = a;c[k >> 2] = b;c[j >> 2] = d;c[i >> 2] = e;c[h >> 2] = f;Vv() | 0;_v(10656, m, k, j, i, h);l = g;return; + }function _v(a, b, d, e, f, g) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;f = f | 0;g = g | 0;var h = 0;h = qC(24) | 0;ii(h + 4 | 0, c[b >> 2] | 0, c[d >> 2] | 0, c[e >> 2] | 0, c[f >> 2] | 0, c[g >> 2] | 0);c[h >> 2] = c[a >> 2];c[a >> 2] = h;return; + }function $v(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0, + p = 0, + q = 0, + r = 0, + s = 0, + t = 0, + u = 0;u = l;l = l + 32 | 0;q = u + 20 | 0;r = u + 8 | 0;s = u + 4 | 0;t = u;b = c[b >> 2] | 0;if (b | 0) { + p = q + 4 | 0;j = q + 8 | 0;k = r + 4 | 0;m = r + 8 | 0;n = r + 8 | 0;o = q + 8 | 0;do { + h = b + 4 | 0;i = aw(h) | 0;if (i | 0) { + f = bw(i) | 0;c[q >> 2] = 0;c[p >> 2] = 0;c[j >> 2] = 0;e = (cw(i) | 0) + 1 | 0;dw(q, e);if (e | 0) while (1) { + e = e + -1 | 0;OA(r, c[f >> 2] | 0);g = c[p >> 2] | 0;if (g >>> 0 < (c[o >> 2] | 0) >>> 0) { + c[g >> 2] = c[r >> 2];c[p >> 2] = (c[p >> 2] | 0) + 4; + } else ew(q, r);if (!e) break;else f = f + 4 | 0; + }e = fw(i) | 0;c[r >> 2] = 0;c[k >> 2] = 0;c[m >> 2] = 0;a: do if (c[e >> 2] | 0) { + f = 0;g = 0;while (1) { + if ((f | 0) == (g | 0)) gw(r, e);else { + c[f >> 2] = c[e >> 2];c[k >> 2] = (c[k >> 2] | 0) + 4; + }e = e + 4 | 0;if (!(c[e >> 2] | 0)) break a;f = c[k >> 2] | 0;g = c[n >> 2] | 0; + } + } while (0);c[s >> 2] = hw(h) | 0;c[t >> 2] = si(i) | 0;iw(d, a, s, t, q, r);jw(r);kw(q); + }b = c[b >> 2] | 0; + } while ((b | 0) != 0); + }l = u;return; + }function aw(a) { + a = a | 0;return c[a + 12 >> 2] | 0; + }function bw(a) { + a = a | 0;return c[a + 12 >> 2] | 0; + }function cw(a) { + a = a | 0;return c[a + 16 >> 2] | 0; + }function dw(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0;f = l;l = l + 32 | 0;d = f;e = c[a >> 2] | 0;if ((c[a + 8 >> 2] | 0) - e >> 2 >>> 0 < b >>> 0) { + Rw(d, b, (c[a + 4 >> 2] | 0) - e >> 2, a + 8 | 0);Sw(a, d);Tw(d); + }l = f;return; + }function ew(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0;h = l;l = l + 32 | 0;d = h;e = a + 4 | 0;f = ((c[e >> 2] | 0) - (c[a >> 2] | 0) >> 2) + 1 | 0;g = Nw(a) | 0;if (g >>> 0 < f >>> 0) jC(a);else { + i = c[a >> 2] | 0;k = (c[a + 8 >> 2] | 0) - i | 0;j = k >> 1;Rw(d, k >> 2 >>> 0 < g >>> 1 >>> 0 ? j >>> 0 < f >>> 0 ? f : j : g, (c[e >> 2] | 0) - i >> 2, a + 8 | 0);g = d + 8 | 0;c[c[g >> 2] >> 2] = c[b >> 2];c[g >> 2] = (c[g >> 2] | 0) + 4;Sw(a, d);Tw(d);l = h;return; + } + }function fw(a) { + a = a | 0;return c[a + 8 >> 2] | 0; + }function gw(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0;h = l;l = l + 32 | 0;d = h;e = a + 4 | 0;f = ((c[e >> 2] | 0) - (c[a >> 2] | 0) >> 2) + 1 | 0;g = Kw(a) | 0;if (g >>> 0 < f >>> 0) jC(a);else { + i = c[a >> 2] | 0;k = (c[a + 8 >> 2] | 0) - i | 0;j = k >> 1;Ow(d, k >> 2 >>> 0 < g >>> 1 >>> 0 ? j >>> 0 < f >>> 0 ? f : j : g, (c[e >> 2] | 0) - i >> 2, a + 8 | 0);g = d + 8 | 0;c[c[g >> 2] >> 2] = c[b >> 2];c[g >> 2] = (c[g >> 2] | 0) + 4;Pw(a, d);Qw(d);l = h;return; + } + }function hw(a) { + a = a | 0;return c[a >> 2] | 0; + }function iw(a, b, c, d, e, f) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;e = e | 0;f = f | 0;lw(a, b, c, d, e, f);return; + }function jw(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~((b + -4 - e | 0) >>> 2) << 2);sC(d); + }return; + }function kw(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~((b + -4 - e | 0) >>> 2) << 2);sC(d); + }return; + }function lw(a, b, d, e, f, g) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;f = f | 0;g = g | 0;var h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0;h = l;l = l + 48 | 0;m = h + 40 | 0;i = h + 32 | 0;n = h + 24 | 0;j = h + 12 | 0;k = h;UA(i);a = Sg(a) | 0;c[n >> 2] = c[b >> 2];d = c[d >> 2] | 0;e = c[e >> 2] | 0;mw(j, f);nw(k, g);c[m >> 2] = c[n >> 2];ow(a, m, d, e, j, k);jw(k);kw(j);WA(i);l = h;return; + }function mw(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0;c[a >> 2] = 0;c[a + 4 >> 2] = 0;c[a + 8 >> 2] = 0;d = b + 4 | 0;e = (c[d >> 2] | 0) - (c[b >> 2] | 0) >> 2;if (e | 0) { + Lw(a, e);Mw(a, c[b >> 2] | 0, c[d >> 2] | 0, e); + }return; + }function nw(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0;c[a >> 2] = 0;c[a + 4 >> 2] = 0;c[a + 8 >> 2] = 0;d = b + 4 | 0;e = (c[d >> 2] | 0) - (c[b >> 2] | 0) >> 2;if (e | 0) { + Iw(a, e);Jw(a, c[b >> 2] | 0, c[d >> 2] | 0, e); + }return; + }function ow(a, b, d, e, f, g) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;f = f | 0;g = g | 0;var h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0;h = l;l = l + 32 | 0;m = h + 28 | 0;n = h + 24 | 0;i = h + 12 | 0;j = h;k = Vg(pw() | 0) | 0;c[n >> 2] = c[b >> 2];c[m >> 2] = c[n >> 2];b = qw(m) | 0;d = rw(d) | 0;e = sw(e) | 0;c[i >> 2] = c[f >> 2];m = f + 4 | 0;c[i + 4 >> 2] = c[m >> 2];n = f + 8 | 0;c[i + 8 >> 2] = c[n >> 2];c[n >> 2] = 0;c[m >> 2] = 0;c[f >> 2] = 0;f = tw(i) | 0;c[j >> 2] = c[g >> 2];m = g + 4 | 0;c[j + 4 >> 2] = c[m >> 2];n = g + 8 | 0;c[j + 8 >> 2] = c[n >> 2];c[n >> 2] = 0;c[m >> 2] = 0;c[g >> 2] = 0;Ba(0, k | 0, a | 0, b | 0, d | 0, e | 0, f | 0, uw(j) | 0) | 0;jw(j);kw(i);l = h;return; + }function pw() { + var b = 0;if (!(a[7968] | 0)) { + Gw(10708);b = 7968;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }return 10708; + }function qw(a) { + a = a | 0;return yw(a) | 0; + }function rw(a) { + a = a | 0;return ww(a) | 0; + }function sw(a) { + a = a | 0;return ul(a) | 0; + }function tw(a) { + a = a | 0;return xw(a) | 0; + }function uw(a) { + a = a | 0;return vw(a) | 0; + }function vw(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;e = (c[a + 4 >> 2] | 0) - (c[a >> 2] | 0) | 0;d = e >> 2;e = jy(e + 4 | 0) | 0;c[e >> 2] = d;if (d | 0) { + b = 0;do { + c[e + 4 + (b << 2) >> 2] = ww(c[(c[a >> 2] | 0) + (b << 2) >> 2] | 0) | 0;b = b + 1 | 0; + } while ((b | 0) != (d | 0)); + }return e | 0; + }function ww(a) { + a = a | 0;return a | 0; + }function xw(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;e = (c[a + 4 >> 2] | 0) - (c[a >> 2] | 0) | 0;d = e >> 2;e = jy(e + 4 | 0) | 0;c[e >> 2] = d;if (d | 0) { + b = 0;do { + c[e + 4 + (b << 2) >> 2] = yw((c[a >> 2] | 0) + (b << 2) | 0) | 0;b = b + 1 | 0; + } while ((b | 0) != (d | 0)); + }return e | 0; + }function yw(a) { + a = a | 0;var b = 0, + c = 0, + d = 0, + e = 0;e = l;l = l + 32 | 0;b = e + 12 | 0;c = e;d = Di(zw() | 0) | 0;if (!d) a = Aw(a) | 0;else { + Ei(b, d);Fi(c, b);RA(a, c);a = Hi(b) | 0; + }l = e;return a | 0; + }function zw() { + var b = 0;if (!(a[7960] | 0)) { + Fw(10664);Ha(25, 10664, o | 0) | 0;b = 7960;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }return 10664; + }function Aw(a) { + a = a | 0;var b = 0, + d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0;d = l;l = l + 16 | 0;f = d + 4 | 0;h = d;e = jy(8) | 0;b = e;i = qC(4) | 0;c[i >> 2] = c[a >> 2];g = b + 4 | 0;c[g >> 2] = i;a = qC(8) | 0;g = c[g >> 2] | 0;c[h >> 2] = 0;c[f >> 2] = c[h >> 2];Bw(a, g, f);c[e >> 2] = a;l = d;return b | 0; + }function Bw(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;c[a >> 2] = b;d = qC(16) | 0;c[d + 4 >> 2] = 0;c[d + 8 >> 2] = 0;c[d >> 2] = 1656;c[d + 12 >> 2] = b;c[a + 4 >> 2] = d;return; + }function Cw(a) { + a = a | 0;kC(a);sC(a);return; + }function Dw(a) { + a = a | 0;a = c[a + 12 >> 2] | 0;if (a | 0) sC(a);return; + }function Ew(a) { + a = a | 0;sC(a);return; + }function Fw(a) { + a = a | 0;Zi(a);return; + }function Gw(a) { + a = a | 0;fh(a, Hw() | 0, 5);return; + }function Hw() { + return 1676; + }function Iw(a, b) { + a = a | 0;b = b | 0;var d = 0;if ((Kw(a) | 0) >>> 0 < b >>> 0) jC(a);if (b >>> 0 > 1073741823) Ta();else { + d = qC(b << 2) | 0;c[a + 4 >> 2] = d;c[a >> 2] = d;c[a + 8 >> 2] = d + (b << 2);return; + } + }function Jw(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;e = a + 4 | 0;a = d - b | 0;if ((a | 0) > 0) { + BC(c[e >> 2] | 0, b | 0, a | 0) | 0;c[e >> 2] = (c[e >> 2] | 0) + (a >>> 2 << 2); + }return; + }function Kw(a) { + a = a | 0;return 1073741823; + }function Lw(a, b) { + a = a | 0;b = b | 0;var d = 0;if ((Nw(a) | 0) >>> 0 < b >>> 0) jC(a);if (b >>> 0 > 1073741823) Ta();else { + d = qC(b << 2) | 0;c[a + 4 >> 2] = d;c[a >> 2] = d;c[a + 8 >> 2] = d + (b << 2);return; + } + }function Mw(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;e = a + 4 | 0;a = d - b | 0;if ((a | 0) > 0) { + BC(c[e >> 2] | 0, b | 0, a | 0) | 0;c[e >> 2] = (c[e >> 2] | 0) + (a >>> 2 << 2); + }return; + }function Nw(a) { + a = a | 0;return 1073741823; + }function Ow(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 1073741823) Ta();else { + f = qC(b << 2) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d << 2) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b << 2);return; + }function Pw(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (0 - (f >> 2) << 2) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function Qw(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~((e + -4 - b | 0) >>> 2) << 2);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function Rw(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 1073741823) Ta();else { + f = qC(b << 2) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d << 2) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b << 2);return; + }function Sw(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (0 - (f >> 2) << 2) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function Tw(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~((e + -4 - b | 0) >>> 2) << 2);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function Uw(a, b, d, e, f) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;f = f | 0;var g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0, + p = 0, + q = 0, + r = 0;r = l;l = l + 32 | 0;m = r + 20 | 0;n = r + 12 | 0;k = r + 16 | 0;o = r + 4 | 0;p = r;q = r + 8 | 0;i = Wv() | 0;g = c[i >> 2] | 0;h = c[g >> 2] | 0;if (h | 0) { + j = c[i + 8 >> 2] | 0;i = c[i + 4 >> 2] | 0;while (1) { + OA(m, h);Vw(a, m, i, j);g = g + 4 | 0;h = c[g >> 2] | 0;if (!h) break;else { + j = j + 1 | 0;i = i + 1 | 0; + } + } + }g = Yv() | 0;h = c[g >> 2] | 0;if (h | 0) do { + OA(m, h);c[n >> 2] = c[g + 4 >> 2];Ww(b, m, n);g = g + 8 | 0;h = c[g >> 2] | 0; + } while ((h | 0) != 0);g = c[(Iv() | 0) >> 2] | 0;if (g | 0) do { + b = c[g + 4 >> 2] | 0;OA(m, c[(Xw(b) | 0) >> 2] | 0);c[n >> 2] = Tv(b) | 0;Yw(d, m, n);g = c[g >> 2] | 0; + } while ((g | 0) != 0);OA(k, 0);g = Vv() | 0;c[m >> 2] = c[k >> 2];$v(m, g, f);g = c[(Iv() | 0) >> 2] | 0;if (g | 0) { + a = m + 4 | 0;b = m + 8 | 0;d = m + 8 | 0;do { + j = c[g + 4 >> 2] | 0;OA(n, c[(Xw(j) | 0) >> 2] | 0);_w(o, Zw(j) | 0);h = c[o >> 2] | 0;if (h | 0) { + c[m >> 2] = 0;c[a >> 2] = 0;c[b >> 2] = 0;do { + OA(p, c[(Xw(c[h + 4 >> 2] | 0) | 0) >> 2] | 0);i = c[a >> 2] | 0;if (i >>> 0 < (c[d >> 2] | 0) >>> 0) { + c[i >> 2] = c[p >> 2];c[a >> 2] = (c[a >> 2] | 0) + 4; + } else ew(m, p);h = c[h >> 2] | 0; + } while ((h | 0) != 0);$w(e, n, m);kw(m); + }c[q >> 2] = c[n >> 2];k = ax(j) | 0;c[m >> 2] = c[q >> 2];$v(m, k, f);Wi(o);g = c[g >> 2] | 0; + } while ((g | 0) != 0); + }l = r;return; + }function Vw(a, b, c, d) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;ox(a, b, c, d);return; + }function Ww(a, b, c) { + a = a | 0;b = b | 0;c = c | 0;nx(a, b, c);return; + }function Xw(a) { + a = a | 0;return a | 0; + }function Yw(a, b, c) { + a = a | 0;b = b | 0;c = c | 0;ix(a, b, c);return; + }function Zw(a) { + a = a | 0;return a + 16 | 0; + }function _w(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0;g = l;l = l + 16 | 0;f = g + 8 | 0;d = g;c[a >> 2] = 0;e = c[b >> 2] | 0;c[f >> 2] = e;c[d >> 2] = a;d = gx(d) | 0;if (e | 0) { + e = qC(12) | 0;h = (hx(f) | 0) + 4 | 0;a = c[h + 4 >> 2] | 0;b = e + 4 | 0;c[b >> 2] = c[h >> 2];c[b + 4 >> 2] = a;b = c[c[f >> 2] >> 2] | 0;c[f >> 2] = b;if (!b) a = e;else { + b = e;while (1) { + a = qC(12) | 0;j = (hx(f) | 0) + 4 | 0;i = c[j + 4 >> 2] | 0;h = a + 4 | 0;c[h >> 2] = c[j >> 2];c[h + 4 >> 2] = i;c[b >> 2] = a;h = c[c[f >> 2] >> 2] | 0;c[f >> 2] = h;if (!h) break;else b = a; + } + }c[a >> 2] = c[d >> 2];c[d >> 2] = e; + }l = g;return; + }function $w(a, b, c) { + a = a | 0;b = b | 0;c = c | 0;bx(a, b, c);return; + }function ax(a) { + a = a | 0;return a + 24 | 0; + }function bx(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0;e = l;l = l + 32 | 0;h = e + 24 | 0;f = e + 16 | 0;i = e + 12 | 0;g = e;UA(f);a = Sg(a) | 0;c[i >> 2] = c[b >> 2];mw(g, d);c[h >> 2] = c[i >> 2];cx(a, h, g);kw(g);WA(f);l = e;return; + }function cx(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0;e = l;l = l + 32 | 0;h = e + 16 | 0;i = e + 12 | 0;f = e;g = Vg(dx() | 0) | 0;c[i >> 2] = c[b >> 2];c[h >> 2] = c[i >> 2];b = qw(h) | 0;c[f >> 2] = c[d >> 2];h = d + 4 | 0;c[f + 4 >> 2] = c[h >> 2];i = d + 8 | 0;c[f + 8 >> 2] = c[i >> 2];c[i >> 2] = 0;c[h >> 2] = 0;c[d >> 2] = 0;xa(0, g | 0, a | 0, b | 0, tw(f) | 0) | 0;kw(f);l = e;return; + }function dx() { + var b = 0;if (!(a[7976] | 0)) { + ex(10720);b = 7976;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }return 10720; + }function ex(a) { + a = a | 0;fh(a, fx() | 0, 2);return; + }function fx() { + return 1732; + }function gx(a) { + a = a | 0;return c[a >> 2] | 0; + }function hx(a) { + a = a | 0;return c[a >> 2] | 0; + }function ix(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 32 | 0;g = e + 16 | 0;f = e + 8 | 0;h = e;UA(f);a = Sg(a) | 0;c[h >> 2] = c[b >> 2];d = c[d >> 2] | 0;c[g >> 2] = c[h >> 2];jx(a, g, d);WA(f);l = e;return; + }function jx(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 16 | 0;g = e + 4 | 0;h = e;f = Vg(kx() | 0) | 0;c[h >> 2] = c[b >> 2];c[g >> 2] = c[h >> 2];b = qw(g) | 0;xa(0, f | 0, a | 0, b | 0, rw(d) | 0) | 0;l = e;return; + }function kx() { + var b = 0;if (!(a[7984] | 0)) { + lx(10732);b = 7984;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }return 10732; + }function lx(a) { + a = a | 0;fh(a, mx() | 0, 2);return; + }function mx() { + return 1744; + }function nx(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0;e = l;l = l + 32 | 0;g = e + 16 | 0;f = e + 8 | 0;h = e;UA(f);a = Sg(a) | 0;c[h >> 2] = c[b >> 2];d = c[d >> 2] | 0;c[g >> 2] = c[h >> 2];jx(a, g, d);WA(f);l = e;return; + }function ox(b, d, e, f) { + b = b | 0;d = d | 0;e = e | 0;f = f | 0;var g = 0, + h = 0, + i = 0, + j = 0;g = l;l = l + 32 | 0;i = g + 16 | 0;h = g + 8 | 0;j = g;UA(h);b = Sg(b) | 0;c[j >> 2] = c[d >> 2];e = a[e >> 0] | 0;f = a[f >> 0] | 0;c[i >> 2] = c[j >> 2];px(b, i, e, f);WA(h);l = g;return; + }function px(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0;f = l;l = l + 16 | 0;h = f + 4 | 0;i = f;g = Vg(qx() | 0) | 0;c[i >> 2] = c[b >> 2];c[h >> 2] = c[i >> 2];b = qw(h) | 0;d = rx(d) | 0;$a(0, g | 0, a | 0, b | 0, d | 0, rx(e) | 0) | 0;l = f;return; + }function qx() { + var b = 0;if (!(a[7992] | 0)) { + tx(10744);b = 7992;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }return 10744; + }function rx(a) { + a = a | 0;return sx(a) | 0; + }function sx(a) { + a = a | 0;return a & 255 | 0; + }function tx(a) { + a = a | 0;fh(a, ux() | 0, 3);return; + }function ux() { + return 1756; + }function vx(b, d, e) { + b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0, + p = 0;p = l;l = l + 32 | 0;j = p + 8 | 0;k = p + 4 | 0;m = p + 20 | 0;n = p;mk(b, 0);f = QA(d) | 0;c[j >> 2] = 0;o = j + 4 | 0;c[o >> 2] = 0;c[j + 8 >> 2] = 0;switch (f << 24 >> 24) {case 0: + { + a[m >> 0] = 0;wx(k, e, m);xx(b, k) | 0;wf(k);break; + }case 8: + { + o = PA(d) | 0;a[m >> 0] = 8;OA(n, c[o + 4 >> 2] | 0);yx(k, e, m, n, o + 8 | 0);xx(b, k) | 0;wf(k);break; + }case 9: + { + h = PA(d) | 0;d = c[h + 4 >> 2] | 0;if (d | 0) { + i = j + 8 | 0;g = h + 12 | 0;while (1) { + d = d + -1 | 0;OA(k, c[g >> 2] | 0);f = c[o >> 2] | 0;if (f >>> 0 < (c[i >> 2] | 0) >>> 0) { + c[f >> 2] = c[k >> 2];c[o >> 2] = (c[o >> 2] | 0) + 4; + } else ew(j, k);if (!d) break;else g = g + 4 | 0; + } + }a[m >> 0] = 9;OA(n, c[h + 8 >> 2] | 0);zx(k, e, m, n, j);xx(b, k) | 0;wf(k);break; + }default: + { + o = PA(d) | 0;a[m >> 0] = f;OA(n, c[o + 4 >> 2] | 0);Ax(k, e, m, n);xx(b, k) | 0;wf(k); + }}kw(j);l = p;return; + }function wx(b, c, d) { + b = b | 0;c = c | 0;d = d | 0;var e = 0, + f = 0;e = l;l = l + 16 | 0;f = e;UA(f);c = Sg(c) | 0;Ox(b, c, a[d >> 0] | 0);WA(f);l = e;return; + }function xx(a, b) { + a = a | 0;b = b | 0;var d = 0;d = c[a >> 2] | 0;if (d | 0) ab(d | 0);c[a >> 2] = c[b >> 2];c[b >> 2] = 0;return a | 0; + }function yx(b, d, e, f, g) { + b = b | 0;d = d | 0;e = e | 0;f = f | 0;g = g | 0;var h = 0, + i = 0, + j = 0, + k = 0;h = l;l = l + 32 | 0;j = h + 16 | 0;i = h + 8 | 0;k = h;UA(i);d = Sg(d) | 0;e = a[e >> 0] | 0;c[k >> 2] = c[f >> 2];g = c[g >> 2] | 0;c[j >> 2] = c[k >> 2];Kx(b, d, e, j, g);WA(i);l = h;return; + }function zx(b, d, e, f, g) { + b = b | 0;d = d | 0;e = e | 0;f = f | 0;g = g | 0;var h = 0, + i = 0, + j = 0, + k = 0, + m = 0;h = l;l = l + 32 | 0;k = h + 24 | 0;i = h + 16 | 0;m = h + 12 | 0;j = h;UA(i);d = Sg(d) | 0;e = a[e >> 0] | 0;c[m >> 2] = c[f >> 2];mw(j, g);c[k >> 2] = c[m >> 2];Gx(b, d, e, k, j);kw(j);WA(i);l = h;return; + }function Ax(b, d, e, f) { + b = b | 0;d = d | 0;e = e | 0;f = f | 0;var g = 0, + h = 0, + i = 0, + j = 0;g = l;l = l + 32 | 0;i = g + 16 | 0;h = g + 8 | 0;j = g;UA(h);d = Sg(d) | 0;e = a[e >> 0] | 0;c[j >> 2] = c[f >> 2];c[i >> 2] = c[j >> 2];Bx(b, d, e, i);WA(h);l = g;return; + }function Bx(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0;f = l;l = l + 16 | 0;g = f + 4 | 0;i = f;h = Vg(Cx() | 0) | 0;d = rx(d) | 0;c[i >> 2] = c[e >> 2];c[g >> 2] = c[i >> 2];Dx(a, xa(0, h | 0, b | 0, d | 0, qw(g) | 0) | 0);l = f;return; + }function Cx() { + var b = 0;if (!(a[8e3] | 0)) { + Ex(10756);b = 8e3;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }return 10756; + }function Dx(a, b) { + a = a | 0;b = b | 0;mk(a, b);return; + }function Ex(a) { + a = a | 0;fh(a, Fx() | 0, 2);return; + }function Fx() { + return 1772; + }function Gx(a, b, d, e, f) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;f = f | 0;var g = 0, + h = 0, + i = 0, + j = 0, + k = 0;g = l;l = l + 32 | 0;j = g + 16 | 0;k = g + 12 | 0;h = g;i = Vg(Hx() | 0) | 0;d = rx(d) | 0;c[k >> 2] = c[e >> 2];c[j >> 2] = c[k >> 2];e = qw(j) | 0;c[h >> 2] = c[f >> 2];j = f + 4 | 0;c[h + 4 >> 2] = c[j >> 2];k = f + 8 | 0;c[h + 8 >> 2] = c[k >> 2];c[k >> 2] = 0;c[j >> 2] = 0;c[f >> 2] = 0;Dx(a, $a(0, i | 0, b | 0, d | 0, e | 0, tw(h) | 0) | 0);kw(h);l = g;return; + }function Hx() { + var b = 0;if (!(a[8008] | 0)) { + Ix(10768);b = 8008;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }return 10768; + }function Ix(a) { + a = a | 0;fh(a, Jx() | 0, 3);return; + }function Jx() { + return 1784; + }function Kx(a, b, d, e, f) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;f = f | 0;var g = 0, + h = 0, + i = 0, + j = 0;g = l;l = l + 16 | 0;i = g + 4 | 0;j = g;h = Vg(Lx() | 0) | 0;d = rx(d) | 0;c[j >> 2] = c[e >> 2];c[i >> 2] = c[j >> 2];e = qw(i) | 0;Dx(a, $a(0, h | 0, b | 0, d | 0, e | 0, sw(f) | 0) | 0);l = g;return; + }function Lx() { + var b = 0;if (!(a[8016] | 0)) { + Mx(10780);b = 8016;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }return 10780; + }function Mx(a) { + a = a | 0;fh(a, Nx() | 0, 3);return; + }function Nx() { + return 1800; + }function Ox(a, b, c) { + a = a | 0;b = b | 0;c = c | 0;var d = 0;d = Vg(Px() | 0) | 0;Dx(a, bb(0, d | 0, b | 0, rx(c) | 0) | 0);return; + }function Px() { + var b = 0;if (!(a[8024] | 0)) { + Qx(10792);b = 8024;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }return 10792; + }function Qx(a) { + a = a | 0;fh(a, Rx() | 0, 1);return; + }function Rx() { + return 1816; + }function Sx() { + Tx();Ux();Vx();return; + }function Tx() { + c[2702] = rC(65536) | 0;return; + }function Ux() { + qy(10856);return; + }function Vx() { + Wx(10816);return; + }function Wx(a) { + a = a | 0;Xx(a, 5044);Yx(a) | 0;return; + }function Xx(a, b) { + a = a | 0;b = b | 0;var d = 0;d = zw() | 0;c[a >> 2] = d;ky(d, b);Hv(c[a >> 2] | 0);return; + }function Yx(a) { + a = a | 0;var b = 0;b = c[a >> 2] | 0;At(b, Zx() | 0);return a | 0; + }function Zx() { + var b = 0;if (!(a[8032] | 0)) { + _x(10820);Ha(64, 10820, o | 0) | 0;b = 8032;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }if (!(si(10820) | 0)) _x(10820);return 10820; + }function _x(a) { + a = a | 0;by(a);Gt(a, 25);return; + }function $x(a) { + a = a | 0;ay(a + 24 | 0);return; + }function ay(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~((b + -8 - e | 0) >>> 3) << 3);sC(d); + }return; + }function by(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 5, 18, b, gy() | 0, 1);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function cy(a, b) { + a = a | 0;b = b | 0;dy(a, b);return; + }function dy(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0;d = l;l = l + 16 | 0;e = d;f = d + 4 | 0;Gk(f, b);c[e >> 2] = Hk(f, b) | 0;ey(a, e);l = d;return; + }function ey(b, d) { + b = b | 0;d = d | 0;fy(b + 4 | 0, c[d >> 2] | 0);a[b + 8 >> 0] = 1;return; + }function fy(a, b) { + a = a | 0;b = b | 0;c[a >> 2] = b;return; + }function gy() { + return 1824; + }function hy(a) { + a = a | 0;return iy(a) | 0; + }function iy(a) { + a = a | 0;var b = 0, + d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0;d = l;l = l + 16 | 0;f = d + 4 | 0;h = d;e = jy(8) | 0;b = e;i = qC(4) | 0;Gk(f, a);fy(i, Hk(f, a) | 0);g = b + 4 | 0;c[g >> 2] = i;a = qC(8) | 0;g = c[g >> 2] | 0;c[h >> 2] = 0;c[f >> 2] = c[h >> 2];Bw(a, g, f);c[e >> 2] = a;l = d;return b | 0; + }function jy(a) { + a = a | 0;var b = 0, + d = 0;a = a + 7 & -8;if (a >>> 0 <= 32768 ? (b = c[2701] | 0, a >>> 0 <= (65536 - b | 0) >>> 0) : 0) { + d = (c[2702] | 0) + b | 0;c[2701] = b + a;a = d; + } else { + a = rC(a + 8 | 0) | 0;c[a >> 2] = c[2703];c[2703] = a;a = a + 8 | 0; + }return a | 0; + }function ky(a, b) { + a = a | 0;b = b | 0;c[a >> 2] = ly() | 0;c[a + 4 >> 2] = my() | 0;c[a + 12 >> 2] = b;c[a + 8 >> 2] = ny() | 0;c[a + 32 >> 2] = 9;return; + }function ly() { + return 11744; + }function my() { + return 1832; + }function ny() { + return cu() | 0; + }function oy(a, b, c, d) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;if ((jr(d, 896) | 0) == 512) { + if (c | 0) { + py(c);sC(c); + } + } else if (b | 0) sC(b);return; + }function py(a) { + a = a | 0;a = c[a + 4 >> 2] | 0;if (a | 0) oC(a);return; + }function qy(a) { + a = a | 0;ry(a, 5052);sy(a) | 0;ty(a, 5058, 26) | 0;uy(a, 5069, 1) | 0;vy(a, 5077, 10) | 0;wy(a, 5087, 19) | 0;yy(a, 5094, 27) | 0;return; + }function ry(a, b) { + a = a | 0;b = b | 0;var d = 0;d = GA() | 0;c[a >> 2] = d;HA(d, b);Hv(c[a >> 2] | 0);return; + }function sy(a) { + a = a | 0;var b = 0;b = c[a >> 2] | 0;At(b, rA() | 0);return a | 0; + }function ty(a, b, c) { + a = a | 0;b = b | 0;c = c | 0;Yz(a, ai(b) | 0, c, 0);return a | 0; + }function uy(a, b, c) { + a = a | 0;b = b | 0;c = c | 0;Gz(a, ai(b) | 0, c, 0);return a | 0; + }function vy(a, b, c) { + a = a | 0;b = b | 0;c = c | 0;hz(a, ai(b) | 0, c, 0);return a | 0; + }function wy(a, b, c) { + a = a | 0;b = b | 0;c = c | 0;Ry(a, ai(b) | 0, c, 0);return a | 0; + }function xy(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0;a: while (1) { + d = c[2703] | 0;while (1) { + if ((d | 0) == (b | 0)) break a;e = c[d >> 2] | 0;c[2703] = e;if (!d) d = e;else break; + }sC(d); + }c[2701] = a;return; + }function yy(a, b, c) { + a = a | 0;b = b | 0;c = c | 0;zy(a, ai(b) | 0, c, 0);return a | 0; + }function zy(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0;g = c[a >> 2] | 0;f = Ay() | 0;a = By(d) | 0;fi(g, b, f, a, Cy(d, e) | 0, e);return; + }function Ay() { + var b = 0, + d = 0;if (!(a[8040] | 0)) { + Jy(10860);Ha(65, 10860, o | 0) | 0;d = 8040;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(10860) | 0)) { + b = 10860;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));Jy(10860); + }return 10860; + }function By(a) { + a = a | 0;return a | 0; + }function Cy(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0;i = l;l = l + 16 | 0;f = i;g = i + 4 | 0;c[f >> 2] = a;j = Ay() | 0;h = j + 24 | 0;b = ji(b, 4) | 0;c[g >> 2] = b;d = j + 28 | 0;e = c[d >> 2] | 0;if (e >>> 0 < (c[j + 32 >> 2] | 0) >>> 0) { + Dy(e, a, b);b = (c[d >> 2] | 0) + 8 | 0;c[d >> 2] = b; + } else { + Ey(h, f, g);b = c[d >> 2] | 0; + }l = i;return (b - (c[h >> 2] | 0) >> 3) + -1 | 0; + }function Dy(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;c[a >> 2] = b;c[a + 4 >> 2] = d;return; + }function Ey(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;i = l;l = l + 32 | 0;f = i;g = a + 4 | 0;h = ((c[g >> 2] | 0) - (c[a >> 2] | 0) >> 3) + 1 | 0;e = Fy(a) | 0;if (e >>> 0 < h >>> 0) jC(a);else { + j = c[a >> 2] | 0;m = (c[a + 8 >> 2] | 0) - j | 0;k = m >> 2;Gy(f, m >> 3 >>> 0 < e >>> 1 >>> 0 ? k >>> 0 < h >>> 0 ? h : k : e, (c[g >> 2] | 0) - j >> 3, a + 8 | 0);h = f + 8 | 0;Dy(c[h >> 2] | 0, c[b >> 2] | 0, c[d >> 2] | 0);c[h >> 2] = (c[h >> 2] | 0) + 8;Hy(a, f);Iy(f);l = i;return; + } + }function Fy(a) { + a = a | 0;return 536870911; + }function Gy(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 536870911) Ta();else { + f = qC(b << 3) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d << 3) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b << 3);return; + }function Hy(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (0 - (f >> 3) << 3) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function Iy(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~((e + -8 - b | 0) >>> 3) << 3);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function Jy(a) { + a = a | 0;My(a);return; + }function Ky(a) { + a = a | 0;Ly(a + 24 | 0);return; + }function Ly(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~((b + -8 - e | 0) >>> 3) << 3);sC(d); + }return; + }function My(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 1, 11, b, Ny() | 0, 2);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function Ny() { + return 1840; + }function Oy(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;Qy(c[(Py(a) | 0) >> 2] | 0, b, d);return; + }function Py(a) { + a = a | 0;return (c[(Ay() | 0) + 24 >> 2] | 0) + (a << 3) | 0; + }function Qy(a, b, c) { + a = a | 0;b = b | 0;c = c | 0;var d = 0, + e = 0, + f = 0;d = l;l = l + 16 | 0;f = d + 1 | 0;e = d;Gk(f, b);b = Hk(f, b) | 0;Gk(e, c);c = Hk(e, c) | 0;ob[a & 31](b, c);l = d;return; + }function Ry(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0;g = c[a >> 2] | 0;f = Sy() | 0;a = Ty(d) | 0;fi(g, b, f, a, Uy(d, e) | 0, e);return; + }function Sy() { + var b = 0, + d = 0;if (!(a[8048] | 0)) { + $y(10896);Ha(66, 10896, o | 0) | 0;d = 8048;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(10896) | 0)) { + b = 10896;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));$y(10896); + }return 10896; + }function Ty(a) { + a = a | 0;return a | 0; + }function Uy(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0;i = l;l = l + 16 | 0;f = i;g = i + 4 | 0;c[f >> 2] = a;j = Sy() | 0;h = j + 24 | 0;b = ji(b, 4) | 0;c[g >> 2] = b;d = j + 28 | 0;e = c[d >> 2] | 0;if (e >>> 0 < (c[j + 32 >> 2] | 0) >>> 0) { + Vy(e, a, b);b = (c[d >> 2] | 0) + 8 | 0;c[d >> 2] = b; + } else { + Wy(h, f, g);b = c[d >> 2] | 0; + }l = i;return (b - (c[h >> 2] | 0) >> 3) + -1 | 0; + }function Vy(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;c[a >> 2] = b;c[a + 4 >> 2] = d;return; + }function Wy(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;i = l;l = l + 32 | 0;f = i;g = a + 4 | 0;h = ((c[g >> 2] | 0) - (c[a >> 2] | 0) >> 3) + 1 | 0;e = Xy(a) | 0;if (e >>> 0 < h >>> 0) jC(a);else { + j = c[a >> 2] | 0;m = (c[a + 8 >> 2] | 0) - j | 0;k = m >> 2;Yy(f, m >> 3 >>> 0 < e >>> 1 >>> 0 ? k >>> 0 < h >>> 0 ? h : k : e, (c[g >> 2] | 0) - j >> 3, a + 8 | 0);h = f + 8 | 0;Vy(c[h >> 2] | 0, c[b >> 2] | 0, c[d >> 2] | 0);c[h >> 2] = (c[h >> 2] | 0) + 8;Zy(a, f);_y(f);l = i;return; + } + }function Xy(a) { + a = a | 0;return 536870911; + }function Yy(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 536870911) Ta();else { + f = qC(b << 3) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d << 3) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b << 3);return; + }function Zy(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (0 - (f >> 3) << 3) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function _y(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~((e + -8 - b | 0) >>> 3) << 3);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function $y(a) { + a = a | 0;cz(a);return; + }function az(a) { + a = a | 0;bz(a + 24 | 0);return; + }function bz(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~((b + -8 - e | 0) >>> 3) << 3);sC(d); + }return; + }function cz(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 1, 11, b, dz() | 0, 1);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function dz() { + return 1852; + }function ez(a, b) { + a = a | 0;b = b | 0;return gz(c[(fz(a) | 0) >> 2] | 0, b) | 0; + }function fz(a) { + a = a | 0;return (c[(Sy() | 0) + 24 >> 2] | 0) + (a << 3) | 0; + }function gz(a, b) { + a = a | 0;b = b | 0;var c = 0, + d = 0;c = l;l = l + 16 | 0;d = c;Gk(d, b);b = Hk(d, b) | 0;b = ul(pb[a & 31](b) | 0) | 0;l = c;return b | 0; + }function hz(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0;g = c[a >> 2] | 0;f = iz() | 0;a = jz(d) | 0;fi(g, b, f, a, kz(d, e) | 0, e);return; + }function iz() { + var b = 0, + d = 0;if (!(a[8056] | 0)) { + rz(10932);Ha(67, 10932, o | 0) | 0;d = 8056;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(10932) | 0)) { + b = 10932;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));rz(10932); + }return 10932; + }function jz(a) { + a = a | 0;return a | 0; + }function kz(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0;i = l;l = l + 16 | 0;f = i;g = i + 4 | 0;c[f >> 2] = a;j = iz() | 0;h = j + 24 | 0;b = ji(b, 4) | 0;c[g >> 2] = b;d = j + 28 | 0;e = c[d >> 2] | 0;if (e >>> 0 < (c[j + 32 >> 2] | 0) >>> 0) { + lz(e, a, b);b = (c[d >> 2] | 0) + 8 | 0;c[d >> 2] = b; + } else { + mz(h, f, g);b = c[d >> 2] | 0; + }l = i;return (b - (c[h >> 2] | 0) >> 3) + -1 | 0; + }function lz(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;c[a >> 2] = b;c[a + 4 >> 2] = d;return; + }function mz(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;i = l;l = l + 32 | 0;f = i;g = a + 4 | 0;h = ((c[g >> 2] | 0) - (c[a >> 2] | 0) >> 3) + 1 | 0;e = nz(a) | 0;if (e >>> 0 < h >>> 0) jC(a);else { + j = c[a >> 2] | 0;m = (c[a + 8 >> 2] | 0) - j | 0;k = m >> 2;oz(f, m >> 3 >>> 0 < e >>> 1 >>> 0 ? k >>> 0 < h >>> 0 ? h : k : e, (c[g >> 2] | 0) - j >> 3, a + 8 | 0);h = f + 8 | 0;lz(c[h >> 2] | 0, c[b >> 2] | 0, c[d >> 2] | 0);c[h >> 2] = (c[h >> 2] | 0) + 8;pz(a, f);qz(f);l = i;return; + } + }function nz(a) { + a = a | 0;return 536870911; + }function oz(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 536870911) Ta();else { + f = qC(b << 3) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d << 3) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b << 3);return; + }function pz(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (0 - (f >> 3) << 3) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function qz(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~((e + -8 - b | 0) >>> 3) << 3);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function rz(a) { + a = a | 0;uz(a);return; + }function sz(a) { + a = a | 0;tz(a + 24 | 0);return; + }function tz(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~((b + -8 - e | 0) >>> 3) << 3);sC(d); + }return; + }function uz(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 1, 7, b, vz() | 0, 2);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function vz() { + return 1860; + }function wz(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;return yz(c[(xz(a) | 0) >> 2] | 0, b, d) | 0; + }function xz(a) { + a = a | 0;return (c[(iz() | 0) + 24 >> 2] | 0) + (a << 3) | 0; + }function yz(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0;e = l;l = l + 32 | 0;h = e + 12 | 0;g = e + 8 | 0;i = e;j = e + 16 | 0;f = e + 4 | 0;zz(j, b);Az(i, j, b);ik(f, d);d = jk(f, d) | 0;c[h >> 2] = c[i >> 2];Eb[a & 15](g, h, d);d = Bz(g) | 0;wf(g);kk(f);l = e;return d | 0; + }function zz(a, b) { + a = a | 0;b = b | 0;return; + }function Az(a, b, c) { + a = a | 0;b = b | 0;c = c | 0;Cz(a, c);return; + }function Bz(a) { + a = a | 0;return Sg(a) | 0; + }function Cz(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0;f = l;l = l + 16 | 0;d = f;e = b;if (!(e & 1)) c[a >> 2] = c[b >> 2];else { + Dz(d, 0);Ja(e | 0, d | 0) | 0;Ez(a, d);Fz(d); + }l = f;return; + }function Dz(b, d) { + b = b | 0;d = d | 0;ah(b, d);c[b + 4 >> 2] = 0;a[b + 8 >> 0] = 0;return; + }function Ez(a, b) { + a = a | 0;b = b | 0;c[a >> 2] = c[b + 4 >> 2];return; + }function Fz(b) { + b = b | 0;a[b + 8 >> 0] = 0;return; + }function Gz(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0;g = c[a >> 2] | 0;f = Hz() | 0;a = Iz(d) | 0;fi(g, b, f, a, Jz(d, e) | 0, e);return; + }function Hz() { + var b = 0, + d = 0;if (!(a[8064] | 0)) { + Qz(10968);Ha(68, 10968, o | 0) | 0;d = 8064;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(10968) | 0)) { + b = 10968;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));Qz(10968); + }return 10968; + }function Iz(a) { + a = a | 0;return a | 0; + }function Jz(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0;i = l;l = l + 16 | 0;f = i;g = i + 4 | 0;c[f >> 2] = a;j = Hz() | 0;h = j + 24 | 0;b = ji(b, 4) | 0;c[g >> 2] = b;d = j + 28 | 0;e = c[d >> 2] | 0;if (e >>> 0 < (c[j + 32 >> 2] | 0) >>> 0) { + Kz(e, a, b);b = (c[d >> 2] | 0) + 8 | 0;c[d >> 2] = b; + } else { + Lz(h, f, g);b = c[d >> 2] | 0; + }l = i;return (b - (c[h >> 2] | 0) >> 3) + -1 | 0; + }function Kz(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;c[a >> 2] = b;c[a + 4 >> 2] = d;return; + }function Lz(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;i = l;l = l + 32 | 0;f = i;g = a + 4 | 0;h = ((c[g >> 2] | 0) - (c[a >> 2] | 0) >> 3) + 1 | 0;e = Mz(a) | 0;if (e >>> 0 < h >>> 0) jC(a);else { + j = c[a >> 2] | 0;m = (c[a + 8 >> 2] | 0) - j | 0;k = m >> 2;Nz(f, m >> 3 >>> 0 < e >>> 1 >>> 0 ? k >>> 0 < h >>> 0 ? h : k : e, (c[g >> 2] | 0) - j >> 3, a + 8 | 0);h = f + 8 | 0;Kz(c[h >> 2] | 0, c[b >> 2] | 0, c[d >> 2] | 0);c[h >> 2] = (c[h >> 2] | 0) + 8;Oz(a, f);Pz(f);l = i;return; + } + }function Mz(a) { + a = a | 0;return 536870911; + }function Nz(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 536870911) Ta();else { + f = qC(b << 3) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d << 3) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b << 3);return; + }function Oz(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (0 - (f >> 3) << 3) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function Pz(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~((e + -8 - b | 0) >>> 3) << 3);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function Qz(a) { + a = a | 0;Tz(a);return; + }function Rz(a) { + a = a | 0;Sz(a + 24 | 0);return; + }function Sz(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~((b + -8 - e | 0) >>> 3) << 3);sC(d); + }return; + }function Tz(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 1, 1, b, Uz() | 0, 5);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function Uz() { + return 1872; + }function Vz(a, b, d, e, f, g) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;f = f | 0;g = g | 0;Xz(c[(Wz(a) | 0) >> 2] | 0, b, d, e, f, g);return; + }function Wz(a) { + a = a | 0;return (c[(Hz() | 0) + 24 >> 2] | 0) + (a << 3) | 0; + }function Xz(a, b, c, d, e, f) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;e = e | 0;f = f | 0;var g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;g = l;l = l + 32 | 0;h = g + 16 | 0;i = g + 12 | 0;j = g + 8 | 0;k = g + 4 | 0;m = g;ik(h, b);b = jk(h, b) | 0;ik(i, c);c = jk(i, c) | 0;ik(j, d);d = jk(j, d) | 0;ik(k, e);e = jk(k, e) | 0;ik(m, f);f = jk(m, f) | 0;jb[a & 1](b, c, d, e, f);kk(m);kk(k);kk(j);kk(i);kk(h);l = g;return; + }function Yz(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0;g = c[a >> 2] | 0;f = Zz() | 0;a = _z(d) | 0;fi(g, b, f, a, $z(d, e) | 0, e);return; + }function Zz() { + var b = 0, + d = 0;if (!(a[8072] | 0)) { + gA(11004);Ha(69, 11004, o | 0) | 0;d = 8072;c[d >> 2] = 1;c[d + 4 >> 2] = 0; + }if (!(si(11004) | 0)) { + b = 11004;d = b + 36 | 0;do { + c[b >> 2] = 0;b = b + 4 | 0; + } while ((b | 0) < (d | 0));gA(11004); + }return 11004; + }function _z(a) { + a = a | 0;return a | 0; + }function $z(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0;i = l;l = l + 16 | 0;f = i;g = i + 4 | 0;c[f >> 2] = a;j = Zz() | 0;h = j + 24 | 0;b = ji(b, 4) | 0;c[g >> 2] = b;d = j + 28 | 0;e = c[d >> 2] | 0;if (e >>> 0 < (c[j + 32 >> 2] | 0) >>> 0) { + aA(e, a, b);b = (c[d >> 2] | 0) + 8 | 0;c[d >> 2] = b; + } else { + bA(h, f, g);b = c[d >> 2] | 0; + }l = i;return (b - (c[h >> 2] | 0) >> 3) + -1 | 0; + }function aA(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;c[a >> 2] = b;c[a + 4 >> 2] = d;return; + }function bA(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0;i = l;l = l + 32 | 0;f = i;g = a + 4 | 0;h = ((c[g >> 2] | 0) - (c[a >> 2] | 0) >> 3) + 1 | 0;e = cA(a) | 0;if (e >>> 0 < h >>> 0) jC(a);else { + j = c[a >> 2] | 0;m = (c[a + 8 >> 2] | 0) - j | 0;k = m >> 2;dA(f, m >> 3 >>> 0 < e >>> 1 >>> 0 ? k >>> 0 < h >>> 0 ? h : k : e, (c[g >> 2] | 0) - j >> 3, a + 8 | 0);h = f + 8 | 0;aA(c[h >> 2] | 0, c[b >> 2] | 0, c[d >> 2] | 0);c[h >> 2] = (c[h >> 2] | 0) + 8;eA(a, f);fA(f);l = i;return; + } + }function cA(a) { + a = a | 0;return 536870911; + }function dA(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0;c[a + 12 >> 2] = 0;c[a + 16 >> 2] = e;do if (b) { + if (b >>> 0 > 536870911) Ta();else { + f = qC(b << 3) | 0;break; + } + } else f = 0; while (0);c[a >> 2] = f;e = f + (d << 3) | 0;c[a + 8 >> 2] = e;c[a + 4 >> 2] = e;c[a + 12 >> 2] = f + (b << 3);return; + }function eA(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0, + f = 0, + g = 0, + h = 0;e = c[a >> 2] | 0;h = a + 4 | 0;g = b + 4 | 0;f = (c[h >> 2] | 0) - e | 0;d = (c[g >> 2] | 0) + (0 - (f >> 3) << 3) | 0;c[g >> 2] = d;if ((f | 0) > 0) { + BC(d | 0, e | 0, f | 0) | 0;e = g;d = c[g >> 2] | 0; + } else e = g;g = c[a >> 2] | 0;c[a >> 2] = d;c[e >> 2] = g;g = b + 8 | 0;f = c[h >> 2] | 0;c[h >> 2] = c[g >> 2];c[g >> 2] = f;g = a + 8 | 0;h = b + 12 | 0;a = c[g >> 2] | 0;c[g >> 2] = c[h >> 2];c[h >> 2] = a;c[b >> 2] = c[e >> 2];return; + }function fA(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;b = c[a + 4 >> 2] | 0;d = a + 8 | 0;e = c[d >> 2] | 0;if ((e | 0) != (b | 0)) c[d >> 2] = e + (~((e + -8 - b | 0) >>> 3) << 3);a = c[a >> 2] | 0;if (a | 0) sC(a);return; + }function gA(a) { + a = a | 0;jA(a);return; + }function hA(a) { + a = a | 0;iA(a + 24 | 0);return; + }function iA(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~((b + -8 - e | 0) >>> 3) << 3);sC(d); + }return; + }function jA(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 1, 12, b, kA() | 0, 2);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function kA() { + return 1896; + }function lA(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;nA(c[(mA(a) | 0) >> 2] | 0, b, d);return; + }function mA(a) { + a = a | 0;return (c[(Zz() | 0) + 24 >> 2] | 0) + (a << 3) | 0; + }function nA(a, b, c) { + a = a | 0;b = b | 0;c = c | 0;var d = 0, + e = 0, + f = 0;d = l;l = l + 16 | 0;f = d + 4 | 0;e = d;oA(f, b);b = pA(f, b) | 0;ik(e, c);c = jk(e, c) | 0;ob[a & 31](b, c);kk(e);l = d;return; + }function oA(a, b) { + a = a | 0;b = b | 0;return; + }function pA(a, b) { + a = a | 0;b = b | 0;return qA(b) | 0; + }function qA(a) { + a = a | 0;return a | 0; + }function rA() { + var b = 0;if (!(a[8080] | 0)) { + sA(11040);Ha(70, 11040, o | 0) | 0;b = 8080;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }if (!(si(11040) | 0)) sA(11040);return 11040; + }function sA(a) { + a = a | 0;vA(a);Gt(a, 71);return; + }function tA(a) { + a = a | 0;uA(a + 24 | 0);return; + }function uA(a) { + a = a | 0;var b = 0, + d = 0, + e = 0;d = c[a >> 2] | 0;e = d;if (d | 0) { + a = a + 4 | 0;b = c[a >> 2] | 0;if ((b | 0) != (d | 0)) c[a >> 2] = b + (~((b + -8 - e | 0) >>> 3) << 3);sC(d); + }return; + }function vA(a) { + a = a | 0;var b = 0;b = vi() | 0;yi(a, 5, 7, b, zA() | 0, 0);c[a + 24 >> 2] = 0;c[a + 28 >> 2] = 0;c[a + 32 >> 2] = 0;return; + }function wA(a) { + a = a | 0;xA(a);return; + }function xA(a) { + a = a | 0;yA(a);return; + }function yA(b) { + b = b | 0;a[b + 8 >> 0] = 1;return; + }function zA() { + return 1936; + }function AA() { + return BA() | 0; + }function BA() { + var a = 0, + b = 0, + d = 0, + e = 0, + f = 0, + g = 0, + h = 0;b = l;l = l + 16 | 0;f = b + 4 | 0;h = b;d = jy(8) | 0;a = d;g = a + 4 | 0;c[g >> 2] = qC(1) | 0;e = qC(8) | 0;g = c[g >> 2] | 0;c[h >> 2] = 0;c[f >> 2] = c[h >> 2];CA(e, g, f);c[d >> 2] = e;l = b;return a | 0; + }function CA(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;c[a >> 2] = b;d = qC(16) | 0;c[d + 4 >> 2] = 0;c[d + 8 >> 2] = 0;c[d >> 2] = 1916;c[d + 12 >> 2] = b;c[a + 4 >> 2] = d;return; + }function DA(a) { + a = a | 0;kC(a);sC(a);return; + }function EA(a) { + a = a | 0;a = c[a + 12 >> 2] | 0;if (a | 0) sC(a);return; + }function FA(a) { + a = a | 0;sC(a);return; + }function GA() { + var b = 0;if (!(a[8088] | 0)) { + NA(11076);Ha(25, 11076, o | 0) | 0;b = 8088;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }return 11076; + }function HA(a, b) { + a = a | 0;b = b | 0;c[a >> 2] = IA() | 0;c[a + 4 >> 2] = JA() | 0;c[a + 12 >> 2] = b;c[a + 8 >> 2] = KA() | 0;c[a + 32 >> 2] = 10;return; + }function IA() { + return 11745; + }function JA() { + return 1940; + }function KA() { + return lr() | 0; + }function LA(a, b, c, d) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;if ((jr(d, 896) | 0) == 512) { + if (c | 0) { + MA(c);sC(c); + } + } else if (b | 0) sC(b);return; + }function MA(a) { + a = a | 0;a = c[a + 4 >> 2] | 0;if (a | 0) oC(a);return; + }function NA(a) { + a = a | 0;Zi(a);return; + }function OA(a, b) { + a = a | 0;b = b | 0;c[a >> 2] = b;return; + }function PA(a) { + a = a | 0;return c[a >> 2] | 0; + }function QA(b) { + b = b | 0;return a[c[b >> 2] >> 0] | 0; + }function RA(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0;d = l;l = l + 16 | 0;e = d;c[e >> 2] = c[a >> 2];SA(b, e) | 0;l = d;return; + }function SA(a, b) { + a = a | 0;b = b | 0;var d = 0;d = TA(c[a >> 2] | 0, b) | 0;b = a + 4 | 0;c[(c[b >> 2] | 0) + 8 >> 2] = d;return c[(c[b >> 2] | 0) + 8 >> 2] | 0; + }function TA(a, b) { + a = a | 0;b = b | 0;var d = 0, + e = 0;d = l;l = l + 16 | 0;e = d;UA(e);a = Sg(a) | 0;b = VA(a, c[b >> 2] | 0) | 0;WA(e);l = d;return b | 0; + }function UA(a) { + a = a | 0;c[a >> 2] = c[2701];c[a + 4 >> 2] = c[2703];return; + }function VA(a, b) { + a = a | 0;b = b | 0;var c = 0;c = Vg(XA() | 0) | 0;return bb(0, c | 0, a | 0, sw(b) | 0) | 0; + }function WA(a) { + a = a | 0;xy(c[a >> 2] | 0, c[a + 4 >> 2] | 0);return; + }function XA() { + var b = 0;if (!(a[8096] | 0)) { + YA(11120);b = 8096;c[b >> 2] = 1;c[b + 4 >> 2] = 0; + }return 11120; + }function YA(a) { + a = a | 0;fh(a, ZA() | 0, 1);return; + }function ZA() { + return 1948; + }function _A() { + $A();return; + }function $A() { + var b = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0, + p = 0, + q = 0, + r = 0, + s = 0, + t = 0;s = l;l = l + 16 | 0;o = s + 4 | 0;p = s;Ea(65536, 10804, c[2702] | 0, 10812);f = Wv() | 0;e = c[f >> 2] | 0;b = c[e >> 2] | 0;if (b | 0) { + g = c[f + 8 >> 2] | 0;f = c[f + 4 >> 2] | 0;while (1) { + Ma(b | 0, d[f >> 0] | 0 | 0, a[g >> 0] | 0);e = e + 4 | 0;b = c[e >> 2] | 0;if (!b) break;else { + g = g + 1 | 0;f = f + 1 | 0; + } + } + }b = Yv() | 0;e = c[b >> 2] | 0;if (e | 0) do { + Na(e | 0, c[b + 4 >> 2] | 0);b = b + 8 | 0;e = c[b >> 2] | 0; + } while ((e | 0) != 0);Na(aB() | 0, 5167);n = Iv() | 0;b = c[n >> 2] | 0;a: do if (b | 0) { + do { + bB(c[b + 4 >> 2] | 0);b = c[b >> 2] | 0; + } while ((b | 0) != 0);b = c[n >> 2] | 0;if (b | 0) { + m = n;do { + while (1) { + h = b;b = c[b >> 2] | 0;h = c[h + 4 >> 2] | 0;if (!(cB(h) | 0)) break;c[p >> 2] = m;c[o >> 2] = c[p >> 2];dB(n, o) | 0;if (!b) break a; + }eB(h);m = c[m >> 2] | 0;e = fB(h) | 0;i = Va() | 0;j = l;l = l + ((1 * (e << 2) | 0) + 15 & -16) | 0;k = l;l = l + ((1 * (e << 2) | 0) + 15 & -16) | 0;e = c[(Zw(h) | 0) >> 2] | 0;if (e | 0) { + f = j;g = k;while (1) { + c[f >> 2] = c[(Xw(c[e + 4 >> 2] | 0) | 0) >> 2];c[g >> 2] = c[e + 8 >> 2];e = c[e >> 2] | 0;if (!e) break;else { + f = f + 4 | 0;g = g + 4 | 0; + } + } + }t = Xw(h) | 0;e = gB(h) | 0;f = fB(h) | 0;g = hB(h) | 0;Ra(t | 0, e | 0, j | 0, k | 0, f | 0, g | 0, Tv(h) | 0);Ga(i | 0); + } while ((b | 0) != 0); + } + } while (0);b = c[(Vv() | 0) >> 2] | 0;if (b | 0) do { + t = b + 4 | 0;n = aw(t) | 0;h = fw(n) | 0;i = bw(n) | 0;j = (cw(n) | 0) + 1 | 0;k = iB(n) | 0;m = jB(t) | 0;n = si(n) | 0;o = hw(t) | 0;p = kB(t) | 0;Pa(0, h | 0, i | 0, j | 0, k | 0, m | 0, n | 0, o | 0, p | 0, lB(t) | 0);b = c[b >> 2] | 0; + } while ((b | 0) != 0);b = c[(Iv() | 0) >> 2] | 0;b: do if (b | 0) { + c: while (1) { + e = c[b + 4 >> 2] | 0;if (e | 0 ? (q = c[(Xw(e) | 0) >> 2] | 0, r = c[(ax(e) | 0) >> 2] | 0, r | 0) : 0) { + f = r;do { + e = f + 4 | 0;g = aw(e) | 0;d: do if (g | 0) switch (si(g) | 0) {case 0: + break c;case 4:case 3:case 2: + { + k = fw(g) | 0;m = bw(g) | 0;n = (cw(g) | 0) + 1 | 0;o = iB(g) | 0;p = si(g) | 0;t = hw(e) | 0;Pa(q | 0, k | 0, m | 0, n | 0, o | 0, 0, p | 0, t | 0, kB(e) | 0, lB(e) | 0);break d; + }case 1: + { + j = fw(g) | 0;k = bw(g) | 0;m = (cw(g) | 0) + 1 | 0;n = iB(g) | 0;o = jB(e) | 0;p = si(g) | 0;t = hw(e) | 0;Pa(q | 0, j | 0, k | 0, m | 0, n | 0, o | 0, p | 0, t | 0, kB(e) | 0, lB(e) | 0);break d; + }case 5: + { + n = fw(g) | 0;o = bw(g) | 0;p = (cw(g) | 0) + 1 | 0;t = iB(g) | 0;Pa(q | 0, n | 0, o | 0, p | 0, t | 0, mB(g) | 0, si(g) | 0, 0, 0, 0);break d; + }default: + break d;} while (0);f = c[f >> 2] | 0; + } while ((f | 0) != 0); + }b = c[b >> 2] | 0;if (!b) break b; + }Ta(); + } while (0);Sa();l = s;return; + }function aB() { + return 11703; + }function bB(b) { + b = b | 0;a[b + 40 >> 0] = 0;return; + }function cB(b) { + b = b | 0;return (a[b + 40 >> 0] | 0) != 0 | 0; + }function dB(a, b) { + a = a | 0;b = b | 0;b = nB(b) | 0;a = c[b >> 2] | 0;c[b >> 2] = c[a >> 2];sC(a);return c[b >> 2] | 0; + }function eB(b) { + b = b | 0;a[b + 40 >> 0] = 1;return; + }function fB(a) { + a = a | 0;return c[a + 20 >> 2] | 0; + }function gB(a) { + a = a | 0;return c[a + 8 >> 2] | 0; + }function hB(a) { + a = a | 0;return c[a + 32 >> 2] | 0; + }function iB(a) { + a = a | 0;return c[a + 4 >> 2] | 0; + }function jB(a) { + a = a | 0;return c[a + 4 >> 2] | 0; + }function kB(a) { + a = a | 0;return c[a + 8 >> 2] | 0; + }function lB(a) { + a = a | 0;return c[a + 16 >> 2] | 0; + }function mB(a) { + a = a | 0;return c[a + 20 >> 2] | 0; + }function nB(a) { + a = a | 0;return c[a >> 2] | 0; + } + function oB(a) { + a = a | 0;var b = 0, + d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0, + p = 0, + q = 0, + r = 0, + s = 0, + t = 0, + u = 0, + v = 0, + w = 0, + x = 0;x = l;l = l + 16 | 0;o = x;do if (a >>> 0 < 245) { + k = a >>> 0 < 11 ? 16 : a + 11 & -8;a = k >>> 3;n = c[2783] | 0;d = n >>> a;if (d & 3 | 0) { + b = (d & 1 ^ 1) + a | 0;a = 11172 + (b << 1 << 2) | 0;d = a + 8 | 0;e = c[d >> 2] | 0;f = e + 8 | 0;g = c[f >> 2] | 0;if ((a | 0) == (g | 0)) c[2783] = n & ~(1 << b);else { + c[g + 12 >> 2] = a;c[d >> 2] = g; + }w = b << 3;c[e + 4 >> 2] = w | 3;w = e + w + 4 | 0;c[w >> 2] = c[w >> 2] | 1;w = f;l = x;return w | 0; + }m = c[2785] | 0;if (k >>> 0 > m >>> 0) { + if (d | 0) { + b = 2 << a;b = d << a & (b | 0 - b);b = (b & 0 - b) + -1 | 0;h = b >>> 12 & 16;b = b >>> h;d = b >>> 5 & 8;b = b >>> d;f = b >>> 2 & 4;b = b >>> f;a = b >>> 1 & 2;b = b >>> a;e = b >>> 1 & 1;e = (d | h | f | a | e) + (b >>> e) | 0;b = 11172 + (e << 1 << 2) | 0;a = b + 8 | 0;f = c[a >> 2] | 0;h = f + 8 | 0;d = c[h >> 2] | 0;if ((b | 0) == (d | 0)) { + a = n & ~(1 << e);c[2783] = a; + } else { + c[d + 12 >> 2] = b;c[a >> 2] = d;a = n; + }g = (e << 3) - k | 0;c[f + 4 >> 2] = k | 3;e = f + k | 0;c[e + 4 >> 2] = g | 1;c[e + g >> 2] = g;if (m | 0) { + f = c[2788] | 0;b = m >>> 3;d = 11172 + (b << 1 << 2) | 0;b = 1 << b;if (!(a & b)) { + c[2783] = a | b;b = d;a = d + 8 | 0; + } else { + a = d + 8 | 0;b = c[a >> 2] | 0; + }c[a >> 2] = f;c[b + 12 >> 2] = f;c[f + 8 >> 2] = b;c[f + 12 >> 2] = d; + }c[2785] = g;c[2788] = e;w = h;l = x;return w | 0; + }i = c[2784] | 0;if (i) { + d = (i & 0 - i) + -1 | 0;h = d >>> 12 & 16;d = d >>> h;g = d >>> 5 & 8;d = d >>> g;j = d >>> 2 & 4;d = d >>> j;e = d >>> 1 & 2;d = d >>> e;a = d >>> 1 & 1;a = c[11436 + ((g | h | j | e | a) + (d >>> a) << 2) >> 2] | 0;d = (c[a + 4 >> 2] & -8) - k | 0;e = c[a + 16 + (((c[a + 16 >> 2] | 0) == 0 & 1) << 2) >> 2] | 0;if (!e) { + j = a;g = d; + } else { + do { + h = (c[e + 4 >> 2] & -8) - k | 0;j = h >>> 0 < d >>> 0;d = j ? h : d;a = j ? e : a;e = c[e + 16 + (((c[e + 16 >> 2] | 0) == 0 & 1) << 2) >> 2] | 0; + } while ((e | 0) != 0);j = a;g = d; + }h = j + k | 0;if (j >>> 0 < h >>> 0) { + f = c[j + 24 >> 2] | 0;b = c[j + 12 >> 2] | 0;do if ((b | 0) == (j | 0)) { + a = j + 20 | 0;b = c[a >> 2] | 0;if (!b) { + a = j + 16 | 0;b = c[a >> 2] | 0;if (!b) { + d = 0;break; + } + }while (1) { + d = b + 20 | 0;e = c[d >> 2] | 0;if (e | 0) { + b = e;a = d;continue; + }d = b + 16 | 0;e = c[d >> 2] | 0;if (!e) break;else { + b = e;a = d; + } + }c[a >> 2] = 0;d = b; + } else { + d = c[j + 8 >> 2] | 0;c[d + 12 >> 2] = b;c[b + 8 >> 2] = d;d = b; + } while (0);do if (f | 0) { + b = c[j + 28 >> 2] | 0;a = 11436 + (b << 2) | 0;if ((j | 0) == (c[a >> 2] | 0)) { + c[a >> 2] = d;if (!d) { + c[2784] = i & ~(1 << b);break; + } + } else { + c[f + 16 + (((c[f + 16 >> 2] | 0) != (j | 0) & 1) << 2) >> 2] = d;if (!d) break; + }c[d + 24 >> 2] = f;b = c[j + 16 >> 2] | 0;if (b | 0) { + c[d + 16 >> 2] = b;c[b + 24 >> 2] = d; + }b = c[j + 20 >> 2] | 0;if (b | 0) { + c[d + 20 >> 2] = b;c[b + 24 >> 2] = d; + } + } while (0);if (g >>> 0 < 16) { + w = g + k | 0;c[j + 4 >> 2] = w | 3;w = j + w + 4 | 0;c[w >> 2] = c[w >> 2] | 1; + } else { + c[j + 4 >> 2] = k | 3;c[h + 4 >> 2] = g | 1;c[h + g >> 2] = g;if (m | 0) { + e = c[2788] | 0;b = m >>> 3;d = 11172 + (b << 1 << 2) | 0;b = 1 << b;if (!(n & b)) { + c[2783] = n | b;b = d;a = d + 8 | 0; + } else { + a = d + 8 | 0;b = c[a >> 2] | 0; + }c[a >> 2] = e;c[b + 12 >> 2] = e;c[e + 8 >> 2] = b;c[e + 12 >> 2] = d; + }c[2785] = g;c[2788] = h; + }w = j + 8 | 0;l = x;return w | 0; + } else n = k; + } else n = k; + } else n = k; + } else if (a >>> 0 <= 4294967231) { + a = a + 11 | 0;k = a & -8;j = c[2784] | 0;if (j) { + e = 0 - k | 0;a = a >>> 8;if (a) { + if (k >>> 0 > 16777215) i = 31;else { + n = (a + 1048320 | 0) >>> 16 & 8;v = a << n;m = (v + 520192 | 0) >>> 16 & 4;v = v << m;i = (v + 245760 | 0) >>> 16 & 2;i = 14 - (m | n | i) + (v << i >>> 15) | 0;i = k >>> (i + 7 | 0) & 1 | i << 1; + } + } else i = 0;d = c[11436 + (i << 2) >> 2] | 0;a: do if (!d) { + d = 0;a = 0;v = 57; + } else { + a = 0;h = k << ((i | 0) == 31 ? 0 : 25 - (i >>> 1) | 0);g = 0;while (1) { + f = (c[d + 4 >> 2] & -8) - k | 0;if (f >>> 0 < e >>> 0) if (!f) { + a = d;e = 0;f = d;v = 61;break a; + } else { + a = d;e = f; + }f = c[d + 20 >> 2] | 0;d = c[d + 16 + (h >>> 31 << 2) >> 2] | 0;g = (f | 0) == 0 | (f | 0) == (d | 0) ? g : f;f = (d | 0) == 0;if (f) { + d = g;v = 57;break; + } else h = h << ((f ^ 1) & 1); + } + } while (0);if ((v | 0) == 57) { + if ((d | 0) == 0 & (a | 0) == 0) { + a = 2 << i;a = j & (a | 0 - a);if (!a) { + n = k;break; + }n = (a & 0 - a) + -1 | 0;h = n >>> 12 & 16;n = n >>> h;g = n >>> 5 & 8;n = n >>> g;i = n >>> 2 & 4;n = n >>> i;m = n >>> 1 & 2;n = n >>> m;d = n >>> 1 & 1;a = 0;d = c[11436 + ((g | h | i | m | d) + (n >>> d) << 2) >> 2] | 0; + }if (!d) { + i = a;h = e; + } else { + f = d;v = 61; + } + }if ((v | 0) == 61) while (1) { + v = 0;d = (c[f + 4 >> 2] & -8) - k | 0;n = d >>> 0 < e >>> 0;d = n ? d : e;a = n ? f : a;f = c[f + 16 + (((c[f + 16 >> 2] | 0) == 0 & 1) << 2) >> 2] | 0;if (!f) { + i = a;h = d;break; + } else { + e = d;v = 61; + } + }if ((i | 0) != 0 ? h >>> 0 < ((c[2785] | 0) - k | 0) >>> 0 : 0) { + g = i + k | 0;if (i >>> 0 >= g >>> 0) { + w = 0;l = x;return w | 0; + }f = c[i + 24 >> 2] | 0;b = c[i + 12 >> 2] | 0;do if ((b | 0) == (i | 0)) { + a = i + 20 | 0;b = c[a >> 2] | 0;if (!b) { + a = i + 16 | 0;b = c[a >> 2] | 0;if (!b) { + b = 0;break; + } + }while (1) { + d = b + 20 | 0;e = c[d >> 2] | 0;if (e | 0) { + b = e;a = d;continue; + }d = b + 16 | 0;e = c[d >> 2] | 0;if (!e) break;else { + b = e;a = d; + } + }c[a >> 2] = 0; + } else { + w = c[i + 8 >> 2] | 0;c[w + 12 >> 2] = b;c[b + 8 >> 2] = w; + } while (0);do if (f) { + a = c[i + 28 >> 2] | 0;d = 11436 + (a << 2) | 0;if ((i | 0) == (c[d >> 2] | 0)) { + c[d >> 2] = b;if (!b) { + e = j & ~(1 << a);c[2784] = e;break; + } + } else { + c[f + 16 + (((c[f + 16 >> 2] | 0) != (i | 0) & 1) << 2) >> 2] = b;if (!b) { + e = j;break; + } + }c[b + 24 >> 2] = f;a = c[i + 16 >> 2] | 0;if (a | 0) { + c[b + 16 >> 2] = a;c[a + 24 >> 2] = b; + }a = c[i + 20 >> 2] | 0;if (a) { + c[b + 20 >> 2] = a;c[a + 24 >> 2] = b;e = j; + } else e = j; + } else e = j; while (0);do if (h >>> 0 >= 16) { + c[i + 4 >> 2] = k | 3;c[g + 4 >> 2] = h | 1;c[g + h >> 2] = h;b = h >>> 3;if (h >>> 0 < 256) { + d = 11172 + (b << 1 << 2) | 0;a = c[2783] | 0;b = 1 << b;if (!(a & b)) { + c[2783] = a | b;b = d;a = d + 8 | 0; + } else { + a = d + 8 | 0;b = c[a >> 2] | 0; + }c[a >> 2] = g;c[b + 12 >> 2] = g;c[g + 8 >> 2] = b;c[g + 12 >> 2] = d;break; + }b = h >>> 8;if (b) { + if (h >>> 0 > 16777215) b = 31;else { + v = (b + 1048320 | 0) >>> 16 & 8;w = b << v;u = (w + 520192 | 0) >>> 16 & 4;w = w << u;b = (w + 245760 | 0) >>> 16 & 2;b = 14 - (u | v | b) + (w << b >>> 15) | 0;b = h >>> (b + 7 | 0) & 1 | b << 1; + } + } else b = 0;d = 11436 + (b << 2) | 0;c[g + 28 >> 2] = b;a = g + 16 | 0;c[a + 4 >> 2] = 0;c[a >> 2] = 0;a = 1 << b;if (!(e & a)) { + c[2784] = e | a;c[d >> 2] = g;c[g + 24 >> 2] = d;c[g + 12 >> 2] = g;c[g + 8 >> 2] = g;break; + }a = h << ((b | 0) == 31 ? 0 : 25 - (b >>> 1) | 0);d = c[d >> 2] | 0;while (1) { + if ((c[d + 4 >> 2] & -8 | 0) == (h | 0)) { + v = 97;break; + }e = d + 16 + (a >>> 31 << 2) | 0;b = c[e >> 2] | 0;if (!b) { + v = 96;break; + } else { + a = a << 1;d = b; + } + }if ((v | 0) == 96) { + c[e >> 2] = g;c[g + 24 >> 2] = d;c[g + 12 >> 2] = g;c[g + 8 >> 2] = g;break; + } else if ((v | 0) == 97) { + v = d + 8 | 0;w = c[v >> 2] | 0;c[w + 12 >> 2] = g;c[v >> 2] = g;c[g + 8 >> 2] = w;c[g + 12 >> 2] = d;c[g + 24 >> 2] = 0;break; + } + } else { + w = h + k | 0;c[i + 4 >> 2] = w | 3;w = i + w + 4 | 0;c[w >> 2] = c[w >> 2] | 1; + } while (0);w = i + 8 | 0;l = x;return w | 0; + } else n = k; + } else n = k; + } else n = -1; while (0);d = c[2785] | 0;if (d >>> 0 >= n >>> 0) { + b = d - n | 0;a = c[2788] | 0;if (b >>> 0 > 15) { + w = a + n | 0;c[2788] = w;c[2785] = b;c[w + 4 >> 2] = b | 1;c[w + b >> 2] = b;c[a + 4 >> 2] = n | 3; + } else { + c[2785] = 0;c[2788] = 0;c[a + 4 >> 2] = d | 3;w = a + d + 4 | 0;c[w >> 2] = c[w >> 2] | 1; + }w = a + 8 | 0;l = x;return w | 0; + }h = c[2786] | 0;if (h >>> 0 > n >>> 0) { + u = h - n | 0;c[2786] = u;w = c[2789] | 0;v = w + n | 0;c[2789] = v;c[v + 4 >> 2] = u | 1;c[w + 4 >> 2] = n | 3;w = w + 8 | 0;l = x;return w | 0; + }if (!(c[2901] | 0)) { + c[2903] = 4096;c[2902] = 4096;c[2904] = -1;c[2905] = -1;c[2906] = 0;c[2894] = 0;a = o & -16 ^ 1431655768;c[o >> 2] = a;c[2901] = a;a = 4096; + } else a = c[2903] | 0;i = n + 48 | 0;j = n + 47 | 0;g = a + j | 0;f = 0 - a | 0;k = g & f;if (k >>> 0 <= n >>> 0) { + w = 0;l = x;return w | 0; + }a = c[2893] | 0;if (a | 0 ? (m = c[2891] | 0, o = m + k | 0, o >>> 0 <= m >>> 0 | o >>> 0 > a >>> 0) : 0) { + w = 0;l = x;return w | 0; + }b: do if (!(c[2894] & 4)) { + d = c[2789] | 0;c: do if (d) { + e = 11580;while (1) { + a = c[e >> 2] | 0;if (a >>> 0 <= d >>> 0 ? (r = e + 4 | 0, (a + (c[r >> 2] | 0) | 0) >>> 0 > d >>> 0) : 0) break;a = c[e + 8 >> 2] | 0;if (!a) { + v = 118;break c; + } else e = a; + }b = g - h & f;if (b >>> 0 < 2147483647) { + a = FC(b | 0) | 0;if ((a | 0) == ((c[e >> 2] | 0) + (c[r >> 2] | 0) | 0)) { + if ((a | 0) != (-1 | 0)) { + h = b;g = a;v = 135;break b; + } + } else { + e = a;v = 126; + } + } else b = 0; + } else v = 118; while (0);do if ((v | 0) == 118) { + d = FC(0) | 0;if ((d | 0) != (-1 | 0) ? (b = d, p = c[2902] | 0, q = p + -1 | 0, b = ((q & b | 0) == 0 ? 0 : (q + b & 0 - p) - b | 0) + k | 0, p = c[2891] | 0, q = b + p | 0, b >>> 0 > n >>> 0 & b >>> 0 < 2147483647) : 0) { + r = c[2893] | 0;if (r | 0 ? q >>> 0 <= p >>> 0 | q >>> 0 > r >>> 0 : 0) { + b = 0;break; + }a = FC(b | 0) | 0;if ((a | 0) == (d | 0)) { + h = b;g = d;v = 135;break b; + } else { + e = a;v = 126; + } + } else b = 0; + } while (0);do if ((v | 0) == 126) { + d = 0 - b | 0;if (!(i >>> 0 > b >>> 0 & (b >>> 0 < 2147483647 & (e | 0) != (-1 | 0)))) if ((e | 0) == (-1 | 0)) { + b = 0;break; + } else { + h = b;g = e;v = 135;break b; + }a = c[2903] | 0;a = j - b + a & 0 - a;if (a >>> 0 >= 2147483647) { + h = b;g = e;v = 135;break b; + }if ((FC(a | 0) | 0) == (-1 | 0)) { + FC(d | 0) | 0;b = 0;break; + } else { + h = a + b | 0;g = e;v = 135;break b; + } + } while (0);c[2894] = c[2894] | 4;v = 133; + } else { + b = 0;v = 133; + } while (0);if (((v | 0) == 133 ? k >>> 0 < 2147483647 : 0) ? (u = FC(k | 0) | 0, r = FC(0) | 0, s = r - u | 0, t = s >>> 0 > (n + 40 | 0) >>> 0, !((u | 0) == (-1 | 0) | t ^ 1 | u >>> 0 < r >>> 0 & ((u | 0) != (-1 | 0) & (r | 0) != (-1 | 0)) ^ 1)) : 0) { + h = t ? s : b;g = u;v = 135; + }if ((v | 0) == 135) { + b = (c[2891] | 0) + h | 0;c[2891] = b;if (b >>> 0 > (c[2892] | 0) >>> 0) c[2892] = b;j = c[2789] | 0;do if (j) { + b = 11580;while (1) { + a = c[b >> 2] | 0;d = b + 4 | 0;e = c[d >> 2] | 0;if ((g | 0) == (a + e | 0)) { + v = 145;break; + }f = c[b + 8 >> 2] | 0;if (!f) break;else b = f; + }if (((v | 0) == 145 ? (c[b + 12 >> 2] & 8 | 0) == 0 : 0) ? j >>> 0 < g >>> 0 & j >>> 0 >= a >>> 0 : 0) { + c[d >> 2] = e + h;w = j + 8 | 0;w = (w & 7 | 0) == 0 ? 0 : 0 - w & 7;v = j + w | 0;w = (c[2786] | 0) + (h - w) | 0;c[2789] = v;c[2786] = w;c[v + 4 >> 2] = w | 1;c[v + w + 4 >> 2] = 40;c[2790] = c[2905];break; + }if (g >>> 0 < (c[2787] | 0) >>> 0) c[2787] = g;d = g + h | 0;b = 11580;while (1) { + if ((c[b >> 2] | 0) == (d | 0)) { + v = 153;break; + }a = c[b + 8 >> 2] | 0;if (!a) break;else b = a; + }if ((v | 0) == 153 ? (c[b + 12 >> 2] & 8 | 0) == 0 : 0) { + c[b >> 2] = g;m = b + 4 | 0;c[m >> 2] = (c[m >> 2] | 0) + h;m = g + 8 | 0;m = g + ((m & 7 | 0) == 0 ? 0 : 0 - m & 7) | 0;b = d + 8 | 0;b = d + ((b & 7 | 0) == 0 ? 0 : 0 - b & 7) | 0;k = m + n | 0;i = b - m - n | 0;c[m + 4 >> 2] = n | 3;do if ((b | 0) != (j | 0)) { + if ((b | 0) == (c[2788] | 0)) { + w = (c[2785] | 0) + i | 0;c[2785] = w;c[2788] = k;c[k + 4 >> 2] = w | 1;c[k + w >> 2] = w;break; + }a = c[b + 4 >> 2] | 0;if ((a & 3 | 0) == 1) { + h = a & -8;e = a >>> 3;d: do if (a >>> 0 < 256) { + a = c[b + 8 >> 2] | 0;d = c[b + 12 >> 2] | 0;if ((d | 0) == (a | 0)) { + c[2783] = c[2783] & ~(1 << e);break; + } else { + c[a + 12 >> 2] = d;c[d + 8 >> 2] = a;break; + } + } else { + g = c[b + 24 >> 2] | 0;a = c[b + 12 >> 2] | 0;do if ((a | 0) == (b | 0)) { + e = b + 16 | 0;d = e + 4 | 0;a = c[d >> 2] | 0;if (!a) { + a = c[e >> 2] | 0;if (!a) { + a = 0;break; + } else d = e; + }while (1) { + e = a + 20 | 0;f = c[e >> 2] | 0;if (f | 0) { + a = f;d = e;continue; + }e = a + 16 | 0;f = c[e >> 2] | 0;if (!f) break;else { + a = f;d = e; + } + }c[d >> 2] = 0; + } else { + w = c[b + 8 >> 2] | 0;c[w + 12 >> 2] = a;c[a + 8 >> 2] = w; + } while (0);if (!g) break;d = c[b + 28 >> 2] | 0;e = 11436 + (d << 2) | 0;do if ((b | 0) != (c[e >> 2] | 0)) { + c[g + 16 + (((c[g + 16 >> 2] | 0) != (b | 0) & 1) << 2) >> 2] = a;if (!a) break d; + } else { + c[e >> 2] = a;if (a | 0) break;c[2784] = c[2784] & ~(1 << d);break d; + } while (0);c[a + 24 >> 2] = g;d = b + 16 | 0;e = c[d >> 2] | 0;if (e | 0) { + c[a + 16 >> 2] = e;c[e + 24 >> 2] = a; + }d = c[d + 4 >> 2] | 0;if (!d) break;c[a + 20 >> 2] = d;c[d + 24 >> 2] = a; + } while (0);b = b + h | 0;f = h + i | 0; + } else f = i;b = b + 4 | 0;c[b >> 2] = c[b >> 2] & -2;c[k + 4 >> 2] = f | 1;c[k + f >> 2] = f;b = f >>> 3;if (f >>> 0 < 256) { + d = 11172 + (b << 1 << 2) | 0;a = c[2783] | 0;b = 1 << b;if (!(a & b)) { + c[2783] = a | b;b = d;a = d + 8 | 0; + } else { + a = d + 8 | 0;b = c[a >> 2] | 0; + }c[a >> 2] = k;c[b + 12 >> 2] = k;c[k + 8 >> 2] = b;c[k + 12 >> 2] = d;break; + }b = f >>> 8;do if (!b) b = 0;else { + if (f >>> 0 > 16777215) { + b = 31;break; + }v = (b + 1048320 | 0) >>> 16 & 8;w = b << v;u = (w + 520192 | 0) >>> 16 & 4;w = w << u;b = (w + 245760 | 0) >>> 16 & 2;b = 14 - (u | v | b) + (w << b >>> 15) | 0;b = f >>> (b + 7 | 0) & 1 | b << 1; + } while (0);e = 11436 + (b << 2) | 0;c[k + 28 >> 2] = b;a = k + 16 | 0;c[a + 4 >> 2] = 0;c[a >> 2] = 0;a = c[2784] | 0;d = 1 << b;if (!(a & d)) { + c[2784] = a | d;c[e >> 2] = k;c[k + 24 >> 2] = e;c[k + 12 >> 2] = k;c[k + 8 >> 2] = k;break; + }a = f << ((b | 0) == 31 ? 0 : 25 - (b >>> 1) | 0);d = c[e >> 2] | 0;while (1) { + if ((c[d + 4 >> 2] & -8 | 0) == (f | 0)) { + v = 194;break; + }e = d + 16 + (a >>> 31 << 2) | 0;b = c[e >> 2] | 0;if (!b) { + v = 193;break; + } else { + a = a << 1;d = b; + } + }if ((v | 0) == 193) { + c[e >> 2] = k;c[k + 24 >> 2] = d;c[k + 12 >> 2] = k;c[k + 8 >> 2] = k;break; + } else if ((v | 0) == 194) { + v = d + 8 | 0;w = c[v >> 2] | 0;c[w + 12 >> 2] = k;c[v >> 2] = k;c[k + 8 >> 2] = w;c[k + 12 >> 2] = d;c[k + 24 >> 2] = 0;break; + } + } else { + w = (c[2786] | 0) + i | 0;c[2786] = w;c[2789] = k;c[k + 4 >> 2] = w | 1; + } while (0);w = m + 8 | 0;l = x;return w | 0; + }b = 11580;while (1) { + a = c[b >> 2] | 0;if (a >>> 0 <= j >>> 0 ? (w = a + (c[b + 4 >> 2] | 0) | 0, w >>> 0 > j >>> 0) : 0) break;b = c[b + 8 >> 2] | 0; + }f = w + -47 | 0;a = f + 8 | 0;a = f + ((a & 7 | 0) == 0 ? 0 : 0 - a & 7) | 0;f = j + 16 | 0;a = a >>> 0 < f >>> 0 ? j : a;b = a + 8 | 0;d = g + 8 | 0;d = (d & 7 | 0) == 0 ? 0 : 0 - d & 7;v = g + d | 0;d = h + -40 - d | 0;c[2789] = v;c[2786] = d;c[v + 4 >> 2] = d | 1;c[v + d + 4 >> 2] = 40;c[2790] = c[2905];d = a + 4 | 0;c[d >> 2] = 27;c[b >> 2] = c[2895];c[b + 4 >> 2] = c[2896];c[b + 8 >> 2] = c[2897];c[b + 12 >> 2] = c[2898];c[2895] = g;c[2896] = h;c[2898] = 0;c[2897] = b;b = a + 24 | 0;do { + v = b;b = b + 4 | 0;c[b >> 2] = 7; + } while ((v + 8 | 0) >>> 0 < w >>> 0);if ((a | 0) != (j | 0)) { + g = a - j | 0;c[d >> 2] = c[d >> 2] & -2;c[j + 4 >> 2] = g | 1;c[a >> 2] = g;b = g >>> 3;if (g >>> 0 < 256) { + d = 11172 + (b << 1 << 2) | 0;a = c[2783] | 0;b = 1 << b;if (!(a & b)) { + c[2783] = a | b;b = d;a = d + 8 | 0; + } else { + a = d + 8 | 0;b = c[a >> 2] | 0; + }c[a >> 2] = j;c[b + 12 >> 2] = j;c[j + 8 >> 2] = b;c[j + 12 >> 2] = d;break; + }b = g >>> 8;if (b) { + if (g >>> 0 > 16777215) d = 31;else { + v = (b + 1048320 | 0) >>> 16 & 8;w = b << v;u = (w + 520192 | 0) >>> 16 & 4;w = w << u;d = (w + 245760 | 0) >>> 16 & 2;d = 14 - (u | v | d) + (w << d >>> 15) | 0;d = g >>> (d + 7 | 0) & 1 | d << 1; + } + } else d = 0;e = 11436 + (d << 2) | 0;c[j + 28 >> 2] = d;c[j + 20 >> 2] = 0;c[f >> 2] = 0;b = c[2784] | 0;a = 1 << d;if (!(b & a)) { + c[2784] = b | a;c[e >> 2] = j;c[j + 24 >> 2] = e;c[j + 12 >> 2] = j;c[j + 8 >> 2] = j;break; + }a = g << ((d | 0) == 31 ? 0 : 25 - (d >>> 1) | 0);d = c[e >> 2] | 0;while (1) { + if ((c[d + 4 >> 2] & -8 | 0) == (g | 0)) { + v = 216;break; + }e = d + 16 + (a >>> 31 << 2) | 0;b = c[e >> 2] | 0;if (!b) { + v = 215;break; + } else { + a = a << 1;d = b; + } + }if ((v | 0) == 215) { + c[e >> 2] = j;c[j + 24 >> 2] = d;c[j + 12 >> 2] = j;c[j + 8 >> 2] = j;break; + } else if ((v | 0) == 216) { + v = d + 8 | 0;w = c[v >> 2] | 0;c[w + 12 >> 2] = j;c[v >> 2] = j;c[j + 8 >> 2] = w;c[j + 12 >> 2] = d;c[j + 24 >> 2] = 0;break; + } + } + } else { + w = c[2787] | 0;if ((w | 0) == 0 | g >>> 0 < w >>> 0) c[2787] = g;c[2895] = g;c[2896] = h;c[2898] = 0;c[2792] = c[2901];c[2791] = -1;b = 0;do { + w = 11172 + (b << 1 << 2) | 0;c[w + 12 >> 2] = w;c[w + 8 >> 2] = w;b = b + 1 | 0; + } while ((b | 0) != 32);w = g + 8 | 0;w = (w & 7 | 0) == 0 ? 0 : 0 - w & 7;v = g + w | 0;w = h + -40 - w | 0;c[2789] = v;c[2786] = w;c[v + 4 >> 2] = w | 1;c[v + w + 4 >> 2] = 40;c[2790] = c[2905]; + } while (0);b = c[2786] | 0;if (b >>> 0 > n >>> 0) { + u = b - n | 0;c[2786] = u;w = c[2789] | 0;v = w + n | 0;c[2789] = v;c[v + 4 >> 2] = u | 1;c[w + 4 >> 2] = n | 3;w = w + 8 | 0;l = x;return w | 0; + } + }c[(vB() | 0) >> 2] = 12;w = 0;l = x;return w | 0; + }function pB(a) { + a = a | 0;var b = 0, + d = 0, + e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0;if (!a) return;d = a + -8 | 0;f = c[2787] | 0;a = c[a + -4 >> 2] | 0;b = a & -8;j = d + b | 0;do if (!(a & 1)) { + e = c[d >> 2] | 0;if (!(a & 3)) return;h = d + (0 - e) | 0;g = e + b | 0;if (h >>> 0 < f >>> 0) return;if ((h | 0) == (c[2788] | 0)) { + a = j + 4 | 0;b = c[a >> 2] | 0;if ((b & 3 | 0) != 3) { + i = h;b = g;break; + }c[2785] = g;c[a >> 2] = b & -2;c[h + 4 >> 2] = g | 1;c[h + g >> 2] = g;return; + }d = e >>> 3;if (e >>> 0 < 256) { + a = c[h + 8 >> 2] | 0;b = c[h + 12 >> 2] | 0;if ((b | 0) == (a | 0)) { + c[2783] = c[2783] & ~(1 << d);i = h;b = g;break; + } else { + c[a + 12 >> 2] = b;c[b + 8 >> 2] = a;i = h;b = g;break; + } + }f = c[h + 24 >> 2] | 0;a = c[h + 12 >> 2] | 0;do if ((a | 0) == (h | 0)) { + d = h + 16 | 0;b = d + 4 | 0;a = c[b >> 2] | 0;if (!a) { + a = c[d >> 2] | 0;if (!a) { + a = 0;break; + } else b = d; + }while (1) { + d = a + 20 | 0;e = c[d >> 2] | 0;if (e | 0) { + a = e;b = d;continue; + }d = a + 16 | 0;e = c[d >> 2] | 0;if (!e) break;else { + a = e;b = d; + } + }c[b >> 2] = 0; + } else { + i = c[h + 8 >> 2] | 0;c[i + 12 >> 2] = a;c[a + 8 >> 2] = i; + } while (0);if (f) { + b = c[h + 28 >> 2] | 0;d = 11436 + (b << 2) | 0;if ((h | 0) == (c[d >> 2] | 0)) { + c[d >> 2] = a;if (!a) { + c[2784] = c[2784] & ~(1 << b);i = h;b = g;break; + } + } else { + c[f + 16 + (((c[f + 16 >> 2] | 0) != (h | 0) & 1) << 2) >> 2] = a;if (!a) { + i = h;b = g;break; + } + }c[a + 24 >> 2] = f;b = h + 16 | 0;d = c[b >> 2] | 0;if (d | 0) { + c[a + 16 >> 2] = d;c[d + 24 >> 2] = a; + }b = c[b + 4 >> 2] | 0;if (b) { + c[a + 20 >> 2] = b;c[b + 24 >> 2] = a;i = h;b = g; + } else { + i = h;b = g; + } + } else { + i = h;b = g; + } + } else { + i = d;h = d; + } while (0);if (h >>> 0 >= j >>> 0) return;a = j + 4 | 0;e = c[a >> 2] | 0;if (!(e & 1)) return;if (!(e & 2)) { + a = c[2788] | 0;if ((j | 0) == (c[2789] | 0)) { + j = (c[2786] | 0) + b | 0;c[2786] = j;c[2789] = i;c[i + 4 >> 2] = j | 1;if ((i | 0) != (a | 0)) return;c[2788] = 0;c[2785] = 0;return; + }if ((j | 0) == (a | 0)) { + j = (c[2785] | 0) + b | 0;c[2785] = j;c[2788] = h;c[i + 4 >> 2] = j | 1;c[h + j >> 2] = j;return; + }f = (e & -8) + b | 0;d = e >>> 3;do if (e >>> 0 < 256) { + b = c[j + 8 >> 2] | 0;a = c[j + 12 >> 2] | 0;if ((a | 0) == (b | 0)) { + c[2783] = c[2783] & ~(1 << d);break; + } else { + c[b + 12 >> 2] = a;c[a + 8 >> 2] = b;break; + } + } else { + g = c[j + 24 >> 2] | 0;a = c[j + 12 >> 2] | 0;do if ((a | 0) == (j | 0)) { + d = j + 16 | 0;b = d + 4 | 0;a = c[b >> 2] | 0;if (!a) { + a = c[d >> 2] | 0;if (!a) { + d = 0;break; + } else b = d; + }while (1) { + d = a + 20 | 0;e = c[d >> 2] | 0;if (e | 0) { + a = e;b = d;continue; + }d = a + 16 | 0;e = c[d >> 2] | 0;if (!e) break;else { + a = e;b = d; + } + }c[b >> 2] = 0;d = a; + } else { + d = c[j + 8 >> 2] | 0;c[d + 12 >> 2] = a;c[a + 8 >> 2] = d;d = a; + } while (0);if (g | 0) { + a = c[j + 28 >> 2] | 0;b = 11436 + (a << 2) | 0;if ((j | 0) == (c[b >> 2] | 0)) { + c[b >> 2] = d;if (!d) { + c[2784] = c[2784] & ~(1 << a);break; + } + } else { + c[g + 16 + (((c[g + 16 >> 2] | 0) != (j | 0) & 1) << 2) >> 2] = d;if (!d) break; + }c[d + 24 >> 2] = g;a = j + 16 | 0;b = c[a >> 2] | 0;if (b | 0) { + c[d + 16 >> 2] = b;c[b + 24 >> 2] = d; + }a = c[a + 4 >> 2] | 0;if (a | 0) { + c[d + 20 >> 2] = a;c[a + 24 >> 2] = d; + } + } + } while (0);c[i + 4 >> 2] = f | 1;c[h + f >> 2] = f;if ((i | 0) == (c[2788] | 0)) { + c[2785] = f;return; + } + } else { + c[a >> 2] = e & -2;c[i + 4 >> 2] = b | 1;c[h + b >> 2] = b;f = b; + }a = f >>> 3;if (f >>> 0 < 256) { + d = 11172 + (a << 1 << 2) | 0;b = c[2783] | 0;a = 1 << a;if (!(b & a)) { + c[2783] = b | a;a = d;b = d + 8 | 0; + } else { + b = d + 8 | 0;a = c[b >> 2] | 0; + }c[b >> 2] = i;c[a + 12 >> 2] = i;c[i + 8 >> 2] = a;c[i + 12 >> 2] = d;return; + }a = f >>> 8;if (a) { + if (f >>> 0 > 16777215) a = 31;else { + h = (a + 1048320 | 0) >>> 16 & 8;j = a << h;g = (j + 520192 | 0) >>> 16 & 4;j = j << g;a = (j + 245760 | 0) >>> 16 & 2;a = 14 - (g | h | a) + (j << a >>> 15) | 0;a = f >>> (a + 7 | 0) & 1 | a << 1; + } + } else a = 0;e = 11436 + (a << 2) | 0;c[i + 28 >> 2] = a;c[i + 20 >> 2] = 0;c[i + 16 >> 2] = 0;b = c[2784] | 0;d = 1 << a;do if (b & d) { + b = f << ((a | 0) == 31 ? 0 : 25 - (a >>> 1) | 0);d = c[e >> 2] | 0;while (1) { + if ((c[d + 4 >> 2] & -8 | 0) == (f | 0)) { + a = 73;break; + }e = d + 16 + (b >>> 31 << 2) | 0;a = c[e >> 2] | 0;if (!a) { + a = 72;break; + } else { + b = b << 1;d = a; + } + }if ((a | 0) == 72) { + c[e >> 2] = i;c[i + 24 >> 2] = d;c[i + 12 >> 2] = i;c[i + 8 >> 2] = i;break; + } else if ((a | 0) == 73) { + h = d + 8 | 0;j = c[h >> 2] | 0;c[j + 12 >> 2] = i;c[h >> 2] = i;c[i + 8 >> 2] = j;c[i + 12 >> 2] = d;c[i + 24 >> 2] = 0;break; + } + } else { + c[2784] = b | d;c[e >> 2] = i;c[i + 24 >> 2] = e;c[i + 12 >> 2] = i;c[i + 8 >> 2] = i; + } while (0);j = (c[2791] | 0) + -1 | 0;c[2791] = j;if (!j) a = 11588;else return;while (1) { + a = c[a >> 2] | 0;if (!a) break;else a = a + 8 | 0; + }c[2791] = -1;return; + }function qB() { + return 11628; + }function rB(a) { + a = a | 0;var b = 0, + d = 0;b = l;l = l + 16 | 0;d = b;c[d >> 2] = yB(c[a + 60 >> 2] | 0) | 0;a = uB(db(6, d | 0) | 0) | 0;l = b;return a | 0; + }function sB(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0, + p = 0;n = l;l = l + 48 | 0;k = n + 16 | 0;g = n;f = n + 32 | 0;i = a + 28 | 0;e = c[i >> 2] | 0;c[f >> 2] = e;j = a + 20 | 0;e = (c[j >> 2] | 0) - e | 0;c[f + 4 >> 2] = e;c[f + 8 >> 2] = b;c[f + 12 >> 2] = d;e = e + d | 0;h = a + 60 | 0;c[g >> 2] = c[h >> 2];c[g + 4 >> 2] = f;c[g + 8 >> 2] = 2;g = uB(gb(146, g | 0) | 0) | 0;a: do if ((e | 0) != (g | 0)) { + b = 2;while (1) { + if ((g | 0) < 0) break;e = e - g | 0;p = c[f + 4 >> 2] | 0;o = g >>> 0 > p >>> 0;f = o ? f + 8 | 0 : f;b = (o << 31 >> 31) + b | 0;p = g - (o ? p : 0) | 0;c[f >> 2] = (c[f >> 2] | 0) + p;o = f + 4 | 0;c[o >> 2] = (c[o >> 2] | 0) - p;c[k >> 2] = c[h >> 2];c[k + 4 >> 2] = f;c[k + 8 >> 2] = b;g = uB(gb(146, k | 0) | 0) | 0;if ((e | 0) == (g | 0)) { + m = 3;break a; + } + }c[a + 16 >> 2] = 0;c[i >> 2] = 0;c[j >> 2] = 0;c[a >> 2] = c[a >> 2] | 32;if ((b | 0) == 2) d = 0;else d = d - (c[f + 4 >> 2] | 0) | 0; + } else m = 3; while (0);if ((m | 0) == 3) { + p = c[a + 44 >> 2] | 0;c[a + 16 >> 2] = p + (c[a + 48 >> 2] | 0);c[i >> 2] = p;c[j >> 2] = p; + }l = n;return d | 0; + }function tB(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0;f = l;l = l + 32 | 0;g = f;e = f + 20 | 0;c[g >> 2] = c[a + 60 >> 2];c[g + 4 >> 2] = 0;c[g + 8 >> 2] = b;c[g + 12 >> 2] = e;c[g + 16 >> 2] = d;if ((uB(fb(140, g | 0) | 0) | 0) < 0) { + c[e >> 2] = -1;a = -1; + } else a = c[e >> 2] | 0;l = f;return a | 0; + }function uB(a) { + a = a | 0;if (a >>> 0 > 4294963200) { + c[(vB() | 0) >> 2] = 0 - a;a = -1; + }return a | 0; + }function vB() { + return (wB() | 0) + 64 | 0; + }function wB() { + return xB() | 0; + }function xB() { + return 2084; + }function yB(a) { + a = a | 0;return a | 0; + }function zB(b, d, e) { + b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0;g = l;l = l + 32 | 0;f = g;c[b + 36 >> 2] = 1;if ((c[b >> 2] & 64 | 0) == 0 ? (c[f >> 2] = c[b + 60 >> 2], c[f + 4 >> 2] = 21523, c[f + 8 >> 2] = g + 16, Wa(54, f | 0) | 0) : 0) a[b + 75 >> 0] = -1;f = sB(b, d, e) | 0;l = g;return f | 0; + }function AB(b, c) { + b = b | 0;c = c | 0;var d = 0, + e = 0;d = a[b >> 0] | 0;e = a[c >> 0] | 0;if (d << 24 >> 24 == 0 ? 1 : d << 24 >> 24 != e << 24 >> 24) b = e;else { + do { + b = b + 1 | 0;c = c + 1 | 0;d = a[b >> 0] | 0;e = a[c >> 0] | 0; + } while (!(d << 24 >> 24 == 0 ? 1 : d << 24 >> 24 != e << 24 >> 24));b = e; + }return (d & 255) - (b & 255) | 0; + }function BB(b, c, d) { + b = b | 0;c = c | 0;d = d | 0;var e = 0, + f = 0;a: do if (!d) b = 0;else { + while (1) { + e = a[b >> 0] | 0;f = a[c >> 0] | 0;if (e << 24 >> 24 != f << 24 >> 24) break;d = d + -1 | 0;if (!d) { + b = 0;break a; + } else { + b = b + 1 | 0;c = c + 1 | 0; + } + }b = (e & 255) - (f & 255) | 0; + } while (0);return b | 0; + }function CB(b, d, e) { + b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + m = 0, + n = 0, + o = 0, + p = 0, + q = 0, + r = 0, + s = 0;s = l;l = l + 224 | 0;n = s + 120 | 0;o = s + 80 | 0;q = s;r = s + 136 | 0;f = o;g = f + 40 | 0;do { + c[f >> 2] = 0;f = f + 4 | 0; + } while ((f | 0) < (g | 0));c[n >> 2] = c[e >> 2];if ((DB(0, d, n, q, o) | 0) < 0) e = -1;else { + if ((c[b + 76 >> 2] | 0) > -1) p = EB(b) | 0;else p = 0;e = c[b >> 2] | 0;m = e & 32;if ((a[b + 74 >> 0] | 0) < 1) c[b >> 2] = e & -33;f = b + 48 | 0;if (!(c[f >> 2] | 0)) { + g = b + 44 | 0;h = c[g >> 2] | 0;c[g >> 2] = r;i = b + 28 | 0;c[i >> 2] = r;j = b + 20 | 0;c[j >> 2] = r;c[f >> 2] = 80;k = b + 16 | 0;c[k >> 2] = r + 80;e = DB(b, d, n, q, o) | 0;if (h) { + sb[c[b + 36 >> 2] & 7](b, 0, 0) | 0;e = (c[j >> 2] | 0) == 0 ? -1 : e;c[g >> 2] = h;c[f >> 2] = 0;c[k >> 2] = 0;c[i >> 2] = 0;c[j >> 2] = 0; + } + } else e = DB(b, d, n, q, o) | 0;f = c[b >> 2] | 0;c[b >> 2] = f | m;if (p | 0) FB(b);e = (f & 32 | 0) == 0 ? e : -1; + }l = s;return e | 0; + }function DB(d, e, f, g, i) { + d = d | 0;e = e | 0;f = f | 0;g = g | 0;i = i | 0;var j = 0, + k = 0, + m = 0, + n = 0, + o = 0, + p = 0, + q = 0, + r = 0, + s = 0, + t = 0, + u = 0, + v = 0, + w = 0, + x = 0, + y = 0, + z = 0, + B = 0, + C = 0, + D = 0, + E = 0, + F = 0, + G = 0, + H = 0;H = l;l = l + 64 | 0;D = H + 16 | 0;E = H;B = H + 24 | 0;F = H + 8 | 0;G = H + 20 | 0;c[D >> 2] = e;x = (d | 0) != 0;y = B + 40 | 0;z = y;B = B + 39 | 0;C = F + 4 | 0;k = 0;j = 0;p = 0;a: while (1) { + do if ((j | 0) > -1) if ((k | 0) > (2147483647 - j | 0)) { + c[(vB() | 0) >> 2] = 75;j = -1;break; + } else { + j = k + j | 0;break; + } while (0);k = a[e >> 0] | 0;if (!(k << 24 >> 24)) { + w = 87;break; + } else m = e;b: while (1) { + switch (k << 24 >> 24) {case 37: + { + k = m;w = 9;break b; + }case 0: + { + k = m;break b; + }default: + {}}v = m + 1 | 0;c[D >> 2] = v;k = a[v >> 0] | 0;m = v; + }c: do if ((w | 0) == 9) while (1) { + w = 0;if ((a[m + 1 >> 0] | 0) != 37) break c;k = k + 1 | 0;m = m + 2 | 0;c[D >> 2] = m;if ((a[m >> 0] | 0) == 37) w = 9;else break; + } while (0);k = k - e | 0;if (x) GB(d, e, k);if (k | 0) { + e = m;continue; + }n = m + 1 | 0;k = (a[n >> 0] | 0) + -48 | 0;if (k >>> 0 < 10) { + v = (a[m + 2 >> 0] | 0) == 36;u = v ? k : -1;p = v ? 1 : p;n = v ? m + 3 | 0 : n; + } else u = -1;c[D >> 2] = n;k = a[n >> 0] | 0;m = (k << 24 >> 24) + -32 | 0;d: do if (m >>> 0 < 32) { + o = 0;q = k;while (1) { + k = 1 << m;if (!(k & 75913)) { + k = q;break d; + }o = k | o;n = n + 1 | 0;c[D >> 2] = n;k = a[n >> 0] | 0;m = (k << 24 >> 24) + -32 | 0;if (m >>> 0 >= 32) break;else q = k; + } + } else o = 0; while (0);if (k << 24 >> 24 == 42) { + m = n + 1 | 0;k = (a[m >> 0] | 0) + -48 | 0;if (k >>> 0 < 10 ? (a[n + 2 >> 0] | 0) == 36 : 0) { + c[i + (k << 2) >> 2] = 10;k = c[g + ((a[m >> 0] | 0) + -48 << 3) >> 2] | 0;p = 1;n = n + 3 | 0; + } else { + if (p | 0) { + j = -1;break; + }if (x) { + p = (c[f >> 2] | 0) + (4 - 1) & ~(4 - 1);k = c[p >> 2] | 0;c[f >> 2] = p + 4;p = 0;n = m; + } else { + k = 0;p = 0;n = m; + } + }c[D >> 2] = n;v = (k | 0) < 0;k = v ? 0 - k | 0 : k;o = v ? o | 8192 : o; + } else { + k = HB(D) | 0;if ((k | 0) < 0) { + j = -1;break; + }n = c[D >> 2] | 0; + }do if ((a[n >> 0] | 0) == 46) { + if ((a[n + 1 >> 0] | 0) != 42) { + c[D >> 2] = n + 1;m = HB(D) | 0;n = c[D >> 2] | 0;break; + }q = n + 2 | 0;m = (a[q >> 0] | 0) + -48 | 0;if (m >>> 0 < 10 ? (a[n + 3 >> 0] | 0) == 36 : 0) { + c[i + (m << 2) >> 2] = 10;m = c[g + ((a[q >> 0] | 0) + -48 << 3) >> 2] | 0;n = n + 4 | 0;c[D >> 2] = n;break; + }if (p | 0) { + j = -1;break a; + }if (x) { + v = (c[f >> 2] | 0) + (4 - 1) & ~(4 - 1);m = c[v >> 2] | 0;c[f >> 2] = v + 4; + } else m = 0;c[D >> 2] = q;n = q; + } else m = -1; while (0);t = 0;while (1) { + if (((a[n >> 0] | 0) + -65 | 0) >>> 0 > 57) { + j = -1;break a; + }v = n + 1 | 0;c[D >> 2] = v;q = a[(a[n >> 0] | 0) + -65 + (5178 + (t * 58 | 0)) >> 0] | 0;r = q & 255;if ((r + -1 | 0) >>> 0 < 8) { + t = r;n = v; + } else break; + }if (!(q << 24 >> 24)) { + j = -1;break; + }s = (u | 0) > -1;do if (q << 24 >> 24 == 19) { + if (s) { + j = -1;break a; + } else w = 49; + } else { + if (s) { + c[i + (u << 2) >> 2] = r;s = g + (u << 3) | 0;u = c[s + 4 >> 2] | 0;w = E;c[w >> 2] = c[s >> 2];c[w + 4 >> 2] = u;w = 49;break; + }if (!x) { + j = 0;break a; + }IB(E, r, f); + } while (0);if ((w | 0) == 49 ? (w = 0, !x) : 0) { + k = 0;e = v;continue; + }n = a[n >> 0] | 0;n = (t | 0) != 0 & (n & 15 | 0) == 3 ? n & -33 : n;s = o & -65537;u = (o & 8192 | 0) == 0 ? o : s;e: do switch (n | 0) {case 110: + switch ((t & 255) << 24 >> 24) {case 0: + { + c[c[E >> 2] >> 2] = j;k = 0;e = v;continue a; + }case 1: + { + c[c[E >> 2] >> 2] = j;k = 0;e = v;continue a; + }case 2: + { + k = c[E >> 2] | 0;c[k >> 2] = j;c[k + 4 >> 2] = ((j | 0) < 0) << 31 >> 31;k = 0;e = v;continue a; + }case 3: + { + b[c[E >> 2] >> 1] = j;k = 0;e = v;continue a; + }case 4: + { + a[c[E >> 2] >> 0] = j;k = 0;e = v;continue a; + }case 6: + { + c[c[E >> 2] >> 2] = j;k = 0;e = v;continue a; + }case 7: + { + k = c[E >> 2] | 0;c[k >> 2] = j;c[k + 4 >> 2] = ((j | 0) < 0) << 31 >> 31;k = 0;e = v;continue a; + }default: + { + k = 0;e = v;continue a; + }}case 112: + { + n = 120;m = m >>> 0 > 8 ? m : 8;e = u | 8;w = 61;break; + }case 88:case 120: + { + e = u;w = 61;break; + }case 111: + { + n = E;e = c[n >> 2] | 0;n = c[n + 4 >> 2] | 0;r = KB(e, n, y) | 0;s = z - r | 0;o = 0;q = 5642;m = (u & 8 | 0) == 0 | (m | 0) > (s | 0) ? m : s + 1 | 0;s = u;w = 67;break; + }case 105:case 100: + { + n = E;e = c[n >> 2] | 0;n = c[n + 4 >> 2] | 0;if ((n | 0) < 0) { + e = wC(0, 0, e | 0, n | 0) | 0;n = A;o = E;c[o >> 2] = e;c[o + 4 >> 2] = n;o = 1;q = 5642;w = 66;break e; + } else { + o = (u & 2049 | 0) != 0 & 1;q = (u & 2048 | 0) == 0 ? (u & 1 | 0) == 0 ? 5642 : 5644 : 5643;w = 66;break e; + } + }case 117: + { + n = E;o = 0;q = 5642;e = c[n >> 2] | 0;n = c[n + 4 >> 2] | 0;w = 66;break; + }case 99: + { + a[B >> 0] = c[E >> 2];e = B;o = 0;q = 5642;r = y;n = 1;m = s;break; + }case 109: + { + n = MB(c[(vB() | 0) >> 2] | 0) | 0;w = 71;break; + }case 115: + { + n = c[E >> 2] | 0;n = n | 0 ? n : 5652;w = 71;break; + }case 67: + { + c[F >> 2] = c[E >> 2];c[C >> 2] = 0;c[E >> 2] = F;r = -1;n = F;w = 75;break; + }case 83: + { + e = c[E >> 2] | 0;if (!m) { + OB(d, 32, k, 0, u);e = 0;w = 84; + } else { + r = m;n = e;w = 75; + }break; + }case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101: + { + k = QB(d, +h[E >> 3], k, m, u, n) | 0;e = v;continue a; + }default: + { + o = 0;q = 5642;r = y;n = m;m = u; + }} while (0);f: do if ((w | 0) == 61) { + u = E;t = c[u >> 2] | 0;u = c[u + 4 >> 2] | 0;r = JB(t, u, y, n & 32) | 0;q = (e & 8 | 0) == 0 | (t | 0) == 0 & (u | 0) == 0;o = q ? 0 : 2;q = q ? 5642 : 5642 + (n >> 4) | 0;s = e;e = t;n = u;w = 67; + } else if ((w | 0) == 66) { + r = LB(e, n, y) | 0;s = u;w = 67; + } else if ((w | 0) == 71) { + w = 0;u = NB(n, 0, m) | 0;t = (u | 0) == 0;e = n;o = 0;q = 5642;r = t ? n + m | 0 : u;n = t ? m : u - n | 0;m = s; + } else if ((w | 0) == 75) { + w = 0;q = n;e = 0;m = 0;while (1) { + o = c[q >> 2] | 0;if (!o) break;m = PB(G, o) | 0;if ((m | 0) < 0 | m >>> 0 > (r - e | 0) >>> 0) break;e = m + e | 0;if (r >>> 0 > e >>> 0) q = q + 4 | 0;else break; + }if ((m | 0) < 0) { + j = -1;break a; + }OB(d, 32, k, e, u);if (!e) { + e = 0;w = 84; + } else { + o = 0;while (1) { + m = c[n >> 2] | 0;if (!m) { + w = 84;break f; + }m = PB(G, m) | 0;o = m + o | 0;if ((o | 0) > (e | 0)) { + w = 84;break f; + }GB(d, G, m);if (o >>> 0 >= e >>> 0) { + w = 84;break; + } else n = n + 4 | 0; + } + } + } while (0);if ((w | 0) == 67) { + w = 0;n = (e | 0) != 0 | (n | 0) != 0;u = (m | 0) != 0 | n;n = ((n ^ 1) & 1) + (z - r) | 0;e = u ? r : y;r = y;n = u ? (m | 0) > (n | 0) ? m : n : m;m = (m | 0) > -1 ? s & -65537 : s; + } else if ((w | 0) == 84) { + w = 0;OB(d, 32, k, e, u ^ 8192);k = (k | 0) > (e | 0) ? k : e;e = v;continue; + }t = r - e | 0;s = (n | 0) < (t | 0) ? t : n;u = s + o | 0;k = (k | 0) < (u | 0) ? u : k;OB(d, 32, k, u, m);GB(d, q, o);OB(d, 48, k, u, m ^ 65536);OB(d, 48, s, t, 0);GB(d, e, t);OB(d, 32, k, u, m ^ 8192);e = v; + }g: do if ((w | 0) == 87) if (!d) if (!p) j = 0;else { + j = 1;while (1) { + e = c[i + (j << 2) >> 2] | 0;if (!e) break;IB(g + (j << 3) | 0, e, f);j = j + 1 | 0;if ((j | 0) >= 10) { + j = 1;break g; + } + }while (1) { + if (c[i + (j << 2) >> 2] | 0) { + j = -1;break g; + }j = j + 1 | 0;if ((j | 0) >= 10) { + j = 1;break; + } + } + } while (0);l = H;return j | 0; + }function EB(a) { + a = a | 0;return 0; + }function FB(a) { + a = a | 0;return; + }function GB(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;if (!(c[a >> 2] & 32)) aC(b, d, a) | 0;return; + }function HB(b) { + b = b | 0;var d = 0, + e = 0, + f = 0;e = c[b >> 2] | 0;f = (a[e >> 0] | 0) + -48 | 0;if (f >>> 0 < 10) { + d = 0;do { + d = f + (d * 10 | 0) | 0;e = e + 1 | 0;c[b >> 2] = e;f = (a[e >> 0] | 0) + -48 | 0; + } while (f >>> 0 < 10); + } else d = 0;return d | 0; + }function IB(a, b, d) { + a = a | 0;b = b | 0;d = d | 0;var e = 0, + f = 0, + g = 0.0;a: do if (b >>> 0 <= 20) do switch (b | 0) {case 9: + { + e = (c[d >> 2] | 0) + (4 - 1) & ~(4 - 1);b = c[e >> 2] | 0;c[d >> 2] = e + 4;c[a >> 2] = b;break a; + }case 10: + { + e = (c[d >> 2] | 0) + (4 - 1) & ~(4 - 1);b = c[e >> 2] | 0;c[d >> 2] = e + 4;e = a;c[e >> 2] = b;c[e + 4 >> 2] = ((b | 0) < 0) << 31 >> 31;break a; + }case 11: + { + e = (c[d >> 2] | 0) + (4 - 1) & ~(4 - 1);b = c[e >> 2] | 0;c[d >> 2] = e + 4;e = a;c[e >> 2] = b;c[e + 4 >> 2] = 0;break a; + }case 12: + { + e = (c[d >> 2] | 0) + (8 - 1) & ~(8 - 1);b = e;f = c[b >> 2] | 0;b = c[b + 4 >> 2] | 0;c[d >> 2] = e + 8;e = a;c[e >> 2] = f;c[e + 4 >> 2] = b;break a; + }case 13: + { + f = (c[d >> 2] | 0) + (4 - 1) & ~(4 - 1);e = c[f >> 2] | 0;c[d >> 2] = f + 4;e = (e & 65535) << 16 >> 16;f = a;c[f >> 2] = e;c[f + 4 >> 2] = ((e | 0) < 0) << 31 >> 31;break a; + }case 14: + { + f = (c[d >> 2] | 0) + (4 - 1) & ~(4 - 1);e = c[f >> 2] | 0;c[d >> 2] = f + 4;f = a;c[f >> 2] = e & 65535;c[f + 4 >> 2] = 0;break a; + }case 15: + { + f = (c[d >> 2] | 0) + (4 - 1) & ~(4 - 1);e = c[f >> 2] | 0;c[d >> 2] = f + 4;e = (e & 255) << 24 >> 24;f = a;c[f >> 2] = e;c[f + 4 >> 2] = ((e | 0) < 0) << 31 >> 31;break a; + }case 16: + { + f = (c[d >> 2] | 0) + (4 - 1) & ~(4 - 1);e = c[f >> 2] | 0;c[d >> 2] = f + 4;f = a;c[f >> 2] = e & 255;c[f + 4 >> 2] = 0;break a; + }case 17: + { + f = (c[d >> 2] | 0) + (8 - 1) & ~(8 - 1);g = +h[f >> 3];c[d >> 2] = f + 8;h[a >> 3] = g;break a; + }case 18: + { + f = (c[d >> 2] | 0) + (8 - 1) & ~(8 - 1);g = +h[f >> 3];c[d >> 2] = f + 8;h[a >> 3] = g;break a; + }default: + break a;} while (0); while (0);return; + }function JB(b, c, e, f) { + b = b | 0;c = c | 0;e = e | 0;f = f | 0;if (!((b | 0) == 0 & (c | 0) == 0)) do { + e = e + -1 | 0;a[e >> 0] = d[5694 + (b & 15) >> 0] | 0 | f;b = AC(b | 0, c | 0, 4) | 0;c = A; + } while (!((b | 0) == 0 & (c | 0) == 0));return e | 0; + }function KB(b, c, d) { + b = b | 0;c = c | 0;d = d | 0;if (!((b | 0) == 0 & (c | 0) == 0)) do { + d = d + -1 | 0;a[d >> 0] = b & 7 | 48;b = AC(b | 0, c | 0, 3) | 0;c = A; + } while (!((b | 0) == 0 & (c | 0) == 0));return d | 0; + }function LB(b, c, d) { + b = b | 0;c = c | 0;d = d | 0;var e = 0;if (c >>> 0 > 0 | (c | 0) == 0 & b >>> 0 > 4294967295) { + while (1) { + e = HC(b | 0, c | 0, 10, 0) | 0;d = d + -1 | 0;a[d >> 0] = e & 255 | 48;e = b;b = EC(b | 0, c | 0, 10, 0) | 0;if (!(c >>> 0 > 9 | (c | 0) == 9 & e >>> 0 > 4294967295)) break;else c = A; + }c = b; + } else c = b;if (c) while (1) { + d = d + -1 | 0;a[d >> 0] = (c >>> 0) % 10 | 0 | 48;if (c >>> 0 < 10) break;else c = (c >>> 0) / 10 | 0; + }return d | 0; + }function MB(a) { + a = a | 0;return XB(a, c[(WB() | 0) + 188 >> 2] | 0) | 0; + }function NB(b, d, e) { + b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0;h = d & 255;f = (e | 0) != 0;a: do if (f & (b & 3 | 0) != 0) { + g = d & 255;while (1) { + if ((a[b >> 0] | 0) == g << 24 >> 24) { + i = 6;break a; + }b = b + 1 | 0;e = e + -1 | 0;f = (e | 0) != 0;if (!(f & (b & 3 | 0) != 0)) { + i = 5;break; + } + } + } else i = 5; while (0);if ((i | 0) == 5) if (f) i = 6;else e = 0;b: do if ((i | 0) == 6) { + g = d & 255;if ((a[b >> 0] | 0) != g << 24 >> 24) { + f = P(h, 16843009) | 0;c: do if (e >>> 0 > 3) while (1) { + h = c[b >> 2] ^ f;if ((h & -2139062144 ^ -2139062144) & h + -16843009 | 0) break;b = b + 4 | 0;e = e + -4 | 0;if (e >>> 0 <= 3) { + i = 11;break c; + } + } else i = 11; while (0);if ((i | 0) == 11) if (!e) { + e = 0;break; + }while (1) { + if ((a[b >> 0] | 0) == g << 24 >> 24) break b;b = b + 1 | 0;e = e + -1 | 0;if (!e) { + e = 0;break; + } + } + } + } while (0);return (e | 0 ? b : 0) | 0; + }function OB(a, b, c, d, e) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;e = e | 0;var f = 0, + g = 0;g = l;l = l + 256 | 0;f = g;if ((c | 0) > (d | 0) & (e & 73728 | 0) == 0) { + e = c - d | 0;yC(f | 0, b | 0, (e >>> 0 < 256 ? e : 256) | 0) | 0;if (e >>> 0 > 255) { + b = c - d | 0;do { + GB(a, f, 256);e = e + -256 | 0; + } while (e >>> 0 > 255);e = b & 255; + }GB(a, f, e); + }l = g;return; + }function PB(a, b) { + a = a | 0;b = b | 0;if (!a) a = 0;else a = UB(a, b, 0) | 0;return a | 0; + }function QB(b, e, f, g, h, i) { + b = b | 0;e = +e;f = f | 0;g = g | 0;h = h | 0;i = i | 0;var j = 0, + k = 0, + m = 0, + n = 0, + o = 0, + p = 0, + q = 0, + r = 0.0, + s = 0, + t = 0, + u = 0, + v = 0, + w = 0, + x = 0, + y = 0, + z = 0, + B = 0, + C = 0, + D = 0, + E = 0, + F = 0, + G = 0, + H = 0;H = l;l = l + 560 | 0;m = H + 8 | 0;u = H;G = H + 524 | 0;F = G;n = H + 512 | 0;c[u >> 2] = 0;E = n + 12 | 0;RB(e) | 0;if ((A | 0) < 0) { + e = -e;C = 1;B = 5659; + } else { + C = (h & 2049 | 0) != 0 & 1;B = (h & 2048 | 0) == 0 ? (h & 1 | 0) == 0 ? 5660 : 5665 : 5662; + }RB(e) | 0;D = A & 2146435072;do if (D >>> 0 < 2146435072 | (D | 0) == 2146435072 & 0 < 0) { + r = +SB(e, u) * 2.0;j = r != 0.0;if (j) c[u >> 2] = (c[u >> 2] | 0) + -1;w = i | 32;if ((w | 0) == 97) { + s = i & 32;q = (s | 0) == 0 ? B : B + 9 | 0;p = C | 2;j = 12 - g | 0;do if (!(g >>> 0 > 11 | (j | 0) == 0)) { + e = 8.0;do { + j = j + -1 | 0;e = e * 16.0; + } while ((j | 0) != 0);if ((a[q >> 0] | 0) == 45) { + e = -(e + (-r - e));break; + } else { + e = r + e - e;break; + } + } else e = r; while (0);k = c[u >> 2] | 0;j = (k | 0) < 0 ? 0 - k | 0 : k;j = LB(j, ((j | 0) < 0) << 31 >> 31, E) | 0;if ((j | 0) == (E | 0)) { + j = n + 11 | 0;a[j >> 0] = 48; + }a[j + -1 >> 0] = (k >> 31 & 2) + 43;o = j + -2 | 0;a[o >> 0] = i + 15;n = (g | 0) < 1;m = (h & 8 | 0) == 0;j = G;do { + D = ~~e;k = j + 1 | 0;a[j >> 0] = d[5694 + D >> 0] | s;e = (e - +(D | 0)) * 16.0;if ((k - F | 0) == 1 ? !(m & (n & e == 0.0)) : 0) { + a[k >> 0] = 46;j = j + 2 | 0; + } else j = k; + } while (e != 0.0);D = j - F | 0;F = E - o | 0;E = (g | 0) != 0 & (D + -2 | 0) < (g | 0) ? g + 2 | 0 : D;j = F + p + E | 0;OB(b, 32, f, j, h);GB(b, q, p);OB(b, 48, f, j, h ^ 65536);GB(b, G, D);OB(b, 48, E - D | 0, 0, 0);GB(b, o, F);OB(b, 32, f, j, h ^ 8192);break; + }k = (g | 0) < 0 ? 6 : g;if (j) { + j = (c[u >> 2] | 0) + -28 | 0;c[u >> 2] = j;e = r * 268435456.0; + } else { + e = r;j = c[u >> 2] | 0; + }D = (j | 0) < 0 ? m : m + 288 | 0;m = D;do { + y = ~~e >>> 0;c[m >> 2] = y;m = m + 4 | 0;e = (e - +(y >>> 0)) * 1.0e9; + } while (e != 0.0);if ((j | 0) > 0) { + n = D;p = m;while (1) { + o = (j | 0) < 29 ? j : 29;j = p + -4 | 0;if (j >>> 0 >= n >>> 0) { + m = 0;do { + x = zC(c[j >> 2] | 0, 0, o | 0) | 0;x = xC(x | 0, A | 0, m | 0, 0) | 0;y = A;v = HC(x | 0, y | 0, 1e9, 0) | 0;c[j >> 2] = v;m = EC(x | 0, y | 0, 1e9, 0) | 0;j = j + -4 | 0; + } while (j >>> 0 >= n >>> 0);if (m) { + n = n + -4 | 0;c[n >> 2] = m; + } + }m = p;while (1) { + if (m >>> 0 <= n >>> 0) break;j = m + -4 | 0;if (!(c[j >> 2] | 0)) m = j;else break; + }j = (c[u >> 2] | 0) - o | 0;c[u >> 2] = j;if ((j | 0) > 0) p = m;else break; + } + } else n = D;if ((j | 0) < 0) { + g = ((k + 25 | 0) / 9 | 0) + 1 | 0;t = (w | 0) == 102;do { + s = 0 - j | 0;s = (s | 0) < 9 ? s : 9;if (n >>> 0 < m >>> 0) { + o = (1 << s) + -1 | 0;p = 1e9 >>> s;q = 0;j = n;do { + y = c[j >> 2] | 0;c[j >> 2] = (y >>> s) + q;q = P(y & o, p) | 0;j = j + 4 | 0; + } while (j >>> 0 < m >>> 0);j = (c[n >> 2] | 0) == 0 ? n + 4 | 0 : n;if (!q) { + n = j;j = m; + } else { + c[m >> 2] = q;n = j;j = m + 4 | 0; + } + } else { + n = (c[n >> 2] | 0) == 0 ? n + 4 | 0 : n;j = m; + }m = t ? D : n;m = (j - m >> 2 | 0) > (g | 0) ? m + (g << 2) | 0 : j;j = (c[u >> 2] | 0) + s | 0;c[u >> 2] = j; + } while ((j | 0) < 0);j = n;g = m; + } else { + j = n;g = m; + }y = D;if (j >>> 0 < g >>> 0) { + m = (y - j >> 2) * 9 | 0;o = c[j >> 2] | 0;if (o >>> 0 >= 10) { + n = 10;do { + n = n * 10 | 0;m = m + 1 | 0; + } while (o >>> 0 >= n >>> 0); + } + } else m = 0;t = (w | 0) == 103;v = (k | 0) != 0;n = k - ((w | 0) != 102 ? m : 0) + ((v & t) << 31 >> 31) | 0;if ((n | 0) < (((g - y >> 2) * 9 | 0) + -9 | 0)) { + n = n + 9216 | 0;s = D + 4 + (((n | 0) / 9 | 0) + -1024 << 2) | 0;n = ((n | 0) % 9 | 0) + 1 | 0;if ((n | 0) < 9) { + o = 10;do { + o = o * 10 | 0;n = n + 1 | 0; + } while ((n | 0) != 9); + } else o = 10;p = c[s >> 2] | 0;q = (p >>> 0) % (o >>> 0) | 0;n = (s + 4 | 0) == (g | 0);if (!(n & (q | 0) == 0)) { + r = (((p >>> 0) / (o >>> 0) | 0) & 1 | 0) == 0 ? 9007199254740992.0 : 9007199254740994.0;x = (o | 0) / 2 | 0;e = q >>> 0 < x >>> 0 ? .5 : n & (q | 0) == (x | 0) ? 1.0 : 1.5;if (C) { + x = (a[B >> 0] | 0) == 45;e = x ? -e : e;r = x ? -r : r; + }n = p - q | 0;c[s >> 2] = n;if (r + e != r) { + x = n + o | 0;c[s >> 2] = x;if (x >>> 0 > 999999999) { + m = s;while (1) { + n = m + -4 | 0;c[m >> 2] = 0;if (n >>> 0 < j >>> 0) { + j = j + -4 | 0;c[j >> 2] = 0; + }x = (c[n >> 2] | 0) + 1 | 0;c[n >> 2] = x;if (x >>> 0 > 999999999) m = n;else break; + } + } else n = s;m = (y - j >> 2) * 9 | 0;p = c[j >> 2] | 0;if (p >>> 0 >= 10) { + o = 10;do { + o = o * 10 | 0;m = m + 1 | 0; + } while (p >>> 0 >= o >>> 0); + } + } else n = s; + } else n = s;n = n + 4 | 0;n = g >>> 0 > n >>> 0 ? n : g;x = j; + } else { + n = g;x = j; + }w = n;while (1) { + if (w >>> 0 <= x >>> 0) { + u = 0;break; + }j = w + -4 | 0;if (!(c[j >> 2] | 0)) w = j;else { + u = 1;break; + } + }g = 0 - m | 0;do if (t) { + j = ((v ^ 1) & 1) + k | 0;if ((j | 0) > (m | 0) & (m | 0) > -5) { + o = i + -1 | 0;k = j + -1 - m | 0; + } else { + o = i + -2 | 0;k = j + -1 | 0; + }j = h & 8;if (!j) { + if (u ? (z = c[w + -4 >> 2] | 0, (z | 0) != 0) : 0) { + if (!((z >>> 0) % 10 | 0)) { + n = 0;j = 10;do { + j = j * 10 | 0;n = n + 1 | 0; + } while (!((z >>> 0) % (j >>> 0) | 0 | 0)); + } else n = 0; + } else n = 9;j = ((w - y >> 2) * 9 | 0) + -9 | 0;if ((o | 32 | 0) == 102) { + s = j - n | 0;s = (s | 0) > 0 ? s : 0;k = (k | 0) < (s | 0) ? k : s;s = 0;break; + } else { + s = j + m - n | 0;s = (s | 0) > 0 ? s : 0;k = (k | 0) < (s | 0) ? k : s;s = 0;break; + } + } else s = j; + } else { + o = i;s = h & 8; + } while (0);t = k | s;p = (t | 0) != 0 & 1;q = (o | 32 | 0) == 102;if (q) { + v = 0;j = (m | 0) > 0 ? m : 0; + } else { + j = (m | 0) < 0 ? g : m;j = LB(j, ((j | 0) < 0) << 31 >> 31, E) | 0;n = E;if ((n - j | 0) < 2) do { + j = j + -1 | 0;a[j >> 0] = 48; + } while ((n - j | 0) < 2);a[j + -1 >> 0] = (m >> 31 & 2) + 43;j = j + -2 | 0;a[j >> 0] = o;v = j;j = n - j | 0; + }j = C + 1 + k + p + j | 0;OB(b, 32, f, j, h);GB(b, B, C);OB(b, 48, f, j, h ^ 65536);if (q) { + o = x >>> 0 > D >>> 0 ? D : x;s = G + 9 | 0;p = s;q = G + 8 | 0;n = o;do { + m = LB(c[n >> 2] | 0, 0, s) | 0;if ((n | 0) == (o | 0)) { + if ((m | 0) == (s | 0)) { + a[q >> 0] = 48;m = q; + } + } else if (m >>> 0 > G >>> 0) { + yC(G | 0, 48, m - F | 0) | 0;do m = m + -1 | 0; while (m >>> 0 > G >>> 0); + }GB(b, m, p - m | 0);n = n + 4 | 0; + } while (n >>> 0 <= D >>> 0);if (t | 0) GB(b, 5710, 1);if (n >>> 0 < w >>> 0 & (k | 0) > 0) while (1) { + m = LB(c[n >> 2] | 0, 0, s) | 0;if (m >>> 0 > G >>> 0) { + yC(G | 0, 48, m - F | 0) | 0;do m = m + -1 | 0; while (m >>> 0 > G >>> 0); + }GB(b, m, (k | 0) < 9 ? k : 9);n = n + 4 | 0;m = k + -9 | 0;if (!(n >>> 0 < w >>> 0 & (k | 0) > 9)) { + k = m;break; + } else k = m; + }OB(b, 48, k + 9 | 0, 9, 0); + } else { + t = u ? w : x + 4 | 0;if ((k | 0) > -1) { + u = G + 9 | 0;s = (s | 0) == 0;g = u;p = 0 - F | 0;q = G + 8 | 0;o = x;do { + m = LB(c[o >> 2] | 0, 0, u) | 0;if ((m | 0) == (u | 0)) { + a[q >> 0] = 48;m = q; + }do if ((o | 0) == (x | 0)) { + n = m + 1 | 0;GB(b, m, 1);if (s & (k | 0) < 1) { + m = n;break; + }GB(b, 5710, 1);m = n; + } else { + if (m >>> 0 <= G >>> 0) break;yC(G | 0, 48, m + p | 0) | 0;do m = m + -1 | 0; while (m >>> 0 > G >>> 0); + } while (0);F = g - m | 0;GB(b, m, (k | 0) > (F | 0) ? F : k);k = k - F | 0;o = o + 4 | 0; + } while (o >>> 0 < t >>> 0 & (k | 0) > -1); + }OB(b, 48, k + 18 | 0, 18, 0);GB(b, v, E - v | 0); + }OB(b, 32, f, j, h ^ 8192); + } else { + G = (i & 32 | 0) != 0;j = C + 3 | 0;OB(b, 32, f, j, h & -65537);GB(b, B, C);GB(b, e != e | 0.0 != 0.0 ? G ? 5686 : 5690 : G ? 5678 : 5682, 3);OB(b, 32, f, j, h ^ 8192); + } while (0);l = H;return ((j | 0) < (f | 0) ? f : j) | 0; + }function RB(a) { + a = +a;var b = 0;h[j >> 3] = a;b = c[j >> 2] | 0;A = c[j + 4 >> 2] | 0;return b | 0; + }function SB(a, b) { + a = +a;b = b | 0;return + +TB(a, b); + }function TB(a, b) { + a = +a;b = b | 0;var d = 0, + e = 0, + f = 0;h[j >> 3] = a;d = c[j >> 2] | 0;e = c[j + 4 >> 2] | 0;f = AC(d | 0, e | 0, 52) | 0;switch (f & 2047) {case 0: + { + if (a != 0.0) { + a = +TB(a * 18446744073709551616.0, b);d = (c[b >> 2] | 0) + -64 | 0; + } else d = 0;c[b >> 2] = d;break; + }case 2047: + break;default: + { + c[b >> 2] = (f & 2047) + -1022;c[j >> 2] = d;c[j + 4 >> 2] = e & -2146435073 | 1071644672;a = +h[j >> 3]; + }}return +a; + }function UB(b, d, e) { + b = b | 0;d = d | 0;e = e | 0;do if (b) { + if (d >>> 0 < 128) { + a[b >> 0] = d;b = 1;break; + }if (!(c[c[(VB() | 0) + 188 >> 2] >> 2] | 0)) if ((d & -128 | 0) == 57216) { + a[b >> 0] = d;b = 1;break; + } else { + c[(vB() | 0) >> 2] = 84;b = -1;break; + }if (d >>> 0 < 2048) { + a[b >> 0] = d >>> 6 | 192;a[b + 1 >> 0] = d & 63 | 128;b = 2;break; + }if (d >>> 0 < 55296 | (d & -8192 | 0) == 57344) { + a[b >> 0] = d >>> 12 | 224;a[b + 1 >> 0] = d >>> 6 & 63 | 128;a[b + 2 >> 0] = d & 63 | 128;b = 3;break; + }if ((d + -65536 | 0) >>> 0 < 1048576) { + a[b >> 0] = d >>> 18 | 240;a[b + 1 >> 0] = d >>> 12 & 63 | 128;a[b + 2 >> 0] = d >>> 6 & 63 | 128;a[b + 3 >> 0] = d & 63 | 128;b = 4;break; + } else { + c[(vB() | 0) >> 2] = 84;b = -1;break; + } + } else b = 1; while (0);return b | 0; + }function VB() { + return xB() | 0; + }function WB() { + return xB() | 0; + }function XB(b, e) { + b = b | 0;e = e | 0;var f = 0, + g = 0;g = 0;while (1) { + if ((d[5712 + g >> 0] | 0) == (b | 0)) { + b = 2;break; + }f = g + 1 | 0;if ((f | 0) == 87) { + f = 5800;g = 87;b = 5;break; + } else g = f; + }if ((b | 0) == 2) if (!g) f = 5800;else { + f = 5800;b = 5; + }if ((b | 0) == 5) while (1) { + do { + b = f;f = f + 1 | 0; + } while ((a[b >> 0] | 0) != 0);g = g + -1 | 0;if (!g) break;else b = 5; + }return YB(f, c[e + 20 >> 2] | 0) | 0; + }function YB(a, b) { + a = a | 0;b = b | 0;return ZB(a, b) | 0; + }function ZB(a, b) { + a = a | 0;b = b | 0;if (!b) b = 0;else b = _B(c[b >> 2] | 0, c[b + 4 >> 2] | 0, a) | 0;return (b | 0 ? b : a) | 0; + }function _B(b, d, e) { + b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + l = 0, + m = 0, + n = 0, + o = 0;o = (c[b >> 2] | 0) + 1794895138 | 0;h = $B(c[b + 8 >> 2] | 0, o) | 0;f = $B(c[b + 12 >> 2] | 0, o) | 0;g = $B(c[b + 16 >> 2] | 0, o) | 0;a: do if ((h >>> 0 < d >>> 2 >>> 0 ? (n = d - (h << 2) | 0, f >>> 0 < n >>> 0 & g >>> 0 < n >>> 0) : 0) ? ((g | f) & 3 | 0) == 0 : 0) { + n = f >>> 2;m = g >>> 2;l = 0;while (1) { + j = h >>> 1;k = l + j | 0;i = k << 1;g = i + n | 0;f = $B(c[b + (g << 2) >> 2] | 0, o) | 0;g = $B(c[b + (g + 1 << 2) >> 2] | 0, o) | 0;if (!(g >>> 0 < d >>> 0 & f >>> 0 < (d - g | 0) >>> 0)) { + f = 0;break a; + }if (a[b + (g + f) >> 0] | 0) { + f = 0;break a; + }f = AB(e, b + g | 0) | 0;if (!f) break;f = (f | 0) < 0;if ((h | 0) == 1) { + f = 0;break a; + } else { + l = f ? l : k;h = f ? j : h - j | 0; + } + }f = i + m | 0;g = $B(c[b + (f << 2) >> 2] | 0, o) | 0;f = $B(c[b + (f + 1 << 2) >> 2] | 0, o) | 0;if (f >>> 0 < d >>> 0 & g >>> 0 < (d - f | 0) >>> 0) f = (a[b + (f + g) >> 0] | 0) == 0 ? b + f | 0 : 0;else f = 0; + } else f = 0; while (0);return f | 0; + }function $B(a, b) { + a = a | 0;b = b | 0;var c = 0;c = IC(a | 0) | 0;return ((b | 0) == 0 ? a : c) | 0; + }function aC(b, d, e) { + b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0, + j = 0;f = e + 16 | 0;g = c[f >> 2] | 0;if (!g) { + if (!(bC(e) | 0)) { + g = c[f >> 2] | 0;h = 5; + } else f = 0; + } else h = 5;a: do if ((h | 0) == 5) { + j = e + 20 | 0;i = c[j >> 2] | 0;f = i;if ((g - i | 0) >>> 0 < d >>> 0) { + f = sb[c[e + 36 >> 2] & 7](e, b, d) | 0;break; + }b: do if ((a[e + 75 >> 0] | 0) > -1) { + i = d;while (1) { + if (!i) { + h = 0;g = b;break b; + }g = i + -1 | 0;if ((a[b + g >> 0] | 0) == 10) break;else i = g; + }f = sb[c[e + 36 >> 2] & 7](e, b, i) | 0;if (f >>> 0 < i >>> 0) break a;h = i;g = b + i | 0;d = d - i | 0;f = c[j >> 2] | 0; + } else { + h = 0;g = b; + } while (0);BC(f | 0, g | 0, d | 0) | 0;c[j >> 2] = (c[j >> 2] | 0) + d;f = h + d | 0; + } while (0);return f | 0; + }function bC(b) { + b = b | 0;var d = 0, + e = 0;d = b + 74 | 0;e = a[d >> 0] | 0;a[d >> 0] = e + 255 | e;d = c[b >> 2] | 0;if (!(d & 8)) { + c[b + 8 >> 2] = 0;c[b + 4 >> 2] = 0;e = c[b + 44 >> 2] | 0;c[b + 28 >> 2] = e;c[b + 20 >> 2] = e;c[b + 16 >> 2] = e + (c[b + 48 >> 2] | 0);b = 0; + } else { + c[b >> 2] = d | 32;b = -1; + }return b | 0; + }function cC(a, b) { + a = T(a);b = T(b);var c = 0, + d = 0;c = dC(a) | 0;do if ((c & 2147483647) >>> 0 <= 2139095040) { + d = dC(b) | 0;if ((d & 2147483647) >>> 0 <= 2139095040) if ((d ^ c | 0) < 0) { + a = (c | 0) < 0 ? b : a;break; + } else { + a = a < b ? b : a;break; + } + } else a = b; while (0);return T(a); + }function dC(a) { + a = T(a);return (g[j >> 2] = a, c[j >> 2] | 0) | 0; + }function eC(a, b) { + a = T(a);b = T(b);var c = 0, + d = 0;c = fC(a) | 0;do if ((c & 2147483647) >>> 0 <= 2139095040) { + d = fC(b) | 0;if ((d & 2147483647) >>> 0 <= 2139095040) if ((d ^ c | 0) < 0) { + a = (c | 0) < 0 ? a : b;break; + } else { + a = a < b ? a : b;break; + } + } else a = b; while (0);return T(a); + }function fC(a) { + a = T(a);return (g[j >> 2] = a, c[j >> 2] | 0) | 0; + }function gC(a, b) { + a = T(a);b = T(b);var d = 0, + e = 0, + f = 0, + h = 0, + i = 0, + k = 0, + l = 0, + m = 0;h = (g[j >> 2] = a, c[j >> 2] | 0);k = (g[j >> 2] = b, c[j >> 2] | 0);d = h >>> 23 & 255;i = k >>> 23 & 255;l = h & -2147483648;f = k << 1;a: do if ((f | 0) != 0 ? !((d | 0) == 255 | ((hC(b) | 0) & 2147483647) >>> 0 > 2139095040) : 0) { + e = h << 1;if (e >>> 0 <= f >>> 0) { + b = T(a * T(0.0));return T((e | 0) == (f | 0) ? b : a); + }if (!d) { + d = h << 9;if ((d | 0) > -1) { + e = d;d = 0;do { + d = d + -1 | 0;e = e << 1; + } while ((e | 0) > -1); + } else d = 0;e = h << 1 - d; + } else e = h & 8388607 | 8388608;if (!i) { + h = k << 9;if ((h | 0) > -1) { + f = 0;do { + f = f + -1 | 0;h = h << 1; + } while ((h | 0) > -1); + } else f = 0;i = f;k = k << 1 - f; + } else k = k & 8388607 | 8388608;f = e - k | 0;h = (f | 0) > -1;b: do if ((d | 0) > (i | 0)) { + while (1) { + if (h) if (!f) break;else e = f;e = e << 1;d = d + -1 | 0;f = e - k | 0;h = (f | 0) > -1;if ((d | 0) <= (i | 0)) break b; + }b = T(a * T(0.0));break a; + } while (0);if (h) if (!f) { + b = T(a * T(0.0));break; + } else e = f;if (e >>> 0 < 8388608) do { + e = e << 1;d = d + -1 | 0; + } while (e >>> 0 < 8388608);if ((d | 0) > 0) d = e + -8388608 | d << 23;else d = e >>> (1 - d | 0);b = (c[j >> 2] = d | l, T(g[j >> 2])); + } else m = 3; while (0);if ((m | 0) == 3) { + b = T(a * b);b = T(b / b); + }return T(b); + }function hC(a) { + a = T(a);return (g[j >> 2] = a, c[j >> 2] | 0) | 0; + }function iC(a, b) { + a = a | 0;b = b | 0;return CB(c[582] | 0, a, b) | 0; + }function jC(a) { + a = a | 0;Ta(); + }function kC(a) { + a = a | 0;return; + }function lC(a, b) { + a = a | 0;b = b | 0;return 0; + }function mC(a) { + a = a | 0;if ((nC(a + 4 | 0) | 0) == -1) { + nb[c[(c[a >> 2] | 0) + 8 >> 2] & 127](a);a = 1; + } else a = 0;return a | 0; + }function nC(a) { + a = a | 0;var b = 0;b = c[a >> 2] | 0;c[a >> 2] = b + -1;return b + -1 | 0; + }function oC(a) { + a = a | 0;if (mC(a) | 0) pC(a);return; + }function pC(a) { + a = a | 0;var b = 0;b = a + 8 | 0;if (!((c[b >> 2] | 0) != 0 ? (nC(b) | 0) != -1 : 0)) nb[c[(c[a >> 2] | 0) + 16 >> 2] & 127](a);return; + }function qC(a) { + a = a | 0;var b = 0;b = (a | 0) == 0 ? 1 : a;while (1) { + a = oB(b) | 0;if (a | 0) break;a = uC() | 0;if (!a) { + a = 0;break; + }Fb[a & 0](); + }return a | 0; + }function rC(a) { + a = a | 0;return qC(a) | 0; + }function sC(a) { + a = a | 0;pB(a);return; + }function tC(b) { + b = b | 0;if ((a[b + 11 >> 0] | 0) < 0) sC(c[b >> 2] | 0);return; + }function uC() { + var a = 0;a = c[2923] | 0;c[2923] = a + 0;return a | 0; + }function vC() {}function wC(a, b, c, d) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;d = b - d - (c >>> 0 > a >>> 0 | 0) >>> 0;return (A = d, a - c >>> 0 | 0) | 0; + }function xC(a, b, c, d) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;c = a + c >>> 0;return (A = b + d + (c >>> 0 < a >>> 0 | 0) >>> 0, c | 0) | 0; + }function yC(b, d, e) { + b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0, + i = 0;h = b + e | 0;d = d & 255;if ((e | 0) >= 67) { + while (b & 3) { + a[b >> 0] = d;b = b + 1 | 0; + }f = h & -4 | 0;g = f - 64 | 0;i = d | d << 8 | d << 16 | d << 24;while ((b | 0) <= (g | 0)) { + c[b >> 2] = i;c[b + 4 >> 2] = i;c[b + 8 >> 2] = i;c[b + 12 >> 2] = i;c[b + 16 >> 2] = i;c[b + 20 >> 2] = i;c[b + 24 >> 2] = i;c[b + 28 >> 2] = i;c[b + 32 >> 2] = i;c[b + 36 >> 2] = i;c[b + 40 >> 2] = i;c[b + 44 >> 2] = i;c[b + 48 >> 2] = i;c[b + 52 >> 2] = i;c[b + 56 >> 2] = i;c[b + 60 >> 2] = i;b = b + 64 | 0; + }while ((b | 0) < (f | 0)) { + c[b >> 2] = i;b = b + 4 | 0; + } + }while ((b | 0) < (h | 0)) { + a[b >> 0] = d;b = b + 1 | 0; + }return h - e | 0; + }function zC(a, b, c) { + a = a | 0;b = b | 0;c = c | 0;if ((c | 0) < 32) { + A = b << c | (a & (1 << c) - 1 << 32 - c) >>> 32 - c;return a << c; + }A = a << c - 32;return 0; + }function AC(a, b, c) { + a = a | 0;b = b | 0;c = c | 0;if ((c | 0) < 32) { + A = b >>> c;return a >>> c | (b & (1 << c) - 1) << 32 - c; + }A = 0;return b >>> c - 32 | 0; + }function BC(b, d, e) { + b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0, + h = 0;if ((e | 0) >= 8192) return Oa(b | 0, d | 0, e | 0) | 0;h = b | 0;g = b + e | 0;if ((b & 3) == (d & 3)) { + while (b & 3) { + if (!e) return h | 0;a[b >> 0] = a[d >> 0] | 0;b = b + 1 | 0;d = d + 1 | 0;e = e - 1 | 0; + }e = g & -4 | 0;f = e - 64 | 0;while ((b | 0) <= (f | 0)) { + c[b >> 2] = c[d >> 2];c[b + 4 >> 2] = c[d + 4 >> 2];c[b + 8 >> 2] = c[d + 8 >> 2];c[b + 12 >> 2] = c[d + 12 >> 2];c[b + 16 >> 2] = c[d + 16 >> 2];c[b + 20 >> 2] = c[d + 20 >> 2];c[b + 24 >> 2] = c[d + 24 >> 2];c[b + 28 >> 2] = c[d + 28 >> 2];c[b + 32 >> 2] = c[d + 32 >> 2];c[b + 36 >> 2] = c[d + 36 >> 2];c[b + 40 >> 2] = c[d + 40 >> 2];c[b + 44 >> 2] = c[d + 44 >> 2];c[b + 48 >> 2] = c[d + 48 >> 2];c[b + 52 >> 2] = c[d + 52 >> 2];c[b + 56 >> 2] = c[d + 56 >> 2];c[b + 60 >> 2] = c[d + 60 >> 2];b = b + 64 | 0;d = d + 64 | 0; + }while ((b | 0) < (e | 0)) { + c[b >> 2] = c[d >> 2];b = b + 4 | 0;d = d + 4 | 0; + } + } else { + e = g - 4 | 0;while ((b | 0) < (e | 0)) { + a[b >> 0] = a[d >> 0] | 0;a[b + 1 >> 0] = a[d + 1 >> 0] | 0;a[b + 2 >> 0] = a[d + 2 >> 0] | 0;a[b + 3 >> 0] = a[d + 3 >> 0] | 0;b = b + 4 | 0;d = d + 4 | 0; + } + }while ((b | 0) < (g | 0)) { + a[b >> 0] = a[d >> 0] | 0;b = b + 1 | 0;d = d + 1 | 0; + }return h | 0; + }function CC(b) { + b = b | 0;var c = 0;c = a[n + (b & 255) >> 0] | 0;if ((c | 0) < 8) return c | 0;c = a[n + (b >> 8 & 255) >> 0] | 0;if ((c | 0) < 8) return c + 8 | 0;c = a[n + (b >> 16 & 255) >> 0] | 0;if ((c | 0) < 8) return c + 16 | 0;return (a[n + (b >>> 24) >> 0] | 0) + 24 | 0; + }function DC(a, b, d, e, f) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;f = f | 0;var g = 0, + h = 0, + i = 0, + j = 0, + k = 0, + l = 0, + m = 0, + n = 0, + o = 0, + p = 0;l = a;j = b;k = j;h = d;n = e;i = n;if (!k) { + g = (f | 0) != 0;if (!i) { + if (g) { + c[f >> 2] = (l >>> 0) % (h >>> 0);c[f + 4 >> 2] = 0; + }n = 0;f = (l >>> 0) / (h >>> 0) >>> 0;return (A = n, f) | 0; + } else { + if (!g) { + n = 0;f = 0;return (A = n, f) | 0; + }c[f >> 2] = a | 0;c[f + 4 >> 2] = b & 0;n = 0;f = 0;return (A = n, f) | 0; + } + }g = (i | 0) == 0;do if (h) { + if (!g) { + g = (S(i | 0) | 0) - (S(k | 0) | 0) | 0;if (g >>> 0 <= 31) { + m = g + 1 | 0;i = 31 - g | 0;b = g - 31 >> 31;h = m;a = l >>> (m >>> 0) & b | k << i;b = k >>> (m >>> 0) & b;g = 0;i = l << i;break; + }if (!f) { + n = 0;f = 0;return (A = n, f) | 0; + }c[f >> 2] = a | 0;c[f + 4 >> 2] = j | b & 0;n = 0;f = 0;return (A = n, f) | 0; + }g = h - 1 | 0;if (g & h | 0) { + i = (S(h | 0) | 0) + 33 - (S(k | 0) | 0) | 0;p = 64 - i | 0;m = 32 - i | 0;j = m >> 31;o = i - 32 | 0;b = o >> 31;h = i;a = m - 1 >> 31 & k >>> (o >>> 0) | (k << m | l >>> (i >>> 0)) & b;b = b & k >>> (i >>> 0);g = l << p & j;i = (k << p | l >>> (o >>> 0)) & j | l << m & i - 33 >> 31;break; + }if (f | 0) { + c[f >> 2] = g & l;c[f + 4 >> 2] = 0; + }if ((h | 0) == 1) { + o = j | b & 0;p = a | 0 | 0;return (A = o, p) | 0; + } else { + p = CC(h | 0) | 0;o = k >>> (p >>> 0) | 0;p = k << 32 - p | l >>> (p >>> 0) | 0;return (A = o, p) | 0; + } + } else { + if (g) { + if (f | 0) { + c[f >> 2] = (k >>> 0) % (h >>> 0);c[f + 4 >> 2] = 0; + }o = 0;p = (k >>> 0) / (h >>> 0) >>> 0;return (A = o, p) | 0; + }if (!l) { + if (f | 0) { + c[f >> 2] = 0;c[f + 4 >> 2] = (k >>> 0) % (i >>> 0); + }o = 0;p = (k >>> 0) / (i >>> 0) >>> 0;return (A = o, p) | 0; + }g = i - 1 | 0;if (!(g & i)) { + if (f | 0) { + c[f >> 2] = a | 0;c[f + 4 >> 2] = g & k | b & 0; + }o = 0;p = k >>> ((CC(i | 0) | 0) >>> 0);return (A = o, p) | 0; + }g = (S(i | 0) | 0) - (S(k | 0) | 0) | 0;if (g >>> 0 <= 30) { + b = g + 1 | 0;i = 31 - g | 0;h = b;a = k << i | l >>> (b >>> 0);b = k >>> (b >>> 0);g = 0;i = l << i;break; + }if (!f) { + o = 0;p = 0;return (A = o, p) | 0; + }c[f >> 2] = a | 0;c[f + 4 >> 2] = j | b & 0;o = 0;p = 0;return (A = o, p) | 0; + } while (0);if (!h) { + k = i;j = 0;i = 0; + } else { + m = d | 0 | 0;l = n | e & 0;k = xC(m | 0, l | 0, -1, -1) | 0;d = A;j = i;i = 0;do { + e = j;j = g >>> 31 | j << 1;g = i | g << 1;e = a << 1 | e >>> 31 | 0;n = a >>> 31 | b << 1 | 0;wC(k | 0, d | 0, e | 0, n | 0) | 0;p = A;o = p >> 31 | ((p | 0) < 0 ? -1 : 0) << 1;i = o & 1;a = wC(e | 0, n | 0, o & m | 0, (((p | 0) < 0 ? -1 : 0) >> 31 | ((p | 0) < 0 ? -1 : 0) << 1) & l | 0) | 0;b = A;h = h - 1 | 0; + } while ((h | 0) != 0);k = j;j = 0; + }h = 0;if (f | 0) { + c[f >> 2] = a;c[f + 4 >> 2] = b; + }o = (g | 0) >>> 31 | (k | h) << 1 | (h << 1 | g >>> 31) & 0 | j;p = (g << 1 | 0 >>> 31) & -2 | i;return (A = o, p) | 0; + }function EC(a, b, c, d) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;return DC(a, b, c, d, 0) | 0; + }function FC(a) { + a = a | 0;var b = 0, + d = 0;d = a + 15 & -16 | 0;b = c[i >> 2] | 0;a = b + d | 0;if ((d | 0) > 0 & (a | 0) < (b | 0) | (a | 0) < 0) { + Y() | 0;Qa(12);return -1; + }c[i >> 2] = a;if ((a | 0) > (X() | 0) ? (W() | 0) == 0 : 0) { + c[i >> 2] = b;Qa(12);return -1; + }return b | 0; + }function GC(b, c, d) { + b = b | 0;c = c | 0;d = d | 0;var e = 0;if ((c | 0) < (b | 0) & (b | 0) < (c + d | 0)) { + e = b;c = c + d | 0;b = b + d | 0;while ((d | 0) > 0) { + b = b - 1 | 0;c = c - 1 | 0;d = d - 1 | 0;a[b >> 0] = a[c >> 0] | 0; + }b = e; + } else BC(b, c, d) | 0;return b | 0; + }function HC(a, b, d, e) { + a = a | 0;b = b | 0;d = d | 0;e = e | 0;var f = 0, + g = 0;g = l;l = l + 16 | 0;f = g | 0;DC(a, b, d, e, f) | 0;l = g;return (A = c[f + 4 >> 2] | 0, c[f >> 2] | 0) | 0; + }function IC(a) { + a = a | 0;return (a & 255) << 24 | (a >> 8 & 255) << 16 | (a >> 16 & 255) << 8 | a >>> 24 | 0; + }function JC(a, b, c, d, e, f) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;e = e | 0;f = f | 0;jb[a & 1](b | 0, c | 0, d | 0, e | 0, f | 0); + }function KC(a, b, c) { + a = a | 0;b = b | 0;c = T(c);kb[a & 1](b | 0, T(c)); + }function LC(a, b, c) { + a = a | 0;b = b | 0;c = +c;lb[a & 31](b | 0, +c); + }function MC(a, b, c, d) { + a = a | 0;b = b | 0;c = T(c);d = T(d);return T(mb[a & 0](b | 0, T(c), T(d))); + }function NC(a, b) { + a = a | 0;b = b | 0;nb[a & 127](b | 0); + }function OC(a, b, c) { + a = a | 0;b = b | 0;c = c | 0;ob[a & 31](b | 0, c | 0); + }function PC(a, b) { + a = a | 0;b = b | 0;return pb[a & 31](b | 0) | 0; + }function QC(a, b, c, d, e) { + a = a | 0;b = b | 0;c = +c;d = +d;e = e | 0;qb[a & 1](b | 0, +c, +d, e | 0); + }function RC(a, b, c, d) { + a = a | 0;b = b | 0;c = +c;d = +d;rb[a & 1](b | 0, +c, +d); + }function SC(a, b, c, d) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;return sb[a & 7](b | 0, c | 0, d | 0) | 0; + }function TC(a, b, c, d) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;return +tb[a & 1](b | 0, c | 0, d | 0); + }function UC(a, b) { + a = a | 0;b = b | 0;return +ub[a & 15](b | 0); + }function VC(a, b, c) { + a = a | 0;b = b | 0;c = +c;return vb[a & 1](b | 0, +c) | 0; + }function WC(a, b, c) { + a = a | 0;b = b | 0;c = c | 0;return wb[a & 15](b | 0, c | 0) | 0; + }function XC(a, b, c, d, e, f) { + a = a | 0;b = b | 0;c = c | 0;d = +d;e = +e;f = f | 0;xb[a & 1](b | 0, c | 0, +d, +e, f | 0); + }function YC(a, b, c, d, e, f, g) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;e = e | 0;f = f | 0;g = g | 0;yb[a & 1](b | 0, c | 0, d | 0, e | 0, f | 0, g | 0); + }function ZC(a, b, c) { + a = a | 0;b = b | 0;c = c | 0;return +zb[a & 7](b | 0, c | 0); + }function _C(a) { + a = a | 0;return Ab[a & 7]() | 0; + }function $C(a, b, c, d, e, f) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;e = e | 0;f = f | 0;return Bb[a & 1](b | 0, c | 0, d | 0, e | 0, f | 0) | 0; + }function aD(a, b, c, d, e) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;e = +e;Cb[a & 1](b | 0, c | 0, d | 0, +e); + }function bD(a, b, c, d, e, f, g) { + a = a | 0;b = b | 0;c = c | 0;d = T(d);e = e | 0;f = T(f);g = g | 0;Db[a & 1](b | 0, c | 0, T(d), e | 0, T(f), g | 0); + }function cD(a, b, c, d) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;Eb[a & 15](b | 0, c | 0, d | 0); + }function dD(a) { + a = a | 0;Fb[a & 0](); + }function eD(a, b, c, d) { + a = a | 0;b = b | 0;c = c | 0;d = +d;Gb[a & 15](b | 0, c | 0, +d); + }function fD(a, b, c) { + a = a | 0;b = +b;c = +c;return Hb[a & 1](+b, +c) | 0; + }function gD(a, b, c, d, e) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;e = e | 0;Ib[a & 15](b | 0, c | 0, d | 0, e | 0); + }function hD(a, b, c, d, e) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;e = e | 0;U(0); + }function iD(a, b) { + a = a | 0;b = T(b);U(1); + }function jD(a, b) { + a = a | 0;b = +b;U(2); + }function kD(a, b, c) { + a = a | 0;b = T(b);c = T(c);U(3);return ib; + }function lD(a) { + a = a | 0;U(4); + }function mD(a, b) { + a = a | 0;b = b | 0;U(5); + }function nD(a) { + a = a | 0;U(6);return 0; + }function oD(a, b, c, d) { + a = a | 0;b = +b;c = +c;d = d | 0;U(7); + }function pD(a, b, c) { + a = a | 0;b = +b;c = +c;U(8); + }function qD(a, b, c) { + a = a | 0;b = b | 0;c = c | 0;U(9);return 0; + }function rD(a, b, c) { + a = a | 0;b = b | 0;c = c | 0;U(10);return 0.0; + }function sD(a) { + a = a | 0;U(11);return 0.0; + }function tD(a, b) { + a = a | 0;b = +b;U(12);return 0; + }function uD(a, b) { + a = a | 0;b = b | 0;U(13);return 0; + }function vD(a, b, c, d, e) { + a = a | 0;b = b | 0;c = +c;d = +d;e = e | 0;U(14); + }function wD(a, b, c, d, e, f) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;e = e | 0;f = f | 0;U(15); + }function xD(a, b) { + a = a | 0;b = b | 0;U(16);return 0.0; + }function yD() { + U(17);return 0; + }function zD(a, b, c, d, e) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;e = e | 0;U(18);return 0; + }function AD(a, b, c, d) { + a = a | 0;b = b | 0;c = c | 0;d = +d;U(19); + }function BD(a, b, c, d, e, f) { + a = a | 0;b = b | 0;c = T(c);d = d | 0;e = T(e);f = f | 0;U(20); + }function CD(a, b, c) { + a = a | 0;b = b | 0;c = c | 0;U(21); + }function DD() { + U(22); + }function ED(a, b, c) { + a = a | 0;b = b | 0;c = +c;U(23); + }function FD(a, b) { + a = +a;b = +b;U(24);return 0; + }function GD(a, b, c, d) { + a = a | 0;b = b | 0;c = c | 0;d = d | 0;U(25); + } + + // EMSCRIPTEN_END_FUNCS + var jb = [hD, Uw];var kb = [iD, of];var lb = [jD, Of, Pf, Qf, Rf, Sf, Tf, Uf, Wf, Xf, Zf, _f, $f, ag, bg, cg, dg, eg, fg, jD, jD, jD, jD, jD, jD, jD, jD, jD, jD, jD, jD, jD];var mb = [kD];var nb = [lD, kC, Ki, Li, Mi, rn, sn, tn, Pu, Qu, Ru, Cw, Dw, Ew, DA, EA, FA, Rb, tf, yf, Vf, Yf, hh, ih, ri, Ui, kj, Jj, bk, zk, Wk, nl, Hl, bm, um, Nm, en, Nn, fo, yo, Ro, ip, Bp, Xp, nq, Eq, Zq, lf, Hr, _r, us, Ps, ft, Ct, Ot, Rt, ju, mu, Eu, Uu, Xu, pv, Kv, Vi, $x, Ky, az, sz, Rz, hA, tA, wA, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD, lD];var ob = [mD, zf, Af, Df, Ef, Ff, Gf, Hf, If, Lf, Mf, Nf, wg, zg, Ag, Bg, Cg, Dg, Eg, Jg, Ng, rh, $p, qq, Ts, cy, Sv, xy, mD, mD, mD, mD];var pb = [nD, rB, sf, jg, ng, og, pg, qg, rg, sg, ug, vg, Kg, Lg, jh, ar, jt, sv, hy, jy, nD, nD, nD, nD, nD, nD, nD, nD, nD, nD, nD, nD];var qb = [oD, kh];var rb = [pD, Hu];var sb = [qD, sB, tB, zB, Dk, Rn, Lr, wz];var tb = [rD, ym];var ub = [sD, xg, yg, Fg, lh, mh, nh, oh, ph, qh, sD, sD, sD, sD, sD, sD];var vb = [tD, Kt];var wb = [uD, lC, Mg, xi, Nj, _k, rl, jn, jo, Iq, pf, ez, uD, uD, uD, uD];var xb = [vD, oj];var yb = [wD, Vz];var zb = [xD, Gg, sh, th, uh, Rm, xD, xD];var Ab = [yD, vh, qf, jf, Wt, qu, av, AA];var Bb = [zD, ee];var Cb = [AD, Vo];var Db = [BD, Pg];var Eb = [CD, kg, tg, Hg, Ig, fk, Ll, mp, Fp, nf, vx, Oy, lA, CD, CD, CD];var Fb = [DD];var Gb = [ED, Bf, Cf, Jf, Kf, gg, hg, ig, Co, cs, Ft, ED, ED, ED, ED, ED];var Hb = [FD, Mu];var Ib = [GD, fm, ir, ys, st, au, wu, hv, Pv, oy, LA, GD, GD, GD, GD, GD];return { _llvm_bswap_i32: IC, dynCall_idd: fD, dynCall_i: _C, _i64Subtract: wC, ___udivdi3: EC, dynCall_vif: KC, setThrew: Nb, dynCall_viii: cD, _bitshift64Lshr: AC, _bitshift64Shl: zC, dynCall_vi: NC, dynCall_viiddi: XC, dynCall_diii: TC, dynCall_iii: WC, _memset: yC, _sbrk: FC, _memcpy: BC, __GLOBAL__sub_I_Yoga_cpp: hf, dynCall_vii: OC, ___uremdi3: HC, dynCall_vid: LC, stackAlloc: Jb, _nbind_init: _A, getTempRet0: Pb, dynCall_di: UC, dynCall_iid: VC, setTempRet0: Ob, _i64Add: xC, dynCall_fiff: MC, dynCall_iiii: SC, _emscripten_get_global_libc: qB, dynCall_viid: eD, dynCall_viiid: aD, dynCall_viififi: bD, dynCall_ii: PC, __GLOBAL__sub_I_Binding_cc: Sx, dynCall_viiii: gD, dynCall_iiiiii: $C, stackSave: Kb, dynCall_viiiii: JC, __GLOBAL__sub_I_nbind_cc: wh, dynCall_vidd: RC, _free: pB, runPostSets: vC, dynCall_viiiiii: YC, establishStackSpace: Mb, _memmove: GC, stackRestore: Lb, _malloc: oB, __GLOBAL__sub_I_common_cc: Bv, dynCall_viddi: QC, dynCall_dii: ZC, dynCall_v: dD }; + }( + + // EMSCRIPTEN_END_ASM + Module.asmGlobalArg, Module.asmLibraryArg, buffer);var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"];var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"];var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"];var setThrew = Module["setThrew"] = asm["setThrew"];var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"];var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"];var _memset = Module["_memset"] = asm["_memset"];var _sbrk = Module["_sbrk"] = asm["_sbrk"];var _memcpy = Module["_memcpy"] = asm["_memcpy"];var stackAlloc = Module["stackAlloc"] = asm["stackAlloc"];var ___uremdi3 = Module["___uremdi3"] = asm["___uremdi3"];var _nbind_init = Module["_nbind_init"] = asm["_nbind_init"];var _i64Subtract = Module["_i64Subtract"] = asm["_i64Subtract"];var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"];var _i64Add = Module["_i64Add"] = asm["_i64Add"];var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"];var __GLOBAL__sub_I_Yoga_cpp = Module["__GLOBAL__sub_I_Yoga_cpp"] = asm["__GLOBAL__sub_I_Yoga_cpp"];var __GLOBAL__sub_I_Binding_cc = Module["__GLOBAL__sub_I_Binding_cc"] = asm["__GLOBAL__sub_I_Binding_cc"];var stackSave = Module["stackSave"] = asm["stackSave"];var __GLOBAL__sub_I_nbind_cc = Module["__GLOBAL__sub_I_nbind_cc"] = asm["__GLOBAL__sub_I_nbind_cc"];var _free = Module["_free"] = asm["_free"];var runPostSets = Module["runPostSets"] = asm["runPostSets"];var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"];var _memmove = Module["_memmove"] = asm["_memmove"];var stackRestore = Module["stackRestore"] = asm["stackRestore"];var _malloc = Module["_malloc"] = asm["_malloc"];var __GLOBAL__sub_I_common_cc = Module["__GLOBAL__sub_I_common_cc"] = asm["__GLOBAL__sub_I_common_cc"];var dynCall_viiiii = Module["dynCall_viiiii"] = asm["dynCall_viiiii"];var dynCall_vif = Module["dynCall_vif"] = asm["dynCall_vif"];var dynCall_vid = Module["dynCall_vid"] = asm["dynCall_vid"];var dynCall_fiff = Module["dynCall_fiff"] = asm["dynCall_fiff"];var dynCall_vi = Module["dynCall_vi"] = asm["dynCall_vi"];var dynCall_vii = Module["dynCall_vii"] = asm["dynCall_vii"];var dynCall_ii = Module["dynCall_ii"] = asm["dynCall_ii"];var dynCall_viddi = Module["dynCall_viddi"] = asm["dynCall_viddi"];var dynCall_vidd = Module["dynCall_vidd"] = asm["dynCall_vidd"];var dynCall_iiii = Module["dynCall_iiii"] = asm["dynCall_iiii"];var dynCall_diii = Module["dynCall_diii"] = asm["dynCall_diii"];var dynCall_di = Module["dynCall_di"] = asm["dynCall_di"];var dynCall_iid = Module["dynCall_iid"] = asm["dynCall_iid"];var dynCall_iii = Module["dynCall_iii"] = asm["dynCall_iii"];var dynCall_viiddi = Module["dynCall_viiddi"] = asm["dynCall_viiddi"];var dynCall_viiiiii = Module["dynCall_viiiiii"] = asm["dynCall_viiiiii"];var dynCall_dii = Module["dynCall_dii"] = asm["dynCall_dii"];var dynCall_i = Module["dynCall_i"] = asm["dynCall_i"];var dynCall_iiiiii = Module["dynCall_iiiiii"] = asm["dynCall_iiiiii"];var dynCall_viiid = Module["dynCall_viiid"] = asm["dynCall_viiid"];var dynCall_viififi = Module["dynCall_viififi"] = asm["dynCall_viififi"];var dynCall_viii = Module["dynCall_viii"] = asm["dynCall_viii"];var dynCall_v = Module["dynCall_v"] = asm["dynCall_v"];var dynCall_viid = Module["dynCall_viid"] = asm["dynCall_viid"];var dynCall_idd = Module["dynCall_idd"] = asm["dynCall_idd"];var dynCall_viiii = Module["dynCall_viiii"] = asm["dynCall_viiii"];Runtime.stackAlloc = Module["stackAlloc"];Runtime.stackSave = Module["stackSave"];Runtime.stackRestore = Module["stackRestore"];Runtime.establishStackSpace = Module["establishStackSpace"];Runtime.setTempRet0 = Module["setTempRet0"];Runtime.getTempRet0 = Module["getTempRet0"];Module["asm"] = asm;function ExitStatus(status) { + this.name = "ExitStatus";this.message = "Program terminated with exit(" + status + ")";this.status = status; + }ExitStatus.prototype = new Error();ExitStatus.prototype.constructor = ExitStatus;var initialStackTop;var preloadStartTime = null;var calledMain = false;dependenciesFulfilled = function runCaller() { + if (!Module["calledRun"]) run();if (!Module["calledRun"]) dependenciesFulfilled = runCaller; + };Module["callMain"] = Module.callMain = function callMain(args) { + args = args || [];ensureInitRuntime();var argc = args.length + 1;function pad() { + for (var i = 0; i < 4 - 1; i++) { + argv.push(0); + } + }var argv = [allocate(intArrayFromString(Module["thisProgram"]), "i8", ALLOC_NORMAL)];pad();for (var i = 0; i < argc - 1; i = i + 1) { + argv.push(allocate(intArrayFromString(args[i]), "i8", ALLOC_NORMAL));pad(); + }argv.push(0);argv = allocate(argv, "i32", ALLOC_NORMAL);try { + var ret = Module["_main"](argc, argv, 0);exit(ret, true); + } catch (e) { + if (e instanceof ExitStatus) { + return; + } else if (e == "SimulateInfiniteLoop") { + Module["noExitRuntime"] = true;return; + } else { + var toLog = e;if (e && typeof e === "object" && e.stack) { + toLog = [e, e.stack]; + }Module.printErr("exception thrown: " + toLog);Module["quit"](1, e); + } + } finally { + calledMain = true; + } + };function run(args) { + args = args || Module["arguments"];if (preloadStartTime === null) preloadStartTime = Date.now();if (runDependencies > 0) { + return; + }preRun();if (runDependencies > 0) return;if (Module["calledRun"]) return;function doRun() { + if (Module["calledRun"]) return;Module["calledRun"] = true;if (ABORT) return;ensureInitRuntime();preMain();if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"]();if (Module["_main"] && shouldRunNow) Module["callMain"](args);postRun(); + }if (Module["setStatus"]) { + Module["setStatus"]("Running...");setTimeout(function () { + setTimeout(function () { + Module["setStatus"](""); + }, 1);doRun(); + }, 1); + } else { + doRun(); + } + }Module["run"] = Module.run = run;function exit(status, implicit) { + if (implicit && Module["noExitRuntime"]) { + return; + }if (Module["noExitRuntime"]) {} else { + ABORT = true;EXITSTATUS = status;STACKTOP = initialStackTop;exitRuntime();if (Module["onExit"]) Module["onExit"](status); + }if (ENVIRONMENT_IS_NODE) { + process["exit"](status); + }Module["quit"](status, new ExitStatus(status)); + }Module["exit"] = Module.exit = exit;var abortDecorators = [];function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what); + }if (what !== undefined) { + Module.print(what);Module.printErr(what);what = JSON.stringify(what); + } else { + what = ""; + }ABORT = true;EXITSTATUS = 1;var extra = "\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";var output = "abort(" + what + ") at " + stackTrace() + extra;if (abortDecorators) { + abortDecorators.forEach(function (decorator) { + output = decorator(output, what); + }); + }throw output; + }Module["abort"] = Module.abort = abort;if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") Module["preInit"] = [Module["preInit"]];while (Module["preInit"].length > 0) { + Module["preInit"].pop()(); + } + }var shouldRunNow = true;if (Module["noInitialRun"]) { + shouldRunNow = false; + }run(); + }); + + + /***/ }), + /* 55 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + + var _stringLength = _interopRequireDefault(__webpack_require__(56)); + + var _sliceAnsi = _interopRequireDefault(__webpack_require__(60)); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + /** + * "Virtual" output class + * + * Handles the positioning and saving of the output of each node in the tree. + * Also responsible for applying transformations to each character of the output. + * + * Used to generate the final output of all nodes before writing it to actual output stream (e.g. stdout) + */ + class Output { + constructor({ + width, + height + }) { + // Initialize output array with a specific set of rows, so that margin/padding at the bottom is preserved + const output = []; + + for (let y = 0; y < height; y++) { + output.push(' '.repeat(width)); + } + + this.output = output; + } + + write(x, y, text, { + transformers + }) { + if (!text) { + return; + } + + const lines = text.split('\n'); + let offsetY = 0; + + for (let line of lines) { + const length = (0, _stringLength.default)(line); + const currentLine = this.output[y + offsetY]; // Line can be missing if `text` is taller than height of pre-initialized `this.output` + + if (!currentLine) { + continue; + } + + for (const transformer of transformers) { + line = transformer(line); + } + + this.output[y + offsetY] = (0, _sliceAnsi.default)(currentLine, 0, x) + line + (0, _sliceAnsi.default)(currentLine, x + length); + offsetY++; + } + } + + get() { + return this.output.map(line => line.trimRight()).join('\n'); + } + + } + + exports.default = Output; + + /***/ }), + /* 56 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + const stripAnsi = __webpack_require__(57); + const astralRegex = __webpack_require__(59); + + module.exports = input => stripAnsi(input).replace(astralRegex(), ' ').length; + + + /***/ }), + /* 57 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + const ansiRegex = __webpack_require__(58); + + module.exports = input => typeof input === 'string' ? input.replace(ansiRegex(), '') : input; + + + /***/ }), + /* 58 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + module.exports = () => { + const pattern = [ + '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\\u0007)', + '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))' + ].join('|'); + + return new RegExp(pattern, 'g'); + }; + + + /***/ }), + /* 59 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + const regex = '[\uD800-\uDBFF][\uDC00-\uDFFF]'; + + module.exports = opts => opts && opts.exact ? new RegExp(`^${regex}$`) : new RegExp(regex, 'g'); + + + /***/ }), + /* 60 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + const isFullwidthCodePoint = __webpack_require__(29); + + const ESCAPES = [ + '\u001B', + '\u009B' + ]; + + const END_CODE = 39; + const ASTRAL_REGEX = /[\uD800-\uDBFF][\uDC00-\uDFFF]/; + + const ESCAPE_CODES = new Map([ + [0, 0], + [1, 22], + [2, 22], + [3, 23], + [4, 24], + [7, 27], + [8, 28], + [9, 29], + [30, 39], + [31, 39], + [32, 39], + [33, 39], + [34, 39], + [35, 39], + [36, 39], + [37, 39], + [90, 39], + [40, 49], + [41, 49], + [42, 49], + [43, 49], + [44, 49], + [45, 49], + [46, 49], + [47, 49] + ]); + + const wrapAnsi = code => `${ESCAPES[0]}[${code}m`; + + module.exports = (str, begin, end) => { + const arr = Array.from(str.normalize()); + + end = typeof end === 'number' ? end : arr.length; + + let insideEscape = false; + let escapeCode; + let visible = 0; + let output = ''; + + for (const item of arr.entries()) { + const i = item[0]; + const x = item[1]; + + let leftEscape = false; + + if (ESCAPES.indexOf(x) !== -1) { + insideEscape = true; + const code = /\d[^m]*/.exec(str.slice(i, i + 4)); + escapeCode = code === END_CODE ? null : code; + } else if (insideEscape && x === 'm') { + insideEscape = false; + leftEscape = true; + } + + if (!insideEscape && !leftEscape) { + ++visible; + } + + if (!ASTRAL_REGEX.test(x) && isFullwidthCodePoint(x.codePointAt())) { + ++visible; + } + + if (visible > begin && visible <= end) { + output += x; + } else if (visible === begin && !insideEscape && escapeCode !== undefined && escapeCode !== END_CODE) { + output += wrapAnsi(escapeCode); + } else if (visible >= end) { + if (escapeCode !== undefined) { + output += wrapAnsi(ESCAPE_CODES.get(parseInt(escapeCode, 10)) || END_CODE); + } + break; + } + } + + return output; + }; + + + /***/ }), + /* 61 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + + var _yogaLayoutPrebuilt = _interopRequireDefault(__webpack_require__(51)); + + var _applyStyles = _interopRequireDefault(__webpack_require__(62)); + + var _measureText = _interopRequireDefault(__webpack_require__(63)); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + // Traverse the node tree, create Yoga nodes and assign styles to each Yoga node + const buildLayout = (node, options) => { + const { + config, + terminalWidth, + skipStaticElements + } = options; + + const yogaNode = _yogaLayoutPrebuilt.default.Node.create(config); + + node.yogaNode = yogaNode; + const style = node.style || {}; // Root node of the tree + + if (node.nodeName === 'ROOT') { + // `terminalWidth` can be `undefined` if env isn't a TTY + yogaNode.setWidth(terminalWidth || 100); + + if (node.childNodes.length > 0) { + const childNodes = node.childNodes.filter(childNode => { + return skipStaticElements ? !childNode.unstable__static : true; + }); + + for (const [index, childNode] of Object.entries(childNodes)) { + const childYogaNode = buildLayout(childNode, options).yogaNode; + yogaNode.insertChild(childYogaNode, index); + } + } + + return node; + } // Apply margin, padding, flex, etc styles + + + (0, _applyStyles.default)(yogaNode, style); // Nodes with only text have a child Yoga node dedicated for that text + + if (node.textContent || node.nodeValue) { + const { + width, + height + } = (0, _measureText.default)(node.textContent || node.nodeValue); + yogaNode.setWidth(style.width || width); + yogaNode.setHeight(style.height || height); + return node; + } + + if (Array.isArray(node.childNodes) && node.childNodes.length > 0) { + const childNodes = node.childNodes.filter(childNode => { + return skipStaticElements ? !childNode.unstable__static : true; + }); + + for (const [index, childNode] of Object.entries(childNodes)) { + const { + yogaNode: childYogaNode + } = buildLayout(childNode, options); + yogaNode.insertChild(childYogaNode, index); + } + } + + return node; + }; + + var _default = buildLayout; + exports.default = _default; + + /***/ }), + /* 62 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + + var _yogaLayoutPrebuilt = _interopRequireDefault(__webpack_require__(51)); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + const hasOwnProperty = (obj, prop) => { + return {}.hasOwnProperty.call(obj, prop); + }; + + const applyMarginStyles = (node, style) => { + if (style.margin) { + node.setMargin(_yogaLayoutPrebuilt.default.EDGE_TOP, style.margin); + node.setMargin(_yogaLayoutPrebuilt.default.EDGE_BOTTOM, style.margin); + node.setMargin(_yogaLayoutPrebuilt.default.EDGE_START, style.margin); + node.setMargin(_yogaLayoutPrebuilt.default.EDGE_END, style.margin); + } + + if (style.marginX) { + node.setMargin(_yogaLayoutPrebuilt.default.EDGE_START, style.marginX); + node.setMargin(_yogaLayoutPrebuilt.default.EDGE_END, style.marginX); + } + + if (style.marginY) { + node.setMargin(_yogaLayoutPrebuilt.default.EDGE_TOP, style.marginY); + node.setMargin(_yogaLayoutPrebuilt.default.EDGE_BOTTOM, style.marginY); + } + + if (style.marginTop) { + node.setMargin(_yogaLayoutPrebuilt.default.EDGE_TOP, style.marginTop); + } + + if (style.marginBottom) { + node.setMargin(_yogaLayoutPrebuilt.default.EDGE_BOTTOM, style.marginBottom); + } + + if (style.marginLeft) { + node.setMargin(_yogaLayoutPrebuilt.default.EDGE_START, style.marginLeft); + } + + if (style.marginRight) { + node.setMargin(_yogaLayoutPrebuilt.default.EDGE_END, style.marginRight); + } + }; + + const applyPaddingStyles = (node, style) => { + if (style.padding) { + node.setPadding(_yogaLayoutPrebuilt.default.EDGE_TOP, style.padding); + node.setPadding(_yogaLayoutPrebuilt.default.EDGE_BOTTOM, style.padding); + node.setPadding(_yogaLayoutPrebuilt.default.EDGE_LEFT, style.padding); + node.setPadding(_yogaLayoutPrebuilt.default.EDGE_RIGHT, style.padding); + } + + if (style.paddingX) { + node.setPadding(_yogaLayoutPrebuilt.default.EDGE_LEFT, style.paddingX); + node.setPadding(_yogaLayoutPrebuilt.default.EDGE_RIGHT, style.paddingX); + } + + if (style.paddingY) { + node.setPadding(_yogaLayoutPrebuilt.default.EDGE_TOP, style.paddingY); + node.setPadding(_yogaLayoutPrebuilt.default.EDGE_BOTTOM, style.paddingY); + } + + if (style.paddingTop) { + node.setPadding(_yogaLayoutPrebuilt.default.EDGE_TOP, style.paddingTop); + } + + if (style.paddingBottom) { + node.setPadding(_yogaLayoutPrebuilt.default.EDGE_BOTTOM, style.paddingBottom); + } + + if (style.paddingLeft) { + node.setPadding(_yogaLayoutPrebuilt.default.EDGE_LEFT, style.paddingLeft); + } + + if (style.paddingRight) { + node.setPadding(_yogaLayoutPrebuilt.default.EDGE_RIGHT, style.paddingRight); + } + }; + + const applyFlexStyles = (node, style) => { + if (style.flexGrow) { + node.setFlexGrow(style.flexGrow); + } + + if (style.flexShrink) { + node.setFlexShrink(style.flexShrink); + } + + if (style.flexDirection) { + if (style.flexDirection === 'row') { + node.setFlexDirection(_yogaLayoutPrebuilt.default.FLEX_DIRECTION_ROW); + } + + if (style.flexDirection === 'row-reverse') { + node.setFlexDirection(_yogaLayoutPrebuilt.default.FLEX_DIRECTION_ROW_REVERSE); + } + + if (style.flexDirection === 'column') { + node.setFlexDirection(_yogaLayoutPrebuilt.default.FLEX_DIRECTION_COLUMN); + } + + if (style.flexDirection === 'column-reverse') { + node.setFlexDirection(_yogaLayoutPrebuilt.default.FLEX_DIRECTION_COLUMN_REVERSE); + } + } + + if (hasOwnProperty(style, 'flexBasis')) { + node.setFlexBasis(style.flexBasis); + } + + if (style.alignItems) { + if (style.alignItems === 'flex-start') { + node.setAlignItems(_yogaLayoutPrebuilt.default.ALIGN_FLEX_START); + } + + if (style.alignItems === 'center') { + node.setAlignItems(_yogaLayoutPrebuilt.default.ALIGN_CENTER); + } + + if (style.alignItems === 'flex-end') { + node.setAlignItems(_yogaLayoutPrebuilt.default.ALIGN_FLEX_END); + } + } + + if (style.justifyContent) { + if (style.justifyContent === 'flex-start') { + node.setJustifyContent(_yogaLayoutPrebuilt.default.JUSTIFY_FLEX_START); + } + + if (style.justifyContent === 'center') { + node.setJustifyContent(_yogaLayoutPrebuilt.default.JUSTIFY_CENTER); + } + + if (style.justifyContent === 'flex-end') { + node.setJustifyContent(_yogaLayoutPrebuilt.default.JUSTIFY_FLEX_END); + } + + if (style.justifyContent === 'space-between') { + node.setJustifyContent(_yogaLayoutPrebuilt.default.JUSTIFY_SPACE_BETWEEN); + } + + if (style.justifyContent === 'space-around') { + node.setJustifyContent(_yogaLayoutPrebuilt.default.JUSTIFY_SPACE_AROUND); + } + } + }; + + const applyDimensionStyles = (node, style) => { + if (hasOwnProperty(style, 'width')) { + node.setWidth(style.width); + } + + if (hasOwnProperty(style, 'height')) { + node.setHeight(style.height); + } + + if (hasOwnProperty(style, 'minWidth')) { + node.setMinWidth(style.minWidth); + } + + if (hasOwnProperty(style, 'minHeight')) { + node.setMinHeight(style.minHeight); + } + }; + + var _default = (node, style = {}) => { + applyMarginStyles(node, style); + applyPaddingStyles(node, style); + applyFlexStyles(node, style); + applyDimensionStyles(node, style); + }; + + exports.default = _default; + + /***/ }), + /* 63 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + + var _widestLine = _interopRequireDefault(__webpack_require__(64)); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var _default = text => { + const width = (0, _widestLine.default)(text); + const height = text.split('\n').length; + return { + width, + height + }; + }; + + exports.default = _default; + + /***/ }), + /* 64 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + const stringWidth = __webpack_require__(65); + + module.exports = input => { + let max = 0; + for (const s of input.split('\n')) max = Math.max(max, stringWidth(s)); + return max; + }; + + + /***/ }), + /* 65 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + const stripAnsi = __webpack_require__(57); + const isFullwidthCodePoint = __webpack_require__(29); + + module.exports = str => { + if (typeof str !== 'string' || str.length === 0) { + return 0; + } + + str = stripAnsi(str); + + let width = 0; + + for (let i = 0; i < str.length; i++) { + const code = str.codePointAt(i); + + // Ignore control characters + if (code <= 0x1F || (code >= 0x7F && code <= 0x9F)) { + continue; + } + + // Ignore combining characters + if (code >= 0x300 && code <= 0x36F) { + continue; + } + + // Surrogates + if (code > 0xFFFF) { + i++; + } + + width += isFullwidthCodePoint(code) ? 2 : 1; + } + + return width; + }; + + + /***/ }), + /* 66 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + + var _widestLine = _interopRequireDefault(__webpack_require__(64)); + + var _wrapText = _interopRequireDefault(__webpack_require__(67)); + + var _getMaxWidth = _interopRequireDefault(__webpack_require__(69)); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + const isAllTextNodes = node => { + if (node.nodeName === '#text') { + return true; + } + + if (node.nodeName === 'SPAN') { + if (node.textContent) { + return true; + } + + if (Array.isArray(node.childNodes)) { + return node.childNodes.every(isAllTextNodes); + } + } + + return false; + }; // Squashing text nodes allows to combine multiple text nodes into one and write + // to `Output` instance only once. For example, hello{' '}world + // is actually 3 text nodes, which would result 3 writes to `Output`. + // + // Also, this is necessary for libraries like ink-link (https://github.com/sindresorhus/ink-link), + // which need to wrap all children at once, instead of wrapping 3 text nodes separately. + + + const squashTextNodes = node => { + let text = ''; + + for (const childNode of node.childNodes) { + let nodeText; + + if (childNode.nodeName === '#text') { + nodeText = childNode.nodeValue; + } + + if (childNode.nodeName === 'SPAN') { + nodeText = childNode.textContent || squashTextNodes(childNode); + } // Since these text nodes are being concatenated, `Output` instance won't be able to + // apply children transform, so we have to do it manually here for each text node + + + if (childNode.unstable__transformChildren) { + nodeText = childNode.unstable__transformChildren(nodeText); + } + + text += nodeText; + } + + return text; + }; // After nodes are laid out, render each to output object, which later gets rendered to terminal + + + const renderNodeToOutput = (node, output, { + offsetX = 0, + offsetY = 0, + transformers = [], + skipStaticElements + }) => { + if (node.unstable__static && skipStaticElements) { + return; + } + + const { + yogaNode + } = node; // Left and top positions in Yoga are relative to their parent node + + const x = offsetX + yogaNode.getComputedLeft(); + const y = offsetY + yogaNode.getComputedTop(); // Transformers are functions that transform final text output of each component + // See Output class for logic that applies transformers + + let newTransformers = transformers; + + if (node.unstable__transformChildren) { + newTransformers = [node.unstable__transformChildren, ...transformers]; + } // Nodes with only text inside + + + if (node.textContent) { + let text = node.textContent; // Since text nodes are always wrapped in an additional node, parent node + // is where we should look for attributes + + if (node.parentNode.style.textWrap) { + const currentWidth = (0, _widestLine.default)(text); + const maxWidth = (0, _getMaxWidth.default)(node.parentNode.yogaNode); + + if (currentWidth > maxWidth) { + text = (0, _wrapText.default)(text, maxWidth, { + textWrap: node.parentNode.style.textWrap + }); + } + } + + output.write(x, y, text, { + transformers: newTransformers + }); + return; + } // Text nodes + + + if (node.nodeName === '#text') { + output.write(x, y, node.nodeValue, { + transformers: newTransformers + }); + return; + } // Nodes that have other nodes as children + + + if (Array.isArray(node.childNodes) && node.childNodes.length > 0) { + const isFlexDirectionRow = node.style.flexDirection === 'row'; + + if (isFlexDirectionRow && node.childNodes.every(isAllTextNodes)) { + let text = squashTextNodes(node); + + if (node.style.textWrap) { + const currentWidth = (0, _widestLine.default)(text); + const maxWidth = (0, _getMaxWidth.default)(yogaNode); + + if (currentWidth > maxWidth) { + text = (0, _wrapText.default)(text, maxWidth, { + textWrap: node.style.textWrap + }); + } + } + + output.write(x, y, text, { + transformers: newTransformers + }); + return; + } + + for (const childNode of node.childNodes) { + renderNodeToOutput(childNode, output, { + offsetX: x, + offsetY: y, + transformers: newTransformers, + skipStaticElements + }); + } + } + }; + + var _default = renderNodeToOutput; + exports.default = _default; + + /***/ }), + /* 67 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + + var _wrapAnsi = _interopRequireDefault(__webpack_require__(25)); + + var _cliTruncate = _interopRequireDefault(__webpack_require__(68)); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var _default = (text, maxWidth, { + textWrap + } = {}) => { + if (textWrap === 'wrap') { + return (0, _wrapAnsi.default)(text, maxWidth, { + trim: false, + hard: true + }); + } + + if (String(textWrap).startsWith('truncate')) { + let position; + + if (textWrap === 'truncate' || textWrap === 'truncate-end') { + position = 'end'; + } + + if (textWrap === 'truncate-middle') { + position = 'middle'; + } + + if (textWrap === 'truncate-start') { + position = 'start'; + } + + return (0, _cliTruncate.default)(text, maxWidth, { + position + }); + } + + return text; + }; + + exports.default = _default; + + /***/ }), + /* 68 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + const sliceAnsi = __webpack_require__(60); + const stringWidth = __webpack_require__(65); + + module.exports = (input, columns, opts) => { + opts = Object.assign({ + position: 'end' + }, opts); + + const position = opts.position; + const ellipsis = '…'; + + if (typeof input !== 'string') { + throw new TypeError(`Expected \`input\` to be a string, got ${typeof input}`); + } + + if (typeof columns !== 'number') { + throw new TypeError(`Expected \`columns\` to be a number, got ${typeof columns}`); + } + + if (columns < 1) { + return ''; + } + + if (columns === 1) { + return ellipsis; + } + + const length = stringWidth(input); + + if (length <= columns) { + return input; + } + + if (position === 'start') { + return ellipsis + sliceAnsi(input, length - columns + 1, length); + } else if (position === 'middle') { + const half = Math.floor(columns / 2); + return sliceAnsi(input, 0, half) + ellipsis + sliceAnsi(input, length - (columns - half) + 1, length); + } else if (position === 'end') { + return sliceAnsi(input, 0, columns - 1) + ellipsis; + } + + throw new Error(`Expected \`options.position\` to be either \`start\`, \`middle\` or \`end\`, got ${position}`); + }; + + + /***/ }), + /* 69 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + + var _default = yogaNode => { + return yogaNode.getComputedWidth() - yogaNode.getComputedPadding() * 2; + }; + + exports.default = _default; + + /***/ }), + /* 70 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + + // Store all instances of Ink (instance.js) to ensure that consecutive render() calls + // use the same instance of Ink and don't create a new one + // + // This map has to be stored in a separate file, because render.js creates instances, + // but instance.js should delete itself from the map on unmount + var _default = new WeakMap(); + + exports.default = _default; + + /***/ }), + /* 71 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + + var _readline = _interopRequireDefault(__webpack_require__(72)); + + var _react = _interopRequireWildcard(__webpack_require__(8)); + + var _propTypes = _interopRequireDefault(__webpack_require__(73)); + + var _cliCursor = _interopRequireDefault(__webpack_require__(17)); + + var _AppContext = _interopRequireDefault(__webpack_require__(75)); + + var _StdinContext = _interopRequireDefault(__webpack_require__(76)); + + var _StdoutContext = _interopRequireDefault(__webpack_require__(77)); + + function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + // Root component for all Ink apps + // It renders stdin and stdout contexts, so that children can access them if needed + // It also handles Ctrl+C exiting and cursor visibility + class App extends _react.PureComponent { + // Determines if TTY is supported on the provided stdin + isRawModeSupported() { + return this.props.stdin.isTTY; + } + + constructor() { + super(); // Count how many components enabled raw mode to avoid disabling + // raw mode until all components don't need it anymore + + _defineProperty(this, "handleSetRawMode", isEnabled => { + const { + stdin + } = this.props; + + if (!this.isRawModeSupported()) { + if (stdin === process.stdin) { + throw new Error('Raw mode is not supported on the current process.stdin, which Ink uses as input stream by default.\nRead about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported'); + } else { + throw new Error('Raw mode is not supported on the stdin provided to Ink.\nRead about how to prevent this error on https://github.com/vadimdemedes/ink/#israwmodesupported'); + } + } + + stdin.setEncoding('utf8'); + + if (isEnabled) { + // Ensure raw mode is enabled only once + if (this.rawModeEnabledCount === 0) { + stdin.addListener('data', this.handleInput); + stdin.resume(); + stdin.setRawMode(true); + + _readline.default.emitKeypressEvents(stdin); + } + + this.rawModeEnabledCount++; + return; + } // Disable raw mode only when no components left that are using it + + + if (--this.rawModeEnabledCount === 0) { + stdin.setRawMode(false); + stdin.removeListener('data', this.handleInput); + stdin.pause(); + } + }); + + _defineProperty(this, "handleInput", input => { + // Exit on Ctrl+C + if (input === '\x03' && this.props.exitOnCtrlC) { + // eslint-disable-line unicorn/no-hex-escape + this.handleExit(); + } + }); + + _defineProperty(this, "handleExit", error => { + if (this.isRawModeSupported()) { + this.handleSetRawMode(false); + } + + this.props.onExit(error); + }); + + this.rawModeEnabledCount = 0; + } + + render() { + return _react.default.createElement(_AppContext.default.Provider, { + value: { + exit: this.handleExit + } + }, _react.default.createElement(_StdinContext.default.Provider, { + value: { + stdin: this.props.stdin, + setRawMode: this.handleSetRawMode, + isRawModeSupported: this.isRawModeSupported() + } + }, _react.default.createElement(_StdoutContext.default.Provider, { + value: { + stdout: this.props.stdout + } + }, this.props.children))); + } + + componentDidMount() { + _cliCursor.default.hide(this.props.stdout); + } + + componentWillUnmount() { + _cliCursor.default.show(this.props.stdout); // ignore calling setRawMode on an handle stdin it cannot be called + + + if (this.isRawModeSupported()) { + this.handleSetRawMode(false); + } + } + + componentDidCatch(error) { + this.handleExit(error); + } + + } + + exports.default = App; + + _defineProperty(App, "propTypes", { + children: _propTypes.default.node.isRequired, + stdin: _propTypes.default.object.isRequired, + stdout: _propTypes.default.object.isRequired, + exitOnCtrlC: _propTypes.default.bool.isRequired, + onExit: _propTypes.default.func.isRequired + }); + + /***/ }), + /* 72 */ + /***/ (function(module, exports) { + + module.exports = require("readline"); + + /***/ }), + /* 73 */ + /***/ (function(module, exports, __webpack_require__) { + + /** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + if (true) { + var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' && + Symbol.for && + Symbol.for('react.element')) || + 0xeac7; + + var isValidElement = function(object) { + return typeof object === 'object' && + object !== null && + object.$$typeof === REACT_ELEMENT_TYPE; + }; + + // By explicitly using `prop-types` you are opting into new development behavior. + // http://fb.me/prop-types-in-prod + var throwOnDirectAccess = true; + module.exports = __webpack_require__(74)(isValidElement, throwOnDirectAccess); + } else {} + + + /***/ }), + /* 74 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /** + * Copyright (c) 2013-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + + + + var assign = __webpack_require__(10); + + var ReactPropTypesSecret = __webpack_require__(12); + var checkPropTypes = __webpack_require__(11); + + var printWarning = function() {}; + + if (true) { + printWarning = function(text) { + var message = 'Warning: ' + text; + if (typeof console !== 'undefined') { + console.error(message); + } + try { + // --- Welcome to debugging React --- + // This error was thrown as a convenience so that you can use this stack + // to find the callsite that caused this warning to fire. + throw new Error(message); + } catch (x) {} + }; + } + + function emptyFunctionThatReturnsNull() { + return null; + } + + module.exports = function(isValidElement, throwOnDirectAccess) { + /* global Symbol */ + var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; + var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec. + + /** + * Returns the iterator method function contained on the iterable object. + * + * Be sure to invoke the function with the iterable as context: + * + * var iteratorFn = getIteratorFn(myIterable); + * if (iteratorFn) { + * var iterator = iteratorFn.call(myIterable); + * ... + * } + * + * @param {?object} maybeIterable + * @return {?function} + */ + function getIteratorFn(maybeIterable) { + var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]); + if (typeof iteratorFn === 'function') { + return iteratorFn; + } + } + + /** + * Collection of methods that allow declaration and validation of props that are + * supplied to React components. Example usage: + * + * var Props = require('ReactPropTypes'); + * var MyArticle = React.createClass({ + * propTypes: { + * // An optional string prop named "description". + * description: Props.string, + * + * // A required enum prop named "category". + * category: Props.oneOf(['News','Photos']).isRequired, + * + * // A prop named "dialog" that requires an instance of Dialog. + * dialog: Props.instanceOf(Dialog).isRequired + * }, + * render: function() { ... } + * }); + * + * A more formal specification of how these methods are used: + * + * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...) + * decl := ReactPropTypes.{type}(.isRequired)? + * + * Each and every declaration produces a function with the same signature. This + * allows the creation of custom validation functions. For example: + * + * var MyLink = React.createClass({ + * propTypes: { + * // An optional string or URI prop named "href". + * href: function(props, propName, componentName) { + * var propValue = props[propName]; + * if (propValue != null && typeof propValue !== 'string' && + * !(propValue instanceof URI)) { + * return new Error( + * 'Expected a string or an URI for ' + propName + ' in ' + + * componentName + * ); + * } + * } + * }, + * render: function() {...} + * }); + * + * @internal + */ + + var ANONYMOUS = '<>'; + + // Important! + // Keep this list in sync with production version in `./factoryWithThrowingShims.js`. + var ReactPropTypes = { + array: createPrimitiveTypeChecker('array'), + bool: createPrimitiveTypeChecker('boolean'), + func: createPrimitiveTypeChecker('function'), + number: createPrimitiveTypeChecker('number'), + object: createPrimitiveTypeChecker('object'), + string: createPrimitiveTypeChecker('string'), + symbol: createPrimitiveTypeChecker('symbol'), + + any: createAnyTypeChecker(), + arrayOf: createArrayOfTypeChecker, + element: createElementTypeChecker(), + instanceOf: createInstanceTypeChecker, + node: createNodeChecker(), + objectOf: createObjectOfTypeChecker, + oneOf: createEnumTypeChecker, + oneOfType: createUnionTypeChecker, + shape: createShapeTypeChecker, + exact: createStrictShapeTypeChecker, + }; + + /** + * inlined Object.is polyfill to avoid requiring consumers ship their own + * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is + */ + /*eslint-disable no-self-compare*/ + function is(x, y) { + // SameValue algorithm + if (x === y) { + // Steps 1-5, 7-10 + // Steps 6.b-6.e: +0 != -0 + return x !== 0 || 1 / x === 1 / y; + } else { + // Step 6.a: NaN == NaN + return x !== x && y !== y; + } + } + /*eslint-enable no-self-compare*/ + + /** + * We use an Error-like object for backward compatibility as people may call + * PropTypes directly and inspect their output. However, we don't use real + * Errors anymore. We don't inspect their stack anyway, and creating them + * is prohibitively expensive if they are created too often, such as what + * happens in oneOfType() for any type before the one that matched. + */ + function PropTypeError(message) { + this.message = message; + this.stack = ''; + } + // Make `instanceof Error` still work for returned errors. + PropTypeError.prototype = Error.prototype; + + function createChainableTypeChecker(validate) { + if (true) { + var manualPropTypeCallCache = {}; + var manualPropTypeWarningCount = 0; + } + function checkType(isRequired, props, propName, componentName, location, propFullName, secret) { + componentName = componentName || ANONYMOUS; + propFullName = propFullName || propName; + + if (secret !== ReactPropTypesSecret) { + if (throwOnDirectAccess) { + // New behavior only for users of `prop-types` package + var err = new Error( + 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + + 'Use `PropTypes.checkPropTypes()` to call them. ' + + 'Read more at http://fb.me/use-check-prop-types' + ); + err.name = 'Invariant Violation'; + throw err; + } else if ( true && typeof console !== 'undefined') { + // Old behavior for people using React.PropTypes + var cacheKey = componentName + ':' + propName; + if ( + !manualPropTypeCallCache[cacheKey] && + // Avoid spamming the console because they are often not actionable except for lib authors + manualPropTypeWarningCount < 3 + ) { + printWarning( + 'You are manually calling a React.PropTypes validation ' + + 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' + + 'and will throw in the standalone `prop-types` package. ' + + 'You may be seeing this warning due to a third-party PropTypes ' + + 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.' + ); + manualPropTypeCallCache[cacheKey] = true; + manualPropTypeWarningCount++; + } + } + } + if (props[propName] == null) { + if (isRequired) { + if (props[propName] === null) { + return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.')); + } + return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.')); + } + return null; + } else { + return validate(props, propName, componentName, location, propFullName); + } + } + + var chainedCheckType = checkType.bind(null, false); + chainedCheckType.isRequired = checkType.bind(null, true); + + return chainedCheckType; + } + + function createPrimitiveTypeChecker(expectedType) { + function validate(props, propName, componentName, location, propFullName, secret) { + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== expectedType) { + // `propValue` being instance of, say, date/regexp, pass the 'object' + // check, but we can offer a more precise error message here rather than + // 'of type `object`'. + var preciseType = getPreciseType(propValue); + + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.')); + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createAnyTypeChecker() { + return createChainableTypeChecker(emptyFunctionThatReturnsNull); + } + + function createArrayOfTypeChecker(typeChecker) { + function validate(props, propName, componentName, location, propFullName) { + if (typeof typeChecker !== 'function') { + return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.'); + } + var propValue = props[propName]; + if (!Array.isArray(propValue)) { + var propType = getPropType(propValue); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.')); + } + for (var i = 0; i < propValue.length; i++) { + var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret); + if (error instanceof Error) { + return error; + } + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createElementTypeChecker() { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + if (!isValidElement(propValue)) { + var propType = getPropType(propValue); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.')); + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createInstanceTypeChecker(expectedClass) { + function validate(props, propName, componentName, location, propFullName) { + if (!(props[propName] instanceof expectedClass)) { + var expectedClassName = expectedClass.name || ANONYMOUS; + var actualClassName = getClassName(props[propName]); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.')); + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createEnumTypeChecker(expectedValues) { + if (!Array.isArray(expectedValues)) { + true ? printWarning('Invalid argument supplied to oneOf, expected an instance of array.') : undefined; + return emptyFunctionThatReturnsNull; + } + + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + for (var i = 0; i < expectedValues.length; i++) { + if (is(propValue, expectedValues[i])) { + return null; + } + } + + var valuesString = JSON.stringify(expectedValues); + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.')); + } + return createChainableTypeChecker(validate); + } + + function createObjectOfTypeChecker(typeChecker) { + function validate(props, propName, componentName, location, propFullName) { + if (typeof typeChecker !== 'function') { + return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.'); + } + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== 'object') { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.')); + } + for (var key in propValue) { + if (propValue.hasOwnProperty(key)) { + var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); + if (error instanceof Error) { + return error; + } + } + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createUnionTypeChecker(arrayOfTypeCheckers) { + if (!Array.isArray(arrayOfTypeCheckers)) { + true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : undefined; + return emptyFunctionThatReturnsNull; + } + + for (var i = 0; i < arrayOfTypeCheckers.length; i++) { + var checker = arrayOfTypeCheckers[i]; + if (typeof checker !== 'function') { + printWarning( + 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' + + 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.' + ); + return emptyFunctionThatReturnsNull; + } + } + + function validate(props, propName, componentName, location, propFullName) { + for (var i = 0; i < arrayOfTypeCheckers.length; i++) { + var checker = arrayOfTypeCheckers[i]; + if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) { + return null; + } + } + + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.')); + } + return createChainableTypeChecker(validate); + } + + function createNodeChecker() { + function validate(props, propName, componentName, location, propFullName) { + if (!isNode(props[propName])) { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.')); + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createShapeTypeChecker(shapeTypes) { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== 'object') { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); + } + for (var key in shapeTypes) { + var checker = shapeTypes[key]; + if (!checker) { + continue; + } + var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); + if (error) { + return error; + } + } + return null; + } + return createChainableTypeChecker(validate); + } + + function createStrictShapeTypeChecker(shapeTypes) { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== 'object') { + return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); + } + // We need to check all keys in case some are required but missing from + // props. + var allKeys = assign({}, props[propName], shapeTypes); + for (var key in allKeys) { + var checker = shapeTypes[key]; + if (!checker) { + return new PropTypeError( + 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' + + '\nBad object: ' + JSON.stringify(props[propName], null, ' ') + + '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ') + ); + } + var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); + if (error) { + return error; + } + } + return null; + } + + return createChainableTypeChecker(validate); + } + + function isNode(propValue) { + switch (typeof propValue) { + case 'number': + case 'string': + case 'undefined': + return true; + case 'boolean': + return !propValue; + case 'object': + if (Array.isArray(propValue)) { + return propValue.every(isNode); + } + if (propValue === null || isValidElement(propValue)) { + return true; + } + + var iteratorFn = getIteratorFn(propValue); + if (iteratorFn) { + var iterator = iteratorFn.call(propValue); + var step; + if (iteratorFn !== propValue.entries) { + while (!(step = iterator.next()).done) { + if (!isNode(step.value)) { + return false; + } + } + } else { + // Iterator will provide entry [k,v] tuples rather than values. + while (!(step = iterator.next()).done) { + var entry = step.value; + if (entry) { + if (!isNode(entry[1])) { + return false; + } + } + } + } + } else { + return false; + } + + return true; + default: + return false; + } + } + + function isSymbol(propType, propValue) { + // Native Symbol. + if (propType === 'symbol') { + return true; + } + + // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol' + if (propValue['@@toStringTag'] === 'Symbol') { + return true; + } + + // Fallback for non-spec compliant Symbols which are polyfilled. + if (typeof Symbol === 'function' && propValue instanceof Symbol) { + return true; + } + + return false; + } + + // Equivalent of `typeof` but with special handling for array and regexp. + function getPropType(propValue) { + var propType = typeof propValue; + if (Array.isArray(propValue)) { + return 'array'; + } + if (propValue instanceof RegExp) { + // Old webkits (at least until Android 4.0) return 'function' rather than + // 'object' for typeof a RegExp. We'll normalize this here so that /bla/ + // passes PropTypes.object. + return 'object'; + } + if (isSymbol(propType, propValue)) { + return 'symbol'; + } + return propType; + } + + // This handles more types than `getPropType`. Only used for error messages. + // See `createPrimitiveTypeChecker`. + function getPreciseType(propValue) { + if (typeof propValue === 'undefined' || propValue === null) { + return '' + propValue; + } + var propType = getPropType(propValue); + if (propType === 'object') { + if (propValue instanceof Date) { + return 'date'; + } else if (propValue instanceof RegExp) { + return 'regexp'; + } + } + return propType; + } + + // Returns a string that is postfixed to a warning about an invalid type. + // For example, "undefined" or "of type array" + function getPostfixForTypeWarning(value) { + var type = getPreciseType(value); + switch (type) { + case 'array': + case 'object': + return 'an ' + type; + case 'boolean': + case 'date': + case 'regexp': + return 'a ' + type; + default: + return type; + } + } + + // Returns class name of the object, if any. + function getClassName(propValue) { + if (!propValue.constructor || !propValue.constructor.name) { + return ANONYMOUS; + } + return propValue.constructor.name; + } + + ReactPropTypes.checkPropTypes = checkPropTypes; + ReactPropTypes.PropTypes = ReactPropTypes; + + return ReactPropTypes; + }; + + + /***/ }), + /* 75 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + + var _react = _interopRequireDefault(__webpack_require__(8)); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var _default = _react.default.createContext({ + exit() {} + + }); + + exports.default = _default; + + /***/ }), + /* 76 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + + var _react = _interopRequireDefault(__webpack_require__(8)); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var _default = _react.default.createContext({ + stdin: undefined, + setRawMode: undefined + }); + + exports.default = _default; + + /***/ }), + /* 77 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + + var _react = _interopRequireDefault(__webpack_require__(8)); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + var _default = _react.default.createContext({ + stdout: undefined + }); + + exports.default = _default; + + /***/ }), + /* 78 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + + var _react = _interopRequireWildcard(__webpack_require__(8)); + + var _propTypes = _interopRequireDefault(__webpack_require__(73)); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } + + function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + + function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + class Box extends _react.PureComponent { + constructor() { + super(); + this.nodeRef = _react.default.createRef(); + } + + render() { + const _this$props = this.props, + { + children, + unstable__transformChildren + } = _this$props, + style = _objectWithoutProperties(_this$props, ["children", "unstable__transformChildren"]); + + return _react.default.createElement("div", { + ref: this.nodeRef, + style: style, + unstable__transformChildren: unstable__transformChildren + }, children); + } + + unstable__getComputedWidth() { + return this.nodeRef.current.yogaNode.getComputedWidth(); + } + + } + + exports.default = Box; + + _defineProperty(Box, "propTypes", { + margin: _propTypes.default.number, + marginX: _propTypes.default.number, + marginY: _propTypes.default.number, + marginTop: _propTypes.default.number, + marginBottom: _propTypes.default.number, + marginLeft: _propTypes.default.number, + marginRight: _propTypes.default.number, + padding: _propTypes.default.number, + paddingX: _propTypes.default.number, + paddingY: _propTypes.default.number, + paddingTop: _propTypes.default.number, + paddingBottom: _propTypes.default.number, + paddingLeft: _propTypes.default.number, + paddingRight: _propTypes.default.number, + width: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), + minWidth: _propTypes.default.number, + height: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), + minHeight: _propTypes.default.number, + flexGrow: _propTypes.default.number, + flexShrink: _propTypes.default.number, + flexDirection: _propTypes.default.oneOf(['row', 'row-reverse', 'column', 'column-reverse']), + flexBasis: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.string]), + alignItems: _propTypes.default.oneOf(['flex-start', 'center', 'flex-end']), + justifyContent: _propTypes.default.oneOf(['flex-start', 'center', 'flex-end', 'space-between', 'space-around']), + textWrap: _propTypes.default.oneOf(['wrap', 'truncate', 'truncate-start', 'truncate-middle', 'truncate-end']), + unstable__transformChildren: _propTypes.default.func, + children: _propTypes.default.node + }); + + _defineProperty(Box, "defaultProps", { + flexDirection: 'row', + flexGrow: 0, + flexShrink: 1 + }); + + /***/ }), + /* 79 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + + var _react = _interopRequireDefault(__webpack_require__(8)); + + var _propTypes = _interopRequireDefault(__webpack_require__(73)); + + var _chalk = _interopRequireDefault(__webpack_require__(80)); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + /* eslint-disable camelcase */ + const Text = ({ + bold, + italic, + underline, + strikethrough, + children, + unstable__transformChildren + }) => { + const transformChildren = children => { + if (bold) { + children = _chalk.default.bold(children); + } + + if (italic) { + children = _chalk.default.italic(children); + } + + if (underline) { + children = _chalk.default.underline(children); + } + + if (strikethrough) { + children = _chalk.default.strikethrough(children); + } + + if (unstable__transformChildren) { + children = unstable__transformChildren(children); + } + + return children; + }; + + return _react.default.createElement("span", { + style: { + flexDirection: 'row' + }, + unstable__transformChildren: transformChildren + }, children); + }; + + Text.propTypes = { + bold: _propTypes.default.bool, + italic: _propTypes.default.bool, + underline: _propTypes.default.bool, + strikethrough: _propTypes.default.bool, + children: _propTypes.default.node.isRequired, + unstable__transformChildren: _propTypes.default.func + }; + Text.defaultProps = { + bold: false, + italic: false, + underline: false, + strikethrough: false, + unstable__transformChildren: undefined + }; + var _default = Text; + exports.default = _default; + + /***/ }), + /* 80 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + const escapeStringRegexp = __webpack_require__(81); + const ansiStyles = __webpack_require__(31); + const stdoutColor = __webpack_require__(82).stdout; + + const template = __webpack_require__(85); + + const isSimpleWindowsTerm = process.platform === 'win32' && !(process.env.TERM || '').toLowerCase().startsWith('xterm'); + + // `supportsColor.level` → `ansiStyles.color[name]` mapping + const levelMapping = ['ansi', 'ansi', 'ansi256', 'ansi16m']; + + // `color-convert` models to exclude from the Chalk API due to conflicts and such + const skipModels = new Set(['gray']); + + const styles = Object.create(null); + + function applyOptions(obj, options) { + options = options || {}; + + // Detect level if not set manually + const scLevel = stdoutColor ? stdoutColor.level : 0; + obj.level = options.level === undefined ? scLevel : options.level; + obj.enabled = 'enabled' in options ? options.enabled : obj.level > 0; + } + + function Chalk(options) { + // We check for this.template here since calling `chalk.constructor()` + // by itself will have a `this` of a previously constructed chalk object + if (!this || !(this instanceof Chalk) || this.template) { + const chalk = {}; + applyOptions(chalk, options); + + chalk.template = function () { + const args = [].slice.call(arguments); + return chalkTag.apply(null, [chalk.template].concat(args)); + }; + + Object.setPrototypeOf(chalk, Chalk.prototype); + Object.setPrototypeOf(chalk.template, chalk); + + chalk.template.constructor = Chalk; + + return chalk.template; + } + + applyOptions(this, options); + } + + // Use bright blue on Windows as the normal blue color is illegible + if (isSimpleWindowsTerm) { + ansiStyles.blue.open = '\u001B[94m'; + } + + for (const key of Object.keys(ansiStyles)) { + ansiStyles[key].closeRe = new RegExp(escapeStringRegexp(ansiStyles[key].close), 'g'); + + styles[key] = { + get() { + const codes = ansiStyles[key]; + return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, key); + } + }; + } + + styles.visible = { + get() { + return build.call(this, this._styles || [], true, 'visible'); + } + }; + + ansiStyles.color.closeRe = new RegExp(escapeStringRegexp(ansiStyles.color.close), 'g'); + for (const model of Object.keys(ansiStyles.color.ansi)) { + if (skipModels.has(model)) { + continue; + } + + styles[model] = { + get() { + const level = this.level; + return function () { + const open = ansiStyles.color[levelMapping[level]][model].apply(null, arguments); + const codes = { + open, + close: ansiStyles.color.close, + closeRe: ansiStyles.color.closeRe + }; + return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); + }; + } + }; + } + + ansiStyles.bgColor.closeRe = new RegExp(escapeStringRegexp(ansiStyles.bgColor.close), 'g'); + for (const model of Object.keys(ansiStyles.bgColor.ansi)) { + if (skipModels.has(model)) { + continue; + } + + const bgModel = 'bg' + model[0].toUpperCase() + model.slice(1); + styles[bgModel] = { + get() { + const level = this.level; + return function () { + const open = ansiStyles.bgColor[levelMapping[level]][model].apply(null, arguments); + const codes = { + open, + close: ansiStyles.bgColor.close, + closeRe: ansiStyles.bgColor.closeRe + }; + return build.call(this, this._styles ? this._styles.concat(codes) : [codes], this._empty, model); + }; + } + }; + } + + const proto = Object.defineProperties(() => {}, styles); + + function build(_styles, _empty, key) { + const builder = function () { + return applyStyle.apply(builder, arguments); + }; + + builder._styles = _styles; + builder._empty = _empty; + + const self = this; + + Object.defineProperty(builder, 'level', { + enumerable: true, + get() { + return self.level; + }, + set(level) { + self.level = level; + } + }); + + Object.defineProperty(builder, 'enabled', { + enumerable: true, + get() { + return self.enabled; + }, + set(enabled) { + self.enabled = enabled; + } + }); + + // See below for fix regarding invisible grey/dim combination on Windows + builder.hasGrey = this.hasGrey || key === 'gray' || key === 'grey'; + + // `__proto__` is used because we must return a function, but there is + // no way to create a function with a different prototype + builder.__proto__ = proto; // eslint-disable-line no-proto + + return builder; + } + + function applyStyle() { + // Support varags, but simply cast to string in case there's only one arg + const args = arguments; + const argsLen = args.length; + let str = String(arguments[0]); + + if (argsLen === 0) { + return ''; + } + + if (argsLen > 1) { + // Don't slice `arguments`, it prevents V8 optimizations + for (let a = 1; a < argsLen; a++) { + str += ' ' + args[a]; + } + } + + if (!this.enabled || this.level <= 0 || !str) { + return this._empty ? '' : str; + } + + // Turns out that on Windows dimmed gray text becomes invisible in cmd.exe, + // see https://github.com/chalk/chalk/issues/58 + // If we're on Windows and we're dealing with a gray color, temporarily make 'dim' a noop. + const originalDim = ansiStyles.dim.open; + if (isSimpleWindowsTerm && this.hasGrey) { + ansiStyles.dim.open = ''; + } + + for (const code of this._styles.slice().reverse()) { + // Replace any instances already present with a re-opening code + // otherwise only the part of the string until said closing code + // will be colored, and the rest will simply be 'plain'. + str = code.open + str.replace(code.closeRe, code.open) + code.close; + + // Close the styling before a linebreak and reopen + // after next line to fix a bleed issue on macOS + // https://github.com/chalk/chalk/pull/92 + str = str.replace(/\r?\n/g, `${code.close}$&${code.open}`); + } + + // Reset the original `dim` if we changed it to work around the Windows dimmed gray issue + ansiStyles.dim.open = originalDim; + + return str; + } + + function chalkTag(chalk, strings) { + if (!Array.isArray(strings)) { + // If chalk() was called by itself or with a string, + // return the string itself as a string. + return [].slice.call(arguments, 1).join(' '); + } + + const args = [].slice.call(arguments, 2); + const parts = [strings.raw[0]]; + + for (let i = 1; i < strings.length; i++) { + parts.push(String(args[i - 1]).replace(/[{}\\]/g, '\\$&')); + parts.push(String(strings.raw[i])); + } + + return template(chalk, parts.join('')); + } + + Object.defineProperties(Chalk.prototype, styles); + + module.exports = Chalk(); // eslint-disable-line new-cap + module.exports.supportsColor = stdoutColor; + module.exports.default = module.exports; // For TypeScript + + + /***/ }), + /* 81 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; + + module.exports = function (str) { + if (typeof str !== 'string') { + throw new TypeError('Expected a string'); + } + + return str.replace(matchOperatorsRe, '\\$&'); + }; + + + /***/ }), + /* 82 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + const os = __webpack_require__(83); + const hasFlag = __webpack_require__(84); + + const env = process.env; + + let forceColor; + if (hasFlag('no-color') || + hasFlag('no-colors') || + hasFlag('color=false')) { + forceColor = false; + } else if (hasFlag('color') || + hasFlag('colors') || + hasFlag('color=true') || + hasFlag('color=always')) { + forceColor = true; + } + if ('FORCE_COLOR' in env) { + forceColor = env.FORCE_COLOR.length === 0 || parseInt(env.FORCE_COLOR, 10) !== 0; + } + + function translateLevel(level) { + if (level === 0) { + return false; + } + + return { + level, + hasBasic: true, + has256: level >= 2, + has16m: level >= 3 + }; + } + + function supportsColor(stream) { + if (forceColor === false) { + return 0; + } + + if (hasFlag('color=16m') || + hasFlag('color=full') || + hasFlag('color=truecolor')) { + return 3; + } + + if (hasFlag('color=256')) { + return 2; + } + + if (stream && !stream.isTTY && forceColor !== true) { + return 0; + } + + const min = forceColor ? 1 : 0; + + if (process.platform === 'win32') { + // Node.js 7.5.0 is the first version of Node.js to include a patch to + // libuv that enables 256 color output on Windows. Anything earlier and it + // won't work. However, here we target Node.js 8 at minimum as it is an LTS + // release, and Node.js 7 is not. Windows 10 build 10586 is the first Windows + // release that supports 256 colors. Windows 10 build 14931 is the first release + // that supports 16m/TrueColor. + const osRelease = os.release().split('.'); + if ( + Number(process.versions.node.split('.')[0]) >= 8 && + Number(osRelease[0]) >= 10 && + Number(osRelease[2]) >= 10586 + ) { + return Number(osRelease[2]) >= 14931 ? 3 : 2; + } + + return 1; + } + + if ('CI' in env) { + if (['TRAVIS', 'CIRCLECI', 'APPVEYOR', 'GITLAB_CI'].some(sign => sign in env) || env.CI_NAME === 'codeship') { + return 1; + } + + return min; + } + + if ('TEAMCITY_VERSION' in env) { + return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0; + } + + if (env.COLORTERM === 'truecolor') { + return 3; + } + + if ('TERM_PROGRAM' in env) { + const version = parseInt((env.TERM_PROGRAM_VERSION || '').split('.')[0], 10); + + switch (env.TERM_PROGRAM) { + case 'iTerm.app': + return version >= 3 ? 3 : 2; + case 'Apple_Terminal': + return 2; + // No default + } + } + + if (/-256(color)?$/i.test(env.TERM)) { + return 2; + } + + if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) { + return 1; + } + + if ('COLORTERM' in env) { + return 1; + } + + if (env.TERM === 'dumb') { + return min; + } + + return min; + } + + function getSupportLevel(stream) { + const level = supportsColor(stream); + return translateLevel(level); + } + + module.exports = { + supportsColor: getSupportLevel, + stdout: getSupportLevel(process.stdout), + stderr: getSupportLevel(process.stderr) + }; + + + /***/ }), + /* 83 */ + /***/ (function(module, exports) { + + module.exports = require("os"); + + /***/ }), + /* 84 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + module.exports = (flag, argv) => { + argv = argv || process.argv; + const prefix = flag.startsWith('-') ? '' : (flag.length === 1 ? '-' : '--'); + const pos = argv.indexOf(prefix + flag); + const terminatorPos = argv.indexOf('--'); + return pos !== -1 && (terminatorPos === -1 ? true : pos < terminatorPos); + }; + + + /***/ }), + /* 85 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + const TEMPLATE_REGEX = /(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi; + const STYLE_REGEX = /(?:^|\.)(\w+)(?:\(([^)]*)\))?/g; + const STRING_REGEX = /^(['"])((?:\\.|(?!\1)[^\\])*)\1$/; + const ESCAPE_REGEX = /\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi; + + const ESCAPES = new Map([ + ['n', '\n'], + ['r', '\r'], + ['t', '\t'], + ['b', '\b'], + ['f', '\f'], + ['v', '\v'], + ['0', '\0'], + ['\\', '\\'], + ['e', '\u001B'], + ['a', '\u0007'] + ]); + + function unescape(c) { + if ((c[0] === 'u' && c.length === 5) || (c[0] === 'x' && c.length === 3)) { + return String.fromCharCode(parseInt(c.slice(1), 16)); + } + + return ESCAPES.get(c) || c; + } + + function parseArguments(name, args) { + const results = []; + const chunks = args.trim().split(/\s*,\s*/g); + let matches; + + for (const chunk of chunks) { + if (!isNaN(chunk)) { + results.push(Number(chunk)); + } else if ((matches = chunk.match(STRING_REGEX))) { + results.push(matches[2].replace(ESCAPE_REGEX, (m, escape, chr) => escape ? unescape(escape) : chr)); + } else { + throw new Error(`Invalid Chalk template style argument: ${chunk} (in style '${name}')`); + } + } + + return results; + } + + function parseStyle(style) { + STYLE_REGEX.lastIndex = 0; + + const results = []; + let matches; + + while ((matches = STYLE_REGEX.exec(style)) !== null) { + const name = matches[1]; + + if (matches[2]) { + const args = parseArguments(name, matches[2]); + results.push([name].concat(args)); + } else { + results.push([name]); + } + } + + return results; + } + + function buildStyle(chalk, styles) { + const enabled = {}; + + for (const layer of styles) { + for (const style of layer.styles) { + enabled[style[0]] = layer.inverse ? null : style.slice(1); + } + } + + let current = chalk; + for (const styleName of Object.keys(enabled)) { + if (Array.isArray(enabled[styleName])) { + if (!(styleName in current)) { + throw new Error(`Unknown Chalk style: ${styleName}`); + } + + if (enabled[styleName].length > 0) { + current = current[styleName].apply(current, enabled[styleName]); + } else { + current = current[styleName]; + } + } + } + + return current; + } + + module.exports = (chalk, tmp) => { + const styles = []; + const chunks = []; + let chunk = []; + + // eslint-disable-next-line max-params + tmp.replace(TEMPLATE_REGEX, (m, escapeChar, inverse, style, close, chr) => { + if (escapeChar) { + chunk.push(unescape(escapeChar)); + } else if (style) { + const str = chunk.join(''); + chunk = []; + chunks.push(styles.length === 0 ? str : buildStyle(chalk, styles)(str)); + styles.push({inverse, styles: parseStyle(style)}); + } else if (close) { + if (styles.length === 0) { + throw new Error('Found extraneous } in Chalk template literal'); + } + + chunks.push(buildStyle(chalk, styles)(chunk.join(''))); + chunk = []; + styles.pop(); + } else { + chunk.push(chr); + } + }); + + chunks.push(chunk.join('')); + + if (styles.length > 0) { + const errMsg = `Chalk template literal is missing ${styles.length} closing bracket${styles.length === 1 ? '' : 's'} (\`}\`)`; + throw new Error(errMsg); + } + + return chunks.join(''); + }; + + + /***/ }), + /* 86 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + + var _react = _interopRequireDefault(__webpack_require__(8)); + + var _propTypes = _interopRequireDefault(__webpack_require__(73)); + + var _arrify = _interopRequireDefault(__webpack_require__(87)); + + var _chalk = _interopRequireDefault(__webpack_require__(80)); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + + function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + + const methods = ['hex', 'hsl', 'hsv', 'hwb', 'rgb', 'keyword', 'bgHex', 'bgHsl', 'bgHsv', 'bgHwb', 'bgRgb', 'bgKeyword']; + + const Color = (_ref) => { + let { + children + } = _ref, + colorProps = _objectWithoutProperties(_ref, ["children"]); + + const transformChildren = children => { + Object.keys(colorProps).forEach(method => { + if (colorProps[method]) { + if (methods.includes(method)) { + children = _chalk.default[method](...(0, _arrify.default)(colorProps[method]))(children); + } else if (typeof _chalk.default[method] === 'function') { + children = _chalk.default[method](children); + } + } + }); + return children; + }; + + return _react.default.createElement("span", { + style: { + flexDirection: 'row' + }, + unstable__transformChildren: transformChildren + }, children); + }; + + Color.propTypes = { + children: _propTypes.default.node.isRequired + }; + var _default = Color; + exports.default = _default; + + /***/ }), + /* 87 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + module.exports = function (val) { + if (val === null || val === undefined) { + return []; + } + + return Array.isArray(val) ? val : [val]; + }; + + + /***/ }), + /* 88 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = void 0; + + var _react = _interopRequireWildcard(__webpack_require__(8)); + + var _propTypes = _interopRequireDefault(__webpack_require__(73)); + + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } } + + function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } + + function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } + + function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } + + const childrenToArray = children => Array.isArray(children) ? children : [children]; // This component allows developers to render output before main output from all the other components. + // The reason it's called is it's append-only output. Output from components + // is written permantently to stdout and is never updated afterwards. If component + // receives new children, Ink will detect the changes and write them to stdout. + // In order for this mechanism to work perfectly, children must never update their output + // once they've been appended to . + // + // A good example of where this component might be useful is interface like Jest's. + // When running tests, Jest keeps writing completed tests to output, while continuously + // rendering test stats at the end of the output. + + + class Static extends _react.Component { + constructor(...args) { + super(...args); + + _defineProperty(this, "state", { + lastIndex: null + }); + } + + render() { + const _this$props = this.props, + { + children + } = _this$props, + otherProps = _objectWithoutProperties(_this$props, ["children"]); + + const { + lastIndex + } = this.state; + let newChildren = children; + + if (typeof lastIndex === 'number') { + newChildren = childrenToArray(children).slice(lastIndex); + } + + return _react.default.createElement("div", { + unstable__static: true, + style: otherProps + }, newChildren); + } + + componentDidMount() { + this.saveLastIndex(this.props.children); + } + + componentDidUpdate(prevProps, prevState) { + if (prevState.lastIndex === this.state.lastIndex) { + this.saveLastIndex(this.props.children); + } + } + + saveLastIndex(children) { + const nextIndex = childrenToArray(children).length; + + if (this.state.lastIndex !== nextIndex) { + this.setState({ + lastIndex: nextIndex + }); + } + } + + } + + exports.default = Static; + + _defineProperty(Static, "propTypes", { + children: _propTypes.default.node + }); + + /***/ }), + /* 89 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + const ink_1 = __webpack_require__(5); + + const react_1 = __webpack_require__(8); + + exports.useListInput = function (value, values, { + active, + minus, + plus, + set + }) { + const { + stdin + } = react_1.useContext(ink_1.StdinContext); + react_1.useEffect(() => { + if (!active) return; + + const cb = (ch, key) => { + const index = values.indexOf(value); + + switch (key.name) { + case minus: + { + set(values[(values.length + index - 1) % values.length]); + } + break; + + case plus: + { + set(values[(index + 1) % values.length]); + } + break; + } + }; + + stdin.on(`keypress`, cb); + return () => { + stdin.off(`keypress`, cb); + }; + }, [values, value, active]); + }; + + /***/ }), + /* 90 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + var __importStar = this && this.__importStar || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; + }; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + const ink_1 = __webpack_require__(5); + + const react_1 = __importStar(__webpack_require__(8)); + + const useFocusRequest_1 = __webpack_require__(91); + + const useListInput_1 = __webpack_require__(89); + + exports.ScrollableItems = ({ + active = true, + children = [], + radius = 10, + size = 1, + onFocusRequest + }) => { + const getKey = child => { + if (child.key === null) { + throw new Error(`Expected all children to have a key`); + } else { + return child.key; + } + }; + + const keys = react_1.default.Children.map(children, child => getKey(child)); + const initialKey = keys[0]; + const [activeKey, setActiveKey] = react_1.useState(initialKey); + const activeIndex = keys.indexOf(activeKey); + useFocusRequest_1.useFocusRequest({ + active, + handler: onFocusRequest + }); + useListInput_1.useListInput(activeKey, keys, { + active, + minus: `up`, + plus: `down`, + set: setActiveKey + }); + let min = activeIndex - radius; + let max = activeIndex + radius; + + if (max > keys.length) { + min -= max - keys.length; + max = keys.length; + } + + if (min < 0) { + max += -min; + min = 0; + } + + if (max >= keys.length) max = keys.length - 1; + const rendered = []; + + for (let t = min; t <= max; ++t) { + const key = keys[t]; + const activeItem = active && key === activeKey; + rendered.push(react_1.default.createElement(ink_1.Box, { + key: key, + height: size + }, react_1.default.createElement(ink_1.Box, { + marginLeft: 2, + marginRight: 2 + }, activeItem ? react_1.default.createElement(ink_1.Color, { + cyan: true + }, "\u25B6") : ` `), react_1.default.createElement(ink_1.Box, null, react_1.default.cloneElement(children[t], { + active: activeItem + })))); + } + + return react_1.default.createElement(ink_1.Box, { + flexDirection: `column`, + width: `100%`, + height: radius * size * 2 + size + }, rendered); + }; + + /***/ }), + /* 91 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + const ink_1 = __webpack_require__(5); + + const react_1 = __webpack_require__(8); + + var FocusRequest; + + (function (FocusRequest) { + FocusRequest["BEFORE"] = "before"; + FocusRequest["AFTER"] = "after"; + })(FocusRequest = exports.FocusRequest || (exports.FocusRequest = {})); + + ; + + exports.useFocusRequest = function ({ + active, + handler + }) { + const { + stdin + } = react_1.useContext(ink_1.StdinContext); + react_1.useEffect(() => { + if (!active || typeof handler === `undefined`) return; + + const cb = (ch, key) => { + if (key.name === `tab`) { + if (key.shift) { + handler(FocusRequest.BEFORE); + } else { + handler(FocusRequest.AFTER); + } + } + }; + + stdin.on(`keypress`, cb); + return () => { + stdin.off(`keypress`, cb); + }; + }, [active, handler]); + }; + + /***/ }), + /* 92 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + const react_1 = __webpack_require__(8); + + const Application_1 = __webpack_require__(93); + + function useMinistore(key, initialValue) { + const ministore = react_1.useContext(Application_1.MinistoreContext); + if (ministore === null) throw new Error(`Expected this hook to run with a ministore context attached`); + if (typeof key === `undefined`) return ministore.getAll(); + const setValue = react_1.useCallback(newValue => { + ministore.set(key, newValue); + }, [key, ministore.set]); + let value = ministore.get(key); + if (typeof value === `undefined`) value = initialValue; + return [value, setValue]; + } + + exports.useMinistore = useMinistore; + ; + + /***/ }), + /* 93 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + var __importStar = this && this.__importStar || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; + }; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + const ink_1 = __webpack_require__(5); + + const react_1 = __importStar(__webpack_require__(8)); + + exports.MinistoreContext = react_1.default.createContext(null); + + exports.Application = function ({ + children + }) { + const { + setRawMode + } = react_1.useContext(ink_1.StdinContext); + react_1.useEffect(() => { + setRawMode && setRawMode(true); + }, []); + const [data, setData] = react_1.useState(new Map()); + const ministore = react_1.useMemo(() => ({ + getAll: () => data, + get: key => data.get(key), + set: (key, value) => setData(new Map([...data, [key, value]])) + }), [data, setData]); + return react_1.default.createElement(exports.MinistoreContext.Provider, { + value: ministore, + children: children + }); + }; + + /***/ }), + /* 94 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + var __importStar = this && this.__importStar || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; + }; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + const ink_1 = __webpack_require__(5); + + const react_1 = __importStar(__webpack_require__(8)); + + const Application_1 = __webpack_require__(93); + + exports.renderForm = async function (UserComponent, props) { + let returnedValue; + + const useSubmit = value => { + const { + exit + } = react_1.useContext(ink_1.AppContext); + const { + stdin + } = react_1.useContext(ink_1.StdinContext); + react_1.useEffect(() => { + const cb = (ch, key) => { + if (key.name === `return`) { + returnedValue = value; + exit(); + } + }; + + stdin.on(`keypress`, cb); + return () => { + stdin.off(`keypress`, cb); + }; + }, [stdin, exit, value]); + }; + + const { + waitUntilExit + } = ink_1.render(react_1.default.createElement(Application_1.Application, null, react_1.default.createElement(UserComponent, Object.assign({}, props, { + useSubmit: useSubmit + })))); + await waitUntilExit(); + return returnedValue; + }; + + /***/ }), + /* 95 */ + /***/ (function(module, exports) { + + module.exports = require("@yarnpkg/plugin-essentials"); + + /***/ }), + /* 96 */ + /***/ (function(module, exports) { + + module.exports = require("clipanion"); + + /***/ }), + /* 97 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /*istanbul ignore start*/ + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + Object.defineProperty(exports, "Diff", { + enumerable: true, + get: function get() { + return _base.default; + } + }); + Object.defineProperty(exports, "diffChars", { + enumerable: true, + get: function get() { + return _character.diffChars; + } + }); + Object.defineProperty(exports, "diffWords", { + enumerable: true, + get: function get() { + return _word.diffWords; + } + }); + Object.defineProperty(exports, "diffWordsWithSpace", { + enumerable: true, + get: function get() { + return _word.diffWordsWithSpace; + } + }); + Object.defineProperty(exports, "diffLines", { + enumerable: true, + get: function get() { + return _line.diffLines; + } + }); + Object.defineProperty(exports, "diffTrimmedLines", { + enumerable: true, + get: function get() { + return _line.diffTrimmedLines; + } + }); + Object.defineProperty(exports, "diffSentences", { + enumerable: true, + get: function get() { + return _sentence.diffSentences; + } + }); + Object.defineProperty(exports, "diffCss", { + enumerable: true, + get: function get() { + return _css.diffCss; + } + }); + Object.defineProperty(exports, "diffJson", { + enumerable: true, + get: function get() { + return _json.diffJson; + } + }); + Object.defineProperty(exports, "canonicalize", { + enumerable: true, + get: function get() { + return _json.canonicalize; + } + }); + Object.defineProperty(exports, "diffArrays", { + enumerable: true, + get: function get() { + return _array.diffArrays; + } + }); + Object.defineProperty(exports, "applyPatch", { + enumerable: true, + get: function get() { + return _apply.applyPatch; + } + }); + Object.defineProperty(exports, "applyPatches", { + enumerable: true, + get: function get() { + return _apply.applyPatches; + } + }); + Object.defineProperty(exports, "parsePatch", { + enumerable: true, + get: function get() { + return _parse.parsePatch; + } + }); + Object.defineProperty(exports, "merge", { + enumerable: true, + get: function get() { + return _merge.merge; + } + }); + Object.defineProperty(exports, "structuredPatch", { + enumerable: true, + get: function get() { + return _create.structuredPatch; + } + }); + Object.defineProperty(exports, "createTwoFilesPatch", { + enumerable: true, + get: function get() { + return _create.createTwoFilesPatch; + } + }); + Object.defineProperty(exports, "createPatch", { + enumerable: true, + get: function get() { + return _create.createPatch; + } + }); + Object.defineProperty(exports, "convertChangesToDMP", { + enumerable: true, + get: function get() { + return _dmp.convertChangesToDMP; + } + }); + Object.defineProperty(exports, "convertChangesToXML", { + enumerable: true, + get: function get() { + return _xml.convertChangesToXML; + } + }); + + /*istanbul ignore end*/ + var + /*istanbul ignore start*/ + _base = _interopRequireDefault(__webpack_require__(98)) + /*istanbul ignore end*/ + ; + + var + /*istanbul ignore start*/ + _character = __webpack_require__(99) + /*istanbul ignore end*/ + ; + + var + /*istanbul ignore start*/ + _word = __webpack_require__(100) + /*istanbul ignore end*/ + ; + + var + /*istanbul ignore start*/ + _line = __webpack_require__(102) + /*istanbul ignore end*/ + ; + + var + /*istanbul ignore start*/ + _sentence = __webpack_require__(103) + /*istanbul ignore end*/ + ; + + var + /*istanbul ignore start*/ + _css = __webpack_require__(104) + /*istanbul ignore end*/ + ; + + var + /*istanbul ignore start*/ + _json = __webpack_require__(105) + /*istanbul ignore end*/ + ; + + var + /*istanbul ignore start*/ + _array = __webpack_require__(106) + /*istanbul ignore end*/ + ; + + var + /*istanbul ignore start*/ + _apply = __webpack_require__(107) + /*istanbul ignore end*/ + ; + + var + /*istanbul ignore start*/ + _parse = __webpack_require__(108) + /*istanbul ignore end*/ + ; + + var + /*istanbul ignore start*/ + _merge = __webpack_require__(110) + /*istanbul ignore end*/ + ; + + var + /*istanbul ignore start*/ + _create = __webpack_require__(111) + /*istanbul ignore end*/ + ; + + var + /*istanbul ignore start*/ + _dmp = __webpack_require__(113) + /*istanbul ignore end*/ + ; + + var + /*istanbul ignore start*/ + _xml = __webpack_require__(114) + /*istanbul ignore end*/ + ; + + /*istanbul ignore start*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + /*istanbul ignore end*/ + //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdCQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUVBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBRUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBTZWUgTElDRU5TRSBmaWxlIGZvciB0ZXJtcyBvZiB1c2UgKi9cblxuLypcbiAqIFRleHQgZGlmZiBpbXBsZW1lbnRhdGlvbi5cbiAqXG4gKiBUaGlzIGxpYnJhcnkgc3VwcG9ydHMgdGhlIGZvbGxvd2luZyBBUElTOlxuICogSnNEaWZmLmRpZmZDaGFyczogQ2hhcmFjdGVyIGJ5IGNoYXJhY3RlciBkaWZmXG4gKiBKc0RpZmYuZGlmZldvcmRzOiBXb3JkIChhcyBkZWZpbmVkIGJ5IFxcYiByZWdleCkgZGlmZiB3aGljaCBpZ25vcmVzIHdoaXRlc3BhY2VcbiAqIEpzRGlmZi5kaWZmTGluZXM6IExpbmUgYmFzZWQgZGlmZlxuICpcbiAqIEpzRGlmZi5kaWZmQ3NzOiBEaWZmIHRhcmdldGVkIGF0IENTUyBjb250ZW50XG4gKlxuICogVGhlc2UgbWV0aG9kcyBhcmUgYmFzZWQgb24gdGhlIGltcGxlbWVudGF0aW9uIHByb3Bvc2VkIGluXG4gKiBcIkFuIE8oTkQpIERpZmZlcmVuY2UgQWxnb3JpdGhtIGFuZCBpdHMgVmFyaWF0aW9uc1wiIChNeWVycywgMTk4NikuXG4gKiBodHRwOi8vY2l0ZXNlZXJ4LmlzdC5wc3UuZWR1L3ZpZXdkb2Mvc3VtbWFyeT9kb2k9MTAuMS4xLjQuNjkyN1xuICovXG5pbXBvcnQgRGlmZiBmcm9tICcuL2RpZmYvYmFzZSc7XG5pbXBvcnQge2RpZmZDaGFyc30gZnJvbSAnLi9kaWZmL2NoYXJhY3Rlcic7XG5pbXBvcnQge2RpZmZXb3JkcywgZGlmZldvcmRzV2l0aFNwYWNlfSBmcm9tICcuL2RpZmYvd29yZCc7XG5pbXBvcnQge2RpZmZMaW5lcywgZGlmZlRyaW1tZWRMaW5lc30gZnJvbSAnLi9kaWZmL2xpbmUnO1xuaW1wb3J0IHtkaWZmU2VudGVuY2VzfSBmcm9tICcuL2RpZmYvc2VudGVuY2UnO1xuXG5pbXBvcnQge2RpZmZDc3N9IGZyb20gJy4vZGlmZi9jc3MnO1xuaW1wb3J0IHtkaWZmSnNvbiwgY2Fub25pY2FsaXplfSBmcm9tICcuL2RpZmYvanNvbic7XG5cbmltcG9ydCB7ZGlmZkFycmF5c30gZnJvbSAnLi9kaWZmL2FycmF5JztcblxuaW1wb3J0IHthcHBseVBhdGNoLCBhcHBseVBhdGNoZXN9IGZyb20gJy4vcGF0Y2gvYXBwbHknO1xuaW1wb3J0IHtwYXJzZVBhdGNofSBmcm9tICcuL3BhdGNoL3BhcnNlJztcbmltcG9ydCB7bWVyZ2V9IGZyb20gJy4vcGF0Y2gvbWVyZ2UnO1xuaW1wb3J0IHtzdHJ1Y3R1cmVkUGF0Y2gsIGNyZWF0ZVR3b0ZpbGVzUGF0Y2gsIGNyZWF0ZVBhdGNofSBmcm9tICcuL3BhdGNoL2NyZWF0ZSc7XG5cbmltcG9ydCB7Y29udmVydENoYW5nZXNUb0RNUH0gZnJvbSAnLi9jb252ZXJ0L2RtcCc7XG5pbXBvcnQge2NvbnZlcnRDaGFuZ2VzVG9YTUx9IGZyb20gJy4vY29udmVydC94bWwnO1xuXG5leHBvcnQge1xuICBEaWZmLFxuXG4gIGRpZmZDaGFycyxcbiAgZGlmZldvcmRzLFxuICBkaWZmV29yZHNXaXRoU3BhY2UsXG4gIGRpZmZMaW5lcyxcbiAgZGlmZlRyaW1tZWRMaW5lcyxcbiAgZGlmZlNlbnRlbmNlcyxcblxuICBkaWZmQ3NzLFxuICBkaWZmSnNvbixcblxuICBkaWZmQXJyYXlzLFxuXG4gIHN0cnVjdHVyZWRQYXRjaCxcbiAgY3JlYXRlVHdvRmlsZXNQYXRjaCxcbiAgY3JlYXRlUGF0Y2gsXG4gIGFwcGx5UGF0Y2gsXG4gIGFwcGx5UGF0Y2hlcyxcbiAgcGFyc2VQYXRjaCxcbiAgbWVyZ2UsXG4gIGNvbnZlcnRDaGFuZ2VzVG9ETVAsXG4gIGNvbnZlcnRDaGFuZ2VzVG9YTUwsXG4gIGNhbm9uaWNhbGl6ZVxufTtcbiJdfQ== + + + /***/ }), + /* 98 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /*istanbul ignore start*/ + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = Diff; + + /*istanbul ignore end*/ + function Diff() {} + + Diff.prototype = { + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + diff: function diff(oldString, newString) { + /*istanbul ignore start*/ + var + /*istanbul ignore end*/ + options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + var callback = options.callback; + + if (typeof options === 'function') { + callback = options; + options = {}; + } + + this.options = options; + var self = this; + + function done(value) { + if (callback) { + setTimeout(function () { + callback(undefined, value); + }, 0); + return true; + } else { + return value; + } + } // Allow subclasses to massage the input prior to running + + + oldString = this.castInput(oldString); + newString = this.castInput(newString); + oldString = this.removeEmpty(this.tokenize(oldString)); + newString = this.removeEmpty(this.tokenize(newString)); + var newLen = newString.length, + oldLen = oldString.length; + var editLength = 1; + var maxEditLength = newLen + oldLen; + var bestPath = [{ + newPos: -1, + components: [] + }]; // Seed editLength = 0, i.e. the content starts with the same values + + var oldPos = this.extractCommon(bestPath[0], newString, oldString, 0); + + if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) { + // Identity per the equality and tokenizer + return done([{ + value: this.join(newString), + count: newString.length + }]); + } // Main worker method. checks all permutations of a given edit length for acceptance. + + + function execEditLength() { + for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) { + var basePath = + /*istanbul ignore start*/ + void 0 + /*istanbul ignore end*/ + ; + + var addPath = bestPath[diagonalPath - 1], + removePath = bestPath[diagonalPath + 1], + _oldPos = (removePath ? removePath.newPos : 0) - diagonalPath; + + if (addPath) { + // No one else is going to attempt to use this value, clear it + bestPath[diagonalPath - 1] = undefined; + } + + var canAdd = addPath && addPath.newPos + 1 < newLen, + canRemove = removePath && 0 <= _oldPos && _oldPos < oldLen; + + if (!canAdd && !canRemove) { + // If this path is a terminal then prune + bestPath[diagonalPath] = undefined; + continue; + } // Select the diagonal that we want to branch from. We select the prior + // path whose position in the new string is the farthest from the origin + // and does not pass the bounds of the diff graph + + + if (!canAdd || canRemove && addPath.newPos < removePath.newPos) { + basePath = clonePath(removePath); + self.pushComponent(basePath.components, undefined, true); + } else { + basePath = addPath; // No need to clone, we've pulled it from the list + + basePath.newPos++; + self.pushComponent(basePath.components, true, undefined); + } + + _oldPos = self.extractCommon(basePath, newString, oldString, diagonalPath); // If we have hit the end of both strings, then we are done + + if (basePath.newPos + 1 >= newLen && _oldPos + 1 >= oldLen) { + return done(buildValues(self, basePath.components, newString, oldString, self.useLongestToken)); + } else { + // Otherwise track this path as a potential candidate and continue. + bestPath[diagonalPath] = basePath; + } + } + + editLength++; + } // Performs the length of edit iteration. Is a bit fugly as this has to support the + // sync and async mode which is never fun. Loops over execEditLength until a value + // is produced. + + + if (callback) { + (function exec() { + setTimeout(function () { + // This should not happen, but we want to be safe. + + /* istanbul ignore next */ + if (editLength > maxEditLength) { + return callback(); + } + + if (!execEditLength()) { + exec(); + } + }, 0); + })(); + } else { + while (editLength <= maxEditLength) { + var ret = execEditLength(); + + if (ret) { + return ret; + } + } + } + }, + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + pushComponent: function pushComponent(components, added, removed) { + var last = components[components.length - 1]; + + if (last && last.added === added && last.removed === removed) { + // We need to clone here as the component clone operation is just + // as shallow array clone + components[components.length - 1] = { + count: last.count + 1, + added: added, + removed: removed + }; + } else { + components.push({ + count: 1, + added: added, + removed: removed + }); + } + }, + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + extractCommon: function extractCommon(basePath, newString, oldString, diagonalPath) { + var newLen = newString.length, + oldLen = oldString.length, + newPos = basePath.newPos, + oldPos = newPos - diagonalPath, + commonCount = 0; + + while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) { + newPos++; + oldPos++; + commonCount++; + } + + if (commonCount) { + basePath.components.push({ + count: commonCount + }); + } + + basePath.newPos = newPos; + return oldPos; + }, + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + equals: function equals(left, right) { + if (this.options.comparator) { + return this.options.comparator(left, right); + } else { + return left === right || this.options.ignoreCase && left.toLowerCase() === right.toLowerCase(); + } + }, + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + removeEmpty: function removeEmpty(array) { + var ret = []; + + for (var i = 0; i < array.length; i++) { + if (array[i]) { + ret.push(array[i]); + } + } + + return ret; + }, + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + castInput: function castInput(value) { + return value; + }, + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + tokenize: function tokenize(value) { + return value.split(''); + }, + + /*istanbul ignore start*/ + + /*istanbul ignore end*/ + join: function join(chars) { + return chars.join(''); + } + }; + + function buildValues(diff, components, newString, oldString, useLongestToken) { + var componentPos = 0, + componentLen = components.length, + newPos = 0, + oldPos = 0; + + for (; componentPos < componentLen; componentPos++) { + var component = components[componentPos]; + + if (!component.removed) { + if (!component.added && useLongestToken) { + var value = newString.slice(newPos, newPos + component.count); + value = value.map(function (value, i) { + var oldValue = oldString[oldPos + i]; + return oldValue.length > value.length ? oldValue : value; + }); + component.value = diff.join(value); + } else { + component.value = diff.join(newString.slice(newPos, newPos + component.count)); + } + + newPos += component.count; // Common case + + if (!component.added) { + oldPos += component.count; + } + } else { + component.value = diff.join(oldString.slice(oldPos, oldPos + component.count)); + oldPos += component.count; // Reverse add and remove so removes are output first to match common convention + // The diffing algorithm is tied to add then remove output and this is the simplest + // route to get the desired output with minimal overhead. + + if (componentPos && components[componentPos - 1].added) { + var tmp = components[componentPos - 1]; + components[componentPos - 1] = components[componentPos]; + components[componentPos] = tmp; + } + } + } // Special case handle for when one terminal is ignored (i.e. whitespace). + // For this case we merge the terminal into the prior string and drop the change. + // This is only available for string mode. + + + var lastComponent = components[componentLen - 1]; + + if (componentLen > 1 && typeof lastComponent.value === 'string' && (lastComponent.added || lastComponent.removed) && diff.equals('', lastComponent.value)) { + components[componentLen - 2].value += lastComponent.value; + components.pop(); + } + + return components; + } + + function clonePath(path) { + return { + newPos: path.newPos, + components: path.components.slice(0) + }; + } + //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaWZmL2Jhc2UuanMiXSwibmFtZXMiOlsiRGlmZiIsInByb3RvdHlwZSIsImRpZmYiLCJvbGRTdHJpbmciLCJuZXdTdHJpbmciLCJvcHRpb25zIiwiY2FsbGJhY2siLCJzZWxmIiwiZG9uZSIsInZhbHVlIiwic2V0VGltZW91dCIsInVuZGVmaW5lZCIsImNhc3RJbnB1dCIsInJlbW92ZUVtcHR5IiwidG9rZW5pemUiLCJuZXdMZW4iLCJsZW5ndGgiLCJvbGRMZW4iLCJlZGl0TGVuZ3RoIiwibWF4RWRpdExlbmd0aCIsImJlc3RQYXRoIiwibmV3UG9zIiwiY29tcG9uZW50cyIsIm9sZFBvcyIsImV4dHJhY3RDb21tb24iLCJqb2luIiwiY291bnQiLCJleGVjRWRpdExlbmd0aCIsImRpYWdvbmFsUGF0aCIsImJhc2VQYXRoIiwiYWRkUGF0aCIsInJlbW92ZVBhdGgiLCJjYW5BZGQiLCJjYW5SZW1vdmUiLCJjbG9uZVBhdGgiLCJwdXNoQ29tcG9uZW50IiwiYnVpbGRWYWx1ZXMiLCJ1c2VMb25nZXN0VG9rZW4iLCJleGVjIiwicmV0IiwiYWRkZWQiLCJyZW1vdmVkIiwibGFzdCIsInB1c2giLCJjb21tb25Db3VudCIsImVxdWFscyIsImxlZnQiLCJyaWdodCIsImNvbXBhcmF0b3IiLCJpZ25vcmVDYXNlIiwidG9Mb3dlckNhc2UiLCJhcnJheSIsImkiLCJzcGxpdCIsImNoYXJzIiwiY29tcG9uZW50UG9zIiwiY29tcG9uZW50TGVuIiwiY29tcG9uZW50Iiwic2xpY2UiLCJtYXAiLCJvbGRWYWx1ZSIsInRtcCIsImxhc3RDb21wb25lbnQiLCJwb3AiLCJwYXRoIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBZSxTQUFTQSxJQUFULEdBQWdCLENBQUU7O0FBRWpDQSxJQUFJLENBQUNDLFNBQUwsR0FBaUI7QUFBQTs7QUFBQTtBQUNmQyxFQUFBQSxJQURlLGdCQUNWQyxTQURVLEVBQ0NDLFNBREQsRUFDMEI7QUFBQTtBQUFBO0FBQUE7QUFBZEMs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QUcsQ0FBZixJQUNHLE9BQU9NLGFBQWEsQ0FBQ3JELEtBQXJCLEtBQStCLFFBRGxDLEtBRUlxRCxhQUFhLENBQUN0QixLQUFkLElBQXVCc0IsYUFBYSxDQUFDckIsT0FGekMsS0FHR3ZDLElBQUksQ0FBQzJDLE1BQUwsQ0FBWSxFQUFaLEVBQWdCaUIsYUFBYSxDQUFDckQsS0FBOUIsQ0FIUCxFQUc2QztBQUMzQ2EsSUFBQUEsVUFBVSxDQUFDa0MsWUFBWSxHQUFHLENBQWhCLENBQVYsQ0FBNkIvQyxLQUE3QixJQUFzQ3FELGFBQWEsQ0FBQ3JELEtBQXBEO0FBQ0FhLElBQUFBLFVBQVUsQ0FBQ3lDLEdBQVg7QUFDRDs7QUFFRCxTQUFPekMsVUFBUDtBQUNEOztBQUVELFNBQVNZLFNBQVQsQ0FBbUI4QixJQUFuQixFQUF5QjtBQUN2QixTQUFPO0FBQUUzQyxJQUFBQSxNQUFNLEVBQUUyQyxJQUFJLENBQUMzQyxNQUFmO0FBQXVCQyxJQUFBQSxVQUFVLEVBQUUwQyxJQUFJLENBQUMxQyxVQUFMLENBQWdCb0MsS0FBaEIsQ0FBc0IsQ0FBdEI7QUFBbkMsR0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRGlmZigpIHt9XG5cbkRpZmYucHJvdG90eXBlID0ge1xuICBkaWZmKG9sZFN0cmluZywgbmV3U3RyaW5nLCBvcHRpb25zID0ge30pIHtcbiAgICBsZXQgY2FsbGJhY2sgPSBvcHRpb25zLmNhbGxiYWNrO1xuICAgIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY2FsbGJhY2sgPSBvcHRpb25zO1xuICAgICAgb3B0aW9ucyA9IHt9O1xuICAgIH1cbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuXG4gICAgbGV0IHNlbGYgPSB0aGlzO1xuXG4gICAgZnVuY3Rpb24gZG9uZSh2YWx1ZSkge1xuICAgICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IGNhbGxiYWNrKHVuZGVmaW5lZCwgdmFsdWUpOyB9LCAwKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxsb3cgc3ViY2xhc3NlcyB0byBtYXNzYWdlIHRoZSBpbnB1dCBwcmlvciB0byBydW5uaW5nXG4gICAgb2xkU3RyaW5nID0gdGhpcy5jYXN0SW5wdXQob2xkU3RyaW5nKTtcbiAgICBuZXdTdHJpbmcgPSB0aGlzLmNhc3RJbnB1dChuZXdTdHJpbmcpO1xuXG4gICAgb2xkU3RyaW5nID0gdGhpcy5yZW1vdmVFbXB0eSh0aGlzLnRva2VuaXplKG9sZFN0cmluZykpO1xuICAgIG5ld1N0cmluZyA9IHRoaXMucmVtb3ZlRW1wdHkodGhpcy50b2tlbml6ZShuZXdTdHJpbmcpKTtcblxuICAgIGxldCBuZXdMZW4gPSBuZXdTdHJpbmcubGVuZ3RoLCBvbGRMZW4gPSBvbGRTdHJpbmcubGVuZ3RoO1xuICAgIGxldCBlZGl0TGVuZ3RoID0gMTtcbiAgICBsZXQgbWF4RWRpdExlbmd0aCA9IG5ld0xlbiArIG9sZExlbjtcbiAgICBsZXQgYmVzdFBhdGggPSBbeyBuZXdQb3M6IC0xLCBjb21wb25lbnRzOiBbXSB9XTtcblxuICAgIC8vIFNlZWQgZWRpdExlbmd0aCA9IDAsIGkuZS4gdGhlIGNvbnRlbnQgc3RhcnRzIHdpdGggdGhlIHNhbWUgdmFsdWVzXG4gICAgbGV0IG9sZFBvcyA9IHRoaXMuZXh0cmFjdENvbW1vbihiZXN0UGF0aFswXSwgbmV3U3RyaW5nLCBvbGRTdHJpbmcsIDApO1xuICAgIGlmIChiZXN0UGF0aFswXS5uZXdQb3MgKyAxID49IG5ld0xlbiAmJiBvbGRQb3MgKyAxID49IG9sZExlbikge1xuICAgICAgLy8gSWRlbnRpdHkgcGVyIHRoZSBlcXVhbGl0eSBhbmQgdG9rZW5pemVyXG4gICAgICByZXR1cm4gZG9uZShbe3ZhbHVlOiB0aGlzLmpvaW4obmV3U3RyaW5nKSwgY291bnQ6IG5ld1N0cmluZy5sZW5ndGh9XSk7XG4gICAgfVxuXG4gICAgLy8gTWFpbiB3b3JrZXIgbWV0aG9kLiBjaGVja3MgYWxsIHBlcm11dGF0aW9ucyBvZiBhIGdpdmVuIGVkaXQgbGVuZ3RoIGZvciBhY2NlcHRhbmNlLlxuICAgIGZ1bmN0aW9uIGV4ZWNFZGl0TGVuZ3RoKCkge1xuICAgICAgZm9yIChsZXQgZGlhZ29uYWxQYXRoID0gLTEgKiBlZGl0TGVuZ3RoOyBkaWFnb25hbFBhdGggPD0gZWRpdExlbmd0aDsgZGlhZ29uYWxQYXRoICs9IDIpIHtcbiAgICAgICAgbGV0IGJhc2VQYXRoO1xuICAgICAgICBsZXQgYWRkUGF0aCA9IGJlc3RQYXRoW2RpYWdvbmFsUGF0aCAtIDFdLFxuICAgICAgICAgICAgcmVtb3ZlUGF0aCA9IGJlc3RQYXRoW2RpYWdvbmFsUGF0aCArIDFdLFxuICAgICAgICAgICAgb2xkUG9zID0gKHJlbW92ZVBhdGggPyByZW1vdmVQYXRoLm5ld1BvcyA6IDApIC0gZGlhZ29uYWxQYXRoO1xuICAgICAgICBpZiAoYWRkUGF0aCkge1xuICAgICAgICAgIC8vIE5vIG9uZSBlbHNlIGlzIGdvaW5nIHRvIGF0dGVtcHQgdG8gdXNlIHRoaXMgdmFsdWUsIGNsZWFyIGl0XG4gICAgICAgICAgYmVzdFBhdGhbZGlhZ29uYWxQYXRoIC0gMV0gPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgY2FuQWRkID0gYWRkUGF0aCAmJiBhZGRQYXRoLm5ld1BvcyArIDEgPCBuZXdMZW4sXG4gICAgICAgICAgICBjYW5SZW1vdmUgPSByZW1vdmVQYXRoICYmIDAgPD0gb2xkUG9zICYmIG9sZFBvcyA8IG9sZExlbjtcbiAgICAgICAgaWYgKCFjYW5BZGQgJiYgIWNhblJlbW92ZSkge1xuICAgICAgICAgIC8vIElmIHRoaXMgcGF0aCBpcyBhIHRlcm1pbmFsIHRoZW4gcHJ1bmVcbiAgICAgICAgICBiZXN0UGF0aFtkaWFnb25hbFBhdGhdID0gdW5kZWZpbmVkO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2VsZWN0IHRoZSBkaWFnb25hbCB0aGF0IHdlIHdhbnQgdG8gYnJhbmNoIGZyb20uIFdlIHNlbGVjdCB0aGUgcHJpb3JcbiAgICAgICAgLy8gcGF0aCB3aG9zZSBwb3NpdGlvbiBpbiB0aGUgbmV3IHN0cmluZyBpcyB0aGUgZmFydGhlc3QgZnJvbSB0aGUgb3JpZ2luXG4gICAgICAgIC8vIGFuZCBkb2VzIG5vdCBwYXNzIHRoZSBib3VuZHMgb2YgdGhlIGRpZmYgZ3JhcGhcbiAgICAgICAgaWYgKCFjYW5BZGQgfHwgKGNhblJlbW92ZSAmJiBhZGRQYXRoLm5ld1BvcyA8IHJlbW92ZVBhdGgubmV3UG9zKSkge1xuICAgICAgICAgIGJhc2VQYXRoID0gY2xvbmVQYXRoKHJlbW92ZVBhdGgpO1xuICAgICAgICAgIHNlbGYucHVzaENvbXBvbmVudChiYXNlUGF0aC5jb21wb25lbnRzLCB1bmRlZmluZWQsIHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGJhc2VQYXRoID0gYWRkUGF0aDsgLy8gTm8gbmVlZCB0byBjbG9uZSwgd2UndmUgcHVsbGVkIGl0IGZyb20gdGhlIGxpc3RcbiAgICAgICAgICBiYXNlUGF0aC5uZXdQb3MrKztcbiAgICAgICAgICBzZWxmLnB1c2hDb21wb25lbnQoYmFzZVBhdGguY29tcG9uZW50cywgdHJ1ZSwgdW5kZWZpbmVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIG9sZFBvcyA9IHNlbGYuZXh0cmFjdENvbW1vbihiYXNlUGF0aCwgbmV3U3RyaW5nLCBvbGRTdHJpbmcsIGRpYWdvbmFsUGF0aCk7XG5cbiAgICAgICAgLy8gSWYgd2UgaGF2ZSBoaXQgdGhlIGVuZCBvZiBib3RoIHN0cmluZ3MsIHRoZW4gd2UgYXJlIGRvbmVcbiAgICAgICAgaWYgKGJhc2VQYXRoLm5ld1BvcyArIDEgPj0gbmV3TGVuICYmIG9sZFBvcyArIDEgPj0gb2xkTGVuKSB7XG4gICAgICAgICAgcmV0dXJuIGRvbmUoYnVpbGRWYWx1ZXMoc2VsZiwgYmFzZVBhdGguY29tcG9uZW50cywgbmV3U3RyaW5nLCBvbGRTdHJpbmcsIHNlbGYudXNlTG9uZ2VzdFRva2VuKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gT3RoZXJ3aXNlIHRyYWNrIHRoaXMgcGF0aCBhcyBhIHBvdGVudGlhbCBjYW5kaWRhdGUgYW5kIGNvbnRpbnVlLlxuICAgICAgICAgIGJlc3RQYXRoW2RpYWdvbmFsUGF0aF0gPSBiYXNlUGF0aDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBlZGl0TGVuZ3RoKys7XG4gICAgfVxuXG4gICAgLy8gUGVyZm9ybXMgdGhlIGxlbmd0aCBvZiBlZGl0IGl0ZXJhdGlvbi4gSXMgYSBiaXQgZnVnbHkgYXMgdGhpcyBoYXMgdG8gc3VwcG9ydCB0aGVcbiAgICAvLyBzeW5jIGFuZCBhc3luYyBtb2RlIHdoaWNoIGlzIG5ldmVyIGZ1bi4gTG9vcHMgb3ZlciBleGVjRWRpdExlbmd0aCB1bnRpbCBhIHZhbHVlXG4gICAgLy8gaXMgcHJvZHVjZWQuXG4gICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAoZnVuY3Rpb24gZXhlYygpIHtcbiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtcbiAgICAgICAgICAvLyBUaGlzIHNob3VsZCBub3QgaGFwcGVuLCBidXQgd2Ugd2FudCB0byBiZSBzYWZlLlxuICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICAgICAgaWYgKGVkaXRMZW5ndGggPiBtYXhFZGl0TGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gY2FsbGJhY2soKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoIWV4ZWNFZGl0TGVuZ3RoKCkpIHtcbiAgICAgICAgICAgIGV4ZWMoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDApO1xuICAgICAgfSgpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgd2hpbGUgKGVkaXRMZW5ndGggPD0gbWF4RWRpdExlbmd0aCkge1xuICAgICAgICBsZXQgcmV0ID0gZXhlY0VkaXRMZW5ndGgoKTtcbiAgICAgICAgaWYgKHJldCkge1xuICAgICAgICAgIHJldHVybiByZXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0sXG5cbiAgcHVzaENvbXBvbmVudChjb21wb25lbnRzLCBhZGRlZCwgcmVtb3ZlZCkge1xuICAgIGxldCBsYXN0ID0gY29tcG9uZW50c1tjb21wb25lbnRzLmxlbmd0aCAtIDFdO1xuICAgIGlmIChsYXN0ICYmIGxhc3QuYWRkZWQgPT09IGFkZGVkICYmIGxhc3QucmVtb3ZlZCA9PT0gcmVtb3ZlZCkge1xuICAgICAgLy8gV2UgbmVlZCB0byBjbG9uZSBoZXJlIGFzIHRoZSBjb21wb25lbnQgY2xvbmUgb3BlcmF0aW9uIGlzIGp1c3RcbiAgICAgIC8vIGFzIHNoYWxsb3cgYXJyYXkgY2xvbmVcbiAgICAgIGNvbXBvbmVudHNbY29tcG9uZW50cy5sZW5ndGggLSAxXSA9IHtjb3VudDogbGFzdC5jb3VudCArIDEsIGFkZGVkOiBhZGRlZCwgcmVtb3ZlZDogcmVtb3ZlZCB9O1xuICAgIH0gZWxzZSB7XG4gICAgICBjb21wb25lbnRzLnB1c2goe2NvdW50OiAxLCBhZGRlZDogYWRkZWQsIHJlbW92ZWQ6IHJlbW92ZWQgfSk7XG4gICAgfVxuICB9LFxuICBleHRyYWN0Q29tbW9uKGJhc2VQYXRoLCBuZXdTdHJpbmcsIG9sZFN0cmluZywgZGlhZ29uYWxQYXRoKSB7XG4gICAgbGV0IG5ld0xlbiA9IG5ld1N0cmluZy5sZW5ndGgsXG4gICAgICAgIG9sZExlbiA9IG9sZFN0cmluZy5sZW5ndGgsXG4gICAgICAgIG5ld1BvcyA9IGJhc2VQYXRoLm5ld1BvcyxcbiAgICAgICAgb2xkUG9zID0gbmV3UG9zIC0gZGlhZ29uYWxQYXRoLFxuXG4gICAgICAgIGNvbW1vbkNvdW50ID0gMDtcbiAgICB3aGlsZSAobmV3UG9zICsgMSA8IG5ld0xlbiAmJiBvbGRQb3MgKyAxIDwgb2xkTGVuICYmIHRoaXMuZXF1YWxzKG5ld1N0cmluZ1tuZXdQb3MgKyAxXSwgb2xkU3RyaW5nW29sZFBvcyArIDFdKSkge1xuICAgICAgbmV3UG9zKys7XG4gICAgICBvbGRQb3MrKztcbiAgICAgIGNvbW1vbkNvdW50Kys7XG4gICAgfVxuXG4gICAgaWYgKGNvbW1vbkNvdW50KSB7XG4gICAgICBiYXNlUGF0aC5jb21wb25lbnRzLnB1c2goe2NvdW50OiBjb21tb25Db3VudH0pO1xuICAgIH1cblxuICAgIGJhc2VQYXRoLm5ld1BvcyA9IG5ld1BvcztcbiAgICByZXR1cm4gb2xkUG9zO1xuICB9LFxuXG4gIGVxdWFscyhsZWZ0LCByaWdodCkge1xuICAgIGlmICh0aGlzLm9wdGlvbnMuY29tcGFyYXRvcikge1xuICAgICAgcmV0dXJuIHRoaXMub3B0aW9ucy5jb21wYXJhdG9yKGxlZnQsIHJpZ2h0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGxlZnQgPT09IHJpZ2h0XG4gICAgICAgIHx8ICh0aGlzLm9wdGlvbnMuaWdub3JlQ2FzZSAmJiBsZWZ0LnRvTG93ZXJDYXNlKCkgPT09IHJpZ2h0LnRvTG93ZXJDYXNlKCkpO1xuICAgIH1cbiAgfSxcbiAgcmVtb3ZlRW1wdHkoYXJyYXkpIHtcbiAgICBsZXQgcmV0ID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKGFycmF5W2ldKSB7XG4gICAgICAgIHJldC5wdXNoKGFycmF5W2ldKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJldDtcbiAgfSxcbiAgY2FzdElucHV0KHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9LFxuICB0b2tlbml6ZSh2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZS5zcGxpdCgnJyk7XG4gIH0sXG4gIGpvaW4oY2hhcnMpIHtcbiAgICByZXR1cm4gY2hhcnMuam9pbignJyk7XG4gIH1cbn07XG5cbmZ1bmN0aW9uIGJ1aWxkVmFsdWVzKGRpZmYsIGNvbXBvbmVudHMsIG5ld1N0cmluZywgb2xkU3RyaW5nLCB1c2VMb25nZXN0VG9rZW4pIHtcbiAgbGV0IGNvbXBvbmVudFBvcyA9IDAsXG4gICAgICBjb21wb25lbnRMZW4gPSBjb21wb25lbnRzLmxlbmd0aCxcbiAgICAgIG5ld1BvcyA9IDAsXG4gICAgICBvbGRQb3MgPSAwO1xuXG4gIGZvciAoOyBjb21wb25lbnRQb3MgPCBjb21wb25lbnRMZW47IGNvbXBvbmVudFBvcysrKSB7XG4gICAgbGV0IGNvbXBvbmVudCA9IGNvbXBvbmVudHNbY29tcG9uZW50UG9zXTtcbiAgICBpZiAoIWNvbXBvbmVudC5yZW1vdmVkKSB7XG4gICAgICBpZiAoIWNvbXBvbmVudC5hZGRlZCAmJiB1c2VMb25nZXN0VG9rZW4pIHtcbiAgICAgICAgbGV0IHZhbHVlID0gbmV3U3RyaW5nLnNsaWNlKG5ld1BvcywgbmV3UG9zICsgY29tcG9uZW50LmNvdW50KTtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZS5tYXAoZnVuY3Rpb24odmFsdWUsIGkpIHtcbiAgICAgICAgICBsZXQgb2xkVmFsdWUgPSBvbGRTdHJpbmdbb2xkUG9zICsgaV07XG4gICAgICAgICAgcmV0dXJuIG9sZFZhbHVlLmxlbmd0aCA+IHZhbHVlLmxlbmd0aCA/IG9sZFZhbHVlIDogdmFsdWU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbXBvbmVudC52YWx1ZSA9IGRpZmYuam9pbih2YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb21wb25lbnQudmFsdWUgPSBkaWZmLmpvaW4obmV3U3RyaW5nLnNsaWNlKG5ld1BvcywgbmV3UG9zICsgY29tcG9uZW50LmNvdW50KSk7XG4gICAgICB9XG4gICAgICBuZXdQb3MgKz0gY29tcG9uZW50LmNvdW50O1xuXG4gICAgICAvLyBDb21tb24gY2FzZVxuICAgICAgaWYgKCFjb21wb25lbnQuYWRkZWQpIHtcbiAgICAgICAgb2xkUG9zICs9IGNvbXBvbmVudC5jb3VudDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29tcG9uZW50LnZhbHVlID0gZGlmZi5qb2luKG9sZFN0cmluZy5zbGljZShvbGRQb3MsIG9sZFBvcyArIGNvbXBvbmVudC5jb3VudCkpO1xuICAgICAgb2xkUG9zICs9IGNvbXBvbmVudC5jb3VudDtcblxuICAgICAgLy8gUmV2ZXJzZSBhZGQgYW5kIHJlbW92ZSBzbyByZW1vdmVzIGFyZSBvdXRwdXQgZmlyc3QgdG8gbWF0Y2ggY29tbW9uIGNvbnZlbnRpb25cbiAgICAgIC8vIFRoZSBkaWZmaW5nIGFsZ29yaXRobSBpcyB0aWVkIHRvIGFkZCB0aGVuIHJlbW92ZSBvdXRwdXQgYW5kIHRoaXMgaXMgdGhlIHNpbXBsZXN0XG4gICAgICAvLyByb3V0ZSB0byBnZXQgdGhlIGRlc2lyZWQgb3V0cHV0IHdpdGggbWluaW1hbCBvdmVyaGVhZC5cbiAgICAgIGlmIChjb21wb25lbnRQb3MgJiYgY29tcG9uZW50c1tjb21wb25lbnRQb3MgLSAxXS5hZGRlZCkge1xuICAgICAgICBsZXQgdG1wID0gY29tcG9uZW50c1tjb21wb25lbnRQb3MgLSAxXTtcbiAgICAgICAgY29tcG9uZW50c1tjb21wb25lbnRQb3MgLSAxXSA9IGNvbXBvbmVudHNbY29tcG9uZW50UG9zXTtcbiAgICAgICAgY29tcG9uZW50c1tjb21wb25lbnRQb3NdID0gdG1wO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpYWwgY2FzZSBoYW5kbGUgZm9yIHdoZW4gb25lIHRlcm1pbmFsIGlzIGlnbm9yZWQgKGkuZS4gd2hpdGVzcGFjZSkuXG4gIC8vIEZvciB0aGlzIGNhc2Ugd2UgbWVyZ2UgdGhlIHRlcm1pbmFsIGludG8gdGhlIHByaW9yIHN0cmluZyBhbmQgZHJvcCB0aGUgY2hhbmdlLlxuICAvLyBUaGlzIGlzIG9ubHkgYXZhaWxhYmxlIGZvciBzdHJpbmcgbW9kZS5cbiAgbGV0IGxhc3RDb21wb25lbnQgPSBjb21wb25lbnRzW2NvbXBvbmVudExlbiAtIDFdO1xuICBpZiAoY29tcG9uZW50TGVuID4gMVxuICAgICAgJiYgdHlwZW9mIGxhc3RDb21wb25lbnQudmFsdWUgPT09ICdzdHJpbmcnXG4gICAgICAmJiAobGFzdENvbXBvbmVudC5hZGRlZCB8fCBsYXN0Q29tcG9uZW50LnJlbW92ZWQpXG4gICAgICAmJiBkaWZmLmVxdWFscygnJywgbGFzdENvbXBvbmVudC52YWx1ZSkpIHtcbiAgICBjb21wb25lbnRzW2NvbXBvbmVudExlbiAtIDJdLnZhbHVlICs9IGxhc3RDb21wb25lbnQudmFsdWU7XG4gICAgY29tcG9uZW50cy5wb3AoKTtcbiAgfVxuXG4gIHJldHVybiBjb21wb25lbnRzO1xufVxuXG5mdW5jdGlvbiBjbG9uZVBhdGgocGF0aCkge1xuICByZXR1cm4geyBuZXdQb3M6IHBhdGgubmV3UG9zLCBjb21wb25lbnRzOiBwYXRoLmNvbXBvbmVudHMuc2xpY2UoMCkgfTtcbn1cbiJdfQ== + + + /***/ }), + /* 99 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /*istanbul ignore start*/ + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.diffChars = diffChars; + exports.characterDiff = void 0; + + /*istanbul ignore end*/ + var + /*istanbul ignore start*/ + _base = _interopRequireDefault(__webpack_require__(98)) + /*istanbul ignore end*/ + ; + + /*istanbul ignore start*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + /*istanbul ignore end*/ + var characterDiff = new + /*istanbul ignore start*/ + _base + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + default + /*istanbul ignore end*/ + (); + + /*istanbul ignore start*/ + exports.characterDiff = characterDiff; + + /*istanbul ignore end*/ + function diffChars(oldStr, newStr, options) { + return characterDiff.diff(oldStr, newStr, options); + } + //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaWZmL2NoYXJhY3Rlci5qcyJdLCJuYW1lcyI6WyJjaGFyYWN0ZXJEaWZmIiwiRGlmZiIsImRpZmZDaGFycyIsIm9sZFN0ciIsIm5ld1N0ciIsIm9wdGlvbnMiLCJkaWZmIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7QUFFTyxJQUFNQSxhQUFhLEdBQUc7QUFBSUM7QUFBQUE7QUFBQUE7QUFBQUE7QUFBQUE7QUFBQUE7QUFBSjtBQUFBLEVBQXRCOzs7Ozs7QUFDQSxTQUFTQyxTQUFULENBQW1CQyxNQUFuQixFQUEyQkMsTUFBM0IsRUFBbUNDLE9BQW5DLEVBQTRDO0FBQUUsU0FBT0wsYUFBYSxDQUFDTSxJQUFkLENBQW1CSCxNQUFuQixFQUEyQkMsTUFBM0IsRUFBbUNDLE9BQW5DLENBQVA7QUFBcUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRGlmZiBmcm9tICcuL2Jhc2UnO1xuXG5leHBvcnQgY29uc3QgY2hhcmFjdGVyRGlmZiA9IG5ldyBEaWZmKCk7XG5leHBvcnQgZnVuY3Rpb24gZGlmZkNoYXJzKG9sZFN0ciwgbmV3U3RyLCBvcHRpb25zKSB7IHJldHVybiBjaGFyYWN0ZXJEaWZmLmRpZmYob2xkU3RyLCBuZXdTdHIsIG9wdGlvbnMpOyB9XG4iXX0= + + + /***/ }), + /* 100 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /*istanbul ignore start*/ + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.diffWords = diffWords; + exports.diffWordsWithSpace = diffWordsWithSpace; + exports.wordDiff = void 0; + + /*istanbul ignore end*/ + var + /*istanbul ignore start*/ + _base = _interopRequireDefault(__webpack_require__(98)) + /*istanbul ignore end*/ + ; + + var + /*istanbul ignore start*/ + _params = __webpack_require__(101) + /*istanbul ignore end*/ + ; + + /*istanbul ignore start*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + /*istanbul ignore end*/ + // Based on https://en.wikipedia.org/wiki/Latin_script_in_Unicode + // + // Ranges and exceptions: + // Latin-1 Supplement, 0080–00FF + // - U+00D7 × Multiplication sign + // - U+00F7 ÷ Division sign + // Latin Extended-A, 0100–017F + // Latin Extended-B, 0180–024F + // IPA Extensions, 0250–02AF + // Spacing Modifier Letters, 02B0–02FF + // - U+02C7 ˇ ˇ Caron + // - U+02D8 ˘ ˘ Breve + // - U+02D9 ˙ ˙ Dot Above + // - U+02DA ˚ ˚ Ring Above + // - U+02DB ˛ ˛ Ogonek + // - U+02DC ˜ ˜ Small Tilde + // - U+02DD ˝ ˝ Double Acute Accent + // Latin Extended Additional, 1E00–1EFF + var extendedWordChars = /^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/; + var reWhitespace = /\S/; + var wordDiff = new + /*istanbul ignore start*/ + _base + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + default + /*istanbul ignore end*/ + (); + + /*istanbul ignore start*/ + exports.wordDiff = wordDiff; + + /*istanbul ignore end*/ + wordDiff.equals = function (left, right) { + if (this.options.ignoreCase) { + left = left.toLowerCase(); + right = right.toLowerCase(); + } + + return left === right || this.options.ignoreWhitespace && !reWhitespace.test(left) && !reWhitespace.test(right); + }; + + wordDiff.tokenize = function (value) { + var tokens = value.split(/(\s+|[()[\]{}'"]|\b)/); // Join the boundary splits that we do not consider to be boundaries. This is primarily the extended Latin character set. + + for (var i = 0; i < tokens.length - 1; i++) { + // If we have an empty string in the next field and we have only word chars before and after, merge + if (!tokens[i + 1] && tokens[i + 2] && extendedWordChars.test(tokens[i]) && extendedWordChars.test(tokens[i + 2])) { + tokens[i] += tokens[i + 2]; + tokens.splice(i + 1, 2); + i--; + } + } + + return tokens; + }; + + function diffWords(oldStr, newStr, options) { + options = + /*istanbul ignore start*/ + (0, + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + _params + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + generateOptions) + /*istanbul ignore end*/ + (options, { + ignoreWhitespace: true + }); + return wordDiff.diff(oldStr, newStr, options); + } + + function diffWordsWithSpace(oldStr, newStr, options) { + return wordDiff.diff(oldStr, newStr, options); + } + //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaWZmL3dvcmQuanMiXSwibmFtZXMiOlsiZXh0ZW5kZWRXb3JkQ2hhcnMiLCJyZVdoaXRlc3BhY2UiLCJ3b3JkRGlmZiIsIkRpZmYiLCJlcXVhbHMiLCJsZWZ0IiwicmlnaHQiLCJvcHRpb25zIiwiaWdub3JlQ2FzZSIsInRvTG93ZXJDYXNlIiwiaWdub3JlV2hpdGVzcGFjZSIsInRlc3QiLCJ0b2tlbml6ZSIsInZhbHVlIiwidG9rZW5zIiwic3BsaXQiLCJpIiwibGVuZ3RoIiwic3BsaWNlIiwiZGlmZldvcmRzIiwib2xkU3RyIiwibmV3U3RyIiwiZ2VuZXJhdGVPcHRpb25zIiwiZGlmZiIsImRpZmZXb3Jkc1dpdGhTcGFjZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBTUEsaUJBQWlCLEdBQUcsK0RBQTFCO0FBRUEsSUFBTUMsWUFBWSxHQUFHLElBQXJCO0FBRU8sSUFBTUMsUUFBUSxHQUFHO0FBQUlDO0FBQUFBO0FBQUFBO0FBQUFBO0FBQUFBO0FBQUFBO0FBQUo7QUFBQSxFQUFqQjs7Ozs7O0FBQ1BELFFBQVEsQ0FBQ0UsTUFBVCxHQUFrQixVQUFTQyxJQUFULEVBQWVDLEtBQWYsRUFBc0I7QUFDdEMsTUFBSSxLQUFLQyxPQUFMLENBQWFDLFVBQWpCLEVBQTZCO0FBQzNCSCxJQUFBQSxJQUFJLEdBQUdBLElBQUksQ0FBQ0ksV0FBTCxFQUFQO0FBQ0FILElBQUFBLEtBQUssR0FBR0EsS0FBSyxDQUFDRyxXQUFOLEVBQVI7QUFDRDs7QUFDRCxTQUFPSixJQUFJLEtBQUtDLEtBQVQsSUFBbUIsS0FBS0MsT0FBTCxDQUFhRyxnQkFBYixJQUFpQyxDQUFDVCxZQUFZLENBQUNVLElBQWIsQ0FBa0JOLElBQWxCLENBQWxDLElBQTZELENBQUNKLFlBQVksQ0FBQ1UsSUFBYixDQUFrQkwsS0FBbEIsQ0FBeEY7QUFDRCxDQU5EOztBQU9BSixRQUFRLENBQUNVLFFBQVQsR0FBb0IsVUFBU0MsS0FBVCxFQUFnQjtBQUNsQyxNQUFJQyxNQUFNLEdBQUdELEtBQUssQ0FBQ0UsS0FBTixDQUFZLHNCQUFaLENBQWIsQ0FEa0MsQ0FHbEM7O0FBQ0EsT0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHRixNQUFNLENBQUNHLE1BQVAsR0FBZ0IsQ0FBcEMsRUFBdUNELENBQUMsRUFBeEMsRUFBNEM7QUFDMUM7QUFDQSxRQUFJLENBQUNGLE1BQU0sQ0FBQ0UsQ0FBQyxHQUFHLENBQUwsQ0FBUCxJQUFrQkYsTUFBTSxDQUFDRSxDQUFDLEdBQUcsQ0FBTCxDQUF4QixJQUNLaEIsaUJBQWlCLENBQUNXLElBQWxCLENBQXVCRyxNQUFNLENBQUNFLENBQUQsQ0FBN0IsQ0FETCxJQUVLaEIsaUJBQWlCLENBQUNXLElBQWxCLENBQXVCRyxNQUFNLENBQUNFLENBQUMsR0FBRyxDQUFMLENBQTdCLENBRlQsRUFFZ0Q7QUFDOUNGLE1BQUFBLE1BQU0sQ0FBQ0UsQ0FBRCxDQUFOLElBQWFGLE1BQU0sQ0FBQ0UsQ0FBQyxHQUFHLENBQUwsQ0FBbkI7QUFDQUYsTUFBQUEsTUFBTSxDQUFDSSxNQUFQLENBQWNGLENBQUMsR0FBRyxDQUFsQixFQUFxQixDQUFyQjtBQUNBQSxNQUFBQSxDQUFDO0FBQ0Y7QUFDRjs7QUFFRCxTQUFPRixNQUFQO0FBQ0QsQ0FoQkQ7O0FBa0JPLFNBQVNLLFNBQVQsQ0FBbUJDLE1BQW5CLEVBQTJCQyxNQUEzQixFQUFtQ2QsT0FBbkMsRUFBNEM7QUFDakRBLEVBQUFBLE9BQU87QUFBRztBQUFBO0FBQUE7O0FBQUFlO0FBQUFBO0FBQUFBO0FBQUFBO0FBQUFBO0FBQUFBO0FBQUE7QUFBQSxHQUFnQmYsT0FBaEIsRUFBeUI7QUFBQ0csSUFBQUEsZ0JBQWdCLEVBQUU7QUFBbkIsR0FBekIsQ0FBVjtBQUNBLFNBQU9SLFFBQVEsQ0FBQ3FCLElBQVQsQ0FBY0gsTUFBZCxFQUFzQkMsTUFBdEIsRUFBOEJkLE9BQTlCLENBQVA7QUFDRDs7QUFFTSxTQUFTaUIsa0JBQVQsQ0FBNEJKLE1BQTVCLEVBQW9DQyxNQUFwQyxFQUE0Q2QsT0FBNUMsRUFBcUQ7QUFDMUQsU0FBT0wsUUFBUSxDQUFDcUIsSUFBVCxDQUFjSCxNQUFkLEVBQXNCQyxNQUF0QixFQUE4QmQsT0FBOUIsQ0FBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IERpZmYgZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7Z2VuZXJhdGVPcHRpb25zfSBmcm9tICcuLi91dGlsL3BhcmFtcyc7XG5cbi8vIEJhc2VkIG9uIGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0xhdGluX3NjcmlwdF9pbl9Vbmljb2RlXG4vL1xuLy8gUmFuZ2VzIGFuZCBleGNlcHRpb25zOlxuLy8gTGF0aW4tMSBTdXBwbGVtZW50LCAwMDgw4oCTMDBGRlxuLy8gIC0gVSswMEQ3ICDDlyBNdWx0aXBsaWNhdGlvbiBzaWduXG4vLyAgLSBVKzAwRjcgIMO3IERpdmlzaW9uIHNpZ25cbi8vIExhdGluIEV4dGVuZGVkLUEsIDAxMDDigJMwMTdGXG4vLyBMYXRpbiBFeHRlbmRlZC1CLCAwMTgw4oCTMDI0RlxuLy8gSVBBIEV4dGVuc2lvbnMsIDAyNTDigJMwMkFGXG4vLyBTcGFjaW5nIE1vZGlmaWVyIExldHRlcnMsIDAyQjDigJMwMkZGXG4vLyAgLSBVKzAyQzcgIMuHICYjNzExOyAgQ2Fyb25cbi8vICAtIFUrMDJEOCAgy5ggJiM3Mjg7ICBCcmV2ZVxuLy8gIC0gVSswMkQ5ICDLmSAmIzcyOTsgIERvdCBBYm92ZVxuLy8gIC0gVSswMkRBICDLmiAmIzczMDsgIFJpbmcgQWJvdmVcbi8vICAtIFUrMDJEQiAgy5sgJiM3MzE7ICBPZ29uZWtcbi8vICAtIFUrMDJEQyAgy5wgJiM3MzI7ICBTbWFsbCBUaWxkZVxuLy8gIC0gVSswMkREICDLnSAmIzczMzsgIERvdWJsZSBBY3V0ZSBBY2NlbnRcbi8vIExhdGluIEV4dGVuZGVkIEFkZGl0aW9uYWwsIDFFMDDigJMxRUZGXG5jb25zdCBleHRlbmRlZFdvcmRDaGFycyA9IC9eW2EtekEtWlxcdXtDMH0tXFx1e0ZGfVxcdXtEOH0tXFx1e0Y2fVxcdXtGOH0tXFx1ezJDNn1cXHV7MkM4fS1cXHV7MkQ3fVxcdXsyREV9LVxcdXsyRkZ9XFx1ezFFMDB9LVxcdXsxRUZGfV0rJC91O1xuXG5jb25zdCByZVdoaXRlc3BhY2UgPSAvXFxTLztcblxuZXhwb3J0IGNvbnN0IHdvcmREaWZmID0gbmV3IERpZmYoKTtcbndvcmREaWZmLmVxdWFscyA9IGZ1bmN0aW9uKGxlZnQsIHJpZ2h0KSB7XG4gIGlmICh0aGlzLm9wdGlvbnMuaWdub3JlQ2FzZSkge1xuICAgIGxlZnQgPSBsZWZ0LnRvTG93ZXJDYXNlKCk7XG4gICAgcmlnaHQgPSByaWdodC50b0xvd2VyQ2FzZSgpO1xuICB9XG4gIHJldHVybiBsZWZ0ID09PSByaWdodCB8fCAodGhpcy5vcHRpb25zLmlnbm9yZVdoaXRlc3BhY2UgJiYgIXJlV2hpdGVzcGFjZS50ZXN0KGxlZnQpICYmICFyZVdoaXRlc3BhY2UudGVzdChyaWdodCkpO1xufTtcbndvcmREaWZmLnRva2VuaXplID0gZnVuY3Rpb24odmFsdWUpIHtcbiAgbGV0IHRva2VucyA9IHZhbHVlLnNwbGl0KC8oXFxzK3xbKClbXFxde30nXCJdfFxcYikvKTtcblxuICAvLyBKb2luIHRoZSBib3VuZGFyeSBzcGxpdHMgdGhhdCB3ZSBkbyBub3QgY29uc2lkZXIgdG8gYmUgYm91bmRhcmllcy4gVGhpcyBpcyBwcmltYXJpbHkgdGhlIGV4dGVuZGVkIExhdGluIGNoYXJhY3RlciBzZXQuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgdG9rZW5zLmxlbmd0aCAtIDE7IGkrKykge1xuICAgIC8vIElmIHdlIGhhdmUgYW4gZW1wdHkgc3RyaW5nIGluIHRoZSBuZXh0IGZpZWxkIGFuZCB3ZSBoYXZlIG9ubHkgd29yZCBjaGFycyBiZWZvcmUgYW5kIGFmdGVyLCBtZXJnZVxuICAgIGlmICghdG9rZW5zW2kgKyAxXSAmJiB0b2tlbnNbaSArIDJdXG4gICAgICAgICAgJiYgZXh0ZW5kZWRXb3JkQ2hhcnMudGVzdCh0b2tlbnNbaV0pXG4gICAgICAgICAgJiYgZXh0ZW5kZWRXb3JkQ2hhcnMudGVzdCh0b2tlbnNbaSArIDJdKSkge1xuICAgICAgdG9rZW5zW2ldICs9IHRva2Vuc1tpICsgMl07XG4gICAgICB0b2tlbnMuc3BsaWNlKGkgKyAxLCAyKTtcbiAgICAgIGktLTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdG9rZW5zO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGRpZmZXb3JkcyhvbGRTdHIsIG5ld1N0ciwgb3B0aW9ucykge1xuICBvcHRpb25zID0gZ2VuZXJhdGVPcHRpb25zKG9wdGlvbnMsIHtpZ25vcmVXaGl0ZXNwYWNlOiB0cnVlfSk7XG4gIHJldHVybiB3b3JkRGlmZi5kaWZmKG9sZFN0ciwgbmV3U3RyLCBvcHRpb25zKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRpZmZXb3Jkc1dpdGhTcGFjZShvbGRTdHIsIG5ld1N0ciwgb3B0aW9ucykge1xuICByZXR1cm4gd29yZERpZmYuZGlmZihvbGRTdHIsIG5ld1N0ciwgb3B0aW9ucyk7XG59XG4iXX0= + + + /***/ }), + /* 101 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /*istanbul ignore start*/ + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.generateOptions = generateOptions; + + /*istanbul ignore end*/ + function generateOptions(options, defaults) { + if (typeof options === 'function') { + defaults.callback = options; + } else if (options) { + for (var name in options) { + /* istanbul ignore else */ + if (options.hasOwnProperty(name)) { + defaults[name] = options[name]; + } + } + } + + return defaults; + } + //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL3BhcmFtcy5qcyJdLCJuYW1lcyI6WyJnZW5lcmF0ZU9wdGlvbnMiLCJvcHRpb25zIiwiZGVmYXVsdHMiLCJjYWxsYmFjayIsIm5hbWUiLCJoYXNPd25Qcm9wZXJ0eSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQU8sU0FBU0EsZUFBVCxDQUF5QkMsT0FBekIsRUFBa0NDLFFBQWxDLEVBQTRDO0FBQ2pELE1BQUksT0FBT0QsT0FBUCxLQUFtQixVQUF2QixFQUFtQztBQUNqQ0MsSUFBQUEsUUFBUSxDQUFDQyxRQUFULEdBQW9CRixPQUFwQjtBQUNELEdBRkQsTUFFTyxJQUFJQSxPQUFKLEVBQWE7QUFDbEIsU0FBSyxJQUFJRyxJQUFULElBQWlCSCxPQUFqQixFQUEwQjtBQUN4QjtBQUNBLFVBQUlBLE9BQU8sQ0FBQ0ksY0FBUixDQUF1QkQsSUFBdkIsQ0FBSixFQUFrQztBQUNoQ0YsUUFBQUEsUUFBUSxDQUFDRSxJQUFELENBQVIsR0FBaUJILE9BQU8sQ0FBQ0csSUFBRCxDQUF4QjtBQUNEO0FBQ0Y7QUFDRjs7QUFDRCxTQUFPRixRQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGVPcHRpb25zKG9wdGlvbnMsIGRlZmF1bHRzKSB7XG4gIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGRlZmF1bHRzLmNhbGxiYWNrID0gb3B0aW9ucztcbiAgfSBlbHNlIGlmIChvcHRpb25zKSB7XG4gICAgZm9yIChsZXQgbmFtZSBpbiBvcHRpb25zKSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKG9wdGlvbnMuaGFzT3duUHJvcGVydHkobmFtZSkpIHtcbiAgICAgICAgZGVmYXVsdHNbbmFtZV0gPSBvcHRpb25zW25hbWVdO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gZGVmYXVsdHM7XG59XG4iXX0= + + + /***/ }), + /* 102 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /*istanbul ignore start*/ + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.diffLines = diffLines; + exports.diffTrimmedLines = diffTrimmedLines; + exports.lineDiff = void 0; + + /*istanbul ignore end*/ + var + /*istanbul ignore start*/ + _base = _interopRequireDefault(__webpack_require__(98)) + /*istanbul ignore end*/ + ; + + var + /*istanbul ignore start*/ + _params = __webpack_require__(101) + /*istanbul ignore end*/ + ; + + /*istanbul ignore start*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + /*istanbul ignore end*/ + var lineDiff = new + /*istanbul ignore start*/ + _base + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + default + /*istanbul ignore end*/ + (); + + /*istanbul ignore start*/ + exports.lineDiff = lineDiff; + + /*istanbul ignore end*/ + lineDiff.tokenize = function (value) { + var retLines = [], + linesAndNewlines = value.split(/(\n|\r\n)/); // Ignore the final empty token that occurs if the string ends with a new line + + if (!linesAndNewlines[linesAndNewlines.length - 1]) { + linesAndNewlines.pop(); + } // Merge the content and line separators into single tokens + + + for (var i = 0; i < linesAndNewlines.length; i++) { + var line = linesAndNewlines[i]; + + if (i % 2 && !this.options.newlineIsToken) { + retLines[retLines.length - 1] += line; + } else { + if (this.options.ignoreWhitespace) { + line = line.trim(); + } + + retLines.push(line); + } + } + + return retLines; + }; + + function diffLines(oldStr, newStr, callback) { + return lineDiff.diff(oldStr, newStr, callback); + } + + function diffTrimmedLines(oldStr, newStr, callback) { + var options = + /*istanbul ignore start*/ + (0, + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + _params + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + generateOptions) + /*istanbul ignore end*/ + (callback, { + ignoreWhitespace: true + }); + return lineDiff.diff(oldStr, newStr, options); + } + //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaWZmL2xpbmUuanMiXSwibmFtZXMiOlsibGluZURpZmYiLCJEaWZmIiwidG9rZW5pemUiLCJ2YWx1ZSIsInJldExpbmVzIiwibGluZXNBbmROZXdsaW5lcyIsInNwbGl0IiwibGVuZ3RoIiwicG9wIiwiaSIsImxpbmUiLCJvcHRpb25zIiwibmV3bGluZUlzVG9rZW4iLCJpZ25vcmVXaGl0ZXNwYWNlIiwidHJpbSIsInB1c2giLCJkaWZmTGluZXMiLCJvbGRTdHIiLCJuZXdTdHIiLCJjYWxsYmFjayIsImRpZmYiLCJkaWZmVHJpbW1lZExpbmVzIiwiZ2VuZXJhdGVPcHRpb25zIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7QUFFTyxJQUFNQSxRQUFRLEdBQUc7QUFBSUM7QUFBQUE7QUFBQUE7QUFBQUE7QUFBQUE7QUFBQUE7QUFBSjtBQUFBLEVBQWpCOzs7Ozs7QUFDUEQsUUFBUSxDQUFDRSxRQUFULEdBQW9CLFVBQVNDLEtBQVQsRUFBZ0I7QUFDbEMsTUFBSUMsUUFBUSxHQUFHLEVBQWY7QUFBQSxNQUNJQyxnQkFBZ0IsR0FBR0YsS0FBSyxDQUFDRyxLQUFOLENBQVksV0FBWixDQUR2QixDQURrQyxDQUlsQzs7QUFDQSxNQUFJLENBQUNELGdCQUFnQixDQUFDQSxnQkFBZ0IsQ0FBQ0UsTUFBakIsR0FBMEIsQ0FBM0IsQ0FBckIsRUFBb0Q7QUFDbERGLElBQUFBLGdCQUFnQixDQUFDRyxHQUFqQjtBQUNELEdBUGlDLENBU2xDOzs7QUFDQSxPQUFLLElBQUlDLENBQUMsR0FBRyxDQUFiLEVBQWdCQSxDQUFDLEdBQUdKLGdCQUFnQixDQUFDRSxNQUFyQyxFQUE2Q0UsQ0FBQyxFQUE5QyxFQUFrRDtBQUNoRCxRQUFJQyxJQUFJLEdBQUdMLGdCQUFnQixDQUFDSSxDQUFELENBQTNCOztBQUVBLFFBQUlBLENBQUMsR0FBRyxDQUFKLElBQVMsQ0FBQyxLQUFLRSxPQUFMLENBQWFDLGNBQTNCLEVBQTJDO0FBQ3pDUixNQUFBQSxRQUFRLENBQUNBLFFBQVEsQ0FBQ0csTUFBVCxHQUFrQixDQUFuQixDQUFSLElBQWlDRyxJQUFqQztBQUNELEtBRkQsTUFFTztBQUNMLFVBQUksS0FBS0MsT0FBTCxDQUFhRSxnQkFBakIsRUFBbUM7QUFDakNILFFBQUFBLElBQUksR0FBR0EsSUFBSSxDQUFDSSxJQUFMLEVBQVA7QUFDRDs7QUFDRFYsTUFBQUEsUUFBUSxDQUFDVyxJQUFULENBQWNMLElBQWQ7QUFDRDtBQUNGOztBQUVELFNBQU9OLFFBQVA7QUFDRCxDQXhCRDs7QUEwQk8sU0FBU1ksU0FBVCxDQUFtQkMsTUFBbkIsRUFBMkJDLE1BQTNCLEVBQW1DQyxRQUFuQyxFQUE2QztBQUFFLFNBQU9uQixRQUFRLENBQUNvQixJQUFULENBQWNILE1BQWQsRUFBc0JDLE1BQXRCLEVBQThCQyxRQUE5QixDQUFQO0FBQWlEOztBQUNoRyxTQUFTRSxnQkFBVCxDQUEwQkosTUFBMUIsRUFBa0NDLE1BQWxDLEVBQTBDQyxRQUExQyxFQUFvRDtBQUN6RCxNQUFJUixPQUFPO0FBQUc7QUFBQTtBQUFBOztBQUFBVztBQUFBQTtBQUFBQTtBQUFBQTtBQUFBQTtBQUFBQTtBQUFBO0FBQUEsR0FBZ0JILFFBQWhCLEVBQTBCO0FBQUNOLElBQUFBLGdCQUFnQixFQUFFO0FBQW5CLEdBQTFCLENBQWQ7QUFDQSxTQUFPYixRQUFRLENBQUNvQixJQUFULENBQWNILE1BQWQsRUFBc0JDLE1BQXRCLEVBQThCUCxPQUE5QixDQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRGlmZiBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IHtnZW5lcmF0ZU9wdGlvbnN9IGZyb20gJy4uL3V0aWwvcGFyYW1zJztcblxuZXhwb3J0IGNvbnN0IGxpbmVEaWZmID0gbmV3IERpZmYoKTtcbmxpbmVEaWZmLnRva2VuaXplID0gZnVuY3Rpb24odmFsdWUpIHtcbiAgbGV0IHJldExpbmVzID0gW10sXG4gICAgICBsaW5lc0FuZE5ld2xpbmVzID0gdmFsdWUuc3BsaXQoLyhcXG58XFxyXFxuKS8pO1xuXG4gIC8vIElnbm9yZSB0aGUgZmluYWwgZW1wdHkgdG9rZW4gdGhhdCBvY2N1cnMgaWYgdGhlIHN0cmluZyBlbmRzIHdpdGggYSBuZXcgbGluZVxuICBpZiAoIWxpbmVzQW5kTmV3bGluZXNbbGluZXNBbmROZXdsaW5lcy5sZW5ndGggLSAxXSkge1xuICAgIGxpbmVzQW5kTmV3bGluZXMucG9wKCk7XG4gIH1cblxuICAvLyBNZXJnZSB0aGUgY29udGVudCBhbmQgbGluZSBzZXBhcmF0b3JzIGludG8gc2luZ2xlIHRva2Vuc1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGxpbmVzQW5kTmV3bGluZXMubGVuZ3RoOyBpKyspIHtcbiAgICBsZXQgbGluZSA9IGxpbmVzQW5kTmV3bGluZXNbaV07XG5cbiAgICBpZiAoaSAlIDIgJiYgIXRoaXMub3B0aW9ucy5uZXdsaW5lSXNUb2tlbikge1xuICAgICAgcmV0TGluZXNbcmV0TGluZXMubGVuZ3RoIC0gMV0gKz0gbGluZTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMub3B0aW9ucy5pZ25vcmVXaGl0ZXNwYWNlKSB7XG4gICAgICAgIGxpbmUgPSBsaW5lLnRyaW0oKTtcbiAgICAgIH1cbiAgICAgIHJldExpbmVzLnB1c2gobGluZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJldExpbmVzO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGRpZmZMaW5lcyhvbGRTdHIsIG5ld1N0ciwgY2FsbGJhY2spIHsgcmV0dXJuIGxpbmVEaWZmLmRpZmYob2xkU3RyLCBuZXdTdHIsIGNhbGxiYWNrKTsgfVxuZXhwb3J0IGZ1bmN0aW9uIGRpZmZUcmltbWVkTGluZXMob2xkU3RyLCBuZXdTdHIsIGNhbGxiYWNrKSB7XG4gIGxldCBvcHRpb25zID0gZ2VuZXJhdGVPcHRpb25zKGNhbGxiYWNrLCB7aWdub3JlV2hpdGVzcGFjZTogdHJ1ZX0pO1xuICByZXR1cm4gbGluZURpZmYuZGlmZihvbGRTdHIsIG5ld1N0ciwgb3B0aW9ucyk7XG59XG4iXX0= + + + /***/ }), + /* 103 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /*istanbul ignore start*/ + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.diffSentences = diffSentences; + exports.sentenceDiff = void 0; + + /*istanbul ignore end*/ + var + /*istanbul ignore start*/ + _base = _interopRequireDefault(__webpack_require__(98)) + /*istanbul ignore end*/ + ; + + /*istanbul ignore start*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + /*istanbul ignore end*/ + var sentenceDiff = new + /*istanbul ignore start*/ + _base + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + default + /*istanbul ignore end*/ + (); + + /*istanbul ignore start*/ + exports.sentenceDiff = sentenceDiff; + + /*istanbul ignore end*/ + sentenceDiff.tokenize = function (value) { + return value.split(/(\S.+?[.!?])(?=\s+|$)/); + }; + + function diffSentences(oldStr, newStr, callback) { + return sentenceDiff.diff(oldStr, newStr, callback); + } + //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaWZmL3NlbnRlbmNlLmpzIl0sIm5hbWVzIjpbInNlbnRlbmNlRGlmZiIsIkRpZmYiLCJ0b2tlbml6ZSIsInZhbHVlIiwic3BsaXQiLCJkaWZmU2VudGVuY2VzIiwib2xkU3RyIiwibmV3U3RyIiwiY2FsbGJhY2siLCJkaWZmIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7QUFHTyxJQUFNQSxZQUFZLEdBQUc7QUFBSUM7QUFBQUE7QUFBQUE7QUFBQUE7QUFBQUE7QUFBQUE7QUFBSjtBQUFBLEVBQXJCOzs7Ozs7QUFDUEQsWUFBWSxDQUFDRSxRQUFiLEdBQXdCLFVBQVNDLEtBQVQsRUFBZ0I7QUFDdEMsU0FBT0EsS0FBSyxDQUFDQyxLQUFOLENBQVksdUJBQVosQ0FBUDtBQUNELENBRkQ7O0FBSU8sU0FBU0MsYUFBVCxDQUF1QkMsTUFBdkIsRUFBK0JDLE1BQS9CLEVBQXVDQyxRQUF2QyxFQUFpRDtBQUFFLFNBQU9SLFlBQVksQ0FBQ1MsSUFBYixDQUFrQkgsTUFBbEIsRUFBMEJDLE1BQTFCLEVBQWtDQyxRQUFsQyxDQUFQO0FBQXFEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IERpZmYgZnJvbSAnLi9iYXNlJztcblxuXG5leHBvcnQgY29uc3Qgc2VudGVuY2VEaWZmID0gbmV3IERpZmYoKTtcbnNlbnRlbmNlRGlmZi50b2tlbml6ZSA9IGZ1bmN0aW9uKHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZS5zcGxpdCgvKFxcUy4rP1suIT9dKSg/PVxccyt8JCkvKTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBkaWZmU2VudGVuY2VzKG9sZFN0ciwgbmV3U3RyLCBjYWxsYmFjaykgeyByZXR1cm4gc2VudGVuY2VEaWZmLmRpZmYob2xkU3RyLCBuZXdTdHIsIGNhbGxiYWNrKTsgfVxuIl19 + + + /***/ }), + /* 104 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /*istanbul ignore start*/ + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.diffCss = diffCss; + exports.cssDiff = void 0; + + /*istanbul ignore end*/ + var + /*istanbul ignore start*/ + _base = _interopRequireDefault(__webpack_require__(98)) + /*istanbul ignore end*/ + ; + + /*istanbul ignore start*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + /*istanbul ignore end*/ + var cssDiff = new + /*istanbul ignore start*/ + _base + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + default + /*istanbul ignore end*/ + (); + + /*istanbul ignore start*/ + exports.cssDiff = cssDiff; + + /*istanbul ignore end*/ + cssDiff.tokenize = function (value) { + return value.split(/([{}:;,]|\s+)/); + }; + + function diffCss(oldStr, newStr, callback) { + return cssDiff.diff(oldStr, newStr, callback); + } + //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaWZmL2Nzcy5qcyJdLCJuYW1lcyI6WyJjc3NEaWZmIiwiRGlmZiIsInRva2VuaXplIiwidmFsdWUiLCJzcGxpdCIsImRpZmZDc3MiLCJvbGRTdHIiLCJuZXdTdHIiLCJjYWxsYmFjayIsImRpZmYiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7OztBQUVPLElBQU1BLE9BQU8sR0FBRztBQUFJQztBQUFBQTtBQUFBQTtBQUFBQTtBQUFBQTtBQUFBQTtBQUFKO0FBQUEsRUFBaEI7Ozs7OztBQUNQRCxPQUFPLENBQUNFLFFBQVIsR0FBbUIsVUFBU0MsS0FBVCxFQUFnQjtBQUNqQyxTQUFPQSxLQUFLLENBQUNDLEtBQU4sQ0FBWSxlQUFaLENBQVA7QUFDRCxDQUZEOztBQUlPLFNBQVNDLE9BQVQsQ0FBaUJDLE1BQWpCLEVBQXlCQyxNQUF6QixFQUFpQ0MsUUFBakMsRUFBMkM7QUFBRSxTQUFPUixPQUFPLENBQUNTLElBQVIsQ0FBYUgsTUFBYixFQUFxQkMsTUFBckIsRUFBNkJDLFFBQTdCLENBQVA7QUFBZ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRGlmZiBmcm9tICcuL2Jhc2UnO1xuXG5leHBvcnQgY29uc3QgY3NzRGlmZiA9IG5ldyBEaWZmKCk7XG5jc3NEaWZmLnRva2VuaXplID0gZnVuY3Rpb24odmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlLnNwbGl0KC8oW3t9OjssXXxcXHMrKS8pO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGRpZmZDc3Mob2xkU3RyLCBuZXdTdHIsIGNhbGxiYWNrKSB7IHJldHVybiBjc3NEaWZmLmRpZmYob2xkU3RyLCBuZXdTdHIsIGNhbGxiYWNrKTsgfVxuIl19 + + + /***/ }), + /* 105 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /*istanbul ignore start*/ + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.diffJson = diffJson; + exports.canonicalize = canonicalize; + exports.jsonDiff = void 0; + + /*istanbul ignore end*/ + var + /*istanbul ignore start*/ + _base = _interopRequireDefault(__webpack_require__(98)) + /*istanbul ignore end*/ + ; + + var + /*istanbul ignore start*/ + _line = __webpack_require__(102) + /*istanbul ignore end*/ + ; + + /*istanbul ignore start*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } + + /*istanbul ignore end*/ + var objectPrototypeToString = Object.prototype.toString; + var jsonDiff = new + /*istanbul ignore start*/ + _base + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + default + /*istanbul ignore end*/ + (); // Discriminate between two lines of pretty-printed, serialized JSON where one of them has a + // dangling comma and the other doesn't. Turns out including the dangling comma yields the nicest output: + + /*istanbul ignore start*/ + exports.jsonDiff = jsonDiff; + + /*istanbul ignore end*/ + jsonDiff.useLongestToken = true; + jsonDiff.tokenize = + /*istanbul ignore start*/ + _line + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + lineDiff + /*istanbul ignore end*/ + .tokenize; + + jsonDiff.castInput = function (value) { + /*istanbul ignore start*/ + var _this$options = + /*istanbul ignore end*/ + this.options, + undefinedReplacement = _this$options.undefinedReplacement, + _this$options$stringi = _this$options.stringifyReplacer, + stringifyReplacer = _this$options$stringi === void 0 ? function (k, v) + /*istanbul ignore start*/ + { + return ( + /*istanbul ignore end*/ + typeof v === 'undefined' ? undefinedReplacement : v + ); + } : _this$options$stringi; + return typeof value === 'string' ? value : JSON.stringify(canonicalize(value, null, null, stringifyReplacer), stringifyReplacer, ' '); + }; + + jsonDiff.equals = function (left, right) { + return ( + /*istanbul ignore start*/ + _base + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + default + /*istanbul ignore end*/ + .prototype.equals.call(jsonDiff, left.replace(/,([\r\n])/g, '$1'), right.replace(/,([\r\n])/g, '$1')) + ); + }; + + function diffJson(oldObj, newObj, options) { + return jsonDiff.diff(oldObj, newObj, options); + } // This function handles the presence of circular references by bailing out when encountering an + // object that is already on the "stack" of items being processed. Accepts an optional replacer + + + function canonicalize(obj, stack, replacementStack, replacer, key) { + stack = stack || []; + replacementStack = replacementStack || []; + + if (replacer) { + obj = replacer(key, obj); + } + + var i; + + for (i = 0; i < stack.length; i += 1) { + if (stack[i] === obj) { + return replacementStack[i]; + } + } + + var canonicalizedObj; + + if ('[object Array]' === objectPrototypeToString.call(obj)) { + stack.push(obj); + canonicalizedObj = new Array(obj.length); + replacementStack.push(canonicalizedObj); + + for (i = 0; i < obj.length; i += 1) { + canonicalizedObj[i] = canonicalize(obj[i], stack, replacementStack, replacer, key); + } + + stack.pop(); + replacementStack.pop(); + return canonicalizedObj; + } + + if (obj && obj.toJSON) { + obj = obj.toJSON(); + } + + if ( + /*istanbul ignore start*/ + _typeof( + /*istanbul ignore end*/ + obj) === 'object' && obj !== null) { + stack.push(obj); + canonicalizedObj = {}; + replacementStack.push(canonicalizedObj); + + var sortedKeys = [], + _key; + + for (_key in obj) { + /* istanbul ignore else */ + if (obj.hasOwnProperty(_key)) { + sortedKeys.push(_key); + } + } + + sortedKeys.sort(); + + for (i = 0; i < sortedKeys.length; i += 1) { + _key = sortedKeys[i]; + canonicalizedObj[_key] = canonicalize(obj[_key], stack, replacementStack, replacer, _key); + } + + stack.pop(); + replacementStack.pop(); + } else { + canonicalizedObj = obj; + } + + return canonicalizedObj; + } + //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaWZmL2pzb24uanMiXSwibmFtZXMiOlsib2JqZWN0UHJvdG90eXBlVG9TdHJpbmciLCJPYmplY3QiLCJwcm90b3R5cGUiLCJ0b1N0cmluZyIsImpzb25EaWZmIiwiRGlmZiIsInVzZUxvbmdlc3RUb2tlbiIsInRva2VuaXplIiwibGluZURpZmYiLCJjYXN0SW5wdXQiLCJ2YWx1ZSIsIm9wdGlvbnMiLCJ1bmRlZmluZWRSZXBsYWNlbWVudCIsInN0cmluZ2lmeVJlcGxhY2VyIiwiayIsInYiLCJKU09OIiwic3RyaW5naWZ5IiwiY2Fub25pY2FsaXplIiwiZXF1YWxzIiwibGVmdCIsInJpZ2h0IiwiY2FsbCIsInJlcGxhY2UiLCJkaWZmSnNvbiIsIm9sZE9iaiIsIm5ld09iaiIsImRpZmYiLCJvYmoiLCJzdGFjayIsInJlcGxhY2VtZW50U3RhY2siLCJyZXBsYWNlciIsImtleSIsImkiLCJsZW5ndGgiLCJjYW5vbmljYWxpemVkT2JqIiwicHVzaCIsIkFycmF5IiwicG9wIiwidG9KU09OIiwic29ydGVkS2V5cyIsImhhc093blByb3BlcnR5Iiwic29ydCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7QUFFQSxJQUFNQSx1QkFBdUIsR0FBR0MsTUFBTSxDQUFDQyxTQUFQLENBQWlCQyxRQUFqRDtBQUdPLElBQU1DLFFBQVEsR0FBRztBQUFJQztBQUFBQTtBQUFBQTtBQUFBQTtBQUFBQTtBQUFBQTtBQUFKO0FBQUEsRUFBakIsQyxDQUNQO0FBQ0E7Ozs7OztBQUNBRCxRQUFRLENBQUNFLGVBQVQsR0FBMkIsSUFBM0I7QUFFQUYsUUFBUSxDQUFDRyxRQUFUO0FBQW9CQztBQUFBQTtBQUFBQTtBQUFBQTtBQUFBQTtBQUFBQTtBQUFBO0FBQUEsQ0FBU0QsUUFBN0I7O0FBQ0FILFFBQVEsQ0FBQ0ssU0FBVCxHQUFxQixVQUFTQyxLQUFULEVBQWdC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R0FBbkI7QUFDRDs7QUFDRCxTQUFPTyxnQkFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IERpZmYgZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7bGluZURpZmZ9IGZyb20gJy4vbGluZSc7XG5cbmNvbnN0IG9iamVjdFByb3RvdHlwZVRvU3RyaW5nID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztcblxuXG5leHBvcnQgY29uc3QganNvbkRpZmYgPSBuZXcgRGlmZigpO1xuLy8gRGlzY3JpbWluYXRlIGJldHdlZW4gdHdvIGxpbmVzIG9mIHByZXR0eS1wcmludGVkLCBzZXJpYWxpemVkIEpTT04gd2hlcmUgb25lIG9mIHRoZW0gaGFzIGFcbi8vIGRhbmdsaW5nIGNvbW1hIGFuZCB0aGUgb3RoZXIgZG9lc24ndC4gVHVybnMgb3V0IGluY2x1ZGluZyB0aGUgZGFuZ2xpbmcgY29tbWEgeWllbGRzIHRoZSBuaWNlc3Qgb3V0cHV0OlxuanNvbkRpZmYudXNlTG9uZ2VzdFRva2VuID0gdHJ1ZTtcblxuanNvbkRpZmYudG9rZW5pemUgPSBsaW5lRGlmZi50b2tlbml6ZTtcbmpzb25EaWZmLmNhc3RJbnB1dCA9IGZ1bmN0aW9uKHZhbHVlKSB7XG4gIGNvbnN0IHt1bmRlZmluZWRSZXBsYWNlbWVudCwgc3RyaW5naWZ5UmVwbGFjZXIgPSAoaywgdikgPT4gdHlwZW9mIHYgPT09ICd1bmRlZmluZWQnID8gdW5kZWZpbmVkUmVwbGFjZW1lbnQgOiB2fSA9IHRoaXMub3B0aW9ucztcblxuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IHZhbHVlIDogSlNPTi5zdHJpbmdpZnkoY2Fub25pY2FsaXplKHZhbHVlLCBudWxsLCBudWxsLCBzdHJpbmdpZnlSZXBsYWNlciksIHN0cmluZ2lmeVJlcGxhY2VyLCAnICAnKTtcbn07XG5qc29uRGlmZi5lcXVhbHMgPSBmdW5jdGlvbihsZWZ0LCByaWdodCkge1xuICByZXR1cm4gRGlmZi5wcm90b3R5cGUuZXF1YWxzLmNhbGwoanNvbkRpZmYsIGxlZnQucmVwbGFjZSgvLChbXFxyXFxuXSkvZywgJyQxJyksIHJpZ2h0LnJlcGxhY2UoLywoW1xcclxcbl0pL2csICckMScpKTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBkaWZmSnNvbihvbGRPYmosIG5ld09iaiwgb3B0aW9ucykgeyByZXR1cm4ganNvbkRpZmYuZGlmZihvbGRPYmosIG5ld09iaiwgb3B0aW9ucyk7IH1cblxuLy8gVGhpcyBmdW5jdGlvbiBoYW5kbGVzIHRoZSBwcmVzZW5jZSBvZiBjaXJjdWxhciByZWZlcmVuY2VzIGJ5IGJhaWxpbmcgb3V0IHdoZW4gZW5jb3VudGVyaW5nIGFuXG4vLyBvYmplY3QgdGhhdCBpcyBhbHJlYWR5IG9uIHRoZSBcInN0YWNrXCIgb2YgaXRlbXMgYmVpbmcgcHJvY2Vzc2VkLiBBY2NlcHRzIGFuIG9wdGlvbmFsIHJlcGxhY2VyXG5leHBvcnQgZnVuY3Rpb24gY2Fub25pY2FsaXplKG9iaiwgc3RhY2ssIHJlcGxhY2VtZW50U3RhY2ssIHJlcGxhY2VyLCBrZXkpIHtcbiAgc3RhY2sgPSBzdGFjayB8fCBbXTtcbiAgcmVwbGFjZW1lbnRTdGFjayA9IHJlcGxhY2VtZW50U3RhY2sgfHwgW107XG5cbiAgaWYgKHJlcGxhY2VyKSB7XG4gICAgb2JqID0gcmVwbGFjZXIoa2V5LCBvYmopO1xuICB9XG5cbiAgbGV0IGk7XG5cbiAgZm9yIChpID0gMDsgaSA8IHN0YWNrLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgaWYgKHN0YWNrW2ldID09PSBvYmopIHtcbiAgICAgIHJldHVybiByZXBsYWNlbWVudFN0YWNrW2ldO1xuICAgIH1cbiAgfVxuXG4gIGxldCBjYW5vbmljYWxpemVkT2JqO1xuXG4gIGlmICgnW29iamVjdCBBcnJheV0nID09PSBvYmplY3RQcm90b3R5cGVUb1N0cmluZy5jYWxsKG9iaikpIHtcbiAgICBzdGFjay5wdXNoKG9iaik7XG4gICAgY2Fub25pY2FsaXplZE9iaiA9IG5ldyBBcnJheShvYmoubGVuZ3RoKTtcbiAgICByZXBsYWNlbWVudFN0YWNrLnB1c2goY2Fub25pY2FsaXplZE9iaik7XG4gICAgZm9yIChpID0gMDsgaSA8IG9iai5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgY2Fub25pY2FsaXplZE9ialtpXSA9IGNhbm9uaWNhbGl6ZShvYmpbaV0sIHN0YWNrLCByZXBsYWNlbWVudFN0YWNrLCByZXBsYWNlciwga2V5KTtcbiAgICB9XG4gICAgc3RhY2sucG9wKCk7XG4gICAgcmVwbGFjZW1lbnRTdGFjay5wb3AoKTtcbiAgICByZXR1cm4gY2Fub25pY2FsaXplZE9iajtcbiAgfVxuXG4gIGlmIChvYmogJiYgb2JqLnRvSlNPTikge1xuICAgIG9iaiA9IG9iai50b0pTT04oKTtcbiAgfVxuXG4gIGlmICh0eXBlb2Ygb2JqID09PSAnb2JqZWN0JyAmJiBvYmogIT09IG51bGwpIHtcbiAgICBzdGFjay5wdXNoKG9iaik7XG4gICAgY2Fub25pY2FsaXplZE9iaiA9IHt9O1xuICAgIHJlcGxhY2VtZW50U3RhY2sucHVzaChjYW5vbmljYWxpemVkT2JqKTtcbiAgICBsZXQgc29ydGVkS2V5cyA9IFtdLFxuICAgICAgICBrZXk7XG4gICAgZm9yIChrZXkgaW4gb2JqKSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgIHNvcnRlZEtleXMucHVzaChrZXkpO1xuICAgICAgfVxuICAgIH1cbiAgICBzb3J0ZWRLZXlzLnNvcnQoKTtcbiAgICBmb3IgKGkgPSAwOyBpIDwgc29ydGVkS2V5cy5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAga2V5ID0gc29ydGVkS2V5c1tpXTtcbiAgICAgIGNhbm9uaWNhbGl6ZWRPYmpba2V5XSA9IGNhbm9uaWNhbGl6ZShvYmpba2V5XSwgc3RhY2ssIHJlcGxhY2VtZW50U3RhY2ssIHJlcGxhY2VyLCBrZXkpO1xuICAgIH1cbiAgICBzdGFjay5wb3AoKTtcbiAgICByZXBsYWNlbWVudFN0YWNrLnBvcCgpO1xuICB9IGVsc2Uge1xuICAgIGNhbm9uaWNhbGl6ZWRPYmogPSBvYmo7XG4gIH1cbiAgcmV0dXJuIGNhbm9uaWNhbGl6ZWRPYmo7XG59XG4iXX0= + + + /***/ }), + /* 106 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /*istanbul ignore start*/ + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.diffArrays = diffArrays; + exports.arrayDiff = void 0; + + /*istanbul ignore end*/ + var + /*istanbul ignore start*/ + _base = _interopRequireDefault(__webpack_require__(98)) + /*istanbul ignore end*/ + ; + + /*istanbul ignore start*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + /*istanbul ignore end*/ + var arrayDiff = new + /*istanbul ignore start*/ + _base + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + default + /*istanbul ignore end*/ + (); + + /*istanbul ignore start*/ + exports.arrayDiff = arrayDiff; + + /*istanbul ignore end*/ + arrayDiff.tokenize = function (value) { + return value.slice(); + }; + + arrayDiff.join = arrayDiff.removeEmpty = function (value) { + return value; + }; + + function diffArrays(oldArr, newArr, callback) { + return arrayDiff.diff(oldArr, newArr, callback); + } + //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kaWZmL2FycmF5LmpzIl0sIm5hbWVzIjpbImFycmF5RGlmZiIsIkRpZmYiLCJ0b2tlbml6ZSIsInZhbHVlIiwic2xpY2UiLCJqb2luIiwicmVtb3ZlRW1wdHkiLCJkaWZmQXJyYXlzIiwib2xkQXJyIiwibmV3QXJyIiwiY2FsbGJhY2siLCJkaWZmIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7QUFFTyxJQUFNQSxTQUFTLEdBQUc7QUFBSUM7QUFBQUE7QUFBQUE7QUFBQUE7QUFBQUE7QUFBQUE7QUFBSjtBQUFBLEVBQWxCOzs7Ozs7QUFDUEQsU0FBUyxDQUFDRSxRQUFWLEdBQXFCLFVBQVNDLEtBQVQsRUFBZ0I7QUFDbkMsU0FBT0EsS0FBSyxDQUFDQyxLQUFOLEVBQVA7QUFDRCxDQUZEOztBQUdBSixTQUFTLENBQUNLLElBQVYsR0FBaUJMLFNBQVMsQ0FBQ00sV0FBVixHQUF3QixVQUFTSCxLQUFULEVBQWdCO0FBQ3ZELFNBQU9BLEtBQVA7QUFDRCxDQUZEOztBQUlPLFNBQVNJLFVBQVQsQ0FBb0JDLE1BQXBCLEVBQTRCQyxNQUE1QixFQUFvQ0MsUUFBcEMsRUFBOEM7QUFBRSxTQUFPVixTQUFTLENBQUNXLElBQVYsQ0FBZUgsTUFBZixFQUF1QkMsTUFBdkIsRUFBK0JDLFFBQS9CLENBQVA7QUFBa0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRGlmZiBmcm9tICcuL2Jhc2UnO1xuXG5leHBvcnQgY29uc3QgYXJyYXlEaWZmID0gbmV3IERpZmYoKTtcbmFycmF5RGlmZi50b2tlbml6ZSA9IGZ1bmN0aW9uKHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZS5zbGljZSgpO1xufTtcbmFycmF5RGlmZi5qb2luID0gYXJyYXlEaWZmLnJlbW92ZUVtcHR5ID0gZnVuY3Rpb24odmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGRpZmZBcnJheXMob2xkQXJyLCBuZXdBcnIsIGNhbGxiYWNrKSB7IHJldHVybiBhcnJheURpZmYuZGlmZihvbGRBcnIsIG5ld0FyciwgY2FsbGJhY2spOyB9XG4iXX0= + + + /***/ }), + /* 107 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /*istanbul ignore start*/ + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.applyPatch = applyPatch; + exports.applyPatches = applyPatches; + + /*istanbul ignore end*/ + var + /*istanbul ignore start*/ + _parse = __webpack_require__(108) + /*istanbul ignore end*/ + ; + + var + /*istanbul ignore start*/ + _distanceIterator = _interopRequireDefault(__webpack_require__(109)) + /*istanbul ignore end*/ + ; + + /*istanbul ignore start*/ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + + /*istanbul ignore end*/ + function applyPatch(source, uniDiff) { + /*istanbul ignore start*/ + var + /*istanbul ignore end*/ + options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; + + if (typeof uniDiff === 'string') { + uniDiff = + /*istanbul ignore start*/ + (0, + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + _parse + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + parsePatch) + /*istanbul ignore end*/ + (uniDiff); + } + + if (Array.isArray(uniDiff)) { + if (uniDiff.length > 1) { + throw new Error('applyPatch only works with a single input.'); + } + + uniDiff = uniDiff[0]; + } // Apply the diff to the input + + + var lines = source.split(/\r\n|[\n\v\f\r\x85]/), + delimiters = source.match(/\r\n|[\n\v\f\r\x85]/g) || [], + hunks = uniDiff.hunks, + compareLine = options.compareLine || function (lineNumber, line, operation, patchContent) + /*istanbul ignore start*/ + { + return ( + /*istanbul ignore end*/ + line === patchContent + ); + }, + errorCount = 0, + fuzzFactor = options.fuzzFactor || 0, + minLine = 0, + offset = 0, + removeEOFNL, + addEOFNL; + /** + * Checks if the hunk exactly fits on the provided location + */ + + + function hunkFits(hunk, toPos) { + for (var j = 0; j < hunk.lines.length; j++) { + var line = hunk.lines[j], + operation = line.length > 0 ? line[0] : ' ', + content = line.length > 0 ? line.substr(1) : line; + + if (operation === ' ' || operation === '-') { + // Context sanity check + if (!compareLine(toPos + 1, lines[toPos], operation, content)) { + errorCount++; + + if (errorCount > fuzzFactor) { + return false; + } + } + + toPos++; + } + } + + return true; + } // Search best fit offsets for each hunk based on the previous ones + + + for (var i = 0; i < hunks.length; i++) { + var hunk = hunks[i], + maxLine = lines.length - hunk.oldLines, + localOffset = 0, + toPos = offset + hunk.oldStart - 1; + var iterator = + /*istanbul ignore start*/ + (0, + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + _distanceIterator + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + default) + /*istanbul ignore end*/ + (toPos, minLine, maxLine); + + for (; localOffset !== undefined; localOffset = iterator()) { + if (hunkFits(hunk, toPos + localOffset)) { + hunk.offset = offset += localOffset; + break; + } + } + + if (localOffset === undefined) { + return false; + } // Set lower text limit to end of the current hunk, so next ones don't try + // to fit over already patched text + + + minLine = hunk.offset + hunk.oldStart + hunk.oldLines; + } // Apply patch hunks + + + var diffOffset = 0; + + for (var _i = 0; _i < hunks.length; _i++) { + var _hunk = hunks[_i], + _toPos = _hunk.oldStart + _hunk.offset + diffOffset - 1; + + diffOffset += _hunk.newLines - _hunk.oldLines; + + if (_toPos < 0) { + // Creating a new file + _toPos = 0; + } + + for (var j = 0; j < _hunk.lines.length; j++) { + var line = _hunk.lines[j], + operation = line.length > 0 ? line[0] : ' ', + content = line.length > 0 ? line.substr(1) : line, + delimiter = _hunk.linedelimiters[j]; + + if (operation === ' ') { + _toPos++; + } else if (operation === '-') { + lines.splice(_toPos, 1); + delimiters.splice(_toPos, 1); + /* istanbul ignore else */ + } else if (operation === '+') { + lines.splice(_toPos, 0, content); + delimiters.splice(_toPos, 0, delimiter); + _toPos++; + } else if (operation === '\\') { + var previousOperation = _hunk.lines[j - 1] ? _hunk.lines[j - 1][0] : null; + + if (previousOperation === '+') { + removeEOFNL = true; + } else if (previousOperation === '-') { + addEOFNL = true; + } + } + } + } // Handle EOFNL insertion/removal + + + if (removeEOFNL) { + while (!lines[lines.length - 1]) { + lines.pop(); + delimiters.pop(); + } + } else if (addEOFNL) { + lines.push(''); + delimiters.push('\n'); + } + + for (var _k = 0; _k < lines.length - 1; _k++) { + lines[_k] = lines[_k] + delimiters[_k]; + } + + return lines.join(''); + } // Wrapper that supports multiple file patches via callbacks. + + + function applyPatches(uniDiff, options) { + if (typeof uniDiff === 'string') { + uniDiff = + /*istanbul ignore start*/ + (0, + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + _parse + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + parsePatch) + /*istanbul ignore end*/ + (uniDiff); + } + + var currentIndex = 0; + + function processIndex() { + var index = uniDiff[currentIndex++]; + + if (!index) { + return options.complete(); + } + + options.loadFile(index, function (err, data) { + if (err) { + return options.complete(err); + } + + var updatedContent = applyPatch(data, index, options); + options.patched(index, updatedContent, function (err) { + if (err) { + return options.complete(err); + } + + processIndex(); + }); + }); + } + + processIndex(); + } + //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXRjaC9hcHBseS5qcyJdLCJuYW1lcyI6WyJhcHBseVBhdGNoIiwic291cmNlIiwidW5pRGlmZiIsIm9wdGlvbnMiLCJwYXJzZVBhdGNoIiwiQXJyYXkiLCJpc0FycmF5IiwibGVuZ3RoIiwiRXJyb3IiLCJsaW5lcyIsInNwbGl0IiwiZGVsaW1pdGVycyIsIm1hdGNoIiwiaHVua3MiLCJjb21wYXJlTGluZSIsImxpbmVOdW1iZXIiLCJsaW5lIiwib3BlcmF0aW9uIiwicGF0Y2hDb250ZW50IiwiZXJyb3JDb3VudCIsImZ1enpGYWN0b3IiLCJtaW5MaW5lIiwib2Zmc2V0IiwicmVtb3ZlRU9GTkwiLCJhZGRFT0ZOTCIsImh1bmtGaXRzIiwiaHVuayIsInRvUG9zIiwiaiIsImNvbnRlbnQiLCJzdWJzdHIiLCJpIiwibWF4TGluZSIsIm9sZExpbmVzIiwibG9jYWxPZmZzZXQiLCJvbGRTdGFydCIsIml0ZXJhdG9yIiwiZGlzdGFuY2VJdGVyYXRvciIsInVuZGVmaW5lZCIsImRpZmZPZmZzZXQiLCJuZXdMaW5lcyIsImRlbGltaXRlciIsImxpbmVkZWxpbWl0ZXJzIiwic3BsaWNlIiwicHJldmlvdXNPcGVyYXRpb24iLCJwb3AiLCJwdXNoIiwiX2siLCJqb2luIiwiYXBwbHlQYXRjaGVzIiwiY3VycmVudEluZGV4IiwicHJvY2Vzc0luZGV4IiwiaW5kZXgiLCJjb21wbGV0ZSIsImxvYWRGaWxlIiwiZXJyIiwiZGF0YSIsInVwZGF0ZWRDb250ZW50IiwicGF0Y2hlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7Ozs7QUFFTyxTQUFTQSxVQUFULENBQW9CQyxNQUFwQixFQUE0QkMsT0FBNUIsRUFBbUQ7QUFBQTtBQUFBO0FBQUE7QUFBZEMsRUFBQUEsT0FBYyx1RUFBSixFQUFJOztBQUN4RCxNQUFJLE9BQU9ELE9BQVAsS0FBbUIsUUFBdkIsRUFBaUM7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QUE7O0FBQUFFO0FBQUFBO0FBQUFBO0FBQUFBO0FBQUFBO0FBQUFBO0FBQUE7QUFBQSxLQUFXRixPQUFYLENBQVY7QUFDRDs7QUFFRCxNQUFJZ0QsWUFBWSxHQUFHLENBQW5COztBQUNBLFdBQVNDLFlBQVQsR0FBd0I7QUFDdEIsUUFBSUMsS0FBSyxHQUFHbEQsT0FBTyxDQUFDZ0QsWUFBWSxFQUFiLENBQW5COztBQUNBLFFBQUksQ0FBQ0UsS0FBTCxFQUFZO0FBQ1YsYUFBT2pELE9BQU8sQ0FBQ2tELFFBQVIsRUFBUDtBQUNEOztBQUVEbEQsSUFBQUEsT0FBTyxDQUFDbUQsUUFBUixDQUFpQkYsS0FBakIsRUFBd0IsVUFBU0csR0FBVCxFQUFjQyxJQUFkLEVBQW9CO0FBQzFDLFVBQUlELEdBQUosRUFBUztBQUNQLGVBQU9wRCxPQUFPLENBQUNrRCxRQUFSLENBQWlCRSxHQUFqQixDQUFQO0FBQ0Q7O0FBRUQsVUFBSUUsY0FBYyxHQUFHekQsVUFBVSxDQUFDd0QsSUFBRCxFQUFPSixLQUFQLEVBQWNqRCxPQUFkLENBQS9CO0FBQ0FBLE1BQUFBLE9BQU8sQ0FBQ3VELE9BQVIsQ0FBZ0JOLEtBQWhCLEVBQXVCSyxjQUF2QixFQUF1QyxVQUFTRixHQUFULEVBQWM7QUFDbkQsWUFBSUEsR0FBSixFQUFTO0FBQ1AsaUJBQU9wRCxPQUFPLENBQUNrRCxRQUFSLENBQWlCRSxHQUFqQixDQUFQO0FBQ0Q7O0FBRURKLFFBQUFBLFlBQVk7QUFDYixPQU5EO0FBT0QsS0FiRDtBQWNEOztBQUNEQSxFQUFBQSxZQUFZO0FBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3BhcnNlUGF0Y2h9IGZyb20gJy4vcGFyc2UnO1xuaW1wb3J0IGRpc3RhbmNlSXRlcmF0b3IgZnJvbSAnLi4vdXRpbC9kaXN0YW5jZS1pdGVyYXRvcic7XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBseVBhdGNoKHNvdXJjZSwgdW5pRGlmZiwgb3B0aW9ucyA9IHt9KSB7XG4gIGlmICh0eXBlb2YgdW5pRGlmZiA9PT0gJ3N0cmluZycpIHtcbiAgICB1bmlEaWZmID0gcGFyc2VQYXRjaCh1bmlEaWZmKTtcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KHVuaURpZmYpKSB7XG4gICAgaWYgKHVuaURpZmYubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdhcHBseVBhdGNoIG9ubHkgd29ya3Mgd2l0aCBhIHNpbmdsZSBpbnB1dC4nKTtcbiAgICB9XG5cbiAgICB1bmlEaWZmID0gdW5pRGlmZlswXTtcbiAgfVxuXG4gIC8vIEFwcGx5IHRoZSBkaWZmIHRvIHRoZSBpbnB1dFxuICBsZXQgbGluZXMgPSBzb3VyY2Uuc3BsaXQoL1xcclxcbnxbXFxuXFx2XFxmXFxyXFx4ODVdLyksXG4gICAgICBkZWxpbWl0ZXJzID0gc291cmNlLm1hdGNoKC9cXHJcXG58W1xcblxcdlxcZlxcclxceDg1XS9nKSB8fCBbXSxcbiAgICAgIGh1bmtzID0gdW5pRGlmZi5odW5rcyxcblxuICAgICAgY29tcGFyZUxpbmUgPSBvcHRpb25zLmNvbXBhcmVMaW5lIHx8ICgobGluZU51bWJlciwgbGluZSwgb3BlcmF0aW9uLCBwYXRjaENvbnRlbnQpID0+IGxpbmUgPT09IHBhdGNoQ29udGVudCksXG4gICAgICBlcnJvckNvdW50ID0gMCxcbiAgICAgIGZ1enpGYWN0b3IgPSBvcHRpb25zLmZ1enpGYWN0b3IgfHwgMCxcbiAgICAgIG1pbkxpbmUgPSAwLFxuICAgICAgb2Zmc2V0ID0gMCxcblxuICAgICAgcmVtb3ZlRU9GTkwsXG4gICAgICBhZGRFT0ZOTDtcblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBodW5rIGV4YWN0bHkgZml0cyBvbiB0aGUgcHJvdmlkZWQgbG9jYXRpb25cbiAgICovXG4gIGZ1bmN0aW9uIGh1bmtGaXRzKGh1bmssIHRvUG9zKSB7XG4gICAgZm9yIChsZXQgaiA9IDA7IGogPCBodW5rLmxpbmVzLmxlbmd0aDsgaisrKSB7XG4gICAgICBsZXQgbGluZSA9IGh1bmsubGluZXNbal0sXG4gICAgICAgICAgb3BlcmF0aW9uID0gKGxpbmUubGVuZ3RoID4gMCA/IGxpbmVbMF0gOiAnICcpLFxuICAgICAgICAgIGNvbnRlbnQgPSAobGluZS5sZW5ndGggPiAwID8gbGluZS5zdWJzdHIoMSkgOiBsaW5lKTtcblxuICAgICAgaWYgKG9wZXJhdGlvbiA9PT0gJyAnIHx8IG9wZXJhdGlvbiA9PT0gJy0nKSB7XG4gICAgICAgIC8vIENvbnRleHQgc2FuaXR5IGNoZWNrXG4gICAgICAgIGlmICghY29tcGFyZUxpbmUodG9Qb3MgKyAxLCBsaW5lc1t0b1Bvc10sIG9wZXJhdGlvbiwgY29udGVudCkpIHtcbiAgICAgICAgICBlcnJvckNvdW50Kys7XG5cbiAgICAgICAgICBpZiAoZXJyb3JDb3VudCA+IGZ1enpGYWN0b3IpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdG9Qb3MrKztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIFNlYXJjaCBiZXN0IGZpdCBvZmZzZXRzIGZvciBlYWNoIGh1bmsgYmFzZWQgb24gdGhlIHByZXZpb3VzIG9uZXNcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBodW5rcy5sZW5ndGg7IGkrKykge1xuICAgIGxldCBodW5rID0gaHVua3NbaV0sXG4gICAgICAgIG1heExpbmUgPSBsaW5lcy5sZW5ndGggLSBodW5rLm9sZExpbmVzLFxuICAgICAgICBsb2NhbE9mZnNldCA9IDAsXG4gICAgICAgIHRvUG9zID0gb2Zmc2V0ICsgaHVuay5vbGRTdGFydCAtIDE7XG5cbiAgICBsZXQgaXRlcmF0b3IgPSBkaXN0YW5jZUl0ZXJhdG9yKHRvUG9zLCBtaW5MaW5lLCBtYXhMaW5lKTtcblxuICAgIGZvciAoOyBsb2NhbE9mZnNldCAhPT0gdW5kZWZpbmVkOyBsb2NhbE9mZnNldCA9IGl0ZXJhdG9yKCkpIHtcbiAgICAgIGlmIChodW5rRml0cyhodW5rLCB0b1BvcyArIGxvY2FsT2Zmc2V0KSkge1xuICAgICAgICBodW5rLm9mZnNldCA9IG9mZnNldCArPSBsb2NhbE9mZnNldDtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGxvY2FsT2Zmc2V0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICAvLyBTZXQgbG93ZXIgdGV4dCBsaW1pdCB0byBlbmQgb2YgdGhlIGN1cnJlbnQgaHVuaywgc28gbmV4dCBvbmVzIGRvbid0IHRyeVxuICAgIC8vIHRvIGZpdCBvdmVyIGFscmVhZHkgcGF0Y2hlZCB0ZXh0XG4gICAgbWluTGluZSA9IGh1bmsub2Zmc2V0ICsgaHVuay5vbGRTdGFydCArIGh1bmsub2xkTGluZXM7XG4gIH1cblxuICAvLyBBcHBseSBwYXRjaCBodW5rc1xuICBsZXQgZGlmZk9mZnNldCA9IDA7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgaHVua3MubGVuZ3RoOyBpKyspIHtcbiAgICBsZXQgaHVuayA9IGh1bmtzW2ldLFxuICAgICAgICB0b1BvcyA9IGh1bmsub2xkU3RhcnQgKyBodW5rLm9mZnNldCArIGRpZmZPZmZzZXQgLSAxO1xuICAgIGRpZmZPZmZzZXQgKz0gaHVuay5uZXdMaW5lcyAtIGh1bmsub2xkTGluZXM7XG5cbiAgICBpZiAodG9Qb3MgPCAwKSB7IC8vIENyZWF0aW5nIGEgbmV3IGZpbGVcbiAgICAgIHRvUG9zID0gMDtcbiAgICB9XG5cbiAgICBmb3IgKGxldCBqID0gMDsgaiA8IGh1bmsubGluZXMubGVuZ3RoOyBqKyspIHtcbiAgICAgIGxldCBsaW5lID0gaHVuay5saW5lc1tqXSxcbiAgICAgICAgICBvcGVyYXRpb24gPSAobGluZS5sZW5ndGggPiAwID8gbGluZVswXSA6ICcgJyksXG4gICAgICAgICAgY29udGVudCA9IChsaW5lLmxlbmd0aCA+IDAgPyBsaW5lLnN1YnN0cigxKSA6IGxpbmUpLFxuICAgICAgICAgIGRlbGltaXRlciA9IGh1bmsubGluZWRlbGltaXRlcnNbal07XG5cbiAgICAgIGlmIChvcGVyYXRpb24gPT09ICcgJykge1xuICAgICAgICB0b1BvcysrO1xuICAgICAgfSBlbHNlIGlmIChvcGVyYXRpb24gPT09ICctJykge1xuICAgICAgICBsaW5lcy5zcGxpY2UodG9Qb3MsIDEpO1xuICAgICAgICBkZWxpbWl0ZXJzLnNwbGljZSh0b1BvcywgMSk7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgfSBlbHNlIGlmIChvcGVyYXRpb24gPT09ICcrJykge1xuICAgICAgICBsaW5lcy5zcGxpY2UodG9Qb3MsIDAsIGNvbnRlbnQpO1xuICAgICAgICBkZWxpbWl0ZXJzLnNwbGljZSh0b1BvcywgMCwgZGVsaW1pdGVyKTtcbiAgICAgICAgdG9Qb3MrKztcbiAgICAgIH0gZWxzZSBpZiAob3BlcmF0aW9uID09PSAnXFxcXCcpIHtcbiAgICAgICAgbGV0IHByZXZpb3VzT3BlcmF0aW9uID0gaHVuay5saW5lc1tqIC0gMV0gPyBodW5rLmxpbmVzW2ogLSAxXVswXSA6IG51bGw7XG4gICAgICAgIGlmIChwcmV2aW91c09wZXJhdGlvbiA9PT0gJysnKSB7XG4gICAgICAgICAgcmVtb3ZlRU9GTkwgPSB0cnVlO1xuICAgICAgICB9IGVsc2UgaWYgKHByZXZpb3VzT3BlcmF0aW9uID09PSAnLScpIHtcbiAgICAgICAgICBhZGRFT0ZOTCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBIYW5kbGUgRU9GTkwgaW5zZXJ0aW9uL3JlbW92YWxcbiAgaWYgKHJlbW92ZUVPRk5MKSB7XG4gICAgd2hpbGUgKCFsaW5lc1tsaW5lcy5sZW5ndGggLSAxXSkge1xuICAgICAgbGluZXMucG9wKCk7XG4gICAgICBkZWxpbWl0ZXJzLnBvcCgpO1xuICAgIH1cbiAgfSBlbHNlIGlmIChhZGRFT0ZOTCkge1xuICAgIGxpbmVzLnB1c2goJycpO1xuICAgIGRlbGltaXRlcnMucHVzaCgnXFxuJyk7XG4gIH1cbiAgZm9yIChsZXQgX2sgPSAwOyBfayA8IGxpbmVzLmxlbmd0aCAtIDE7IF9rKyspIHtcbiAgICBsaW5lc1tfa10gPSBsaW5lc1tfa10gKyBkZWxpbWl0ZXJzW19rXTtcbiAgfVxuICByZXR1cm4gbGluZXMuam9pbignJyk7XG59XG5cbi8vIFdyYXBwZXIgdGhhdCBzdXBwb3J0cyBtdWx0aXBsZSBmaWxlIHBhdGNoZXMgdmlhIGNhbGxiYWNrcy5cbmV4cG9ydCBmdW5jdGlvbiBhcHBseVBhdGNoZXModW5pRGlmZiwgb3B0aW9ucykge1xuICBpZiAodHlwZW9mIHVuaURpZmYgPT09ICdzdHJpbmcnKSB7XG4gICAgdW5pRGlmZiA9IHBhcnNlUGF0Y2godW5pRGlmZik7XG4gIH1cblxuICBsZXQgY3VycmVudEluZGV4ID0gMDtcbiAgZnVuY3Rpb24gcHJvY2Vzc0luZGV4KCkge1xuICAgIGxldCBpbmRleCA9IHVuaURpZmZbY3VycmVudEluZGV4KytdO1xuICAgIGlmICghaW5kZXgpIHtcbiAgICAgIHJldHVybiBvcHRpb25zLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgb3B0aW9ucy5sb2FkRmlsZShpbmRleCwgZnVuY3Rpb24oZXJyLCBkYXRhKSB7XG4gICAgICBpZiAoZXJyKSB7XG4gICAgICAgIHJldHVybiBvcHRpb25zLmNvbXBsZXRlKGVycik7XG4gICAgICB9XG5cbiAgICAgIGxldCB1cGRhdGVkQ29udGVudCA9IGFwcGx5UGF0Y2goZGF0YSwgaW5kZXgsIG9wdGlvbnMpO1xuICAgICAgb3B0aW9ucy5wYXRjaGVkKGluZGV4LCB1cGRhdGVkQ29udGVudCwgZnVuY3Rpb24oZXJyKSB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICByZXR1cm4gb3B0aW9ucy5jb21wbGV0ZShlcnIpO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJvY2Vzc0luZGV4KCk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuICBwcm9jZXNzSW5kZXgoKTtcbn1cbiJdfQ== + + + /***/ }), + /* 108 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /*istanbul ignore start*/ + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.parsePatch = parsePatch; + + /*istanbul ignore end*/ + function parsePatch(uniDiff) { + /*istanbul ignore start*/ + var + /*istanbul ignore end*/ + options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var diffstr = uniDiff.split(/\r\n|[\n\v\f\r\x85]/), + delimiters = uniDiff.match(/\r\n|[\n\v\f\r\x85]/g) || [], + list = [], + i = 0; + + function parseIndex() { + var index = {}; + list.push(index); // Parse diff metadata + + while (i < diffstr.length) { + var line = diffstr[i]; // File header found, end parsing diff metadata + + if (/^(\-\-\-|\+\+\+|@@)\s/.test(line)) { + break; + } // Diff index + + + var header = /^(?:Index:|diff(?: -r \w+)+)\s+(.+?)\s*$/.exec(line); + + if (header) { + index.index = header[1]; + } + + i++; + } // Parse file headers if they are defined. Unified diff requires them, but + // there's no technical issues to have an isolated hunk without file header + + + parseFileHeader(index); + parseFileHeader(index); // Parse hunks + + index.hunks = []; + + while (i < diffstr.length) { + var _line = diffstr[i]; + + if (/^(Index:|diff|\-\-\-|\+\+\+)\s/.test(_line)) { + break; + } else if (/^@@/.test(_line)) { + index.hunks.push(parseHunk()); + } else if (_line && options.strict) { + // Ignore unexpected content unless in strict mode + throw new Error('Unknown line ' + (i + 1) + ' ' + JSON.stringify(_line)); + } else { + i++; + } + } + } // Parses the --- and +++ headers, if none are found, no lines + // are consumed. + + + function parseFileHeader(index) { + var fileHeader = /^(---|\+\+\+)\s+(.*)$/.exec(diffstr[i]); + + if (fileHeader) { + var keyPrefix = fileHeader[1] === '---' ? 'old' : 'new'; + var data = fileHeader[2].split('\t', 2); + var fileName = data[0].replace(/\\\\/g, '\\'); + + if (/^".*"$/.test(fileName)) { + fileName = fileName.substr(1, fileName.length - 2); + } + + index[keyPrefix + 'FileName'] = fileName; + index[keyPrefix + 'Header'] = (data[1] || '').trim(); + i++; + } + } // Parses a hunk + // This assumes that we are at the start of a hunk. + + + function parseHunk() { + var chunkHeaderIndex = i, + chunkHeaderLine = diffstr[i++], + chunkHeader = chunkHeaderLine.split(/@@ -(\d+)(?:,(\d+))? \+(\d+)(?:,(\d+))? @@/); + var hunk = { + oldStart: +chunkHeader[1], + oldLines: +chunkHeader[2] || 1, + newStart: +chunkHeader[3], + newLines: +chunkHeader[4] || 1, + lines: [], + linedelimiters: [] + }; + var addCount = 0, + removeCount = 0; + + for (; i < diffstr.length; i++) { + // Lines starting with '---' could be mistaken for the "remove line" operation + // But they could be the header for the next file. Therefore prune such cases out. + if (diffstr[i].indexOf('--- ') === 0 && i + 2 < diffstr.length && diffstr[i + 1].indexOf('+++ ') === 0 && diffstr[i + 2].indexOf('@@') === 0) { + break; + } + + var operation = diffstr[i].length == 0 && i != diffstr.length - 1 ? ' ' : diffstr[i][0]; + + if (operation === '+' || operation === '-' || operation === ' ' || operation === '\\') { + hunk.lines.push(diffstr[i]); + hunk.linedelimiters.push(delimiters[i] || '\n'); + + if (operation === '+') { + addCount++; + } else if (operation === '-') { + removeCount++; + } else if (operation === ' ') { + addCount++; + removeCount++; + } + } else { + break; + } + } // Handle the empty block count case + + + if (!addCount && hunk.newLines === 1) { + hunk.newLines = 0; + } + + if (!removeCount && hunk.oldLines === 1) { + hunk.oldLines = 0; + } // Perform optional sanity checking + + + if (options.strict) { + if (addCount !== hunk.newLines) { + throw new Error('Added line count did not match for hunk at line ' + (chunkHeaderIndex + 1)); + } + + if (removeCount !== hunk.oldLines) { + throw new Error('Removed line count did not match for hunk at line ' + (chunkHeaderIndex + 1)); + } + } + + return hunk; + } + + while (i < diffstr.length) { + parseIndex(); + } + + return list; + } + //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXRjaC9wYXJzZS5qcyJdLCJuYW1lcyI6WyJwYXJzZVBhdGNoIiwidW5pRGlmZiIsIm9wdGlvbnMiLCJkaWZmc3RyIiwic3BsaXQiLCJkZWxpbWl0ZXJzIiwibWF0Y2giLCJsaXN0IiwiaSIsInBhcnNlSW5kZXgiLCJpbmRleCIsInB1c2giLCJsZW5ndGgiLCJsaW5lIiwidGVzdCIsImhlYWRlciIsImV4ZWMiLCJwYXJzZUZpbGVIZWFkZXIiLCJodW5rcyIsInBhcnNlSHVuayIsInN0cmljdCIsIkVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsImZpbGVIZWFkZXIiLCJrZXlQcmVmaXgiLCJkYXRhIiwiZmlsZU5hbWUiLCJyZXBsYWNlIiwic3Vic3RyIiwidHJpbSIsImNodW5rSGVhZGVySW5kZXgiLCJjaHVua0hlYWRlckxpbmUiLCJjaHVua0hlYWRlciIsImh1bmsiLCJvbGRTdGFydCIsIm9sZExpbmVzIiwibmV3U3RhcnQiLCJuZXdMaW5lcyIsImxpbmVzIiwibGluZWRlbGltaXRlcnMiLCJhZGRDb3VudCIsInJlbW92ZUNvdW50IiwiaW5kZXhPZiIsIm9wZXJhdGlvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQU8sU0FBU0EsVUFBVCxDQUFvQkMsT0FBcEIsRUFBMkM7QUFBQTtBQUFBO0FBQUE7QUFBZEMsRUFBQUEsT0FBYyx1RUFBSixFQUFJO0FBQ2hELE1BQUlDLE9BQU8sR0FBR0YsT0FBTyxDQUFDRyxLQUFSLENBQWMscUJBQWQsQ0FBZDtBQUFBLE1BQ0lDLFVBQVUsR0FBR0osT0FBTyxDQUFDSyxLQUFSLENBQWMsc0JBQWQsS0FBeUMsRUFEMUQ7QUFBQSxNQUVJQyxJQUFJLEdBQUcsRUFGWDtBQUFBLE1BR0lDLENBQUMsR0FBRyxDQUhSOztBQUtBLFdBQVNDLFVBQVQsR0FBc0I7QUFDcEIsUUFBSUMsS0FBSyxHQUFHLEVBQVo7QUFDQUgsSUFBQUEsSUFBSSxDQUFDSSxJQUFMLENBQVVELEtBQVYsRUFGb0IsQ0FJcEI7O0FB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QVUsc0RBQXNEVSxnQkFBZ0IsR0FBRyxDQUF6RSxDQUFWLENBQU47QUFDRDs7QUFDRCxVQUFJVyxXQUFXLEtBQUtSLElBQUksQ0FBQ0UsUUFBekIsRUFBbUM7QUFDakMsY0FBTSxJQUFJZixLQUFKLENBQVUsd0RBQXdEVSxnQkFBZ0IsR0FBRyxDQUEzRSxDQUFWLENBQU47QUFDRDtBQUNGOztBQUVELFdBQU9HLElBQVA7QUFDRDs7QUFFRCxTQUFPMUIsQ0FBQyxHQUFHTCxPQUFPLENBQUNTLE1BQW5CLEVBQTJCO0FBQ3pCSCxJQUFBQSxVQUFVO0FBQ1g7O0FBRUQsU0FBT0YsSUFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUGF0Y2godW5pRGlmZiwgb3B0aW9ucyA9IHt9KSB7XG4gIGxldCBkaWZmc3RyID0gdW5pRGlmZi5zcGxpdCgvXFxyXFxufFtcXG5cXHZcXGZcXHJcXHg4NV0vKSxcbiAgICAgIGRlbGltaXRlcnMgPSB1bmlEaWZmLm1hdGNoKC9cXHJcXG58W1xcblxcdlxcZlxcclxceDg1XS9nKSB8fCBbXSxcbiAgICAgIGxpc3QgPSBbXSxcbiAgICAgIGkgPSAwO1xuXG4gIGZ1bmN0aW9uIHBhcnNlSW5kZXgoKSB7XG4gICAgbGV0IGluZGV4ID0ge307XG4gICAgbGlzdC5wdXNoKGluZGV4KTtcblxuICAgIC8vIFBhcnNlIGRpZmYgbWV0YWRhdGFcbiAgICB3aGlsZSAoaSA8IGRpZmZzdHIubGVuZ3RoKSB7XG4gICAgICBsZXQgbGluZSA9IGRpZmZzdHJbaV07XG5cbiAgICAgIC8vIEZpbGUgaGVhZGVyIGZvdW5kLCBlbmQgcGFyc2luZyBkaWZmIG1ldGFkYXRhXG4gICAgICBpZiAoKC9eKFxcLVxcLVxcLXxcXCtcXCtcXCt8QEApXFxzLykudGVzdChsaW5lKSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgLy8gRGlmZiBpbmRleFxuICAgICAgbGV0IGhlYWRlciA9ICgvXig/OkluZGV4OnxkaWZmKD86IC1yIFxcdyspKylcXHMrKC4rPylcXHMqJC8pLmV4ZWMobGluZSk7XG4gICAgICBpZiAoaGVhZGVyKSB7XG4gICAgICAgIGluZGV4LmluZGV4ID0gaGVhZGVyWzFdO1xuICAgICAgfVxuXG4gICAgICBpKys7XG4gICAgfVxuXG4gICAgLy8gUGFyc2UgZmlsZSBoZWFkZXJzIGlmIHRoZXkgYXJlIGRlZmluZWQuIFVuaWZpZWQgZGlmZiByZXF1aXJlcyB0aGVtLCBidXRcbiAgICAvLyB0aGVyZSdzIG5vIHRlY2huaWNhbCBpc3N1ZXMgdG8gaGF2ZSBhbiBpc29sYXRlZCBodW5rIHdpdGhvdXQgZmlsZSBoZWFkZXJcbiAgICBwYXJzZUZpbGVIZWFkZXIoaW5kZXgpO1xuICAgIHBhcnNlRmlsZUhlYWRlcihpbmRleCk7XG5cbiAgICAvLyBQYXJzZSBodW5rc1xuICAgIGluZGV4Lmh1bmtzID0gW107XG5cbiAgICB3aGlsZSAoaSA8IGRpZmZzdHIubGVuZ3RoKSB7XG4gICAgICBsZXQgbGluZSA9IGRpZmZzdHJbaV07XG5cbiAgICAgIGlmICgoL14oSW5kZXg6fGRpZmZ8XFwtXFwtXFwtfFxcK1xcK1xcKylcXHMvKS50ZXN0KGxpbmUpKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfSBlbHNlIGlmICgoL15AQC8pLnRlc3QobGluZSkpIHtcbiAgICAgICAgaW5kZXguaHVua3MucHVzaChwYXJzZUh1bmsoKSk7XG4gICAgICB9IGVsc2UgaWYgKGxpbmUgJiYgb3B0aW9ucy5zdHJpY3QpIHtcbiAgICAgICAgLy8gSWdub3JlIHVuZXhwZWN0ZWQgY29udGVudCB1bmxlc3MgaW4gc3RyaWN0IG1vZGVcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIGxpbmUgJyArIChpICsgMSkgKyAnICcgKyBKU09OLnN0cmluZ2lmeShsaW5lKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpKys7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2VzIHRoZSAtLS0gYW5kICsrKyBoZWFkZXJzLCBpZiBub25lIGFyZSBmb3VuZCwgbm8gbGluZXNcbiAgLy8gYXJlIGNvbnN1bWVkLlxuICBmdW5jdGlvbiBwYXJzZUZpbGVIZWFkZXIoaW5kZXgpIHtcbiAgICBjb25zdCBmaWxlSGVhZGVyID0gKC9eKC0tLXxcXCtcXCtcXCspXFxzKyguKikkLykuZXhlYyhkaWZmc3RyW2ldKTtcbiAgICBpZiAoZmlsZUhlYWRlcikge1xuICAgICAgbGV0IGtleVByZWZpeCA9IGZpbGVIZWFkZXJbMV0gPT09ICctLS0nID8gJ29sZCcgOiAnbmV3JztcbiAgICAgIGNvbnN0IGRhdGEgPSBmaWxlSGVhZGVyWzJdLnNwbGl0KCdcXHQnLCAyKTtcbiAgICAgIGxldCBmaWxlTmFtZSA9IGRhdGFbMF0ucmVwbGFjZSgvXFxcXFxcXFwvZywgJ1xcXFwnKTtcbiAgICAgIGlmICgoL15cIi4qXCIkLykudGVzdChmaWxlTmFtZSkpIHtcbiAgICAgICAgZmlsZU5hbWUgPSBmaWxlTmFtZS5zdWJzdHIoMSwgZmlsZU5hbWUubGVuZ3RoIC0gMik7XG4gICAgICB9XG4gICAgICBpbmRleFtrZXlQcmVmaXggKyAnRmlsZU5hbWUnXSA9IGZpbGVOYW1lO1xuICAgICAgaW5kZXhba2V5UHJlZml4ICsgJ0hlYWRlciddID0gKGRhdGFbMV0gfHwgJycpLnRyaW0oKTtcblxuICAgICAgaSsrO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNlcyBhIGh1bmtcbiAgLy8gVGhpcyBhc3N1bWVzIHRoYXQgd2UgYXJlIGF0IHRoZSBzdGFydCBvZiBhIGh1bmsuXG4gIGZ1bmN0aW9uIHBhcnNlSHVuaygpIHtcbiAgICBsZXQgY2h1bmtIZWFkZXJJbmRleCA9IGksXG4gICAgICAgIGNodW5rSGVhZGVyTGluZSA9IGRpZmZzdHJbaSsrXSxcbiAgICAgICAgY2h1bmtIZWFkZXIgPSBjaHVua0hlYWRlckxpbmUuc3BsaXQoL0BAIC0oXFxkKykoPzosKFxcZCspKT8gXFwrKFxcZCspKD86LChcXGQrKSk/IEBALyk7XG5cbiAgICBsZXQgaHVuayA9IHtcbiAgICAgIG9sZFN0YXJ0OiArY2h1bmtIZWFkZXJbMV0sXG4gICAgICBvbGRMaW5lczogK2NodW5rSGVhZGVyWzJdIHx8IDEsXG4gICAgICBuZXdTdGFydDogK2NodW5rSGVhZGVyWzNdLFxuICAgICAgbmV3TGluZXM6ICtjaHVua0hlYWRlcls0XSB8fCAxLFxuICAgICAgbGluZXM6IFtdLFxuICAgICAgbGluZWRlbGltaXRlcnM6IFtdXG4gICAgfTtcblxuICAgIGxldCBhZGRDb3VudCA9IDAsXG4gICAgICAgIHJlbW92ZUNvdW50ID0gMDtcbiAgICBmb3IgKDsgaSA8IGRpZmZzdHIubGVuZ3RoOyBpKyspIHtcbiAgICAgIC8vIExpbmVzIHN0YXJ0aW5nIHdpdGggJy0tLScgY291bGQgYmUgbWlzdGFrZW4gZm9yIHRoZSBcInJlbW92ZSBsaW5lXCIgb3BlcmF0aW9uXG4gICAgICAvLyBCdXQgdGhleSBjb3VsZCBiZSB0aGUgaGVhZGVyIGZvciB0aGUgbmV4dCBmaWxlLiBUaGVyZWZvcmUgcHJ1bmUgc3VjaCBjYXNlcyBvdXQuXG4gICAgICBpZiAoZGlmZnN0cltpXS5pbmRleE9mKCctLS0gJykgPT09IDBcbiAgICAgICAgICAgICYmIChpICsgMiA8IGRpZmZzdHIubGVuZ3RoKVxuICAgICAgICAgICAgJiYgZGlmZnN0cltpICsgMV0uaW5kZXhPZignKysrICcpID09PSAwXG4gICAgICAgICAgICAmJiBkaWZmc3RyW2kgKyAyXS5pbmRleE9mKCdAQCcpID09PSAwKSB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBsZXQgb3BlcmF0aW9uID0gKGRpZmZzdHJbaV0ubGVuZ3RoID09IDAgJiYgaSAhPSAoZGlmZnN0ci5sZW5ndGggLSAxKSkgPyAnICcgOiBkaWZmc3RyW2ldWzBdO1xuXG4gICAgICBpZiAob3BlcmF0aW9uID09PSAnKycgfHwgb3BlcmF0aW9uID09PSAnLScgfHwgb3BlcmF0aW9uID09PSAnICcgfHwgb3BlcmF0aW9uID09PSAnXFxcXCcpIHtcbiAgICAgICAgaHVuay5saW5lcy5wdXNoKGRpZmZzdHJbaV0pO1xuICAgICAgICBodW5rLmxpbmVkZWxpbWl0ZXJzLnB1c2goZGVsaW1pdGVyc1tpXSB8fCAnXFxuJyk7XG5cbiAgICAgICAgaWYgKG9wZXJhdGlvbiA9PT0gJysnKSB7XG4gICAgICAgICAgYWRkQ291bnQrKztcbiAgICAgICAgfSBlbHNlIGlmIChvcGVyYXRpb24gPT09ICctJykge1xuICAgICAgICAgIHJlbW92ZUNvdW50Kys7XG4gICAgICAgIH0gZWxzZSBpZiAob3BlcmF0aW9uID09PSAnICcpIHtcbiAgICAgICAgICBhZGRDb3VudCsrO1xuICAgICAgICAgIHJlbW92ZUNvdW50Kys7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhhbmRsZSB0aGUgZW1wdHkgYmxvY2sgY291bnQgY2FzZVxuICAgIGlmICghYWRkQ291bnQgJiYgaHVuay5uZXdMaW5lcyA9PT0gMSkge1xuICAgICAgaHVuay5uZXdMaW5lcyA9IDA7XG4gICAgfVxuICAgIGlmICghcmVtb3ZlQ291bnQgJiYgaHVuay5vbGRMaW5lcyA9PT0gMSkge1xuICAgICAgaHVuay5vbGRMaW5lcyA9IDA7XG4gICAgfVxuXG4gICAgLy8gUGVyZm9ybSBvcHRpb25hbCBzYW5pdHkgY2hlY2tpbmdcbiAgICBpZiAob3B0aW9ucy5zdHJpY3QpIHtcbiAgICAgIGlmIChhZGRDb3VudCAhPT0gaHVuay5uZXdMaW5lcykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FkZGVkIGxpbmUgY291bnQgZGlkIG5vdCBtYXRjaCBmb3IgaHVuayBhdCBsaW5lICcgKyAoY2h1bmtIZWFkZXJJbmRleCArIDEpKTtcbiAgICAgIH1cbiAgICAgIGlmIChyZW1vdmVDb3VudCAhPT0gaHVuay5vbGRMaW5lcykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1JlbW92ZWQgbGluZSBjb3VudCBkaWQgbm90IG1hdGNoIGZvciBodW5rIGF0IGxpbmUgJyArIChjaHVua0hlYWRlckluZGV4ICsgMSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBodW5rO1xuICB9XG5cbiAgd2hpbGUgKGkgPCBkaWZmc3RyLmxlbmd0aCkge1xuICAgIHBhcnNlSW5kZXgoKTtcbiAgfVxuXG4gIHJldHVybiBsaXN0O1xufVxuIl19 + + + /***/ }), + /* 109 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /*istanbul ignore start*/ + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.default = _default; + + /*istanbul ignore end*/ + // Iterator that traverses in the range of [min, max], stepping + // by distance from a given start position. I.e. for [0, 4], with + // start of 2, this will iterate 2, 3, 1, 4, 0. + function + /*istanbul ignore start*/ + _default + /*istanbul ignore end*/ + (start, minLine, maxLine) { + var wantForward = true, + backwardExhausted = false, + forwardExhausted = false, + localOffset = 1; + return function iterator() { + if (wantForward && !forwardExhausted) { + if (backwardExhausted) { + localOffset++; + } else { + wantForward = false; + } // Check if trying to fit beyond text length, and if not, check it fits + // after offset location (or desired location on first iteration) + + + if (start + localOffset <= maxLine) { + return localOffset; + } + + forwardExhausted = true; + } + + if (!backwardExhausted) { + if (!forwardExhausted) { + wantForward = true; + } // Check if trying to fit before text beginning, and if not, check it fits + // before offset location + + + if (minLine <= start - localOffset) { + return -localOffset++; + } + + backwardExhausted = true; + return iterator(); + } // We tried to fit hunk before text beginning and beyond text length, then + // hunk can't fit on the text. Return undefined + + }; + } + //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL2Rpc3RhbmNlLWl0ZXJhdG9yLmpzIl0sIm5hbWVzIjpbInN0YXJ0IiwibWluTGluZSIsIm1heExpbmUiLCJ3YW50Rm9yd2FyZCIsImJhY2t3YXJkRXhoYXVzdGVkIiwiZm9yd2FyZEV4aGF1c3RlZCIsImxvY2FsT2Zmc2V0IiwiaXRlcmF0b3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNlO0FBQUE7QUFBQTtBQUFBO0FBQUEsQ0FBU0EsS0FBVCxFQUFnQkMsT0FBaEIsRUFBeUJDLE9BQXpCLEVBQWtDO0FBQy9DLE1BQUlDLFdBQVcsR0FBRyxJQUFsQjtBQUFBLE1BQ0lDLGlCQUFpQixHQUFHLEtBRHhCO0FBQUEsTUFFSUMsZ0JBQWdCLEdBQUcsS0FGdkI7QUFBQSxNQUdJQyxXQUFXLEdBQUcsQ0FIbEI7QUFLQSxTQUFPLFNBQVNDLFFBQVQsR0FBb0I7QUFDekIsUUFBSUosV0FBVyxJQUFJLENBQUNFLGdCQUFwQixFQUFzQztBQUNwQyxVQUFJRCxpQkFBSixFQUF1QjtBQUNyQkUsUUFBQUEsV0FBVztBQUNaLE9BRkQsTUFFTztBQUNMSCxRQUFBQSxXQUFXLEdBQUcsS0FBZDtBQUNELE9BTG1DLENBT3BDO0FBQ0E7OztBQUNBLFVBQUlILEtBQUssR0FBR00sV0FBUixJQUF1QkosT0FBM0IsRUFBb0M7QUFDbEMsZUFBT0ksV0FBUDtBQUNEOztBQUVERCxNQUFBQSxnQkFBZ0IsR0FBRyxJQUFuQjtBQUNEOztBQUVELFFBQUksQ0FBQ0QsaUJBQUwsRUFBd0I7QUFDdEIsVUFBSSxDQUFDQyxnQkFBTCxFQUF1QjtBQUNyQkYsUUFBQUEsV0FBVyxHQUFHLElBQWQ7QUFDRCxPQUhxQixDQUt0QjtBQUNBOzs7QUFDQSxVQUFJRixPQUFPLElBQUlELEtBQUssR0FBR00sV0FBdkIsRUFBb0M7QUFDbEMsZUFBTyxDQUFDQSxXQUFXLEVBQW5CO0FBQ0Q7O0FBRURGLE1BQUFBLGlCQUFpQixHQUFHLElBQXBCO0FBQ0EsYUFBT0csUUFBUSxFQUFmO0FBQ0QsS0E5QndCLENBZ0N6QjtBQUNBOztBQUNELEdBbENEO0FBbUNEIiwic291cmNlc0NvbnRlbnQiOlsiLy8gSXRlcmF0b3IgdGhhdCB0cmF2ZXJzZXMgaW4gdGhlIHJhbmdlIG9mIFttaW4sIG1heF0sIHN0ZXBwaW5nXG4vLyBieSBkaXN0YW5jZSBmcm9tIGEgZ2l2ZW4gc3RhcnQgcG9zaXRpb24uIEkuZS4gZm9yIFswLCA0XSwgd2l0aFxuLy8gc3RhcnQgb2YgMiwgdGhpcyB3aWxsIGl0ZXJhdGUgMiwgMywgMSwgNCwgMC5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKHN0YXJ0LCBtaW5MaW5lLCBtYXhMaW5lKSB7XG4gIGxldCB3YW50Rm9yd2FyZCA9IHRydWUsXG4gICAgICBiYWNrd2FyZEV4aGF1c3RlZCA9IGZhbHNlLFxuICAgICAgZm9yd2FyZEV4aGF1c3RlZCA9IGZhbHNlLFxuICAgICAgbG9jYWxPZmZzZXQgPSAxO1xuXG4gIHJldHVybiBmdW5jdGlvbiBpdGVyYXRvcigpIHtcbiAgICBpZiAod2FudEZvcndhcmQgJiYgIWZvcndhcmRFeGhhdXN0ZWQpIHtcbiAgICAgIGlmIChiYWNrd2FyZEV4aGF1c3RlZCkge1xuICAgICAgICBsb2NhbE9mZnNldCsrO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgd2FudEZvcndhcmQgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgLy8gQ2hlY2sgaWYgdHJ5aW5nIHRvIGZpdCBiZXlvbmQgdGV4dCBsZW5ndGgsIGFuZCBpZiBub3QsIGNoZWNrIGl0IGZpdHNcbiAgICAgIC8vIGFmdGVyIG9mZnNldCBsb2NhdGlvbiAob3IgZGVzaXJlZCBsb2NhdGlvbiBvbiBmaXJzdCBpdGVyYXRpb24pXG4gICAgICBpZiAoc3RhcnQgKyBsb2NhbE9mZnNldCA8PSBtYXhMaW5lKSB7XG4gICAgICAgIHJldHVybiBsb2NhbE9mZnNldDtcbiAgICAgIH1cblxuICAgICAgZm9yd2FyZEV4aGF1c3RlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKCFiYWNrd2FyZEV4aGF1c3RlZCkge1xuICAgICAgaWYgKCFmb3J3YXJkRXhoYXVzdGVkKSB7XG4gICAgICAgIHdhbnRGb3J3YXJkID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gQ2hlY2sgaWYgdHJ5aW5nIHRvIGZpdCBiZWZvcmUgdGV4dCBiZWdpbm5pbmcsIGFuZCBpZiBub3QsIGNoZWNrIGl0IGZpdHNcbiAgICAgIC8vIGJlZm9yZSBvZmZzZXQgbG9jYXRpb25cbiAgICAgIGlmIChtaW5MaW5lIDw9IHN0YXJ0IC0gbG9jYWxPZmZzZXQpIHtcbiAgICAgICAgcmV0dXJuIC1sb2NhbE9mZnNldCsrO1xuICAgICAgfVxuXG4gICAgICBiYWNrd2FyZEV4aGF1c3RlZCA9IHRydWU7XG4gICAgICByZXR1cm4gaXRlcmF0b3IoKTtcbiAgICB9XG5cbiAgICAvLyBXZSB0cmllZCB0byBmaXQgaHVuayBiZWZvcmUgdGV4dCBiZWdpbm5pbmcgYW5kIGJleW9uZCB0ZXh0IGxlbmd0aCwgdGhlblxuICAgIC8vIGh1bmsgY2FuJ3QgZml0IG9uIHRoZSB0ZXh0LiBSZXR1cm4gdW5kZWZpbmVkXG4gIH07XG59XG4iXX0= + + + /***/ }), + /* 110 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /*istanbul ignore start*/ + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.calcLineCount = calcLineCount; + exports.merge = merge; + + /*istanbul ignore end*/ + var + /*istanbul ignore start*/ + _create = __webpack_require__(111) + /*istanbul ignore end*/ + ; + + var + /*istanbul ignore start*/ + _parse = __webpack_require__(108) + /*istanbul ignore end*/ + ; + + var + /*istanbul ignore start*/ + _array = __webpack_require__(112) + /*istanbul ignore end*/ + ; + + /*istanbul ignore start*/ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + + function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + + function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + + function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + + /*istanbul ignore end*/ + function calcLineCount(hunk) { + /*istanbul ignore start*/ + var _calcOldNewLineCount = + /*istanbul ignore end*/ + calcOldNewLineCount(hunk.lines), + oldLines = _calcOldNewLineCount.oldLines, + newLines = _calcOldNewLineCount.newLines; + + if (oldLines !== undefined) { + hunk.oldLines = oldLines; + } else { + delete hunk.oldLines; + } + + if (newLines !== undefined) { + hunk.newLines = newLines; + } else { + delete hunk.newLines; + } + } + + function merge(mine, theirs, base) { + mine = loadPatch(mine, base); + theirs = loadPatch(theirs, base); + var ret = {}; // For index we just let it pass through as it doesn't have any necessary meaning. + // Leaving sanity checks on this to the API consumer that may know more about the + // meaning in their own context. + + if (mine.index || theirs.index) { + ret.index = mine.index || theirs.index; + } + + if (mine.newFileName || theirs.newFileName) { + if (!fileNameChanged(mine)) { + // No header or no change in ours, use theirs (and ours if theirs does not exist) + ret.oldFileName = theirs.oldFileName || mine.oldFileName; + ret.newFileName = theirs.newFileName || mine.newFileName; + ret.oldHeader = theirs.oldHeader || mine.oldHeader; + ret.newHeader = theirs.newHeader || mine.newHeader; + } else if (!fileNameChanged(theirs)) { + // No header or no change in theirs, use ours + ret.oldFileName = mine.oldFileName; + ret.newFileName = mine.newFileName; + ret.oldHeader = mine.oldHeader; + ret.newHeader = mine.newHeader; + } else { + // Both changed... figure it out + ret.oldFileName = selectField(ret, mine.oldFileName, theirs.oldFileName); + ret.newFileName = selectField(ret, mine.newFileName, theirs.newFileName); + ret.oldHeader = selectField(ret, mine.oldHeader, theirs.oldHeader); + ret.newHeader = selectField(ret, mine.newHeader, theirs.newHeader); + } + } + + ret.hunks = []; + var mineIndex = 0, + theirsIndex = 0, + mineOffset = 0, + theirsOffset = 0; + + while (mineIndex < mine.hunks.length || theirsIndex < theirs.hunks.length) { + var mineCurrent = mine.hunks[mineIndex] || { + oldStart: Infinity + }, + theirsCurrent = theirs.hunks[theirsIndex] || { + oldStart: Infinity + }; + + if (hunkBefore(mineCurrent, theirsCurrent)) { + // This patch does not overlap with any of the others, yay. + ret.hunks.push(cloneHunk(mineCurrent, mineOffset)); + mineIndex++; + theirsOffset += mineCurrent.newLines - mineCurrent.oldLines; + } else if (hunkBefore(theirsCurrent, mineCurrent)) { + // This patch does not overlap with any of the others, yay. + ret.hunks.push(cloneHunk(theirsCurrent, theirsOffset)); + theirsIndex++; + mineOffset += theirsCurrent.newLines - theirsCurrent.oldLines; + } else { + // Overlap, merge as best we can + var mergedHunk = { + oldStart: Math.min(mineCurrent.oldStart, theirsCurrent.oldStart), + oldLines: 0, + newStart: Math.min(mineCurrent.newStart + mineOffset, theirsCurrent.oldStart + theirsOffset), + newLines: 0, + lines: [] + }; + mergeLines(mergedHunk, mineCurrent.oldStart, mineCurrent.lines, theirsCurrent.oldStart, theirsCurrent.lines); + theirsIndex++; + mineIndex++; + ret.hunks.push(mergedHunk); + } + } + + return ret; + } + + function loadPatch(param, base) { + if (typeof param === 'string') { + if (/^@@/m.test(param) || /^Index:/m.test(param)) { + return ( + /*istanbul ignore start*/ + (0, + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + _parse + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + parsePatch) + /*istanbul ignore end*/ + (param)[0] + ); + } + + if (!base) { + throw new Error('Must provide a base reference or pass in a patch'); + } + + return ( + /*istanbul ignore start*/ + (0, + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + _create + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + structuredPatch) + /*istanbul ignore end*/ + (undefined, undefined, base, param) + ); + } + + return param; + } + + function fileNameChanged(patch) { + return patch.newFileName && patch.newFileName !== patch.oldFileName; + } + + function selectField(index, mine, theirs) { + if (mine === theirs) { + return mine; + } else { + index.conflict = true; + return { + mine: mine, + theirs: theirs + }; + } + } + + function hunkBefore(test, check) { + return test.oldStart < check.oldStart && test.oldStart + test.oldLines < check.oldStart; + } + + function cloneHunk(hunk, offset) { + return { + oldStart: hunk.oldStart, + oldLines: hunk.oldLines, + newStart: hunk.newStart + offset, + newLines: hunk.newLines, + lines: hunk.lines + }; + } + + function mergeLines(hunk, mineOffset, mineLines, theirOffset, theirLines) { + // This will generally result in a conflicted hunk, but there are cases where the context + // is the only overlap where we can successfully merge the content here. + var mine = { + offset: mineOffset, + lines: mineLines, + index: 0 + }, + their = { + offset: theirOffset, + lines: theirLines, + index: 0 + }; // Handle any leading content + + insertLeading(hunk, mine, their); + insertLeading(hunk, their, mine); // Now in the overlap content. Scan through and select the best changes from each. + + while (mine.index < mine.lines.length && their.index < their.lines.length) { + var mineCurrent = mine.lines[mine.index], + theirCurrent = their.lines[their.index]; + + if ((mineCurrent[0] === '-' || mineCurrent[0] === '+') && (theirCurrent[0] === '-' || theirCurrent[0] === '+')) { + // Both modified ... + mutualChange(hunk, mine, their); + } else if (mineCurrent[0] === '+' && theirCurrent[0] === ' ') { + /*istanbul ignore start*/ + var _hunk$lines; + + /*istanbul ignore end*/ + // Mine inserted + + /*istanbul ignore start*/ + (_hunk$lines = + /*istanbul ignore end*/ + hunk.lines).push. + /*istanbul ignore start*/ + apply + /*istanbul ignore end*/ + ( + /*istanbul ignore start*/ + _hunk$lines + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + collectChange(mine))); + } else if (theirCurrent[0] === '+' && mineCurrent[0] === ' ') { + /*istanbul ignore start*/ + var _hunk$lines2; + + /*istanbul ignore end*/ + // Theirs inserted + + /*istanbul ignore start*/ + (_hunk$lines2 = + /*istanbul ignore end*/ + hunk.lines).push. + /*istanbul ignore start*/ + apply + /*istanbul ignore end*/ + ( + /*istanbul ignore start*/ + _hunk$lines2 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + collectChange(their))); + } else if (mineCurrent[0] === '-' && theirCurrent[0] === ' ') { + // Mine removed or edited + removal(hunk, mine, their); + } else if (theirCurrent[0] === '-' && mineCurrent[0] === ' ') { + // Their removed or edited + removal(hunk, their, mine, true); + } else if (mineCurrent === theirCurrent) { + // Context identity + hunk.lines.push(mineCurrent); + mine.index++; + their.index++; + } else { + // Context mismatch + conflict(hunk, collectChange(mine), collectChange(their)); + } + } // Now push anything that may be remaining + + + insertTrailing(hunk, mine); + insertTrailing(hunk, their); + calcLineCount(hunk); + } + + function mutualChange(hunk, mine, their) { + var myChanges = collectChange(mine), + theirChanges = collectChange(their); + + if (allRemoves(myChanges) && allRemoves(theirChanges)) { + // Special case for remove changes that are supersets of one another + if ( + /*istanbul ignore start*/ + (0, + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + _array + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + arrayStartsWith) + /*istanbul ignore end*/ + (myChanges, theirChanges) && skipRemoveSuperset(their, myChanges, myChanges.length - theirChanges.length)) { + /*istanbul ignore start*/ + var _hunk$lines3; + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + (_hunk$lines3 = + /*istanbul ignore end*/ + hunk.lines).push. + /*istanbul ignore start*/ + apply + /*istanbul ignore end*/ + ( + /*istanbul ignore start*/ + _hunk$lines3 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + myChanges)); + + return; + } else if ( + /*istanbul ignore start*/ + (0, + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + _array + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + arrayStartsWith) + /*istanbul ignore end*/ + (theirChanges, myChanges) && skipRemoveSuperset(mine, theirChanges, theirChanges.length - myChanges.length)) { + /*istanbul ignore start*/ + var _hunk$lines4; + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + (_hunk$lines4 = + /*istanbul ignore end*/ + hunk.lines).push. + /*istanbul ignore start*/ + apply + /*istanbul ignore end*/ + ( + /*istanbul ignore start*/ + _hunk$lines4 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + theirChanges)); + + return; + } + } else if ( + /*istanbul ignore start*/ + (0, + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + _array + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + arrayEqual) + /*istanbul ignore end*/ + (myChanges, theirChanges)) { + /*istanbul ignore start*/ + var _hunk$lines5; + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + (_hunk$lines5 = + /*istanbul ignore end*/ + hunk.lines).push. + /*istanbul ignore start*/ + apply + /*istanbul ignore end*/ + ( + /*istanbul ignore start*/ + _hunk$lines5 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + myChanges)); + + return; + } + + conflict(hunk, myChanges, theirChanges); + } + + function removal(hunk, mine, their, swap) { + var myChanges = collectChange(mine), + theirChanges = collectContext(their, myChanges); + + if (theirChanges.merged) { + /*istanbul ignore start*/ + var _hunk$lines6; + + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + (_hunk$lines6 = + /*istanbul ignore end*/ + hunk.lines).push. + /*istanbul ignore start*/ + apply + /*istanbul ignore end*/ + ( + /*istanbul ignore start*/ + _hunk$lines6 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + theirChanges.merged)); + } else { + conflict(hunk, swap ? theirChanges : myChanges, swap ? myChanges : theirChanges); + } + } + + function conflict(hunk, mine, their) { + hunk.conflict = true; + hunk.lines.push({ + conflict: true, + mine: mine, + theirs: their + }); + } + + function insertLeading(hunk, insert, their) { + while (insert.offset < their.offset && insert.index < insert.lines.length) { + var line = insert.lines[insert.index++]; + hunk.lines.push(line); + insert.offset++; + } + } + + function insertTrailing(hunk, insert) { + while (insert.index < insert.lines.length) { + var line = insert.lines[insert.index++]; + hunk.lines.push(line); + } + } + + function collectChange(state) { + var ret = [], + operation = state.lines[state.index][0]; + + while (state.index < state.lines.length) { + var line = state.lines[state.index]; // Group additions that are immediately after subtractions and treat them as one "atomic" modify change. + + if (operation === '-' && line[0] === '+') { + operation = '+'; + } + + if (operation === line[0]) { + ret.push(line); + state.index++; + } else { + break; + } + } + + return ret; + } + + function collectContext(state, matchChanges) { + var changes = [], + merged = [], + matchIndex = 0, + contextChanges = false, + conflicted = false; + + while (matchIndex < matchChanges.length && state.index < state.lines.length) { + var change = state.lines[state.index], + match = matchChanges[matchIndex]; // Once we've hit our add, then we are done + + if (match[0] === '+') { + break; + } + + contextChanges = contextChanges || change[0] !== ' '; + merged.push(match); + matchIndex++; // Consume any additions in the other block as a conflict to attempt + // to pull in the remaining context after this + + if (change[0] === '+') { + conflicted = true; + + while (change[0] === '+') { + changes.push(change); + change = state.lines[++state.index]; + } + } + + if (match.substr(1) === change.substr(1)) { + changes.push(change); + state.index++; + } else { + conflicted = true; + } + } + + if ((matchChanges[matchIndex] || '')[0] === '+' && contextChanges) { + conflicted = true; + } + + if (conflicted) { + return changes; + } + + while (matchIndex < matchChanges.length) { + merged.push(matchChanges[matchIndex++]); + } + + return { + merged: merged, + changes: changes + }; + } + + function allRemoves(changes) { + return changes.reduce(function (prev, change) { + return prev && change[0] === '-'; + }, true); + } + + function skipRemoveSuperset(state, removeChanges, delta) { + for (var i = 0; i < delta; i++) { + var changeContent = removeChanges[removeChanges.length - delta + i].substr(1); + + if (state.lines[state.index + i] !== ' ' + changeContent) { + return false; + } + } + + state.index += delta; + return true; + } + + function calcOldNewLineCount(lines) { + var oldLines = 0; + var newLines = 0; + lines.forEach(function (line) { + if (typeof line !== 'string') { + var myCount = calcOldNewLineCount(line.mine); + var theirCount = calcOldNewLineCount(line.theirs); + + if (oldLines !== undefined) { + if (myCount.oldLines === theirCount.oldLines) { + oldLines += myCount.oldLines; + } else { + oldLines = undefined; + } + } + + if (newLines !== undefined) { + if (myCount.newLines === theirCount.newLines) { + newLines += myCount.newLines; + } else { + newLines = undefined; + } + } + } else { + if (newLines !== undefined && (line[0] === '+' || line[0] === ' ')) { + newLines++; + } + + if (oldLines !== undefined && (line[0] === '-' || line[0] === ' ')) { + oldLines++; + } + } + }); + return { + oldLines: oldLines, + newLines: newLines + }; + } + //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXRjaC9tZXJnZS5qcyJdLCJuYW1lcyI6WyJjYWxjTGluZUNvdW50IiwiaHVuayIsImNhbGNPbGROZXdMaW5lQ291bnQiLCJsaW5lcyIsIm9sZExpbmVzIiwibmV3TGluZXMiLCJ1bmRlZmluZWQiLCJtZXJnZSIsIm1pbmUiLCJ0aGVpcnMiLCJiYXNlIiwibG9hZFBhdGNoIiwicmV0IiwiaW5kZXgiLCJuZXdGaWxlTmFtZSIsImZpbGVOYW1lQ2hhbmdlZCIsIm9sZEZpbGVOYW1lIiwib2xkSGVhZGVyIiwibmV3SGVhZGVyIiwic2VsZWN0RmllbGQiLCJodW5rcyIsIm1pbmVJbmRleCIsInRoZWlyc0luZGV4IiwibWluZU9mZnNldCIsInRoZWlyc09mZnNldCIsImxlbmd0aCIsIm1pbmVDdXJyZW50Iiwib2xkU3RhcnQiLCJJbmZpbml0eSIsInRoZWlyc0N1cnJlbnQiLCJodW5rQmVmb3JlIiwicHVzaCIsImNsb25lSHVuayIsIm1lcmdlZEh1bmsiLCJNYXRoIiwibWluIiwibmV3U3RhcnQiLCJtZXJnZUxpbmVzIiwicGFyYW0iLCJ0ZXN0IiwicGFyc2VQYXRjaCIsIkVycm9yIiwic3RydWN0dXJlZFBhdGNoIiwicGF0Y2giLCJjb25mbGljdCIsImNoZWNrIiwib2Zmc2V0IiwibWluZUxpbmVzIiwidGhlaXJPZmZzZXQiLCJ0aGVpckxpbmVzIiwidGhlaXIiLCJpbnNlcnRMZWFkaW5nIiwidGhlaXJDdXJyZW50IiwibXV0dWFsQ2hhbmdlIiwiY29sbGVjdENoYW5nZSIsInJlbW92YWwiLCJpbnNlcnRUcmFpbGluZyIsIm15Q2hhbmdlcyIsInRoZWlyQ2hhbmdlcyIsImFsbFJlbW92ZXMiLCJhcnJheVN0YXJ0c1dpdGgiLCJza2lwUmVtb3ZlU3VwZXJzZXQiLCJhcnJheUVxdWFsIiwic3dhcCIsImNvbGxlY3RDb250ZXh0IiwibWVyZ2VkIiwiaW5zZXJ0IiwibGluZSIsInN0YXRlIiwib3BlcmF0aW9uIiwibWF0Y2hDaGFuZ2VzIiwiY2hhbmdlcyIsIm1hdGNoSW5kZXgiLCJjb250ZXh0Q2hhbmdlcyIsImNvbmZsaWN0ZWQiLCJjaGFuZ2UiLCJtYXRjaCIsInN1YnN0ciIsInJlZHVjZSIsInByZXYiLCJyZW1vdmVDaGFuZ2VzIiwiZGVsdGEiLCJpIiwiY2hhbmdlQ29udGVudCIsImZvckVhY2giLCJteUNvdW50IiwidGhlaXJDb3VudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFFQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7OztBQUVPLFNBQVNBLGFBQVQsQ0FBdUJDLElBQXZCLEVBQTZCO0FBQUE7QUFBQTtBQUFBO0FBQ0xDLEVBQUFBLG1CQUFtQixDQUFDRCxJQUFJLENBQUNFLEtBQU4sQ0FEZDtBQUFBLE1BQzNCQyxRQUQyQix3QkFDM0JBLFFBRDJCO0FBQUEsTUFDakJDLFFBRGlCLHdCQUNqQkEsUUFEaUI7O0FBR2xDLE1BQUlELFFBQVEsS0FBS0UsU0FBakIsRUFBNEI7QUFDMUJMLElBQUFBLElBQUksQ0FBQ0csUUFBTCxHQUFnQkEsUUFBaEI7QUFDRCxHQUZELE1BRU87QUFDTCxXQUFPSCxJQUFJLENBQUNHLFFBQVo7QUFDRDs7QUFFRCxNQUFJQyxRQUFRLEtBQUtDLFNBQWpCLEVBQTRCO0FBQzFCTCxJQUFBQSxJQUFJLENBQUNJLFFBQUwsR0FBZ0JBLFFBQWhCO0FBQ0QsR0FGRCxNQUVPO0FBQ0wsV0FBT0osSUFBSSxDQUFDSSxRQUFaO0FBQ0Q7QUFDRjs7QUFFTSxTQUFTRSxLQUFULENBQWVDLElBQWYsRUFBcUJDLE1BQXJCLEVBQTZCQyxJQUE3QixFQUFtQztBQUN4Q0YsRUFBQUEsSUFBSSxHQUFHRyxTQUFTLENBQUNILElBQUQsRUFBT0UsSUFBUCxDQUFoQjtBQUNBRCxFQUFBQSxNQUFNLEdBQUdFLFNBQVMsQ0FBQ0YsTUFBRCxFQUFTQyxJQUFULENBQWxCO0FBRUEsTUFBSUUsR0FBRyxHQUFHLEVBQVYsQ0FKd0MsQ0FN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R0FBWixJQUFtQkEsSUFBSSxDQUFDLENBQUQsQ0FBSixLQUFZLEdBQTFELENBQUosRUFBb0U7QUFDbEUvRCxRQUFBQSxRQUFRO0FBQ1Q7QUFDRjtBQUNGLEdBNUJEO0FBOEJBLFNBQU87QUFBQ0EsSUFBQUEsUUFBUSxFQUFSQSxRQUFEO0FBQVdDLElBQUFBLFFBQVEsRUFBUkE7QUFBWCxHQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3N0cnVjdHVyZWRQYXRjaH0gZnJvbSAnLi9jcmVhdGUnO1xuaW1wb3J0IHtwYXJzZVBhdGNofSBmcm9tICcuL3BhcnNlJztcblxuaW1wb3J0IHthcnJheUVxdWFsLCBhcnJheVN0YXJ0c1dpdGh9IGZyb20gJy4uL3V0aWwvYXJyYXknO1xuXG5leHBvcnQgZnVuY3Rpb24gY2FsY0xpbmVDb3VudChodW5rKSB7XG4gIGNvbnN0IHtvbGRMaW5lcywgbmV3TGluZXN9ID0gY2FsY09sZE5ld0xpbmVDb3VudChodW5rLmxpbmVzKTtcblxuICBpZiAob2xkTGluZXMgIT09IHVuZGVmaW5lZCkge1xuICAgIGh1bmsub2xkTGluZXMgPSBvbGRMaW5lcztcbiAgfSBlbHNlIHtcbiAgICBkZWxldGUgaHVuay5vbGRMaW5lcztcbiAgfVxuXG4gIGlmIChuZXdMaW5lcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaHVuay5uZXdMaW5lcyA9IG5ld0xpbmVzO1xuICB9IGVsc2Uge1xuICAgIGRlbGV0ZSBodW5rLm5ld0xpbmVzO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZShtaW5lLCB0aGVpcnMsIGJhc2UpIHtcbiAgbWluZSA9IGxvYWRQYXRjaChtaW5lLCBiYXNlKTtcbiAgdGhlaXJzID0gbG9hZFBhdGNoKHRoZWlycywgYmFzZSk7XG5cbiAgbGV0IHJldCA9IHt9O1xuXG4gIC8vIEZvciBpbmRleCB3ZSBqdXN0IGxldCBpdCBwYXNzIHRocm91Z2ggYXMgaXQgZG9lc24ndCBoYXZlIGFueSBuZWNlc3NhcnkgbWVhbmluZy5cbiAgLy8gTGVhdmluZyBzYW5pdHkgY2hlY2tzIG9uIHRoaXMgdG8gdGhlIEFQSSBjb25zdW1lciB0aGF0IG1heSBrbm93IG1vcmUgYWJvdXQgdGhlXG4gIC8vIG1lYW5pbmcgaW4gdGhlaXIgb3duIGNvbnRleHQuXG4gIGlmIChtaW5lLmluZGV4IHx8IHRoZWlycy5pbmRleCkge1xuICAgIHJldC5pbmRleCA9IG1pbmUuaW5kZXggfHwgdGhlaXJzLmluZGV4O1xuICB9XG5cbiAgaWYgKG1pbmUubmV3RmlsZU5hbWUgfHwgdGhlaXJzLm5ld0ZpbGVOYW1lKSB7XG4gICAgaWYgKCFmaWxlTmFtZUNoYW5nZWQobWluZSkpIHtcbiAgICAgIC8vIE5vIGhlYWRlciBvciBubyBjaGFuZ2UgaW4gb3VycywgdXNlIHRoZWlycyAoYW5kIG91cnMgaWYgdGhlaXJzIGRvZXMgbm90IGV4aXN0KVxuICAgICAgcmV0Lm9sZEZpbGVOYW1lID0gdGhlaXJzLm9sZEZpbGVOYW1lIHx8IG1pbmUub2xkRmlsZU5hbWU7XG4gICAgICByZXQubmV3RmlsZU5hbWUgPSB0aGVpcnMubmV3RmlsZU5hbWUgfHwgbWluZS5uZXdGaWxlTmFtZTtcbiAgICAgIHJldC5vbGRIZWFkZXIgPSB0aGVpcnMub2xkSGVhZGVyIHx8IG1pbmUub2xkSGVhZGVyO1xuICAgICAgcmV0Lm5ld0hlYWRlciA9IHRoZWlycy5uZXdIZWFkZXIgfHwgbWluZS5uZXdIZWFkZXI7XG4gICAgfSBlbHNlIGlmICghZmlsZU5hbWVDaGFuZ2VkKHRoZWlycykpIHtcbiAgICAgIC8vIE5vIGhlYWRlciBvciBubyBjaGFuZ2UgaW4gdGhlaXJzLCB1c2Ugb3Vyc1xuICAgICAgcmV0Lm9sZEZpbGVOYW1lID0gbWluZS5vbGRGaWxlTmFtZTtcbiAgICAgIHJldC5uZXdGaWxlTmFtZSA9IG1pbmUubmV3RmlsZU5hbWU7XG4gICAgICByZXQub2xkSGVhZGVyID0gbWluZS5vbGRIZWFkZXI7XG4gICAgICByZXQubmV3SGVhZGVyID0gbWluZS5uZXdIZWFkZXI7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEJvdGggY2hhbmdlZC4uLiBmaWd1cmUgaXQgb3V0XG4gICAgICByZXQub2xkRmlsZU5hbWUgPSBzZWxlY3RGaWVsZChyZXQsIG1pbmUub2xkRmlsZU5hbWUsIHRoZWlycy5vbGRGaWxlTmFtZSk7XG4gICAgICByZXQubmV3RmlsZU5hbWUgPSBzZWxlY3RGaWVsZChyZXQsIG1pbmUubmV3RmlsZU5hbWUsIHRoZWlycy5uZXdGaWxlTmFtZSk7XG4gICAgICByZXQub2xkSGVhZGVyID0gc2VsZWN0RmllbGQocmV0LCBtaW5lLm9sZEhlYWRlciwgdGhlaXJzLm9sZEhlYWRlcik7XG4gICAgICByZXQubmV3SGVhZGVyID0gc2VsZWN0RmllbGQocmV0LCBtaW5lLm5ld0hlYWRlciwgdGhlaXJzLm5ld0hlYWRlcik7XG4gICAgfVxuICB9XG5cbiAgcmV0Lmh1bmtzID0gW107XG5cbiAgbGV0IG1pbmVJbmRleCA9IDAsXG4gICAgICB0aGVpcnNJbmRleCA9IDAsXG4gICAgICBtaW5lT2Zmc2V0ID0gMCxcbiAgICAgIHRoZWlyc09mZnNldCA9IDA7XG5cbiAgd2hpbGUgKG1pbmVJbmRleCA8IG1pbmUuaHVua3MubGVuZ3RoIHx8IHRoZWlyc0luZGV4IDwgdGhlaXJzLmh1bmtzLmxlbmd0aCkge1xuICAgIGxldCBtaW5lQ3VycmVudCA9IG1pbmUuaHVua3NbbWluZUluZGV4XSB8fCB7b2xkU3RhcnQ6IEluZmluaXR5fSxcbiAgICAgICAgdGhlaXJzQ3VycmVudCA9IHRoZWlycy5odW5rc1t0aGVpcnNJbmRleF0gfHwge29sZFN0YXJ0OiBJbmZpbml0eX07XG5cbiAgICBpZiAoaHVua0JlZm9yZShtaW5lQ3VycmVudCwgdGhlaXJzQ3VycmVudCkpIHtcbiAgICAgIC8vIFRoaXMgcGF0Y2ggZG9lcyBub3Qgb3ZlcmxhcCB3aXRoIGFueSBvZiB0aGUgb3RoZXJzLCB5YXkuXG4gICAgICByZXQuaHVua3MucHVzaChjbG9uZUh1bmsobWluZUN1cnJlbnQsIG1pbmVPZmZzZXQpKTtcbiAgICAgIG1pbmVJbmRleCsrO1xuICAgICAgdGhlaXJzT2Zmc2V0ICs9IG1pbmVDdXJyZW50Lm5ld0xpbmVzIC0gbWluZUN1cnJlbnQub2xkTGluZXM7XG4gICAgfSBlbHNlIGlmIChodW5rQmVmb3JlKHRoZWlyc0N1cnJlbnQsIG1pbmVDdXJyZW50KSkge1xuICAgICAgLy8gVGhpcyBwYXRjaCBkb2VzIG5vdCBvdmVybGFwIHdpdGggYW55IG9mIHRoZSBvdGhlcnMsIHlheS5cbiAgICAgIHJldC5odW5rcy5wdXNoKGNsb25lSHVuayh0aGVpcnNDdXJyZW50LCB0aGVpcnNPZmZzZXQpKTtcbiAgICAgIHRoZWlyc0luZGV4Kys7XG4gICAgICBtaW5lT2Zmc2V0ICs9IHRoZWlyc0N1cnJlbnQubmV3TGluZXMgLSB0aGVpcnNDdXJyZW50Lm9sZExpbmVzO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBPdmVybGFwLCBtZXJnZSBhcyBiZXN0IHdlIGNhblxuICAgICAgbGV0IG1lcmdlZEh1bmsgPSB7XG4gICAgICAgIG9sZFN0YXJ0OiBNYXRoLm1pbihtaW5lQ3VycmVudC5vbGRTdGFydCwgdGhlaXJzQ3VycmVudC5vbGRTdGFydCksXG4gICAgICAgIG9sZExpbmVzOiAwLFxuICAgICAgICBuZXdTdGFydDogTWF0aC5taW4obWluZUN1cnJlbnQubmV3U3RhcnQgKyBtaW5lT2Zmc2V0LCB0aGVpcnNDdXJyZW50Lm9sZFN0YXJ0ICsgdGhlaXJzT2Zmc2V0KSxcbiAgICAgICAgbmV3TGluZXM6IDAsXG4gICAgICAgIGxpbmVzOiBbXVxuICAgICAgfTtcbiAgICAgIG1lcmdlTGluZXMobWVyZ2VkSHVuaywgbWluZUN1cnJlbnQub2xkU3RhcnQsIG1pbmVDdXJyZW50LmxpbmVzLCB0aGVpcnNDdXJyZW50Lm9sZFN0YXJ0LCB0aGVpcnNDdXJyZW50LmxpbmVzKTtcbiAgICAgIHRoZWlyc0luZGV4Kys7XG4gICAgICBtaW5lSW5kZXgrKztcblxuICAgICAgcmV0Lmh1bmtzLnB1c2gobWVyZ2VkSHVuayk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJldDtcbn1cblxuZnVuY3Rpb24gbG9hZFBhdGNoKHBhcmFtLCBiYXNlKSB7XG4gIGlmICh0eXBlb2YgcGFyYW0gPT09ICdzdHJpbmcnKSB7XG4gICAgaWYgKCgvXkBAL20pLnRlc3QocGFyYW0pIHx8ICgoL15JbmRleDovbSkudGVzdChwYXJhbSkpKSB7XG4gICAgICByZXR1cm4gcGFyc2VQYXRjaChwYXJhbSlbMF07XG4gICAgfVxuXG4gICAgaWYgKCFiYXNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ011c3QgcHJvdmlkZSBhIGJhc2UgcmVmZXJlbmNlIG9yIHBhc3MgaW4gYSBwYXRjaCcpO1xuICAgIH1cbiAgICByZXR1cm4gc3RydWN0dXJlZFBhdGNoKHVuZGVmaW5lZCwgdW5kZWZpbmVkLCBiYXNlLCBwYXJhbSk7XG4gIH1cblxuICByZXR1cm4gcGFyYW07XG59XG5cbmZ1bmN0aW9uIGZpbGVOYW1lQ2hhbmdlZChwYXRjaCkge1xuICByZXR1cm4gcGF0Y2gubmV3RmlsZU5hbWUgJiYgcGF0Y2gubmV3RmlsZU5hbWUgIT09IHBhdGNoLm9sZEZpbGVOYW1lO1xufVxuXG5mdW5jdGlvbiBzZWxlY3RGaWVsZChpbmRleCwgbWluZSwgdGhlaXJzKSB7XG4gIGlmIChtaW5lID09PSB0aGVpcnMpIHtcbiAgICByZXR1cm4gbWluZTtcbiAgfSBlbHNlIHtcbiAgICBpbmRleC5jb25mbGljdCA9IHRydWU7XG4gICAgcmV0dXJuIHttaW5lLCB0aGVpcnN9O1xuICB9XG59XG5cbmZ1bmN0aW9uIGh1bmtCZWZvcmUodGVzdCwgY2hlY2spIHtcbiAgcmV0dXJuIHRlc3Qub2xkU3RhcnQgPCBjaGVjay5vbGRTdGFydFxuICAgICYmICh0ZXN0Lm9sZFN0YXJ0ICsgdGVzdC5vbGRMaW5lcykgPCBjaGVjay5vbGRTdGFydDtcbn1cblxuZnVuY3Rpb24gY2xvbmVIdW5rKGh1bmssIG9mZnNldCkge1xuICByZXR1cm4ge1xuICAgIG9sZFN0YXJ0OiBodW5rLm9sZFN0YXJ0LCBvbGRMaW5lczogaHVuay5vbGRMaW5lcyxcbiAgICBuZXdTdGFydDogaHVuay5uZXdTdGFydCArIG9mZnNldCwgbmV3TGluZXM6IGh1bmsubmV3TGluZXMsXG4gICAgbGluZXM6IGh1bmsubGluZXNcbiAgfTtcbn1cblxuZnVuY3Rpb24gbWVyZ2VMaW5lcyhodW5rLCBtaW5lT2Zmc2V0LCBtaW5lTGluZXMsIHRoZWlyT2Zmc2V0LCB0aGVpckxpbmVzKSB7XG4gIC8vIFRoaXMgd2lsbCBnZW5lcmFsbHkgcmVzdWx0IGluIGEgY29uZmxpY3RlZCBodW5rLCBidXQgdGhlcmUgYXJlIGNhc2VzIHdoZXJlIHRoZSBjb250ZXh0XG4gIC8vIGlzIHRoZSBvbmx5IG92ZXJsYXAgd2hlcmUgd2UgY2FuIHN1Y2Nlc3NmdWxseSBtZXJnZSB0aGUgY29udGVudCBoZXJlLlxuICBsZXQgbWluZSA9IHtvZmZzZXQ6IG1pbmVPZmZzZXQsIGxpbmVzOiBtaW5lTGluZXMsIGluZGV4OiAwfSxcbiAgICAgIHRoZWlyID0ge29mZnNldDogdGhlaXJPZmZzZXQsIGxpbmVzOiB0aGVpckxpbmVzLCBpbmRleDogMH07XG5cbiAgLy8gSGFuZGxlIGFueSBsZWFkaW5nIGNvbnRlbnRcbiAgaW5zZXJ0TGVhZGluZyhodW5rLCBtaW5lLCB0aGVpcik7XG4gIGluc2VydExlYWRpbmcoaHVuaywgdGhlaXIsIG1pbmUpO1xuXG4gIC8vIE5vdyBpbiB0aGUgb3ZlcmxhcCBjb250ZW50LiBTY2FuIHRocm91Z2ggYW5kIHNlbGVjdCB0aGUgYmVzdCBjaGFuZ2VzIGZyb20gZWFjaC5cbiAgd2hpbGUgKG1pbmUuaW5kZXggPCBtaW5lLmxpbmVzLmxlbmd0aCAmJiB0aGVpci5pbmRleCA8IHRoZWlyLmxpbmVzLmxlbmd0aCkge1xuICAgIGxldCBtaW5lQ3VycmVudCA9IG1pbmUubGluZXNbbWluZS5pbmRleF0sXG4gICAgICAgIHRoZWlyQ3VycmVudCA9IHRoZWlyLmxpbmVzW3RoZWlyLmluZGV4XTtcblxuICAgIGlmICgobWluZUN1cnJlbnRbMF0gPT09ICctJyB8fCBtaW5lQ3VycmVudFswXSA9PT0gJysnKVxuICAgICAgICAmJiAodGhlaXJDdXJyZW50WzBdID09PSAnLScgfHwgdGhlaXJDdXJyZW50WzBdID09PSAnKycpKSB7XG4gICAgICAvLyBCb3RoIG1vZGlmaWVkIC4uLlxuICAgICAgbXV0dWFsQ2hhbmdlKGh1bmssIG1pbmUsIHRoZWlyKTtcbiAgICB9IGVsc2UgaWYgKG1pbmVDdXJyZW50WzBdID09PSAnKycgJiYgdGhlaXJDdXJyZW50WzBdID09PSAnICcpIHtcbiAgICAgIC8vIE1pbmUgaW5zZXJ0ZWRcbiAgICAgIGh1bmsubGluZXMucHVzaCguLi4gY29sbGVjdENoYW5nZShtaW5lKSk7XG4gICAgfSBlbHNlIGlmICh0aGVpckN1cnJlbnRbMF0gPT09ICcrJyAmJiBtaW5lQ3VycmVudFswXSA9PT0gJyAnKSB7XG4gICAgICAvLyBUaGVpcnMgaW5zZXJ0ZWRcbiAgICAgIGh1bmsubGluZXMucHVzaCguLi4gY29sbGVjdENoYW5nZSh0aGVpcikpO1xuICAgIH0gZWxzZSBpZiAobWluZUN1cnJlbnRbMF0gPT09ICctJyAmJiB0aGVpckN1cnJlbnRbMF0gPT09ICcgJykge1xuICAgICAgLy8gTWluZSByZW1vdmVkIG9yIGVkaXRlZFxuICAgICAgcmVtb3ZhbChodW5rLCBtaW5lLCB0aGVpcik7XG4gICAgfSBlbHNlIGlmICh0aGVpckN1cnJlbnRbMF0gPT09ICctJyAmJiBtaW5lQ3VycmVudFswXSA9PT0gJyAnKSB7XG4gICAgICAvLyBUaGVpciByZW1vdmVkIG9yIGVkaXRlZFxuICAgICAgcmVtb3ZhbChodW5rLCB0aGVpciwgbWluZSwgdHJ1ZSk7XG4gICAgfSBlbHNlIGlmIChtaW5lQ3VycmVudCA9PT0gdGhlaXJDdXJyZW50KSB7XG4gICAgICAvLyBDb250ZXh0IGlkZW50aXR5XG4gICAgICBodW5rLmxpbmVzLnB1c2gobWluZUN1cnJlbnQpO1xuICAgICAgbWluZS5pbmRleCsrO1xuICAgICAgdGhlaXIuaW5kZXgrKztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQ29udGV4dCBtaXNtYXRjaFxuICAgICAgY29uZmxpY3QoaHVuaywgY29sbGVjdENoYW5nZShtaW5lKSwgY29sbGVjdENoYW5nZSh0aGVpcikpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5vdyBwdXNoIGFueXRoaW5nIHRoYXQgbWF5IGJlIHJlbWFpbmluZ1xuICBpbnNlcnRUcmFpbGluZyhodW5rLCBtaW5lKTtcbiAgaW5zZXJ0VHJhaWxpbmcoaHVuaywgdGhlaXIpO1xuXG4gIGNhbGNMaW5lQ291bnQoaHVuayk7XG59XG5cbmZ1bmN0aW9uIG11dHVhbENoYW5nZShodW5rLCBtaW5lLCB0aGVpcikge1xuICBsZXQgbXlDaGFuZ2VzID0gY29sbGVjdENoYW5nZShtaW5lKSxcbiAgICAgIHRoZWlyQ2hhbmdlcyA9IGNvbGxlY3RDaGFuZ2UodGhlaXIpO1xuXG4gIGlmIChhbGxSZW1vdmVzKG15Q2hhbmdlcykgJiYgYWxsUmVtb3Zlcyh0aGVpckNoYW5nZXMpKSB7XG4gICAgLy8gU3BlY2lhbCBjYXNlIGZvciByZW1vdmUgY2hhbmdlcyB0aGF0IGFyZSBzdXBlcnNldHMgb2Ygb25lIGFub3RoZXJcbiAgICBpZiAoYXJyYXlTdGFydHNXaXRoKG15Q2hhbmdlcywgdGhlaXJDaGFuZ2VzKVxuICAgICAgICAmJiBza2lwUmVtb3ZlU3VwZXJzZXQodGhlaXIsIG15Q2hhbmdlcywgbXlDaGFuZ2VzLmxlbmd0aCAtIHRoZWlyQ2hhbmdlcy5sZW5ndGgpKSB7XG4gICAgICBodW5rLmxpbmVzLnB1c2goLi4uIG15Q2hhbmdlcyk7XG4gICAgICByZXR1cm47XG4gICAgfSBlbHNlIGlmIChhcnJheVN0YXJ0c1dpdGgodGhlaXJDaGFuZ2VzLCBteUNoYW5nZXMpXG4gICAgICAgICYmIHNraXBSZW1vdmVTdXBlcnNldChtaW5lLCB0aGVpckNoYW5nZXMsIHRoZWlyQ2hhbmdlcy5sZW5ndGggLSBteUNoYW5nZXMubGVuZ3RoKSkge1xuICAgICAgaHVuay5saW5lcy5wdXNoKC4uLiB0aGVpckNoYW5nZXMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfSBlbHNlIGlmIChhcnJheUVxdWFsKG15Q2hhbmdlcywgdGhlaXJDaGFuZ2VzKSkge1xuICAgIGh1bmsubGluZXMucHVzaCguLi4gbXlDaGFuZ2VzKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25mbGljdChodW5rLCBteUNoYW5nZXMsIHRoZWlyQ2hhbmdlcyk7XG59XG5cbmZ1bmN0aW9uIHJlbW92YWwoaHVuaywgbWluZSwgdGhlaXIsIHN3YXApIHtcbiAgbGV0IG15Q2hhbmdlcyA9IGNvbGxlY3RDaGFuZ2UobWluZSksXG4gICAgICB0aGVpckNoYW5nZXMgPSBjb2xsZWN0Q29udGV4dCh0aGVpciwgbXlDaGFuZ2VzKTtcbiAgaWYgKHRoZWlyQ2hhbmdlcy5tZXJnZWQpIHtcbiAgICBodW5rLmxpbmVzLnB1c2goLi4uIHRoZWlyQ2hhbmdlcy5tZXJnZWQpO1xuICB9IGVsc2Uge1xuICAgIGNvbmZsaWN0KGh1bmssIHN3YXAgPyB0aGVpckNoYW5nZXMgOiBteUNoYW5nZXMsIHN3YXAgPyBteUNoYW5nZXMgOiB0aGVpckNoYW5nZXMpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbmZsaWN0KGh1bmssIG1pbmUsIHRoZWlyKSB7XG4gIGh1bmsuY29uZmxpY3QgPSB0cnVlO1xuICBodW5rLmxpbmVzLnB1c2goe1xuICAgIGNvbmZsaWN0OiB0cnVlLFxuICAgIG1pbmU6IG1pbmUsXG4gICAgdGhlaXJzOiB0aGVpclxuICB9KTtcbn1cblxuZnVuY3Rpb24gaW5zZXJ0TGVhZGluZyhodW5rLCBpbnNlcnQsIHRoZWlyKSB7XG4gIHdoaWxlIChpbnNlcnQub2Zmc2V0IDwgdGhlaXIub2Zmc2V0ICYmIGluc2VydC5pbmRleCA8IGluc2VydC5saW5lcy5sZW5ndGgpIHtcbiAgICBsZXQgbGluZSA9IGluc2VydC5saW5lc1tpbnNlcnQuaW5kZXgrK107XG4gICAgaHVuay5saW5lcy5wdXNoKGxpbmUpO1xuICAgIGluc2VydC5vZmZzZXQrKztcbiAgfVxufVxuZnVuY3Rpb24gaW5zZXJ0VHJhaWxpbmcoaHVuaywgaW5zZXJ0KSB7XG4gIHdoaWxlIChpbnNlcnQuaW5kZXggPCBpbnNlcnQubGluZXMubGVuZ3RoKSB7XG4gICAgbGV0IGxpbmUgPSBpbnNlcnQubGluZXNbaW5zZXJ0LmluZGV4KytdO1xuICAgIGh1bmsubGluZXMucHVzaChsaW5lKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjb2xsZWN0Q2hhbmdlKHN0YXRlKSB7XG4gIGxldCByZXQgPSBbXSxcbiAgICAgIG9wZXJhdGlvbiA9IHN0YXRlLmxpbmVzW3N0YXRlLmluZGV4XVswXTtcbiAgd2hpbGUgKHN0YXRlLmluZGV4IDwgc3RhdGUubGluZXMubGVuZ3RoKSB7XG4gICAgbGV0IGxpbmUgPSBzdGF0ZS5saW5lc1tzdGF0ZS5pbmRleF07XG5cbiAgICAvLyBHcm91cCBhZGRpdGlvbnMgdGhhdCBhcmUgaW1tZWRpYXRlbHkgYWZ0ZXIgc3VidHJhY3Rpb25zIGFuZCB0cmVhdCB0aGVtIGFzIG9uZSBcImF0b21pY1wiIG1vZGlmeSBjaGFuZ2UuXG4gICAgaWYgKG9wZXJhdGlvbiA9PT0gJy0nICYmIGxpbmVbMF0gPT09ICcrJykge1xuICAgICAgb3BlcmF0aW9uID0gJysnO1xuICAgIH1cblxuICAgIGlmIChvcGVyYXRpb24gPT09IGxpbmVbMF0pIHtcbiAgICAgIHJldC5wdXNoKGxpbmUpO1xuICAgICAgc3RhdGUuaW5kZXgrKztcbiAgICB9IGVsc2Uge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJldDtcbn1cbmZ1bmN0aW9uIGNvbGxlY3RDb250ZXh0KHN0YXRlLCBtYXRjaENoYW5nZXMpIHtcbiAgbGV0IGNoYW5nZXMgPSBbXSxcbiAgICAgIG1lcmdlZCA9IFtdLFxuICAgICAgbWF0Y2hJbmRleCA9IDAsXG4gICAgICBjb250ZXh0Q2hhbmdlcyA9IGZhbHNlLFxuICAgICAgY29uZmxpY3RlZCA9IGZhbHNlO1xuICB3aGlsZSAobWF0Y2hJbmRleCA8IG1hdGNoQ2hhbmdlcy5sZW5ndGhcbiAgICAgICAgJiYgc3RhdGUuaW5kZXggPCBzdGF0ZS5saW5lcy5sZW5ndGgpIHtcbiAgICBsZXQgY2hhbmdlID0gc3RhdGUubGluZXNbc3RhdGUuaW5kZXhdLFxuICAgICAgICBtYXRjaCA9IG1hdGNoQ2hhbmdlc1ttYXRjaEluZGV4XTtcblxuICAgIC8vIE9uY2Ugd2UndmUgaGl0IG91ciBhZGQsIHRoZW4gd2UgYXJlIGRvbmVcbiAgICBpZiAobWF0Y2hbMF0gPT09ICcrJykge1xuICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgY29udGV4dENoYW5nZXMgPSBjb250ZXh0Q2hhbmdlcyB8fCBjaGFuZ2VbMF0gIT09ICcgJztcblxuICAgIG1lcmdlZC5wdXNoKG1hdGNoKTtcbiAgICBtYXRjaEluZGV4Kys7XG5cbiAgICAvLyBDb25zdW1lIGFueSBhZGRpdGlvbnMgaW4gdGhlIG90aGVyIGJsb2NrIGFzIGEgY29uZmxpY3QgdG8gYXR0ZW1wdFxuICAgIC8vIHRvIHB1bGwgaW4gdGhlIHJlbWFpbmluZyBjb250ZXh0IGFmdGVyIHRoaXNcbiAgICBpZiAoY2hhbmdlWzBdID09PSAnKycpIHtcbiAgICAgIGNvbmZsaWN0ZWQgPSB0cnVlO1xuXG4gICAgICB3aGlsZSAoY2hhbmdlWzBdID09PSAnKycpIHtcbiAgICAgICAgY2hhbmdlcy5wdXNoKGNoYW5nZSk7XG4gICAgICAgIGNoYW5nZSA9IHN0YXRlLmxpbmVzWysrc3RhdGUuaW5kZXhdO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChtYXRjaC5zdWJzdHIoMSkgPT09IGNoYW5nZS5zdWJzdHIoMSkpIHtcbiAgICAgIGNoYW5nZXMucHVzaChjaGFuZ2UpO1xuICAgICAgc3RhdGUuaW5kZXgrKztcbiAgICB9IGVsc2Uge1xuICAgICAgY29uZmxpY3RlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKChtYXRjaENoYW5nZXNbbWF0Y2hJbmRleF0gfHwgJycpWzBdID09PSAnKydcbiAgICAgICYmIGNvbnRleHRDaGFuZ2VzKSB7XG4gICAgY29uZmxpY3RlZCA9IHRydWU7XG4gIH1cblxuICBpZiAoY29uZmxpY3RlZCkge1xuICAgIHJldHVybiBjaGFuZ2VzO1xuICB9XG5cbiAgd2hpbGUgKG1hdGNoSW5kZXggPCBtYXRjaENoYW5nZXMubGVuZ3RoKSB7XG4gICAgbWVyZ2VkLnB1c2gobWF0Y2hDaGFuZ2VzW21hdGNoSW5kZXgrK10pO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBtZXJnZWQsXG4gICAgY2hhbmdlc1xuICB9O1xufVxuXG5mdW5jdGlvbiBhbGxSZW1vdmVzKGNoYW5nZXMpIHtcbiAgcmV0dXJuIGNoYW5nZXMucmVkdWNlKGZ1bmN0aW9uKHByZXYsIGNoYW5nZSkge1xuICAgIHJldHVybiBwcmV2ICYmIGNoYW5nZVswXSA9PT0gJy0nO1xuICB9LCB0cnVlKTtcbn1cbmZ1bmN0aW9uIHNraXBSZW1vdmVTdXBlcnNldChzdGF0ZSwgcmVtb3ZlQ2hhbmdlcywgZGVsdGEpIHtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBkZWx0YTsgaSsrKSB7XG4gICAgbGV0IGNoYW5nZUNvbnRlbnQgPSByZW1vdmVDaGFuZ2VzW3JlbW92ZUNoYW5nZXMubGVuZ3RoIC0gZGVsdGEgKyBpXS5zdWJzdHIoMSk7XG4gICAgaWYgKHN0YXRlLmxpbmVzW3N0YXRlLmluZGV4ICsgaV0gIT09ICcgJyArIGNoYW5nZUNvbnRlbnQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBzdGF0ZS5pbmRleCArPSBkZWx0YTtcbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIGNhbGNPbGROZXdMaW5lQ291bnQobGluZXMpIHtcbiAgbGV0IG9sZExpbmVzID0gMDtcbiAgbGV0IG5ld0xpbmVzID0gMDtcblxuICBsaW5lcy5mb3JFYWNoKGZ1bmN0aW9uKGxpbmUpIHtcbiAgICBpZiAodHlwZW9mIGxpbmUgIT09ICdzdHJpbmcnKSB7XG4gICAgICBsZXQgbXlDb3VudCA9IGNhbGNPbGROZXdMaW5lQ291bnQobGluZS5taW5lKTtcbiAgICAgIGxldCB0aGVpckNvdW50ID0gY2FsY09sZE5ld0xpbmVDb3VudChsaW5lLnRoZWlycyk7XG5cbiAgICAgIGlmIChvbGRMaW5lcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChteUNvdW50Lm9sZExpbmVzID09PSB0aGVpckNvdW50Lm9sZExpbmVzKSB7XG4gICAgICAgICAgb2xkTGluZXMgKz0gbXlDb3VudC5vbGRMaW5lcztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvbGRMaW5lcyA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAobmV3TGluZXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBpZiAobXlDb3VudC5uZXdMaW5lcyA9PT0gdGhlaXJDb3VudC5uZXdMaW5lcykge1xuICAgICAgICAgIG5ld0xpbmVzICs9IG15Q291bnQubmV3TGluZXM7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbmV3TGluZXMgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKG5ld0xpbmVzICE9PSB1bmRlZmluZWQgJiYgKGxpbmVbMF0gPT09ICcrJyB8fCBsaW5lWzBdID09PSAnICcpKSB7XG4gICAgICAgIG5ld0xpbmVzKys7XG4gICAgICB9XG4gICAgICBpZiAob2xkTGluZXMgIT09IHVuZGVmaW5lZCAmJiAobGluZVswXSA9PT0gJy0nIHx8IGxpbmVbMF0gPT09ICcgJykpIHtcbiAgICAgICAgb2xkTGluZXMrKztcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiB7b2xkTGluZXMsIG5ld0xpbmVzfTtcbn1cbiJdfQ== + + + /***/ }), + /* 111 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /*istanbul ignore start*/ + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.structuredPatch = structuredPatch; + exports.createTwoFilesPatch = createTwoFilesPatch; + exports.createPatch = createPatch; + + /*istanbul ignore end*/ + var + /*istanbul ignore start*/ + _line = __webpack_require__(102) + /*istanbul ignore end*/ + ; + + /*istanbul ignore start*/ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread(); } + + function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance"); } + + function _iterableToArray(iter) { if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter); } + + function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } } + + /*istanbul ignore end*/ + function structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) { + if (!options) { + options = {}; + } + + if (typeof options.context === 'undefined') { + options.context = 4; + } + + var diff = + /*istanbul ignore start*/ + (0, + /*istanbul ignore end*/ + + /*istanbul ignore start*/ + _line + /*istanbul ignore end*/ + . + /*istanbul ignore start*/ + diffLines) + /*istanbul ignore end*/ + (oldStr, newStr, options); + diff.push({ + value: '', + lines: [] + }); // Append an empty value to make cleanup easier + + function contextLines(lines) { + return lines.map(function (entry) { + return ' ' + entry; + }); + } + + var hunks = []; + var oldRangeStart = 0, + newRangeStart = 0, + curRange = [], + oldLine = 1, + newLine = 1; + + /*istanbul ignore start*/ + var _loop = function _loop( + /*istanbul ignore end*/ + i) { + var current = diff[i], + lines = current.lines || current.value.replace(/\n$/, '').split('\n'); + current.lines = lines; + + if (current.added || current.removed) { + /*istanbul ignore start*/ + var _curRange; + + /*istanbul ignore end*/ + // If we have previous context, start with that + if (!oldRangeStart) { + var prev = diff[i - 1]; + oldRangeStart = oldLine; + newRangeStart = newLine; + + if (prev) { + curRange = options.context > 0 ? contextLines(prev.lines.slice(-options.context)) : []; + oldRangeStart -= curRange.length; + newRangeStart -= curRange.length; + } + } // Output our changes + + + /*istanbul ignore start*/ + (_curRange = + /*istanbul ignore end*/ + curRange).push. + /*istanbul ignore start*/ + apply + /*istanbul ignore end*/ + ( + /*istanbul ignore start*/ + _curRange + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + lines.map(function (entry) { + return (current.added ? '+' : '-') + entry; + }))); // Track the updated file position + + + if (current.added) { + newLine += lines.length; + } else { + oldLine += lines.length; + } + } else { + // Identical context lines. Track line changes + if (oldRangeStart) { + // Close out any changes that have been output (or join overlapping) + if (lines.length <= options.context * 2 && i < diff.length - 2) { + /*istanbul ignore start*/ + var _curRange2; + + /*istanbul ignore end*/ + // Overlapping + + /*istanbul ignore start*/ + (_curRange2 = + /*istanbul ignore end*/ + curRange).push. + /*istanbul ignore start*/ + apply + /*istanbul ignore end*/ + ( + /*istanbul ignore start*/ + _curRange2 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + contextLines(lines))); + } else { + /*istanbul ignore start*/ + var _curRange3; + + /*istanbul ignore end*/ + // end the range and output + var contextSize = Math.min(lines.length, options.context); + + /*istanbul ignore start*/ + (_curRange3 = + /*istanbul ignore end*/ + curRange).push. + /*istanbul ignore start*/ + apply + /*istanbul ignore end*/ + ( + /*istanbul ignore start*/ + _curRange3 + /*istanbul ignore end*/ + , + /*istanbul ignore start*/ + _toConsumableArray( + /*istanbul ignore end*/ + contextLines(lines.slice(0, contextSize)))); + + var hunk = { + oldStart: oldRangeStart, + oldLines: oldLine - oldRangeStart + contextSize, + newStart: newRangeStart, + newLines: newLine - newRangeStart + contextSize, + lines: curRange + }; + + if (i >= diff.length - 2 && lines.length <= options.context) { + // EOF is inside this hunk + var oldEOFNewline = /\n$/.test(oldStr); + var newEOFNewline = /\n$/.test(newStr); + var noNlBeforeAdds = lines.length == 0 && curRange.length > hunk.oldLines; + + if (!oldEOFNewline && noNlBeforeAdds) { + // special case: old has no eol and no trailing context; no-nl can end up before adds + curRange.splice(hunk.oldLines, 0, '\\ No newline at end of file'); + } + + if (!oldEOFNewline && !noNlBeforeAdds || !newEOFNewline) { + curRange.push('\\ No newline at end of file'); + } + } + + hunks.push(hunk); + oldRangeStart = 0; + newRangeStart = 0; + curRange = []; + } + } + + oldLine += lines.length; + newLine += lines.length; + } + }; + + for (var i = 0; i < diff.length; i++) { + /*istanbul ignore start*/ + _loop( + /*istanbul ignore end*/ + i); + } + + return { + oldFileName: oldFileName, + newFileName: newFileName, + oldHeader: oldHeader, + newHeader: newHeader, + hunks: hunks + }; + } + + function createTwoFilesPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options) { + var diff = structuredPatch(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader, options); + var ret = []; + + if (oldFileName == newFileName) { + ret.push('Index: ' + oldFileName); + } + + ret.push('==================================================================='); + ret.push('--- ' + diff.oldFileName + (typeof diff.oldHeader === 'undefined' ? '' : '\t' + diff.oldHeader)); + ret.push('+++ ' + diff.newFileName + (typeof diff.newHeader === 'undefined' ? '' : '\t' + diff.newHeader)); + + for (var i = 0; i < diff.hunks.length; i++) { + var hunk = diff.hunks[i]; + ret.push('@@ -' + hunk.oldStart + ',' + hunk.oldLines + ' +' + hunk.newStart + ',' + hunk.newLines + ' @@'); + ret.push.apply(ret, hunk.lines); + } + + return ret.join('\n') + '\n'; + } + + function createPatch(fileName, oldStr, newStr, oldHeader, newHeader, options) { + return createTwoFilesPatch(fileName, fileName, oldStr, newStr, oldHeader, newHeader, options); + } + //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wYXRjaC9jcmVhdGUuanMiXSwibmFtZXMiOlsic3RydWN0dXJlZFBhdGNoIiwib2xkRmlsZU5hbWUiLCJuZXdGaWxlTmFtZSIsIm9sZFN0ciIsIm5ld1N0ciIsIm9sZEhlYWRlciIsIm5ld0hlYWRlciIsIm9wdGlvbnMiLCJjb250ZXh0IiwiZGlmZiIsImRpZmZMaW5lcyIsInB1c2giLCJ2YWx1ZSIsImxpbmVzIiwiY29udGV4dExpbmVzIiwibWFwIiwiZW50cnkiLCJodW5rcyIsIm9sZFJhbmdlU3RhcnQiLCJuZXdSYW5nZVN0YXJ0IiwiY3VyUmFuZ2UiLCJvbGRMaW5lIiwibmV3TGluZSIsImkiLCJjdXJyZW50IiwicmVwbGFjZSIsInNwbGl0IiwiYWRkZWQiLCJyZW1vdmVkIiwicHJldiIsInNsaWNlIiwibGVuZ3RoIiwiY29udGV4dFNpemUiLCJNYXRoIiwibWluIiwiaHVuayIsIm9sZFN0YXJ0Iiwib2xkTGluZXMiLCJuZXdTdGFydCIsIm5ld0xpbmVzIiwib2xkRU9GTmV3bGluZSIsInRlc3QiLCJuZXdFT0ZOZXdsaW5lIiwibm9ObEJlZm9yZUFkZHMiLCJzcGxpY2UiLCJjcmVhdGVUd29GaWxlc1BhdGNoIiwicmV0IiwiYXBwbHkiLCJqb2luIiwiY3JlYXRlUGF0Y2giLCJmaWxlTmFtZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7OztBQUVPLFNBQVNBLGVBQVQsQ0FBeUJDLFdBQXpCLEVBQXNDQyxXQUF0QyxFQUFtREMsTUFBbkQsRUFBMkRDLE1BQTNELEVBQW1FQyxTQUFuRSxFQUE4RUMsU0FBOUUsRUFBeUZDLE9BQXpGLEVBQWtHO0FBQ3ZHLE1BQUksQ0FBQ0EsT0FBTCxFQUFjO0FBQ1pBLElBQUFBLE9BQU8sR0FBRyxFQUFWO0FBQ0Q7O0FBQ0QsTUFBSSxPQUFPQSxPQUFPLENBQUNDLE9BQWYsS0FBMkIsV0FBL0IsRUFBNEM7QUFDMUNELElBQUFBLE9BQU8sQ0FB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QyxJQUFKLENBQ0UsU0FBU3dCLElBQUksQ0FBQ0MsUUFBZCxHQUF5QixHQUF6QixHQUErQkQsSUFBSSxDQUFDRSxRQUFwQyxHQUNFLElBREYsR0FDU0YsSUFBSSxDQUFDRyxRQURkLEdBQ3lCLEdBRHpCLEdBQytCSCxJQUFJLENBQUNJLFFBRHBDLEdBRUUsS0FISjtBQUtBTyxJQUFBQSxHQUFHLENBQUNuQyxJQUFKLENBQVNvQyxLQUFULENBQWVELEdBQWYsRUFBb0JYLElBQUksQ0FBQ3RCLEtBQXpCO0FBQ0Q7O0FBRUQsU0FBT2lDLEdBQUcsQ0FBQ0UsSUFBSixDQUFTLElBQVQsSUFBaUIsSUFBeEI7QUFDRDs7QUFFTSxTQUFTQyxXQUFULENBQXFCQyxRQUFyQixFQUErQi9DLE1BQS9CLEVBQXVDQyxNQUF2QyxFQUErQ0MsU0FBL0MsRUFBMERDLFNBQTFELEVBQXFFQyxPQUFyRSxFQUE4RTtBQUNuRixTQUFPc0MsbUJBQW1CLENBQUNLLFFBQUQsRUFBV0EsUUFBWCxFQUFxQi9DLE1BQXJCLEVBQTZCQyxNQUE3QixFQUFxQ0MsU0FBckMsRUFBZ0RDLFNBQWhELEVBQTJEQyxPQUEzRCxDQUExQjtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtkaWZmTGluZXN9IGZyb20gJy4uL2RpZmYvbGluZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzdHJ1Y3R1cmVkUGF0Y2gob2xkRmlsZU5hbWUsIG5ld0ZpbGVOYW1lLCBvbGRTdHIsIG5ld1N0ciwgb2xkSGVhZGVyLCBuZXdIZWFkZXIsIG9wdGlvbnMpIHtcbiAgaWYgKCFvcHRpb25zKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG4gIGlmICh0eXBlb2Ygb3B0aW9ucy5jb250ZXh0ID09PSAndW5kZWZpbmVkJykge1xuICAgIG9wdGlvbnMuY29udGV4dCA9IDQ7XG4gIH1cblxuICBjb25zdCBkaWZmID0gZGlmZkxpbmVzKG9sZFN0ciwgbmV3U3RyLCBvcHRpb25zKTtcbiAgZGlmZi5wdXNoKHt2YWx1ZTogJycsIGxpbmVzOiBbXX0pOyAvLyBBcHBlbmQgYW4gZW1wdHkgdmFsdWUgdG8gbWFrZSBjbGVhbnVwIGVhc2llclxuXG4gIGZ1bmN0aW9uIGNvbnRleHRMaW5lcyhsaW5lcykge1xuICAgIHJldHVybiBsaW5lcy5tYXAoZnVuY3Rpb24oZW50cnkpIHsgcmV0dXJuICcgJyArIGVudHJ5OyB9KTtcbiAgfVxuXG4gIGxldCBodW5rcyA9IFtdO1xuICBsZXQgb2xkUmFuZ2VTdGFydCA9IDAsIG5ld1JhbmdlU3RhcnQgPSAwLCBjdXJSYW5nZSA9IFtdLFxuICAgICAgb2xkTGluZSA9IDEsIG5ld0xpbmUgPSAxO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGRpZmYubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBjdXJyZW50ID0gZGlmZltpXSxcbiAgICAgICAgICBsaW5lcyA9IGN1cnJlbnQubGluZXMgfHwgY3VycmVudC52YWx1ZS5yZXBsYWNlKC9cXG4kLywgJycpLnNwbGl0KCdcXG4nKTtcbiAgICBjdXJyZW50LmxpbmVzID0gbGluZXM7XG5cbiAgICBpZiAoY3VycmVudC5hZGRlZCB8fCBjdXJyZW50LnJlbW92ZWQpIHtcbiAgICAgIC8vIElmIHdlIGhhdmUgcHJldmlvdXMgY29udGV4dCwgc3RhcnQgd2l0aCB0aGF0XG4gICAgICBpZiAoIW9sZFJhbmdlU3RhcnQpIHtcbiAgICAgICAgY29uc3QgcHJldiA9IGRpZmZbaSAtIDFdO1xuICAgICAgICBvbGRSYW5nZVN0YXJ0ID0gb2xkTGluZTtcbiAgICAgICAgbmV3UmFuZ2VTdGFydCA9IG5ld0xpbmU7XG5cbiAgICAgICAgaWYgKHByZXYpIHtcbiAgICAgICAgICBjdXJSYW5nZSA9IG9wdGlvbnMuY29udGV4dCA+IDAgPyBjb250ZXh0TGluZXMocHJldi5saW5lcy5zbGljZSgtb3B0aW9ucy5jb250ZXh0KSkgOiBbXTtcbiAgICAgICAgICBvbGRSYW5nZVN0YXJ0IC09IGN1clJhbmdlLmxlbmd0aDtcbiAgICAgICAgICBuZXdSYW5nZVN0YXJ0IC09IGN1clJhbmdlLmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPdXRwdXQgb3VyIGNoYW5nZXNcbiAgICAgIGN1clJhbmdlLnB1c2goLi4uIGxpbmVzLm1hcChmdW5jdGlvbihlbnRyeSkge1xuICAgICAgICByZXR1cm4gKGN1cnJlbnQuYWRkZWQgPyAnKycgOiAnLScpICsgZW50cnk7XG4gICAgICB9KSk7XG5cbiAgICAgIC8vIFRyYWNrIHRoZSB1cGRhdGVkIGZpbGUgcG9zaXRpb25cbiAgICAgIGlmIChjdXJyZW50LmFkZGVkKSB7XG4gICAgICAgIG5ld0xpbmUgKz0gbGluZXMubGVuZ3RoO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb2xkTGluZSArPSBsaW5lcy5sZW5ndGg7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIElkZW50aWNhbCBjb250ZXh0IGxpbmVzLiBUcmFjayBsaW5lIGNoYW5nZXNcbiAgICAgIGlmIChvbGRSYW5nZVN0YXJ0KSB7XG4gICAgICAgIC8vIENsb3NlIG91dCBhbnkgY2hhbmdlcyB0aGF0IGhhdmUgYmVlbiBvdXRwdXQgKG9yIGpvaW4gb3ZlcmxhcHBpbmcpXG4gICAgICAgIGlmIChsaW5lcy5sZW5ndGggPD0gb3B0aW9ucy5jb250ZXh0ICogMiAmJiBpIDwgZGlmZi5sZW5ndGggLSAyKSB7XG4gICAgICAgICAgLy8gT3ZlcmxhcHBpbmdcbiAgICAgICAgICBjdXJSYW5nZS5wdXNoKC4uLiBjb250ZXh0TGluZXMobGluZXMpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBlbmQgdGhlIHJhbmdlIGFuZCBvdXRwdXRcbiAgICAgICAgICBsZXQgY29udGV4dFNpemUgPSBNYXRoLm1pbihsaW5lcy5sZW5ndGgsIG9wdGlvbnMuY29udGV4dCk7XG4gICAgICAgICAgY3VyUmFuZ2UucHVzaCguLi4gY29udGV4dExpbmVzKGxpbmVzLnNsaWNlKDAsIGNvbnRleHRTaXplKSkpO1xuXG4gICAgICAgICAgbGV0IGh1bmsgPSB7XG4gICAgICAgICAgICBvbGRTdGFydDogb2xkUmFuZ2VTdGFydCxcbiAgICAgICAgICAgIG9sZExpbmVzOiAob2xkTGluZSAtIG9sZFJhbmdlU3RhcnQgKyBjb250ZXh0U2l6ZSksXG4gICAgICAgICAgICBuZXdTdGFydDogbmV3UmFuZ2VTdGFydCxcbiAgICAgICAgICAgIG5ld0xpbmVzOiAobmV3TGluZSAtIG5ld1JhbmdlU3RhcnQgKyBjb250ZXh0U2l6ZSksXG4gICAgICAgICAgICBsaW5lczogY3VyUmFuZ2VcbiAgICAgICAgICB9O1xuICAgICAgICAgIGlmIChpID49IGRpZmYubGVuZ3RoIC0gMiAmJiBsaW5lcy5sZW5ndGggPD0gb3B0aW9ucy5jb250ZXh0KSB7XG4gICAgICAgICAgICAvLyBFT0YgaXMgaW5zaWRlIHRoaXMgaHVua1xuICAgICAgICAgICAgbGV0IG9sZEVPRk5ld2xpbmUgPSAoKC9cXG4kLykudGVzdChvbGRTdHIpKTtcbiAgICAgICAgICAgIGxldCBuZXdFT0ZOZXdsaW5lID0gKCgvXFxuJC8pLnRlc3QobmV3U3RyKSk7XG4gICAgICAgICAgICBsZXQgbm9ObEJlZm9yZUFkZHMgPSBsaW5lcy5sZW5ndGggPT0gMCAmJiBjdXJSYW5nZS5sZW5ndGggPiBodW5rLm9sZExpbmVzO1xuICAgICAgICAgICAgaWYgKCFvbGRFT0ZOZXdsaW5lICYmIG5vTmxCZWZvcmVBZGRzKSB7XG4gICAgICAgICAgICAgIC8vIHNwZWNpYWwgY2FzZTogb2xkIGhhcyBubyBlb2wgYW5kIG5vIHRyYWlsaW5nIGNvbnRleHQ7IG5vLW5sIGNhbiBlbmQgdXAgYmVmb3JlIGFkZHNcbiAgICAgICAgICAgICAgY3VyUmFuZ2Uuc3BsaWNlKGh1bmsub2xkTGluZXMsIDAsICdcXFxcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICgoIW9sZEVPRk5ld2xpbmUgJiYgIW5vTmxCZWZvcmVBZGRzKSB8fCAhbmV3RU9GTmV3bGluZSkge1xuICAgICAgICAgICAgICBjdXJSYW5nZS5wdXNoKCdcXFxcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaHVua3MucHVzaChodW5rKTtcblxuICAgICAgICAgIG9sZFJhbmdlU3RhcnQgPSAwO1xuICAgICAgICAgIG5ld1JhbmdlU3RhcnQgPSAwO1xuICAgICAgICAgIGN1clJhbmdlID0gW107XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIG9sZExpbmUgKz0gbGluZXMubGVuZ3RoO1xuICAgICAgbmV3TGluZSArPSBsaW5lcy5sZW5ndGg7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBvbGRGaWxlTmFtZTogb2xkRmlsZU5hbWUsIG5ld0ZpbGVOYW1lOiBuZXdGaWxlTmFtZSxcbiAgICBvbGRIZWFkZXI6IG9sZEhlYWRlciwgbmV3SGVhZGVyOiBuZXdIZWFkZXIsXG4gICAgaHVua3M6IGh1bmtzXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUd29GaWxlc1BhdGNoKG9sZEZpbGVOYW1lLCBuZXdGaWxlTmFtZSwgb2xkU3RyLCBuZXdTdHIsIG9sZEhlYWRlciwgbmV3SGVhZGVyLCBvcHRpb25zKSB7XG4gIGNvbnN0IGRpZmYgPSBzdHJ1Y3R1cmVkUGF0Y2gob2xkRmlsZU5hbWUsIG5ld0ZpbGVOYW1lLCBvbGRTdHIsIG5ld1N0ciwgb2xkSGVhZGVyLCBuZXdIZWFkZXIsIG9wdGlvbnMpO1xuXG4gIGNvbnN0IHJldCA9IFtdO1xuICBpZiAob2xkRmlsZU5hbWUgPT0gbmV3RmlsZU5hbWUpIHtcbiAgICByZXQucHVzaCgnSW5kZXg6ICcgKyBvbGRGaWxlTmFtZSk7XG4gIH1cbiAgcmV0LnB1c2goJz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0nKTtcbiAgcmV0LnB1c2goJy0tLSAnICsgZGlmZi5vbGRGaWxlTmFtZSArICh0eXBlb2YgZGlmZi5vbGRIZWFkZXIgPT09ICd1bmRlZmluZWQnID8gJycgOiAnXFx0JyArIGRpZmYub2xkSGVhZGVyKSk7XG4gIHJldC5wdXNoKCcrKysgJyArIGRpZmYubmV3RmlsZU5hbWUgKyAodHlwZW9mIGRpZmYubmV3SGVhZGVyID09PSAndW5kZWZpbmVkJyA/ICcnIDogJ1xcdCcgKyBkaWZmLm5ld0hlYWRlcikpO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgZGlmZi5odW5rcy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGh1bmsgPSBkaWZmLmh1bmtzW2ldO1xuICAgIHJldC5wdXNoKFxuICAgICAgJ0BAIC0nICsgaHVuay5vbGRTdGFydCArICcsJyArIGh1bmsub2xkTGluZXNcbiAgICAgICsgJyArJyArIGh1bmsubmV3U3RhcnQgKyAnLCcgKyBodW5rLm5ld0xpbmVzXG4gICAgICArICcgQEAnXG4gICAgKTtcbiAgICByZXQucHVzaC5hcHBseShyZXQsIGh1bmsubGluZXMpO1xuICB9XG5cbiAgcmV0dXJuIHJldC5qb2luKCdcXG4nKSArICdcXG4nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUGF0Y2goZmlsZU5hbWUsIG9sZFN0ciwgbmV3U3RyLCBvbGRIZWFkZXIsIG5ld0hlYWRlciwgb3B0aW9ucykge1xuICByZXR1cm4gY3JlYXRlVHdvRmlsZXNQYXRjaChmaWxlTmFtZSwgZmlsZU5hbWUsIG9sZFN0ciwgbmV3U3RyLCBvbGRIZWFkZXIsIG5ld0hlYWRlciwgb3B0aW9ucyk7XG59XG4iXX0= + + + /***/ }), + /* 112 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /*istanbul ignore start*/ + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.arrayEqual = arrayEqual; + exports.arrayStartsWith = arrayStartsWith; + + /*istanbul ignore end*/ + function arrayEqual(a, b) { + if (a.length !== b.length) { + return false; + } + + return arrayStartsWith(a, b); + } + + function arrayStartsWith(array, start) { + if (start.length > array.length) { + return false; + } + + for (var i = 0; i < start.length; i++) { + if (start[i] !== array[i]) { + return false; + } + } + + return true; + } + //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL2FycmF5LmpzIl0sIm5hbWVzIjpbImFycmF5RXF1YWwiLCJhIiwiYiIsImxlbmd0aCIsImFycmF5U3RhcnRzV2l0aCIsImFycmF5Iiwic3RhcnQiLCJpIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQU8sU0FBU0EsVUFBVCxDQUFvQkMsQ0FBcEIsRUFBdUJDLENBQXZCLEVBQTBCO0FBQy9CLE1BQUlELENBQUMsQ0FBQ0UsTUFBRixLQUFhRCxDQUFDLENBQUNDLE1BQW5CLEVBQTJCO0FBQ3pCLFdBQU8sS0FBUDtBQUNEOztBQUVELFNBQU9DLGVBQWUsQ0FBQ0gsQ0FBRCxFQUFJQyxDQUFKLENBQXRCO0FBQ0Q7O0FBRU0sU0FBU0UsZUFBVCxDQUF5QkMsS0FBekIsRUFBZ0NDLEtBQWhDLEVBQXVDO0FBQzVDLE1BQUlBLEtBQUssQ0FBQ0gsTUFBTixHQUFlRSxLQUFLLENBQUNGLE1BQXpCLEVBQWlDO0FBQy9CLFdBQU8sS0FBUDtBQUNEOztBQUVELE9BQUssSUFBSUksQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBR0QsS0FBSyxDQUFDSCxNQUExQixFQUFrQ0ksQ0FBQyxFQUFuQyxFQUF1QztBQUNyQyxRQUFJRCxLQUFLLENBQUNDLENBQUQsQ0FBTCxLQUFhRixLQUFLLENBQUNFLENBQUQsQ0FBdEIsRUFBMkI7QUFDekIsYUFBTyxLQUFQO0FBQ0Q7QUFDRjs7QUFFRCxTQUFPLElBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBhcnJheUVxdWFsKGEsIGIpIHtcbiAgaWYgKGEubGVuZ3RoICE9PSBiLmxlbmd0aCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBhcnJheVN0YXJ0c1dpdGgoYSwgYik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcnJheVN0YXJ0c1dpdGgoYXJyYXksIHN0YXJ0KSB7XG4gIGlmIChzdGFydC5sZW5ndGggPiBhcnJheS5sZW5ndGgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHN0YXJ0Lmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKHN0YXJ0W2ldICE9PSBhcnJheVtpXSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuIl19 + + + /***/ }), + /* 113 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /*istanbul ignore start*/ + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.convertChangesToDMP = convertChangesToDMP; + + /*istanbul ignore end*/ + // See: http://code.google.com/p/google-diff-match-patch/wiki/API + function convertChangesToDMP(changes) { + var ret = [], + change, + operation; + + for (var i = 0; i < changes.length; i++) { + change = changes[i]; + + if (change.added) { + operation = 1; + } else if (change.removed) { + operation = -1; + } else { + operation = 0; + } + + ret.push([operation, change.value]); + } + + return ret; + } + //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb252ZXJ0L2RtcC5qcyJdLCJuYW1lcyI6WyJjb252ZXJ0Q2hhbmdlc1RvRE1QIiwiY2hhbmdlcyIsInJldCIsImNoYW5nZSIsIm9wZXJhdGlvbiIsImkiLCJsZW5ndGgiLCJhZGRlZCIsInJlbW92ZWQiLCJwdXNoIiwidmFsdWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBO0FBQ08sU0FBU0EsbUJBQVQsQ0FBNkJDLE9BQTdCLEVBQXNDO0FBQzNDLE1BQUlDLEdBQUcsR0FBRyxFQUFWO0FBQUEsTUFDSUMsTUFESjtBQUFBLE1BRUlDLFNBRko7O0FBR0EsT0FBSyxJQUFJQyxDQUFDLEdBQUcsQ0FBYixFQUFnQkEsQ0FBQyxHQUFHSixPQUFPLENBQUNLLE1BQTVCLEVBQW9DRCxDQUFDLEVBQXJDLEVBQXlDO0FBQ3ZDRixJQUFBQSxNQUFNLEdBQUdGLE9BQU8sQ0FBQ0ksQ0FBRCxDQUFoQjs7QUFDQSxRQUFJRixNQUFNLENBQUNJLEtBQVgsRUFBa0I7QUFDaEJILE1BQUFBLFNBQVMsR0FBRyxDQUFaO0FBQ0QsS0FGRCxNQUVPLElBQUlELE1BQU0sQ0FBQ0ssT0FBWCxFQUFvQjtBQUN6QkosTUFBQUEsU0FBUyxHQUFHLENBQUMsQ0FBYjtBQUNELEtBRk0sTUFFQTtBQUNMQSxNQUFBQSxTQUFTLEdBQUcsQ0FBWjtBQUNEOztBQUVERixJQUFBQSxHQUFHLENBQUNPLElBQUosQ0FBUyxDQUFDTCxTQUFELEVBQVlELE1BQU0sQ0FBQ08sS0FBbkIsQ0FBVDtBQUNEOztBQUNELFNBQU9SLEdBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIFNlZTogaHR0cDovL2NvZGUuZ29vZ2xlLmNvbS9wL2dvb2dsZS1kaWZmLW1hdGNoLXBhdGNoL3dpa2kvQVBJXG5leHBvcnQgZnVuY3Rpb24gY29udmVydENoYW5nZXNUb0RNUChjaGFuZ2VzKSB7XG4gIGxldCByZXQgPSBbXSxcbiAgICAgIGNoYW5nZSxcbiAgICAgIG9wZXJhdGlvbjtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGFuZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgY2hhbmdlID0gY2hhbmdlc1tpXTtcbiAgICBpZiAoY2hhbmdlLmFkZGVkKSB7XG4gICAgICBvcGVyYXRpb24gPSAxO1xuICAgIH0gZWxzZSBpZiAoY2hhbmdlLnJlbW92ZWQpIHtcbiAgICAgIG9wZXJhdGlvbiA9IC0xO1xuICAgIH0gZWxzZSB7XG4gICAgICBvcGVyYXRpb24gPSAwO1xuICAgIH1cblxuICAgIHJldC5wdXNoKFtvcGVyYXRpb24sIGNoYW5nZS52YWx1ZV0pO1xuICB9XG4gIHJldHVybiByZXQ7XG59XG4iXX0= + + + /***/ }), + /* 114 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + /*istanbul ignore start*/ + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + exports.convertChangesToXML = convertChangesToXML; + + /*istanbul ignore end*/ + function convertChangesToXML(changes) { + var ret = []; + + for (var i = 0; i < changes.length; i++) { + var change = changes[i]; + + if (change.added) { + ret.push(''); + } else if (change.removed) { + ret.push(''); + } + + ret.push(escapeHTML(change.value)); + + if (change.added) { + ret.push(''); + } else if (change.removed) { + ret.push(''); + } + } + + return ret.join(''); + } + + function escapeHTML(s) { + var n = s; + n = n.replace(/&/g, '&'); + n = n.replace(//g, '>'); + n = n.replace(/"/g, '"'); + return n; + } + //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb252ZXJ0L3htbC5qcyJdLCJuYW1lcyI6WyJjb252ZXJ0Q2hhbmdlc1RvWE1MIiwiY2hhbmdlcyIsInJldCIsImkiLCJsZW5ndGgiLCJjaGFuZ2UiLCJhZGRlZCIsInB1c2giLCJyZW1vdmVkIiwiZXNjYXBlSFRNTCIsInZhbHVlIiwiam9pbiIsInMiLCJuIiwicmVwbGFjZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQU8sU0FBU0EsbUJBQVQsQ0FBNkJDLE9BQTdCLEVBQXNDO0FBQzNDLE1BQUlDLEdBQUcsR0FBRyxFQUFWOztBQUNBLE9BQUssSUFBSUMsQ0FBQyxHQUFHLENBQWIsRUFBZ0JBLENBQUMsR0FBR0YsT0FBTyxDQUFDRyxNQUE1QixFQUFvQ0QsQ0FBQyxFQUFyQyxFQUF5QztBQUN2QyxRQUFJRSxNQUFNLEdBQUdKLE9BQU8sQ0FBQ0UsQ0FBRCxDQUFwQjs7QUFDQSxRQUFJRSxNQUFNLENBQUNDLEtBQVgsRUFBa0I7QUFDaEJKLE1BQUFBLEdBQUcsQ0FBQ0ssSUFBSixDQUFTLE9BQVQ7QUFDRCxLQUZELE1BRU8sSUFBSUYsTUFBTSxDQUFDRyxPQUFYLEVBQW9CO0FBQ3pCTixNQUFBQSxHQUFHLENBQUNLLElBQUosQ0FBUyxPQUFUO0FBQ0Q7O0FBRURMLElBQUFBLEdBQUcsQ0FBQ0ssSUFBSixDQUFTRSxVQUFVLENBQUNKLE1BQU0sQ0FBQ0ssS0FBUixDQUFuQjs7QUFFQSxRQUFJTCxNQUFNLENBQUNDLEtBQVgsRUFBa0I7QUFDaEJKLE1BQUFBLEdBQUcsQ0FBQ0ssSUFBSixDQUFTLFFBQVQ7QUFDRCxLQUZELE1BRU8sSUFBSUYsTUFBTSxDQUFDRyxPQUFYLEVBQW9CO0FBQ3pCTixNQUFBQSxHQUFHLENBQUNLLElBQUosQ0FBUyxRQUFUO0FBQ0Q7QUFDRjs7QUFDRCxTQUFPTCxHQUFHLENBQUNTLElBQUosQ0FBUyxFQUFULENBQVA7QUFDRDs7QUFFRCxTQUFTRixVQUFULENBQW9CRyxDQUFwQixFQUF1QjtBQUNyQixNQUFJQyxDQUFDLEdBQUdELENBQVI7QUFDQUMsRUFBQUEsQ0FBQyxHQUFHQSxDQUFDLENBQUNDLE9BQUYsQ0FBVSxJQUFWLEVBQWdCLE9BQWhCLENBQUo7QUFDQUQsRUFBQUEsQ0FBQyxHQUFHQSxDQUFDLENBQUNDLE9BQUYsQ0FBVSxJQUFWLEVBQWdCLE1BQWhCLENBQUo7QUFDQUQsRUFBQUEsQ0FBQyxHQUFHQSxDQUFDLENBQUNDLE9BQUYsQ0FBVSxJQUFWLEVBQWdCLE1BQWhCLENBQUo7QUFDQUQsRUFBQUEsQ0FBQyxHQUFHQSxDQUFDLENBQUNDLE9BQUYsQ0FBVSxJQUFWLEVBQWdCLFFBQWhCLENBQUo7QUFFQSxTQUFPRCxDQUFQO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gY29udmVydENoYW5nZXNUb1hNTChjaGFuZ2VzKSB7XG4gIGxldCByZXQgPSBbXTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaGFuZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgbGV0IGNoYW5nZSA9IGNoYW5nZXNbaV07XG4gICAgaWYgKGNoYW5nZS5hZGRlZCkge1xuICAgICAgcmV0LnB1c2goJzxpbnM+Jyk7XG4gICAgfSBlbHNlIGlmIChjaGFuZ2UucmVtb3ZlZCkge1xuICAgICAgcmV0LnB1c2goJzxkZWw+Jyk7XG4gICAgfVxuXG4gICAgcmV0LnB1c2goZXNjYXBlSFRNTChjaGFuZ2UudmFsdWUpKTtcblxuICAgIGlmIChjaGFuZ2UuYWRkZWQpIHtcbiAgICAgIHJldC5wdXNoKCc8L2lucz4nKTtcbiAgICB9IGVsc2UgaWYgKGNoYW5nZS5yZW1vdmVkKSB7XG4gICAgICByZXQucHVzaCgnPC9kZWw+Jyk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXQuam9pbignJyk7XG59XG5cbmZ1bmN0aW9uIGVzY2FwZUhUTUwocykge1xuICBsZXQgbiA9IHM7XG4gIG4gPSBuLnJlcGxhY2UoLyYvZywgJyZhbXA7Jyk7XG4gIG4gPSBuLnJlcGxhY2UoLzwvZywgJyZsdDsnKTtcbiAgbiA9IG4ucmVwbGFjZSgvPi9nLCAnJmd0OycpO1xuICBuID0gbi5yZXBsYWNlKC9cIi9nLCAnJnF1b3Q7Jyk7XG5cbiAgcmV0dXJuIG47XG59XG4iXX0= + + + /***/ }), + /* 115 */ + /***/ (function(module, exports) { + + module.exports = require("semver"); + + /***/ }) + /******/ ]); + return plugin; + }, +}; diff --git a/.yarn/plugins/@yarnpkg/plugin-typescript.js b/.yarn/plugins/@yarnpkg/plugin-typescript.js new file mode 100644 index 0000000000..9bff46fc8b --- /dev/null +++ b/.yarn/plugins/@yarnpkg/plugin-typescript.js @@ -0,0 +1,2689 @@ +/* eslint-disable*/ +module.exports = { + name: "@yarnpkg/plugin-typescript", + factory: function (require) { + var plugin = + /******/ (function(modules) { // webpackBootstrap + /******/ // The module cache + /******/ var installedModules = {}; + /******/ + /******/ // The require function + /******/ function __webpack_require__(moduleId) { + /******/ + /******/ // Check if module is in cache + /******/ if(installedModules[moduleId]) { + /******/ return installedModules[moduleId].exports; + /******/ } + /******/ // Create a new module (and put it into the cache) + /******/ var module = installedModules[moduleId] = { + /******/ i: moduleId, + /******/ l: false, + /******/ exports: {} + /******/ }; + /******/ + /******/ // Execute the module function + /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); + /******/ + /******/ // Flag the module as loaded + /******/ module.l = true; + /******/ + /******/ // Return the exports of the module + /******/ return module.exports; + /******/ } + /******/ + /******/ + /******/ // expose the modules object (__webpack_modules__) + /******/ __webpack_require__.m = modules; + /******/ + /******/ // expose the module cache + /******/ __webpack_require__.c = installedModules; + /******/ + /******/ // define getter function for harmony exports + /******/ __webpack_require__.d = function(exports, name, getter) { + /******/ if(!__webpack_require__.o(exports, name)) { + /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); + /******/ } + /******/ }; + /******/ + /******/ // define __esModule on exports + /******/ __webpack_require__.r = function(exports) { + /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { + /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); + /******/ } + /******/ Object.defineProperty(exports, '__esModule', { value: true }); + /******/ }; + /******/ + /******/ // create a fake namespace object + /******/ // mode & 1: value is a module id, require it + /******/ // mode & 2: merge all properties of value into the ns + /******/ // mode & 4: return value when already ns object + /******/ // mode & 8|1: behave like require + /******/ __webpack_require__.t = function(value, mode) { + /******/ if(mode & 1) value = __webpack_require__(value); + /******/ if(mode & 8) return value; + /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; + /******/ var ns = Object.create(null); + /******/ __webpack_require__.r(ns); + /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); + /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); + /******/ return ns; + /******/ }; + /******/ + /******/ // getDefaultExport function for compatibility with non-harmony modules + /******/ __webpack_require__.n = function(module) { + /******/ var getter = module && module.__esModule ? + /******/ function getDefault() { return module['default']; } : + /******/ function getModuleExports() { return module; }; + /******/ __webpack_require__.d(getter, 'a', getter); + /******/ return getter; + /******/ }; + /******/ + /******/ // Object.prototype.hasOwnProperty.call + /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; + /******/ + /******/ // __webpack_public_path__ + /******/ __webpack_require__.p = ""; + /******/ + /******/ + /******/ // Load entry module and return exports + /******/ return __webpack_require__(__webpack_require__.s = 0); + /******/ }) + /************************************************************************/ + /******/ ([ + /* 0 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + const core_1 = __webpack_require__(1); + + const core_2 = __webpack_require__(1); + + const plugin_essentials_1 = __webpack_require__(2); + + const typescriptUtils_1 = __webpack_require__(3); + + const getTypesName = descriptor => { + return descriptor.scope ? `${descriptor.scope}__${descriptor.name}` : `${descriptor.name}`; + }; + + const afterWorkspaceDependencyAddition = async (workspace, dependencyTarget, descriptor) => { + if (descriptor.scope === `types`) return; + const project = workspace.project; + const configuration = project.configuration; + const requiresInstallTypes = await typescriptUtils_1.hasDefinitelyTyped(descriptor, configuration); + if (!requiresInstallTypes) return; + const cache = await core_1.Cache.find(configuration); + const typesName = getTypesName(descriptor); + const target = plugin_essentials_1.suggestUtils.Target.DEVELOPMENT; + const modifier = plugin_essentials_1.suggestUtils.Modifier.EXACT; + const strategies = [plugin_essentials_1.suggestUtils.Strategy.LATEST]; + const request = core_2.structUtils.makeDescriptor(core_2.structUtils.makeIdent(`types`, typesName), `unknown`); + const suggestions = await plugin_essentials_1.suggestUtils.getSuggestedDescriptors(request, { + workspace, + project, + cache, + target, + modifier, + strategies + }); + const nonNullSuggestions = suggestions.filter(suggestion => suggestion.descriptor !== null); + if (nonNullSuggestions.length === 0) return; + const selected = nonNullSuggestions[0].descriptor; + if (selected === null) return; + workspace.manifest[target].set(selected.identHash, selected); + }; + + const afterWorkspaceDependencyRemoval = async (workspace, dependencyTarget, descriptor) => { + if (descriptor.scope === `types`) return; + const target = plugin_essentials_1.suggestUtils.Target.DEVELOPMENT; + const typesName = getTypesName(descriptor); + const ident = core_2.structUtils.makeIdent(`types`, typesName); + const current = workspace.manifest[target].get(ident.identHash); + if (typeof current === `undefined`) return; + workspace.manifest[target].delete(ident.identHash); + }; + + const beforeWorkspacePacking = (workspace, rawManifest) => { + if (rawManifest.publishConfig && rawManifest.publishConfig.typings) rawManifest.typings = rawManifest.publishConfig.typings; + + if (rawManifest.publishConfig && rawManifest.publishConfig.types) { + rawManifest.types = rawManifest.publishConfig.types; + } + }; + + const plugin = { + hooks: { + afterWorkspaceDependencyAddition, + afterWorkspaceDependencyRemoval, + beforeWorkspacePacking + } + }; // eslint-disable-next-line arca/no-default-export + + exports.default = plugin; + + /***/ }), + /* 1 */ + /***/ (function(module, exports) { + + module.exports = require("@yarnpkg/core"); + + /***/ }), + /* 2 */ + /***/ (function(module, exports) { + + module.exports = require("@yarnpkg/plugin-essentials"); + + /***/ }), + /* 3 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + var __importDefault = this && this.__importDefault || function (mod) { + return mod && mod.__esModule ? mod : { + "default": mod + }; + }; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + const core_1 = __webpack_require__(1); + + const algoliasearch_1 = __importDefault(__webpack_require__(4)); // Note that the appId and appKey are specific to Yarn's plugin-typescript - please + // don't use them anywhere else without asking Algolia's permission + + + const ALGOLIA_API_KEY = 'e8e1bd300d860104bb8c58453ffa1eb4'; + const ALGOLIA_APP_ID = 'OFCNCOG2CU'; + + exports.hasDefinitelyTyped = async (descriptor, configuration) => { + var _a; + + const stringifiedIdent = core_1.structUtils.stringifyIdent(descriptor); + const algoliaClient = createAlgoliaClient(configuration); + const index = algoliaClient.initIndex('npm-search'); + + try { + const packageInfo = await index.getObject(stringifiedIdent, { + attributesToRetrieve: ['types'] + }); + return ((_a = packageInfo.types) === null || _a === void 0 ? void 0 : _a.ts) === 'definitely-typed'; + } catch (_e) { + return false; + } + }; + + const createAlgoliaClient = configuration => { + const requester = { + async send(request) { + try { + const response = await core_1.httpUtils.request(request.url, request.data || null, { + configuration, + headers: request.headers + }); + return { + content: response.body, + isTimedOut: false, + status: response.statusCode + }; + } catch (error) { + return { + content: error.response.body, + isTimedOut: false, + status: error.response.statusCode + }; + } + } + + }; + return algoliasearch_1.default(ALGOLIA_APP_ID, ALGOLIA_API_KEY, { + requester + }); + }; + + /***/ }), + /* 4 */ + /***/ (function(module, exports, __webpack_require__) { + + // eslint-disable-next-line functional/immutable-data, import/no-commonjs + module.exports = __webpack_require__(5); + + + /***/ }), + /* 5 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + var cacheCommon = __webpack_require__(6); + var cacheInMemory = __webpack_require__(8); + var clientAnalytics = __webpack_require__(10); + var clientCommon = __webpack_require__(12); + var clientRecommendation = __webpack_require__(18); + var clientSearch = __webpack_require__(20); + var loggerCommon = __webpack_require__(23); + var requesterNodeHttp = __webpack_require__(25); + var transporter = __webpack_require__(14); + + function algoliasearch(appId, apiKey, options) { + const commonOptions = { + appId, + apiKey, + timeouts: { + connect: 2, + read: 5, + write: 30, + }, + requester: requesterNodeHttp.createNodeHttpRequester(), + logger: loggerCommon.createNullLogger(), + responsesCache: cacheCommon.createNullCache(), + requestsCache: cacheCommon.createNullCache(), + hostsCache: cacheInMemory.createInMemoryCache(), + userAgent: transporter.createUserAgent(clientCommon.version).add({ + segment: 'Node.js', + version: process.versions.node, + }), + }; + return clientSearch.createSearchClient({ + ...commonOptions, + ...options, + methods: { + search: clientSearch.multipleQueries, + searchForFacetValues: clientSearch.multipleSearchForFacetValues, + multipleBatch: clientSearch.multipleBatch, + multipleGetObjects: clientSearch.multipleGetObjects, + multipleQueries: clientSearch.multipleQueries, + copyIndex: clientSearch.copyIndex, + copySettings: clientSearch.copySettings, + copyRules: clientSearch.copyRules, + copySynonyms: clientSearch.copySynonyms, + moveIndex: clientSearch.moveIndex, + listIndices: clientSearch.listIndices, + getLogs: clientSearch.getLogs, + listClusters: clientSearch.listClusters, + multipleSearchForFacetValues: clientSearch.multipleSearchForFacetValues, + getApiKey: clientSearch.getApiKey, + addApiKey: clientSearch.addApiKey, + listApiKeys: clientSearch.listApiKeys, + updateApiKey: clientSearch.updateApiKey, + deleteApiKey: clientSearch.deleteApiKey, + restoreApiKey: clientSearch.restoreApiKey, + assignUserID: clientSearch.assignUserID, + assignUserIDs: clientSearch.assignUserIDs, + getUserID: clientSearch.getUserID, + searchUserIDs: clientSearch.searchUserIDs, + listUserIDs: clientSearch.listUserIDs, + getTopUserIDs: clientSearch.getTopUserIDs, + removeUserID: clientSearch.removeUserID, + generateSecuredApiKey: clientSearch.generateSecuredApiKey, + getSecuredApiKeyRemainingValidity: clientSearch.getSecuredApiKeyRemainingValidity, + destroy: clientCommon.destroy, + initIndex: base => (indexName) => { + return clientSearch.initIndex(base)(indexName, { + methods: { + batch: clientSearch.batch, + delete: clientSearch.deleteIndex, + getObject: clientSearch.getObject, + getObjects: clientSearch.getObjects, + saveObject: clientSearch.saveObject, + saveObjects: clientSearch.saveObjects, + search: clientSearch.search, + searchForFacetValues: clientSearch.searchForFacetValues, + waitTask: clientSearch.waitTask, + setSettings: clientSearch.setSettings, + getSettings: clientSearch.getSettings, + partialUpdateObject: clientSearch.partialUpdateObject, + partialUpdateObjects: clientSearch.partialUpdateObjects, + deleteObject: clientSearch.deleteObject, + deleteObjects: clientSearch.deleteObjects, + deleteBy: clientSearch.deleteBy, + clearObjects: clientSearch.clearObjects, + browseObjects: clientSearch.browseObjects, + getObjectPosition: clientSearch.getObjectPosition, + findObject: clientSearch.findObject, + exists: clientSearch.exists, + saveSynonym: clientSearch.saveSynonym, + saveSynonyms: clientSearch.saveSynonyms, + getSynonym: clientSearch.getSynonym, + searchSynonyms: clientSearch.searchSynonyms, + browseSynonyms: clientSearch.browseSynonyms, + deleteSynonym: clientSearch.deleteSynonym, + clearSynonyms: clientSearch.clearSynonyms, + replaceAllObjects: clientSearch.replaceAllObjects, + replaceAllSynonyms: clientSearch.replaceAllSynonyms, + searchRules: clientSearch.searchRules, + getRule: clientSearch.getRule, + deleteRule: clientSearch.deleteRule, + saveRule: clientSearch.saveRule, + saveRules: clientSearch.saveRules, + replaceAllRules: clientSearch.replaceAllRules, + browseRules: clientSearch.browseRules, + clearRules: clientSearch.clearRules, + }, + }); + }, + initAnalytics: () => (clientOptions) => { + return clientAnalytics.createAnalyticsClient({ + ...commonOptions, + ...clientOptions, + methods: { + addABTest: clientAnalytics.addABTest, + getABTest: clientAnalytics.getABTest, + getABTests: clientAnalytics.getABTests, + stopABTest: clientAnalytics.stopABTest, + deleteABTest: clientAnalytics.deleteABTest, + }, + }); + }, + initRecommendation: () => (clientOptions) => { + return clientRecommendation.createRecommendationClient({ + ...commonOptions, + ...clientOptions, + methods: { + getPersonalizationStrategy: clientRecommendation.getPersonalizationStrategy, + setPersonalizationStrategy: clientRecommendation.setPersonalizationStrategy, + }, + }); + }, + }, + }); + } + // eslint-disable-next-line functional/immutable-data + algoliasearch.version = clientCommon.version; + + module.exports = algoliasearch; + + + /***/ }), + /* 6 */ + /***/ (function(module, exports, __webpack_require__) { + + // eslint-disable-next-line functional/immutable-data, import/no-commonjs + module.exports = __webpack_require__(7); + + + /***/ }), + /* 7 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, '__esModule', { value: true }); + + // @todo Add logger on options to debug when caches go wrong. + function createFallbackableCache(options) { + const caches = [...options.caches]; + const current = caches.shift(); // eslint-disable-line functional/immutable-data + if (current === undefined) { + return createNullCache(); + } + return { + get(key, defaultValue, events = { + miss: () => Promise.resolve(), + }) { + return current.get(key, defaultValue, events).catch(() => { + return createFallbackableCache({ caches }).get(key, defaultValue, events); + }); + }, + set(key, value) { + return current.set(key, value).catch(() => { + return createFallbackableCache({ caches }).set(key, value); + }); + }, + delete(key) { + return current.delete(key).catch(() => { + return createFallbackableCache({ caches }).delete(key); + }); + }, + clear() { + return current.clear().catch(() => { + return createFallbackableCache({ caches }).clear(); + }); + }, + }; + } + + function createNullCache() { + return { + get(_key, defaultValue, events = { + miss: () => Promise.resolve(), + }) { + const value = defaultValue(); + return value + .then(result => Promise.all([result, events.miss(result)])) + .then(([result]) => result); + }, + set(_key, value) { + return Promise.resolve(value); + }, + delete(_key) { + return Promise.resolve(); + }, + clear() { + return Promise.resolve(); + }, + }; + } + + exports.createFallbackableCache = createFallbackableCache; + exports.createNullCache = createNullCache; + + + /***/ }), + /* 8 */ + /***/ (function(module, exports, __webpack_require__) { + + // eslint-disable-next-line functional/immutable-data, import/no-commonjs + module.exports = __webpack_require__(9); + + + /***/ }), + /* 9 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, '__esModule', { value: true }); + + function createInMemoryCache(options = { serializable: true }) { + // eslint-disable-next-line functional/no-let + let cache = {}; + return { + get(key, defaultValue, events = { + miss: () => Promise.resolve(), + }) { + const keyAsString = JSON.stringify(key); + if (keyAsString in cache) { + return Promise.resolve(options.serializable ? JSON.parse(cache[keyAsString]) : cache[keyAsString]); + } + const promise = defaultValue(); + const miss = (events && events.miss) || (() => Promise.resolve()); + return promise.then((value) => miss(value)).then(() => promise); + }, + set(key, value) { + // eslint-disable-next-line functional/immutable-data + cache[JSON.stringify(key)] = options.serializable ? JSON.stringify(value) : value; + return Promise.resolve(value); + }, + delete(key) { + // eslint-disable-next-line functional/immutable-data + delete cache[JSON.stringify(key)]; + return Promise.resolve(); + }, + clear() { + cache = {}; + return Promise.resolve(); + }, + }; + } + + exports.createInMemoryCache = createInMemoryCache; + + + /***/ }), + /* 10 */ + /***/ (function(module, exports, __webpack_require__) { + + // eslint-disable-next-line functional/immutable-data, import/no-commonjs + module.exports = __webpack_require__(11); + + + /***/ }), + /* 11 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, '__esModule', { value: true }); + + var clientCommon = __webpack_require__(12); + var transporter = __webpack_require__(14); + var requesterCommon = __webpack_require__(16); + + const createAnalyticsClient = options => { + const region = options.region || 'us'; + const auth = clientCommon.createAuth(clientCommon.AuthMode.WithinHeaders, options.appId, options.apiKey); + const transporter$1 = transporter.createTransporter({ + hosts: [{ url: `analytics.${region}.algolia.com` }], + ...options, + headers: { + ...auth.headers(), + ...{ 'content-type': 'application/json' }, + ...options.headers, + }, + queryParameters: { + ...auth.queryParameters(), + ...options.queryParameters, + }, + }); + const appId = options.appId; + return clientCommon.addMethods({ appId, transporter: transporter$1 }, options.methods); + }; + + const addABTest = (base) => { + return (abTest, requestOptions) => { + return base.transporter.write({ + method: requesterCommon.MethodEnum.Post, + path: '2/abtests', + data: abTest, + }, requestOptions); + }; + }; + + const deleteABTest = (base) => { + return (abTestID, requestOptions) => { + return base.transporter.write({ + method: requesterCommon.MethodEnum.Delete, + path: clientCommon.encode('2/abtests/%s', abTestID), + }, requestOptions); + }; + }; + + const getABTest = (base) => { + return (abTestID, requestOptions) => { + return base.transporter.read({ + method: requesterCommon.MethodEnum.Get, + path: clientCommon.encode('2/abtests/%s', abTestID), + }, requestOptions); + }; + }; + + const getABTests = (base) => { + return (requestOptions) => { + return base.transporter.read({ + method: requesterCommon.MethodEnum.Get, + path: '2/abtests', + }, requestOptions); + }; + }; + + const stopABTest = (base) => { + return (abTestID, requestOptions) => { + return base.transporter.write({ + method: requesterCommon.MethodEnum.Post, + path: clientCommon.encode('2/abtests/%s/stop', abTestID), + }, requestOptions); + }; + }; + + exports.addABTest = addABTest; + exports.createAnalyticsClient = createAnalyticsClient; + exports.deleteABTest = deleteABTest; + exports.getABTest = getABTest; + exports.getABTests = getABTests; + exports.stopABTest = stopABTest; + + + /***/ }), + /* 12 */ + /***/ (function(module, exports, __webpack_require__) { + + // eslint-disable-next-line functional/immutable-data, import/no-commonjs + module.exports = __webpack_require__(13); + + + /***/ }), + /* 13 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, '__esModule', { value: true }); + + function createAuth(authMode, appId, apiKey) { + const credentials = { + 'x-algolia-api-key': apiKey, + 'x-algolia-application-id': appId, + }; + return { + headers() { + return authMode === AuthMode.WithinHeaders ? credentials : {}; + }, + queryParameters() { + return authMode === AuthMode.WithinQueryParameters ? credentials : {}; + }, + }; + } + + function createRetryablePromise(callback) { + let retriesCount = 0; // eslint-disable-line functional/no-let + const retry = () => { + retriesCount++; + return new Promise((resolve) => { + setTimeout(() => { + resolve(callback(retry)); + }, Math.min(100 * retriesCount, 1000)); + }); + }; + return callback(retry); + } + + function createWaitablePromise(promise, wait = (_response, _requestOptions) => { + return Promise.resolve(); + }) { + // eslint-disable-next-line functional/immutable-data + return Object.assign(promise, { + wait(requestOptions) { + return createWaitablePromise(promise + .then(response => Promise.all([wait(response, requestOptions), response])) + .then(promiseResults => promiseResults[1])); + }, + }); + } + + // eslint-disable-next-line functional/prefer-readonly-type + function shuffle(array) { + let c = array.length - 1; // eslint-disable-line functional/no-let + // eslint-disable-next-line functional/no-loop-statement + for (c; c > 0; c--) { + const b = Math.floor(Math.random() * (c + 1)); + const a = array[c]; + array[c] = array[b]; // eslint-disable-line functional/immutable-data, no-param-reassign + array[b] = a; // eslint-disable-line functional/immutable-data, no-param-reassign + } + return array; + } + function addMethods(base, methods) { + Object.keys(methods !== undefined ? methods : {}).forEach(key => { + // @ts-ignore + // eslint-disable-next-line functional/immutable-data, no-param-reassign + base[key] = methods[key](base); + }); + // @ts-ignore + return base; + } + function encode(format, ...args) { + // eslint-disable-next-line functional/no-let + let i = 0; + return format.replace(/%s/g, () => encodeURIComponent(args[i++])); + } + + const version = '4.0.1'; + + const destroy = (base) => { + return () => { + return base.transporter.requester.destroy(); + }; + }; + + const AuthMode = { + /** + * If auth credentials should be in query parameters. + */ + WithinQueryParameters: 0, + /** + * If auth credentials should be in headers. + */ + WithinHeaders: 1, + }; + + exports.AuthMode = AuthMode; + exports.addMethods = addMethods; + exports.createAuth = createAuth; + exports.createRetryablePromise = createRetryablePromise; + exports.createWaitablePromise = createWaitablePromise; + exports.destroy = destroy; + exports.encode = encode; + exports.shuffle = shuffle; + exports.version = version; + + + /***/ }), + /* 14 */ + /***/ (function(module, exports, __webpack_require__) { + + // eslint-disable-next-line functional/immutable-data, import/no-commonjs + module.exports = __webpack_require__(15); + + + /***/ }), + /* 15 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, '__esModule', { value: true }); + + var requesterCommon = __webpack_require__(16); + + function createMappedRequestOptions(requestOptions, timeout) { + const options = requestOptions || {}; + const data = options.data || {}; + Object.keys(options).forEach(key => { + if (['timeout', 'headers', 'queryParameters', 'data', 'cacheable'].indexOf(key) === -1) { + data[key] = options[key]; // eslint-disable-line functional/immutable-data + } + }); + return { + data: Object.entries(data).length > 0 ? data : undefined, + timeout: options.timeout || timeout, + headers: options.headers || {}, + queryParameters: options.queryParameters || {}, + cacheable: options.cacheable, + }; + } + + const CallEnum = { + /** + * If the host is read only. + */ + Read: 1, + /** + * If the host is write only. + */ + Write: 2, + /** + * If the host is both read and write. + */ + Any: 3, + }; + + const HostStatusEnum = { + Up: 1, + Down: 2, + Timeouted: 3, + }; + + // By default, API Clients at Algolia have expiration delay + // of 5 mins. In the JavaScript client, we have 2 mins. + const EXPIRATION_DELAY = 2 * 60 * 1000; + function createStatefulHost(host, status = HostStatusEnum.Up) { + return { + ...host, + status, + lastUpdate: Date.now(), + }; + } + function isStatefulHostUp(host) { + return host.status === HostStatusEnum.Up || Date.now() - host.lastUpdate > EXPIRATION_DELAY; + } + function isStatefulHostTimeouted(host) { + return (host.status === HostStatusEnum.Timeouted && Date.now() - host.lastUpdate <= EXPIRATION_DELAY); + } + + function createStatelessHost(options) { + return { + protocol: options.protocol || 'https', + url: options.url, + accept: options.accept || CallEnum.Any, + }; + } + + function createRetryableOptions(hostsCache, statelessHosts) { + return Promise.all(statelessHosts.map(statelessHost => { + return hostsCache.get(statelessHost, () => { + return Promise.resolve(createStatefulHost(statelessHost)); + }); + })).then(statefulHosts => { + const hostsUp = statefulHosts.filter(host => isStatefulHostUp(host)); + const hostsTimeouted = statefulHosts.filter(host => isStatefulHostTimeouted(host)); + /** + * Note, we put the hosts that previously timeouted on the end of the list. + */ + const hostsAvailable = [...hostsUp, ...hostsTimeouted]; + const statelessHostsAvailable = hostsAvailable.length > 0 + ? hostsAvailable.map(host => createStatelessHost(host)) + : statelessHosts; + return { + getTimeout(timeoutsCount, baseTimeout) { + /** + * Imagine that you have 4 hosts, if timeouts will increase + * on the following way: 1 (timeouted) > 4 (timeouted) > 5 (200) + * + * Note that, the very next request, we start from the previous timeout + * + * 5 (timeouted) > 6 (timeouted) > 7 ... + * + * This strategy may need to be reviewed, but is the strategy on the our + * current v3 version. + */ + const timeoutMultiplier = hostsTimeouted.length === 0 && timeoutsCount === 0 + ? 1 + : hostsTimeouted.length + 3 + timeoutsCount; + return timeoutMultiplier * baseTimeout; + }, + statelessHosts: statelessHostsAvailable, + }; + }); + } + + const isNetworkError = ({ isTimedOut, status }) => { + return !isTimedOut && ~~status === 0; + }; + const isRetryable = (response) => { + const status = response.status; + const isTimedOut = response.isTimedOut; + return (isTimedOut || isNetworkError(response) || (~~(status / 100) !== 2 && ~~(status / 100) !== 4)); + }; + const isSuccess = ({ status }) => { + return ~~(status / 100) === 2; + }; + const retryDecision = (response, outcomes) => { + if (isRetryable(response)) { + return outcomes.onRetry(response); + } + if (isSuccess(response)) { + return outcomes.onSucess(response); + } + return outcomes.onFail(response); + }; + + function retryableRequest(transporter, statelessHosts, request, requestOptions) { + const stackTrace = []; // eslint-disable-line functional/prefer-readonly-type + /** + * First we prepare the payload that do not depend from hosts. + */ + const data = serializeData(request, requestOptions); + const headers = serializeHeaders(transporter, requestOptions); + const method = request.method; + // On `GET`, the data is proxied to query parameters. + const dataQueryParameters = request.method !== requesterCommon.MethodEnum.Get + ? {} + : { + ...request.data, + ...requestOptions.data, + }; + const queryParameters = { + 'x-algolia-agent': transporter.userAgent.value, + ...transporter.queryParameters, + ...dataQueryParameters, + ...requestOptions.queryParameters, + }; + let timeoutsCount = 0; // eslint-disable-line functional/no-let + const retry = (hosts, // eslint-disable-line functional/prefer-readonly-type + getTimeout) => { + /** + * We iterate on each host, until there is no host left. + */ + const host = hosts.pop(); // eslint-disable-line functional/immutable-data + if (host === undefined) { + throw createRetryError(stackTraceWithoutCredentials(stackTrace)); + } + const payload = { + data, + headers, + method, + url: serializeUrl(host, request.path, queryParameters), + connectTimeout: getTimeout(timeoutsCount, transporter.timeouts.connect), + responseTimeout: getTimeout(timeoutsCount, requestOptions.timeout), + }; + /** + * The stackFrame is pushed to the stackTrace so we + * can have information about onRetry and onFailure + * decisions. + */ + const pushToStackTrace = (response) => { + const stackFrame = { + request: payload, + response, + host, + triesLeft: hosts.length, + }; + // eslint-disable-next-line functional/immutable-data + stackTrace.push(stackFrame); + return stackFrame; + }; + const decisions = { + onSucess: response => deserializeSuccess(response), + onRetry(response) { + const stackFrame = pushToStackTrace(response); + /** + * If response is a timeout, we increaset the number of + * timeouts so we can increase the timeout later. + */ + if (response.isTimedOut) { + timeoutsCount++; + } + return Promise.all([ + /** + * Failures are individually send the logger, allowing + * the end user to debug / store stack frames even + * when a retry error does not happen. + */ + transporter.logger.info('Retryable failure', stackFrameWithoutCredentials(stackFrame)), + /** + * We also store the state of the host in failure cases. If the host, is + * down it will remain down for the next 2 minutes. In a timeout situation, + * this host will be added end of the list of hosts on the next request. + */ + transporter.hostsCache.set(host, createStatefulHost(host, response.isTimedOut ? HostStatusEnum.Timeouted : HostStatusEnum.Down)), + ]).then(() => retry(hosts, getTimeout)); + }, + onFail(response) { + pushToStackTrace(response); + throw deserializeFailure(response, stackTraceWithoutCredentials(stackTrace)); + }, + }; + return transporter.requester.send(payload).then(response => { + return retryDecision(response, decisions); + }); + }; + /** + * Finally, for each retryable host perform request until we got a non + * retryable response. Some notes here: + * + * 1. The reverse here is applied so we can apply a `pop` later on => more performant. + * 2. We also get from the retryable options a timeout multiplier that is tailored + * for the current context. + */ + return createRetryableOptions(transporter.hostsCache, statelessHosts).then(options => { + return retry([...options.statelessHosts].reverse(), options.getTimeout); + }); + } + + function createTransporter(options) { + const { hostsCache, logger, requester, requestsCache, responsesCache, timeouts, userAgent, hosts, queryParameters, headers, } = options; + const transporter = { + hostsCache, + logger, + requester, + requestsCache, + responsesCache, + timeouts, + userAgent, + headers, + queryParameters, + hosts: hosts.map(host => createStatelessHost(host)), + read(request, requestOptions) { + /** + * First, we compute the user request options. Now, keep in mind, + * that using request options the user is able to modified the intire + * payload of the request. Such as headers, query parameters, and others. + */ + const mappedRequestOptions = createMappedRequestOptions(requestOptions, transporter.timeouts.read); + const createRetryableRequest = () => { + /** + * Then, we prepare a function factory that contains the construction of + * the retryable request. At this point, we may *not* perform the actual + * request. But we want to have the function factory ready. + */ + return retryableRequest(transporter, transporter.hosts.filter(host => (host.accept & CallEnum.Read) !== 0), request, mappedRequestOptions); + }; + /** + * Once we have the function factory ready, we need to determine of the + * request is "cacheable" - should be cached. Note that, once again, + * the user can force this option. + */ + const cacheable = mappedRequestOptions.cacheable !== undefined + ? mappedRequestOptions.cacheable + : request.cacheable; + /** + * If is not "cacheable", we immediatly trigger the retryable request, no + * need to check cache implementations. + */ + if (cacheable !== true) { + return createRetryableRequest(); + } + /** + * If the request is "cacheable", we need to first compute the key to ask + * the cache implementations if this request is on progress or if the + * response already exists on the cache. + */ + const key = { + request, + mappedRequestOptions, + transporter: { + queryParameters: transporter.queryParameters, + headers: transporter.headers, + }, + }; + /** + * With the computed key, we first ask the responses cache + * implemention if this request was been resolved before. + */ + return transporter.responsesCache.get(key, () => { + /** + * If the request has never resolved before, we actually ask if there + * is a current request with the same key on progress. + */ + return transporter.requestsCache.get(key, () => { + return (transporter.requestsCache + /** + * Finally, if there is no request in progress with the same key, + * this `createRetryableRequest()` will actually trigger the + * retryable request. + */ + .set(key, createRetryableRequest()) + .then(response => Promise.all([transporter.requestsCache.delete(key), response]), err => Promise.all([transporter.requestsCache.delete(key), Promise.reject(err)])) + .then(([_, response]) => response)); + }); + }, { + /** + * Of course, once we get this response back from the server, we + * tell response cache to actually store the received response + * to be used later. + */ + miss: response => transporter.responsesCache.set(key, response), + }); + }, + write(request, requestOptions) { + /** + * On write requests, no cache mechanisms are applied, and we + * proxy the request immediately to the requester. + */ + return retryableRequest(transporter, transporter.hosts.filter(host => (host.accept & CallEnum.Write) !== 0), request, createMappedRequestOptions(requestOptions, transporter.timeouts.write)); + }, + }; + return transporter; + } + + function createUserAgent(version) { + const userAgent = { + value: `Algolia for JavaScript (${version})`, + add(options) { + const addedUserAgent = `; ${options.segment}${options.version !== undefined ? ` (${options.version})` : ''}`; + if (userAgent.value.indexOf(addedUserAgent) === -1) { + // eslint-disable-next-line functional/immutable-data + userAgent.value = `${userAgent.value}${addedUserAgent}`; + } + return userAgent; + }, + }; + return userAgent; + } + + function deserializeSuccess(response) { + // eslint-disable-next-line functional/no-try-statement + try { + return JSON.parse(response.content); + } + catch (e) { + throw createDeserializationError(e.message, response); + } + } + function deserializeFailure({ content, status }, stackFrame) { + // eslint-disable-next-line functional/no-let + let message = content; + // eslint-disable-next-line functional/no-try-statement + try { + message = JSON.parse(content).message; + } + catch (e) { + // .. + } + return createApiError(message, status, stackFrame); + } + + // eslint-disable-next-line functional/prefer-readonly-type + function encode(format, ...args) { + // eslint-disable-next-line functional/no-let + let i = 0; + return format.replace(/%s/g, () => encodeURIComponent(args[i++])); + } + + function serializeUrl(host, path, queryParameters) { + const queryParametersAsString = serializeQueryParameters(queryParameters); + // eslint-disable-next-line functional/no-let + let url = `${host.protocol}://${host.url}/${path.charAt(0) === '/' ? path.substr(1) : path}`; + if (queryParametersAsString.length) { + url += `?${queryParametersAsString}`; + } + return url; + } + function serializeQueryParameters(parameters) { + const isObjectOrArray = (value) => Object.prototype.toString.call(value) === '[object Object]' || + Object.prototype.toString.call(value) === '[object Array]'; + return Object.keys(parameters) + .map(key => encode('%s=%s', key, isObjectOrArray(parameters[key]) ? JSON.stringify(parameters[key]) : parameters[key])) + .join('&'); + } + function serializeData(request, requestOptions) { + if (request.method === requesterCommon.MethodEnum.Get || + (request.data === undefined && requestOptions.data === undefined)) { + return undefined; + } + const data = Array.isArray(request.data) + ? request.data + : { ...request.data, ...requestOptions.data }; + return JSON.stringify(data); + } + function serializeHeaders(transporter, requestOptions) { + const headers = { + ...transporter.headers, + ...requestOptions.headers, + }; + const serializedHeaders = {}; + Object.keys(headers).forEach(header => { + const value = headers[header]; + // @ts-ignore + // eslint-disable-next-line functional/immutable-data + serializedHeaders[header.toLowerCase()] = value; + }); + return serializedHeaders; + } + + function stackTraceWithoutCredentials(stackTrace) { + return stackTrace.map(stackFrame => stackFrameWithoutCredentials(stackFrame)); + } + function stackFrameWithoutCredentials(stackFrame) { + const modifiedHeaders = stackFrame.request.headers['x-algolia-api-key'] + ? { 'x-algolia-api-key': '*****' } + : {}; + return { + ...stackFrame, + request: { + ...stackFrame.request, + headers: { + ...stackFrame.request.headers, + ...modifiedHeaders, + }, + }, + }; + } + + function createApiError(message, status, transporterStackTrace) { + return { + name: 'ApiError', + message, + status, + transporterStackTrace, + }; + } + + function createDeserializationError(message, response) { + return { + name: 'DeserializationError', + message, + response, + }; + } + + function createRetryError(transporterStackTrace) { + return { + name: 'RetryError', + message: 'Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.', + transporterStackTrace, + }; + } + + exports.CallEnum = CallEnum; + exports.HostStatusEnum = HostStatusEnum; + exports.createApiError = createApiError; + exports.createDeserializationError = createDeserializationError; + exports.createMappedRequestOptions = createMappedRequestOptions; + exports.createRetryError = createRetryError; + exports.createStatefulHost = createStatefulHost; + exports.createStatelessHost = createStatelessHost; + exports.createTransporter = createTransporter; + exports.createUserAgent = createUserAgent; + exports.deserializeFailure = deserializeFailure; + exports.deserializeSuccess = deserializeSuccess; + exports.isStatefulHostTimeouted = isStatefulHostTimeouted; + exports.isStatefulHostUp = isStatefulHostUp; + exports.serializeData = serializeData; + exports.serializeHeaders = serializeHeaders; + exports.serializeQueryParameters = serializeQueryParameters; + exports.serializeUrl = serializeUrl; + exports.stackFrameWithoutCredentials = stackFrameWithoutCredentials; + exports.stackTraceWithoutCredentials = stackTraceWithoutCredentials; + + + /***/ }), + /* 16 */ + /***/ (function(module, exports, __webpack_require__) { + + // eslint-disable-next-line functional/immutable-data, import/no-commonjs + module.exports = __webpack_require__(17); + + + /***/ }), + /* 17 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, '__esModule', { value: true }); + + const MethodEnum = { + Delete: 'DELETE', + Get: 'GET', + Post: 'POST', + Put: 'PUT', + }; + + exports.MethodEnum = MethodEnum; + + + /***/ }), + /* 18 */ + /***/ (function(module, exports, __webpack_require__) { + + // eslint-disable-next-line functional/immutable-data, import/no-commonjs + module.exports = __webpack_require__(19); + + + /***/ }), + /* 19 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, '__esModule', { value: true }); + + var clientCommon = __webpack_require__(12); + var transporter = __webpack_require__(14); + var requesterCommon = __webpack_require__(16); + + const createRecommendationClient = options => { + const region = options.region || 'us'; + const auth = clientCommon.createAuth(clientCommon.AuthMode.WithinHeaders, options.appId, options.apiKey); + const transporter$1 = transporter.createTransporter({ + hosts: [{ url: `recommendation.${region}.algolia.com` }], + ...options, + headers: { + ...auth.headers(), + ...{ 'content-type': 'application/json' }, + ...options.headers, + }, + queryParameters: { + ...auth.queryParameters(), + ...options.queryParameters, + }, + }); + return clientCommon.addMethods({ appId: options.appId, transporter: transporter$1 }, options.methods); + }; + + const getPersonalizationStrategy = (base) => { + return (requestOptions) => { + return base.transporter.read({ + method: requesterCommon.MethodEnum.Get, + path: '1/strategies/personalization', + }, requestOptions); + }; + }; + + const setPersonalizationStrategy = (base) => { + return (personalizationStrategy, requestOptions) => { + return base.transporter.write({ + method: requesterCommon.MethodEnum.Post, + path: '1/strategies/personalization', + data: personalizationStrategy, + }, requestOptions); + }; + }; + + exports.createRecommendationClient = createRecommendationClient; + exports.getPersonalizationStrategy = getPersonalizationStrategy; + exports.setPersonalizationStrategy = setPersonalizationStrategy; + + + /***/ }), + /* 20 */ + /***/ (function(module, exports, __webpack_require__) { + + // eslint-disable-next-line functional/immutable-data, import/no-commonjs + module.exports = __webpack_require__(21); + + + /***/ }), + /* 21 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, '__esModule', { value: true }); + + var clientCommon = __webpack_require__(12); + var transporter = __webpack_require__(14); + var requesterCommon = __webpack_require__(16); + var crypto = __webpack_require__(22); + + function createBrowsablePromise(options) { + return new Promise(resolve => { + const data = { page: 0 }; + const browse = () => { + return options.request(data).then(response => { + if (options.batch !== undefined) { + options.batch(response.hits); + } + if (options.shouldStop(response)) { + return resolve(); + } + // eslint-disable-next-line functional/immutable-data + data.page++; + return browse(); + }); + }; + return browse(); + }); + } + + const createSearchClient = options => { + const appId = options.appId; + const auth = clientCommon.createAuth(options.authMode !== undefined ? options.authMode : clientCommon.AuthMode.WithinHeaders, appId, options.apiKey); + const transporter$1 = transporter.createTransporter({ + hosts: [ + { url: `${appId}-dsn.algolia.net`, accept: transporter.CallEnum.Read }, + { url: `${appId}.algolia.net`, accept: transporter.CallEnum.Write }, + ].concat(clientCommon.shuffle([ + { url: `${appId}-1.algolianet.com` }, + { url: `${appId}-2.algolianet.com` }, + { url: `${appId}-3.algolianet.com` }, + ])), + ...options, + headers: { + ...auth.headers(), + ...{ 'content-type': 'application/x-www-form-urlencoded' }, + ...options.headers, + }, + queryParameters: { + ...auth.queryParameters(), + ...options.queryParameters, + }, + }); + const base = { + transporter: transporter$1, + appId, + addAlgoliaAgent(segment, version) { + transporter$1.userAgent.add({ segment, version }); + }, + clearCache() { + return Promise.all([ + transporter$1.requestsCache.clear(), + transporter$1.responsesCache.clear(), + ]).then(() => undefined); + }, + }; + return clientCommon.addMethods(base, options.methods); + }; + + function createMissingObjectIDError() { + return { + name: 'MissingObjectIDError', + message: 'All objects must have an unique objectID ' + + '(like a primary key) to be valid. ' + + 'Algolia is also able to generate objectIDs ' + + "automatically but *it's not recommended*. " + + "To do it, use the `{'autoGenerateObjectIDIfNotExist': true}` option.", + }; + } + + function createObjectNotFoundError() { + return { + name: 'ObjectNotFoundError', + message: 'Object not found.', + }; + } + + function createValidUntilNotFoundError() { + return { + name: 'ValidUntilNotFoundError', + message: 'ValidUntil not found in given secured api key.', + }; + } + + const addApiKey = (base) => { + return (acl, requestOptions) => { + const { queryParameters, ...options } = requestOptions || {}; + const data = { + acl, + ...(queryParameters !== undefined ? { queryParameters } : {}), + }; + const wait = (response, waitRequestOptions) => { + return clientCommon.createRetryablePromise(retry => { + return getApiKey(base)(response.key, waitRequestOptions).catch((apiError) => { + if (apiError.status !== 404) { + throw apiError; + } + return retry(); + }); + }); + }; + return clientCommon.createWaitablePromise(base.transporter.write({ + method: requesterCommon.MethodEnum.Post, + path: '1/keys', + data, + }, options), wait); + }; + }; + + const assignUserID = (base) => { + return (userID, clusterName, requestOptions) => { + const mappedRequestOptions = transporter.createMappedRequestOptions(requestOptions); + // eslint-disable-next-line functional/immutable-data + mappedRequestOptions.headers['X-Algolia-User-ID'] = userID; + return base.transporter.write({ + method: requesterCommon.MethodEnum.Post, + path: '1/clusters/mapping', + data: { + cluster: clusterName, + }, + }, mappedRequestOptions); + }; + }; + + const assignUserIDs = (base) => { + return (userIDs, clusterName, requestOptions) => { + return base.transporter.write({ + method: requesterCommon.MethodEnum.Post, + path: '1/clusters/mapping/batch', + data: { + users: userIDs, + cluster: clusterName, + }, + }, requestOptions); + }; + }; + + const copyIndex = (base) => { + return (from, to, requestOptions) => { + const wait = (response, waitRequestOptions) => { + return initIndex(base)(from, { + methods: { waitTask }, + }).waitTask(response.taskID, waitRequestOptions); + }; + return clientCommon.createWaitablePromise(base.transporter.write({ + method: requesterCommon.MethodEnum.Post, + path: clientCommon.encode('1/indexes/%s/operation', from), + data: { + operation: 'copy', + destination: to, + }, + }, requestOptions), wait); + }; + }; + + const copyRules = (base) => { + return (from, to, requestOptions) => { + return copyIndex(base)(from, to, { + ...requestOptions, + scope: [ScopeEnum.Rules], + }); + }; + }; + + const copySettings = (base) => { + return (from, to, requestOptions) => { + return copyIndex(base)(from, to, { + ...requestOptions, + scope: [ScopeEnum.Settings], + }); + }; + }; + + const copySynonyms = (base) => { + return (from, to, requestOptions) => { + return copyIndex(base)(from, to, { + ...requestOptions, + scope: [ScopeEnum.Synonyms], + }); + }; + }; + + const deleteApiKey = (base) => { + return (apiKey, requestOptions) => { + const wait = (_, waitRequestOptions) => { + return clientCommon.createRetryablePromise(retry => { + return getApiKey(base)(apiKey, waitRequestOptions) + .then(retry) + .catch((apiError) => { + if (apiError.status !== 404) { + throw apiError; + } + }); + }); + }; + return clientCommon.createWaitablePromise(base.transporter.write({ + method: requesterCommon.MethodEnum.Delete, + path: clientCommon.encode('1/keys/%s', apiKey), + }, requestOptions), wait); + }; + }; + + const generateSecuredApiKey = () => { + return (parentApiKey, restrictions) => { + const queryParameters = transporter.serializeQueryParameters(restrictions); + const securedKey = crypto.createHmac('sha256', parentApiKey) + .update(queryParameters) + .digest('hex'); + return Buffer.from(securedKey + queryParameters).toString('base64'); + }; + }; + + const getApiKey = (base) => { + return (apiKey, requestOptions) => { + return base.transporter.read({ + method: requesterCommon.MethodEnum.Get, + path: clientCommon.encode('1/keys/%s', apiKey), + }, requestOptions); + }; + }; + + const getLogs = (base) => { + return (requestOptions) => { + return base.transporter.read({ + method: requesterCommon.MethodEnum.Get, + path: '1/logs', + }, requestOptions); + }; + }; + + const getSecuredApiKeyRemainingValidity = () => { + return (securedApiKey) => { + const decodedString = Buffer.from(securedApiKey, 'base64').toString('ascii'); + const regex = /validUntil=(\d+)/; + const match = decodedString.match(regex); + if (match === null) { + throw createValidUntilNotFoundError(); + } + return parseInt(match[1], 10) - Math.round(new Date().getTime() / 1000); + }; + }; + + const getTopUserIDs = (base) => { + return (requestOptions) => { + return base.transporter.read({ + method: requesterCommon.MethodEnum.Get, + path: '1/clusters/mapping/top', + }, requestOptions); + }; + }; + + const getUserID = (base) => { + return (userID, requestOptions) => { + return base.transporter.read({ + method: requesterCommon.MethodEnum.Get, + path: clientCommon.encode('1/clusters/mapping/%s', userID), + }, requestOptions); + }; + }; + + const initIndex = (base) => { + return (indexName, options = {}) => { + const searchIndex = { + transporter: base.transporter, + appId: base.appId, + indexName, + }; + return clientCommon.addMethods(searchIndex, options.methods); + }; + }; + + const listApiKeys = (base) => { + return (requestOptions) => { + return base.transporter.read({ + method: requesterCommon.MethodEnum.Get, + path: '1/keys', + }, requestOptions); + }; + }; + + const listClusters = (base) => { + return (requestOptions) => { + return base.transporter.read({ + method: requesterCommon.MethodEnum.Get, + path: '1/clusters', + }, requestOptions); + }; + }; + + const listIndices = (base) => { + return (requestOptions) => { + return base.transporter.read({ + method: requesterCommon.MethodEnum.Get, + path: '1/indexes', + }, requestOptions); + }; + }; + + const listUserIDs = (base) => { + return (requestOptions) => { + return base.transporter.read({ + method: requesterCommon.MethodEnum.Get, + path: '1/clusters/mapping', + }, requestOptions); + }; + }; + + const moveIndex = (base) => { + return (from, to, requestOptions) => { + const wait = (response, waitRequestOptions) => { + return initIndex(base)(from, { + methods: { waitTask }, + }).waitTask(response.taskID, waitRequestOptions); + }; + return clientCommon.createWaitablePromise(base.transporter.write({ + method: requesterCommon.MethodEnum.Post, + path: clientCommon.encode('1/indexes/%s/operation', from), + data: { + operation: 'move', + destination: to, + }, + }, requestOptions), wait); + }; + }; + + const multipleBatch = (base) => { + return (requests, requestOptions) => { + const wait = (response, waitRequestOptions) => { + return Promise.all(Object.keys(response.taskID).map(indexName => { + return initIndex(base)(indexName, { + methods: { waitTask }, + }).waitTask(response.taskID[indexName], waitRequestOptions); + })); + }; + return clientCommon.createWaitablePromise(base.transporter.write({ + method: requesterCommon.MethodEnum.Post, + path: '1/indexes/*/batch', + data: { + requests, + }, + }, requestOptions), wait); + }; + }; + + const multipleGetObjects = (base) => { + return (requests, requestOptions) => { + return base.transporter.read({ + method: requesterCommon.MethodEnum.Post, + path: '1/indexes/*/objects', + data: { + requests, + }, + }, requestOptions); + }; + }; + + const multipleQueries = (base) => { + return (queries, requestOptions) => { + const requests = queries.map(query => { + return { + ...query, + params: transporter.serializeQueryParameters(query.params || {}), + }; + }); + return base.transporter.read({ + method: requesterCommon.MethodEnum.Post, + path: '1/indexes/*/queries', + data: { + requests, + }, + cacheable: true, + }, requestOptions); + }; + }; + + const multipleSearchForFacetValues = (base) => { + return (queries, requestOptions) => { + return Promise.all(queries.map(query => { + const { facetName, facetQuery, ...params } = query.params; + return initIndex(base)(query.indexName, { + methods: { searchForFacetValues }, + }).searchForFacetValues(facetName, facetQuery, { + ...requestOptions, + ...params, + }); + })); + }; + }; + + const removeUserID = (base) => { + return (userID, requestOptions) => { + const mappedRequestOptions = transporter.createMappedRequestOptions(requestOptions); + // eslint-disable-next-line functional/immutable-data + mappedRequestOptions.headers['X-Algolia-User-ID'] = userID; + return base.transporter.write({ + method: requesterCommon.MethodEnum.Delete, + path: '1/clusters/mapping', + }, mappedRequestOptions); + }; + }; + + const restoreApiKey = (base) => { + return (apiKey, requestOptions) => { + const wait = (_, waitRequestOptions) => { + return clientCommon.createRetryablePromise(retry => { + return getApiKey(base)(apiKey, waitRequestOptions).catch((apiError) => { + if (apiError.status !== 404) { + throw apiError; + } + return retry(); + }); + }); + }; + return clientCommon.createWaitablePromise(base.transporter.write({ + method: requesterCommon.MethodEnum.Post, + path: clientCommon.encode('1/keys/%s/restore', apiKey), + }, requestOptions), wait); + }; + }; + + const searchUserIDs = (base) => { + return (query, requestOptions) => { + return base.transporter.read({ + method: requesterCommon.MethodEnum.Post, + path: '1/clusters/mapping/search', + data: { + query, + }, + }, requestOptions); + }; + }; + + const updateApiKey = (base) => { + return (apiKey, requestOptions) => { + const updatedFields = Object.assign({}, requestOptions); + const { queryParameters, ...options } = requestOptions || {}; + const data = queryParameters ? { queryParameters } : {}; + const apiKeyFields = [ + 'acl', + 'indexes', + 'referers', + 'restrictSources', + 'queryParameters', + 'description', + 'maxQueriesPerIPPerHour', + 'maxHitsPerQuery', + ]; + const hasChanged = (getApiKeyResponse) => { + return Object.keys(updatedFields) + .filter(updatedField => apiKeyFields.indexOf(updatedField) !== -1) + .every(updatedField => { + return ( + // @ts-ignore + getApiKeyResponse[updatedField] === updatedFields[updatedField]); + }); + }; + const wait = (_, waitRequestOptions) => clientCommon.createRetryablePromise(retry => { + return getApiKey(base)(apiKey, waitRequestOptions).then(getApiKeyResponse => { + return hasChanged(getApiKeyResponse) ? Promise.resolve() : retry(); + }); + }); + return clientCommon.createWaitablePromise(base.transporter.write({ + method: requesterCommon.MethodEnum.Put, + path: clientCommon.encode('1/keys/%s', apiKey), + data, + }, options), wait); + }; + }; + + const batch = (base) => { + return (requests, requestOptions) => { + const wait = (response, waitRequestOptions) => { + return waitTask(base)(response.taskID, waitRequestOptions); + }; + return clientCommon.createWaitablePromise(base.transporter.write({ + method: requesterCommon.MethodEnum.Post, + path: clientCommon.encode('1/indexes/%s/batch', base.indexName), + data: { + requests, + }, + }, requestOptions), wait); + }; + }; + + const browseObjects = (base) => { + return (requestOptions) => { + return createBrowsablePromise({ + ...requestOptions, + shouldStop: response => response.cursor === undefined, + request: (data) => base.transporter.read({ + method: requesterCommon.MethodEnum.Post, + path: clientCommon.encode('1/indexes/%s/browse', base.indexName), + data, + }, requestOptions), + }); + }; + }; + + const browseRules = (base) => { + return (requestOptions) => { + const options = { + hitsPerPage: 1000, + ...requestOptions, + }; + return createBrowsablePromise({ + ...options, + shouldStop: response => response.hits.length < options.hitsPerPage, + request(data) { + return searchRules(base)('', { ...requestOptions, ...data }).then((response) => { + return { + ...response, + hits: response.hits.map(rule => { + // @ts-ignore + // eslint-disable-next-line functional/immutable-data,no-param-reassign + delete rule._highlightResult; + return rule; + }), + }; + }); + }, + }); + }; + }; + + const browseSynonyms = (base) => { + return (requestOptions) => { + const options = { + hitsPerPage: 1000, + ...requestOptions, + }; + return createBrowsablePromise({ + ...options, + shouldStop: response => response.hits.length < options.hitsPerPage, + request(data) { + return searchSynonyms(base)('', { ...requestOptions, ...data }).then((response) => { + return { + ...response, + hits: response.hits.map(synonym => { + // @ts-ignore + // eslint-disable-next-line functional/immutable-data,no-param-reassign + delete synonym._highlightResult; + return synonym; + }), + }; + }); + }, + }); + }; + }; + + const chunkedBatch = (base) => { + return (bodies, action, requestOptions) => { + const { batchSize, ...options } = requestOptions || {}; + const response = { + taskIDs: [], + objectIDs: [], + }; + const forEachBatch = (lastIndex = 0) => { + // eslint-disable-next-line functional/prefer-readonly-type + const bodiesChunk = []; + // eslint-disable-next-line functional/no-let + let index; + /* eslint-disable-next-line functional/no-loop-statement */ + for (index = lastIndex; index < bodies.length; index++) { + // eslint-disable-next-line functional/immutable-data + bodiesChunk.push(bodies[index]); + if (bodiesChunk.length === (batchSize || 1000)) { + break; + } + } + if (bodiesChunk.length === 0) { + return Promise.resolve(response); + } + return batch(base)(bodiesChunk.map(body => { + return { + action, + body, + }; + }), options).then(res => { + response.objectIDs = response.objectIDs.concat(res.objectIDs); // eslint-disable-line functional/immutable-data + response.taskIDs.push(res.taskID); // eslint-disable-line functional/immutable-data + index++; + return forEachBatch(index); + }); + }; + return clientCommon.createWaitablePromise(forEachBatch(), (chunkedBatchResponse, waitRequestOptions) => { + return Promise.all(chunkedBatchResponse.taskIDs.map(taskID => { + return waitTask(base)(taskID, waitRequestOptions); + })); + }); + }; + }; + + const clearObjects = (base) => { + return (requestOptions) => { + return clientCommon.createWaitablePromise(base.transporter.write({ + method: requesterCommon.MethodEnum.Post, + path: clientCommon.encode('1/indexes/%s/clear', base.indexName), + }, requestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions)); + }; + }; + + const clearRules = (base) => { + return (requestOptions) => { + const { forwardToReplicas, ...options } = requestOptions || {}; + const mappedRequestOptions = transporter.createMappedRequestOptions(options); + if (forwardToReplicas) { + mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data + } + return clientCommon.createWaitablePromise(base.transporter.write({ + method: requesterCommon.MethodEnum.Post, + path: clientCommon.encode('1/indexes/%s/rules/clear', base.indexName), + }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions)); + }; + }; + + const clearSynonyms = (base) => { + return (requestOptions) => { + const { forwardToReplicas, ...options } = requestOptions || {}; + const mappedRequestOptions = transporter.createMappedRequestOptions(options); + if (forwardToReplicas) { + mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data + } + return clientCommon.createWaitablePromise(base.transporter.write({ + method: requesterCommon.MethodEnum.Post, + path: clientCommon.encode('1/indexes/%s/synonyms/clear', base.indexName), + }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions)); + }; + }; + + const deleteBy = (base) => { + return (filters, requestOptions) => { + return clientCommon.createWaitablePromise(base.transporter.write({ + method: requesterCommon.MethodEnum.Post, + path: clientCommon.encode('1/indexes/%s/deleteByQuery', base.indexName), + data: filters, + }, requestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions)); + }; + }; + + const deleteIndex = (base) => { + return (requestOptions) => { + return clientCommon.createWaitablePromise(base.transporter.write({ + method: requesterCommon.MethodEnum.Delete, + path: clientCommon.encode('1/indexes/%s', base.indexName), + }, requestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions)); + }; + }; + + const deleteObject = (base) => { + return (objectID, requestOptions) => { + return clientCommon.createWaitablePromise(deleteObjects(base)([objectID], requestOptions).then(response => { + return { taskID: response.taskIDs[0] }; + }), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions)); + }; + }; + + const deleteObjects = (base) => { + return (objectIDs, requestOptions) => { + const objects = objectIDs.map(objectID => { + return { objectID }; + }); + return chunkedBatch(base)(objects, BatchActionEnum.DeleteObject, requestOptions); + }; + }; + + const deleteRule = (base) => { + return (objectID, requestOptions) => { + const { forwardToReplicas, ...options } = requestOptions || {}; + const mappedRequestOptions = transporter.createMappedRequestOptions(options); + if (forwardToReplicas) { + mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data + } + return clientCommon.createWaitablePromise(base.transporter.write({ + method: requesterCommon.MethodEnum.Delete, + path: clientCommon.encode('1/indexes/%s/rules/%s', base.indexName, objectID), + }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions)); + }; + }; + + const deleteSynonym = (base) => { + return (objectID, requestOptions) => { + const { forwardToReplicas, ...options } = requestOptions || {}; + const mappedRequestOptions = transporter.createMappedRequestOptions(options); + if (forwardToReplicas) { + mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data + } + return clientCommon.createWaitablePromise(base.transporter.write({ + method: requesterCommon.MethodEnum.Delete, + path: clientCommon.encode('1/indexes/%s/synonyms/%s', base.indexName, objectID), + }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions)); + }; + }; + + const exists = (base) => { + return (requestOptions) => { + return getSettings(base)(requestOptions) + .then(() => true) + .catch(error => { + if (error.status !== 404) { + throw error; + } + return false; + }); + }; + }; + + const findObject = (base) => { + return (callback, requestOptions) => { + const { query, paginate, ...options } = requestOptions || {}; + // eslint-disable-next-line functional/no-let + let page = 0; + const forEachPage = () => { + return search(base)(query || '', { ...options, page }).then(result => { + // eslint-disable-next-line functional/no-loop-statement + for (const [position, hit] of Object.entries(result.hits)) { + // eslint-disable-next-line promise/no-callback-in-promise + if (callback(hit)) { + return { + object: hit, + position: parseInt(position, 10), + page, + }; + } + } + page++; + // paginate if option was set and has next page + if (paginate === false || page >= result.nbPages) { + throw createObjectNotFoundError(); + } + return forEachPage(); + }); + }; + return forEachPage(); + }; + }; + + const getObject = (base) => { + return (objectID, requestOptions) => { + return base.transporter.read({ + method: requesterCommon.MethodEnum.Get, + path: clientCommon.encode('1/indexes/%s/%s', base.indexName, objectID), + }, requestOptions); + }; + }; + + const getObjectPosition = () => { + return (searchResponse, objectID) => { + // eslint-disable-next-line functional/no-loop-statement + for (const [position, hit] of Object.entries(searchResponse.hits)) { + if (hit.objectID === objectID) { + return parseInt(position, 10); + } + } + return -1; + }; + }; + + const getObjects = (base) => { + return (objectIDs, requestOptions) => { + const { attributesToRetrieve, ...options } = requestOptions || {}; + const requests = objectIDs.map(objectID => { + return { + indexName: base.indexName, + objectID, + ...(attributesToRetrieve ? { attributesToRetrieve } : {}), + }; + }); + return base.transporter.read({ + method: requesterCommon.MethodEnum.Post, + path: '1/indexes/*/objects', + data: { + requests, + }, + }, options); + }; + }; + + const getRule = (base) => { + return (objectID, requestOptions) => { + return base.transporter.read({ + method: requesterCommon.MethodEnum.Get, + path: clientCommon.encode('1/indexes/%s/rules/%s', base.indexName, objectID), + }, requestOptions); + }; + }; + + const getSettings = (base) => { + return (requestOptions) => { + return base.transporter.read({ + method: requesterCommon.MethodEnum.Get, + path: clientCommon.encode('1/indexes/%s/settings', base.indexName), + data: { + getVersion: 2, + }, + }, requestOptions); + }; + }; + + const getSynonym = (base) => { + return (objectID, requestOptions) => { + return base.transporter.read({ + method: requesterCommon.MethodEnum.Get, + path: clientCommon.encode(`1/indexes/%s/synonyms/%s`, base.indexName, objectID), + }, requestOptions); + }; + }; + + const getTask = (base) => { + return (taskID, requestOptions) => { + return base.transporter.read({ + method: requesterCommon.MethodEnum.Get, + path: clientCommon.encode('1/indexes/%s/task/%s', base.indexName, taskID.toString()), + }, requestOptions); + }; + }; + + const partialUpdateObject = (base) => { + return (object, requestOptions) => { + return clientCommon.createWaitablePromise(partialUpdateObjects(base)([object], requestOptions).then(response => { + return { + objectID: response.objectIDs[0], + taskID: response.taskIDs[0], + }; + }), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions)); + }; + }; + + const partialUpdateObjects = (base) => { + return (objects, requestOptions) => { + const { createIfNotExists, ...options } = requestOptions || {}; + const action = createIfNotExists + ? BatchActionEnum.PartialUpdateObject + : BatchActionEnum.PartialUpdateObjectNoCreate; + return chunkedBatch(base)(objects, action, options); + }; + }; + + const replaceAllObjects = (base) => { + return (objects, requestOptions) => { + const { safe, autoGenerateObjectIDIfNotExist, batchSize, ...options } = requestOptions || {}; + const operation = (from, to, type, operationRequestOptions) => { + return clientCommon.createWaitablePromise(base.transporter.write({ + method: requesterCommon.MethodEnum.Post, + path: clientCommon.encode('1/indexes/%s/operation', from), + data: { + operation: type, + destination: to, + }, + }, operationRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions)); + }; + const randomSuffix = Math.random() + .toString(36) + .substring(7); + const temporaryIndexName = `${base.indexName}_tmp_${randomSuffix}`; + const saveObjectsInTemporary = saveObjects({ + appId: base.appId, + transporter: base.transporter, + indexName: temporaryIndexName, + }); + // @ts-ignore + // eslint-disable-next-line prefer-const, functional/no-let, functional/prefer-readonly-type + let responses = []; + const copyWaitablePromise = operation(base.indexName, temporaryIndexName, 'copy', { + ...options, + scope: ['settings', 'synonyms', 'rules'], + }); + // eslint-disable-next-line functional/immutable-data + responses.push(copyWaitablePromise); + const result = (safe + ? copyWaitablePromise.wait(options) + : copyWaitablePromise) + .then(() => { + const saveObjectsWaitablePromise = saveObjectsInTemporary(objects, { + ...options, + autoGenerateObjectIDIfNotExist, + batchSize, + }); + // eslint-disable-next-line functional/immutable-data + responses.push(saveObjectsWaitablePromise); + return safe ? saveObjectsWaitablePromise.wait(options) : saveObjectsWaitablePromise; + }) + .then(() => { + const moveWaitablePromise = operation(temporaryIndexName, base.indexName, 'move', options); + // eslint-disable-next-line functional/immutable-data + responses.push(moveWaitablePromise); + return safe ? moveWaitablePromise.wait(options) : moveWaitablePromise; + }) + .then(() => Promise.all(responses)) + .then(([copyResponse, saveObjectsResponse, moveResponse]) => { + return { + objectIDs: saveObjectsResponse.objectIDs, + taskIDs: [copyResponse.taskID, ...saveObjectsResponse.taskIDs, moveResponse.taskID], + }; + }); + return clientCommon.createWaitablePromise(result, (_, waitRequestOptions) => { + return Promise.all(responses.map(response => response.wait(waitRequestOptions))); + }); + }; + }; + + const replaceAllRules = (base) => { + return (rules, requestOptions) => { + return saveRules(base)(rules, { + ...requestOptions, + clearExistingRules: true, + }); + }; + }; + + const replaceAllSynonyms = (base) => { + return (synonyms, requestOptions) => { + return saveSynonyms(base)(synonyms, { + ...requestOptions, + replaceExistingSynonyms: true, + }); + }; + }; + + const saveObject = (base) => { + return (object, requestOptions) => { + return clientCommon.createWaitablePromise(saveObjects(base)([object], requestOptions).then(response => { + return { + objectID: response.objectIDs[0], + taskID: response.taskIDs[0], + }; + }), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions)); + }; + }; + + const saveObjects = (base) => { + return (objects, requestOptions) => { + const { autoGenerateObjectIDIfNotExist, ...options } = requestOptions || {}; + const action = autoGenerateObjectIDIfNotExist + ? BatchActionEnum.AddObject + : BatchActionEnum.UpdateObject; + if (action === BatchActionEnum.UpdateObject) { + // eslint-disable-next-line functional/no-loop-statement + for (const object of objects) { + if (object.objectID === undefined) { + return clientCommon.createWaitablePromise(Promise.reject(createMissingObjectIDError())); + } + } + } + return chunkedBatch(base)(objects, action, options); + }; + }; + + const saveRule = (base) => { + return (rule, requestOptions) => { + return saveRules(base)([rule], requestOptions); + }; + }; + + const saveRules = (base) => { + return (rules, requestOptions) => { + const { forwardToReplicas, clearExistingRules, ...options } = requestOptions || {}; + const mappedRequestOptions = transporter.createMappedRequestOptions(options); + if (forwardToReplicas) { + mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data + } + if (clearExistingRules) { + mappedRequestOptions.queryParameters.clearExistingRules = 1; // eslint-disable-line functional/immutable-data + } + return clientCommon.createWaitablePromise(base.transporter.write({ + method: requesterCommon.MethodEnum.Post, + path: clientCommon.encode('1/indexes/%s/rules/batch', base.indexName), + data: rules, + }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions)); + }; + }; + + const saveSynonym = (base) => { + return (synonym, requestOptions) => { + return saveSynonyms(base)([synonym], requestOptions); + }; + }; + + const saveSynonyms = (base) => { + return (synonyms, requestOptions) => { + const { forwardToReplicas, replaceExistingSynonyms, ...options } = requestOptions || {}; + const mappedRequestOptions = transporter.createMappedRequestOptions(options); + if (forwardToReplicas) { + mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data + } + if (replaceExistingSynonyms) { + mappedRequestOptions.queryParameters.replaceExistingSynonyms = 1; // eslint-disable-line functional/immutable-data + } + return clientCommon.createWaitablePromise(base.transporter.write({ + method: requesterCommon.MethodEnum.Post, + path: clientCommon.encode('1/indexes/%s/synonyms/batch', base.indexName), + data: synonyms, + }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions)); + }; + }; + + const search = (base) => { + return (query, requestOptions) => { + return base.transporter.read({ + method: requesterCommon.MethodEnum.Post, + path: clientCommon.encode('1/indexes/%s/query', base.indexName), + data: { + query, + }, + cacheable: true, + }, requestOptions); + }; + }; + + const searchForFacetValues = (base) => { + return (facetName, facetQuery, requestOptions) => { + return base.transporter.read({ + method: requesterCommon.MethodEnum.Post, + path: clientCommon.encode('1/indexes/%s/facets/%s/query', base.indexName, facetName), + data: { + facetQuery, + }, + cacheable: true, + }, requestOptions); + }; + }; + + const searchRules = (base) => { + return (query, requestOptions) => { + return base.transporter.read({ + method: requesterCommon.MethodEnum.Post, + path: clientCommon.encode('1/indexes/%s/rules/search', base.indexName), + data: { + query, + }, + }, requestOptions); + }; + }; + + const searchSynonyms = (base) => { + return (query, requestOptions) => { + return base.transporter.read({ + method: requesterCommon.MethodEnum.Post, + path: clientCommon.encode('1/indexes/%s/synonyms/search', base.indexName), + data: { + query, + }, + }, requestOptions); + }; + }; + + const setSettings = (base) => { + return (settings, requestOptions) => { + const { forwardToReplicas, ...options } = requestOptions || {}; + const mappedRequestOptions = transporter.createMappedRequestOptions(options); + if (forwardToReplicas) { + mappedRequestOptions.queryParameters.forwardToReplicas = 1; // eslint-disable-line functional/immutable-data + } + return clientCommon.createWaitablePromise(base.transporter.write({ + method: requesterCommon.MethodEnum.Put, + path: clientCommon.encode('1/indexes/%s/settings', base.indexName), + data: settings, + }, mappedRequestOptions), (response, waitRequestOptions) => waitTask(base)(response.taskID, waitRequestOptions)); + }; + }; + + const waitTask = (base) => { + return (taskID, requestOptions) => { + return clientCommon.createRetryablePromise(retry => { + return getTask(base)(taskID, requestOptions).then(response => { + return response.status !== 'published' ? retry() : undefined; + }); + }); + }; + }; + + const BatchActionEnum = { + AddObject: 'addObject', + UpdateObject: 'updateObject', + PartialUpdateObject: 'partialUpdateObject', + PartialUpdateObjectNoCreate: 'partialUpdateObjectNoCreate', + DeleteObject: 'deleteObject', + }; + + const ScopeEnum = { + Settings: 'settings', + Synonyms: 'synonyms', + Rules: 'rules', + }; + + const StrategyEnum = { + None: 'none', + StopIfEnoughMatches: 'stopIfEnoughMatches', + }; + + const SynonymEnum = { + Synonym: 'synonym', + OneWaySynonym: 'oneWaySynonym', + AltCorrection1: 'altCorrection1', + AltCorrection2: 'altCorrection2', + Placeholder: 'placeholder', + }; + + exports.BatchActionEnum = BatchActionEnum; + exports.ScopeEnum = ScopeEnum; + exports.StrategyEnum = StrategyEnum; + exports.SynonymEnum = SynonymEnum; + exports.addApiKey = addApiKey; + exports.assignUserID = assignUserID; + exports.assignUserIDs = assignUserIDs; + exports.batch = batch; + exports.browseObjects = browseObjects; + exports.browseRules = browseRules; + exports.browseSynonyms = browseSynonyms; + exports.chunkedBatch = chunkedBatch; + exports.clearObjects = clearObjects; + exports.clearRules = clearRules; + exports.clearSynonyms = clearSynonyms; + exports.copyIndex = copyIndex; + exports.copyRules = copyRules; + exports.copySettings = copySettings; + exports.copySynonyms = copySynonyms; + exports.createBrowsablePromise = createBrowsablePromise; + exports.createMissingObjectIDError = createMissingObjectIDError; + exports.createObjectNotFoundError = createObjectNotFoundError; + exports.createSearchClient = createSearchClient; + exports.createValidUntilNotFoundError = createValidUntilNotFoundError; + exports.deleteApiKey = deleteApiKey; + exports.deleteBy = deleteBy; + exports.deleteIndex = deleteIndex; + exports.deleteObject = deleteObject; + exports.deleteObjects = deleteObjects; + exports.deleteRule = deleteRule; + exports.deleteSynonym = deleteSynonym; + exports.exists = exists; + exports.findObject = findObject; + exports.generateSecuredApiKey = generateSecuredApiKey; + exports.getApiKey = getApiKey; + exports.getLogs = getLogs; + exports.getObject = getObject; + exports.getObjectPosition = getObjectPosition; + exports.getObjects = getObjects; + exports.getRule = getRule; + exports.getSecuredApiKeyRemainingValidity = getSecuredApiKeyRemainingValidity; + exports.getSettings = getSettings; + exports.getSynonym = getSynonym; + exports.getTask = getTask; + exports.getTopUserIDs = getTopUserIDs; + exports.getUserID = getUserID; + exports.initIndex = initIndex; + exports.listApiKeys = listApiKeys; + exports.listClusters = listClusters; + exports.listIndices = listIndices; + exports.listUserIDs = listUserIDs; + exports.moveIndex = moveIndex; + exports.multipleBatch = multipleBatch; + exports.multipleGetObjects = multipleGetObjects; + exports.multipleQueries = multipleQueries; + exports.multipleSearchForFacetValues = multipleSearchForFacetValues; + exports.partialUpdateObject = partialUpdateObject; + exports.partialUpdateObjects = partialUpdateObjects; + exports.removeUserID = removeUserID; + exports.replaceAllObjects = replaceAllObjects; + exports.replaceAllRules = replaceAllRules; + exports.replaceAllSynonyms = replaceAllSynonyms; + exports.restoreApiKey = restoreApiKey; + exports.saveObject = saveObject; + exports.saveObjects = saveObjects; + exports.saveRule = saveRule; + exports.saveRules = saveRules; + exports.saveSynonym = saveSynonym; + exports.saveSynonyms = saveSynonyms; + exports.search = search; + exports.searchForFacetValues = searchForFacetValues; + exports.searchRules = searchRules; + exports.searchSynonyms = searchSynonyms; + exports.searchUserIDs = searchUserIDs; + exports.setSettings = setSettings; + exports.updateApiKey = updateApiKey; + exports.waitTask = waitTask; + + + /***/ }), + /* 22 */ + /***/ (function(module, exports) { + + module.exports = require("crypto"); + + /***/ }), + /* 23 */ + /***/ (function(module, exports, __webpack_require__) { + + // eslint-disable-next-line functional/immutable-data, import/no-commonjs + module.exports = __webpack_require__(24); + + + /***/ }), + /* 24 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, '__esModule', { value: true }); + + function createNullLogger() { + return { + debug(_message, _args) { + return Promise.resolve(); + }, + info(_message, _args) { + return Promise.resolve(); + }, + error(_message, _args) { + return Promise.resolve(); + }, + }; + } + + const LogLevelEnum = { + Debug: 1, + Info: 2, + Error: 3, + }; + + exports.LogLevelEnum = LogLevelEnum; + exports.createNullLogger = createNullLogger; + + + /***/ }), + /* 25 */ + /***/ (function(module, exports, __webpack_require__) { + + // eslint-disable-next-line functional/immutable-data, import/no-commonjs + module.exports = __webpack_require__(26); + + + /***/ }), + /* 26 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + Object.defineProperty(exports, '__esModule', { value: true }); + + var http = __webpack_require__(27); + var https = __webpack_require__(28); + var URL = __webpack_require__(29); + + /* eslint sonarjs/cognitive-complexity: 0 */ // --> + function createNodeHttpRequester() { + const agentOptions = { keepAlive: true }; + const httpAgent = new http.Agent(agentOptions); + const httpsAgent = new https.Agent(agentOptions); + return { + send(request) { + return new Promise(resolve => { + const url = URL.parse(request.url); + const path = url.query === null ? url.pathname : `${url.pathname}?${url.query}`; + const options = { + agent: url.protocol === 'https:' ? httpsAgent : httpAgent, + hostname: url.hostname, + path, + method: request.method, + headers: request.headers, + ...(url.port !== undefined ? { port: url.port || '' } : {}), + }; + const req = (url.protocol === 'https:' ? https : http).request(options, response => { + // eslint-disable-next-line functional/no-let + let content = ''; + response.on('data', chunk => (content += chunk)); + response.on('end', () => { + // eslint-disable-next-line @typescript-eslint/no-use-before-define + clearTimeout(connectTimeout); + // eslint-disable-next-line @typescript-eslint/no-use-before-define + clearTimeout(responseTimeout); + resolve({ + status: response.statusCode || 0, + content, + isTimedOut: false, + }); + }); + }); + const createTimeout = (timeout, content) => { + return setTimeout(() => { + req.abort(); + resolve({ + status: 0, + content, + isTimedOut: true, + }); + }, timeout * 1000); + }; + const connectTimeout = createTimeout(request.connectTimeout, 'Connection timeout'); + // eslint-disable-next-line functional/no-let + let responseTimeout; + req.on('error', error => { + clearTimeout(connectTimeout); + clearTimeout(responseTimeout); + resolve({ status: 0, content: error.message, isTimedOut: false }); + }); + req.once('response', () => { + clearTimeout(connectTimeout); + responseTimeout = createTimeout(request.responseTimeout, 'Socket timeout'); + }); + if (request.data !== undefined) { + req.write(request.data); + } + req.end(); + }); + }, + destroy() { + httpAgent.destroy(); + httpsAgent.destroy(); + return Promise.resolve(); + }, + }; + } + + exports.createNodeHttpRequester = createNodeHttpRequester; + + + /***/ }), + /* 27 */ + /***/ (function(module, exports) { + + module.exports = require("http"); + + /***/ }), + /* 28 */ + /***/ (function(module, exports) { + + module.exports = require("https"); + + /***/ }), + /* 29 */ + /***/ (function(module, exports) { + + module.exports = require("url"); + + /***/ }) + /******/ ]); + return plugin; + }, +}; diff --git a/.yarn/plugins/@yarnpkg/plugin-workspace-tools.js b/.yarn/plugins/@yarnpkg/plugin-workspace-tools.js new file mode 100644 index 0000000000..ef1add76c6 --- /dev/null +++ b/.yarn/plugins/@yarnpkg/plugin-workspace-tools.js @@ -0,0 +1,686 @@ +/* eslint-disable*/ +module.exports = { + name: "@yarnpkg/plugin-workspace-tools", + factory: function (require) { + var plugin = + /******/ (function(modules) { // webpackBootstrap + /******/ // The module cache + /******/ var installedModules = {}; + /******/ + /******/ // The require function + /******/ function __webpack_require__(moduleId) { + /******/ + /******/ // Check if module is in cache + /******/ if(installedModules[moduleId]) { + /******/ return installedModules[moduleId].exports; + /******/ } + /******/ // Create a new module (and put it into the cache) + /******/ var module = installedModules[moduleId] = { + /******/ i: moduleId, + /******/ l: false, + /******/ exports: {} + /******/ }; + /******/ + /******/ // Execute the module function + /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); + /******/ + /******/ // Flag the module as loaded + /******/ module.l = true; + /******/ + /******/ // Return the exports of the module + /******/ return module.exports; + /******/ } + /******/ + /******/ + /******/ // expose the modules object (__webpack_modules__) + /******/ __webpack_require__.m = modules; + /******/ + /******/ // expose the module cache + /******/ __webpack_require__.c = installedModules; + /******/ + /******/ // define getter function for harmony exports + /******/ __webpack_require__.d = function(exports, name, getter) { + /******/ if(!__webpack_require__.o(exports, name)) { + /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); + /******/ } + /******/ }; + /******/ + /******/ // define __esModule on exports + /******/ __webpack_require__.r = function(exports) { + /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { + /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); + /******/ } + /******/ Object.defineProperty(exports, '__esModule', { value: true }); + /******/ }; + /******/ + /******/ // create a fake namespace object + /******/ // mode & 1: value is a module id, require it + /******/ // mode & 2: merge all properties of value into the ns + /******/ // mode & 4: return value when already ns object + /******/ // mode & 8|1: behave like require + /******/ __webpack_require__.t = function(value, mode) { + /******/ if(mode & 1) value = __webpack_require__(value); + /******/ if(mode & 8) return value; + /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; + /******/ var ns = Object.create(null); + /******/ __webpack_require__.r(ns); + /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); + /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); + /******/ return ns; + /******/ }; + /******/ + /******/ // getDefaultExport function for compatibility with non-harmony modules + /******/ __webpack_require__.n = function(module) { + /******/ var getter = module && module.__esModule ? + /******/ function getDefault() { return module['default']; } : + /******/ function getModuleExports() { return module; }; + /******/ __webpack_require__.d(getter, 'a', getter); + /******/ return getter; + /******/ }; + /******/ + /******/ // Object.prototype.hasOwnProperty.call + /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; + /******/ + /******/ // __webpack_public_path__ + /******/ __webpack_require__.p = ""; + /******/ + /******/ + /******/ // Load entry module and return exports + /******/ return __webpack_require__(__webpack_require__.s = 0); + /******/ }) + /************************************************************************/ + /******/ ([ + /* 0 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + var __importDefault = this && this.__importDefault || function (mod) { + return mod && mod.__esModule ? mod : { + "default": mod + }; + }; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + const focus_1 = __importDefault(__webpack_require__(1)); + + const foreach_1 = __importDefault(__webpack_require__(5)); + + const plugin = { + commands: [focus_1.default, foreach_1.default] + }; // eslint-disable-next-line arca/no-default-export + + exports.default = plugin; + + /***/ }), + /* 1 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + var __decorate = this && this.__decorate || function (decorators, target, key, desc) { + var c = arguments.length, + r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, + d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + const cli_1 = __webpack_require__(2); + + const core_1 = __webpack_require__(3); + + const core_2 = __webpack_require__(3); + + const clipanion_1 = __webpack_require__(4); // eslint-disable-next-line arca/no-default-export + + + class WorkspacesFocus extends cli_1.BaseCommand { + constructor() { + super(...arguments); + this.workspaces = []; + this.json = false; + this.production = false; + } + + async execute() { + const configuration = await core_1.Configuration.find(this.context.cwd, this.context.plugins); + const { + project, + workspace + } = await core_1.Project.find(configuration, this.context.cwd); + const cache = await core_1.Cache.find(configuration); + let requiredWorkspaces; + + if (this.workspaces.length === 0) { + if (!workspace) throw new cli_1.WorkspaceRequiredError(project.cwd, this.context.cwd); + requiredWorkspaces = new Set([workspace]); + } else { + requiredWorkspaces = new Set(this.workspaces.map(name => { + return project.getWorkspaceByIdent(core_2.structUtils.parseIdent(name)); + })); + } // First we compute the dependency chain to see what workspaces are + // dependencies of the one we're trying to focus on. + // + // Note: remember that new elements can be added in a set even while + // iterating over it (because they're added at the end) + + + for (const workspace of requiredWorkspaces) { + for (const dependencyType of core_1.Manifest.hardDependencies) { + for (const descriptor of workspace.manifest.getForScope(dependencyType).values()) { + const matchingWorkspace = project.tryWorkspaceByDescriptor(descriptor); + if (matchingWorkspace === null) continue; + requiredWorkspaces.add(matchingWorkspace); + } + } + } // Then we go over each workspace that didn't get selected, and remove all + // their dependencies. + + + for (const workspace of project.workspaces) { + if (requiredWorkspaces.has(workspace)) { + if (this.production) { + workspace.manifest.devDependencies.clear(); + } + } else { + workspace.manifest.dependencies.clear(); + workspace.manifest.devDependencies.clear(); + workspace.manifest.peerDependencies.clear(); + } + } // And finally we can run the install, but we have to make sure we don't + // persist the project state on the disk (otherwise all workspaces would + // lose their dependencies!). + + + const report = await core_1.StreamReport.start({ + configuration, + json: this.json, + stdout: this.context.stdout, + includeLogs: true + }, async report => { + await project.install({ + cache, + report, + persistProject: false + }); + }); + return report.exitCode(); + } + + } + + WorkspacesFocus.usage = clipanion_1.Command.Usage({ + category: `Workspace-related commands`, + description: `install a single workspace and its dependencies`, + details: ` + This command will run an install as if the specified workspaces (and all other workspaces they depend on) were the only ones in the project. If no workspaces are explicitly listed, the active one will be assumed. + + Note that this command is only very moderately useful when using zero-installs, since the cache will contain all the packages anyway - meaning that the only difference between a full install and a focused install would just be a few extra lines in the \`.pnp.js\` file, at the cost of introducing an extra complexity. + + If the \`--production\` flag is set, only regular dependencies will be installed, and dev dependencies will be omitted. + + If the \`--json\` flag is set the output will follow a JSON-stream output also known as NDJSON (https://github.com/ndjson/ndjson-spec). + ` + }); + + __decorate([clipanion_1.Command.Rest()], WorkspacesFocus.prototype, "workspaces", void 0); + + __decorate([clipanion_1.Command.Boolean(`--json`)], WorkspacesFocus.prototype, "json", void 0); + + __decorate([clipanion_1.Command.Boolean(`--production`)], WorkspacesFocus.prototype, "production", void 0); + + __decorate([clipanion_1.Command.Path(`workspaces`, `focus`)], WorkspacesFocus.prototype, "execute", null); + + exports.default = WorkspacesFocus; + + /***/ }), + /* 2 */ + /***/ (function(module, exports) { + + module.exports = require("@yarnpkg/cli"); + + /***/ }), + /* 3 */ + /***/ (function(module, exports) { + + module.exports = require("@yarnpkg/core"); + + /***/ }), + /* 4 */ + /***/ (function(module, exports) { + + module.exports = require("clipanion"); + + /***/ }), + /* 5 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + var __decorate = this && this.__decorate || function (decorators, target, key, desc) { + var c = arguments.length, + r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, + d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; + }; + + var __importDefault = this && this.__importDefault || function (mod) { + return mod && mod.__esModule ? mod : { + "default": mod + }; + }; + + var __importStar = this && this.__importStar || function (mod) { + if (mod && mod.__esModule) return mod; + var result = {}; + if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k]; + result["default"] = mod; + return result; + }; + + Object.defineProperty(exports, "__esModule", { + value: true + }); + + const cli_1 = __webpack_require__(2); + + const core_1 = __webpack_require__(3); + + const core_2 = __webpack_require__(3); + + const core_3 = __webpack_require__(3); + + const clipanion_1 = __webpack_require__(4); + + const os_1 = __webpack_require__(6); + + const p_limit_1 = __importDefault(__webpack_require__(7)); + + const yup = __importStar(__webpack_require__(9)); + /** + * Retrieves all the child workspaces of a given root workspace recursively + * + * @param rootWorkspace root workspace + * @param project project + * + * @returns all the child workspaces + */ + + + const getWorkspaceChildrenRecursive = (rootWorkspace, project) => { + const workspaceList = []; + + for (const childWorkspaceCwd of rootWorkspace.workspacesCwds) { + const childWorkspace = project.workspacesByCwd.get(childWorkspaceCwd); + + if (childWorkspace) { + workspaceList.push(childWorkspace, ...getWorkspaceChildrenRecursive(childWorkspace, project)); + } + } + + return workspaceList; + }; // eslint-disable-next-line arca/no-default-export + + + class WorkspacesForeachCommand extends cli_1.BaseCommand { + constructor() { + super(...arguments); + this.args = []; + this.all = false; + this.verbose = false; + this.parallel = false; + this.interlaced = false; + this.topological = false; + this.topologicalDev = false; + this.include = []; + this.exclude = []; + this.private = true; + } + + async execute() { + const configuration = await core_1.Configuration.find(this.context.cwd, this.context.plugins); + const { + project, + workspace: cwdWorkspace + } = await core_1.Project.find(configuration, this.context.cwd); + if (!this.all && !cwdWorkspace) throw new cli_1.WorkspaceRequiredError(project.cwd, this.context.cwd); + const command = this.cli.process([this.commandName, ...this.args]); + const scriptName = command.path.length === 1 && command.path[0] === `run` && typeof command.scriptName !== `undefined` ? command.scriptName : null; + if (command.path.length === 0) throw new clipanion_1.UsageError(`Invalid subcommand name for iteration - use the 'run' keyword if you wish to execute a script`); + const rootWorkspace = this.all ? project.topLevelWorkspace : cwdWorkspace; + const candidates = [rootWorkspace, ...getWorkspaceChildrenRecursive(rootWorkspace, project)]; + const workspaces = []; + + for (const workspace of candidates) { + if (scriptName && !workspace.manifest.scripts.has(scriptName)) continue; // Prevents infinite loop in the case of configuring a script as such: + // "lint": "yarn workspaces foreach --all lint" + + if (scriptName === process.env.npm_lifecycle_event && workspace.cwd === cwdWorkspace.cwd) continue; + if (this.include.length > 0 && !this.include.includes(core_3.structUtils.stringifyIdent(workspace.locator))) continue; + if (this.exclude.length > 0 && this.exclude.includes(core_3.structUtils.stringifyIdent(workspace.locator))) continue; + if (this.private === false && workspace.manifest.private === true) continue; + workspaces.push(workspace); + } + + let interlaced = this.interlaced; // No need to buffer the output if we're executing the commands sequentially + + if (!this.parallel) interlaced = true; + const needsProcessing = new Map(); + const processing = new Set(); + const concurrency = this.parallel ? Math.max(1, os_1.cpus().length / 2) : 1; + const limit = p_limit_1.default(this.jobs || concurrency); + let commandCount = 0; + let finalExitCode = null; + const report = await core_2.StreamReport.start({ + configuration, + stdout: this.context.stdout + }, async report => { + const runCommand = async (workspace, { + commandIndex + }) => { + if (!this.parallel && this.verbose && commandIndex > 1) report.reportSeparator(); + const prefix = getPrefix(workspace, { + configuration, + verbose: this.verbose, + commandIndex + }); + const [stdout, stdoutEnd] = createStream(report, { + prefix, + interlaced + }); + const [stderr, stderrEnd] = createStream(report, { + prefix, + interlaced + }); + + try { + const exitCode = (await this.cli.run([this.commandName, ...this.args], { + cwd: workspace.cwd, + stdout, + stderr + })) || 0; + stdout.end(); + stderr.end(); + const emptyStdout = await stdoutEnd; + const emptyStderr = await stderrEnd; + if (this.verbose && emptyStdout && emptyStderr) report.reportInfo(null, `${prefix} Process exited without output (exit code ${exitCode})`); + return exitCode; + } catch (err) { + stdout.end(); + stderr.end(); + await stdoutEnd; + await stderrEnd; + throw err; + } + }; + + for (const workspace of workspaces) needsProcessing.set(workspace.anchoredLocator.locatorHash, workspace); + + while (needsProcessing.size > 0) { + if (report.hasErrors()) break; + const commandPromises = []; + + for (const [identHash, workspace] of needsProcessing) { + // If we are already running the command on that workspace, skip + if (processing.has(workspace.anchoredDescriptor.descriptorHash)) continue; + let isRunnable = true; + + if (this.topological || this.topologicalDev) { + const resolvedSet = this.topologicalDev ? new Map([...workspace.manifest.dependencies, ...workspace.manifest.devDependencies]) : workspace.manifest.dependencies; + + for (const descriptor of resolvedSet.values()) { + const workspace = project.tryWorkspaceByDescriptor(descriptor); + isRunnable = workspace === null || !needsProcessing.has(workspace.anchoredLocator.locatorHash); + + if (!isRunnable) { + break; + } + } + } + + if (!isRunnable) continue; + processing.add(workspace.anchoredDescriptor.descriptorHash); + commandPromises.push(limit(async () => { + const exitCode = await runCommand(workspace, { + commandIndex: ++commandCount + }); + needsProcessing.delete(identHash); + processing.delete(workspace.anchoredDescriptor.descriptorHash); + return exitCode; + })); // If we're not executing processes in parallel we can just wait for it + // to finish outside of this loop (it'll then reenter it anyway) + + if (!this.parallel) { + break; + } + } + + if (commandPromises.length === 0) { + const cycle = Array.from(needsProcessing.values()).map(workspace => { + return core_3.structUtils.prettyLocator(configuration, workspace.anchoredLocator); + }).join(`, `); + return report.reportError(core_2.MessageName.CYCLIC_DEPENDENCIES, `Dependency cycle detected (${cycle})`); + } + + const exitCodes = await Promise.all(commandPromises); + const errorCode = exitCodes.find(code => code !== 0); // The order in which the exit codes will be processed is fairly + // opaque, so better just return a generic "1" for determinism. + + finalExitCode = typeof errorCode !== `undefined` ? 1 : finalExitCode; + + if ((this.topological || this.topologicalDev) && typeof errorCode !== `undefined`) { + report.reportError(core_2.MessageName.UNNAMED, `The command failed for workspaces that are depended upon by other workspaces; can't satisfy the dependency graph`); + } + } + }); + + if (finalExitCode !== null) { + return finalExitCode; + } else { + return report.exitCode(); + } + } + + } + + WorkspacesForeachCommand.schema = yup.object().shape({ + jobs: yup.number().min(2), + parallel: yup.boolean().when(`jobs`, { + is: val => val > 1, + then: yup.boolean().oneOf([true], `--parallel must be set when using --jobs`), + otherwise: yup.boolean() + }) + }); + WorkspacesForeachCommand.usage = clipanion_1.Command.Usage({ + category: `Workspace-related commands`, + description: `run a command on all workspaces`, + details: ` + This command will run a given sub-command on current and all its descendant workspaces. Various flags can alter the exact behavior of the command: + + - If \`-p,--parallel\` is set, the commands will be ran in parallel; they'll by default be limited to a number of parallel tasks roughly equal to half your core number, but that can be overridden via \`-j,--jobs\`. + + - If \`-p,--parallel\` and \`-i,--interlaced\` are both set, Yarn will print the lines from the output as it receives them. If \`-i,--interlaced\` wasn't set, it would instead buffer the output from each process and print the resulting buffers only after their source processes have exited. + + - If \`-t,--topological\` is set, Yarn will only run the command after all workspaces that depend on it through the \`dependencies\` field have successfully finished executing. If \`--tological-dev\` is set, both the \`dependencies\` and \`devDependencies\` fields will be considered when figuring out the wait points. + + - If \`--all\` is set, Yarn will run the command on all the workspaces of a project. By default yarn runs the command only on current and all its descendant workspaces. + + - The command may apply to only some workspaces through the use of \`--include\` which acts as a whitelist. The \`--exclude\` flag will do the opposite and will be a list of packages that mustn't execute the script. + + Adding the \`-v,--verbose\` flag will cause Yarn to print more information; in particular the name of the workspace that generated the output will be printed at the front of each line. + + If the command is \`run\` and the script being run does not exist the child workspace will be skipped without error. + `, + examples: [[`Publish current and all descendant packages`, `yarn workspaces foreach npm publish --tolerate-republish`], [`Run build script on current and all descendant packages`, `yarn workspaces foreach run build`], [`Run build script on current and all descendant packages in parallel, building dependent packages first`, `yarn workspaces foreach -pt run build`]] + }); + + __decorate([clipanion_1.Command.String()], WorkspacesForeachCommand.prototype, "commandName", void 0); + + __decorate([clipanion_1.Command.Proxy()], WorkspacesForeachCommand.prototype, "args", void 0); + + __decorate([clipanion_1.Command.Boolean(`-a,--all`)], WorkspacesForeachCommand.prototype, "all", void 0); + + __decorate([clipanion_1.Command.Boolean(`-v,--verbose`)], WorkspacesForeachCommand.prototype, "verbose", void 0); + + __decorate([clipanion_1.Command.Boolean(`-p,--parallel`)], WorkspacesForeachCommand.prototype, "parallel", void 0); + + __decorate([clipanion_1.Command.Boolean(`-i,--interlaced`)], WorkspacesForeachCommand.prototype, "interlaced", void 0); + + __decorate([clipanion_1.Command.String(`-j,--jobs`)], WorkspacesForeachCommand.prototype, "jobs", void 0); + + __decorate([clipanion_1.Command.Boolean(`-t,--topological`)], WorkspacesForeachCommand.prototype, "topological", void 0); + + __decorate([clipanion_1.Command.Boolean(`--topological-dev`)], WorkspacesForeachCommand.prototype, "topologicalDev", void 0); + + __decorate([clipanion_1.Command.Array(`--include`)], WorkspacesForeachCommand.prototype, "include", void 0); + + __decorate([clipanion_1.Command.Array(`--exclude`)], WorkspacesForeachCommand.prototype, "exclude", void 0); + + __decorate([clipanion_1.Command.Boolean(`--private`)], WorkspacesForeachCommand.prototype, "private", void 0); + + __decorate([clipanion_1.Command.Path(`workspaces`, `foreach`)], WorkspacesForeachCommand.prototype, "execute", null); + + exports.default = WorkspacesForeachCommand; + + function createStream(report, { + prefix, + interlaced + }) { + const streamReporter = report.createStreamReporter(prefix); + const defaultStream = new core_3.miscUtils.DefaultStream(); + defaultStream.pipe(streamReporter, { + end: false + }); + defaultStream.on(`finish`, () => { + streamReporter.end(); + }); + const promise = new Promise(resolve => { + streamReporter.on(`finish`, () => { + resolve(defaultStream.active); + }); + }); + if (interlaced) return [defaultStream, promise]; + const streamBuffer = new core_3.miscUtils.BufferStream(); + streamBuffer.pipe(defaultStream, { + end: false + }); + streamBuffer.on(`finish`, () => { + defaultStream.end(); + }); + return [streamBuffer, promise]; + } + + function getPrefix(workspace, { + configuration, + commandIndex, + verbose + }) { + if (!verbose) return null; + const ident = core_3.structUtils.convertToIdent(workspace.locator); + const name = core_3.structUtils.stringifyIdent(ident); + let prefix = `[${name}]:`; + const colors = [`#2E86AB`, `#A23B72`, `#F18F01`, `#C73E1D`, `#CCE2A3`]; + const colorName = colors[commandIndex % colors.length]; + return configuration.format(prefix, colorName); + } + + /***/ }), + /* 6 */ + /***/ (function(module, exports) { + + module.exports = require("os"); + + /***/ }), + /* 7 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + const pTry = __webpack_require__(8); + + const pLimit = concurrency => { + if (concurrency < 1) { + throw new TypeError('Expected `concurrency` to be a number from 1 and up'); + } + + const queue = []; + let activeCount = 0; + + const next = () => { + activeCount--; + + if (queue.length > 0) { + queue.shift()(); + } + }; + + const run = (fn, resolve, ...args) => { + activeCount++; + + const result = pTry(fn, ...args); + + resolve(result); + + result.then(next, next); + }; + + const enqueue = (fn, resolve, ...args) => { + if (activeCount < concurrency) { + run(fn, resolve, ...args); + } else { + queue.push(run.bind(null, fn, resolve, ...args)); + } + }; + + const generator = (fn, ...args) => new Promise(resolve => enqueue(fn, resolve, ...args)); + Object.defineProperties(generator, { + activeCount: { + get: () => activeCount + }, + pendingCount: { + get: () => queue.length + } + }); + + return generator; + }; + + module.exports = pLimit; + module.exports.default = pLimit; + + + /***/ }), + /* 8 */ + /***/ (function(module, exports, __webpack_require__) { + + "use strict"; + + + module.exports = (callback, ...args) => new Promise(resolve => { + resolve(callback(...args)); + }); + + + /***/ }), + /* 9 */ + /***/ (function(module, exports) { + + module.exports = require("yup"); + + /***/ }) + /******/ ]); + return plugin; + }, +}; diff --git a/.yarn/releases/yarn-berry.js b/.yarn/releases/yarn-berry.js new file mode 100755 index 0000000000..03b0c7a004 --- /dev/null +++ b/.yarn/releases/yarn-berry.js @@ -0,0 +1,56 @@ +#!/usr/bin/env node +module.exports=function(e){var t={};function n(r){if(t[r])return t[r].exports;var A=t[r]={i:r,l:!1,exports:{}};return e[r].call(A.exports,A,A.exports,n),A.l=!0,A.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var A in e)n.d(r,A,function(t){return e[t]}.bind(null,A));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=452)}([function(e,t,n){"use strict";var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const A=r(n(261));t.execUtils=A;const i=r(n(173));t.folderUtils=i;const o=r(n(88));t.hashUtils=o;const s=r(n(479));t.httpUtils=s;const a=r(n(58));t.miscUtils=a;const c=r(n(276));t.scriptUtils=c;const u=r(n(198));t.semverUtils=u;const g=r(n(20));t.structUtils=g;const l=r(n(650));t.tgzUtils=l;var h=n(662);t.Cache=h.Cache;var p=n(131);t.DEFAULT_RC_FILENAME=p.DEFAULT_RC_FILENAME,t.DEFAULT_LOCK_FILENAME=p.DEFAULT_LOCK_FILENAME;var f=n(131);t.Configuration=f.Configuration,t.FormatType=f.FormatType,t.ProjectLookup=f.ProjectLookup,t.SettingsType=f.SettingsType;var C=n(310);t.BuildType=C.BuildType;var d=n(663);t.LightReport=d.LightReport;var I=n(93);t.Manifest=I.Manifest;var E=n(35);t.MessageName=E.MessageName;var B=n(664);t.Project=B.Project;var y=n(300);t.TAG_REGEXP=y.TAG_REGEXP;var m=n(43);t.ReportError=m.ReportError,t.Report=m.Report;var Q=n(303);t.StreamReport=Q.StreamReport;var w=n(314);t.ThrowReport=w.ThrowReport;var v=n(301);t.VirtualFetcher=v.VirtualFetcher;var b=n(133);t.WorkspaceResolver=b.WorkspaceResolver;var D=n(315);t.Workspace=D.Workspace;var S=n(304);t.YarnVersion=S.YarnVersion;var k=n(197);t.LinkType=k.LinkType},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const A=r(n(32)),i=n(6),o=n(51),s=n(18);var a=n(52);t.normalizeLineEndings=a.normalizeLineEndings;var c=n(172);t.DEFAULT_COMPRESSION_LEVEL=c.DEFAULT_COMPRESSION_LEVEL;var u=n(18);t.PortablePath=u.PortablePath,t.Filename=u.Filename;var g=n(18);t.npath=g.npath,t.ppath=g.ppath,t.toFilename=g.toFilename;var l=n(457);t.AliasFS=l.AliasFS;var h=n(52);t.FakeFS=h.FakeFS;var p=n(458);t.CwdFS=p.CwdFS;var f=n(459);t.JailFS=f.JailFS;var C=n(460);t.LazyFS=C.LazyFS;var d=n(461);t.NoFS=d.NoFS;var I=n(51);t.NodeFS=I.NodeFS;var E=n(462);t.PosixFS=E.PosixFS;var B=n(53);t.ProxiedFS=B.ProxiedFS;var y=n(463);t.VirtualFS=y.VirtualFS;var m=n(172);t.ZipFS=m.ZipFS;var Q=n(464);function w(e){const t=s.npath.toPortablePath(A.default.tmpdir()),n=Math.ceil(4294967296*Math.random()).toString(16).padStart(8,"0");return s.ppath.join(t,`${e}${n}`)}function v(e,t){const n=new Set(["accessSync","appendFileSync","createReadStream","chmodSync","closeSync","copyFileSync","lstatSync","mkdirSync","openSync","readSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","statSync","symlinkSync","unlinkSync","utimesSync","watch","writeFileSync","writeSync"]),r=new Set(["accessPromise","appendFilePromise","chmodPromise","closePromise","copyFilePromise","lstatPromise","mkdirPromise","openPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","statPromise","symlinkPromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"]),A=(e,t,n)=>{const r=e[t];void 0!==r&&(e[t]=n,void 0!==r[i.promisify.custom]&&(n[i.promisify.custom]=r[i.promisify.custom]))};A(e,"existsSync",e=>{try{return t.existsSync(e)}catch(e){return!1}}),A(e,"exists",(e,...n)=>{const r="function"==typeof n[n.length-1]?n.pop():()=>{};process.nextTick(()=>{t.existsPromise(e).then(e=>{r(e)},()=>{r(!1)})})}),A(e,"read",(e,n,...r)=>{const A="function"==typeof r[r.length-1]?r.pop():()=>{};process.nextTick(()=>{t.readPromise(e,n,...r).then(e=>{A(null,e,n)},e=>{A(e)})})});for(const n of r){const r=t[n].bind(t);A(e,n.replace(/Promise$/,""),(...e)=>{const t="function"==typeof e[e.length-1]?e.pop():()=>{};process.nextTick(()=>{r(...e).then(e=>{t(null,e)},e=>{t(e)})})})}for(const r of n){A(e,r,t[r].bind(t))}e.realpathSync.native=e.realpathSync,e.realpath.native=e.realpath}t.ZipOpenFS=Q.ZipOpenFS,t.patchFs=v,t.extendFs=function(e,t){const n=Object.create(e);return v(n,t),n};const b=new Set;let D=!1;function S(){if(D)return;D=!0;const e=()=>{process.off("exit",e);for(const e of b){b.delete(e);try{t.xfs.removeSync(e)}catch(e){}}};process.on("exit",e)}t.xfs=Object.assign(new o.NodeFS,{detachTemp(e){b.delete(e)},mktempSync(e){for(S();;){const t=w("xfs-");try{this.mkdirSync(t)}catch(e){if("EEXIST"===e.code)continue;throw e}const n=this.realpathSync(t);if(b.add(n),void 0===e)return t;try{return e(n)}finally{if(b.has(n)){b.delete(n);try{this.removeSync(n)}catch(e){}}}}},async mktempPromise(e){for(S();;){const t=w("xfs-");try{await this.mkdirPromise(t)}catch(e){if("EEXIST"===e.code)continue;throw e}const n=await this.realpathPromise(t);if(b.add(n),void 0===e)return n;try{return await e(n)}finally{if(b.has(n)){b.delete(n);try{await this.removePromise(n)}catch(e){}}}}}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(632);t.Cli=r.Cli;var A=n(298);t.Command=A.Command;var i=n(297);t.UsageError=i.UsageError},function(e,t){e.exports=require("fs")},function(e,t){e.exports=require("path")},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(101),o=n(369),s=n(14),a=n(229),c=n(150),u=n(228),g=function(e){function t(n,r,A){var i=e.call(this)||this;switch(i.syncErrorValue=null,i.syncErrorThrown=!1,i.syncErrorThrowable=!1,i.isStopped=!1,i._parentSubscription=null,arguments.length){case 0:i.destination=o.empty;break;case 1:if(!n){i.destination=o.empty;break}if("object"==typeof n){n instanceof t?(i.syncErrorThrowable=n.syncErrorThrowable,i.destination=n,n.add(i)):(i.syncErrorThrowable=!0,i.destination=new l(i,n));break}default:i.syncErrorThrowable=!0,i.destination=new l(i,n,r,A)}return i}return A(t,e),t.prototype[a.rxSubscriber]=function(){return this},t.create=function(e,n,r){var A=new t(e,n,r);return A.syncErrorThrowable=!1,A},t.prototype.next=function(e){this.isStopped||this._next(e)},t.prototype.error=function(e){this.isStopped||(this.isStopped=!0,this._error(e))},t.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this))},t.prototype._next=function(e){this.destination.next(e)},t.prototype._error=function(e){this.destination.error(e),this.unsubscribe()},t.prototype._complete=function(){this.destination.complete(),this.unsubscribe()},t.prototype._unsubscribeAndRecycle=function(){var e=this._parent,t=this._parents;return this._parent=null,this._parents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parent=e,this._parents=t,this._parentSubscription=null,this},t}(s.Subscription);t.Subscriber=g;var l=function(e){function t(t,n,r,A){var s,a=e.call(this)||this;a._parentSubscriber=t;var c=a;return i.isFunction(n)?s=n:n&&(s=n.next,r=n.error,A=n.complete,n!==o.empty&&(c=Object.create(n),i.isFunction(c.unsubscribe)&&a.add(c.unsubscribe.bind(c)),c.unsubscribe=a.unsubscribe.bind(a))),a._context=c,a._next=s,a._error=r,a._complete=A,a}return A(t,e),t.prototype.next=function(e){if(!this.isStopped&&this._next){var t=this._parentSubscriber;c.config.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?this.__tryOrSetError(t,this._next,e)&&this.unsubscribe():this.__tryOrUnsub(this._next,e)}},t.prototype.error=function(e){if(!this.isStopped){var t=this._parentSubscriber,n=c.config.useDeprecatedSynchronousErrorHandling;if(this._error)n&&t.syncErrorThrowable?(this.__tryOrSetError(t,this._error,e),this.unsubscribe()):(this.__tryOrUnsub(this._error,e),this.unsubscribe());else if(t.syncErrorThrowable)n?(t.syncErrorValue=e,t.syncErrorThrown=!0):u.hostReportError(e),this.unsubscribe();else{if(this.unsubscribe(),n)throw e;u.hostReportError(e)}}},t.prototype.complete=function(){var e=this;if(!this.isStopped){var t=this._parentSubscriber;if(this._complete){var n=function(){return e._complete.call(e._context)};c.config.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,n),this.unsubscribe()):(this.__tryOrUnsub(n),this.unsubscribe())}else this.unsubscribe()}},t.prototype.__tryOrUnsub=function(e,t){try{e.call(this._context,t)}catch(e){if(this.unsubscribe(),c.config.useDeprecatedSynchronousErrorHandling)throw e;u.hostReportError(e)}},t.prototype.__tryOrSetError=function(e,t,n){if(!c.config.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{t.call(this._context,n)}catch(t){return c.config.useDeprecatedSynchronousErrorHandling?(e.syncErrorValue=t,e.syncErrorThrown=!0,!0):(u.hostReportError(t),!0)}return!1},t.prototype._unsubscribe=function(){var e=this._parentSubscriber;this._context=null,this._parentSubscriber=null,e.unsubscribe()},t}(g);t.SafeSubscriber=l},function(e,t){e.exports=require("util")},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(323);t.BaseCommand=r.BaseCommand;var A=n(326);t.WorkspaceRequiredError=A.WorkspaceRequiredError;var i=n(718);t.getDynamicLibs=i.getDynamicLibs;var o=n(324);t.getPluginConfiguration=o.getPluginConfiguration;var s=n(720);t.openWorkspace=s.openWorkspace;var a=n(322);t.main=a.main},function(e,t){e.exports=require("stream")},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(227),A=n(866),i=n(79),o=n(230),s=n(150),a=function(){function e(e){this._isScalar=!1,e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var r=this.operator,i=A.toSubscriber(e,t,n);if(r?r.call(i,this.source):i.add(this.source||s.config.useDeprecatedSynchronousErrorHandling&&!i.syncErrorThrowable?this._subscribe(i):this._trySubscribe(i)),s.config.useDeprecatedSynchronousErrorHandling&&i.syncErrorThrowable&&(i.syncErrorThrowable=!1,i.syncErrorThrown))throw i.syncErrorValue;return i},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){s.config.useDeprecatedSynchronousErrorHandling&&(e.syncErrorThrown=!0,e.syncErrorValue=t),r.canReportError(e)?e.error(t):console.warn(t)}},e.prototype.forEach=function(e,t){var n=this;return new(t=c(t))((function(t,r){var A;A=n.subscribe((function(t){try{e(t)}catch(e){r(e),A&&A.unsubscribe()}}),r,t)}))},e.prototype._subscribe=function(e){var t=this.source;return t&&t.subscribe(e)},e.prototype[i.observable]=function(){return this},e.prototype.pipe=function(){for(var e=[],t=0;tA)throw new TypeError(`version is longer than ${A} characters`);r("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;const n=e.trim().match(t.loose?o[s.LOOSE]:o[s.FULL]);if(!n)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>i||this.major<0)throw new TypeError("Invalid major version");if(this.minor>i||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>i||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[e]&&(this.prerelease[e]++,e=-2);-1===e&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}}e.exports=c},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(9),o=n(5),s=n(14),a=n(152),c=n(373),u=n(229),g=function(e){function t(t){var n=e.call(this,t)||this;return n.destination=t,n}return A(t,e),t}(o.Subscriber);t.SubjectSubscriber=g;var l=function(e){function t(){var t=e.call(this)||this;return t.observers=[],t.closed=!1,t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return A(t,e),t.prototype[u.rxSubscriber]=function(){return new g(this)},t.prototype.lift=function(e){var t=new h(this,this);return t.operator=e,t},t.prototype.next=function(e){if(this.closed)throw new a.ObjectUnsubscribedError;if(!this.isStopped)for(var t=this.observers,n=t.length,r=t.slice(),A=0;Ai(t.npath,e,n),t.ppath.contains=(e,n)=>i(t.ppath,e,n);const o=/^([a-zA-Z]:.*)$/,s=/^\\\\(\.\\)?(.*)$/,a=/^\/([a-zA-Z]:.*)$/,c=/^\/unc\/(\.dot\/)?(.*)$/;function u(e){if("win32"!==process.platform)return e;if(e.match(a))e=e.replace(a,"$1");else{if(!e.match(c))return e;e=e.replace(c,(e,t,n)=>`\\\\${t?".\\":""}${n}`)}return e.replace(/\//g,"\\")}function g(e){return"win32"!==process.platform?e:(e.match(o)?e=e.replace(o,"/$1"):e.match(s)&&(e=e.replace(s,(e,t,n)=>`/unc/${t?".dot/":""}${n}`)),e.replace(/\\/g,"/"))}t.convertPath=function(e,n){return e===t.npath?u(n):g(n)},t.toFilename=function(e){if(""!==t.npath.parse(e).dir||""!==t.ppath.parse(e).dir)throw new Error(`Invalid filename: "${e}"`);return e}},function(e,t){e.exports=require("events")},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},A=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const i=n(1),o=r(n(292)),s=r(n(15)),a=n(131),c=A(n(88)),u=A(n(58)),g="virtual:",l=5;function h(e,t){return{identHash:c.makeHash(e,t),scope:e,name:t}}function p(e,t){return{identHash:e.identHash,scope:e.scope,name:e.name,descriptorHash:c.makeHash(e.identHash,t),range:t}}function f(e,t){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:c.makeHash(e.identHash,t),reference:t}}function C(e,t){return{identHash:t.identHash,scope:t.scope,name:t.name,locatorHash:t.locatorHash,reference:t.reference,version:e.version,languageName:e.languageName,linkType:e.linkType,dependencies:new Map(e.dependencies),peerDependencies:new Map(e.peerDependencies),dependenciesMeta:new Map(e.dependenciesMeta),peerDependenciesMeta:new Map(e.peerDependenciesMeta),bin:new Map(e.bin)}}function d(e){return e.range.startsWith(g)}function I(e){return e.reference.startsWith(g)}function E(e,t){return e.identHash===t.identHash}function B(e,t){return e.descriptorHash===t.descriptorHash}function y(e){const t=e.match(/^(?:@([^\/]+?)\/)?([^\/]+)$/);if(!t)return null;const[,n,r]=t;return h(void 0!==n?n:null,r)}function m(e,t=!1){const n=t?e.match(/^(?:@([^\/]+?)\/)?([^\/]+?)(?:@(.+))$/):e.match(/^(?:@([^\/]+?)\/)?([^\/]+?)(?:@(.+))?$/);if(!n)return null;const[,r,A,i]=n;if("unknown"===i)throw new Error(`Invalid range (${e})`);const o=void 0!==i?i:"unknown";return p(h(void 0!==r?r:null,A),o)}function Q(e,t=!1){const n=w(e,t);if(!n)throw new Error(`Invalid locator (${e})`);return n}function w(e,t=!1){const n=t?e.match(/^(?:@([^\/]+?)\/)?([^\/]+?)(?:@(.+))$/):e.match(/^(?:@([^\/]+?)\/)?([^\/]+?)(?:@(.+))?$/);if(!n)return null;const[,r,A,i]=n;if("unknown"===i)throw new Error(`Invalid reference (${e})`);const o=void 0!==i?i:"unknown";return f(h(void 0!==r?r:null,A),o)}function v(e,t){const n=e.match(/^([^#:]*:)?((?:(?!::)[^#])*)(?:#((?:(?!::).)*))?(?:::(.*))?$/);if(null===n)throw new Error(`Invalid range (${e})`);const r=void 0!==n[1]?n[1]:null;if("string"==typeof(null==t?void 0:t.requireProtocol)&&r!==t.requireProtocol)throw new Error(`Invalid protocol (${r})`);if((null==t?void 0:t.requireProtocol)&&null===r)throw new Error(`Missing protocol (${r})`);const A=void 0!==n[3]?decodeURIComponent(n[2]):null;if((null==t?void 0:t.requireSource)&&null===A)throw new Error(`Missing source (${e})`);const i=void 0!==n[3]?decodeURIComponent(n[3]):decodeURIComponent(n[2]);return{protocol:r,source:A,selector:(null==t?void 0:t.parseSelector)?o.default.parse(i):i,params:void 0!==n[4]?o.default.parse(n[4]):null}}function b(e){return e=(e=(e=e.replace(/%/g,"%25")).replace(/:/g,"%3A")).replace(/#/g,"%23")}function D({protocol:e,source:t,selector:n,params:r}){let A="";return null!==e&&(A+=`${e}`),null!==t&&(A+=`${b(t)}#`),A+=b(n),function(e){return null!==e&&Object.entries(e).length>0}(r)&&(A+=`::${o.default.stringify(r)}`),A}function S(e){return e.scope?`@${e.scope}/${e.name}`:`${e.name}`}function k(e){return e.scope?`@${e.scope}/${e.name}`:`${e.name}`}function _(e){return null!==e.scope?`@${e.scope}-${e.name}`:e.name}function F(e,t){return t.scope?`${e.format(`@${t.scope}/`,a.FormatType.SCOPE)}${e.format(t.name,a.FormatType.NAME)}`:`${e.format(t.name,a.FormatType.NAME)}`}function M(e){if(e.startsWith(g)){return`${M(e.substr(e.indexOf("#")+1))} [${e.substr(g.length,l)}]`}return e.replace(/\?.*/,"?[...]")}function N(e,t){return`${e.format(M(t),a.FormatType.RANGE)}`}function R(e,t){return`${e.format(M(t),a.FormatType.REFERENCE)}`}t.makeIdent=h,t.makeDescriptor=p,t.makeLocator=f,t.convertToIdent=function(e){return{identHash:e.identHash,scope:e.scope,name:e.name}},t.convertDescriptorToLocator=function(e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.descriptorHash,reference:e.range}},t.convertLocatorToDescriptor=function(e){return{identHash:e.identHash,scope:e.scope,name:e.name,descriptorHash:e.locatorHash,range:e.reference}},t.convertPackageToLocator=function(e){return{identHash:e.identHash,scope:e.scope,name:e.name,locatorHash:e.locatorHash,reference:e.reference}},t.renamePackage=C,t.copyPackage=function(e){return C(e,e)},t.virtualizeDescriptor=function(e,t){if(t.includes("#"))throw new Error("Invalid entropy");return p(e,`virtual:${t}#${e.range}`)},t.virtualizePackage=function(e,t){if(t.includes("#"))throw new Error("Invalid entropy");return C(e,f(e,`virtual:${t}#${e.reference}`))},t.isVirtualDescriptor=d,t.isVirtualLocator=I,t.devirtualizeDescriptor=function(e){if(!d(e))throw new Error("Not a virtual descriptor");return p(e,e.range.replace(/^[^#]*#/,""))},t.devirtualizeLocator=function(e){if(!I(e))throw new Error("Not a virtual descriptor");return f(e,e.reference.replace(/^[^#]*#/,""))},t.bindDescriptor=function(e,t){return e.range.includes("::")?e:p(e,`${e.range}::${o.default.stringify(t)}`)},t.bindLocator=function(e,t){return e.reference.includes("::")?e:f(e,`${e.reference}::${o.default.stringify(t)}`)},t.areIdentsEqual=E,t.areDescriptorsEqual=B,t.areLocatorsEqual=function(e,t){return e.locatorHash===t.locatorHash},t.areVirtualPackagesEquivalent=function(e,t){if(!I(e))throw new Error("Invalid package type");if(!I(t))throw new Error("Invalid package type");if(!E(e,t))return!1;if(e.dependencies.size!==t.dependencies.size)return!1;for(const n of e.dependencies.values()){const e=t.dependencies.get(n.identHash);if(!e)return!1;if(!B(n,e))return!1}return!0},t.parseIdent=function(e){const t=y(e);if(!t)throw new Error(`Invalid ident (${e})`);return t},t.tryParseIdent=y,t.parseDescriptor=function(e,t=!1){const n=m(e,t);if(!n)throw new Error(`Invalid descriptor (${e})`);return n},t.tryParseDescriptor=m,t.parseLocator=Q,t.tryParseLocator=w,t.parseRange=v,t.parseFileStyleRange=function(e,{protocol:t}){const{selector:n,params:r}=v(e,{requireProtocol:t,requireBindings:!0});if("string"!=typeof r.locator)throw new Error(`Assertion failed: Invalid bindings for ${e}`);return{parentLocator:Q(r.locator,!0),path:n}},t.makeRange=D,t.convertToManifestRange=function(e){const{params:t,protocol:n,source:r,selector:A}=v(e);for(const e in t)e.startsWith("__")&&delete t[e];return D({protocol:n,source:r,params:t,selector:A})},t.requirableIdent=S,t.stringifyIdent=k,t.stringifyDescriptor=function(e){return e.scope?`@${e.scope}/${e.name}@${e.range}`:`${e.name}@${e.range}`},t.stringifyLocator=function(e){return e.scope?`@${e.scope}/${e.name}@${e.reference}`:`${e.name}@${e.reference}`},t.slugifyIdent=_,t.slugifyLocator=function(e){const{protocol:t,selector:n}=v(e.reference),r=null!==t?t.replace(/:$/,""):"exotic",A=s.default.valid(n),o=null!==A?`${r}-${A}`:`${r}`,a=(e.scope,`${_(e)}-${o}-${e.locatorHash.slice(0,10)}`);return i.toFilename(a)},t.prettyIdent=F,t.prettyRange=N,t.prettyDescriptor=function(e,t){return`${F(e,t)}${e.format("@",a.FormatType.RANGE)}${N(e,t.range)}`},t.prettyReference=R,t.prettyLocator=function(e,t){return`${F(e,t)}${e.format("@",a.FormatType.REFERENCE)}${R(e,t.reference)}`},t.prettyLocatorNoColors=function(e){return`${k(e)}@${M(e.reference)}`},t.sortDescriptors=function(e){return u.sortMap(e,[e=>k(e),e=>e.range])},t.prettyWorkspace=function(e,t){return F(e,t.locator)},t.getIdentVendorPath=function(e){return`/node_modules/${S(e)}`}},function(e,t,n){(function(e){var r; +/** + * @license + * Lodash + * Copyright JS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */(function(){var A,i=200,o="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",s="Expected a function",a="__lodash_hash_undefined__",c=500,u="__lodash_placeholder__",g=1,l=2,h=4,p=1,f=2,C=1,d=2,I=4,E=8,B=16,y=32,m=64,Q=128,w=256,v=512,b=30,D="...",S=800,k=16,_=1,F=2,M=1/0,N=9007199254740991,R=17976931348623157e292,K=NaN,x=4294967295,P=x-1,L=x>>>1,O=[["ary",Q],["bind",C],["bindKey",d],["curry",E],["curryRight",B],["flip",v],["partial",y],["partialRight",m],["rearg",w]],T="[object Arguments]",U="[object Array]",Y="[object AsyncFunction]",j="[object Boolean]",G="[object Date]",J="[object DOMException]",H="[object Error]",q="[object Function]",z="[object GeneratorFunction]",W="[object Map]",X="[object Number]",V="[object Null]",$="[object Object]",Z="[object Proxy]",ee="[object RegExp]",te="[object Set]",ne="[object String]",re="[object Symbol]",Ae="[object Undefined]",ie="[object WeakMap]",oe="[object WeakSet]",se="[object ArrayBuffer]",ae="[object DataView]",ce="[object Float32Array]",ue="[object Float64Array]",ge="[object Int8Array]",le="[object Int16Array]",he="[object Int32Array]",pe="[object Uint8Array]",fe="[object Uint8ClampedArray]",Ce="[object Uint16Array]",de="[object Uint32Array]",Ie=/\b__p \+= '';/g,Ee=/\b(__p \+=) '' \+/g,Be=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ye=/&(?:amp|lt|gt|quot|#39);/g,me=/[&<>"']/g,Qe=RegExp(ye.source),we=RegExp(me.source),ve=/<%-([\s\S]+?)%>/g,be=/<%([\s\S]+?)%>/g,De=/<%=([\s\S]+?)%>/g,Se=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ke=/^\w*$/,_e=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Fe=/[\\^$.*+?()[\]{}|]/g,Me=RegExp(Fe.source),Ne=/^\s+|\s+$/g,Re=/^\s+/,Ke=/\s+$/,xe=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Pe=/\{\n\/\* \[wrapped with (.+)\] \*/,Le=/,? & /,Oe=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Te=/\\(\\)?/g,Ue=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Ye=/\w*$/,je=/^[-+]0x[0-9a-f]+$/i,Ge=/^0b[01]+$/i,Je=/^\[object .+?Constructor\]$/,He=/^0o[0-7]+$/i,qe=/^(?:0|[1-9]\d*)$/,ze=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,We=/($^)/,Xe=/['\n\r\u2028\u2029\\]/g,Ve="\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff",$e="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ze="[\\ud800-\\udfff]",et="["+$e+"]",tt="["+Ve+"]",nt="\\d+",rt="[\\u2700-\\u27bf]",At="[a-z\\xdf-\\xf6\\xf8-\\xff]",it="[^\\ud800-\\udfff"+$e+nt+"\\u2700-\\u27bfa-z\\xdf-\\xf6\\xf8-\\xffA-Z\\xc0-\\xd6\\xd8-\\xde]",ot="\\ud83c[\\udffb-\\udfff]",st="[^\\ud800-\\udfff]",at="(?:\\ud83c[\\udde6-\\uddff]){2}",ct="[\\ud800-\\udbff][\\udc00-\\udfff]",ut="[A-Z\\xc0-\\xd6\\xd8-\\xde]",gt="(?:"+At+"|"+it+")",lt="(?:"+ut+"|"+it+")",ht="(?:"+tt+"|"+ot+")"+"?",pt="[\\ufe0e\\ufe0f]?"+ht+("(?:\\u200d(?:"+[st,at,ct].join("|")+")[\\ufe0e\\ufe0f]?"+ht+")*"),ft="(?:"+[rt,at,ct].join("|")+")"+pt,Ct="(?:"+[st+tt+"?",tt,at,ct,Ze].join("|")+")",dt=RegExp("['’]","g"),It=RegExp(tt,"g"),Et=RegExp(ot+"(?="+ot+")|"+Ct+pt,"g"),Bt=RegExp([ut+"?"+At+"+(?:['’](?:d|ll|m|re|s|t|ve))?(?="+[et,ut,"$"].join("|")+")",lt+"+(?:['’](?:D|LL|M|RE|S|T|VE))?(?="+[et,ut+gt,"$"].join("|")+")",ut+"?"+gt+"+(?:['’](?:d|ll|m|re|s|t|ve))?",ut+"+(?:['’](?:D|LL|M|RE|S|T|VE))?","\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",nt,ft].join("|"),"g"),yt=RegExp("[\\u200d\\ud800-\\udfff"+Ve+"\\ufe0e\\ufe0f]"),mt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Qt=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],wt=-1,vt={};vt[ce]=vt[ue]=vt[ge]=vt[le]=vt[he]=vt[pe]=vt[fe]=vt[Ce]=vt[de]=!0,vt[T]=vt[U]=vt[se]=vt[j]=vt[ae]=vt[G]=vt[H]=vt[q]=vt[W]=vt[X]=vt[$]=vt[ee]=vt[te]=vt[ne]=vt[ie]=!1;var bt={};bt[T]=bt[U]=bt[se]=bt[ae]=bt[j]=bt[G]=bt[ce]=bt[ue]=bt[ge]=bt[le]=bt[he]=bt[W]=bt[X]=bt[$]=bt[ee]=bt[te]=bt[ne]=bt[re]=bt[pe]=bt[fe]=bt[Ce]=bt[de]=!0,bt[H]=bt[q]=bt[ie]=!1;var Dt={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},St=parseFloat,kt=parseInt,_t="object"==typeof global&&global&&global.Object===Object&&global,Ft="object"==typeof self&&self&&self.Object===Object&&self,Mt=_t||Ft||Function("return this")(),Nt=t&&!t.nodeType&&t,Rt=Nt&&"object"==typeof e&&e&&!e.nodeType&&e,Kt=Rt&&Rt.exports===Nt,xt=Kt&&_t.process,Pt=function(){try{var e=Rt&&Rt.require&&Rt.require("util").types;return e||xt&&xt.binding&&xt.binding("util")}catch(e){}}(),Lt=Pt&&Pt.isArrayBuffer,Ot=Pt&&Pt.isDate,Tt=Pt&&Pt.isMap,Ut=Pt&&Pt.isRegExp,Yt=Pt&&Pt.isSet,jt=Pt&&Pt.isTypedArray;function Gt(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function Jt(e,t,n,r){for(var A=-1,i=null==e?0:e.length;++A-1}function Vt(e,t,n){for(var r=-1,A=null==e?0:e.length;++r-1;);return n}function Bn(e,t){for(var n=e.length;n--&&sn(t,e[n],0)>-1;);return n}var yn=ln({"À":"A","Á":"A","Â":"A","Ã":"A","Ä":"A","Å":"A","à":"a","á":"a","â":"a","ã":"a","ä":"a","å":"a","Ç":"C","ç":"c","Ð":"D","ð":"d","È":"E","É":"E","Ê":"E","Ë":"E","è":"e","é":"e","ê":"e","ë":"e","Ì":"I","Í":"I","Î":"I","Ï":"I","ì":"i","í":"i","î":"i","ï":"i","Ñ":"N","ñ":"n","Ò":"O","Ó":"O","Ô":"O","Õ":"O","Ö":"O","Ø":"O","ò":"o","ó":"o","ô":"o","õ":"o","ö":"o","ø":"o","Ù":"U","Ú":"U","Û":"U","Ü":"U","ù":"u","ú":"u","û":"u","ü":"u","Ý":"Y","ý":"y","ÿ":"y","Æ":"Ae","æ":"ae","Þ":"Th","þ":"th","ß":"ss","Ā":"A","Ă":"A","Ą":"A","ā":"a","ă":"a","ą":"a","Ć":"C","Ĉ":"C","Ċ":"C","Č":"C","ć":"c","ĉ":"c","ċ":"c","č":"c","Ď":"D","Đ":"D","ď":"d","đ":"d","Ē":"E","Ĕ":"E","Ė":"E","Ę":"E","Ě":"E","ē":"e","ĕ":"e","ė":"e","ę":"e","ě":"e","Ĝ":"G","Ğ":"G","Ġ":"G","Ģ":"G","ĝ":"g","ğ":"g","ġ":"g","ģ":"g","Ĥ":"H","Ħ":"H","ĥ":"h","ħ":"h","Ĩ":"I","Ī":"I","Ĭ":"I","Į":"I","İ":"I","ĩ":"i","ī":"i","ĭ":"i","į":"i","ı":"i","Ĵ":"J","ĵ":"j","Ķ":"K","ķ":"k","ĸ":"k","Ĺ":"L","Ļ":"L","Ľ":"L","Ŀ":"L","Ł":"L","ĺ":"l","ļ":"l","ľ":"l","ŀ":"l","ł":"l","Ń":"N","Ņ":"N","Ň":"N","Ŋ":"N","ń":"n","ņ":"n","ň":"n","ŋ":"n","Ō":"O","Ŏ":"O","Ő":"O","ō":"o","ŏ":"o","ő":"o","Ŕ":"R","Ŗ":"R","Ř":"R","ŕ":"r","ŗ":"r","ř":"r","Ś":"S","Ŝ":"S","Ş":"S","Š":"S","ś":"s","ŝ":"s","ş":"s","š":"s","Ţ":"T","Ť":"T","Ŧ":"T","ţ":"t","ť":"t","ŧ":"t","Ũ":"U","Ū":"U","Ŭ":"U","Ů":"U","Ű":"U","Ų":"U","ũ":"u","ū":"u","ŭ":"u","ů":"u","ű":"u","ų":"u","Ŵ":"W","ŵ":"w","Ŷ":"Y","ŷ":"y","Ÿ":"Y","Ź":"Z","Ż":"Z","Ž":"Z","ź":"z","ż":"z","ž":"z","IJ":"IJ","ij":"ij","Œ":"Oe","œ":"oe","ʼn":"'n","ſ":"s"}),mn=ln({"&":"&","<":"<",">":">",'"':""","'":"'"});function Qn(e){return"\\"+Dt[e]}function wn(e){return yt.test(e)}function vn(e){var t=-1,n=Array(e.size);return e.forEach((function(e,r){n[++t]=[r,e]})),n}function bn(e,t){return function(n){return e(t(n))}}function Dn(e,t){for(var n=-1,r=e.length,A=0,i=[];++n",""":'"',"'":"'"});var Nn=function e(t){var n,r=(t=null==t?Mt:Nn.defaults(Mt.Object(),t,Nn.pick(Mt,Qt))).Array,Ve=t.Date,$e=t.Error,Ze=t.Function,et=t.Math,tt=t.Object,nt=t.RegExp,rt=t.String,At=t.TypeError,it=r.prototype,ot=Ze.prototype,st=tt.prototype,at=t["__core-js_shared__"],ct=ot.toString,ut=st.hasOwnProperty,gt=0,lt=(n=/[^.]+$/.exec(at&&at.keys&&at.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"",ht=st.toString,pt=ct.call(tt),ft=Mt._,Ct=nt("^"+ct.call(ut).replace(Fe,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Et=Kt?t.Buffer:A,yt=t.Symbol,Dt=t.Uint8Array,_t=Et?Et.allocUnsafe:A,Ft=bn(tt.getPrototypeOf,tt),Nt=tt.create,Rt=st.propertyIsEnumerable,xt=it.splice,Pt=yt?yt.isConcatSpreadable:A,rn=yt?yt.iterator:A,ln=yt?yt.toStringTag:A,Rn=function(){try{var e=Li(tt,"defineProperty");return e({},"",{}),e}catch(e){}}(),Kn=t.clearTimeout!==Mt.clearTimeout&&t.clearTimeout,xn=Ve&&Ve.now!==Mt.Date.now&&Ve.now,Pn=t.setTimeout!==Mt.setTimeout&&t.setTimeout,Ln=et.ceil,On=et.floor,Tn=tt.getOwnPropertySymbols,Un=Et?Et.isBuffer:A,Yn=t.isFinite,jn=it.join,Gn=bn(tt.keys,tt),Jn=et.max,Hn=et.min,qn=Ve.now,zn=t.parseInt,Wn=et.random,Xn=it.reverse,Vn=Li(t,"DataView"),$n=Li(t,"Map"),Zn=Li(t,"Promise"),er=Li(t,"Set"),tr=Li(t,"WeakMap"),nr=Li(tt,"create"),rr=tr&&new tr,Ar={},ir=uo(Vn),or=uo($n),sr=uo(Zn),ar=uo(er),cr=uo(tr),ur=yt?yt.prototype:A,gr=ur?ur.valueOf:A,lr=ur?ur.toString:A;function hr(e){if(Ss(e)&&!ds(e)&&!(e instanceof dr)){if(e instanceof Cr)return e;if(ut.call(e,"__wrapped__"))return go(e)}return new Cr(e)}var pr=function(){function e(){}return function(t){if(!Ds(t))return{};if(Nt)return Nt(t);e.prototype=t;var n=new e;return e.prototype=A,n}}();function fr(){}function Cr(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=A}function dr(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=x,this.__views__=[]}function Ir(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t=t?e:t)),e}function Kr(e,t,n,r,i,o){var s,a=t&g,c=t&l,u=t&h;if(n&&(s=i?n(e,r,i,o):n(e)),s!==A)return s;if(!Ds(e))return e;var p=ds(e);if(p){if(s=function(e){var t=e.length,n=new e.constructor(t);t&&"string"==typeof e[0]&&ut.call(e,"index")&&(n.index=e.index,n.input=e.input);return n}(e),!a)return ni(e,s)}else{var f=Ui(e),C=f==q||f==z;if(ys(e))return XA(e,a);if(f==$||f==T||C&&!i){if(s=c||C?{}:ji(e),!a)return c?function(e,t){return ri(e,Ti(e),t)}(e,function(e,t){return e&&ri(t,ia(t),e)}(s,e)):function(e,t){return ri(e,Oi(e),t)}(e,Fr(s,e))}else{if(!bt[f])return i?e:{};s=function(e,t,n){var r=e.constructor;switch(t){case se:return VA(e);case j:case G:return new r(+e);case ae:return function(e,t){var n=t?VA(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}(e,n);case ce:case ue:case ge:case le:case he:case pe:case fe:case Ce:case de:return $A(e,n);case W:return new r;case X:case ne:return new r(e);case ee:return function(e){var t=new e.constructor(e.source,Ye.exec(e));return t.lastIndex=e.lastIndex,t}(e);case te:return new r;case re:return A=e,gr?tt(gr.call(A)):{}}var A}(e,f,a)}}o||(o=new mr);var d=o.get(e);if(d)return d;if(o.set(e,s),Ns(e))return e.forEach((function(r){s.add(Kr(r,t,n,r,e,o))})),s;if(ks(e))return e.forEach((function(r,A){s.set(A,Kr(r,t,n,A,e,o))})),s;var I=p?A:(u?c?Fi:_i:c?ia:Aa)(e);return Ht(I||e,(function(r,A){I&&(r=e[A=r]),Sr(s,A,Kr(r,t,n,A,e,o))})),s}function xr(e,t,n){var r=n.length;if(null==e)return!r;for(e=tt(e);r--;){var i=n[r],o=t[i],s=e[i];if(s===A&&!(i in e)||!o(s))return!1}return!0}function Pr(e,t,n){if("function"!=typeof e)throw new At(s);return ro((function(){e.apply(A,n)}),t)}function Lr(e,t,n,r){var A=-1,o=Xt,s=!0,a=e.length,c=[],u=t.length;if(!a)return c;n&&(t=$t(t,Cn(n))),r?(o=Vt,s=!1):t.length>=i&&(o=In,s=!1,t=new yr(t));e:for(;++A-1},Er.prototype.set=function(e,t){var n=this.__data__,r=kr(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this},Br.prototype.clear=function(){this.size=0,this.__data__={hash:new Ir,map:new($n||Er),string:new Ir}},Br.prototype.delete=function(e){var t=xi(this,e).delete(e);return this.size-=t?1:0,t},Br.prototype.get=function(e){return xi(this,e).get(e)},Br.prototype.has=function(e){return xi(this,e).has(e)},Br.prototype.set=function(e,t){var n=xi(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this},yr.prototype.add=yr.prototype.push=function(e){return this.__data__.set(e,a),this},yr.prototype.has=function(e){return this.__data__.has(e)},mr.prototype.clear=function(){this.__data__=new Er,this.size=0},mr.prototype.delete=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n},mr.prototype.get=function(e){return this.__data__.get(e)},mr.prototype.has=function(e){return this.__data__.has(e)},mr.prototype.set=function(e,t){var n=this.__data__;if(n instanceof Er){var r=n.__data__;if(!$n||r.length0&&n(s)?t>1?Gr(s,t-1,n,r,A):Zt(A,s):r||(A[A.length]=s)}return A}var Jr=si(),Hr=si(!0);function qr(e,t){return e&&Jr(e,t,Aa)}function zr(e,t){return e&&Hr(e,t,Aa)}function Wr(e,t){return Wt(t,(function(t){return ws(e[t])}))}function Xr(e,t){for(var n=0,r=(t=HA(t,e)).length;null!=e&&nt}function eA(e,t){return null!=e&&ut.call(e,t)}function tA(e,t){return null!=e&&t in tt(e)}function nA(e,t,n){for(var i=n?Vt:Xt,o=e[0].length,s=e.length,a=s,c=r(s),u=1/0,g=[];a--;){var l=e[a];a&&t&&(l=$t(l,Cn(t))),u=Hn(l.length,u),c[a]=!n&&(t||o>=120&&l.length>=120)?new yr(a&&l):A}l=e[0];var h=-1,p=c[0];e:for(;++h=s)return a;var c=n[r];return a*("desc"==c?-1:1)}}return e.index-t.index}(e,t,n)}))}function IA(e,t,n){for(var r=-1,A=t.length,i={};++r-1;)s!==e&&xt.call(s,a,1),xt.call(e,a,1);return e}function BA(e,t){for(var n=e?t.length:0,r=n-1;n--;){var A=t[n];if(n==r||A!==i){var i=A;Ji(A)?xt.call(e,A,1):LA(e,A)}}return e}function yA(e,t){return e+On(Wn()*(t-e+1))}function mA(e,t){var n="";if(!e||t<1||t>N)return n;do{t%2&&(n+=e),(t=On(t/2))&&(e+=e)}while(t);return n}function QA(e,t){return Ao(Zi(e,t,_a),e+"")}function wA(e){return wr(ha(e))}function vA(e,t){var n=ha(e);return so(n,Rr(t,0,n.length))}function bA(e,t,n,r){if(!Ds(e))return e;for(var i=-1,o=(t=HA(t,e)).length,s=o-1,a=e;null!=a&&++ii?0:i+t),(n=n>i?i:n)<0&&(n+=i),i=t>n?0:n-t>>>0,t>>>=0;for(var o=r(i);++A>>1,o=e[i];null!==o&&!Ks(o)&&(n?o<=t:o=i){var u=t?null:mi(e);if(u)return Sn(u);s=!1,A=In,c=new yr}else c=t?[]:a;e:for(;++r=r?e:_A(e,t,n)}var WA=Kn||function(e){return Mt.clearTimeout(e)};function XA(e,t){if(t)return e.slice();var n=e.length,r=_t?_t(n):new e.constructor(n);return e.copy(r),r}function VA(e){var t=new e.constructor(e.byteLength);return new Dt(t).set(new Dt(e)),t}function $A(e,t){var n=t?VA(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function ZA(e,t){if(e!==t){var n=e!==A,r=null===e,i=e==e,o=Ks(e),s=t!==A,a=null===t,c=t==t,u=Ks(t);if(!a&&!u&&!o&&e>t||o&&s&&c&&!a&&!u||r&&s&&c||!n&&c||!i)return 1;if(!r&&!o&&!u&&e1?n[i-1]:A,s=i>2?n[2]:A;for(o=e.length>3&&"function"==typeof o?(i--,o):A,s&&Hi(n[0],n[1],s)&&(o=i<3?A:o,i=1),t=tt(t);++r-1?i[o?t[s]:s]:A}}function li(e){return ki((function(t){var n=t.length,r=n,i=Cr.prototype.thru;for(e&&t.reverse();r--;){var o=t[r];if("function"!=typeof o)throw new At(s);if(i&&!a&&"wrapper"==Ni(o))var a=new Cr([],!0)}for(r=a?r:n;++r1&&E.reverse(),l&&ua))return!1;var u=o.get(e);if(u&&o.get(t))return u==t;var g=-1,l=!0,h=n&f?new yr:A;for(o.set(e,t),o.set(t,e);++g-1&&e%1==0&&e1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(xe,"{\n/* [wrapped with "+t+"] */\n")}(r,function(e,t){return Ht(O,(function(n){var r="_."+n[0];t&n[1]&&!Xt(e,r)&&e.push(r)})),e.sort()}(function(e){var t=e.match(Pe);return t?t[1].split(Le):[]}(r),n)))}function oo(e){var t=0,n=0;return function(){var r=qn(),i=k-(r-n);if(n=r,i>0){if(++t>=S)return arguments[0]}else t=0;return e.apply(A,arguments)}}function so(e,t){var n=-1,r=e.length,i=r-1;for(t=t===A?r:t;++n1?e[t-1]:A;return n="function"==typeof n?(e.pop(),n):A,Mo(e,n)}));function Oo(e){var t=hr(e);return t.__chain__=!0,t}function To(e,t){return t(e)}var Uo=ki((function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,i=function(t){return Nr(t,e)};return!(t>1||this.__actions__.length)&&r instanceof dr&&Ji(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:To,args:[i],thisArg:A}),new Cr(r,this.__chain__).thru((function(e){return t&&!e.length&&e.push(A),e}))):this.thru(i)}));var Yo=Ai((function(e,t,n){ut.call(e,n)?++e[n]:Mr(e,n,1)}));var jo=gi(fo),Go=gi(Co);function Jo(e,t){return(ds(e)?Ht:Or)(e,Ki(t,3))}function Ho(e,t){return(ds(e)?qt:Tr)(e,Ki(t,3))}var qo=Ai((function(e,t,n){ut.call(e,n)?e[n].push(t):Mr(e,n,[t])}));var zo=QA((function(e,t,n){var A=-1,i="function"==typeof t,o=Es(e)?r(e.length):[];return Or(e,(function(e){o[++A]=i?Gt(t,e,n):rA(e,t,n)})),o})),Wo=Ai((function(e,t,n){Mr(e,n,t)}));function Xo(e,t){return(ds(e)?$t:lA)(e,Ki(t,3))}var Vo=Ai((function(e,t,n){e[n?0:1].push(t)}),(function(){return[[],[]]}));var $o=QA((function(e,t){if(null==e)return[];var n=t.length;return n>1&&Hi(e,t[0],t[1])?t=[]:n>2&&Hi(t[0],t[1],t[2])&&(t=[t[0]]),dA(e,Gr(t,1),[])})),Zo=xn||function(){return Mt.Date.now()};function es(e,t,n){return t=n?A:t,t=e&&null==t?e.length:t,wi(e,Q,A,A,A,A,t)}function ts(e,t){var n;if("function"!=typeof t)throw new At(s);return e=Us(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=A),n}}var ns=QA((function(e,t,n){var r=C;if(n.length){var A=Dn(n,Ri(ns));r|=y}return wi(e,r,t,n,A)})),rs=QA((function(e,t,n){var r=C|d;if(n.length){var A=Dn(n,Ri(rs));r|=y}return wi(t,r,e,n,A)}));function As(e,t,n){var r,i,o,a,c,u,g=0,l=!1,h=!1,p=!0;if("function"!=typeof e)throw new At(s);function f(t){var n=r,o=i;return r=i=A,g=t,a=e.apply(o,n)}function C(e){var n=e-u;return u===A||n>=t||n<0||h&&e-g>=o}function d(){var e=Zo();if(C(e))return I(e);c=ro(d,function(e){var n=t-(e-u);return h?Hn(n,o-(e-g)):n}(e))}function I(e){return c=A,p&&r?f(e):(r=i=A,a)}function E(){var e=Zo(),n=C(e);if(r=arguments,i=this,u=e,n){if(c===A)return function(e){return g=e,c=ro(d,t),l?f(e):a}(u);if(h)return c=ro(d,t),f(u)}return c===A&&(c=ro(d,t)),a}return t=js(t)||0,Ds(n)&&(l=!!n.leading,o=(h="maxWait"in n)?Jn(js(n.maxWait)||0,t):o,p="trailing"in n?!!n.trailing:p),E.cancel=function(){c!==A&&WA(c),g=0,r=u=i=c=A},E.flush=function(){return c===A?a:I(Zo())},E}var is=QA((function(e,t){return Pr(e,1,t)})),os=QA((function(e,t,n){return Pr(e,js(t)||0,n)}));function ss(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new At(s);var n=function(){var r=arguments,A=t?t.apply(this,r):r[0],i=n.cache;if(i.has(A))return i.get(A);var o=e.apply(this,r);return n.cache=i.set(A,o)||i,o};return n.cache=new(ss.Cache||Br),n}function as(e){if("function"!=typeof e)throw new At(s);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}ss.Cache=Br;var cs=qA((function(e,t){var n=(t=1==t.length&&ds(t[0])?$t(t[0],Cn(Ki())):$t(Gr(t,1),Cn(Ki()))).length;return QA((function(r){for(var A=-1,i=Hn(r.length,n);++A=t})),Cs=AA(function(){return arguments}())?AA:function(e){return Ss(e)&&ut.call(e,"callee")&&!Rt.call(e,"callee")},ds=r.isArray,Is=Lt?Cn(Lt):function(e){return Ss(e)&&$r(e)==se};function Es(e){return null!=e&&bs(e.length)&&!ws(e)}function Bs(e){return Ss(e)&&Es(e)}var ys=Un||ja,ms=Ot?Cn(Ot):function(e){return Ss(e)&&$r(e)==G};function Qs(e){if(!Ss(e))return!1;var t=$r(e);return t==H||t==J||"string"==typeof e.message&&"string"==typeof e.name&&!Fs(e)}function ws(e){if(!Ds(e))return!1;var t=$r(e);return t==q||t==z||t==Y||t==Z}function vs(e){return"number"==typeof e&&e==Us(e)}function bs(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=N}function Ds(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}function Ss(e){return null!=e&&"object"==typeof e}var ks=Tt?Cn(Tt):function(e){return Ss(e)&&Ui(e)==W};function _s(e){return"number"==typeof e||Ss(e)&&$r(e)==X}function Fs(e){if(!Ss(e)||$r(e)!=$)return!1;var t=Ft(e);if(null===t)return!0;var n=ut.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&ct.call(n)==pt}var Ms=Ut?Cn(Ut):function(e){return Ss(e)&&$r(e)==ee};var Ns=Yt?Cn(Yt):function(e){return Ss(e)&&Ui(e)==te};function Rs(e){return"string"==typeof e||!ds(e)&&Ss(e)&&$r(e)==ne}function Ks(e){return"symbol"==typeof e||Ss(e)&&$r(e)==re}var xs=jt?Cn(jt):function(e){return Ss(e)&&bs(e.length)&&!!vt[$r(e)]};var Ps=Ei(gA),Ls=Ei((function(e,t){return e<=t}));function Os(e){if(!e)return[];if(Es(e))return Rs(e)?Fn(e):ni(e);if(rn&&e[rn])return function(e){for(var t,n=[];!(t=e.next()).done;)n.push(t.value);return n}(e[rn]());var t=Ui(e);return(t==W?vn:t==te?Sn:ha)(e)}function Ts(e){return e?(e=js(e))===M||e===-M?(e<0?-1:1)*R:e==e?e:0:0===e?e:0}function Us(e){var t=Ts(e),n=t%1;return t==t?n?t-n:t:0}function Ys(e){return e?Rr(Us(e),0,x):0}function js(e){if("number"==typeof e)return e;if(Ks(e))return K;if(Ds(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=Ds(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(Ne,"");var n=Ge.test(e);return n||He.test(e)?kt(e.slice(2),n?2:8):je.test(e)?K:+e}function Gs(e){return ri(e,ia(e))}function Js(e){return null==e?"":xA(e)}var Hs=ii((function(e,t){if(Xi(t)||Es(t))ri(t,Aa(t),e);else for(var n in t)ut.call(t,n)&&Sr(e,n,t[n])})),qs=ii((function(e,t){ri(t,ia(t),e)})),zs=ii((function(e,t,n,r){ri(t,ia(t),e,r)})),Ws=ii((function(e,t,n,r){ri(t,Aa(t),e,r)})),Xs=ki(Nr);var Vs=QA((function(e,t){e=tt(e);var n=-1,r=t.length,i=r>2?t[2]:A;for(i&&Hi(t[0],t[1],i)&&(r=1);++n1),t})),ri(e,Fi(e),n),r&&(n=Kr(n,g|l|h,Di));for(var A=t.length;A--;)LA(n,t[A]);return n}));var ca=ki((function(e,t){return null==e?{}:function(e,t){return IA(e,t,(function(t,n){return ea(e,n)}))}(e,t)}));function ua(e,t){if(null==e)return{};var n=$t(Fi(e),(function(e){return[e]}));return t=Ki(t),IA(e,n,(function(e,n){return t(e,n[0])}))}var ga=Qi(Aa),la=Qi(ia);function ha(e){return null==e?[]:dn(e,Aa(e))}var pa=ci((function(e,t,n){return t=t.toLowerCase(),e+(n?fa(t):t)}));function fa(e){return Qa(Js(e).toLowerCase())}function Ca(e){return(e=Js(e))&&e.replace(ze,yn).replace(It,"")}var da=ci((function(e,t,n){return e+(n?"-":"")+t.toLowerCase()})),Ia=ci((function(e,t,n){return e+(n?" ":"")+t.toLowerCase()})),Ea=ai("toLowerCase");var Ba=ci((function(e,t,n){return e+(n?"_":"")+t.toLowerCase()}));var ya=ci((function(e,t,n){return e+(n?" ":"")+Qa(t)}));var ma=ci((function(e,t,n){return e+(n?" ":"")+t.toUpperCase()})),Qa=ai("toUpperCase");function wa(e,t,n){return e=Js(e),(t=n?A:t)===A?function(e){return mt.test(e)}(e)?function(e){return e.match(Bt)||[]}(e):function(e){return e.match(Oe)||[]}(e):e.match(t)||[]}var va=QA((function(e,t){try{return Gt(e,A,t)}catch(e){return Qs(e)?e:new $e(e)}})),ba=ki((function(e,t){return Ht(t,(function(t){t=co(t),Mr(e,t,ns(e[t],e))})),e}));function Da(e){return function(){return e}}var Sa=li(),ka=li(!0);function _a(e){return e}function Fa(e){return aA("function"==typeof e?e:Kr(e,g))}var Ma=QA((function(e,t){return function(n){return rA(n,e,t)}})),Na=QA((function(e,t){return function(n){return rA(e,n,t)}}));function Ra(e,t,n){var r=Aa(t),A=Wr(t,r);null!=n||Ds(t)&&(A.length||!r.length)||(n=t,t=e,e=this,A=Wr(t,Aa(t)));var i=!(Ds(n)&&"chain"in n&&!n.chain),o=ws(e);return Ht(A,(function(n){var r=t[n];e[n]=r,o&&(e.prototype[n]=function(){var t=this.__chain__;if(i||t){var n=e(this.__wrapped__),A=n.__actions__=ni(this.__actions__);return A.push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,Zt([this.value()],arguments))})})),e}function Ka(){}var xa=Ci($t),Pa=Ci(zt),La=Ci(nn);function Oa(e){return qi(e)?gn(co(e)):function(e){return function(t){return Xr(t,e)}}(e)}var Ta=Ii(),Ua=Ii(!0);function Ya(){return[]}function ja(){return!1}var Ga=fi((function(e,t){return e+t}),0),Ja=yi("ceil"),Ha=fi((function(e,t){return e/t}),1),qa=yi("floor");var za,Wa=fi((function(e,t){return e*t}),1),Xa=yi("round"),Va=fi((function(e,t){return e-t}),0);return hr.after=function(e,t){if("function"!=typeof t)throw new At(s);return e=Us(e),function(){if(--e<1)return t.apply(this,arguments)}},hr.ary=es,hr.assign=Hs,hr.assignIn=qs,hr.assignInWith=zs,hr.assignWith=Ws,hr.at=Xs,hr.before=ts,hr.bind=ns,hr.bindAll=ba,hr.bindKey=rs,hr.castArray=function(){if(!arguments.length)return[];var e=arguments[0];return ds(e)?e:[e]},hr.chain=Oo,hr.chunk=function(e,t,n){t=(n?Hi(e,t,n):t===A)?1:Jn(Us(t),0);var i=null==e?0:e.length;if(!i||t<1)return[];for(var o=0,s=0,a=r(Ln(i/t));oi?0:i+n),(r=r===A||r>i?i:Us(r))<0&&(r+=i),r=n>r?0:Ys(r);n>>0)?(e=Js(e))&&("string"==typeof t||null!=t&&!Ms(t))&&!(t=xA(t))&&wn(e)?zA(Fn(e),0,n):e.split(t,n):[]},hr.spread=function(e,t){if("function"!=typeof e)throw new At(s);return t=null==t?0:Jn(Us(t),0),QA((function(n){var r=n[t],A=zA(n,0,t);return r&&Zt(A,r),Gt(e,this,A)}))},hr.tail=function(e){var t=null==e?0:e.length;return t?_A(e,1,t):[]},hr.take=function(e,t,n){return e&&e.length?_A(e,0,(t=n||t===A?1:Us(t))<0?0:t):[]},hr.takeRight=function(e,t,n){var r=null==e?0:e.length;return r?_A(e,(t=r-(t=n||t===A?1:Us(t)))<0?0:t,r):[]},hr.takeRightWhile=function(e,t){return e&&e.length?TA(e,Ki(t,3),!1,!0):[]},hr.takeWhile=function(e,t){return e&&e.length?TA(e,Ki(t,3)):[]},hr.tap=function(e,t){return t(e),e},hr.throttle=function(e,t,n){var r=!0,A=!0;if("function"!=typeof e)throw new At(s);return Ds(n)&&(r="leading"in n?!!n.leading:r,A="trailing"in n?!!n.trailing:A),As(e,t,{leading:r,maxWait:t,trailing:A})},hr.thru=To,hr.toArray=Os,hr.toPairs=ga,hr.toPairsIn=la,hr.toPath=function(e){return ds(e)?$t(e,co):Ks(e)?[e]:ni(ao(Js(e)))},hr.toPlainObject=Gs,hr.transform=function(e,t,n){var r=ds(e),A=r||ys(e)||xs(e);if(t=Ki(t,4),null==n){var i=e&&e.constructor;n=A?r?new i:[]:Ds(e)&&ws(i)?pr(Ft(e)):{}}return(A?Ht:qr)(e,(function(e,r,A){return t(n,e,r,A)})),n},hr.unary=function(e){return es(e,1)},hr.union=So,hr.unionBy=ko,hr.unionWith=_o,hr.uniq=function(e){return e&&e.length?PA(e):[]},hr.uniqBy=function(e,t){return e&&e.length?PA(e,Ki(t,2)):[]},hr.uniqWith=function(e,t){return t="function"==typeof t?t:A,e&&e.length?PA(e,A,t):[]},hr.unset=function(e,t){return null==e||LA(e,t)},hr.unzip=Fo,hr.unzipWith=Mo,hr.update=function(e,t,n){return null==e?e:OA(e,t,JA(n))},hr.updateWith=function(e,t,n,r){return r="function"==typeof r?r:A,null==e?e:OA(e,t,JA(n),r)},hr.values=ha,hr.valuesIn=function(e){return null==e?[]:dn(e,ia(e))},hr.without=No,hr.words=wa,hr.wrap=function(e,t){return us(JA(t),e)},hr.xor=Ro,hr.xorBy=Ko,hr.xorWith=xo,hr.zip=Po,hr.zipObject=function(e,t){return jA(e||[],t||[],Sr)},hr.zipObjectDeep=function(e,t){return jA(e||[],t||[],bA)},hr.zipWith=Lo,hr.entries=ga,hr.entriesIn=la,hr.extend=qs,hr.extendWith=zs,Ra(hr,hr),hr.add=Ga,hr.attempt=va,hr.camelCase=pa,hr.capitalize=fa,hr.ceil=Ja,hr.clamp=function(e,t,n){return n===A&&(n=t,t=A),n!==A&&(n=(n=js(n))==n?n:0),t!==A&&(t=(t=js(t))==t?t:0),Rr(js(e),t,n)},hr.clone=function(e){return Kr(e,h)},hr.cloneDeep=function(e){return Kr(e,g|h)},hr.cloneDeepWith=function(e,t){return Kr(e,g|h,t="function"==typeof t?t:A)},hr.cloneWith=function(e,t){return Kr(e,h,t="function"==typeof t?t:A)},hr.conformsTo=function(e,t){return null==t||xr(e,t,Aa(t))},hr.deburr=Ca,hr.defaultTo=function(e,t){return null==e||e!=e?t:e},hr.divide=Ha,hr.endsWith=function(e,t,n){e=Js(e),t=xA(t);var r=e.length,i=n=n===A?r:Rr(Us(n),0,r);return(n-=t.length)>=0&&e.slice(n,i)==t},hr.eq=hs,hr.escape=function(e){return(e=Js(e))&&we.test(e)?e.replace(me,mn):e},hr.escapeRegExp=function(e){return(e=Js(e))&&Me.test(e)?e.replace(Fe,"\\$&"):e},hr.every=function(e,t,n){var r=ds(e)?zt:Ur;return n&&Hi(e,t,n)&&(t=A),r(e,Ki(t,3))},hr.find=jo,hr.findIndex=fo,hr.findKey=function(e,t){return An(e,Ki(t,3),qr)},hr.findLast=Go,hr.findLastIndex=Co,hr.findLastKey=function(e,t){return An(e,Ki(t,3),zr)},hr.floor=qa,hr.forEach=Jo,hr.forEachRight=Ho,hr.forIn=function(e,t){return null==e?e:Jr(e,Ki(t,3),ia)},hr.forInRight=function(e,t){return null==e?e:Hr(e,Ki(t,3),ia)},hr.forOwn=function(e,t){return e&&qr(e,Ki(t,3))},hr.forOwnRight=function(e,t){return e&&zr(e,Ki(t,3))},hr.get=Zs,hr.gt=ps,hr.gte=fs,hr.has=function(e,t){return null!=e&&Yi(e,t,eA)},hr.hasIn=ea,hr.head=Eo,hr.identity=_a,hr.includes=function(e,t,n,r){e=Es(e)?e:ha(e),n=n&&!r?Us(n):0;var A=e.length;return n<0&&(n=Jn(A+n,0)),Rs(e)?n<=A&&e.indexOf(t,n)>-1:!!A&&sn(e,t,n)>-1},hr.indexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var A=null==n?0:Us(n);return A<0&&(A=Jn(r+A,0)),sn(e,t,A)},hr.inRange=function(e,t,n){return t=Ts(t),n===A?(n=t,t=0):n=Ts(n),function(e,t,n){return e>=Hn(t,n)&&e=-N&&e<=N},hr.isSet=Ns,hr.isString=Rs,hr.isSymbol=Ks,hr.isTypedArray=xs,hr.isUndefined=function(e){return e===A},hr.isWeakMap=function(e){return Ss(e)&&Ui(e)==ie},hr.isWeakSet=function(e){return Ss(e)&&$r(e)==oe},hr.join=function(e,t){return null==e?"":jn.call(e,t)},hr.kebabCase=da,hr.last=Qo,hr.lastIndexOf=function(e,t,n){var r=null==e?0:e.length;if(!r)return-1;var i=r;return n!==A&&(i=(i=Us(n))<0?Jn(r+i,0):Hn(i,r-1)),t==t?function(e,t,n){for(var r=n+1;r--;)if(e[r]===t)return r;return r}(e,t,i):on(e,cn,i,!0)},hr.lowerCase=Ia,hr.lowerFirst=Ea,hr.lt=Ps,hr.lte=Ls,hr.max=function(e){return e&&e.length?Yr(e,_a,Zr):A},hr.maxBy=function(e,t){return e&&e.length?Yr(e,Ki(t,2),Zr):A},hr.mean=function(e){return un(e,_a)},hr.meanBy=function(e,t){return un(e,Ki(t,2))},hr.min=function(e){return e&&e.length?Yr(e,_a,gA):A},hr.minBy=function(e,t){return e&&e.length?Yr(e,Ki(t,2),gA):A},hr.stubArray=Ya,hr.stubFalse=ja,hr.stubObject=function(){return{}},hr.stubString=function(){return""},hr.stubTrue=function(){return!0},hr.multiply=Wa,hr.nth=function(e,t){return e&&e.length?CA(e,Us(t)):A},hr.noConflict=function(){return Mt._===this&&(Mt._=ft),this},hr.noop=Ka,hr.now=Zo,hr.pad=function(e,t,n){e=Js(e);var r=(t=Us(t))?_n(e):0;if(!t||r>=t)return e;var A=(t-r)/2;return di(On(A),n)+e+di(Ln(A),n)},hr.padEnd=function(e,t,n){e=Js(e);var r=(t=Us(t))?_n(e):0;return t&&rt){var r=e;e=t,t=r}if(n||e%1||t%1){var i=Wn();return Hn(e+i*(t-e+St("1e-"+((i+"").length-1))),t)}return yA(e,t)},hr.reduce=function(e,t,n){var r=ds(e)?en:hn,A=arguments.length<3;return r(e,Ki(t,4),n,A,Or)},hr.reduceRight=function(e,t,n){var r=ds(e)?tn:hn,A=arguments.length<3;return r(e,Ki(t,4),n,A,Tr)},hr.repeat=function(e,t,n){return t=(n?Hi(e,t,n):t===A)?1:Us(t),mA(Js(e),t)},hr.replace=function(){var e=arguments,t=Js(e[0]);return e.length<3?t:t.replace(e[1],e[2])},hr.result=function(e,t,n){var r=-1,i=(t=HA(t,e)).length;for(i||(i=1,e=A);++rN)return[];var n=x,r=Hn(e,x);t=Ki(t),e-=x;for(var A=fn(r,t);++n=o)return e;var a=n-_n(r);if(a<1)return r;var c=s?zA(s,0,a).join(""):e.slice(0,a);if(i===A)return c+r;if(s&&(a+=c.length-a),Ms(i)){if(e.slice(a).search(i)){var u,g=c;for(i.global||(i=nt(i.source,Js(Ye.exec(i))+"g")),i.lastIndex=0;u=i.exec(g);)var l=u.index;c=c.slice(0,l===A?a:l)}}else if(e.indexOf(xA(i),a)!=a){var h=c.lastIndexOf(i);h>-1&&(c=c.slice(0,h))}return c+r},hr.unescape=function(e){return(e=Js(e))&&Qe.test(e)?e.replace(ye,Mn):e},hr.uniqueId=function(e){var t=++gt;return Js(e)+t},hr.upperCase=ma,hr.upperFirst=Qa,hr.each=Jo,hr.eachRight=Ho,hr.first=Eo,Ra(hr,(za={},qr(hr,(function(e,t){ut.call(hr.prototype,t)||(za[t]=e)})),za),{chain:!1}),hr.VERSION="4.17.11",Ht(["bind","bindKey","curry","curryRight","partial","partialRight"],(function(e){hr[e].placeholder=hr})),Ht(["drop","take"],(function(e,t){dr.prototype[e]=function(n){n=n===A?1:Jn(Us(n),0);var r=this.__filtered__&&!t?new dr(this):this.clone();return r.__filtered__?r.__takeCount__=Hn(n,r.__takeCount__):r.__views__.push({size:Hn(n,x),type:e+(r.__dir__<0?"Right":"")}),r},dr.prototype[e+"Right"]=function(t){return this.reverse()[e](t).reverse()}})),Ht(["filter","map","takeWhile"],(function(e,t){var n=t+1,r=n==_||3==n;dr.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:Ki(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}})),Ht(["head","last"],(function(e,t){var n="take"+(t?"Right":"");dr.prototype[e]=function(){return this[n](1).value()[0]}})),Ht(["initial","tail"],(function(e,t){var n="drop"+(t?"":"Right");dr.prototype[e]=function(){return this.__filtered__?new dr(this):this[n](1)}})),dr.prototype.compact=function(){return this.filter(_a)},dr.prototype.find=function(e){return this.filter(e).head()},dr.prototype.findLast=function(e){return this.reverse().find(e)},dr.prototype.invokeMap=QA((function(e,t){return"function"==typeof e?new dr(this):this.map((function(n){return rA(n,e,t)}))})),dr.prototype.reject=function(e){return this.filter(as(Ki(e)))},dr.prototype.slice=function(e,t){e=Us(e);var n=this;return n.__filtered__&&(e>0||t<0)?new dr(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==A&&(n=(t=Us(t))<0?n.dropRight(-t):n.take(t-e)),n)},dr.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},dr.prototype.toArray=function(){return this.take(x)},qr(dr.prototype,(function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),i=hr[r?"take"+("last"==t?"Right":""):t],o=r||/^find/.test(t);i&&(hr.prototype[t]=function(){var t=this.__wrapped__,s=r?[1]:arguments,a=t instanceof dr,c=s[0],u=a||ds(t),g=function(e){var t=i.apply(hr,Zt([e],s));return r&&l?t[0]:t};u&&n&&"function"==typeof c&&1!=c.length&&(a=u=!1);var l=this.__chain__,h=!!this.__actions__.length,p=o&&!l,f=a&&!h;if(!o&&u){t=f?t:new dr(this);var C=e.apply(t,s);return C.__actions__.push({func:To,args:[g],thisArg:A}),new Cr(C,l)}return p&&f?e.apply(this,s):(C=this.thru(g),p?r?C.value()[0]:C.value():C)})})),Ht(["pop","push","shift","sort","splice","unshift"],(function(e){var t=it[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);hr.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var A=this.value();return t.apply(ds(A)?A:[],e)}return this[n]((function(n){return t.apply(ds(n)?n:[],e)}))}})),qr(dr.prototype,(function(e,t){var n=hr[t];if(n){var r=n.name+"";(Ar[r]||(Ar[r]=[])).push({name:t,func:n})}})),Ar[hi(A,d).name]=[{name:"wrapper",func:A}],dr.prototype.clone=function(){var e=new dr(this.__wrapped__);return e.__actions__=ni(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=ni(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=ni(this.__views__),e},dr.prototype.reverse=function(){if(this.__filtered__){var e=new dr(this);e.__dir__=-1,e.__filtered__=!0}else(e=this.clone()).__dir__*=-1;return e},dr.prototype.value=function(){var e=this.__wrapped__.value(),t=this.__dir__,n=ds(e),r=t<0,A=n?e.length:0,i=function(e,t,n){var r=-1,A=n.length;for(;++r=this.__values__.length;return{done:e,value:e?A:this.__values__[this.__index__++]}},hr.prototype.plant=function(e){for(var t,n=this;n instanceof fr;){var r=go(n);r.__index__=0,r.__values__=A,t?i.__wrapped__=r:t=r;var i=r;n=n.__wrapped__}return i.__wrapped__=e,t},hr.prototype.reverse=function(){var e=this.__wrapped__;if(e instanceof dr){var t=e;return this.__actions__.length&&(t=new dr(this)),(t=t.reverse()).__actions__.push({func:To,args:[Do],thisArg:A}),new Cr(t,this.__chain__)}return this.thru(Do)},hr.prototype.toJSON=hr.prototype.valueOf=hr.prototype.value=function(){return UA(this.__wrapped__,this.__actions__)},hr.prototype.first=hr.prototype.head,rn&&(hr.prototype[rn]=function(){return this}),hr}();Mt._=Nn,(r=function(){return Nn}.call(t,n,t,e))===A||(e.exports=r)}).call(this)}).call(this,n(29)(e))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isArray=Array.isArray||function(e){return e&&"number"==typeof e.length}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(9);function A(e){return new r.Observable((function(t){return e.schedule((function(){return t.complete()}))}))}t.EMPTY=new r.Observable((function(e){return e.complete()})),t.empty=function(e){return e?A(e):t.EMPTY},t.emptyScheduled=A},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(102),A=n(103);t.async=new A.AsyncScheduler(r.AsyncAction)},function(e,t,n){"use strict";const r=n(295),A=n(633),i=n(637).stdout,o=n(639),s="win32"===process.platform&&!(process.env.TERM||"").toLowerCase().startsWith("xterm"),a=["ansi","ansi","ansi256","ansi16m"],c=new Set(["gray"]),u=Object.create(null);function g(e,t){t=t||{};const n=i?i.level:0;e.level=void 0===t.level?n:t.level,e.enabled="enabled"in t?t.enabled:e.level>0}function l(e){if(!this||!(this instanceof l)||this.template){const t={};return g(t,e),t.template=function(){const e=[].slice.call(arguments);return C.apply(null,[t.template].concat(e))},Object.setPrototypeOf(t,l.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=l,t.template}g(this,e)}s&&(A.blue.open="");for(const e of Object.keys(A))A[e].closeRe=new RegExp(r(A[e].close),"g"),u[e]={get(){const t=A[e];return p.call(this,this._styles?this._styles.concat(t):[t],this._empty,e)}};u.visible={get(){return p.call(this,this._styles||[],!0,"visible")}},A.color.closeRe=new RegExp(r(A.color.close),"g");for(const e of Object.keys(A.color.ansi))c.has(e)||(u[e]={get(){const t=this.level;return function(){const n=A.color[a[t]][e].apply(null,arguments),r={open:n,close:A.color.close,closeRe:A.color.closeRe};return p.call(this,this._styles?this._styles.concat(r):[r],this._empty,e)}}});A.bgColor.closeRe=new RegExp(r(A.bgColor.close),"g");for(const e of Object.keys(A.bgColor.ansi)){if(c.has(e))continue;u["bg"+e[0].toUpperCase()+e.slice(1)]={get(){const t=this.level;return function(){const n=A.bgColor[a[t]][e].apply(null,arguments),r={open:n,close:A.bgColor.close,closeRe:A.bgColor.closeRe};return p.call(this,this._styles?this._styles.concat(r):[r],this._empty,e)}}}}const h=Object.defineProperties(()=>{},u);function p(e,t,n){const r=function(){return f.apply(r,arguments)};r._styles=e,r._empty=t;const A=this;return Object.defineProperty(r,"level",{enumerable:!0,get:()=>A.level,set(e){A.level=e}}),Object.defineProperty(r,"enabled",{enumerable:!0,get:()=>A.enabled,set(e){A.enabled=e}}),r.hasGrey=this.hasGrey||"gray"===n||"grey"===n,r.__proto__=h,r}function f(){const e=arguments,t=e.length;let n=String(arguments[0]);if(0===t)return"";if(t>1)for(let r=1;rthis.parseRange(e.trim())).filter(e=>e.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${e}`);this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){const t=this.options.loose;e=e.trim();const n=t?s[a.HYPHENRANGELOOSE]:s[a.HYPHENRANGE];e=e.replace(n,m),i("hyphen replace",e),e=e.replace(s[a.COMPARATORTRIM],c),i("comparator trim",e,s[a.COMPARATORTRIM]),e=(e=(e=e.replace(s[a.TILDETRIM],u)).replace(s[a.CARETTRIM],g)).split(/\s+/).join(" ");const r=t?s[a.COMPARATORLOOSE]:s[a.COMPARATOR];return e.split(" ").map(e=>h(e,this.options)).join(" ").split(/\s+/).filter(this.options.loose?e=>!!e.match(r):()=>!0).map(e=>new A(e,this.options))}intersects(e,t){if(!(e instanceof r))throw new TypeError("a Range is required");return this.set.some(n=>l(n,t)&&e.set.some(e=>l(e,t)&&n.every(n=>e.every(e=>n.intersects(e,t)))))}test(e){if(!e)return!1;if("string"==typeof e)try{e=new o(e,this.options)}catch(e){return!1}for(let t=0;t{let n=!0;const r=e.slice();let A=r.pop();for(;n&&r.length;)n=r.every(e=>A.intersects(e,t)),A=r.pop();return n},h=(e,t)=>(i("comp",e,t),e=d(e,t),i("caret",e),e=f(e,t),i("tildes",e),e=E(e,t),i("xrange",e),e=y(e,t),i("stars",e),e),p=e=>!e||"x"===e.toLowerCase()||"*"===e,f=(e,t)=>e.trim().split(/\s+/).map(e=>C(e,t)).join(" "),C=(e,t)=>{const n=t.loose?s[a.TILDELOOSE]:s[a.TILDE];return e.replace(n,(t,n,r,A,o)=>{let s;return i("tilde",e,t,n,r,A,o),p(n)?s="":p(r)?s=`>=${n}.0.0 <${+n+1}.0.0`:p(A)?s=`>=${n}.${r}.0 <${n}.${+r+1}.0`:o?(i("replaceTilde pr",o),s=`>=${n}.${r}.${A}-${o} <${n}.${+r+1}.0`):s=`>=${n}.${r}.${A} <${n}.${+r+1}.0`,i("tilde return",s),s})},d=(e,t)=>e.trim().split(/\s+/).map(e=>I(e,t)).join(" "),I=(e,t)=>{i("caret",e,t);const n=t.loose?s[a.CARETLOOSE]:s[a.CARET];return e.replace(n,(t,n,r,A,o)=>{let s;return i("caret",e,t,n,r,A,o),p(n)?s="":p(r)?s=`>=${n}.0.0 <${+n+1}.0.0`:p(A)?s="0"===n?`>=${n}.${r}.0 <${n}.${+r+1}.0`:`>=${n}.${r}.0 <${+n+1}.0.0`:o?(i("replaceCaret pr",o),s="0"===n?"0"===r?`>=${n}.${r}.${A}-${o} <${n}.${r}.${+A+1}`:`>=${n}.${r}.${A}-${o} <${n}.${+r+1}.0`:`>=${n}.${r}.${A}-${o} <${+n+1}.0.0`):(i("no pr"),s="0"===n?"0"===r?`>=${n}.${r}.${A} <${n}.${r}.${+A+1}`:`>=${n}.${r}.${A} <${n}.${+r+1}.0`:`>=${n}.${r}.${A} <${+n+1}.0.0`),i("caret return",s),s})},E=(e,t)=>(i("replaceXRanges",e,t),e.split(/\s+/).map(e=>B(e,t)).join(" ")),B=(e,t)=>{e=e.trim();const n=t.loose?s[a.XRANGELOOSE]:s[a.XRANGE];return e.replace(n,(n,r,A,o,s,a)=>{i("xRange",e,n,r,A,o,s,a);const c=p(A),u=c||p(o),g=u||p(s),l=g;return"="===r&&l&&(r=""),a=t.includePrerelease?"-0":"",c?n=">"===r||"<"===r?"<0.0.0-0":"*":r&&l?(u&&(o=0),s=0,">"===r?(r=">=",u?(A=+A+1,o=0,s=0):(o=+o+1,s=0)):"<="===r&&(r="<",u?A=+A+1:o=+o+1),n=`${r+A}.${o}.${s}${a}`):u?n=`>=${A}.0.0${a} <${+A+1}.0.0${a}`:g&&(n=`>=${A}.${o}.0${a} <${A}.${+o+1}.0${a}`),i("xRange return",n),n})},y=(e,t)=>(i("replaceStars",e,t),e.trim().replace(s[a.STAR],"")),m=(e,t,n,r,A,i,o,s,a,c,u,g,l)=>`${t=p(n)?"":p(r)?`>=${n}.0.0`:p(A)?`>=${n}.${r}.0`:`>=${t}`} ${s=p(a)?"":p(c)?`<${+a+1}.0.0`:p(u)?`<${a}.${+c+1}.0`:g?`<=${a}.${c}.${u}-${g}`:`<=${s}`}`.trim(),Q=(e,t,n)=>{for(let n=0;n0){const r=e[n].semver;if(r.major===t.major&&r.minor===t.minor&&r.patch===t.patch)return!0}return!1}return!0}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.UNNAMED=0]="UNNAMED",e[e.EXCEPTION=1]="EXCEPTION",e[e.MISSING_PEER_DEPENDENCY=2]="MISSING_PEER_DEPENDENCY",e[e.CYCLIC_DEPENDENCIES=3]="CYCLIC_DEPENDENCIES",e[e.DISABLED_BUILD_SCRIPTS=4]="DISABLED_BUILD_SCRIPTS",e[e.BUILD_DISABLED=5]="BUILD_DISABLED",e[e.SOFT_LINK_BUILD=6]="SOFT_LINK_BUILD",e[e.MUST_BUILD=7]="MUST_BUILD",e[e.MUST_REBUILD=8]="MUST_REBUILD",e[e.BUILD_FAILED=9]="BUILD_FAILED",e[e.RESOLVER_NOT_FOUND=10]="RESOLVER_NOT_FOUND",e[e.FETCHER_NOT_FOUND=11]="FETCHER_NOT_FOUND",e[e.LINKER_NOT_FOUND=12]="LINKER_NOT_FOUND",e[e.FETCH_NOT_CACHED=13]="FETCH_NOT_CACHED",e[e.YARN_IMPORT_FAILED=14]="YARN_IMPORT_FAILED",e[e.REMOTE_INVALID=15]="REMOTE_INVALID",e[e.REMOTE_NOT_FOUND=16]="REMOTE_NOT_FOUND",e[e.RESOLUTION_PACK=17]="RESOLUTION_PACK",e[e.CACHE_CHECKSUM_MISMATCH=18]="CACHE_CHECKSUM_MISMATCH",e[e.UNUSED_CACHE_ENTRY=19]="UNUSED_CACHE_ENTRY",e[e.MISSING_LOCKFILE_ENTRY=20]="MISSING_LOCKFILE_ENTRY",e[e.WORKSPACE_NOT_FOUND=21]="WORKSPACE_NOT_FOUND",e[e.TOO_MANY_MATCHING_WORKSPACES=22]="TOO_MANY_MATCHING_WORKSPACES",e[e.CONSTRAINTS_MISSING_DEPENDENCY=23]="CONSTRAINTS_MISSING_DEPENDENCY",e[e.CONSTRAINTS_INCOMPATIBLE_DEPENDENCY=24]="CONSTRAINTS_INCOMPATIBLE_DEPENDENCY",e[e.CONSTRAINTS_EXTRANEOUS_DEPENDENCY=25]="CONSTRAINTS_EXTRANEOUS_DEPENDENCY",e[e.CONSTRAINTS_INVALID_DEPENDENCY=26]="CONSTRAINTS_INVALID_DEPENDENCY",e[e.CANT_SUGGEST_RESOLUTIONS=27]="CANT_SUGGEST_RESOLUTIONS",e[e.FROZEN_LOCKFILE_EXCEPTION=28]="FROZEN_LOCKFILE_EXCEPTION",e[e.CROSS_DRIVE_VIRTUAL_LOCAL=29]="CROSS_DRIVE_VIRTUAL_LOCAL",e[e.FETCH_FAILED=30]="FETCH_FAILED",e[e.DANGEROUS_NODE_MODULES=31]="DANGEROUS_NODE_MODULES",e[e.NODE_GYP_INJECTED=32]="NODE_GYP_INJECTED",e[e.AUTHENTICATION_NOT_FOUND=33]="AUTHENTICATION_NOT_FOUND",e[e.INVALID_CONFIGURATION_KEY=34]="INVALID_CONFIGURATION_KEY",e[e.NETWORK_ERROR=35]="NETWORK_ERROR",e[e.LIFECYCLE_SCRIPT=36]="LIFECYCLE_SCRIPT",e[e.CONSTRAINTS_MISSING_FIELD=37]="CONSTRAINTS_MISSING_FIELD",e[e.CONSTRAINTS_INCOMPATIBLE_FIELD=38]="CONSTRAINTS_INCOMPATIBLE_FIELD",e[e.CONSTRAINTS_EXTRANEOUS_FIELD=39]="CONSTRAINTS_EXTRANEOUS_FIELD",e[e.CONSTRAINTS_INVALID_FIELD=40]="CONSTRAINTS_INVALID_FIELD",e[e.AUTHENTICATION_INVALID=41]="AUTHENTICATION_INVALID",e[e.PROLOG_UNKNOWN_ERROR=42]="PROLOG_UNKNOWN_ERROR",e[e.PROLOG_SYNTAX_ERROR=43]="PROLOG_SYNTAX_ERROR",e[e.PROLOG_EXISTENCE_ERROR=44]="PROLOG_EXISTENCE_ERROR",e[e.STACK_OVERFLOW_RESOLUTION=45]="STACK_OVERFLOW_RESOLUTION",e[e.AUTOMERGE_FAILED_TO_PARSE=46]="AUTOMERGE_FAILED_TO_PARSE",e[e.AUTOMERGE_IMMUTABLE=47]="AUTOMERGE_IMMUTABLE",e[e.AUTOMERGE_SUCCESS=48]="AUTOMERGE_SUCCESS",e[e.AUTOMERGE_REQUIRED=49]="AUTOMERGE_REQUIRED",e[e.DEPRECATED_CLI_SETTINGS=50]="DEPRECATED_CLI_SETTINGS",e[e.PLUGIN_NAME_NOT_FOUND=51]="PLUGIN_NAME_NOT_FOUND",e[e.INVALID_PLUGIN_REFERENCE=52]="INVALID_PLUGIN_REFERENCE",e[e.CONSTRAINTS_AMBIGUITY=53]="CONSTRAINTS_AMBIGUITY",e[e.CACHE_OUTSIDE_PROJECT=54]="CACHE_OUTSIDE_PROJECT",e[e.IMMUTABLE_INSTALL=55]="IMMUTABLE_INSTALL",e[e.IMMUTABLE_CACHE=56]="IMMUTABLE_CACHE",e[e.INVALID_MANIFEST=57]="INVALID_MANIFEST",e[e.PACKAGE_PREPARATION_FAILED=58]="PACKAGE_PREPARATION_FAILED",e[e.INVALID_RANGE_PEER_DEPENDENCY=59]="INVALID_RANGE_PEER_DEPENDENCY",e[e.INCOMPATIBLE_PEER_DEPENDENCY=60]="INCOMPATIBLE_PEER_DEPENDENCY"}(t.MessageName||(t.MessageName={}))},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){var r=n(329),A="object"==typeof self&&self&&self.Object===Object&&self,i=r||A||Function("return this")();e.exports=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(9),A=n(387),i=n(386),o=n(880),s=n(881),a=n(47),c=n(882),u=n(883),g=n(884),l=n(382);t.from=function(e,t){if(!t)return e instanceof r.Observable?e:new r.Observable(l.subscribeTo(e));if(null!=e){if(o.isInteropObservable(e))return g.fromObservable(e,t);if(A.isPromise(e))return c.fromPromise(e,t);if(i.isArrayLike(e))return a.fromArray(e,t);if(s.isIterable(e)||"string"==typeof e)return u.fromIterable(e,t)}throw new TypeError((null!==e&&typeof e||e)+" is not observable")}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(393);t.audit=r.audit;var A=n(895);t.auditTime=A.auditTime;var i=n(896);t.buffer=i.buffer;var o=n(897);t.bufferCount=o.bufferCount;var s=n(898);t.bufferTime=s.bufferTime;var a=n(899);t.bufferToggle=a.bufferToggle;var c=n(900);t.bufferWhen=c.bufferWhen;var u=n(901);t.catchError=u.catchError;var g=n(902);t.combineAll=g.combineAll;var l=n(903);t.combineLatest=l.combineLatest;var h=n(904);t.concat=h.concat;var p=n(388);t.concatAll=p.concatAll;var f=n(394);t.concatMap=f.concatMap;var C=n(905);t.concatMapTo=C.concatMapTo;var d=n(906);t.count=d.count;var I=n(907);t.debounce=I.debounce;var E=n(908);t.debounceTime=E.debounceTime;var B=n(108);t.defaultIfEmpty=B.defaultIfEmpty;var y=n(909);t.delay=y.delay;var m=n(910);t.delayWhen=m.delayWhen;var Q=n(911);t.dematerialize=Q.dematerialize;var w=n(912);t.distinct=w.distinct;var v=n(396);t.distinctUntilChanged=v.distinctUntilChanged;var b=n(913);t.distinctUntilKeyChanged=b.distinctUntilKeyChanged;var D=n(914);t.elementAt=D.elementAt;var S=n(915);t.endWith=S.endWith;var k=n(916);t.every=k.every;var _=n(917);t.exhaust=_.exhaust;var F=n(918);t.exhaustMap=F.exhaustMap;var M=n(919);t.expand=M.expand;var N=n(109);t.filter=N.filter;var R=n(920);t.finalize=R.finalize;var K=n(398);t.find=K.find;var x=n(921);t.findIndex=x.findIndex;var P=n(922);t.first=P.first;var L=n(374);t.groupBy=L.groupBy;var O=n(923);t.ignoreElements=O.ignoreElements;var T=n(924);t.isEmpty=T.isEmpty;var U=n(925);t.last=U.last;var Y=n(28);t.map=Y.map;var j=n(926);t.mapTo=j.mapTo;var G=n(927);t.materialize=G.materialize;var J=n(928);t.max=J.max;var H=n(929);t.merge=H.merge;var q=n(237);t.mergeAll=q.mergeAll;var z=n(107);t.mergeMap=z.mergeMap;var W=n(107);t.flatMap=W.mergeMap;var X=n(930);t.mergeMapTo=X.mergeMapTo;var V=n(931);t.mergeScan=V.mergeScan;var $=n(932);t.min=$.min;var Z=n(81);t.multicast=Z.multicast;var ee=n(378);t.observeOn=ee.observeOn;var te=n(933);t.onErrorResumeNext=te.onErrorResumeNext;var ne=n(934);t.pairwise=ne.pairwise;var re=n(935);t.partition=re.partition;var Ae=n(937);t.pluck=Ae.pluck;var ie=n(938);t.publish=ie.publish;var oe=n(939);t.publishBehavior=oe.publishBehavior;var se=n(940);t.publishLast=se.publishLast;var ae=n(941);t.publishReplay=ae.publishReplay;var ce=n(942);t.race=ce.race;var ue=n(158);t.reduce=ue.reduce;var ge=n(943);t.repeat=ge.repeat;var le=n(944);t.repeatWhen=le.repeatWhen;var he=n(945);t.retry=he.retry;var pe=n(946);t.retryWhen=pe.retryWhen;var fe=n(231);t.refCount=fe.refCount;var Ce=n(947);t.sample=Ce.sample;var de=n(948);t.sampleTime=de.sampleTime;var Ie=n(242);t.scan=Ie.scan;var Ee=n(949);t.sequenceEqual=Ee.sequenceEqual;var Be=n(950);t.share=Be.share;var ye=n(951);t.shareReplay=ye.shareReplay;var me=n(952);t.single=me.single;var Qe=n(953);t.skip=Qe.skip;var we=n(954);t.skipLast=we.skipLast;var ve=n(955);t.skipUntil=ve.skipUntil;var be=n(956);t.skipWhile=be.skipWhile;var De=n(957);t.startWith=De.startWith;var Se=n(958);t.subscribeOn=Se.subscribeOn;var ke=n(960);t.switchAll=ke.switchAll;var _e=n(243);t.switchMap=_e.switchMap;var Fe=n(961);t.switchMapTo=Fe.switchMapTo;var Me=n(240);t.take=Me.take;var Ne=n(241);t.takeLast=Ne.takeLast;var Re=n(962);t.takeUntil=Re.takeUntil;var Ke=n(963);t.takeWhile=Ke.takeWhile;var xe=n(397);t.tap=xe.tap;var Pe=n(399);t.throttle=Pe.throttle;var Le=n(964);t.throttleTime=Le.throttleTime;var Oe=n(157);t.throwIfEmpty=Oe.throwIfEmpty;var Te=n(965);t.timeInterval=Te.timeInterval;var Ue=n(966);t.timeout=Ue.timeout;var Ye=n(400);t.timeoutWith=Ye.timeoutWith;var je=n(967);t.timestamp=je.timestamp;var Ge=n(968);t.toArray=Ge.toArray;var Je=n(969);t.window=Je.window;var He=n(970);t.windowCount=He.windowCount;var qe=n(971);t.windowTime=qe.windowTime;var ze=n(972);t.windowToggle=ze.windowToggle;var We=n(973);t.windowWhen=We.windowWhen;var Xe=n(974);t.withLatestFrom=Xe.withLatestFrom;var Ve=n(975);t.zip=Ve.zip;var $e=n(976);t.zipAll=$e.zipAll},function(e,t,n){var r=n(408),A="object"==typeof self&&self&&self.Object===Object&&self,i=r||A||Function("return this")();e.exports=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(574),A=n(575),i=n(576);function o(e={}){return e instanceof i.default?e:new i.default(e)}t.Settings=i.default,t.stat=function(e,t,n){if("function"==typeof t)return r.read(e,o(),t);r.read(e,o(t),n)},t.statSync=function(e,t){const n=o(t);return A.read(e,n)}},function(e,t,n){const r=n(16);e.exports=(e,t,n)=>new r(e,n).compare(new r(t,n))},function(e,t,n){"use strict";var r=this&&this.__await||function(e){return this instanceof r?(this.v=e,this):new r(e)},A=this&&this.__asyncGenerator||function(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var A,i=n.apply(e,t||[]),o=[];return A={},s("next"),s("throw"),s("return"),A[Symbol.asyncIterator]=function(){return this},A;function s(e){i[e]&&(A[e]=function(t){return new Promise((function(n,r){o.push([e,t,n,r])>1||a(e,t)}))})}function a(e,t){try{(n=i[e](t)).value instanceof r?Promise.resolve(n.value.v).then(c,u):g(o[0][2],n)}catch(e){g(o[0][3],e)}var n}function c(e){a("next",e)}function u(e){a("throw",e)}function g(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(8),o=n(132),s=n(35);class a extends Error{constructor(e,t){super(t),this.reportCode=e}}function c(e){return void 0!==e.reportCode}t.ReportError=a,t.isReportError=c;t.Report=class{constructor(){this.reportedInfos=new Set,this.reportedWarnings=new Set,this.reportedErrors=new Set}static progressViaCounter(e){let t,n=0,i=new Promise(e=>{t=e});const o=e=>{const r=t;i=new Promise(e=>{t=e}),n=e,r()},s=function(){return A(this,arguments,(function*(){for(;ns,set:o,tick:(e=0)=>{o(n+1)}}}reportInfoOnce(e,t,n){const r=n&&n.key?n.key:t;this.reportedInfos.has(r)||(this.reportedInfos.add(r),this.reportInfo(e,t))}reportWarningOnce(e,t,n){const r=n&&n.key?n.key:t;this.reportedWarnings.has(r)||(this.reportedWarnings.add(r),this.reportWarning(e,t))}reportErrorOnce(e,t,n){const r=n&&n.key?n.key:t;this.reportedErrors.has(r)||(this.reportedErrors.add(r),this.reportError(e,t))}reportExceptionOnce(e){c(e)?this.reportErrorOnce(e.reportCode,e.message,{key:e}):this.reportErrorOnce(s.MessageName.EXCEPTION,e.stack||e.message,{key:e})}createStreamReporter(e=null){const t=new i.PassThrough,n=new o.StringDecoder;let r="";return t.on("data",t=>{let A,i=n.write(t);do{if(-1!==(A=i.indexOf("\n"))){const t=r+i.substr(0,A);i=i.substr(A+1),r="",null!==e?this.reportInfo(null,`${e} ${t}`):this.reportInfo(null,t)}}while(-1!==A);r+=i}),t.on("end",()=>{const t=n.end();""!==t&&(null!==e?this.reportInfo(null,`${e} ${t}`):this.reportInfo(null,t))}),t}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(560);t.array=r;const A=n(561);t.errno=A;const i=n(562);t.fs=i;const o=n(563);t.path=o;const s=n(564);t.pattern=s;const a=n(571);t.stream=a;const c=n(572);t.string=c},function(e,t,n){"use strict";function r(){}function A(e,t,n,r,A){for(var i=0,o=t.length,s=0,a=0;ie.length?n:e})),c.value=e.join(g)}else c.value=e.join(n.slice(s,s+c.count));s+=c.count,c.added||(a+=c.count)}}var l=t[o-1];return o>1&&"string"==typeof l.value&&(l.added||l.removed)&&e.equals("",l.value)&&(t[o-2].value+=l.value,t.pop()),t}function i(e){return{newPos:e.newPos,components:e.components.slice(0)}}Object.defineProperty(t,"__esModule",{value:!0}),t.default=r,r.prototype={diff:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.callback;"function"==typeof n&&(r=n,n={}),this.options=n;var o=this;function s(e){return r?(setTimeout((function(){r(void 0,e)}),0),!0):e}e=this.castInput(e),t=this.castInput(t),e=this.removeEmpty(this.tokenize(e));var a=(t=this.removeEmpty(this.tokenize(t))).length,c=e.length,u=1,g=a+c,l=[{newPos:-1,components:[]}],h=this.extractCommon(l[0],t,e,0);if(l[0].newPos+1>=a&&h+1>=c)return s([{value:this.join(t),count:t.length}]);function p(){for(var n=-1*u;n<=u;n+=2){var r=void 0,g=l[n-1],h=l[n+1],p=(h?h.newPos:0)-n;g&&(l[n-1]=void 0);var f=g&&g.newPos+1=a&&p+1>=c)return s(A(o,r.components,t,e,o.useLongestToken));l[n]=r}else l[n]=void 0}u++}if(r)!function e(){setTimeout((function(){if(u>g)return r();p()||e()}),0)}();else for(;u<=g;){var f=p();if(f)return f}},pushComponent:function(e,t,n){var r=e[e.length-1];r&&r.added===t&&r.removed===n?e[e.length-1]={count:r.count+1,added:t,removed:n}:e.push({count:1,added:t,removed:n})},extractCommon:function(e,t,n,r){for(var A=t.length,i=n.length,o=e.newPos,s=o-r,a=0;o+1!0,filter:e=>e,when:()=>!0,suffix:"",prefix:A.green("?")}),this.opt.name||this.throwParamError("name"),this.opt.message||(this.opt.message=this.opt.name+":"),Array.isArray(this.opt.choices)&&(this.opt.choices=new g(this.opt.choices,n)),this.rl=t,this.screen=new l(this.rl)}run(){return new Promise(e=>{this._run(t=>e(t))})}_run(e){e()}throwParamError(e){throw new Error("You must provide a `"+e+"` parameter")}close(){this.screen.releaseCursor()}handleSubmitEvents(e){var t=this,n=i(this.opt.validate),r=i(this.opt.filter),A=e.pipe(s(e=>r(e,t.answers).then(e=>n(e,t.answers).then(t=>({isValid:t,value:e}),e=>({isValid:e})),e=>({isValid:e}))),a()),g=A.pipe(o(e=>!0===e.isValid),c(1));return{success:g,error:A.pipe(o(e=>!0!==e.isValid),u(g))}}getQuestion(){var e=this.opt.prefix+" "+A.bold(this.opt.message)+this.opt.suffix+A.reset(" ");return null!=this.opt.default&&"answered"!==this.status&&("password"===this.opt.type?e+=A.italic.dim("[hidden] "):e+=A.dim("("+this.opt.default+") ")),e}}},function(e,t,n){"use strict";var{fromEvent:r}=n(149),{filter:A,map:i,share:o}=n(39);function s(e,t){return{value:e,key:t||{}}}e.exports=function(e){var t=r(e.input,"keypress",s).pipe(A(({key:e})=>"enter"!==e.name&&"return"!==e.name));return{line:r(e,"line"),keypress:t,normalizedUpKey:t.pipe(A(({key:e})=>"up"===e.name||"k"===e.name||"p"===e.name&&e.ctrl),o()),normalizedDownKey:t.pipe(A(({key:e})=>"down"===e.name||"j"===e.name||"n"===e.name&&e.ctrl),o()),numberKey:t.pipe(A(e=>e.value&&"123456789".indexOf(e.value)>=0),i(e=>Number(e.value)),o()),spaceKey:t.pipe(A(({key:e})=>e&&"space"===e.name),o()),aKey:t.pipe(A(({key:e})=>e&&"a"===e.name),o()),iKey:t.pipe(A(({key:e})=>e&&"i"===e.name),o())}}},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const A=r(n(3)),i=n(52),o=n(18);class s extends i.BasePortableFakeFS{constructor(e=A.default){super(),this.realFs=e}getExtractHint(){return!1}getRealPath(){return o.PortablePath.root}async openPromise(e,t,n){return await new Promise((r,A)=>{this.realFs.open(o.npath.fromPortablePath(e),t,n,this.makeCallback(r,A))})}openSync(e,t,n){return this.realFs.openSync(o.npath.fromPortablePath(e),t,n)}async readPromise(e,t,n=0,r=0,A=-1){return await new Promise((i,o)=>{this.realFs.read(e,t,n,r,A,(e,t)=>{e?o(e):i(t)})})}readSync(e,t,n,r,A){return this.realFs.readSync(e,t,n,r,A)}async writePromise(e,t,n,r,A){return await new Promise((i,o)=>"string"==typeof t?this.realFs.write(e,t,n,this.makeCallback(i,o)):this.realFs.write(e,t,n,r,A,this.makeCallback(i,o)))}writeSync(e,t,n,r,A){return"string"==typeof t?this.realFs.writeSync(e,t,n):this.realFs.writeSync(e,t,n,r,A)}async closePromise(e){await new Promise((t,n)=>{this.realFs.close(e,this.makeCallback(t,n))})}closeSync(e){this.realFs.closeSync(e)}createReadStream(e,t){const n=null!==e?o.npath.fromPortablePath(e):e;return this.realFs.createReadStream(n,t)}createWriteStream(e,t){const n=null!==e?o.npath.fromPortablePath(e):e;return this.realFs.createWriteStream(n,t)}async realpathPromise(e){return await new Promise((t,n)=>{this.realFs.realpath(o.npath.fromPortablePath(e),{},this.makeCallback(t,n))}).then(e=>o.npath.toPortablePath(e))}realpathSync(e){return o.npath.toPortablePath(this.realFs.realpathSync(o.npath.fromPortablePath(e),{}))}async existsPromise(e){return await new Promise(t=>{this.realFs.exists(o.npath.fromPortablePath(e),t)})}accessSync(e,t){return this.realFs.accessSync(o.npath.fromPortablePath(e),t)}async accessPromise(e,t){return await new Promise((n,r)=>{this.realFs.access(o.npath.fromPortablePath(e),t,this.makeCallback(n,r))})}existsSync(e){return this.realFs.existsSync(o.npath.fromPortablePath(e))}async statPromise(e){return await new Promise((t,n)=>{this.realFs.stat(o.npath.fromPortablePath(e),this.makeCallback(t,n))})}statSync(e){return this.realFs.statSync(o.npath.fromPortablePath(e))}async lstatPromise(e){return await new Promise((t,n)=>{this.realFs.lstat(o.npath.fromPortablePath(e),this.makeCallback(t,n))})}lstatSync(e){return this.realFs.lstatSync(o.npath.fromPortablePath(e))}async chmodPromise(e,t){return await new Promise((n,r)=>{this.realFs.chmod(o.npath.fromPortablePath(e),t,this.makeCallback(n,r))})}chmodSync(e,t){return this.realFs.chmodSync(o.npath.fromPortablePath(e),t)}async renamePromise(e,t){return await new Promise((n,r)=>{this.realFs.rename(o.npath.fromPortablePath(e),o.npath.fromPortablePath(t),this.makeCallback(n,r))})}renameSync(e,t){return this.realFs.renameSync(o.npath.fromPortablePath(e),o.npath.fromPortablePath(t))}async copyFilePromise(e,t,n=0){return await new Promise((r,A)=>{this.realFs.copyFile(o.npath.fromPortablePath(e),o.npath.fromPortablePath(t),n,this.makeCallback(r,A))})}copyFileSync(e,t,n=0){return this.realFs.copyFileSync(o.npath.fromPortablePath(e),o.npath.fromPortablePath(t),n)}async appendFilePromise(e,t,n){return await new Promise((r,A)=>{const i="string"==typeof e?o.npath.fromPortablePath(e):e;n?this.realFs.appendFile(i,t,n,this.makeCallback(r,A)):this.realFs.appendFile(i,t,this.makeCallback(r,A))})}appendFileSync(e,t,n){const r="string"==typeof e?o.npath.fromPortablePath(e):e;n?this.realFs.appendFileSync(r,t,n):this.realFs.appendFileSync(r,t)}async writeFilePromise(e,t,n){return await new Promise((r,A)=>{const i="string"==typeof e?o.npath.fromPortablePath(e):e;n?this.realFs.writeFile(i,t,n,this.makeCallback(r,A)):this.realFs.writeFile(i,t,this.makeCallback(r,A))})}writeFileSync(e,t,n){const r="string"==typeof e?o.npath.fromPortablePath(e):e;n?this.realFs.writeFileSync(r,t,n):this.realFs.writeFileSync(r,t)}async unlinkPromise(e){return await new Promise((t,n)=>{this.realFs.unlink(o.npath.fromPortablePath(e),this.makeCallback(t,n))})}unlinkSync(e){return this.realFs.unlinkSync(o.npath.fromPortablePath(e))}async utimesPromise(e,t,n){return await new Promise((r,A)=>{this.realFs.utimes(o.npath.fromPortablePath(e),t,n,this.makeCallback(r,A))})}utimesSync(e,t,n){this.realFs.utimesSync(o.npath.fromPortablePath(e),t,n)}async mkdirPromise(e,t){return await new Promise((n,r)=>{this.realFs.mkdir(o.npath.fromPortablePath(e),t,this.makeCallback(n,r))})}mkdirSync(e,t){return this.realFs.mkdirSync(o.npath.fromPortablePath(e),t)}async rmdirPromise(e){return await new Promise((t,n)=>{this.realFs.rmdir(o.npath.fromPortablePath(e),this.makeCallback(t,n))})}rmdirSync(e){return this.realFs.rmdirSync(o.npath.fromPortablePath(e))}async symlinkPromise(e,t,n){const r=n||(e.endsWith("/")?"dir":"file");return await new Promise((n,A)=>{this.realFs.symlink(o.npath.fromPortablePath(e.replace(/\/+$/,"")),o.npath.fromPortablePath(t),r,this.makeCallback(n,A))})}symlinkSync(e,t,n){const r=n||(e.endsWith("/")?"dir":"file");return this.realFs.symlinkSync(o.npath.fromPortablePath(e.replace(/\/+$/,"")),o.npath.fromPortablePath(t),r)}async readFilePromise(e,t){return await new Promise((n,r)=>{const A="string"==typeof e?o.npath.fromPortablePath(e):e;this.realFs.readFile(A,t,this.makeCallback(n,r))})}readFileSync(e,t){const n="string"==typeof e?o.npath.fromPortablePath(e):e;return this.realFs.readFileSync(n,t)}async readdirPromise(e,{withFileTypes:t}={}){return await new Promise((n,r)=>{t?this.realFs.readdir(o.npath.fromPortablePath(e),{withFileTypes:!0},this.makeCallback(n,r)):this.realFs.readdir(o.npath.fromPortablePath(e),this.makeCallback(e=>n(e),r))})}readdirSync(e,{withFileTypes:t}={}){return t?this.realFs.readdirSync(o.npath.fromPortablePath(e),{withFileTypes:!0}):this.realFs.readdirSync(o.npath.fromPortablePath(e))}async readlinkPromise(e){return await new Promise((t,n)=>{this.realFs.readlink(o.npath.fromPortablePath(e),this.makeCallback(t,n))}).then(e=>o.npath.toPortablePath(e))}readlinkSync(e){return o.npath.toPortablePath(this.realFs.readlinkSync(o.npath.fromPortablePath(e)))}watch(e,t,n){return this.realFs.watch(o.npath.fromPortablePath(e),t,n)}makeCallback(e,t){return(n,r)=>{n?t(n):e(r)}}}t.NodeFS=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(32),A=n(455),i=n(18),o=n(18);class s{constructor(e){this.pathUtils=e}async removePromise(e){let t;try{t=await this.lstatPromise(e)}catch(e){if("ENOENT"===e.code)return;throw e}if(t.isDirectory()){for(const t of await this.readdirPromise(e))await this.removePromise(this.pathUtils.resolve(e,t));for(let t=0;t<5;++t)try{await this.rmdirPromise(e);break}catch(e){if("EBUSY"===e.code||"ENOTEMPTY"===e.code){await new Promise(e=>setTimeout(e,100*t));continue}throw e}}else await this.unlinkPromise(e)}removeSync(e){let t;try{t=this.lstatSync(e)}catch(e){if("ENOENT"===e.code)return;throw e}if(t.isDirectory()){for(const t of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,t));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:t,utimes:n}={}){if((e=this.resolve(e))===this.pathUtils.dirname(e))return;const r=e.split(this.pathUtils.sep);for(let e=2;e<=r.length;++e){const A=r.slice(0,e).join(this.pathUtils.sep);if(!this.existsSync(A)){try{await this.mkdirPromise(A)}catch(e){if("EEXIST"===e.code)continue;throw e}if(null!=t&&await this.chmodPromise(A,t),null!=n)await this.utimesPromise(A,n[0],n[1]);else{const e=await this.statPromise(this.pathUtils.dirname(A));await this.utimesPromise(A,e.atime,e.mtime)}}}}mkdirpSync(e,{chmod:t,utimes:n}={}){if((e=this.resolve(e))===this.pathUtils.dirname(e))return;const r=e.split(this.pathUtils.sep);for(let e=2;e<=r.length;++e){const A=r.slice(0,e).join(this.pathUtils.sep);if(!this.existsSync(A)){try{this.mkdirSync(A)}catch(e){if("EEXIST"===e.code)continue;throw e}if(null!=t&&this.chmodSync(A,t),null!=n)this.utimesSync(A,n[0],n[1]);else{const e=this.statSync(this.pathUtils.dirname(A));this.utimesSync(A,e.atime,e.mtime)}}}}async copyPromise(e,t,{baseFs:n=this,overwrite:r=!0}={}){return await A.copyPromise(this,e,n,t,{overwrite:r})}copySync(e,t,{baseFs:n=this,overwrite:r=!0}={}){const A=n.lstatSync(t),i=this.existsSync(e);if(A.isDirectory()){this.mkdirpSync(e);const A=n.readdirSync(t);for(const i of A)this.copySync(this.pathUtils.join(e,i),n.pathUtils.join(t,i),{baseFs:n,overwrite:r})}else if(A.isFile()){if(!i||r){i&&this.removeSync(e);const r=n.readFileSync(t);this.writeFileSync(e,r)}}else{if(!A.isSymbolicLink())throw new Error(`Unsupported file type (file: ${t}, mode: 0o${A.mode.toString(8).padStart(6,"0")})`);if(!i||r){i&&this.removeSync(e);const r=n.readlinkSync(t);this.symlinkSync(o.convertPath(this.pathUtils,r),e)}}const s=511&A.mode;this.chmodSync(e,s)}async changeFilePromise(e,t,{automaticNewlines:n}={}){let r="";try{r=await this.readFilePromise(e,"utf8")}catch(e){}const A=n?a(r,t):t;r!==A&&await this.writeFilePromise(e,A)}changeFileSync(e,t,{automaticNewlines:n=!1}={}){let r="";try{r=this.readFileSync(e,"utf8")}catch(e){}const A=n?a(r,t):t;r!==A&&this.writeFileSync(e,A)}async movePromise(e,t){try{await this.renamePromise(e,t)}catch(n){if("EXDEV"!==n.code)throw n;await this.copyPromise(t,e),await this.removePromise(e)}}moveSync(e,t){try{this.renameSync(e,t)}catch(n){if("EXDEV"!==n.code)throw n;this.copySync(t,e),this.removeSync(e)}}async lockPromise(e,t){const n=`${e}.flock`,r=Date.now();let A=null;const i=async()=>{let e;try{[e]=await this.readJsonPromise(n)}catch(e){return Date.now()-r<500}try{return process.kill(e,0),!0}catch(e){return!1}};for(;null===A;)try{A=await this.openPromise(n,"wx")}catch(e){if("EEXIST"!==e.code)throw e;if(!await i())try{await this.unlinkPromise(n);continue}catch(e){}if(!(Date.now()-r<6e4))throw new Error(`Couldn't acquire a lock in a reasonable time (via ${n})`);await new Promise(e=>setTimeout(e,1e3/60))}await this.writePromise(A,JSON.stringify([process.pid]));try{return await t()}finally{try{await this.unlinkPromise(n),await this.closePromise(A)}catch(e){}}}async readJsonPromise(e){const t=await this.readFilePromise(e,"utf8");try{return JSON.parse(t)}catch(t){throw t.message+=` (in ${e})`,t}}async readJsonSync(e){const t=this.readFileSync(e,"utf8");try{return JSON.parse(t)}catch(t){throw t.message+=` (in ${e})`,t}}async writeJsonPromise(e,t){return await this.writeFilePromise(e,`${JSON.stringify(t,null,2)}\n`)}writeJsonSync(e,t){return this.writeFileSync(e,`${JSON.stringify(t,null,2)}\n`)}async preserveTimePromise(e,t){const n=await this.lstatPromise(e),r=await t();void 0!==r&&(e=r),this.lutimesPromise?await this.lutimesPromise(e,n.atime,n.mtime):n.isSymbolicLink()||await this.utimesPromise(e,n.atime,n.mtime)}async preserveTimeSync(e,t){const n=this.lstatSync(e),r=t();void 0!==r&&(e=r),this.lutimesSync?this.lutimesSync(e,n.atime,n.mtime):n.isSymbolicLink()||this.utimesSync(e,n.atime,n.mtime)}}t.FakeFS=s,s.DEFAULT_TIME=315532800;function a(e,t){return t.replace(/\r?\n/g,function(e){const t=e.match(/\r?\n/g);if(null===t)return r.EOL;const n=t.filter(e=>"\r\n"===e).length;return n>t.length-n?"\r\n":"\n"}(e))}t.BasePortableFakeFS=class extends s{constructor(){super(o.ppath)}resolve(e){return this.pathUtils.resolve(i.PortablePath.root,e)}},t.normalizeLineEndings=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(52);class A extends r.FakeFS{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}openPromise(e,t,n){return this.baseFs.openPromise(this.mapToBase(e),t,n)}openSync(e,t,n){return this.baseFs.openSync(this.mapToBase(e),t,n)}async readPromise(e,t,n,r,A){return await this.baseFs.readPromise(e,t,n,r,A)}readSync(e,t,n,r,A){return this.baseFs.readSync(e,t,n,r,A)}async writePromise(e,t,n,r,A){return"string"==typeof t?await this.baseFs.writePromise(e,t,n):await this.baseFs.writePromise(e,t,n,r,A)}writeSync(e,t,n,r,A){return"string"==typeof t?this.baseFs.writeSync(e,t,n):this.baseFs.writeSync(e,t,n,r,A)}closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,t){return this.baseFs.createReadStream(null!==e?this.mapToBase(e):e,t)}createWriteStream(e,t){return this.baseFs.createWriteStream(null!==e?this.mapToBase(e):e,t)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,t){return this.baseFs.accessSync(this.mapToBase(e),t)}accessPromise(e,t){return this.baseFs.accessPromise(this.mapToBase(e),t)}statPromise(e){return this.baseFs.statPromise(this.mapToBase(e))}statSync(e){return this.baseFs.statSync(this.mapToBase(e))}lstatPromise(e){return this.baseFs.lstatPromise(this.mapToBase(e))}lstatSync(e){return this.baseFs.lstatSync(this.mapToBase(e))}chmodPromise(e,t){return this.baseFs.chmodPromise(this.mapToBase(e),t)}chmodSync(e,t){return this.baseFs.chmodSync(this.mapToBase(e),t)}renamePromise(e,t){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(t))}renameSync(e,t){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(t))}copyFilePromise(e,t,n=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(t),n)}copyFileSync(e,t,n=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(t),n)}appendFilePromise(e,t,n){return this.baseFs.appendFilePromise(this.fsMapToBase(e),t,n)}appendFileSync(e,t,n){return this.baseFs.appendFileSync(this.fsMapToBase(e),t,n)}writeFilePromise(e,t,n){return this.baseFs.writeFilePromise(this.fsMapToBase(e),t,n)}writeFileSync(e,t,n){return this.baseFs.writeFileSync(this.fsMapToBase(e),t,n)}unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}utimesPromise(e,t,n){return this.baseFs.utimesPromise(this.mapToBase(e),t,n)}utimesSync(e,t,n){return this.baseFs.utimesSync(this.mapToBase(e),t,n)}mkdirPromise(e,t){return this.baseFs.mkdirPromise(this.mapToBase(e),t)}mkdirSync(e,t){return this.baseFs.mkdirSync(this.mapToBase(e),t)}rmdirPromise(e){return this.baseFs.rmdirPromise(this.mapToBase(e))}rmdirSync(e){return this.baseFs.rmdirSync(this.mapToBase(e))}symlinkPromise(e,t,n){return this.baseFs.symlinkPromise(this.mapToBase(e),this.mapToBase(t),n)}symlinkSync(e,t,n){return this.baseFs.symlinkSync(this.mapToBase(e),this.mapToBase(t),n)}readFilePromise(e,t){return this.baseFs.readFilePromise(this.fsMapToBase(e),t)}readFileSync(e,t){return this.baseFs.readFileSync(this.fsMapToBase(e),t)}async readdirPromise(e,{withFileTypes:t}={}){return this.baseFs.readdirPromise(this.mapToBase(e),{withFileTypes:t})}readdirSync(e,{withFileTypes:t}={}){return this.baseFs.readdirSync(this.mapToBase(e),{withFileTypes:t})}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}watch(e,t,n){return this.baseFs.watch(this.mapToBase(e),t,n)}fsMapToBase(e){return"number"==typeof e?e:this.mapToBase(e)}}t.ProxiedFS=A},function(e,t){e.exports=require("crypto")},function(e,t){e.exports=require("url")},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const{toString:r}=Object.prototype,A=e=>t=>typeof t===e,i=e=>{const t=r.call(e).slice(8,-1);if(t)return t},o=e=>t=>i(t)===e;function s(e){switch(e){case null:return"null";case!0:case!1:return"boolean"}switch(typeof e){case"undefined":return"undefined";case"string":return"string";case"number":return"number";case"bigint":return"bigint";case"symbol":return"symbol"}if(s.function_(e))return"Function";if(s.observable(e))return"Observable";if(s.array(e))return"Array";if(s.buffer(e))return"Buffer";const t=i(e);if(t)return t;if(e instanceof String||e instanceof Boolean||e instanceof Number)throw new TypeError("Please don't use object wrappers for primitive types");return"Object"}s.undefined=A("undefined"),s.string=A("string");const a=A("number");s.number=e=>a(e)&&!s.nan(e),s.bigint=A("bigint"),s.function_=A("function"),s.null_=e=>null===e,s.class_=e=>s.function_(e)&&e.toString().startsWith("class "),s.boolean=e=>!0===e||!1===e,s.symbol=A("symbol"),s.numericString=e=>s.string(e)&&e.length>0&&!Number.isNaN(Number(e)),s.array=Array.isArray,s.buffer=e=>!s.nullOrUndefined(e)&&!s.nullOrUndefined(e.constructor)&&s.function_(e.constructor.isBuffer)&&e.constructor.isBuffer(e),s.nullOrUndefined=e=>s.null_(e)||s.undefined(e),s.object=e=>!s.null_(e)&&("object"==typeof e||s.function_(e)),s.iterable=e=>!s.nullOrUndefined(e)&&s.function_(e[Symbol.iterator]),s.asyncIterable=e=>!s.nullOrUndefined(e)&&s.function_(e[Symbol.asyncIterator]),s.generator=e=>s.iterable(e)&&s.function_(e.next)&&s.function_(e.throw),s.asyncGenerator=e=>s.asyncIterable(e)&&s.function_(e.next)&&s.function_(e.throw),s.nativePromise=e=>o("Promise")(e);s.promise=e=>s.nativePromise(e)||(e=>s.object(e)&&s.function_(e.then)&&s.function_(e.catch))(e),s.generatorFunction=o("GeneratorFunction"),s.asyncGeneratorFunction=e=>"AsyncGeneratorFunction"===i(e),s.asyncFunction=e=>"AsyncFunction"===i(e),s.boundFunction=e=>s.function_(e)&&!e.hasOwnProperty("prototype"),s.regExp=o("RegExp"),s.date=o("Date"),s.error=o("Error"),s.map=e=>o("Map")(e),s.set=e=>o("Set")(e),s.weakMap=e=>o("WeakMap")(e),s.weakSet=e=>o("WeakSet")(e),s.int8Array=o("Int8Array"),s.uint8Array=o("Uint8Array"),s.uint8ClampedArray=o("Uint8ClampedArray"),s.int16Array=o("Int16Array"),s.uint16Array=o("Uint16Array"),s.int32Array=o("Int32Array"),s.uint32Array=o("Uint32Array"),s.float32Array=o("Float32Array"),s.float64Array=o("Float64Array"),s.bigInt64Array=o("BigInt64Array"),s.bigUint64Array=o("BigUint64Array"),s.arrayBuffer=o("ArrayBuffer"),s.sharedArrayBuffer=o("SharedArrayBuffer"),s.dataView=o("DataView"),s.directInstanceOf=(e,t)=>Object.getPrototypeOf(e)===t.prototype,s.urlInstance=e=>o("URL")(e),s.urlString=e=>{if(!s.string(e))return!1;try{return new URL(e),!0}catch(e){return!1}},s.truthy=e=>Boolean(e),s.falsy=e=>!e,s.nan=e=>Number.isNaN(e);const c=new Set(["undefined","string","number","bigint","boolean","symbol"]);s.primitive=e=>s.null_(e)||c.has(typeof e),s.integer=e=>Number.isInteger(e),s.safeInteger=e=>Number.isSafeInteger(e),s.plainObject=e=>{if("Object"!==i(e))return!1;const t=Object.getPrototypeOf(e);return null===t||t===Object.getPrototypeOf({})};const u=new Set(["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"]);s.typedArray=e=>{const t=i(e);return void 0!==t&&u.has(t)};s.arrayLike=e=>!s.nullOrUndefined(e)&&!s.function_(e)&&(e=>s.safeInteger(e)&&e>=0)(e.length),s.inRange=(e,t)=>{if(s.number(t))return e>=Math.min(0,t)&&e<=Math.max(t,0);if(s.array(t)&&2===t.length)return e>=Math.min(...t)&&e<=Math.max(...t);throw new TypeError(`Invalid range: ${JSON.stringify(t)}`)};const g=["innerHTML","ownerDocument","style","attributes","nodeValue"];s.domElement=e=>s.object(e)&&1===e.nodeType&&s.string(e.nodeName)&&!s.plainObject(e)&&g.every(t=>t in e),s.observable=e=>!!e&&(!(!e[Symbol.observable]||e!==e[Symbol.observable]())||!(!e["@@observable"]||e!==e["@@observable"]())),s.nodeStream=e=>s.object(e)&&s.function_(e.pipe)&&!s.observable(e),s.infinite=e=>e===1/0||e===-1/0;const l=e=>t=>s.integer(t)&&Math.abs(t%2)===e;s.evenInteger=l(0),s.oddInteger=l(1),s.emptyArray=e=>s.array(e)&&0===e.length,s.nonEmptyArray=e=>s.array(e)&&e.length>0,s.emptyString=e=>s.string(e)&&0===e.length,s.nonEmptyString=e=>s.string(e)&&e.length>0;s.emptyStringOrWhitespace=e=>s.emptyString(e)||(e=>s.string(e)&&!1===/\S/.test(e))(e),s.emptyObject=e=>s.object(e)&&!s.map(e)&&!s.set(e)&&0===Object.keys(e).length,s.nonEmptyObject=e=>s.object(e)&&!s.map(e)&&!s.set(e)&&Object.keys(e).length>0,s.emptySet=e=>s.set(e)&&0===e.size,s.nonEmptySet=e=>s.set(e)&&e.size>0,s.emptyMap=e=>s.map(e)&&0===e.size,s.nonEmptyMap=e=>s.map(e)&&e.size>0;const h=(e,t,n)=>{if(!1===s.function_(t))throw new TypeError(`Invalid predicate: ${JSON.stringify(t)}`);if(0===n.length)throw new TypeError("Invalid number of values");return e.call(n,t)};s.any=(e,...t)=>{return(s.array(e)?e:[e]).some(e=>h(Array.prototype.some,e,t))},s.all=(e,...t)=>h(Array.prototype.every,e,t);const p=(e,t,n)=>{if(!e)throw new TypeError(`Expected value which is \`${t}\`, received value of type \`${s(n)}\`.`)};t.assert={undefined:e=>p(s.undefined(e),"undefined",e),string:e=>p(s.string(e),"string",e),number:e=>p(s.number(e),"number",e),bigint:e=>p(s.bigint(e),"bigint",e),function_:e=>p(s.function_(e),"Function",e),null_:e=>p(s.null_(e),"null",e),class_:e=>p(s.class_(e),"Class",e),boolean:e=>p(s.boolean(e),"boolean",e),symbol:e=>p(s.symbol(e),"symbol",e),numericString:e=>p(s.numericString(e),"string with a number",e),array:e=>p(s.array(e),"Array",e),buffer:e=>p(s.buffer(e),"Buffer",e),nullOrUndefined:e=>p(s.nullOrUndefined(e),"null or undefined",e),object:e=>p(s.object(e),"Object",e),iterable:e=>p(s.iterable(e),"Iterable",e),asyncIterable:e=>p(s.asyncIterable(e),"AsyncIterable",e),generator:e=>p(s.generator(e),"Generator",e),asyncGenerator:e=>p(s.asyncGenerator(e),"AsyncGenerator",e),nativePromise:e=>p(s.nativePromise(e),"native Promise",e),promise:e=>p(s.promise(e),"Promise",e),generatorFunction:e=>p(s.generatorFunction(e),"GeneratorFunction",e),asyncGeneratorFunction:e=>p(s.asyncGeneratorFunction(e),"AsyncGeneratorFunction",e),asyncFunction:e=>p(s.asyncFunction(e),"AsyncFunction",e),boundFunction:e=>p(s.boundFunction(e),"Function",e),regExp:e=>p(s.regExp(e),"RegExp",e),date:e=>p(s.date(e),"Date",e),error:e=>p(s.error(e),"Error",e),map:e=>p(s.map(e),"Map",e),set:e=>p(s.set(e),"Set",e),weakMap:e=>p(s.weakMap(e),"WeakMap",e),weakSet:e=>p(s.weakSet(e),"WeakSet",e),int8Array:e=>p(s.int8Array(e),"Int8Array",e),uint8Array:e=>p(s.uint8Array(e),"Uint8Array",e),uint8ClampedArray:e=>p(s.uint8ClampedArray(e),"Uint8ClampedArray",e),int16Array:e=>p(s.int16Array(e),"Int16Array",e),uint16Array:e=>p(s.uint16Array(e),"Uint16Array",e),int32Array:e=>p(s.int32Array(e),"Int32Array",e),uint32Array:e=>p(s.uint32Array(e),"Uint32Array",e),float32Array:e=>p(s.float32Array(e),"Float32Array",e),float64Array:e=>p(s.float64Array(e),"Float64Array",e),bigInt64Array:e=>p(s.bigInt64Array(e),"BigInt64Array",e),bigUint64Array:e=>p(s.bigUint64Array(e),"BigUint64Array",e),arrayBuffer:e=>p(s.arrayBuffer(e),"ArrayBuffer",e),sharedArrayBuffer:e=>p(s.sharedArrayBuffer(e),"SharedArrayBuffer",e),dataView:e=>p(s.dataView(e),"DataView",e),urlInstance:e=>p(s.urlInstance(e),"URL",e),urlString:e=>p(s.urlString(e),"string with a URL",e),truthy:e=>p(s.truthy(e),"truthy",e),falsy:e=>p(s.falsy(e),"falsy",e),nan:e=>p(s.nan(e),"NaN",e),primitive:e=>p(s.primitive(e),"primitive",e),integer:e=>p(s.integer(e),"integer",e),safeInteger:e=>p(s.safeInteger(e),"integer",e),plainObject:e=>p(s.plainObject(e),"plain object",e),typedArray:e=>p(s.typedArray(e),"TypedArray",e),arrayLike:e=>p(s.arrayLike(e),"array-like",e),domElement:e=>p(s.domElement(e),"Element",e),observable:e=>p(s.observable(e),"Observable",e),nodeStream:e=>p(s.nodeStream(e),"Node.js Stream",e),infinite:e=>p(s.infinite(e),"infinite number",e),emptyArray:e=>p(s.emptyArray(e),"empty array",e),nonEmptyArray:e=>p(s.nonEmptyArray(e),"non-empty array",e),emptyString:e=>p(s.emptyString(e),"empty string",e),nonEmptyString:e=>p(s.nonEmptyString(e),"non-empty string",e),emptyStringOrWhitespace:e=>p(s.emptyStringOrWhitespace(e),"empty string or whitespace",e),emptyObject:e=>p(s.emptyObject(e),"empty object",e),nonEmptyObject:e=>p(s.nonEmptyObject(e),"non-empty object",e),emptySet:e=>p(s.emptySet(e),"empty set",e),nonEmptySet:e=>p(s.nonEmptySet(e),"non-empty set",e),emptyMap:e=>p(s.emptyMap(e),"empty map",e),nonEmptyMap:e=>p(s.nonEmptyMap(e),"non-empty map",e),evenInteger:e=>p(s.evenInteger(e),"even integer",e),oddInteger:e=>p(s.oddInteger(e),"odd integer",e),directInstanceOf:(e,t)=>p(s.directInstanceOf(e,t),"T",e),inRange:(e,t)=>p(s.inRange(e,t),"in range",e),any:(e,...t)=>p(s.any(e,...t),"predicate returns truthy for any value",t),all:(e,...t)=>p(s.all(e,...t),"predicate returns truthy for all values",t)},Object.defineProperties(s,{class:{value:s.class_},function:{value:s.function_},null:{value:s.null_}}),Object.defineProperties(t.assert,{class:{value:t.assert.class_},function:{value:t.assert.function_},null:{value:t.assert.null_}}),t.default=s,e.exports=s,e.exports.default=s,e.exports.assert=t.assert},function(e,t){e.exports=require("assert")},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});const r=n(1),A=n(8);function i(e,t){const n=[];for(const r of e){const e=t(r);e!==o&&n.push(e)}return n}t.escapeRegExp=function(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")},t.assertNever=function(e){throw new Error(`Assertion failed: Unexpected object '${e}'`)},t.mapAndFilter=i;const o=Symbol();i.skip=o,t.getFactoryWithDefault=function(e,t,n){let r=e.get(t);return void 0===r&&e.set(t,r=n()),r},t.getArrayWithDefault=function(e,t){let n=e.get(t);return void 0===n&&e.set(t,n=[]),n},t.getSetWithDefault=function(e,t){let n=e.get(t);return void 0===n&&e.set(t,n=new Set),n},t.getMapWithDefault=function(e,t){let n=e.get(t);return void 0===n&&e.set(t,n=new Map),n},t.releaseAfterUseAsync=async function(e,t){if(null==t)return await e();try{return await e()}finally{await t()}},t.prettifyAsyncErrors=async function(e,t){try{return await e()}catch(e){throw e.message=t(e.message),e}},t.prettifySyncErrors=function(e,t){try{return e()}catch(e){throw e.message=t(e.message),e}},t.bufferStream=async function(e){return await new Promise((t,n)=>{const r=[];e.on("error",e=>{n(e)}),e.on("data",e=>{r.push(e)}),e.on("end",()=>{t(Buffer.concat(r))})})};class s extends A.Transform{constructor(){super(...arguments),this.chunks=[]}_transform(e,t,n){if("buffer"!==t||!Buffer.isBuffer(e))throw new Error("Assertion failed: BufferStream only accept buffers");this.chunks.push(e),n(null,null)}_flush(e){e(null,Buffer.concat(this.chunks))}}t.BufferStream=s;class a extends A.Transform{constructor(e=Buffer.alloc(0)){super(),this.active=!0,this.ifEmpty=e}_transform(e,t,n){if("buffer"!==t||!Buffer.isBuffer(e))throw new Error("Assertion failed: DefaultStream only accept buffers");this.active=!1,n(null,e)}_flush(e){this.active&&this.ifEmpty.length>0&&e(null,this.ifEmpty)}}function c(e){return"undefined"!=typeof require?require(e):n(275)(e)}t.DefaultStream=a,t.dynamicRequire=c,t.dynamicRequireNoCache=function(t){const A=r.npath.fromPortablePath(t),i=n.c[A];let o;delete n.c[A];try{o=c(A);const t=n.c[A],r=e.children.indexOf(t);-1!==r&&e.children.splice(r,1)}finally{n.c[A]=i}return o},t.sortMap=function(e,t){const n=Array.from(e);Array.isArray(t)||(t=[t]);const r=[];for(const e of t)r.push(n.map(t=>e(t)));const A=n.map((e,t)=>t);return A.sort((e,t)=>{for(const n of r){const r=n[e]n[t]?1:0;if(0!==r)return r}return 0}),A.map(e=>n[e])}}).call(this,n(29)(e))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(528);let A=null;function i(){return null===A&&(A=r.makeInterface(n(529))),A}t.getLibzipSync=i,t.getLibzipPromise=async function(){return i()}},function(e,t,n){"use strict";let r=Buffer;r.alloc||(r=n(200).Buffer),e.exports=r},function(e,t,n){try{var r=n(6);if("function"!=typeof r.inherits)throw"";e.exports=r.inherits}catch(t){e.exports=n(692)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(696);t.array=r;const A=n(697);t.errno=A;const i=n(698);t.fs=i;const o=n(699);t.path=o;const s=n(700);t.pattern=s;const a=n(701);t.stream=a},function(e,t,n){"use strict";var r=n(12);t.__esModule=!0,t.default=I;var A=r(n(72)),i=r(n(73)),o=r(n(759)),s=r(n(798)),a=n(65),c=r(n(805)),u=r(n(224)),g=r(n(806)),l=r(n(66)),h=r(n(807)),p=r(n(144)),f=r(n(100)),C=n(362),d=function(){function e(){this.list=new Set,this.refs=new Map}var t=e.prototype;return t.toArray=function(){return(0,s.default)(this.list).concat((0,s.default)(this.refs.values()))},t.add=function(e){f.default.isRef(e)?this.refs.set(e.key,e):this.list.add(e)},t.delete=function(e){f.default.isRef(e)?this.refs.delete(e.key,e):this.list.delete(e)},t.has=function(e,t){if(this.list.has(e))return!0;for(var n,r=this.refs.values();!(n=r.next()).done;)if(t(n.value)===e)return!0;return!1},e}();function I(e){var t=this;if(void 0===e&&(e={}),!(this instanceof I))return new I;this._deps=[],this._conditions=[],this._options={abortEarly:!0,recursive:!0},this._exclusive=Object.create(null),this._whitelist=new d,this._blacklist=new d,this.tests=[],this.transforms=[],this.withMutation((function(){t.typeError(a.mixed.notType)})),(0,i.default)(e,"default")&&(this._defaultDefault=e.default),this._type=e.type||"mixed"}for(var E=I.prototype={__isYupSchema__:!0,constructor:I,clone:function(){var e=this;return this._mutate?this:(0,o.default)(this,(function(t){if((0,l.default)(t)&&t!==e)return t}))},label:function(e){var t=this.clone();return t._label=e,t},meta:function(e){if(0===arguments.length)return this._meta;var t=this.clone();return t._meta=(0,A.default)(t._meta||{},e),t},withMutation:function(e){var t=this._mutate;this._mutate=!0;var n=e(this);return this._mutate=t,n},concat:function(e){if(!e||e===this)return this;if(e._type!==this._type&&"mixed"!==this._type)throw new TypeError("You cannot `concat()` schema's of different types: "+this._type+" and "+e._type);var t=(0,g.default)(e.clone(),this);return(0,i.default)(e,"_default")&&(t._default=e._default),t.tests=this.tests,t._exclusive=this._exclusive,t.withMutation((function(t){e.tests.forEach((function(e){t.test(e.OPTIONS)}))})),t},isType:function(e){return!(!this._nullable||null!==e)||(!this._typeCheck||this._typeCheck(e))},resolve:function(e){var t=this;if(t._conditions.length){var n=t._conditions;(t=t.clone())._conditions=[],t=(t=n.reduce((function(t,n){return n.resolve(t,e)}),t)).resolve(e)}return t},cast:function(e,t){void 0===t&&(t={});var n=this.resolve((0,A.default)({},t,{value:e})),r=n._cast(e,t);if(void 0!==e&&!1!==t.assert&&!0!==n.isType(r)){var i=(0,p.default)(e),o=(0,p.default)(r);throw new TypeError("The value of "+(t.path||"field")+' could not be cast to a value that satisfies the schema type: "'+n._type+'". \n\nattempted value: '+i+" \n"+(o!==i?"result of cast: "+o:""))}return r},_cast:function(e){var t=this,n=void 0===e?e:this.transforms.reduce((function(n,r){return r.call(t,n,e)}),e);return void 0===n&&(0,i.default)(this,"_default")&&(n=this.default()),n},_validate:function(e,t){var n=this;void 0===t&&(t={});var r=e,i=null!=t.originalValue?t.originalValue:e,o=this._option("strict",t),s=this._option("abortEarly",t),a=t.sync,c=t.path,g=this._label;o||(r=this._cast(r,(0,A.default)({assert:!1},t)));var l={value:r,path:c,schema:this,options:t,label:g,originalValue:i,sync:a},h=[];return this._typeError&&h.push(this._typeError(l)),this._whitelistError&&h.push(this._whitelistError(l)),this._blacklistError&&h.push(this._blacklistError(l)),(0,u.default)({validations:h,endEarly:s,value:r,path:c,sync:a}).then((function(e){return(0,u.default)({path:c,sync:a,value:e,endEarly:s,validations:n.tests.map((function(e){return e(l)}))})}))},validate:function(e,t){return void 0===t&&(t={}),this.resolve((0,A.default)({},t,{value:e}))._validate(e,t)},validateSync:function(e,t){var n,r;if(void 0===t&&(t={}),this.resolve((0,A.default)({},t,{value:e}))._validate(e,(0,A.default)({},t,{sync:!0})).then((function(e){return n=e})).catch((function(e){return r=e})),r)throw r;return n},isValid:function(e,t){return this.validate(e,t).then((function(){return!0})).catch((function(e){if("ValidationError"===e.name)return!1;throw e}))},isValidSync:function(e,t){try{return this.validateSync(e,t),!0}catch(e){if("ValidationError"===e.name)return!1;throw e}},getDefault:function(e){return void 0===e&&(e={}),this.resolve(e).default()},default:function(e){if(0===arguments.length){var t=(0,i.default)(this,"_default")?this._default:this._defaultDefault;return"function"==typeof t?t.call(this):(0,o.default)(t)}var n=this.clone();return n._default=e,n},strict:function(e){void 0===e&&(e=!0);var t=this.clone();return t._options.strict=e,t},_isPresent:function(e){return null!=e},required:function(e){return void 0===e&&(e=a.mixed.required),this.test({message:e,name:"required",exclusive:!0,test:function(e){return this.schema._isPresent(e)}})},notRequired:function(){var e=this.clone();return e.tests=e.tests.filter((function(e){return"required"!==e.OPTIONS.name})),e},nullable:function(e){void 0===e&&(e=!0);var t=this.clone();return t._nullable=e,t},transform:function(e){var t=this.clone();return t.transforms.push(e),t},test:function(){var e;if(void 0===(e=1===arguments.length?"function"==typeof(arguments.length<=0?void 0:arguments[0])?{test:arguments.length<=0?void 0:arguments[0]}:arguments.length<=0?void 0:arguments[0]:2===arguments.length?{name:arguments.length<=0?void 0:arguments[0],test:arguments.length<=1?void 0:arguments[1]}:{name:arguments.length<=0?void 0:arguments[0],message:arguments.length<=1?void 0:arguments[1],test:arguments.length<=2?void 0:arguments[2]}).message&&(e.message=a.mixed.default),"function"!=typeof e.test)throw new TypeError("`test` is a required parameters");var t=this.clone(),n=(0,h.default)(e),r=e.exclusive||e.name&&!0===t._exclusive[e.name];if(e.exclusive&&!e.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return t._exclusive[e.name]=!!e.exclusive,t.tests=t.tests.filter((function(t){if(t.OPTIONS.name===e.name){if(r)return!1;if(t.OPTIONS.test===n.OPTIONS.test)return!1}return!0})),t.tests.push(n),t},when:function(e,t){1===arguments.length&&(t=e,e=".");var n=this.clone(),r=[].concat(e).map((function(e){return new f.default(e)}));return r.forEach((function(e){e.isSibling&&n._deps.push(e.key)})),n._conditions.push(new c.default(r,t)),n},typeError:function(e){var t=this.clone();return t._typeError=(0,h.default)({message:e,name:"typeError",test:function(e){return!(void 0!==e&&!this.schema.isType(e))||this.createError({params:{type:this.schema._type}})}}),t},oneOf:function(e,t){void 0===t&&(t=a.mixed.oneOf);var n=this.clone();return e.forEach((function(e){n._whitelist.add(e),n._blacklist.delete(e)})),n._whitelistError=(0,h.default)({message:t,name:"oneOf",test:function(e){if(void 0===e)return!0;var t=this.schema._whitelist;return!!t.has(e,this.resolve)||this.createError({params:{values:t.toArray().join(", ")}})}}),n},notOneOf:function(e,t){void 0===t&&(t=a.mixed.notOneOf);var n=this.clone();return e.forEach((function(e){n._blacklist.add(e),n._whitelist.delete(e)})),n._blacklistError=(0,h.default)({message:t,name:"notOneOf",test:function(e){var t=this.schema._blacklist;return!t.has(e,this.resolve)||this.createError({params:{values:t.toArray().join(", ")}})}}),n},strip:function(e){void 0===e&&(e=!0);var t=this.clone();return t._strip=e,t},_option:function(e,t){return(0,i.default)(t,e)?t[e]:this._options[e]},describe:function(){var e=this.clone();return{type:e._type,meta:e._meta,label:e._label,tests:e.tests.map((function(e){return{name:e.OPTIONS.name,params:e.OPTIONS.params}})).filter((function(e,t,n){return n.findIndex((function(t){return t.name===e.name}))===t}))}}},B=["validate","validateSync"],y=function(){var e=B[m];E[e+"At"]=function(t,n,r){void 0===r&&(r={});var i=(0,C.getIn)(this,t,n,r.context),o=i.parent,s=i.parentPath;return i.schema[e](o&&o[s],(0,A.default)({},r,{parent:o,path:t}))}},m=0;m{const r=a++;A(r,t),s[e]=r,o[r]=t,i[r]=new RegExp(t,n?"g":void 0)};c("NUMERICIDENTIFIER","0|[1-9]\\d*"),c("NUMERICIDENTIFIERLOOSE","[0-9]+"),c("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),c("MAINVERSION",`(${o[s.NUMERICIDENTIFIER]})\\.`+`(${o[s.NUMERICIDENTIFIER]})\\.`+`(${o[s.NUMERICIDENTIFIER]})`),c("MAINVERSIONLOOSE",`(${o[s.NUMERICIDENTIFIERLOOSE]})\\.`+`(${o[s.NUMERICIDENTIFIERLOOSE]})\\.`+`(${o[s.NUMERICIDENTIFIERLOOSE]})`),c("PRERELEASEIDENTIFIER",`(?:${o[s.NUMERICIDENTIFIER]}|${o[s.NONNUMERICIDENTIFIER]})`),c("PRERELEASEIDENTIFIERLOOSE",`(?:${o[s.NUMERICIDENTIFIERLOOSE]}|${o[s.NONNUMERICIDENTIFIER]})`),c("PRERELEASE",`(?:-(${o[s.PRERELEASEIDENTIFIER]}(?:\\.${o[s.PRERELEASEIDENTIFIER]})*))`),c("PRERELEASELOOSE",`(?:-?(${o[s.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${o[s.PRERELEASEIDENTIFIERLOOSE]})*))`),c("BUILDIDENTIFIER","[0-9A-Za-z-]+"),c("BUILD",`(?:\\+(${o[s.BUILDIDENTIFIER]}(?:\\.${o[s.BUILDIDENTIFIER]})*))`),c("FULLPLAIN",`v?${o[s.MAINVERSION]}${o[s.PRERELEASE]}?${o[s.BUILD]}?`),c("FULL",`^${o[s.FULLPLAIN]}$`),c("LOOSEPLAIN",`[v=\\s]*${o[s.MAINVERSIONLOOSE]}${o[s.PRERELEASELOOSE]}?${o[s.BUILD]}?`),c("LOOSE",`^${o[s.LOOSEPLAIN]}$`),c("GTLT","((?:<|>)?=?)"),c("XRANGEIDENTIFIERLOOSE",`${o[s.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),c("XRANGEIDENTIFIER",`${o[s.NUMERICIDENTIFIER]}|x|X|\\*`),c("XRANGEPLAIN",`[v=\\s]*(${o[s.XRANGEIDENTIFIER]})`+`(?:\\.(${o[s.XRANGEIDENTIFIER]})`+`(?:\\.(${o[s.XRANGEIDENTIFIER]})`+`(?:${o[s.PRERELEASE]})?${o[s.BUILD]}?`+")?)?"),c("XRANGEPLAINLOOSE",`[v=\\s]*(${o[s.XRANGEIDENTIFIERLOOSE]})`+`(?:\\.(${o[s.XRANGEIDENTIFIERLOOSE]})`+`(?:\\.(${o[s.XRANGEIDENTIFIERLOOSE]})`+`(?:${o[s.PRERELEASELOOSE]})?${o[s.BUILD]}?`+")?)?"),c("XRANGE",`^${o[s.GTLT]}\\s*${o[s.XRANGEPLAIN]}$`),c("XRANGELOOSE",`^${o[s.GTLT]}\\s*${o[s.XRANGEPLAINLOOSE]}$`),c("COERCE",`(^|[^\\d])(\\d{1,${r}})`+`(?:\\.(\\d{1,${r}}))?`+`(?:\\.(\\d{1,${r}}))?`+"(?:$|[^\\d])"),c("COERCERTL",o[s.COERCE],!0),c("LONETILDE","(?:~>?)"),c("TILDETRIM",`(\\s*)${o[s.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",c("TILDE",`^${o[s.LONETILDE]}${o[s.XRANGEPLAIN]}$`),c("TILDELOOSE",`^${o[s.LONETILDE]}${o[s.XRANGEPLAINLOOSE]}$`),c("LONECARET","(?:\\^)"),c("CARETTRIM",`(\\s*)${o[s.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",c("CARET",`^${o[s.LONECARET]}${o[s.XRANGEPLAIN]}$`),c("CARETLOOSE",`^${o[s.LONECARET]}${o[s.XRANGEPLAINLOOSE]}$`),c("COMPARATORLOOSE",`^${o[s.GTLT]}\\s*(${o[s.LOOSEPLAIN]})$|^$`),c("COMPARATOR",`^${o[s.GTLT]}\\s*(${o[s.FULLPLAIN]})$|^$`),c("COMPARATORTRIM",`(\\s*)${o[s.GTLT]}\\s*(${o[s.LOOSEPLAIN]}|${o[s.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",c("HYPHENRANGE",`^\\s*(${o[s.XRANGEPLAIN]})`+"\\s+-\\s+"+`(${o[s.XRANGEPLAIN]})`+"\\s*$"),c("HYPHENRANGELOOSE",`^\\s*(${o[s.XRANGEPLAINLOOSE]})`+"\\s+-\\s+"+`(${o[s.XRANGEPLAINLOOSE]})`+"\\s*$"),c("STAR","(<|>)?=?\\s*\\*")},function(e,t,n){const{MAX_LENGTH:r}=n(128),{re:A,t:i}=n(70),o=n(16);e.exports=(e,t)=>{if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof o)return e;if("string"!=typeof e)return null;if(e.length>r)return null;if(!(t.loose?A[i.LOOSE]:A[i.FULL]).test(e))return null;try{return new o(e,t)}catch(e){return null}}},function(e,t){function n(){return e.exports=n=Object.assign||function(e){for(var t=1;t=2*(1<<30))throw new RangeError('The value "'+e+'" is invalid for option "size"');var r=i(e);return t&&0!==t.length?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r}),!o.kStringMaxLength)try{o.kStringMaxLength=process.binding("buffer").kStringMaxLength}catch(e){}o.constants||(o.constants={MAX_LENGTH:o.kMaxLength},o.kStringMaxLength&&(o.constants.MAX_STRING_LENGTH=o.kStringMaxLength)),e.exports=o},function(e,t){var n=Array.isArray;e.exports=n},function(e,t){e.exports=function(e){return null!=e&&"object"==typeof e}},function(e,t){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},function(e,t,n){"use strict";const r={};function A(e,t,n){n||(n=Error);class A extends n{constructor(e,n,r){super(function(e,n,r){return"string"==typeof t?t:t(e,n,r)}(e,n,r))}}A.prototype.name=n.name,A.prototype.code=e,r[e]=A}function i(e,t){if(Array.isArray(e)){const n=e.length;return e=e.map(e=>String(e)),n>2?`one of ${t} ${e.slice(0,n-1).join(", ")}, or `+e[n-1]:2===n?`one of ${t} ${e[0]} or ${e[1]}`:`of ${t} ${e[0]}`}return`of ${t} ${String(e)}`}A("ERR_INVALID_OPT_VALUE",(function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'}),TypeError),A("ERR_INVALID_ARG_TYPE",(function(e,t,n){let r;var A,o;let s;if("string"==typeof t&&(A="not ",t.substr(!o||o<0?0:+o,A.length)===A)?(r="must not be",t=t.replace(/^not /,"")):r="must be",function(e,t,n){return(void 0===n||n>e.length)&&(n=e.length),e.substring(n-t.length,n)===t}(e," argument"))s=`The ${e} ${r} ${i(t,"type")}`;else{s=`The "${e}" ${function(e,t,n){return"number"!=typeof n&&(n=0),!(n+t.length>e.length)&&-1!==e.indexOf(t,n)}(e,".")?"property":"argument"} ${r} ${i(t,"type")}`}return s+=`. Received type ${typeof n}`}),TypeError),A("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),A("ERR_METHOD_NOT_IMPLEMENTED",(function(e){return"The "+e+" method is not implemented"})),A("ERR_STREAM_PREMATURE_CLOSE","Premature close"),A("ERR_STREAM_DESTROYED",(function(e){return"Cannot call "+e+" after a stream was destroyed"})),A("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),A("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),A("ERR_STREAM_WRITE_AFTER_END","write after end"),A("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),A("ERR_UNKNOWN_ENCODING",(function(e){return"Unknown encoding: "+e}),TypeError),A("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.codes=r},function(e,t,n){"use strict";var r=Object.keys||function(e){var t=[];for(var n in e)t.push(n);return t};e.exports=c;var A=n(439),i=n(443);n(61)(c,A);for(var o=r(i.prototype),s=0;s{const i=new r.NodeFS,o=A.createHash("sha512"),s=i.createReadStream(e,{});s.on("data",e=>{o.update(e)}),s.on("error",e=>{n(e)}),s.on("end",()=>{t(o.digest("hex"))})})}},function(e,t){e.exports=require("http")},function(e,t,n){"use strict";const r=n(6),A=n(514),i=n(521),o=n(182),s=e=>"string"==typeof e&&(""===e||"./"===e),a=(e,t,n)=>{t=[].concat(t),e=[].concat(e);let r=new Set,A=new Set,o=new Set,s=0,a=e=>{o.add(e.output),n&&n.onResult&&n.onResult(e)};for(let o=0;o!r.has(e));if(n&&0===c.length){if(!0===n.failglob)throw new Error(`No matches found for "${t.join(", ")}"`);if(!0===n.nonull||!0===n.nullglob)return n.unescape?t.map(e=>e.replace(/\\/g,"")):t}return c};a.match=a,a.matcher=(e,t)=>i(e,t),a.any=a.isMatch=(e,t,n)=>i(t,n)(e),a.not=(e,t,n={})=>{t=[].concat(t).map(String);let r=new Set,A=[],i=a(e,t,{...n,onResult:e=>{n.onResult&&n.onResult(e),A.push(e.output)}});for(let e of A)i.includes(e)||r.add(e);return[...r]},a.contains=(e,t,n)=>{if("string"!=typeof e)throw new TypeError(`Expected a string: "${r.inspect(e)}"`);if(Array.isArray(t))return t.some(t=>a.contains(e,t,n));if("string"==typeof t){if(s(e)||s(t))return!1;if(e.includes(t)||e.startsWith("./")&&e.slice(2).includes(t))return!0}return a.isMatch(e,t,{...n,contains:!0})},a.matchKeys=(e,t,n)=>{if(!o.isObject(e))throw new TypeError("Expected the first argument to be an object");let r=a(Object.keys(e),t,n),A={};for(let t of r)A[t]=e[t];return A},a.some=(e,t,n)=>{let r=[].concat(e);for(let e of[].concat(t)){let t=i(String(e),n);if(r.some(e=>t(e)))return!0}return!1},a.every=(e,t,n)=>{let r=[].concat(e);for(let e of[].concat(t)){let t=i(String(e),n);if(!r.every(e=>t(e)))return!1}return!0},a.all=(e,t,n)=>{if("string"!=typeof e)throw new TypeError(`Expected a string: "${r.inspect(e)}"`);return[].concat(t).every(t=>i(t,n)(e))},a.capture=(e,t,n)=>{let r=o.isWindows(n),A=i.makeRe(String(e),{...n,capture:!0}).exec(r?o.toPosixSlashes(t):t);if(A)return A.slice(1).map(e=>void 0===e?"":e)},a.makeRe=(...e)=>i.makeRe(...e),a.scan=(...e)=>i.scan(...e),a.parse=(e,t)=>{let n=[];for(let r of[].concat(e||[]))for(let e of A(String(r),t))n.push(i.parse(e,t));return n},a.braces=(e,t)=>{if("string"!=typeof e)throw new TypeError("Expected a string");return t&&!0===t.nobrace||!/\{.*\}/.test(e)?[e]:A(e,t)},a.braceExpand=(e,t)=>{if("string"!=typeof e)throw new TypeError("Expected a string");return a.braces(e,{...t,expand:!0})},e.exports=a},function(e,t,n){"use strict";function r(e,t){Error.call(this),this.name="YAMLException",this.reason=e,this.mark=t,this.message=(this.reason||"(unknown reason)")+(this.mark?" "+this.mark.toString():""),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||""}r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r.prototype.toString=function(e){var t=this.name+": ";return t+=this.reason||"(unknown reason)",!e&&this.mark&&(t+=" "+this.mark.toString()),t},e.exports=r},function(e,t,n){"use strict";var r=n(69);e.exports=new r({include:[n(278)],implicit:[n(546),n(547)],explicit:[n(548),n(549),n(550),n(551)]})},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},A=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const i=n(1),o=n(33),s=r(n(15)),a=A(n(58)),c=A(n(20));class u{constructor(){this.indent=" ",this.name=null,this.version=null,this.type=null,this.private=!1,this.license=null,this.main=null,this.module=null,this.languageName=null,this.bin=new Map,this.scripts=new Map,this.dependencies=new Map,this.devDependencies=new Map,this.peerDependencies=new Map,this.workspaceDefinitions=[],this.dependenciesMeta=new Map,this.peerDependenciesMeta=new Map,this.resolutions=[],this.files=null,this.publishConfig=null,this.preferUnplugged=null,this.raw={},this.errors=[]}static async tryFind(e,{baseFs:t=new i.NodeFS}={}){const n=i.ppath.join(e,i.toFilename("package.json"));return await t.existsPromise(n)?await u.fromFile(n,{baseFs:t}):null}static async find(e,{baseFs:t}={}){const n=await u.tryFind(e,{baseFs:t});if(null===n)throw new Error("Manifest not found");return n}static async fromFile(e,{baseFs:t=new i.NodeFS}={}){const n=new u;return await n.loadFile(e,{baseFs:t}),n}static fromText(e){const t=new u;return t.loadFromText(e),t}loadFromText(e){let t;try{t=JSON.parse(l(e)||"{}")}catch(t){throw t.message+=` (when parsing ${e})`,t}this.load(t),this.indent=g(e)}async loadFile(e,{baseFs:t=new i.NodeFS}){const n=await t.readFilePromise(e,"utf8");let r;try{r=JSON.parse(l(n)||"{}")}catch(t){throw t.message+=` (when parsing ${e})`,t}this.load(r),this.indent=g(n)}load(e){if("object"!=typeof e||null===e)throw new Error(`Utterly invalid manifest data (${e})`);this.raw=e;const t=[];if("string"==typeof e.name)try{this.name=c.parseIdent(e.name)}catch(e){t.push(new Error("Parsing failed for the 'name' field"))}if("string"==typeof e.version&&(this.version=e.version),"string"==typeof e.type&&(this.type=e.type),"boolean"==typeof e.private&&(this.private=e.private),"string"==typeof e.license&&(this.license=e.license),"string"==typeof e.languageName&&(this.languageName=e.languageName),"string"==typeof e.bin)null!==this.name?this.bin=new Map([[this.name.name,e.bin]]):t.push(new Error("String bin field, but no attached package name"));else if("object"==typeof e.bin&&null!==e.bin)for(const[n,r]of Object.entries(e.bin))"string"==typeof r?this.bin.set(n,r):t.push(new Error(`Invalid bin definition for '${n}'`));if("object"==typeof e.scripts&&null!==e.scripts)for(const[n,r]of Object.entries(e.scripts))"string"==typeof r?this.scripts.set(n,r):t.push(new Error(`Invalid script definition for '${n}'`));if("object"==typeof e.dependencies&&null!==e.dependencies)for(const[n,r]of Object.entries(e.dependencies)){if("string"!=typeof r){t.push(new Error(`Invalid dependency range for '${n}'`));continue}let e;try{e=c.parseIdent(n)}catch(e){t.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}const A=c.makeDescriptor(e,r);this.dependencies.set(A.identHash,A)}if("object"==typeof e.devDependencies&&null!==e.devDependencies)for(const[n,r]of Object.entries(e.devDependencies)){if("string"!=typeof r){t.push(new Error(`Invalid dependency range for '${n}'`));continue}let e;try{e=c.parseIdent(n)}catch(e){t.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}const A=c.makeDescriptor(e,r);this.devDependencies.set(A.identHash,A)}if("object"==typeof e.peerDependencies&&null!==e.peerDependencies)for(let[n,r]of Object.entries(e.peerDependencies)){let e;try{e=c.parseIdent(n)}catch(e){t.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}"string"==typeof r&&s.default.validRange(r)||(t.push(new Error(`Invalid dependency range for '${n}'`)),r="*");const A=c.makeDescriptor(e,r);this.peerDependencies.set(A.identHash,A)}const n=Array.isArray(e.workspaces)?e.workspaces:"object"==typeof e.workspaces&&null!==e.workspaces&&Array.isArray(e.workspaces.packages)?e.workspaces.packages:[];for(const e of n)"string"==typeof e?this.workspaceDefinitions.push({pattern:e}):t.push(new Error(`Invalid workspace definition for '${e}'`));if("object"==typeof e.dependenciesMeta&&null!==e.dependenciesMeta)for(const[n,r]of Object.entries(e.dependenciesMeta)){if("object"!=typeof r||null===r){t.push(new Error(`Invalid meta field for '${n}`));continue}const e=c.parseDescriptor(n),A=this.ensureDependencyMeta(e);Object.assign(A,r)}if("object"==typeof e.peerDependenciesMeta&&null!==e.peerDependenciesMeta)for(const[n,r]of Object.entries(e.peerDependenciesMeta)){if("object"!=typeof r||null===r){t.push(new Error(`Invalid meta field for '${n}`));continue}const e=c.parseDescriptor(n),A=this.ensurePeerDependencyMeta(e);Object.assign(A,r)}if("object"==typeof e.resolutions&&null!==e.resolutions)for(const[n,r]of Object.entries(e.resolutions))if("string"==typeof r)try{this.resolutions.push({pattern:o.parseResolution(n),reference:r})}catch(e){t.push(e);continue}else t.push(new Error(`Invalid resolution entry for '${n}'`));if(Array.isArray(e.files)&&0!==e.files.length){this.files=new Set;for(const n of e.files)"string"==typeof n?this.files.add(n):t.push(new Error(`Invalid files entry for '${n}'`))}if("object"==typeof e.publishConfig&&null!==e.publishConfig)if(this.publishConfig={},"string"==typeof e.publishConfig.access&&(this.publishConfig.access=e.publishConfig.access),"string"==typeof e.publishConfig.main&&(this.publishConfig.main=e.publishConfig.main),"string"==typeof e.publishConfig.registry&&(this.publishConfig.registry=e.publishConfig.registry),"string"==typeof e.publishConfig.module&&(this.publishConfig.module=e.publishConfig.module),"string"==typeof e.publishConfig.bin)null!==this.name?this.publishConfig.bin=new Map([[this.name.name,e.publishConfig.bin]]):t.push(new Error("String bin field, but no attached package name"));else if("object"==typeof e.publishConfig.bin&&null!==e.publishConfig.bin){this.publishConfig.bin=new Map;for(const[n,r]of Object.entries(e.publishConfig.bin))"string"==typeof r?this.publishConfig.bin.set(n,r):t.push(new Error(`Invalid bin definition for '${n}'`))}if("object"==typeof e.optionalDependencies&&null!==e.optionalDependencies)for(const[n,r]of Object.entries(e.optionalDependencies)){if("string"!=typeof r){t.push(new Error(`Invalid dependency range for '${n}'`));continue}let e;try{e=c.parseIdent(n)}catch(e){t.push(new Error(`Parsing failed for the dependency name '${n}'`));continue}const A=c.makeDescriptor(e,r);this.dependencies.set(A.identHash,A);const i=c.makeDescriptor(e,"unknown"),o=this.ensureDependencyMeta(i);Object.assign(o,{optional:!0})}"boolean"==typeof e.preferUnplugged&&(this.preferUnplugged=e.preferUnplugged),this.errors=t}getForScope(e){switch(e){case"dependencies":return this.dependencies;case"devDependencies":return this.devDependencies;case"peerDependencies":return this.peerDependencies;default:throw new Error(`Unsupported value ("${e}")`)}}hasConsumerDependency(e){return!!this.dependencies.has(e.identHash)||!!this.peerDependencies.has(e.identHash)}hasHardDependency(e){return!!this.dependencies.has(e.identHash)||!!this.devDependencies.has(e.identHash)}hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}hasDependency(e){return!!this.hasHardDependency(e)||!!this.hasSoftDependency(e)}ensureDependencyMeta(e){if("unknown"!==e.range&&!s.default.valid(e.range))throw new Error(`Invalid meta field range for '${c.stringifyDescriptor(e)}'`);const t=c.stringifyIdent(e),n="unknown"!==e.range?e.range:null;let r=this.dependenciesMeta.get(t);r||this.dependenciesMeta.set(t,r=new Map);let A=r.get(n);return A||r.set(n,A={}),A}ensurePeerDependencyMeta(e){if("unknown"!==e.range)throw new Error(`Invalid meta field range for '${c.stringifyDescriptor(e)}'`);const t=c.stringifyIdent(e);let n=this.peerDependenciesMeta.get(t);return n||this.peerDependenciesMeta.set(t,n={}),this.peerDependencies.has(e.identHash)||this.peerDependencies.set(e.identHash,c.makeDescriptor(e,"*")),n}setRawField(e,t,{after:n=[]}={}){const r=new Set(n.filter(e=>Object.prototype.hasOwnProperty.call(this.raw,e)));if(0===r.size||Object.prototype.hasOwnProperty.call(this.raw,e))this.raw[e]=t;else{const n=this.raw,A=this.raw={};let i=!1;for(const o of Object.keys(n))A[o]=n[o],i||(r.delete(o),0===r.size&&(A[e]=t,i=!0))}}exportTo(e,{compatibilityMode:t=!0}={}){Object.assign(e,this.raw),null!==this.name?e.name=c.stringifyIdent(this.name):delete e.name,null!==this.version?e.version=this.version:delete e.version,null!==this.type?e.type=this.type:delete e.type,this.private?e.private=!0:delete e.private,null!==this.license?e.license=this.license:delete e.license,null!==this.languageName?e.languageName=this.languageName:delete e.languageName,1===this.bin.size&&null!==this.name&&this.bin.has(this.name.name)?e.bin=this.bin.get(this.name.name):this.bin.size>0?e.bin=Object.assign({},...Array.from(this.bin.keys()).sort().map(e=>({[e]:this.bin.get(e)}))):delete e.bin;const n=[],r=[];for(const e of this.dependencies.values()){const A=this.dependenciesMeta.get(c.stringifyIdent(e));let i=!1;if(t&&A){const e=A.get(null);e&&e.optional&&(i=!0)}i?r.push(e):n.push(e)}n.length>0?e.dependencies=Object.assign({},...c.sortDescriptors(n).map(e=>({[c.stringifyIdent(e)]:e.range}))):delete e.dependencies,r.length>0?e.optionalDependencies=Object.assign({},...c.sortDescriptors(r).map(e=>({[c.stringifyIdent(e)]:e.range}))):delete e.optionalDependencies,this.devDependencies.size>0?e.devDependencies=Object.assign({},...c.sortDescriptors(this.devDependencies.values()).map(e=>({[c.stringifyIdent(e)]:e.range}))):delete e.devDependencies,this.peerDependencies.size>0?e.peerDependencies=Object.assign({},...c.sortDescriptors(this.peerDependencies.values()).map(e=>({[c.stringifyIdent(e)]:e.range}))):delete e.peerDependencies,e.dependenciesMeta={};for(const[n,r]of a.sortMap(this.dependenciesMeta.entries(),([e,t])=>e))for(const[A,i]of a.sortMap(r.entries(),([e,t])=>null!==e?`0${e}`:"1")){const r=null!==A?c.stringifyDescriptor(c.makeDescriptor(c.parseIdent(n),A)):n,o=Object.assign({},i);t&&null===A&&delete o.optional,0!==Object.keys(o).length&&(e.dependenciesMeta[r]=o)}return 0===Object.keys(e.dependenciesMeta).length&&delete e.dependenciesMeta,this.peerDependenciesMeta.size>0?e.peerDependenciesMeta=Object.assign({},...a.sortMap(this.peerDependenciesMeta.entries(),([e,t])=>e).map(([e,t])=>({[e]:t}))):delete e.peerDependenciesMeta,this.resolutions.length>0?e.resolutions=Object.assign({},...this.resolutions.map(({pattern:e,reference:t})=>({[o.stringifyResolution(e)]:t}))):delete e.resolutions,null!==this.files?e.files=Array.from(this.files):delete e.files,null!==this.preferUnplugged?e.preferUnplugged=this.preferUnplugged:delete e.preferUnplugged,e}}function g(e){const t=e.match(/^[ \t]+/m);return t?t[0]:" "}function l(e){return 65279===e.charCodeAt(0)?e.slice(1):e}t.Manifest=u,u.fileName="package.json",u.allDependencies=["dependencies","devDependencies","peerDependencies"],u.hardDependencies=["dependencies","devDependencies"]},function(e,t,n){"use strict";const r=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"]]);e.exports=e=>e?Object.keys(e).map(t=>[r.has(t)?r.get(t):t,e[t]]).reduce((e,t)=>(e[t[0]]=t[1],e),Object.create(null)):{}},function(e,t,n){"use strict";const r=n(19),A=n(201),i=Symbol("EOF"),o=Symbol("maybeEmitEnd"),s=Symbol("emittedEnd"),a=Symbol("closed"),c=Symbol("read"),u=Symbol("flush"),g="1"!==process.env._MP_NO_ITERATOR_SYMBOLS_,l=g&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),h=g&&Symbol.iterator||Symbol("iterator not implemented"),p=Symbol("flushChunk"),f=n(132).StringDecoder,C=Symbol("encoding"),d=Symbol("decoder"),I=Symbol("flowing"),E=Symbol("resume"),B=Symbol("bufferLength"),y=Symbol("bufferPush"),m=Symbol("bufferShift"),Q=Symbol("objectMode");let w=Buffer;w.alloc||(w=n(200).Buffer),e.exports=class extends r{constructor(e){super(),this[I]=!1,this.pipes=new A,this.buffer=new A,this[Q]=e&&e.objectMode||!1,this[Q]?this[C]=null:this[C]=e&&e.encoding||null,"buffer"===this[C]&&(this[C]=null),this[d]=this[C]?new f(this[C]):null,this[i]=!1,this[s]=!1,this[a]=!1,this.writable=!0,this.readable=!0,this[B]=0}get bufferLength(){return this[B]}get encoding(){return this[C]}set encoding(e){if(this[Q])throw new Error("cannot set encoding in objectMode");if(this[C]&&e!==this[C]&&(this[d]&&this[d].lastNeed||this[B]))throw new Error("cannot change encoding");this[C]!==e&&(this[d]=e?new f(e):null,this.buffer.length&&(this.buffer=this.buffer.map(e=>this[d].write(e)))),this[C]=e}setEncoding(e){this.encoding=e}write(e,t,n){if(this[i])throw new Error("write after end");"function"==typeof t&&(n=t,t="utf8"),t||(t="utf8"),"string"!=typeof e||this[Q]||t===this[C]&&!this[d].lastNeed||(e=w.from(e,t)),w.isBuffer(e)&&this[C]&&(e=this[d].write(e));try{return this.flowing?(this.emit("data",e),this.flowing):(this[y](e),!1)}finally{this.emit("readable"),n&&n()}}read(e){try{return 0===this[B]||0===e||e>this[B]?null:(this[Q]&&(e=null),this.buffer.length>1&&!this[Q]&&(this.encoding?this.buffer=new A([Array.from(this.buffer).join("")]):this.buffer=new A([w.concat(Array.from(this.buffer),this[B])])),this[c](e||null,this.buffer.head.value))}finally{this[o]()}}[c](e,t){return e===t.length||null===e?this[m]():(this.buffer.head.value=t.slice(e),t=t.slice(0,e),this[B]-=e),this.emit("data",t),this.buffer.length||this[i]||this.emit("drain"),t}end(e,t,n){"function"==typeof e&&(n=e,e=null),"function"==typeof t&&(n=t,t="utf8"),e&&this.write(e,t),n&&this.once("end",n),this[i]=!0,this.writable=!1,this.flowing&&this[o]()}[E](){this[I]=!0,this.emit("resume"),this.buffer.length?this[u]():this[i]?this[o]():this.emit("drain")}resume(){return this[E]()}pause(){this[I]=!1}get flowing(){return this[I]}[y](e){return this[Q]?this[B]+=1:this[B]+=e.length,this.buffer.push(e)}[m](){return this.buffer.length&&(this[Q]?this[B]-=1:this[B]-=this.buffer.head.value.length),this.buffer.shift()}[u](){do{}while(this[p](this[m]()));this.buffer.length||this[i]||this.emit("drain")}[p](e){return!!e&&(this.emit("data",e),this.flowing)}pipe(e,t){e!==process.stdout&&e!==process.stderr||((t=t||{}).end=!1);const n={dest:e,opts:t,ondrain:e=>this[E]()};return this.pipes.push(n),e.on("drain",n.ondrain),this[E](),e}addListener(e,t){return this.on(e,t)}on(e,t){try{return super.on(e,t)}finally{"data"!==e||this.pipes.length||this.flowing?"end"===e&&this[s]&&(super.emit("end"),this.removeAllListeners("end")):this[E]()}}get emittedEnd(){return this[s]}[o](){!this[s]&&0===this.buffer.length&&this[i]&&(this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[a]&&this.emit("close"))}emit(e,t){if("data"===e){if(!t)return;this.pipes.length&&this.pipes.forEach(e=>e.dest.write(t)||this.pause())}else if("end"===e){if(!0===this[s])return;this[s]=!0,this.readable=!1,this[d]&&(t=this[d].end())&&(this.pipes.forEach(e=>e.dest.write(t)),super.emit("data",t)),this.pipes.forEach(e=>{e.dest.removeListener("drain",e.ondrain),e.opts&&!1===e.opts.end||e.dest.end()})}else if("close"===e&&(this[a]=!0,!this[s]))return;const n=new Array(arguments.length);if(n[0]=e,n[1]=t,arguments.length>2)for(let e=2;e{const n=[];this.on("data",e=>n.push(e)),this.on("end",()=>e(n)),this.on("error",t)})}[l](){return{next:()=>{const e=this.read();if(null!==e)return Promise.resolve({done:!1,value:e});if(this[i])return Promise.resolve({done:!0});let t=null,n=null;const r=e=>{this.removeListener("data",A),this.removeListener("end",o),n(e)},A=e=>{this.removeListener("error",r),this.removeListener("end",o),this.pause(),t({value:e,done:!!this[i]})},o=()=>{this.removeListener("error",r),this.removeListener("data",A),t({done:!0})};return new Promise((e,i)=>{n=i,t=e,this.once("error",r),this.once("end",o),this.once("data",A)})}}}[h](){return{next:()=>{const e=this.read();return{value:e,done:null===e}}}}}},function(e,t,n){"use strict";const r=n(60),A=n(135),i=n(4).posix,o=n(655),s=Symbol("slurp"),a=Symbol("type");const c=(e,t)=>{let n,A=e,o="";const s=i.parse(e).root||".";if(r.byteLength(A)<100)n=[A,o,!1];else{o=i.dirname(A),A=i.basename(A);do{r.byteLength(A)<=100&&r.byteLength(o)<=t?n=[A,o,!1]:r.byteLength(A)>100&&r.byteLength(o)<=t?n=[A.substr(0,99),o,!0]:(A=i.join(i.basename(o),A),o=i.dirname(o))}while(o!==s&&!n);n||(n=[e.substr(0,99),"",!0])}return n},u=(e,t,n)=>e.slice(t,t+n).toString("utf8").replace(/\0.*/,""),g=(e,t,n)=>l(h(e,t,n)),l=e=>null===e?null:new Date(1e3*e),h=(e,t,n)=>128&e[t]?o.parse(e.slice(t,t+n)):p(e,t,n),p=(e,t,n)=>(e=>isNaN(e)?null:e)(parseInt(e.slice(t,t+n).toString("utf8").replace(/\0.*$/,"").trim(),8)),f={12:8589934591,8:2097151},C=(e,t,n,r)=>null!==r&&(r>f[n]||r<0?(o.encode(r,e.slice(t,t+n)),!0):(d(e,t,n,r),!1)),d=(e,t,n,r)=>e.write(I(r,n),t,n,"ascii"),I=(e,t)=>E(Math.floor(e).toString(8),t),E=(e,t)=>(e.length===t-1?e:new Array(t-e.length-1).join("0")+e+" ")+"\0",B=(e,t,n,r)=>null!==r&&C(e,t,n,r.getTime()/1e3),y=new Array(156).join("\0"),m=(e,t,n,A)=>null!==A&&(e.write(A+y,t,n,"utf8"),A.length!==r.byteLength(A)||A.length>n);e.exports=class{constructor(e,t,n,A){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[a]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,r.isBuffer(e)?this.decode(e,t||0,n,A):e&&this.set(e)}decode(e,t,n,r){if(t||(t=0),!(e&&e.length>=t+512))throw new Error("need 512 bytes for header");if(this.path=u(e,t,100),this.mode=h(e,t+100,8),this.uid=h(e,t+108,8),this.gid=h(e,t+116,8),this.size=h(e,t+124,12),this.mtime=g(e,t+136,12),this.cksum=h(e,t+148,12),this[s](n),this[s](r,!0),this[a]=u(e,t+156,1),""===this[a]&&(this[a]="0"),"0"===this[a]&&"/"===this.path.substr(-1)&&(this[a]="5"),"5"===this[a]&&(this.size=0),this.linkpath=u(e,t+157,100),"ustar\x0000"===e.slice(t+257,t+265).toString())if(this.uname=u(e,t+265,32),this.gname=u(e,t+297,32),this.devmaj=h(e,t+329,8),this.devmin=h(e,t+337,8),0!==e[t+475]){const n=u(e,t+345,155);this.path=n+"/"+this.path}else{const n=u(e,t+345,130);n&&(this.path=n+"/"+this.path),this.atime=g(e,t+476,12),this.ctime=g(e,t+488,12)}let A=256;for(let n=t;n=t+512))throw new Error("need 512 bytes for header");const n=this.ctime||this.atime?130:155,A=c(this.path||"",n),i=A[0],o=A[1];this.needPax=A[2],this.needPax=m(e,t,100,i)||this.needPax,this.needPax=C(e,t+100,8,this.mode)||this.needPax,this.needPax=C(e,t+108,8,this.uid)||this.needPax,this.needPax=C(e,t+116,8,this.gid)||this.needPax,this.needPax=C(e,t+124,12,this.size)||this.needPax,this.needPax=B(e,t+136,12,this.mtime)||this.needPax,e[t+156]=this[a].charCodeAt(0),this.needPax=m(e,t+157,100,this.linkpath)||this.needPax,e.write("ustar\x0000",t+257,8),this.needPax=m(e,t+265,32,this.uname)||this.needPax,this.needPax=m(e,t+297,32,this.gname)||this.needPax,this.needPax=C(e,t+329,8,this.devmaj)||this.needPax,this.needPax=C(e,t+337,8,this.devmin)||this.needPax,this.needPax=m(e,t+345,n,o)||this.needPax,0!==e[t+475]?this.needPax=m(e,t+345,155,o)||this.needPax:(this.needPax=m(e,t+345,130,o)||this.needPax,this.needPax=B(e,t+476,12,this.atime)||this.needPax,this.needPax=B(e,t+488,12,this.ctime)||this.needPax);let s=256;for(let n=t;nthis[B](e,t))}[B](e,t){e?this[E](e):(this[g]=t,this.emit("open",t),this[D]())}[C](){return Buffer.allocUnsafe(Math.min(this[S],this[_]))}[D](){if(!this[k]){this[k]=!0;const e=this[C]();if(0===e.length)return process.nextTick(()=>this[y](null,0,e));i.read(this[g],e,0,e.length,null,(e,t,n)=>this[y](e,t,n))}}[y](e,t,n){this[k]=!1,e?this[E](e):this[f](t,n)&&this[D]()}[c](){this[a]&&"number"==typeof this[g]&&(i.close(this[g],e=>this.emit("close")),this[g]=null)}[E](e){this[k]=!0,this[c](),this.emit("error",e)}[f](e,t){let n=!1;return this[_]-=e,e>0&&(n=super.write(ethis[B](e,t))}[B](e,t){this[R]&&"r+"===this[h]&&e&&"ENOENT"===e.code?(this[h]="w",this[Q]()):e?this[E](e):(this[g]=t,this.emit("open",t),this[p]())}end(e,t){e&&this.write(e,t),this[u]=!0,this[N]||this[b].length||"number"!=typeof this[g]||this[m](null,0)}write(e,t){return"string"==typeof e&&(e=new Buffer(e,t)),this[u]?(this.emit("error",new Error("write() after end()")),!1):null===this[g]||this[N]||this[b].length?(this[b].push(e),this[I]=!0,!1):(this[N]=!0,this[M](e),!0)}[M](e){i.write(this[g],e,0,e.length,this[v],(e,t)=>this[m](e,t))}[m](e,t){e?this[E](e):(null!==this[v]&&(this[v]+=t),this[b].length?this[p]():(this[N]=!1,this[u]&&!this[l]?(this[l]=!0,this[c](),this.emit("finish")):this[I]&&(this[I]=!1,this.emit("drain"))))}[p](){if(0===this[b].length)this[u]&&this[m](null,0);else if(1===this[b].length)this[M](this[b].pop());else{const e=this[b];this[b]=[],P(this[g],e,this[v],(e,t)=>this[m](e,t))}}[c](){this[a]&&"number"==typeof this[g]&&(i.close(this[g],e=>this.emit("close")),this[g]=null)}}const P=(e,t,n,r)=>{const A=new s;A.oncomplete=(e,n)=>r(e,n,t),o.writeBuffers(e,t,n,A)};t.ReadStream=K,t.ReadStreamSync=class extends K{[Q](){let e=!0;try{this[B](null,i.openSync(this[w],"r")),e=!1}finally{e&&this[c]()}}[D](){let e=!0;try{if(!this[k]){for(this[k]=!0;;){const e=this[C](),t=0===e.length?0:i.readSync(this[g],e,0,e.length,null);if(!this[f](t,e))break}this[k]=!1}e=!1}finally{e&&this[c]()}}[c](){if(this[a]&&"number"==typeof this[g]){try{i.closeSync(this[g])}catch(e){}this[g]=null,this.emit("close")}}},t.WriteStream=x,t.WriteStreamSync=class extends x{[Q](){let e;try{e=i.openSync(this[w],this[h],this[d])}catch(e){if(this[R]&&"r+"===this[h]&&e&&"ENOENT"===e.code)return this[h]="w",this[Q]();throw e}this[B](null,e)}[c](){if(this[a]&&"number"==typeof this[g]){try{i.closeSync(this[g])}catch(e){}this[g]=null,this.emit("close")}}[M](e){try{this[m](null,i.writeSync(this[g],e,0,e.length,this[v]))}catch(e){this[m](e,0)}}}},function(e,t,n){var r=n(757);e.exports=function(e){return null==e?"":r(e)}},function(e,t,n){var r=n(782),A=n(214),i=n(783),o=n(784),s=n(785),a=n(74),c=n(331),u=c(r),g=c(A),l=c(i),h=c(o),p=c(s),f=a;(r&&"[object DataView]"!=f(new r(new ArrayBuffer(1)))||A&&"[object Map]"!=f(new A)||i&&"[object Promise]"!=f(i.resolve())||o&&"[object Set]"!=f(new o)||s&&"[object WeakMap]"!=f(new s))&&(f=function(e){var t=a(e),n="[object Object]"==t?e.constructor:void 0,r=n?c(n):"";if(r)switch(r){case u:return"[object DataView]";case g:return"[object Map]";case l:return"[object Promise]";case h:return"[object Set]";case p:return"[object WeakMap]"}return t}),e.exports=f},function(e,t,n){"use strict";var r=n(12);t.__esModule=!0,t.default=void 0;var A=r(n(72)),i=n(145),o={context:"$",value:"."},s=function(){function e(e,t){if(void 0===t&&(t={}),"string"!=typeof e)throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),""===e)throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===o.context,this.isValue=this.key[0]===o.value,this.isSibling=!this.isContext&&!this.isValue;var n=this.isContext?o.context:this.isValue?o.value:"";this.path=this.key.slice(n.length),this.getter=this.path&&(0,i.getter)(this.path,!0),this.map=t.map}var t=e.prototype;return t.getValue=function(e){var t=this.isContext?e.context:this.isValue?e.value:e.parent;return this.getter&&(t=this.getter(t||{})),this.map&&(t=this.map(t)),t},t.cast=function(e,t){return this.getValue((0,A.default)({},t,{value:e}))},t.resolve=function(){return this},t.describe=function(){return{type:"ref",key:this.key}},t.toString=function(){return"Ref("+this.key+")"},e.isRef=function(e){return e&&e.__isYupRef},e}();t.default=s,s.prototype.__isYupRef=!0,e.exports=t.default},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isFunction=function(e){return"function"==typeof e}},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r.pending=!1,r}return A(t,e),t.prototype.schedule=function(e,t){if(void 0===t&&(t=0),this.closed)return this;this.state=e;var n=this.id,r=this.scheduler;return null!=n&&(this.id=this.recycleAsyncId(r,n,t)),this.pending=!0,this.delay=t,this.id=this.id||this.requestAsyncId(r,this.id,t),this},t.prototype.requestAsyncId=function(e,t,n){return void 0===n&&(n=0),setInterval(e.flush.bind(e,this),n)},t.prototype.recycleAsyncId=function(e,t,n){if(void 0===n&&(n=0),null!==n&&this.delay===n&&!1===this.pending)return t;clearInterval(t)},t.prototype.execute=function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(e,t){var n=!1,r=void 0;try{this.work(e)}catch(e){n=!0,r=!!e&&e||new Error(e)}if(n)return this.unsubscribe(),r},t.prototype._unsubscribe=function(){var e=this.id,t=this.scheduler,n=t.actions,r=n.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&n.splice(r,1),null!=e&&(this.id=this.recycleAsyncId(t,e,null)),this.delay=null},t}(n(868).Action);t.AsyncAction=i},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(377),o=function(e){function t(n,r){void 0===r&&(r=i.Scheduler.now);var A=e.call(this,n,(function(){return t.delegate&&t.delegate!==A?t.delegate.now():r()}))||this;return A.actions=[],A.active=!1,A.scheduled=void 0,A}return A(t,e),t.prototype.schedule=function(n,r,A){return void 0===r&&(r=0),t.delegate&&t.delegate!==this?t.delegate.schedule(n,r,A):e.prototype.schedule.call(this,n,r,A)},t.prototype.flush=function(e){var t=this.actions;if(this.active)t.push(e);else{var n;this.active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this.active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}},t}(i.Scheduler);t.AsyncScheduler=o},function(e,t,n){"use strict";function r(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}Object.defineProperty(t,"__esModule",{value:!0}),r.prototype=Object.create(Error.prototype),t.ArgumentOutOfRangeError=r},function(e,t,n){"use strict";function r(){return Error.call(this),this.message="no elements in sequence",this.name="EmptyError",this}Object.defineProperty(t,"__esModule",{value:!0}),r.prototype=Object.create(Error.prototype),t.EmptyError=r},function(e,t,n){"use strict";function r(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}Object.defineProperty(t,"__esModule",{value:!0}),t.getSymbolIterator=r,t.iterator=r(),t.$$iterator=t.iterator},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(11),o=n(10),s=n(48),a=n(28),c=n(38);t.mergeMap=function e(t,n,r){return void 0===r&&(r=Number.POSITIVE_INFINITY),"function"==typeof n?function(A){return A.pipe(e((function(e,r){return c.from(t(e,r)).pipe(a.map((function(t,A){return n(e,t,r,A)})))}),r))}:("number"==typeof n&&(r=n),function(e){return e.lift(new u(t,r))})};var u=function(){function e(e,t){void 0===t&&(t=Number.POSITIVE_INFINITY),this.project=e,this.concurrent=t}return e.prototype.call=function(e,t){return t.subscribe(new g(e,this.project,this.concurrent))},e}();t.MergeMapOperator=u;var g=function(e){function t(t,n,r){void 0===r&&(r=Number.POSITIVE_INFINITY);var A=e.call(this,t)||this;return A.project=n,A.concurrent=r,A.hasCompleted=!1,A.buffer=[],A.active=0,A.index=0,A}return A(t,e),t.prototype._next=function(e){this.active0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},t}(o.OuterSubscriber);t.MergeMapSubscriber=g},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(5);t.defaultIfEmpty=function(e){return void 0===e&&(e=null),function(t){return t.lift(new o(e))}};var o=function(){function e(e){this.defaultValue=e}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.defaultValue))},e}(),s=function(e){function t(t,n){var r=e.call(this,t)||this;return r.defaultValue=n,r.isEmpty=!0,r}return A(t,e),t.prototype._next=function(e){this.isEmpty=!1,this.destination.next(e)},t.prototype._complete=function(){this.isEmpty&&this.destination.next(this.defaultValue),this.destination.complete()},t}(i.Subscriber)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(5);t.filter=function(e,t){return function(n){return n.lift(new o(e,t))}};var o=function(){function e(e,t){this.predicate=e,this.thisArg=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.predicate,this.thisArg))},e}(),s=function(e){function t(t,n,r){var A=e.call(this,t)||this;return A.predicate=n,A.thisArg=r,A.count=0,A}return A(t,e),t.prototype._next=function(e){var t;try{t=this.predicate.call(this.thisArg,e,this.count++)}catch(e){return void this.destination.error(e)}t&&this.destination.next(e)},t}(i.Subscriber)},function(e,t){e.exports=function(e,t,n,r,A){this.confidence=n,this.name=r||t.name(e),this.lang=A}},function(e,t,n){var r=n(162),A=n(1037),i=n(1038),o="[object Null]",s="[object Undefined]",a=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?s:o:a&&a in Object(e)?A(e):i(e)}},function(e,t,n){"use strict";var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const A=n(0),i=n(1196),o=n(1197),s=n(259),a=n(1198),c=n(1199),u=r(n(258));t.npmConfigUtils=u;const g=r(n(114));t.npmHttpUtils=g;const l={npmAlwaysAuth:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:A.SettingsType.BOOLEAN,default:!1},npmAuthIdent:{description:"Authentication identity for the npm registry (_auth in npm and yarn v1)",type:A.SettingsType.SECRET,default:null},npmAuthToken:{description:"Authentication token for the npm registry (_authToken in npm and yarn v1)",type:A.SettingsType.SECRET,default:null}},h={npmPublishRegistry:{description:"Registry to push packages to",type:A.SettingsType.STRING,default:null},npmRegistryServer:{description:"URL of the selected npm registry (note: npm enterprise isn't supported)",type:A.SettingsType.STRING,default:"https://registry.yarnpkg.com"}},p={configuration:Object.assign(Object.assign(Object.assign({},l),h),{npmScopes:{description:"Settings per package scope",type:A.SettingsType.MAP,valueDefinition:{description:"",type:A.SettingsType.SHAPE,properties:Object.assign(Object.assign({},l),h)}},npmRegistries:{description:"Settings per registry",type:A.SettingsType.MAP,normalizeKeys:u.normalizeRegistry,valueDefinition:{description:"",type:A.SettingsType.SHAPE,properties:Object.assign({},l)}}}),fetchers:[i.NpmHttpFetcher,s.NpmSemverFetcher],resolvers:[o.NpmRemapResolver,a.NpmSemverResolver,c.NpmTagResolver]};t.default=p},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.PROTOCOL="npm:"},function(e,t,n){"use strict";var r=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var A=0;for(r=Object.getOwnPropertySymbols(e);Ae.toLowerCase()).includes("otp")}catch(e){return!1}}(n))throw"HTTPError"!==n.name||401!==n.response.statusCode&&403!==n.response.statusCode?n:new s.ReportError(s.MessageName.AUTHENTICATION_INVALID,`Invalid authentication (${"string"!=typeof A?`as ${await l(C,h,{configuration:i})}`:`attempted as ${A}`})`);const r=await async function(){if(process.env.TEST_ENV)return process.env.TEST_NPM_2FA_TOKEN||"";const e=a.default.createPromptModule(),{otp:t}=await e({type:"input",name:"otp",message:"One-time password:",validate:e=>e.length>0||"One-time password is required"});return t}(),c=Object.assign(Object.assign({},h),function(e){return{"npm-otp":e}}(r));try{return await o.httpUtils.put(`${C}${e}`,t,Object.assign({configuration:i,headers:c},d))}catch(e){throw"HTTPError"!==e.name||401!==e.response.statusCode&&403!==e.response.statusCode?e:new s.ReportError(s.MessageName.AUTHENTICATION_INVALID,`Invalid authentication (${"string"!=typeof A?`as ${await l(C,c,{configuration:i})}`:`attempted as ${A}`})`)}}}},function(e,t,n){var r=n(8);"disable"===process.env.READABLE_STREAM&&r?(e.exports=r.Readable,Object.assign(e.exports,r),e.exports.Stream=r):((t=e.exports=n(439)).Stream=r||t,t.Readable=t,t.Writable=n(443),t.Duplex=n(87),t.Transform=n(445),t.PassThrough=n(1213),t.finished=n(260),t.pipeline=n(1214))},function(e,t,n){"use strict";var r=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var A=0;for(r=Object.getOwnPropertySymbols(e);A]+)>$/;function c(e,t){const{source:n,selector:r,params:o}=A.structUtils.parseRange(e);if(null===n)throw new Error("Patch locators must explicitly define their source");const s=r?r.split(/&/).map(e=>i.npath.toPortablePath(e)):[],a=o&&"string"==typeof o.locator?A.structUtils.parseLocator(o.locator):null,c=o&&"string"==typeof o.version?o.version:null;return{parentLocator:a,sourceItem:t(n),patchPaths:s,sourceVersion:c}}function u({parentLocator:e,sourceItem:t,patchPaths:n,sourceVersion:r,patchHash:i},o){const s=null!==e?{locator:A.structUtils.stringifyLocator(e)}:{},a=void 0!==r?{version:r}:{},c=void 0!==i?{hash:i}:{};return A.structUtils.makeRange({protocol:"patch:",source:o(t),selector:n.join("&"),params:Object.assign(Object.assign(Object.assign({},a),c),s)})}function g({onAbsolute:e,onRelative:t,onBuiltin:n},r){const A=r.match(a);return null!==A?n(A[1]):i.ppath.isAbsolute(r)?e(r):t(r)}t.parseDescriptor=function(e){const t=c(e.range,A.structUtils.parseDescriptor),{sourceItem:n}=t,i=r(t,["sourceItem"]);return Object.assign(Object.assign({},i),{sourceDescriptor:n})},t.parseLocator=function(e){const t=c(e.reference,A.structUtils.parseLocator),{sourceItem:n}=t,i=r(t,["sourceItem"]);return Object.assign(Object.assign({},i),{sourceLocator:n})},t.makeDescriptor=function(e,{parentLocator:t,sourceDescriptor:n,patchPaths:r}){return A.structUtils.makeLocator(e,u({parentLocator:t,sourceItem:n,patchPaths:r},A.structUtils.stringifyDescriptor))},t.makeLocator=function(e,{parentLocator:t,sourcePackage:n,patchPaths:r,patchHash:i}){return A.structUtils.makeLocator(e,u({parentLocator:t,sourceItem:n,sourceVersion:n.version,patchPaths:r,patchHash:i},A.structUtils.stringifyLocator))},t.isParentRequired=function(e){return g({onAbsolute:()=>!1,onRelative:()=>!0,onBuiltin:()=>!1},e)},t.loadPatchFiles=async function(e,t,n){const r=null!==e?await n.fetcher.fetch(e,n):null,o=r&&r.localPath?{packageFs:new i.NodeFS,prefixPath:r.localPath,releaseFs:void 0}:r;return r&&r!==o&&r.releaseFs&&r.releaseFs(),(await A.miscUtils.releaseAfterUseAsync(async()=>await Promise.all(t.map(async e=>g({onAbsolute:async()=>await i.xfs.readFilePromise(e,"utf8"),onRelative:async()=>{if(null===r)throw new Error("Assertion failed: The parent locator should have been fetched");return await r.packageFs.readFilePromise(e,"utf8")},onBuiltin:async e=>await n.project.configuration.firstHook(e=>e.getBuiltinPatch,n.project,e)},e))))).map(e=>"string"==typeof e?e.replace(/\r\n?/g,"\n"):e)},t.extractPackageToDisk=async function(e,{cache:t,project:n}){const r=n.storedChecksums,o=new A.ThrowReport,s=n.configuration.makeFetcher(),a=await s.fetch(e,{cache:t,project:n,fetcher:s,checksums:r,report:o}),c=await i.xfs.mktempPromise();return await i.xfs.copyPromise(c,a.prefixPath,{baseFs:a.packageFs}),await i.xfs.writeJsonPromise(i.ppath.join(c,".yarn-patch.json"),{locator:A.structUtils.stringifyLocator(e)}),i.xfs.detachTemp(c),c}},function(e,t){e.exports=require("child_process")},function(e,t){e.exports=require("net")},function(e,t,n){var r=n(176);function A(e){var t=function(){return t.called?t.value:(t.called=!0,t.value=e.apply(this,arguments))};return t.called=!1,t}e.exports=r(A),A.proto=A((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return A(this)},configurable:!0})}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(174);t.CancelError=r.CancelError;const A=n(177);t.RequestError=A.RequestError,t.MaxRedirectsError=A.MaxRedirectsError,t.CacheError=A.CacheError,t.UploadError=A.UploadError,t.TimeoutError=A.TimeoutError,t.HTTPError=A.HTTPError,t.ReadError=A.ReadError,t.UnsupportedProtocolError=A.UnsupportedProtocolError;class i extends A.RequestError{constructor(e,t,n){super(`${e.message} in "${n.url.toString()}"`,e,n),this.name="ParseError",Object.defineProperty(this,"response",{enumerable:!1,value:t})}}t.ParseError=i},function(e,t){e.exports=require("https")},function(e,t){e.exports=require("tls")},function(e,t){e.exports=require("zlib")},function(e,t,n){"use strict";const r=n(4),A={DOT_LITERAL:"\\.",PLUS_LITERAL:"\\+",QMARK_LITERAL:"\\?",SLASH_LITERAL:"\\/",ONE_CHAR:"(?=.)",QMARK:"[^/]",END_ANCHOR:"(?:\\/|$)",DOTS_SLASH:"\\.{1,2}(?:\\/|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|\\/)\\.{1,2}(?:\\/|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:\\/|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:\\/|$))",QMARK_NO_DOT:"[^.\\/]",STAR:"[^/]*?",START_ANCHOR:"(?:^|\\/)"},i={...A,SLASH_LITERAL:"[\\\\/]",QMARK:"[^\\\\/]",STAR:"[^\\\\/]*?",DOTS_SLASH:"\\.{1,2}(?:[\\\\/]|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|[\\\\/])\\.{1,2}(?:[\\\\/]|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:[\\\\/]|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:[\\\\/]|$))",QMARK_NO_DOT:"[^.\\\\/]",START_ANCHOR:"(?:^|[\\\\/])",END_ANCHOR:"(?:[\\\\/]|$)"};e.exports={MAX_LENGTH:65536,POSIX_REGEX_SOURCE:{alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"},REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHAR:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:r.sep,extglobChars:e=>({"!":{type:"negate",open:"(?:(?!(?:",close:`))${e.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}),globChars:e=>!0===e?i:A}},function(e,t,n){"use strict";var r=n(69);e.exports=r.DEFAULT=new r({include:[n(92)],explicit:[n(552),n(553),n(554)]})},function(e,t,n){"use strict";const r=n(4),A={DOT_LITERAL:"\\.",PLUS_LITERAL:"\\+",QMARK_LITERAL:"\\?",SLASH_LITERAL:"\\/",ONE_CHAR:"(?=.)",QMARK:"[^/]",END_ANCHOR:"(?:\\/|$)",DOTS_SLASH:"\\.{1,2}(?:\\/|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|\\/)\\.{1,2}(?:\\/|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:\\/|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:\\/|$))",QMARK_NO_DOT:"[^.\\/]",STAR:"[^/]*?",START_ANCHOR:"(?:^|\\/)"},i={...A,SLASH_LITERAL:"[\\\\/]",QMARK:"[^\\\\/]",STAR:"[^\\\\/]*?",DOTS_SLASH:"\\.{1,2}(?:[\\\\/]|$)",NO_DOT:"(?!\\.)",NO_DOTS:"(?!(?:^|[\\\\/])\\.{1,2}(?:[\\\\/]|$))",NO_DOT_SLASH:"(?!\\.{0,1}(?:[\\\\/]|$))",NO_DOTS_SLASH:"(?!\\.{1,2}(?:[\\\\/]|$))",QMARK_NO_DOT:"[^.\\\\/]",START_ANCHOR:"(?:^|[\\\\/])",END_ANCHOR:"(?:[\\\\/]|$)"};e.exports={MAX_LENGTH:65536,POSIX_REGEX_SOURCE:{alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"},REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:r.sep,extglobChars:e=>({"!":{type:"negate",open:"(?:(?!(?:",close:`))${e.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}),globChars:e=>!0===e?i:A}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(578),A=n(587),i=n(588),o=n(590);function s(e={}){return e instanceof o.default?e:new o.default(e)}t.Settings=o.default,t.walk=function(e,t,n){if("function"==typeof t)return new r.default(e,s()).read(t);new r.default(e,s(t)).read(n)},t.walkSync=function(e,t){const n=s(t);return new i.default(e,n).read()},t.walkStream=function(e,t){const n=s(t);return new A.default(e,n).read()}},function(e,t){const n=Number.MAX_SAFE_INTEGER||9007199254740991;e.exports={SEMVER_SPEC_VERSION:"2.0.0",MAX_LENGTH:256,MAX_SAFE_INTEGER:n,MAX_SAFE_COMPONENT_LENGTH:16}},function(e,t){const n="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};e.exports=n},function(e,t,n){const r=n(42);e.exports=(e,t,n)=>r(e,t,n)>0},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},A=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const i=n(1),o=n(1),s=n(33),a=r(n(622)),c=r(n(623)),u=n(2),g=r(n(642)),l=r(n(15)),h=n(8),p=n(645),f=n(93),C=n(646),d=n(299),I=n(300),E=n(301),B=n(647),y=n(648),m=n(133),Q=A(n(173)),w=A(n(58)),v=A(n(649)),b=A(n(198)),D=A(n(20)),S=process.env.GITHUB_ACTIONS?{level:2}:c.default.supportsColor?{level:c.default.supportsColor.level}:{level:0},k=0!==S.level,_=k&&!process.env.GITHUB_ACTIONS,F=new c.default.Instance(S),M=new Set(["binFolder","version","flags","profile","gpg","wrapOutput"]);var N,R,K;function x(e,t,n,r,A){if(r.isArray)return Array.isArray(n)?n.map((n,i)=>P(e,`${t}[${i}]`,n,r,A)):String(n).split(/,/).map(n=>P(e,t,n,r,A));if(Array.isArray(n))throw new Error(`Non-array configuration settings "${t}" cannot be an array`);return P(e,t,n,r,A)}function P(e,t,n,r,A){var o;switch(r.type){case N.ANY:return n;case N.SHAPE:return function(e,t,n,r,A){if("object"!=typeof n||Array.isArray(n))throw new u.UsageError(`Object configuration settings "${t}" must be an object`);const i=L(e,r);if(null===n)return i;for(const[o,s]of Object.entries(n)){const n=`${t}.${o}`;if(!r.properties[o])throw new u.UsageError(`Unrecognized configuration settings found: ${t}.${o} - run "yarn config -v" to see the list of settings supported in Yarn`);i.set(o,x(e,n,s,r.properties[o],A))}return i}(e,t,n,r,A);case N.MAP:return function(e,t,n,r,A){const i=new Map;if("object"!=typeof n||Array.isArray(n))throw new u.UsageError(`Map configuration settings "${t}" must be an object`);if(null===n)return i;for(const[o,s]of Object.entries(n)){const n=r.normalizeKeys?r.normalizeKeys(o):o,a=`${t}['${n}']`,c=r.valueDefinition;i.set(n,x(e,a,s,c,A))}return i}(e,t,n,r,A)}if(null===n&&!r.isNullable&&null!==r.default)throw new Error(`Non-nullable configuration settings "${t}" cannot be set to null`);if(null===(o=r.values)||void 0===o?void 0:o.includes(n))return n;const s=(()=>{if(r.type===N.BOOLEAN)return function(e){switch(e){case"true":case"1":case 1:case!0:return!0;case"false":case"0":case 0:case!1:return!1;default:throw new Error(`Couldn't parse "${e}" as a boolean`)}}(n);if("string"!=typeof n)throw new Error("Expected value to be a string");switch(r.type){case N.ABSOLUTE_PATH:return i.ppath.resolve(A,i.npath.toPortablePath(n));case N.LOCATOR_LOOSE:return D.parseLocator(n,!1);case N.NUMBER:return parseInt(n);case N.LOCATOR:return D.parseLocator(n);default:return n}})();if(r.values&&!r.values.includes(s))throw new Error(`Invalid value, expected one of ${r.values.join(", ")}`);return s}function L(e,t){switch(t.type){case N.SHAPE:{const n=new Map;for(const[r,A]of Object.entries(t.properties))n.set(r,L(e,A));return n}case N.MAP:return new Map;case N.ABSOLUTE_PATH:if(null===t.default)return null;if(null!==e.projectCwd)return Array.isArray(t.default)?t.default.map(t=>i.ppath.resolve(e.projectCwd,t)):i.ppath.resolve(e.projectCwd,t.default);if(i.ppath.isAbsolute(t.default))return i.ppath.normalize(t.default);if(t.isNullable||null===t.default)return null;break;default:return t.default}}function O(){const e=`${t.ENVIRONMENT_PREFIX}rc_filename`;for(const[t,n]of Object.entries(process.env))if(t.toLowerCase()===e)return n;return t.DEFAULT_RC_FILENAME}t.ENVIRONMENT_PREFIX="yarn_",t.DEFAULT_RC_FILENAME=i.toFilename(".yarnrc.yml"),t.DEFAULT_LOCK_FILENAME=i.toFilename("yarn.lock"),t.SECRET="********",function(e){e.ANY="ANY",e.BOOLEAN="BOOLEAN",e.ABSOLUTE_PATH="ABSOLUTE_PATH",e.LOCATOR="LOCATOR",e.LOCATOR_LOOSE="LOCATOR_LOOSE",e.NUMBER="NUMBER",e.STRING="STRING",e.SECRET="SECRET",e.SHAPE="SHAPE",e.MAP="MAP"}(N=t.SettingsType||(t.SettingsType={})),function(e){e.NAME="NAME",e.NUMBER="NUMBER",e.PATH="PATH",e.RANGE="RANGE",e.REFERENCE="REFERENCE",e.SCOPE="SCOPE",e.ADDED="ADDED",e.REMOVED="REMOVED"}(R=t.FormatType||(t.FormatType={})),t.formatColors=S.level>=3?new Map([[R.NAME,"#d7875f"],[R.RANGE,"#00afaf"],[R.REFERENCE,"#87afff"],[R.NUMBER,"#ffd700"],[R.PATH,"#d75fd7"],[R.SCOPE,"#d75f00"],[R.ADDED,"#5faf00"],[R.REMOVED,"#d70000"]]):new Map([[R.NAME,173],[R.RANGE,37],[R.REFERENCE,111],[R.NUMBER,220],[R.PATH,170],[R.SCOPE,166],[R.ADDED,70],[R.REMOVED,160]]),t.coreDefinitions={lastUpdateCheck:{description:"Last timestamp we checked whether new Yarn versions were available",type:N.STRING,default:null},yarnPath:{description:"Path to the local executable that must be used over the global one",type:N.ABSOLUTE_PATH,default:null},ignorePath:{description:"If true, the local executable will be ignored when using the global one",type:N.BOOLEAN,default:!1},ignoreCwd:{description:"If true, the `--cwd` flag will be ignored",type:N.BOOLEAN,default:!1},globalFolder:{description:"Folder where are stored the system-wide settings",type:N.ABSOLUTE_PATH,default:Q.getDefaultGlobalFolder()},cacheFolder:{description:"Folder where the cache files must be written",type:N.ABSOLUTE_PATH,default:"./.yarn/cache"},compressionLevel:{description:"Zip files compression level, from 0 to 9 or mixed (a variant of 9, which stores some files uncompressed, when compression doesn't yield good results)",type:N.NUMBER,values:["mixed",0,1,2,3,4,5,6,7,8,9],default:o.DEFAULT_COMPRESSION_LEVEL},virtualFolder:{description:"Folder where the virtual packages (cf doc) will be mapped on the disk (must be named $$virtual)",type:N.ABSOLUTE_PATH,default:"./.yarn/$$virtual"},bstatePath:{description:"Path of the file where the current state of the built packages must be stored",type:N.ABSOLUTE_PATH,default:"./.yarn/build-state.yml"},lockfileFilename:{description:"Name of the files where the Yarn dependency tree entries must be stored",type:N.STRING,default:t.DEFAULT_LOCK_FILENAME},installStatePath:{description:"Path of the file where the install state will be persisted",type:N.ABSOLUTE_PATH,default:"./.yarn/install-state.gz"},rcFilename:{description:"Name of the files where the configuration can be found",type:N.STRING,default:O()},enableGlobalCache:{description:"If true, the system-wide cache folder will be used regardless of `cache-folder`",type:N.BOOLEAN,default:!1},enableAbsoluteVirtuals:{description:"If true, the virtual symlinks will use absolute paths if required [non portable!!]",type:N.BOOLEAN,default:!1},enableColors:{description:"If true, the CLI is allowed to use colors in its output",type:N.BOOLEAN,default:k,defaultText:""},enableHyperlinks:{description:"If true, the CLI is allowed to use hyperlinks in its output",type:N.BOOLEAN,default:_,defaultText:""},enableInlineBuilds:{description:"If true, the CLI will print the build output on the command line",type:N.BOOLEAN,default:g.default,defaultText:""},enableProgressBars:{description:"If true, the CLI is allowed to show a progress bar for long-running events",type:N.BOOLEAN,default:!g.default&&process.stdout.isTTY,defaultText:""},enableTimers:{description:"If true, the CLI is allowed to print the time spent executing commands",type:N.BOOLEAN,default:!0},preferAggregateCacheInfo:{description:"If true, the CLI will only print a one-line report of any cache changes",type:N.BOOLEAN,default:g.default},preferInteractive:{description:"If true, the CLI will automatically use the interactive mode when called from a TTY",type:N.BOOLEAN,default:!1},progressBarStyle:{description:"Which style of progress bar should be used (only when progress bars are enabled)",type:N.STRING,default:void 0,defaultText:""},defaultLanguageName:{description:"Default language mode that should be used when a package doesn't offer any insight",type:N.STRING,default:"node"},defaultProtocol:{description:"Default resolution protocol used when resolving pure semver and tag ranges",type:N.STRING,default:"npm:"},enableTransparentWorkspaces:{description:"If false, Yarn won't automatically resolve workspace dependencies unless they use the `workspace:` protocol",type:N.BOOLEAN,default:!0},enableMirror:{description:"If true, the downloaded packages will be retrieved and stored in both the local and global folders",type:N.BOOLEAN,default:!0},enableNetwork:{description:"If false, the package manager will refuse to use the network if required to",type:N.BOOLEAN,default:!0},httpProxy:{description:"URL of the http proxy that must be used for outgoing http requests",type:N.STRING,default:null},httpsProxy:{description:"URL of the http proxy that must be used for outgoing https requests",type:N.STRING,default:null},unsafeHttpWhitelist:{description:"List of the hostnames for which http queries are allowed (glob patterns are supported)",type:N.STRING,default:[],isArray:!0},enableScripts:{description:"If true, packages are allowed to have install scripts by default",type:N.BOOLEAN,default:!0},enableImmutableCache:{description:"If true, the cache is reputed immutable and actions that would modify it will throw",type:N.BOOLEAN,default:!1},checksumBehavior:{description:"Enumeration defining what to do when a checksum doesn't match expectations",type:N.STRING,default:"throw"},packageExtensions:{description:"Map of package corrections to apply on the dependency tree",type:N.MAP,valueDefinition:{description:"",type:N.ANY}}},function(e){e[e.LOCKFILE=0]="LOCKFILE",e[e.MANIFEST=1]="MANIFEST",e[e.NONE=2]="NONE"}(K=t.ProjectLookup||(t.ProjectLookup={}));class T{constructor(e,n,r){this.plugins=new Map,this.settings=new Map,this.values=new Map,this.sources=new Map,this.invalid=new Map,this.packageExtensions=new Map,this.startingCwd=e,this.projectCwd=n,this.plugins=r;const A=e=>{for(const[t,n]of Object.entries(e)){if(this.settings.has(t))throw new Error(`Cannot redefine settings "${t}"`);this.settings.set(t,n),this.values.set(t,L(this,n))}};A(t.coreDefinitions);for(const e of this.plugins.values())e.configuration&&A(e.configuration)}static async find(e,n,{lookup:r=K.LOCKFILE,strict:A=!0,useRc:o=!0}={}){const s=function(){const e={};for(let[n,r]of Object.entries(process.env))(n=n.toLowerCase()).startsWith(t.ENVIRONMENT_PREFIX)&&(e[n=a.default(n.slice(t.ENVIRONMENT_PREFIX.length))]=r);return e}();delete s.rcFilename;const c=await T.findRcFiles(e),g=new Map([["@@core",p.CorePlugin]]),l=e=>e.__esModule?e.default:e;if(null!==n){for(const e of n.plugins.keys())g.set(e,l(n.modules.get(e)));const t=new Map;for(const e of v.builtinModules())t.set(e,()=>v.dynamicRequire(e));for(const[e,r]of n.modules)t.set(e,()=>r);const r=new Set,A=e=>e.default||e,a=(e,n)=>{const{factory:o,name:s}=v.dynamicRequire(i.npath.fromPortablePath(e));if(r.has(s))return;const a=new Map(t),c=e=>{if(a.has(e))return a.get(e)();throw new u.UsageError(`This plugin cannot access the package referenced via ${e} which is neither a builtin, nor an exposed entry`)},l=w.prettifySyncErrors(()=>A(o(c)),e=>`${e} (when initializing ${s}, defined in ${n})`);t.set(s,()=>l),r.add(s),g.set(s,l)};if(s.plugins)for(const t of s.plugins.split(";")){a(i.ppath.resolve(e,i.npath.toPortablePath(t)),"")}for(const{path:e,cwd:t,data:n}of c)if(o&&Array.isArray(n.plugins))for(const r of n.plugins){const n="string"!=typeof r?r.path:r;a(i.ppath.resolve(t,i.npath.toPortablePath(n)),e)}}let h,f=t.DEFAULT_LOCK_FILENAME;if(s.lockfileFilename)f=s.lockfileFilename;else for(const{data:e}of c)if(e.lockfileFilename){f=e.lockfileFilename;break}switch(r){case K.LOCKFILE:h=await T.findProjectCwd(e,f);break;case K.MANIFEST:h=await T.findProjectCwd(e,null);break;case K.NONE:h=i.xfs.existsSync(i.ppath.join(e,"package.json"))?i.ppath.resolve(e):null}const C=new T(e,h,g);C.useWithSource("",s,e,{strict:A});for(const{path:e,cwd:t,data:n}of c)C.useWithSource(e,n,t,{strict:A});const d=C.get("rcFilename"),I=await T.findHomeRcFile(d);return I&&C.useWithSource(I.path,I.data,I.cwd,{strict:A}),C.get("enableGlobalCache")&&(C.values.set("cacheFolder",`${C.get("globalFolder")}/cache`),C.sources.set("cacheFolder","")),await C.refreshPackageExtensions(),C}static async findRcFiles(e){const t=O(),n=[];let r=e,A=null;for(;r!==A;){A=r;const e=i.ppath.join(A,t);if(i.xfs.existsSync(e)){const t=await i.xfs.readFilePromise(e,"utf8");let r;try{r=s.parseSyml(t)}catch(n){let r="";throw t.match(/^\s+(?!-)[^:]+\s+\S+/m)&&(r=" (in particular, make sure you list the colons after each key name)"),new u.UsageError(`Parse error when loading ${e}; please check it's proper Yaml${r}`)}n.push({path:e,cwd:A,data:r})}r=i.ppath.dirname(A)}return n}static async findHomeRcFile(e){const t=Q.getHomeFolder(),n=i.ppath.join(t,e);if(i.xfs.existsSync(n)){const e=await i.xfs.readFilePromise(n,"utf8");return{path:n,cwd:t,data:s.parseSyml(e)}}return null}static async findProjectCwd(e,t){let n=null,r=e,A=null;for(;r!==A;){if(A=r,i.xfs.existsSync(i.ppath.join(A,i.toFilename("package.json")))&&(n=A),null!==t){if(i.xfs.existsSync(i.ppath.join(A,t))){n=A;break}}else if(null!==n)break;r=i.ppath.dirname(A)}return n}static async updateConfiguration(e,t){const n=O(),r=i.ppath.join(e,n),A=i.xfs.existsSync(r)?s.parseSyml(await i.xfs.readFilePromise(r,"utf8")):{};let o=!1;if("function"==typeof t&&(t=t(A)),"function"==typeof t)throw new Error("Assertion failed: Invalid configuration type");for(const e of Object.keys(t)){const n=A[e],r="function"==typeof t[e]?t[e](n):t[e];n!==r&&(A[e]=r,o=!0)}o&&await i.xfs.changeFilePromise(r,s.stringifySyml(A),{automaticNewlines:!0})}static async updateHomeConfiguration(e){const t=Q.getHomeFolder();return await T.updateConfiguration(t,e)}useWithSource(e,t,n,{strict:r=!0,overwrite:A=!1}){try{this.use(e,t,n,{strict:r,overwrite:A})}catch(t){throw t.message+=` (in ${e})`,t}}use(e,n,r,{strict:A=!0,overwrite:i=!1}){for(const o of Object.keys(n)){if("plugins"===o)continue;if(""===e&&M.has(o))continue;if("rcFilename"===o)throw new u.UsageError(`The rcFilename settings can only be set via ${`${t.ENVIRONMENT_PREFIX}RC_FILENAME`.toUpperCase()}, not via a rc file`);const s=this.settings.get(o);if(s)this.sources.has(o)&&!i||(this.values.set(o,x(this,o,n[o],s,r)),this.sources.set(o,e));else{if(A)throw new u.UsageError(`Unrecognized or legacy configuration settings found: ${o} - run "yarn config -v" to see the list of settings supported in Yarn`);this.invalid.set(o,e)}}}get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key "${e}"`);return this.values.get(e)}getRedacted(e){const n=this.get(e),r=this.settings.get(e);if(void 0===r)throw new u.UsageError(`Couldn't find a configuration settings named "${e}"`);return function e(n,r){if(r.type===N.SECRET&&"string"==typeof n)return t.SECRET;if(r.isArray&&Array.isArray(n)){const t=[];for(const A of n)t.push(e(A,r));return t}if(r.type===N.MAP&&n instanceof Map){const t=new Map;for(const[A,i]of n.entries())t.set(A,e(i,r.valueDefinition));return t}if(r.type===N.SHAPE&&n instanceof Map){const t=new Map;for(const[A,i]of n.entries()){const n=r.properties[A];t.set(A,e(i,n))}return t}return n}(n,r)}getSubprocessStreams(e,{header:t,prefix:n,report:r}){let A,o;const s=i.xfs.createWriteStream(e);if(this.get("enableInlineBuilds")){const e=r.createStreamReporter(`${n} ${this.format("STDOUT","green")}`),t=r.createStreamReporter(`${n} ${this.format("STDERR","red")}`);(A=new h.PassThrough).pipe(e),A.pipe(s),(o=new h.PassThrough).pipe(t),o.pipe(s)}else A=s,o=s,void 0!==t&&A.write(`${t}\n`);return{stdout:A,stderr:o}}makeResolver(){const e=[];for(const t of this.plugins.values())for(const n of t.resolvers||[])e.push(new n);return new d.MultiResolver([new B.VirtualResolver,new m.WorkspaceResolver,new I.ProtocolResolver,...e])}makeFetcher(){const e=[];for(const t of this.plugins.values())for(const n of t.fetchers||[])e.push(new n);return new C.MultiFetcher([new E.VirtualFetcher,new y.WorkspaceFetcher,...e])}getLinkers(){const e=[];for(const t of this.plugins.values())for(const n of t.linkers||[])e.push(new n);return e}async refreshPackageExtensions(){this.packageExtensions=new Map;const e=this.packageExtensions,t=(t,n)=>{if(!l.default.validRange(t.range))throw new Error("Only semver ranges are allowed as keys for the lockfileExtensions setting");const r=new f.Manifest;r.load(n),w.getArrayWithDefault(e,t.identHash).push({range:t.range,patch:e=>{e.dependencies=new Map([...e.dependencies,...r.dependencies]),e.peerDependencies=new Map([...e.peerDependencies,...r.peerDependencies]),e.dependenciesMeta=new Map([...e.dependenciesMeta,...r.dependenciesMeta]),e.peerDependenciesMeta=new Map([...e.peerDependenciesMeta,...r.peerDependenciesMeta])}})};for(const[e,n]of this.get("packageExtensions"))t(D.parseDescriptor(e,!0),n);await this.triggerHook(e=>e.registerPackageExtensions,this,t)}normalizePackage(e){const t=D.copyPackage(e);if(null==this.packageExtensions)throw new Error("refreshPackageExtensions has to be called before normalizing packages");const n=this.packageExtensions.get(e.identHash);if(void 0!==n){const r=e.version;if(null!==r){const e=n.find(({range:e})=>b.satisfiesWithPrereleases(r,e));void 0!==e&&e.patch(t)}}return t.dependencies=new Map(w.sortMap(t.dependencies,([,e])=>e.name)),t.peerDependencies=new Map(w.sortMap(t.peerDependencies,([,e])=>e.name)),t}async triggerHook(e,...t){for(const n of this.plugins.values()){const r=n.hooks;if(!r)continue;const A=e(r);A&&await A(...t)}}async triggerMultipleHooks(e,t){for(const n of t)await this.triggerHook(e,...n)}async reduceHook(e,t,...n){let r=t;for(const t of this.plugins.values()){const A=t.hooks;if(!A)continue;const i=e(A);i&&(r=await i(r,...n))}return r}async firstHook(e,...t){for(const n of this.plugins.values()){const r=n.hooks;if(!r)continue;const A=e(r);if(!A)continue;const i=await A(...t);if(void 0!==i)return i}return null}format(e,n){if(!this.get("enableColors"))return e;let r=t.formatColors.get(n);return void 0===r&&(r=n),("number"==typeof r?F.ansi256(r):r.startsWith("#")?F.hex(r):F[r])(e)}}t.Configuration=T},function(e,t){e.exports=require("string_decoder")},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(197);class A{supportsDescriptor(e,t){if(e.range.startsWith(A.protocol))return!0;return null!==t.project.tryWorkspaceByDescriptor(e)}supportsLocator(e,t){return!!e.reference.startsWith(A.protocol)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,n){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,n){return[n.project.getWorkspaceByDescriptor(e).anchoredLocator]}async resolve(e,t){const n=t.project.getWorkspaceByCwd(e.reference.slice(A.protocol.length));return Object.assign(Object.assign({},e),{version:n.manifest.version||"0.0.0",languageName:"unknown",linkType:r.LinkType.SOFT,dependencies:new Map([...n.manifest.dependencies,...n.manifest.devDependencies]),peerDependencies:new Map([...n.manifest.peerDependencies]),dependenciesMeta:n.manifest.dependenciesMeta,peerDependenciesMeta:n.manifest.peerDependenciesMeta,bin:n.manifest.bin})}}t.WorkspaceResolver=A,A.protocol="workspace:"},function(e,t,n){"use strict";n(135);const r=n(95),A=Symbol("slurp");e.exports=class extends r{constructor(e,t,n){switch(super(),this.extended=t,this.globalExtended=n,this.header=e,this.startBlockSize=512*Math.ceil(e.size/512),this.blockRemain=this.startBlockSize,this.remain=e.size,this.type=e.type,this.meta=!1,this.ignore=!1,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}this.path=e.path,this.mode=e.mode,this.mode&&(this.mode=4095&this.mode),this.uid=e.uid,this.gid=e.gid,this.uname=e.uname,this.gname=e.gname,this.size=e.size,this.mtime=e.mtime,this.atime=e.atime,this.ctime=e.ctime,this.linkpath=e.linkpath,this.uname=e.uname,this.gname=e.gname,t&&this[A](t),n&&this[A](n,!0)}write(e){const t=e.length;if(t>this.blockRemain)throw new Error("writing more to entry than is appropriate");const n=this.remain,r=this.blockRemain;return this.remain=Math.max(0,n-t),this.blockRemain=Math.max(0,r-t),!!this.ignore||(n>=t?super.write(e):super.write(e.slice(0,n)))}[A](e,t){for(let n in e)null===e[n]||void 0===e[n]||t&&"path"===n||(this[n]=e[n])}}},function(e,t,n){"use strict";t.name=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]),t.code=new Map(Array.from(t.name).map(e=>[e[1],e[0]]))},function(e,t,n){"use strict";const r=n(203),A=(n(4),n(96)),i=n(19),o=n(201),s=n(134),a=n(202),c=n(305),u=n(60),g=u.from([31,139]),l=Symbol("state"),h=Symbol("writeEntry"),p=Symbol("readEntry"),f=Symbol("nextEntry"),C=Symbol("processEntry"),d=Symbol("extendedHeader"),I=Symbol("globalExtendedHeader"),E=Symbol("meta"),B=Symbol("emitMeta"),y=Symbol("buffer"),m=Symbol("queue"),Q=Symbol("ended"),w=Symbol("emittedEnd"),v=Symbol("emit"),b=Symbol("unzip"),D=Symbol("consumeChunk"),S=Symbol("consumeChunkSub"),k=Symbol("consumeBody"),_=Symbol("consumeMeta"),F=Symbol("consumeHeader"),M=Symbol("consuming"),N=Symbol("bufferConcat"),R=Symbol("maybeEnd"),K=Symbol("writing"),x=Symbol("aborted"),P=Symbol("onDone"),L=e=>!0;e.exports=r(class extends i{constructor(e){super(e=e||{}),e.ondone?this.on(P,e.ondone):this.on(P,e=>{this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close")}),this.strict=!!e.strict,this.maxMetaEntrySize=e.maxMetaEntrySize||1048576,this.filter="function"==typeof e.filter?e.filter:L,this.writable=!0,this.readable=!1,this[m]=new o,this[y]=null,this[p]=null,this[h]=null,this[l]="begin",this[E]="",this[d]=null,this[I]=null,this[Q]=!1,this[b]=null,this[x]=!1,"function"==typeof e.onwarn&&this.on("warn",e.onwarn),"function"==typeof e.onentry&&this.on("entry",e.onentry)}[F](e,t){const n=new A(e,t,this[d],this[I]);if(n.nullBlock)this[v]("nullBlock");else if(n.cksumValid)if(n.path){const e=n.type;if(/^(Symbolic)?Link$/.test(e)&&!n.linkpath)this.warn("invalid: linkpath required",n);else if(!/^(Symbolic)?Link$/.test(e)&&n.linkpath)this.warn("invalid: linkpath forbidden",n);else{const e=this[h]=new s(n,this[d],this[I]);e.meta?e.size>this.maxMetaEntrySize?(e.ignore=!0,this[v]("ignoredEntry",e),this[l]="ignore"):e.size>0&&(this[E]="",e.on("data",e=>this[E]+=e),this[l]="meta"):(this[d]=null,e.ignore=e.ignore||!this.filter(e.path,e),e.ignore?(this[v]("ignoredEntry",e),this[l]=e.remain?"ignore":"begin"):(e.remain?this[l]="body":(this[l]="begin",e.end()),this[p]?this[m].push(e):(this[m].push(e),this[f]())))}}else this.warn("invalid: path is required",n);else this.warn("invalid entry",n)}[C](e){let t=!0;return e?Array.isArray(e)?this.emit.apply(this,e):(this[p]=e,this.emit("entry",e),e.emittedEnd||(e.on("end",e=>this[f]()),t=!1)):(this[p]=null,t=!1),t}[f](){do{}while(this[C](this[m].shift()));if(!this[m].length){const e=this[p];!e||e.flowing||e.size===e.remain?this[K]||this.emit("drain"):e.once("drain",e=>this.emit("drain"))}}[k](e,t){const n=this[h],r=n.blockRemain,A=r>=e.length&&0===t?e:e.slice(t,t+r);return n.write(A),n.blockRemain||(this[l]="begin",this[h]=null,n.end()),A.length}[_](e,t){const n=this[h],r=this[k](e,t);return this[h]||this[B](n),r}[v](e,t,n){this[m].length||this[p]?this[m].push([e,t,n]):this.emit(e,t,n)}[B](e){switch(this[v]("meta",this[E]),e.type){case"ExtendedHeader":case"OldExtendedHeader":this[d]=a.parse(this[E],this[d],!1);break;case"GlobalExtendedHeader":this[I]=a.parse(this[E],this[I],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[d]=this[d]||Object.create(null),this[d].path=this[E].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[d]=this[d]||Object.create(null),this[d].linkpath=this[E].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+e.type)}}abort(e,t){this[x]=!0,this.warn(e,t),this.emit("abort",t),this.emit("error",t)}write(e){if(this[x])return;if(null===this[b]&&e){if(this[y]&&(e=u.concat([this[y],e]),this[y]=null),e.lengththis[D](e)),this[b].on("error",e=>this.abort(e.message,e)),this[b].on("end",e=>{this[Q]=!0,this[D]()}),this[K]=!0;const n=this[b][t?"end":"write"](e);return this[K]=!1,n}}this[K]=!0,this[b]?this[b].write(e):this[D](e),this[K]=!1;const t=!this[m].length&&(!this[p]||this[p].flowing);return t||this[m].length||this[p].once("drain",e=>this.emit("drain")),t}[N](e){e&&!this[x]&&(this[y]=this[y]?u.concat([this[y],e]):e)}[R](){if(this[Q]&&!this[w]&&!this[x]&&!this[M]){this[w]=!0;const e=this[h];if(e&&e.blockRemain){const t=this[y]?this[y].length:0;this.warn("Truncated input (needed "+e.blockRemain+" more bytes, only "+t+" available)",e),this[y]&&e.write(this[y]),e.end()}this[v](P)}}[D](e){if(this[M])this[N](e);else if(e||this[y]){if(this[M]=!0,this[y]){this[N](e);const t=this[y];this[y]=null,this[S](t)}else this[S](e);for(;this[y]&&this[y].length>=512&&!this[x];){const e=this[y];this[y]=null,this[S](e)}this[M]=!1}else this[R]();this[y]&&!this[Q]||this[R]()}[S](e){let t=0,n=e.length;for(;t+512<=n&&!this[x];)switch(this[l]){case"begin":this[F](e,t),t+=512;break;case"ignore":case"body":t+=this[k](e,t);break;case"meta":t+=this[_](e,t);break;default:throw new Error("invalid state: "+this[l])}t=this._maxSize&&this.clear(),this._values.hasOwnProperty(e)||this._size++,this._values[e]=t};var A=/[^.^\]^[]+|(?=\[\]|\.\.)/g,i=/^\d+$/,o=/^\d/,s=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,a=/^\s*(['"]?)(.*?)(\1)\s*$/,c=!1,u=new r(512),g=new r(512),l=new r(512);try{new Function("")}catch(e){c=!0}function h(e){return u.get(e)||u.set(e,p(e).map((function(e){return e.replace(a,"$2")})))}function p(e){return e.match(A)}function f(e,t,n){return"string"==typeof t&&(n=t,t=!1),n=n||"data",(e=e||"")&&"["!==e.charAt(0)&&(e="."+e),t?function(e,t){var n,r=t,A=p(e);return C(A,(function(e,t,A,i,o){n=i===o.length-1,r+=(e=t||A?"["+e+"]":"."+e)+(n?")":" || {})")})),new Array(A.length+1).join("(")+r}(e,n):n+e}function C(e,t,n){var r,A,i,o,s=e.length;for(A=0;A=0}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(397),A=n(105);function i(){return new A.EmptyError}t.throwIfEmpty=function(e){return void 0===e&&(e=i),r.tap({hasValue:!1,next:function(){this.hasValue=!0},complete:function(){if(!this.hasValue)throw e()}})}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(242),A=n(241),i=n(108),o=n(230);t.reduce=function(e,t){return arguments.length>=2?function(n){return o.pipe(r.scan(e,t),A.takeLast(1),i.defaultIfEmpty(t))(n)}:function(t){return o.pipe(r.scan((function(t,n,r){return e(t,n,r+1)})),A.takeLast(1))(t)}}},function(e,t,n){"use strict";var r=n(977),A=e.exports=function(e,t){return t=t||function(){},function(){var n=!1,A=arguments,i=new Promise((function(t,i){var o=e.apply({async:function(){return n=!0,function(e,n){e?i(e):t(n)}}},Array.prototype.slice.call(A));n||(r(o)?o.then(t,i):t(o))}));return i.then(t.bind(null,null),t),i}};A.cb=function(e,t){return A((function(){var t=Array.prototype.slice.call(arguments);return t.length===e.length-1&&t.push(this.async()),e.apply(this,t)}),t)}},function(e,t,n){"use strict";var r=n(21),A=n(25);e.exports=class{constructor(e){this.pointer=0,this.lastIndex=0,this.screen=e}paginate(e,t,n){n=n||7;var i=Math.floor(n/2),o=e.split("\n");if(this.screen&&(o=this.screen.breakLines(o),t=r.sum(o.map(e=>e.length).splice(0,t)),o=r.flatten(o)),o.length<=n)return e;this.pointer{let t=r.get(e.descriptorHash);return t||r.set(e.descriptorHash,t={descriptor:e,locators:[]}),t};for(const r of t.workspaces)if(n===a.PEER){const t=r.manifest.peerDependencies.get(e.identHash);void 0!==t&&A(t).locators.push(r.locator)}else{const t=r.manifest.dependencies.get(e.identHash),i=r.manifest.devDependencies.get(e.identHash);n===a.DEVELOPMENT?void 0!==i?A(i).locators.push(r.locator):void 0!==t&&A(t).locators.push(r.locator):void 0!==t?A(t).locators.push(r.locator):void 0!==i&&A(i).locators.push(r.locator)}return r}async function f(e,t,{project:n,cache:r,preserveModifier:o=!0}){const a=i.structUtils.makeDescriptor(e,t),c=new A.ThrowReport,u=n.configuration.makeFetcher(),g=n.configuration.makeResolver(),h={checksums:n.storedChecksums,project:n,cache:r,fetcher:u,report:c,resolver:g};let p;try{p=await g.getCandidates(a,new Map,h)}catch(e){return null}if(0===p.length)return null;const f=p[0];let{protocol:C,source:d,params:I,selector:E}=i.structUtils.parseRange(i.structUtils.convertToManifestRange(f.reference));if(C===n.configuration.get("defaultProtocol")&&(C=null),s.default.valid(E)&&!1!==o){E=l("string"==typeof o?o:a.range,{project:n})+E}return i.structUtils.makeDescriptor(f,i.structUtils.makeRange({protocol:C,source:d,params:I,selector:E}))}t.extractRangeModifier=l,t.applyModifier=h,t.findProjectDescriptors=p,t.extractDescriptorFromPath=async function(e,{cache:t,cwd:n,workspace:r}){o.ppath.isAbsolute(e)||(e=o.ppath.resolve(n,e));const s=r.project,a=await f(i.structUtils.makeIdent(null,"archive"),e,{project:r.project,cache:t});if(!a)throw new Error("Assertion failed: The descriptor should have been found");const c=new A.ThrowReport,u=s.configuration.makeResolver(),g=s.configuration.makeFetcher(),l={checksums:s.storedChecksums,project:s,cache:t,fetcher:g,report:c,resolver:u},h=u.bindDescriptor(a,r.anchoredLocator,l),p=i.structUtils.convertDescriptorToLocator(h),C=await g.fetch(p,l),d=await A.Manifest.find(C.prefixPath,{baseFs:C.packageFs});if(!d.name)throw new Error("Target path doesn't have a name");return i.structUtils.makeDescriptor(d.name,e)},t.getSuggestedDescriptors=async function(e,{project:t,workspace:n,cache:r,target:A,modifier:o,strategies:s,maxResults:c=1/0}){if(!(c>=0))throw new Error(`Invalid maxResults (${c})`);if("unknown"!==e.range)return[{descriptor:e,reason:"Unambiguous explicit request"}];const g=null!=n&&n.manifest[A].get(e.identHash)||null,l=[];for(const C of s){if(l.length>=c)break;switch(C){case u.KEEP:if(g){const e=`Keep ${i.structUtils.prettyDescriptor(t.configuration,g)} (no changes)`;l.push({descriptor:g,reason:e})}break;case u.REUSE:for(const{descriptor:r,locators:o}of(await p(e,{project:t,target:A})).values()){if(1===o.length&&o[0].locatorHash===n.anchoredLocator.locatorHash&&s.includes(u.KEEP))continue;let e=`Reuse ${i.structUtils.prettyDescriptor(t.configuration,r)} (originally used by ${i.structUtils.prettyLocator(t.configuration,o[0])}`;e+=o.length>1?` and ${o.length-1} other${o.length>2?"s":""})`:")",l.push({descriptor:r,reason:e})}break;case u.CACHE:for(const n of t.storedDescriptors.values())if(n.identHash===e.identHash){const e=`Reuse ${i.structUtils.prettyDescriptor(t.configuration,n)} (already used somewhere in the lockfile)`;l.push({descriptor:n,reason:e})}break;case u.PROJECT:{if(null!==n.manifest.name&&e.identHash===n.manifest.name.identHash)continue;const r=t.tryWorkspaceByIdent(e);if(null===r)continue;const A=`Attach ${i.structUtils.prettyWorkspace(t.configuration,r)} (local workspace at ${r.cwd})`;l.push({descriptor:r.anchoredDescriptor,reason:A})}break;case u.LATEST:if("unknown"!==e.range){const n=`Use ${i.structUtils.prettyRange(t.configuration,e.range)} (explicit range requested)`;l.push({descriptor:e,reason:n})}else if(A===a.PEER){const t="Use * (catch-all peer dependency pattern)";l.push({descriptor:i.structUtils.makeDescriptor(e,"*"),reason:t})}else if(t.configuration.get("enableNetwork")){let n;try{n=await f(e,"latest",{project:t,cache:r,preserveModifier:!1})}catch(e){}if(n){n=h(n,o);const e=`Use ${i.structUtils.prettyDescriptor(t.configuration,n)} (resolved from latest)`;l.push({descriptor:n,reason:e})}}else{const e=`Resolve from latest ${t.configuration.format("(unavailable because enableNetwork is toggled off)","grey")}`;l.push({descriptor:null,reason:e})}}}return l.slice(0,c)},t.fetchDescriptorFrom=f},function(e,t,n){var r=n(40).Symbol;e.exports=r},function(e,t,n){var r=n(67)(Object,"create");e.exports=r},function(e,t,n){var r=n(1053),A=n(1054),i=n(1055),o=n(1056),s=n(1057);function a(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t{let t,n;return"module"===e.topLevelWorkspace.manifest.type?(t=".pnp.cjs",n=".pnp.js"):(t=".pnp.js",n=".pnp.cjs"),{main:i.ppath.join(e.cwd,t),other:i.ppath.join(e.cwd,n)}},t.quotePathIfNeeded=e=>/\s/.test(e)?JSON.stringify(e):e;const c={hooks:{populateYarnPaths:async function(e,n){n(t.getPnpPath(e).main),n(t.getPnpPath(e).other),n(e.configuration.get("pnpDataPath")),n(e.configuration.get("pnpUnpluggedFolder"))},setupScriptEnvironment:async function(e,n,r){const A=t.getPnpPath(e).main,s=`--require ${t.quotePathIfNeeded(i.npath.fromPortablePath(A))}`;if(A.includes(" ")&&o.default.lt(process.versions.node,"12.0.0"))throw new Error(`Expected the build location to not include spaces when using Node < 12.0.0 (${process.versions.node})`);if(i.xfs.existsSync(A)){let e=n.NODE_OPTIONS||"";e=(e=e.replace(/\s*--require\s+\S*\.pnp\.js\s*/g," ").trim())?`${s} ${e}`:s,n.NODE_OPTIONS=e}}},configuration:{nodeLinker:{description:'The linker used for installing Node packages, one of: "pnp", "node-modules"',type:A.SettingsType.STRING,default:"pnp"},pnpMode:{description:"If 'strict', generates standard PnP maps. If 'loose', merges them with the n_m resolution.",type:A.SettingsType.STRING,default:"strict"},pnpShebang:{description:"String to prepend to the generated PnP script",type:A.SettingsType.STRING,default:"#!/usr/bin/env node"},pnpIgnorePatterns:{description:"Array of glob patterns; files matching them will use the classic resolution",type:A.SettingsType.STRING,default:[],isArray:!0},pnpEnableInlining:{description:"If true, the PnP data will be inlined along with the generated loader",type:A.SettingsType.BOOLEAN,default:!0},pnpFallbackMode:{description:"If true, the generated PnP loader will follow the top-level fallback rule",type:A.SettingsType.STRING,default:"dependencies-only"},pnpUnpluggedFolder:{description:"Folder where the unplugged packages must be stored",type:A.SettingsType.ABSOLUTE_PATH,default:"./.yarn/unplugged"},pnpDataPath:{description:"Path of the file where the PnP data (used by the loader) must be written",type:A.SettingsType.ABSOLUTE_PATH,default:"./.pnp.data.json"}},linkers:[s.PnpLinker],commands:[a.default]};var u=n(435);t.AbstractPnpInstaller=u.AbstractPnpInstaller;var g=n(431);t.PnpInstaller=g.PnpInstaller,t.PnpLinker=g.PnpLinker,t.default=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(0),A=n(1),i=n(1187);var o;!function(e){e.HARD="HARD",e.SOFT="SOFT"}(o=t.LinkType||(t.LinkType={}));const s=A.toFilename("node_modules");t.getArchivePath=e=>e.indexOf(`.zip/${s}/`)>=0?A.npath.toPortablePath(e.split(`/${s}/`)[0]):null,t.buildNodeModulesTree=(e,t)=>{const n=c(e,t),r=i.hoist(n);return u(e,r,t)};const a=e=>`${e.name}@${e.reference}`;t.buildLocatorMap=e=>{const t=new Map;for(const[n,r]of e.entries())if(!r.dirList){let e=t.get(r.locator);e||(e={target:r.target,linkType:r.linkType,locations:[],aliases:r.aliases},t.set(r.locator,e)),e.locations.push(n)}for(const e of t.values())e.locations=e.locations.sort((e,t)=>{const n=e.split(A.ppath.delimiter).length,r=t.split(A.ppath.delimiter).length;return n!==r?r-n:t.localeCompare(e)});return t};const c=(e,t)=>{const n=e.getDependencyTreeRoots(),A=e.getPackageInformation(e.topLevel);if(null===A)throw new Error("Assertion failed: Expected the top-level package to have been registered");const i=e.findPackageLocator(A.packageLocation);if(null===i)throw new Error("Assertion failed: Expected the top-level package to have a physical locator");const o=a(i);for(const e of n)a(e)!==o&&A.packageDependencies.set(`$wsroot$${e.name}`,e.reference);const s={name:i.name,reference:i.reference,peerNames:A.packagePeers,dependencies:new Set},c=new Map,u=(n,A,i,g)=>{const l=a(A);let h=c.get(l);const p=!!h;p||l!==o||(h=s,c.set(l,s)),h||c.set(l,h={name:A.name,reference:A.reference,dependencies:new Set,peerNames:n.packagePeers}),i.dependencies.add(h);const f=t.pnpifyFs||!function(e){let t=r.structUtils.parseDescriptor(e);return r.structUtils.isVirtualDescriptor(t)&&(t=r.structUtils.devirtualizeDescriptor(t)),t.range.startsWith("portal:")}(l);if(!p&&f)for(const[t,r]of n.packageDependencies)if(null!==r&&!h.peerNames.has(t)){const A=e.getLocator(t,r),i=e.getLocator(t.replace("$wsroot$",""),r),o=e.getPackageInformation(i);if(null===o)throw new Error("Assertion failed: Expected the package to have been registered");if(a(A)===l)continue;u(o,A,h,n)}};return u(A,i,s,A),s};const u=(e,t,n)=>{const r=new Map,i=(t,r)=>{const{linkType:i,target:s}=function(e,t,n){const r=t.getLocator(e.name.replace(/^\$wsroot\$/,""),e.reference),i=t.getPackageInformation(r);if(null===i)throw new Error("Assertion failed: Expected the package to be registered");let s,a;if(n.pnpifyFs)a=A.npath.toPortablePath(i.packageLocation),s=o.SOFT;else{const n=t.resolveVirtual&&e.reference&&e.reference.startsWith("virtual:")?t.resolveVirtual(i.packageLocation):i.packageLocation;a=A.npath.toPortablePath(n||i.packageLocation),s=i.linkType}return{linkType:s,target:a}}(t,e,n);return{locator:a(t),target:s,linkType:i,aliases:r}},c=e=>{const[t,n]=e.name.split("/");return n?{scope:A.toFilename(t),name:A.toFilename(n)}:{scope:null,name:A.toFilename(t)}},u=new Set,g=(e,t)=>{if(!u.has(e)){u.add(e);for(const n of e.dependencies){if(n===e)continue;const a=Array.from(n.references).sort(),u={name:n.name,reference:a[0]},{name:l,scope:h}=c(u),p=h?[h,l]:[l],f=A.ppath.join(t,s),C=A.ppath.join(f,...p),d=i(u,a.slice(1));if(!n.name.startsWith("$wsroot$")){r.set(C,d);const e=C.split("/"),t=e.indexOf(s);let n=e.length-1;for(;t>=0&&n>t;){const t=A.npath.toPortablePath(e.slice(0,n).join(A.ppath.sep)),i=A.toFilename(e[n]),o=r.get(t);if(o){if(o.dirList){if(o.dirList.has(i))break;o.dirList.add(i)}}else r.set(t,{dirList:new Set([i])});n--}}g(n,d.linkType===o.SOFT?d.target:C)}}},l=i({name:t.name,reference:Array.from(t.references)[0]},[]),h=l.target;return r.set(h,l),g(t,h),r}},function(e,t,n){"use strict";var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const A=n(3),i=n(8),o=n(6),s=n(52),a=n(51),c=r(n(456)),u=n(18);t.DEFAULT_COMPRESSION_LEVEL="mixed";const g=61440,l=16384,h=32768,p=40960;class f{constructor(){this.dev=0,this.ino=0,this.mode=0,this.nlink=1,this.rdev=0,this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&g)===l}isFIFO(){return!1}isFile(){return(this.mode&g)===h}isSocket(){return!1}isSymbolicLink(){return(this.mode&g)===p}}function C(){return Object.assign(new f,{uid:0,gid:0,size:0,blksize:0,atimeMs:0,mtimeMs:0,ctimeMs:0,birthtimeMs:0,atime:new Date(0),mtime:new Date(0),ctime:new Date(0),birthtime:new Date(0),mode:420|h})}class d extends s.BasePortableFakeFS{constructor(e,n){super(),this.listings=new Map,this.entries=new Map,this.fds=new Map,this.nextFd=0,this.ready=!1,this.readOnly=!1,this.libzip=n.libzip;const r=n;if(this.level=void 0!==r.level?r.level:t.DEFAULT_COMPRESSION_LEVEL,"string"==typeof e){const{baseFs:t=new a.NodeFS}=r;this.baseFs=t,this.path=e}else this.path=null,this.baseFs=null;if(n.stats)this.stats=n.stats;else if("string"==typeof e)try{this.stats=this.baseFs.statSync(e)}catch(e){if("ENOENT"!==e.code||!r.create)throw e;this.stats=C()}else this.stats=C();const A=this.libzip.malloc(4);try{let t=0;if("string"==typeof e&&r.create&&(t|=this.libzip.ZIP_CREATE|this.libzip.ZIP_TRUNCATE),n.readOnly&&(t|=this.libzip.ZIP_RDONLY,this.readOnly=!0),"string"==typeof e)this.zip=this.libzip.open(u.npath.fromPortablePath(e),t,A);else{const n=this.allocateUnattachedSource(e);try{this.zip=this.libzip.openFromSource(n,t,A)}catch(e){throw this.libzip.source.free(n),e}}if(0===this.zip){const e=this.libzip.struct.errorS();throw this.libzip.error.initWithCode(e,this.libzip.getValue(A,"i32")),new Error(this.libzip.error.strerror(e))}}finally{this.libzip.free(A)}this.listings.set(u.PortablePath.root,new Set);const i=this.libzip.getNumEntries(this.zip,0);for(let e=0;e{clearImmediate(r)}}),r=setImmediate(()=>{try{const r=this.readFileSync(e,t);n.bytesRead=r.length,n.write(r),n.end()}catch(e){n.emit("error",e),n.end()}});return n}createWriteStream(e,{encoding:t}={}){if(this.readOnly)throw c.EROFS(`open '${e}'`);if(null===e)throw new Error("Unimplemented");const n=Object.assign(new i.PassThrough,{bytesWritten:0,path:e,close:()=>{n.end()}}),r=[];return n.on("data",e=>{const t=Buffer.from(e);n.bytesWritten+=t.length,r.push(t)}),n.on("end",()=>{this.writeFileSync(e,Buffer.concat(r),t)}),n}async realpathPromise(e){return this.realpathSync(e)}realpathSync(e){const t=this.resolveFilename(`lstat '${e}'`,e);if(!this.entries.has(t)&&!this.listings.has(t))throw c.ENOENT(`lstat '${e}'`);return t}async existsPromise(e){return this.existsSync(e)}existsSync(e){let t;try{t=this.resolveFilename(`stat '${e}'`,e)}catch(e){return!1}return this.entries.has(t)||this.listings.has(t)}async accessPromise(e,t){return this.accessSync(e,t)}accessSync(e,t=A.constants.F_OK){const n=this.resolveFilename(`access '${e}'`,e);if(!this.entries.has(n)&&!this.listings.has(n))throw c.ENOENT(`access '${e}'`);if(this.readOnly&&t&A.constants.W_OK)throw c.EROFS(`access '${e}'`)}async statPromise(e){return this.statSync(e)}statSync(e){const t=this.resolveFilename(`stat '${e}'`,e);if(!this.entries.has(t)&&!this.listings.has(t))throw c.ENOENT(`stat '${e}'`);if("/"===e[e.length-1]&&!this.listings.has(t))throw c.ENOTDIR(`stat '${e}'`);return this.statImpl(`stat '${e}'`,t)}async lstatPromise(e){return this.lstatSync(e)}lstatSync(e){const t=this.resolveFilename(`lstat '${e}'`,e,!1);if(!this.entries.has(t)&&!this.listings.has(t))throw c.ENOENT(`lstat '${e}'`);if("/"===e[e.length-1]&&!this.listings.has(t))throw c.ENOTDIR(`lstat '${e}'`);return this.statImpl(`lstat '${e}'`,t)}statImpl(e,t){const n=this.entries.get(t);if(void 0!==n){const e=this.libzip.struct.statS();if(-1===this.libzip.statIndex(this.zip,n,0,0,e))throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip)));const r=this.stats.uid,A=this.stats.gid,i=this.libzip.struct.statSize(e)>>>0,o=512,s=Math.ceil(i/o),a=1e3*(this.libzip.struct.statMtime(e)>>>0),c=a,u=a,g=a,C=new Date(c),d=new Date(u),I=new Date(g),E=new Date(a),B=this.listings.has(t)?l:this.isSymbolicLink(n)?p:h,y=B===l?493:420,m=B|511&this.getUnixMode(n,y);return Object.assign(new f,{uid:r,gid:A,size:i,blksize:o,blocks:s,atime:C,birthtime:d,ctime:I,mtime:E,atimeMs:c,birthtimeMs:u,ctimeMs:g,mtimeMs:a,mode:m})}if(this.listings.has(t)){const e=this.stats.uid,t=this.stats.gid,n=0,r=512,A=0,i=this.stats.mtimeMs,o=this.stats.mtimeMs,s=this.stats.mtimeMs,a=this.stats.mtimeMs,c=new Date(i),u=new Date(o),g=new Date(s),h=new Date(a),p=493|l;return Object.assign(new f,{uid:e,gid:t,size:n,blksize:r,blocks:A,atime:c,birthtime:u,ctime:g,mtime:h,atimeMs:i,birthtimeMs:o,ctimeMs:s,mtimeMs:a,mode:p})}throw new Error("Unreachable")}getUnixMode(e,t){if(-1===this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S))throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip)));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX?t:this.libzip.getValue(this.libzip.uint32S,"i32")>>>16}registerListing(e){let t=this.listings.get(e);if(t)return t;const n=this.registerListing(u.ppath.dirname(e));return t=new Set,n.add(u.ppath.basename(e)),this.listings.set(e,t),t}registerEntry(e,t){this.registerListing(u.ppath.dirname(e)).add(u.ppath.basename(e)),this.entries.set(e,t)}resolveFilename(e,t,n=!0){if(!this.ready)throw c.EBUSY(`archive closed, ${e}`);let r=u.ppath.resolve(u.PortablePath.root,t);if("/"===r)return u.PortablePath.root;for(;;){const t=this.resolveFilename(e,u.ppath.dirname(r),!0),A=this.listings.has(t),i=this.entries.has(t);if(!A&&!i)throw c.ENOENT(e);if(!A)throw c.ENOTDIR(e);if(r=u.ppath.resolve(t,u.ppath.basename(r)),!n)break;const o=this.libzip.name.locate(this.zip,r.slice(1));if(-1===o)break;if(!this.isSymbolicLink(o))break;{const e=this.getFileSource(o).toString();r=u.ppath.resolve(u.ppath.dirname(r),e)}}return r}allocateBuffer(e){Buffer.isBuffer(e)||(e=Buffer.from(e));const t=this.libzip.malloc(e.byteLength);if(!t)throw new Error("Couldn't allocate enough memory");return new Uint8Array(this.libzip.HEAPU8.buffer,t,e.byteLength).set(e),{buffer:t,byteLength:e.byteLength}}allocateUnattachedSource(e){const t=this.libzip.struct.errorS(),{buffer:n,byteLength:r}=this.allocateBuffer(e),A=this.libzip.source.fromUnattachedBuffer(n,r,0,!0,t);if(0===A)throw this.libzip.free(t),new Error(this.libzip.error.strerror(t));return A}allocateSource(e){const{buffer:t,byteLength:n}=this.allocateBuffer(e),r=this.libzip.source.fromBuffer(this.zip,t,n,0,!0);if(0===r)throw this.libzip.free(t),new Error(this.libzip.error.strerror(this.libzip.getError(this.zip)));return r}setFileSource(e,t){const n=u.ppath.relative(u.PortablePath.root,e),r=this.allocateSource(t);try{const e=this.libzip.file.add(this.zip,n,r,this.libzip.ZIP_FL_OVERWRITE);if("mixed"!==this.level){let t;if(t=0===this.level?this.libzip.ZIP_CM_STORE:this.libzip.ZIP_CM_DEFLATE,-1===this.libzip.file.setCompression(this.zip,e,0,t,this.level))throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip)))}return e}catch(e){throw this.libzip.source.free(r),e}}isSymbolicLink(e){if(-1===this.libzip.file.getExternalAttributes(this.zip,e,0,0,this.libzip.uint08S,this.libzip.uint32S))throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip)));return this.libzip.getValue(this.libzip.uint08S,"i8")>>>0===this.libzip.ZIP_OPSYS_UNIX&&(this.libzip.getValue(this.libzip.uint32S,"i32")>>>16&g)===p}getFileSource(e){const t=this.libzip.struct.statS();if(-1===this.libzip.statIndex(this.zip,e,0,0,t))throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip)));const n=this.libzip.struct.statSize(t),r=this.libzip.malloc(n);try{const t=this.libzip.fopenIndex(this.zip,e,0,0);if(0===t)throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip)));try{const e=this.libzip.fread(t,r,n,0);if(-1===e)throw new Error(this.libzip.error.strerror(this.libzip.file.getError(t)));if(en)throw new Error("Overread");const A=this.libzip.HEAPU8.subarray(r,r+n);return Buffer.from(A)}finally{this.libzip.fclose(t)}}finally{this.libzip.free(r)}}async chmodPromise(e,t){return this.chmodSync(e,t)}chmodSync(e,t){if(this.readOnly)throw c.EROFS(`chmod '${e}'`);t&=493;const n=this.resolveFilename(`chmod '${e}'`,e,!1),r=this.entries.get(n);if(void 0===r)throw new Error(`Assertion failed: The entry should have been registered (${n})`);const A=-512&this.getUnixMode(r,0|h)|t;if(-1===this.libzip.file.setExternalAttributes(this.zip,r,0,0,this.libzip.ZIP_OPSYS_UNIX,A<<16))throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip)))}async renamePromise(e,t){return this.renameSync(e,t)}renameSync(e,t){throw new Error("Unimplemented")}async copyFilePromise(e,t,n){return this.copyFileSync(e,t,n)}copyFileSync(e,t,n=0){if(this.readOnly)throw c.EROFS(`copyfile '${e} -> '${t}'`);if(0!=(n&A.constants.COPYFILE_FICLONE_FORCE))throw c.ENOSYS("unsupported clone operation",`copyfile '${e}' -> ${t}'`);const r=this.resolveFilename(`copyfile '${e} -> ${t}'`,e),i=this.entries.get(r);if(void 0===i)throw c.EINVAL(`copyfile '${e}' -> '${t}'`);const o=this.resolveFilename(`copyfile '${e}' -> ${t}'`,t),s=this.entries.get(o);if(0!=(n&(A.constants.COPYFILE_EXCL|A.constants.COPYFILE_FICLONE_FORCE))&&void 0!==s)throw c.EEXIST(`copyfile '${e}' -> '${t}'`);const a=this.getFileSource(i),u=this.setFileSource(o,a);u!==s&&this.registerEntry(o,u)}async appendFilePromise(e,t,n){return this.appendFileSync(e,t,n)}appendFileSync(e,t,n={}){if(this.readOnly)throw c.EROFS(`open '${e}'`);return void 0===n?n={flag:"a"}:"string"==typeof n?n={flag:"a",encoding:n}:void 0===n.flag&&(n=Object.assign({flag:"a"},n)),this.writeFileSync(e,t,n)}async writeFilePromise(e,t,n){return this.writeFileSync(e,t,n)}writeFileSync(e,t,n){if("string"!=typeof e)throw c.EBADF("read");if(this.readOnly)throw c.EROFS(`open '${e}'`);const r=this.resolveFilename(`open '${e}'`,e);if(this.listings.has(r))throw c.EISDIR(`open '${e}'`);const A=this.entries.get(r);void 0!==A&&"object"==typeof n&&n.flag&&n.flag.includes("a")&&(t=Buffer.concat([this.getFileSource(A),Buffer.from(t)]));let i=null;"string"==typeof n?i=n:"object"==typeof n&&n.encoding&&(i=n.encoding),null!==i&&(t=t.toString(i));const o=this.setFileSource(r,t);o!==A&&this.registerEntry(r,o)}async unlinkPromise(e){return this.unlinkSync(e)}unlinkSync(e){throw new Error("Unimplemented")}async utimesPromise(e,t,n){return this.utimesSync(e,t,n)}utimesSync(e,t,n){if(this.readOnly)throw c.EROFS(`utimes '${e}'`);const r=this.resolveFilename(`utimes '${e}'`,e);this.utimesImpl(r,n)}async lutimesPromise(e,t,n){return this.lutimesSync(e,t,n)}lutimesSync(e,t,n){if(this.readOnly)throw c.EROFS(`lutimes '${e}'`);const r=this.resolveFilename(`utimes '${e}'`,e,!1);this.utimesImpl(r,n)}utimesImpl(e,t){this.listings.has(e)&&(this.entries.has(e)||this.hydrateDirectory(e));const n=this.entries.get(e);if(void 0===n)throw new Error("Unreachable");if(-1===this.libzip.file.setMtime(this.zip,n,0,function(e){if("string"==typeof e&&String(+e)===e)return+e;if(Number.isFinite(e))return e<0?Date.now()/1e3:e;if(o.isDate(e))return e.getTime()/1e3;throw new Error("Invalid time")}(t),0))throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip)))}async mkdirPromise(e,t){return this.mkdirSync(e,t)}mkdirSync(e,{mode:t=493,recursive:n=!1}={}){if(n)return this.mkdirpSync(e,{chmod:t});if(this.readOnly)throw c.EROFS(`mkdir '${e}'`);const r=this.resolveFilename(`mkdir '${e}'`,e);if(this.entries.has(r)||this.listings.has(r))throw c.EEXIST(`mkdir '${e}'`);this.hydrateDirectory(r),this.chmodSync(r,t)}async rmdirPromise(e){return this.rmdirSync(e)}rmdirSync(e){throw new Error("Unimplemented")}hydrateDirectory(e){const t=this.libzip.dir.add(this.zip,u.ppath.relative(u.PortablePath.root,e));if(-1===t)throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip)));return this.registerListing(e),this.registerEntry(e,t),t}async symlinkPromise(e,t){return this.symlinkSync(e,t)}symlinkSync(e,t){if(this.readOnly)throw c.EROFS(`symlink '${e}' -> '${t}'`);const n=this.resolveFilename(`symlink '${e}' -> '${t}'`,t);if(this.listings.has(n))throw c.EISDIR(`symlink '${e}' -> '${t}'`);if(this.entries.has(n))throw c.EEXIST(`symlink '${e}' -> '${t}'`);const r=this.setFileSource(n,e);if(this.registerEntry(n,r),-1===this.libzip.file.setExternalAttributes(this.zip,r,0,0,this.libzip.ZIP_OPSYS_UNIX,41471<<16))throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip)))}async readFilePromise(e,t){switch(t){case"utf8":default:return this.readFileSync(e,t)}}readFileSync(e,t){if("string"!=typeof e)throw c.EBADF("read");"object"==typeof t&&(t=t?t.encoding:void 0);const n=this.resolveFilename(`open '${e}'`,e);if(!this.entries.has(n)&&!this.listings.has(n))throw c.ENOENT(`open '${e}'`);if("/"===e[e.length-1]&&!this.listings.has(n))throw c.ENOTDIR(`open '${e}'`);if(this.listings.has(n))throw c.EISDIR("read");const r=this.entries.get(n);if(void 0===r)throw new Error("Unreachable");const A=this.getFileSource(r);return t?A.toString(t):A}async readdirPromise(e,{withFileTypes:t}={}){return this.readdirSync(e,{withFileTypes:t})}readdirSync(e,{withFileTypes:t}={}){const n=this.resolveFilename(`scandir '${e}'`,e);if(!this.entries.has(n)&&!this.listings.has(n))throw c.ENOENT(`scandir '${e}'`);const r=this.listings.get(n);if(!r)throw c.ENOTDIR(`scandir '${e}'`);const A=[...r];return t?A.map(t=>Object.assign(this.statImpl("lstat",u.ppath.join(e,t)),{name:t})):A}async readlinkPromise(e){return this.readlinkSync(e)}readlinkSync(e){const t=this.resolveFilename(`readlink '${e}'`,e,!1);if(!this.entries.has(t)&&!this.listings.has(t))throw c.ENOENT(`readlink '${e}'`);if("/"===e[e.length-1]&&!this.listings.has(t))throw c.ENOTDIR(`open '${e}'`);if(this.listings.has(t))throw c.EINVAL(`readlink '${e}'`);const n=this.entries.get(t);if(void 0===n)throw new Error("Unreachable");if(-1===this.libzip.file.getExternalAttributes(this.zip,n,0,0,this.libzip.uint08S,this.libzip.uint32S))throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip)));if(this.libzip.getValue(this.libzip.uint08S,"i8")>>>0!==this.libzip.ZIP_OPSYS_UNIX)throw c.EINVAL(`readlink '${e}'`);if(40960!=(61440&this.libzip.getValue(this.libzip.uint32S,"i32")>>>16))throw c.EINVAL(`readlink '${e}'`);return this.getFileSource(n).toString()}watch(e,t,n){let r;switch(typeof t){case"function":case"string":case"undefined":r=!0;break;default:({persistent:r=!0}=t)}if(!r)return{on:()=>{},close:()=>{}};const A=setInterval(()=>{},864e5);return{on:()=>{},close:()=>{clearInterval(A)}}}}t.ZipFS=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1),A=n(32);function i(){return r.npath.toPortablePath(A.homedir()||"/usr/local/share")}t.getDefaultGlobalFolder=function(){if("win32"===process.platform){const e=r.npath.toPortablePath(process.env.LOCALAPPDATA||r.npath.join(A.homedir(),"AppData","Local"));return r.ppath.resolve(e,"Yarn/Berry")}if(process.env.XDG_DATA_HOME){const e=r.npath.toPortablePath(process.env.XDG_DATA_HOME);return r.ppath.resolve(e,"yarn/berry")}return r.ppath.resolve(i(),".yarn/berry")},t.getHomeFolder=i,t.isFolderInside=function(e,t){const n=r.ppath.relative(t,e);return n&&!n.startsWith("..")&&!r.ppath.isAbsolute(n)}},function(e,t,n){"use strict";class r extends Error{constructor(e){super(e||"Promise was canceled"),this.name="CancelError"}get isCanceled(){return!0}}class A{static fn(e){return(...t)=>new A((n,r,A)=>{t.push(A),e(...t).then(n,r)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((t,n)=>{this._reject=n;const r=e=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(e)};return Object.defineProperties(r,{shouldReject:{get:()=>this._rejectOnCancel,set:e=>{this._rejectOnCancel=e}}}),e(e=>{this._isPending=!1,t(e)},e=>{this._isPending=!1,n(e)},r)})}then(e,t){return this._promise.then(e,t)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(this._isPending&&!this._isCanceled){if(this._cancelHandlers.length>0)try{for(const e of this._cancelHandlers)e()}catch(e){this._reject(e)}this._isCanceled=!0,this._rejectOnCancel&&this._reject(new r(e))}}get isCanceled(){return this._isCanceled}}Object.setPrototypeOf(A.prototype,Promise.prototype),e.exports=A,e.exports.CancelError=r},function(e,t,n){"use strict";const r=n(483),A=n(485);class i extends Error{constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}}async function o(e,t){if(!e)return Promise.reject(new Error("Expected a stream"));t={maxBuffer:1/0,...t};const{maxBuffer:n}=t;let o;return await new Promise((s,a)=>{const c=e=>{e&&(e.bufferedData=o.getBufferedValue()),a(e)};(o=r(e,A(t),e=>{e?c(e):s()})).on("data",()=>{o.getBufferedLength()>n&&c(new i)})}),o.getBufferedValue()}e.exports=o,e.exports.default=o,e.exports.buffer=(e,t)=>o(e,{...t,encoding:"buffer"}),e.exports.array=(e,t)=>o(e,{...t,array:!0}),e.exports.MaxBufferError=i},function(e,t){e.exports=function e(t,n){if(t&&n)return e(t)(n);if("function"!=typeof t)throw new TypeError("need wrapper function");Object.keys(t).forEach((function(e){r[e]=t[e]}));return r;function r(){for(var e=new Array(arguments.length),n=0;nnew Promise((n,r)=>{Object.assign(t,m.default(e)),delete t.url;const A=t.cacheableRequest(t,n);t.url=e,A.once("error",e=>{e instanceof h.RequestError?r(new U(e.message,e,t)):r(new G(e,t))}),A.once("request",n)}),P=async e=>new Promise((t,n)=>{const r=e=>{n(e)};e.once("error",r),e.once("open",()=>{e.off("error",r),t()})}),L=new Set([300,301,302,303,304,307,308]),O=["context","body","json","form"],T=(e,t)=>{const n={};for(const t of e)if(t)for(const e of O)e in t&&(n[e]={writable:!0,configurable:!0,enumerable:!1,value:t[e]});Object.defineProperties(t,n)};class U extends Error{constructor(e,t,n,r){var A;if(super(e),Error.captureStackTrace(this,this.constructor),this.name="RequestError",this.code=t.code,Object.defineProperty(this,"options",{enumerable:!1,value:n}),r instanceof a.IncomingMessage?(Object.defineProperty(this,"response",{enumerable:!1,value:r}),Object.defineProperty(this,"request",{enumerable:!1,value:r.request})):r instanceof X&&(Object.defineProperty(this,"request",{enumerable:!1,value:r}),Object.defineProperty(this,"response",{enumerable:!1,value:r[v]})),this.timings=null===(A=this.request)||void 0===A?void 0:A.timings,!d.default.undefined(t.stack)){const e=this.stack.indexOf(this.message)+this.message.length,n=this.stack.slice(e).split("\n").reverse(),r=t.stack.slice(t.stack.indexOf(t.message)+t.message.length).split("\n").reverse();for(;0!==r.length&&r[0]===n[0];)n.shift();this.stack=`${this.stack.slice(0,e)}${n.reverse().join("\n")}${r.reverse().join("\n")}`}}}t.RequestError=U;class Y extends U{constructor(e,t,n){super(`Redirected ${t} times. Aborting.`,{},n),this.name="MaxRedirectsError",Object.defineProperty(this,"response",{enumerable:!1,value:e})}}t.MaxRedirectsError=Y;class j extends U{constructor(e,t){super(`Response code ${e.statusCode} (${e.statusMessage})`,{},t),this.name="HTTPError",Object.defineProperty(this,"response",{enumerable:!1,value:e})}}t.HTTPError=j;class G extends U{constructor(e,t){super(e.message,e,t),this.name="CacheError"}}t.CacheError=G;class J extends U{constructor(e,t,n){super(e.message,e,t,n),this.name="UploadError"}}t.UploadError=J;class H extends U{constructor(e,t,n){super(e.message,e,n),this.name="TimeoutError",this.event=e.event,this.timings=t}}t.TimeoutError=H;class q extends U{constructor(e,t,n){super(e.message,e,t,n),this.name="ReadError"}}t.ReadError=q;class z extends U{constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e),this.name="UnsupportedProtocolError"}}t.UnsupportedProtocolError=z;const W=["socket","abort","connect","continue","information","upgrade","timeout"];class X extends A.Duplex{constructor(e,n={},r){super({highWaterMark:0}),this[D]=0,this[k]=0,this.finalized=!1,this[_]=new Set,this.redirects=[],this.errored=!1,this._progressCallbacks=[];const A=()=>this._unlockWrite(),o=()=>this._lockWrite();this.on("pipe",e=>{e.prependListener("data",A),e.on("data",o),e.prependListener("end",A),e.on("end",o)}),this.on("unpipe",e=>{e.off("data",A),e.off("data",o),e.off("end",A),e.off("end",o)}),this.on("pipe",e=>{e instanceof a.IncomingMessage&&(this.options.headers={...e.headers,...this.options.headers})});const{json:s,body:c,form:u}=n;(s||c||u)&&this._lockWrite(),(async n=>{try{n.body instanceof i.ReadStream&&await P(n.body),t.kIsNormalizedAlready in n?this.options=n:this.options=this.constructor.normalizeArguments(e,n,r);const{url:A}=this.options;if(!A)throw new TypeError("Missing `url` property");this.requestUrl=A.toString(),decodeURI(this.requestUrl),await this._finalizeBody(),await this._makeRequest(),this.finalized=!0,this.emit("finalized")}catch(e){if(e instanceof U)return void this._beforeError(e);this.destroy(e)}})(n)}static normalizeArguments(e,n,A){var i,s,a,c;const u=n;if(d.default.object(e)&&!d.default.urlInstance(e))n={...A,...e,...n};else{if(e&&n&&n.url)throw new TypeError("The `url` option is mutually exclusive with the `input` argument");n={...A,...n},e&&(n.url=e)}if(u&&A)for(const e in u)d.default.undefined(u[e])&&!d.default.undefined(A[e])&&(n[e]=A[e]);if(!1===n.cache&&(n.cache=void 0),d.assert.any([d.default.string,d.default.undefined],n.method),d.assert.any([d.default.object,d.default.undefined],n.headers),d.assert.any([d.default.string,d.default.urlInstance,d.default.undefined],n.prefixUrl),d.assert.any([d.default.object,d.default.undefined],n.cookieJar),d.assert.any([d.default.object,d.default.string,d.default.undefined],n.searchParams),d.assert.any([d.default.object,d.default.string,d.default.undefined],n.cache),d.assert.any([d.default.object,d.default.number,d.default.undefined],n.timeout),d.assert.any([d.default.object,d.default.undefined],n.context),d.assert.any([d.default.object,d.default.undefined],n.hooks),d.assert.any([d.default.boolean,d.default.undefined],n.decompress),d.assert.any([d.default.boolean,d.default.undefined],n.ignoreInvalidCookies),d.assert.any([d.default.boolean,d.default.undefined],n.followRedirect),d.assert.any([d.default.number,d.default.undefined],n.maxRedirects),d.assert.any([d.default.boolean,d.default.undefined],n.throwHttpErrors),d.assert.any([d.default.boolean,d.default.undefined],n.http2),d.assert.any([d.default.boolean,d.default.undefined],n.allowGetBody),d.assert.any([d.default.boolean,d.default.undefined],n.rejectUnauthorized),d.default.string(n.method)?n.method=n.method.toUpperCase():n.method="GET",d.default.undefined(n.headers)?n.headers={}:n.headers=f({...null===(i=A)||void 0===i?void 0:i.headers,...n.headers}),"slashes"in n)throw new TypeError("The legacy `url.Url` has been deprecated. Use `URL` instead.");if("auth"in n)throw new TypeError("Parameter `auth` is deprecated. Use `username` / `password` instead.");if(n.prefixUrl?(n.prefixUrl=n.prefixUrl.toString(),""===n.prefixUrl||n.prefixUrl.endsWith("/")||(n.prefixUrl+="/")):n.prefixUrl="",d.default.string(n.url)){if(n.url.startsWith("/"))throw new Error("`input` must not start with a slash when using `prefixUrl`");n.url=Q.default(n.prefixUrl+n.url,n)}else(d.default.undefined(n.url)&&""!==n.prefixUrl||n.protocol)&&(n.url=Q.default(n.prefixUrl,n));if(n.url){let{prefixUrl:e}=n;Object.defineProperty(n,"prefixUrl",{set:t=>{const r=n.url;if(!r.href.startsWith(t))throw new Error(`Cannot change \`prefixUrl\` from ${e} to ${t}: ${r.href}`);n.url=new o.URL(t+r.href.slice(e.length)),e=t},get:()=>e});let{protocol:t}=n.url;if("unix:"===t&&(t="http:",n.url=new o.URL(`http://unix${n.url.pathname}${n.url.search}`)),n.url.search){const e="_GOT_INTERNAL_TRIGGER_NORMALIZATION";n.url.searchParams.append(e,""),n.url.searchParams.delete(e)}if("http:"!==t&&"https:"!==t)throw new z(n)}if(n.username=null!=(s=n.username)?s:"",n.password=null!=(a=n.password)?a:"",n.url&&(n.url.username=n.username,n.url.password=n.password),n.cookieJar){let{setCookie:e,getCookieString:t}=n.cookieJar;if(4===e.length&&0===t.length)e=r.promisify(e.bind(n.cookieJar)),t=r.promisify(t.bind(n.cookieJar));else{if(2!==e.length)throw new TypeError("`options.cookieJar.setCookie` needs to be an async function with 2 arguments");if(1!==t.length)throw new TypeError("`options.cookieJar.getCookieString` needs to be an async function with 1 argument")}n.cookieJar={setCookie:e,getCookieString:t}}if(n.searchParams){d.default.string(n.searchParams)||n.searchParams instanceof o.URLSearchParams||function(e){for(const t in e){const n=e[t];if(!(d.default.string(n)||d.default.number(n)||d.default.boolean(n)||d.default.null_(n)))throw new TypeError(`The \`searchParams\` value '${String(n)}' must be a string, number, boolean or null`)}}(n.searchParams),n.searchParams=new o.URLSearchParams(n.searchParams);const e=A;e&&e.searchParams instanceof o.URLSearchParams&&e.searchParams.forEach((e,t)=>{n.searchParams.append(t,e)}),n.url&&(n.url.search=n.searchParams.toString())}if(n.cache&&!n.cacheableRequest&&(n.cacheableRequest=new h((e,t)=>e[w](e,t),n.cache)),!0===n.dnsCache)n.dnsCache=new l.default;else if(!(d.default.undefined(n.dnsCache)||!1===n.dnsCache||n.dnsCache instanceof l.default))throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${d.default(n.dnsCache)}`);d.default.number(n.timeout)?n.timeout={request:n.timeout}:n.timeout=A?{...A.timeout,...n.timeout}:{...n.timeout},n.context||(n.context={}),n.hooks={...n.hooks};for(const e of t.knownHookEvents)if(e in n.hooks){if(!d.default.array(n.hooks[e]))throw new TypeError(`Parameter \`${e}\` must be an Array, got ${d.default(n.hooks[e])}`);n.hooks[e]=[...n.hooks[e]]}else n.hooks[e]=[];if(A)for(const e of t.knownHookEvents){0!==A.hooks[e].length&&(n.hooks[e]=[...A.hooks[e],...n.hooks[e]])}if("followRedirects"in n)throw new TypeError("The `followRedirects` option does not exist. Use `followRedirect` instead.");if(n.agent)for(const e in n.agent)if("http"!==e&&"https"!==e&&"http2"!==e)throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${e}\``);return n.maxRedirects=null!=(c=n.maxRedirects)?c:0,T([A,n],n),n}_lockWrite(){const e=()=>{throw new TypeError("The payload has been already provided")};this.write=e,this.end=e}_unlockWrite(){this.write=super.write,this.end=super.end}async _finalizeBody(){const{options:e}=this,{headers:n}=e,r=!d.default.undefined(e.form),i=!d.default.undefined(e.json),s=!d.default.undefined(e.body),a=r||i||s,c=t.withoutBody.has(e.method)&&!("GET"===e.method&&e.allowGetBody);if(this._cannotHaveBody=c,a){if(c)throw new TypeError(`The \`${e.method}\` method cannot be used with a body`);if([s,r,i].filter(e=>e).length>1)throw new TypeError("The `body`, `json` and `form` options are mutually exclusive");if(s&&!(e.body instanceof A.Readable)&&!d.default.string(e.body)&&!d.default.buffer(e.body)&&!E.default(e.body))throw new TypeError("The `body` option must be a stream.Readable, string or Buffer");if(r&&!d.default.object(e.form))throw new TypeError("The `form` option must be an Object");{const t=!d.default.string(n["content-type"]);s?E.default(e.body)&&t&&(n["content-type"]=`multipart/form-data; boundary=${e.body.getBoundary()}`):r?(t&&(n["content-type"]="application/x-www-form-urlencoded"),e.body=new o.URLSearchParams(e.form).toString()):(t&&(n["content-type"]="application/json"),e.body=JSON.stringify(e.json));const A=await I.default(e);d.default.undefined(n["content-length"])&&d.default.undefined(n["transfer-encoding"])&&(c||d.default.undefined(A)||(n["content-length"]=String(A)))}}else c?this._lockWrite():this._unlockWrite();this[S]=Number(n["content-length"])||void 0}async _onResponse(e){const{options:t}=this,{url:n}=t;t.decompress&&(e=g(e));const r=e.statusCode,A=e;A.statusMessage=""===A.statusMessage?s.STATUS_CODES[r]:A.statusMessage,A.url=t.url.toString(),A.requestUrl=this.requestUrl,A.redirectUrls=this.redirects,A.request=this,A.isFromCache=e.fromCache||!1,A.ip=this.ip,this[M]=A.isFromCache,this[b]=Number(e.headers["content-length"])||void 0,this[v]=e,e.once("end",()=>{this[b]=this[D],this.emit("downloadProgress",this.downloadProgress)}),e.on("error",n=>{this._beforeError(new q(n,t,e))}),this.emit("downloadProgress",this.downloadProgress);const i=e.headers["set-cookie"];if(d.default.object(t.cookieJar)&&i){let e=i.map(async e=>t.cookieJar.setCookie(e,n.toString()));t.ignoreInvalidCookies&&(e=e.map(async e=>e.catch(()=>{})));try{await Promise.all(e)}catch(e){return void this._beforeError(e)}}if(t.followRedirect&&e.headers.location&&L.has(r)){if(e.resume(),this[w]&&(this[N](),delete this[w],this[F]()),!(303===r&&"GET"!==t.method&&"HEAD"!==t.method)&&t.methodRewriting||(t.method="GET","body"in t&&delete t.body,"json"in t&&delete t.json,"form"in t&&delete t.form),this.redirects.length>=t.maxRedirects)return void this._beforeError(new Y(A,t.maxRedirects,t));try{const r=Buffer.from(e.headers.location,"binary").toString(),i=new o.URL(r,n),s=i.toString();decodeURI(s),i.hostname!==n.hostname&&("cookie"in t.headers&&delete t.headers.cookie,"authorization"in t.headers&&delete t.headers.authorization,(t.username||t.password)&&(delete t.username,delete t.password)),this.redirects.push(s),t.url=i;for(const e of t.hooks.beforeRedirect)await e(t,A);this.emit("redirect",A,t),await this._makeRequest()}catch(e){return void this._beforeError(e)}return}const a=t.followRedirect?299:399,c=r>=200&&r<=a||304===r;if(!t.throwHttpErrors||c||(await this._beforeError(new j(A,t)),!this.destroyed)){e.on("readable",()=>{this.readableFlowing&&this._read()}),this.on("resume",()=>{e.resume()}),this.on("pause",()=>{e.pause()}),e.once("end",()=>{this.push(null)}),this.emit("response",e);for(const n of this[_])if(!n.headersSent){for(const r in e.headers){const A=!t.decompress||"content-encoding"!==r,i=e.headers[r];A&&n.setHeader(r,i)}n.statusCode=r}}}_onRequest(e){const{options:t}=this,{timeout:n,url:r}=t;u.default(e),this[N]=y.default(e,n,r),e.once("response",e=>{this._onResponse(e)}),e.once("error",e=>{e=e instanceof y.TimeoutError?new H(e,this.timings,t):new U(e.message,e,t,this),this._beforeError(e)}),this[F]=B.default(e,this,W),this[w]=e,this.emit("uploadProgress",this.uploadProgress);const A=0===this.redirects.length?this:e;d.default.nodeStream(t.body)?(t.body.pipe(A),t.body.once("error",e=>{this._beforeError(new J(e,t,this))}),t.body.once("end",()=>{delete t.body})):(this._unlockWrite(),d.default.undefined(t.body)?(this._cannotHaveBody||this._noPipe)&&(A.end(),this._lockWrite()):(this._writeRequest(t.body,null,()=>{}),A.end(),this._lockWrite())),this.emit("request",e)}async _makeRequest(){var e,t;const{options:n}=this,{url:r,headers:A,request:i,agent:o,timeout:a}=n;for(const e in A)if(d.default.undefined(A[e]))delete A[e];else if(d.default.null_(A[e]))throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${e}\` header`);if(n.decompress&&d.default.undefined(A["accept-encoding"])&&(A["accept-encoding"]=K?"gzip, deflate, br":"gzip, deflate"),n.cookieJar){const e=await n.cookieJar.getCookieString(n.url.toString());d.default.nonEmptyString(e)&&(n.headers.cookie=e)}for(const e of n.hooks.beforeRequest){const t=await e(n);if(!d.default.undefined(t)){n.request=()=>t;break}}if(!n.dnsCache||"lookup"in n||(n.lookup=n.dnsCache.lookup),"unix"===r.hostname){const t=/(?.+?):(?.+)/.exec(`${r.pathname}${r.search}`);if(null===(e=t)||void 0===e?void 0:e.groups){const{socketPath:e,path:r}=t.groups;Object.assign(n,{socketPath:e,path:r,host:""})}}const u="https:"===r.protocol;let g;g=n.http2?p.auto:u?c.request:s.request;const l=null!=(t=n.request)?t:g,h=n.cacheableRequest?x:l;let f;o&&!n.http2&&(n.agent=o[u?"https":"http"]),n[w]=l,delete n.request,delete n.timeout;try{f=await h(r,n),d.default.undefined(f)&&(f=g(r,n)),n.request=i,n.timeout=a,n.agent=o,C=f,!d.default.object(C)||"statusCode"in C?this.writable?(this.once("finish",()=>{this._onResponse(f)}),this._unlockWrite(),this.end(),this._lockWrite()):this._onResponse(f):this._onRequest(f)}catch(e){if(e instanceof U)throw e;throw new U(e.message,e,n,this)}var C}async _beforeError(e){this.errored=!0,e instanceof U||(e=new U(e.message,e,this.options,this));try{const{response:t}=e;t&&d.default.undefined(t.body)&&(t.body=await C(t,{...this.options,encoding:this._readableState.encoding}))}catch(e){}try{for(const t of this.options.hooks.beforeError)e=await t(e)}catch(t){e=new U(t.message,t,this.options,this)}this.destroy(e)}_read(){if(v in this&&!this.errored){let e;for(;null!==(e=this[v].read());){this[D]+=e.length,this[R]=!0;const t=this.downloadProgress;t.percent<1&&this.emit("downloadProgress",t),this.push(e)}}}_write(e,t,n){const r=()=>{this._writeRequest(e,t,n)};this.finalized?r():this.once("finalized",r)}_writeRequest(e,t,n){this._progressCallbacks.push(()=>{this[k]+=Buffer.byteLength(e,t);const n=this.uploadProgress;n.percent<1&&this.emit("uploadProgress",n)}),this[w].write(e,t,e=>{e||0===this._progressCallbacks.length||this._progressCallbacks.shift()(),n(e)})}_final(e){const t=()=>{for(;0!==this._progressCallbacks.length;)this._progressCallbacks.shift()();w in this?this[w].end(t=>{t||(this[S]=this[k],this.emit("uploadProgress",this.uploadProgress),this[w].emit("upload-complete")),e(t)}):e()};this.finalized?t():this.once("finalized",t)}_destroy(e,t){w in this?this[w].abort():this.once("finalized",()=>{w in this&&this[w].abort()}),null===e||d.default.undefined(e)||e instanceof U||(e=new U(e.message,e,this.options,this)),t(e)}get ip(){var e;return null===(e=this[w])||void 0===e?void 0:e.socket.remoteAddress}get aborted(){var e;return Boolean(null===(e=this[w])||void 0===e?void 0:e.aborted)}get downloadProgress(){let e;return{percent:e=this[b]?this[D]/this[b]:this[b]===this[D]?1:0,transferred:this[D],total:this[b]}}get uploadProgress(){let e;return{percent:e=this[S]?this[k]/this[S]:this[S]===this[k]?1:0,transferred:this[k],total:this[S]}}get timings(){var e;return null===(e=this[w])||void 0===e?void 0:e.timings}get isFromCache(){return this[M]}pipe(e,t){if(this[R])throw new Error("Failed to pipe. The response has been emitted already.");return e instanceof a.ServerResponse&&this[_].add(e),super.pipe(e,t)}unpipe(e){return e instanceof a.ServerResponse&&this[_].delete(e),super.unpipe(e),this}}t.default=X},function(e,t,n){"use strict";e.exports=e=>{const t={};for(const[n,r]of Object.entries(e))t[n.toLowerCase()]=r;return t}},function(e,t){e.exports=require("http2")},function(e,t,n){"use strict";const r=n(181);e.exports=(e,t={})=>{let n=(e,A={})=>{let i=t.escapeInvalid&&r.isInvalidBrace(A),o=!0===e.invalid&&!0===t.escapeInvalid,s="";if(e.value)return(i||o)&&r.isOpenOrClose(e)?"\\"+e.value:e.value;if(e.value)return e.value;if(e.nodes)for(let t of e.nodes)s+=n(t);return s};return n(e)}},function(e,t,n){"use strict";t.isInteger=e=>"number"==typeof e?Number.isInteger(e):"string"==typeof e&&""!==e.trim()&&Number.isInteger(Number(e)),t.find=(e,t)=>e.nodes.find(e=>e.type===t),t.exceedsLimit=(e,n,r=1,A)=>!1!==A&&(!(!t.isInteger(e)||!t.isInteger(n))&&(Number(n)-Number(e))/Number(r)>=A),t.escapeNode=(e,t=0,n)=>{let r=e.nodes[t];r&&(n&&r.type===n||"open"===r.type||"close"===r.type)&&!0!==r.escaped&&(r.value="\\"+r.value,r.escaped=!0)},t.encloseBrace=e=>"brace"===e.type&&(e.commas>>0+e.ranges>>0==0&&(e.invalid=!0,!0)),t.isInvalidBrace=e=>"brace"===e.type&&(!(!0!==e.invalid&&!e.dollar)||(e.commas>>0+e.ranges>>0==0?(e.invalid=!0,!0):(!0!==e.open||!0!==e.close)&&(e.invalid=!0,!0))),t.isOpenOrClose=e=>"open"===e.type||"close"===e.type||(!0===e.open||!0===e.close),t.reduce=e=>e.reduce((e,t)=>("text"===t.type&&e.push(t.value),"range"===t.type&&(t.type="text"),e),[]),t.flatten=(...e)=>{const t=[],n=e=>{for(let r=0;rnull!==e&&"object"==typeof e&&!Array.isArray(e),t.hasRegexChars=e=>i.test(e),t.isRegexChar=e=>1===e.length&&t.hasRegexChars(e),t.escapeRegex=e=>e.replace(o,"\\$1"),t.toPosixSlashes=e=>e.replace(/\\/g,"/"),t.isWindows=e=>e&&"boolean"==typeof e.windows?e.windows:!0===A||"\\"===r.sep,t.escapeLast=(e,n,r)=>{let A=e.lastIndexOf(n,r);return-1===A?e:"\\"===e[A-1]?t.escapeLast(e,n,A-1):e.slice(0,A)+"\\"+e.slice(A)}},function(e,t,n){"use strict";var r=n(69);e.exports=new r({explicit:[n(539),n(540),n(541)]})},function(e,t,n){"use strict";const r=n(4),A="win32"===process.platform,{REGEX_BACKSLASH:i,REGEX_REMOVE_BACKSLASH:o,REGEX_SPECIAL_CHARS:s,REGEX_SPECIAL_CHARS_GLOBAL:a}=n(126);t.isObject=e=>null!==e&&"object"==typeof e&&!Array.isArray(e),t.hasRegexChars=e=>s.test(e),t.isRegexChar=e=>1===e.length&&t.hasRegexChars(e),t.escapeRegex=e=>e.replace(a,"\\$1"),t.toPosixSlashes=e=>e.replace(i,"/"),t.removeBackslashes=e=>e.replace(o,e=>"\\"===e?"":e),t.supportsLookbehinds=()=>{const e=process.version.slice(1).split(".").map(Number);return 3===e.length&&e[0]>=9||8===e[0]&&e[1]>=10},t.isWindows=e=>e&&"boolean"==typeof e.windows?e.windows:!0===A||"\\"===r.sep,t.escapeLast=(e,n,r)=>{const A=e.lastIndexOf(n,r);return-1===A?e:"\\"===e[A-1]?t.escapeLast(e,n,A-1):`${e.slice(0,A)}\\${e.slice(A)}`},t.removePrefix=(e,t={})=>{let n=e;return n.startsWith("./")&&(n=n.slice(2),t.prefix="./"),n},t.wrapOutput=(e,t={},n={})=>{let r=`${n.contains?"":"^"}(?:${e})${n.contains?"":"$"}`;return!0===t.negated&&(r=`(?:^(?!${r}).*$)`),r}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(579),A=n(582),i=n(583);function o(e={}){return e instanceof i.default?e:new i.default(e)}t.Settings=i.default,t.scandir=function(e,t,n){if("function"==typeof t)return r.read(e,o(),t);r.read(e,o(t),n)},t.scandirSync=function(e,t){const n=o(t);return A.read(e,n)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isFatalError=function(e,t){return null===e.errorFilter||!e.errorFilter(t)},t.isAppliedFilter=function(e,t){return null===e||e(t)},t.replacePathSegmentSeparator=function(e,t){return e.split(/[\\/]/).join(t)},t.joinPathSegments=function(e,t,n){return""===e?t:e+n+t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(4),A=n(591),i=n(594),o=n(595),s=n(596);t.default=class{constructor(e){this._settings=e,this.errorFilter=new o.default(this._settings),this.entryFilter=new i.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new A.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new s.default(this._settings)}_getRootDirectory(e){return r.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){const t="."===e.base?"":e.base;return{basePath:t,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(t,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}}},function(e,t){const n=/^[0-9]+$/,r=(e,t)=>{const r=n.test(e),A=n.test(t);return r&&A&&(e=+e,t=+t),e===t?0:r&&!A?-1:A&&!r?1:er(t,e)}},function(e,t,n){const r=n(42);e.exports=(e,t,n)=>0===r(e,t,n)},function(e,t,n){const r=n(16);e.exports=(e,t,n)=>{const A=new r(e,n),i=new r(t,n);return A.compare(i)||A.compareBuild(i)}},function(e,t,n){const r=n(42);e.exports=(e,t,n)=>r(e,t,n)<0},function(e,t,n){const r=n(42);e.exports=(e,t,n)=>r(e,t,n)>=0},function(e,t,n){const r=n(42);e.exports=(e,t,n)=>r(e,t,n)<=0},function(e,t,n){const r=Symbol("SemVer ANY");class A{static get ANY(){return r}constructor(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof A){if(e.loose===!!t.loose)return e;e=e.value}a("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===r?this.value="":this.value=this.operator+this.semver.version,a("comp",this)}parse(e){const t=this.options.loose?i[o.COMPARATORLOOSE]:i[o.COMPARATOR],n=e.match(t);if(!n)throw new TypeError(`Invalid comparator: ${e}`);this.operator=void 0!==n[1]?n[1]:"","="===this.operator&&(this.operator=""),n[2]?this.semver=new c(n[2],this.options.loose):this.semver=r}toString(){return this.value}test(e){if(a("Comparator.test",e,this.options.loose),this.semver===r||e===r)return!0;if("string"==typeof e)try{e=new c(e,this.options)}catch(e){return!1}return s(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof A))throw new TypeError("a Comparator is required");if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),""===this.operator)return""===this.value||new u(e.value,t).test(this.value);if(""===e.operator)return""===e.value||new u(this.value,t).test(e.semver);const n=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),r=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),i=this.semver.version===e.semver.version,o=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),a=s(this.semver,"<",e.semver,t)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),c=s(this.semver,">",e.semver,t)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return n||r||i&&o||a||c}}e.exports=A;const{re:i,t:o}=n(70),s=n(290),a=n(129),c=n(16),u=n(34)},function(e,t,n){const r=n(16),A=n(194),{ANY:i}=A,o=n(34),s=n(291),a=n(130),c=n(191),u=n(193),g=n(192);e.exports=(e,t,n,l)=>{let h,p,f,C,d;switch(e=new r(e,l),t=new o(t,l),n){case">":h=a,p=u,f=c,C=">",d=">=";break;case"<":h=c,p=g,f=a,C="<",d="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(s(e,t,l))return!1;for(let n=0;n{e.semver===i&&(e=new A(">=0.0.0")),o=o||e,s=s||e,h(e.semver,o.semver,l)?o=e:f(e.semver,s.semver,l)&&(s=e)}),o.operator===C||o.operator===d)return!1;if((!s.operator||s.operator===C)&&p(e,s.semver))return!1;if(s.operator===d&&f(e,s.semver))return!1}return!0}},function(e,t,n){"use strict";var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const A=r(n(297));function i(e){t.DEBUG&&console.log(e)}function o(){return{nodes:[{dynamics:[],shortcuts:[],statics:{}},{dynamics:[],shortcuts:[],statics:{}},{dynamics:[],shortcuts:[],statics:{}}]}}function s(e){const n={nodes:[{dynamics:[],shortcuts:[],statics:{}},{dynamics:[],shortcuts:[],statics:{}},{dynamics:[],shortcuts:[],statics:{}}]},r=[];let A=n.nodes.length;for(const t of e){r.push(A);for(let e=0;e{if(n.has(t))return;n.add(t);const A=e.nodes[t];for(const e of Object.values(A.statics))for(const{to:t}of e)r(t);for(const[,{to:e}]of A.dynamics)r(e);for(const{to:e}of A.shortcuts)r(e);const i=new Set(A.shortcuts.map(({to:e})=>e));for(;A.shortcuts.length>0;){const{to:t}=A.shortcuts.shift(),n=e.nodes[t];for(const[e,t]of Object.entries(n.statics)){let n=Object.prototype.hasOwnProperty.call(A.statics,e)?A.statics[e]:A.statics[e]=[];for(const e of t)n.some(({to:t})=>e.to===t)||n.push(e)}for(const[e,t]of n.dynamics)A.dynamics.some(([n,{to:r}])=>e===n&&t.to===r)||A.dynamics.push([e,t]);for(const e of n.shortcuts)i.has(e.to)||(A.shortcuts.push(e),i.add(e.to))}};r(t.NODE_INITIAL)}function u(e,{prefix:t=""}={}){i(`${t}Nodes are:`);for(let n=0;ne!==t.NODE_ERRORED).map(({state:e})=>({usage:e.candidateUsage,reason:null})));if(s.every(({node:e})=>e===t.NODE_ERRORED))throw new A.UnknownSyntaxError(n,s.map(({state:e})=>({usage:e.candidateUsage,reason:e.errorMessage})));r=l(s)}if(r.length>0){i(" Results:");for(const e of r)i(` - ${e.node} -> ${JSON.stringify(e.state)}`)}else i(" No results");return r}function l(e){let t=0;for(const{state:n}of e)n.path.length>t&&(t=n.path.length);return e.filter(({state:e})=>e.path.length===t)}function h(e,t){const n=t.filter(e=>null!==e.selectedIndex);if(0===n.length)throw new Error;let r=0;for(const e of n)e.path.length>r&&(r=e.path.length);const i=n.filter(e=>e.path.length===r),o=e=>e.positionals.filter(({extra:e})=>!e).length+e.options.length,s=i.map(e=>({state:e,positionalCount:o(e)}));let a=0;for(const{positionalCount:e}of s)e>a&&(a=e);const c=p(s.filter(({positionalCount:e})=>e===a).map(({state:e})=>e));if(c.length>1)throw new A.AmbiguousSyntaxError(e,c.map(e=>e.candidateUsage));return c[0]}function p(e){const n=[],r=[];for(const A of e)A.selectedIndex===t.HELP_COMMAND_INDEX?r.push(...A.options):n.push(A);return r.length>0&&n.push({candidateUsage:null,errorMessage:null,ignoreOptions:!1,path:[],positionals:[],options:r,selectedIndex:t.HELP_COMMAND_INDEX}),n}function f(){return{dynamics:[],shortcuts:[],statics:{}}}function C(e){return e===t.NODE_SUCCESS||e===t.NODE_ERRORED}function d(e,t=0){return{to:C(e.to)?e.to:e.to>2?e.to+t-2:e.to+t,reducer:e.reducer}}function I(e,t=0){const n={dynamics:[],shortcuts:[],statics:{}};for(const[r,A]of e.dynamics)n.dynamics.push([r,d(A,t)]);for(const r of e.shortcuts)n.shortcuts.push(d(r,t));for(const[r,A]of Object.entries(e.statics))n.statics[r]=A.map(e=>d(e,t));return n}function E(e,t,n,r,A){e.nodes[t].dynamics.push([n,{to:r,reducer:A}])}function B(e,t,n,r){e.nodes[t].shortcuts.push({to:n,reducer:r})}function y(e,t,n,r,A){(Object.prototype.hasOwnProperty.call(e.nodes[t].statics,n)?e.nodes[t].statics[n]:e.nodes[t].statics[n]=[]).push({to:r,reducer:A})}function m(e,t,n,r){if(Array.isArray(t)){const[A,...i]=t;return e[A](n,r,...i)}return e[t](n,r)}function Q(e,n){const r=Array.isArray(e)?t.tests[e[0]]:t.tests[e];if(void 0===r.suggest)return null;const A=Array.isArray(e)?e.slice(1):[];return r.suggest(n,...A)}t.NODE_INITIAL=0,t.NODE_SUCCESS=1,t.NODE_ERRORED=2,t.START_OF_INPUT="",t.END_OF_INPUT="\0",t.HELP_COMMAND_INDEX=-1,t.HELP_REGEX=/^(-h|--help)(?:=([0-9]+))?$/,t.OPTION_REGEX=/^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/,t.BATCH_REGEX=/^-[a-zA-Z]{2,}$/,t.BINDING_REGEX=/^([^=]+)=(.*)$/,t.DEBUG="1"===process.env.DEBUG_CLI,t.debug=i,t.makeStateMachine=o,t.makeAnyOfMachine=s,t.injectNode=a,t.simplifyMachine=c,t.debugMachine=u,t.runMachineInternal=g,t.trimSmallerBranches=l,t.selectBestState=h,t.aggregateHelpStates=p,t.makeNode=f,t.isTerminalNode=C,t.cloneTransition=d,t.cloneNode=I,t.registerDynamic=E,t.registerShortcut=B,t.registerStatic=y,t.execute=m,t.suggest=Q,t.tests={always:()=>!0,isNotOptionLike:(e,t)=>e.ignoreOptions||!t.startsWith("-"),isOption:(e,t,n)=>!e.ignoreOptions&&t===n,isBatchOption:(e,n,r)=>!e.ignoreOptions&&t.BATCH_REGEX.test(n)&&[...n.slice(1)].every(e=>r.includes(`-${e}`)),isBoundOption:(e,n,r)=>{const A=n.match(t.BINDING_REGEX);return!e.ignoreOptions&&!!A&&t.OPTION_REGEX.test(A[1])&&r.includes(A[1])},isNegatedOption:(e,t,n)=>!e.ignoreOptions&&t===`--no-${n.slice(2)}`,isHelp:(e,n)=>!e.ignoreOptions&&t.HELP_REGEX.test(n),isUnsupportedOption:(e,n,r)=>!e.ignoreOptions&&n.startsWith("-")&&t.OPTION_REGEX.test(n)&&!r.includes(n),isInvalidOption:(e,n)=>!e.ignoreOptions&&n.startsWith("-")&&!t.OPTION_REGEX.test(n)},t.tests.isOption.suggest=(e,t)=>[t],t.reducers={setCandidateUsage:(e,t,n)=>Object.assign({},e,{candidateUsage:n}),setSelectedIndex:(e,t,n)=>Object.assign({},e,{selectedIndex:n}),pushBatch:(e,t)=>Object.assign({},e,{options:e.options.concat([...t.slice(1)].map(e=>({name:`-${e}`,value:!0})))}),pushBound:(e,n)=>{const[,r,A]=n.match(t.BINDING_REGEX);return Object.assign({},e,{options:e.options.concat({name:r,value:A})})},pushPath:(e,t)=>Object.assign({},e,{path:e.path.concat(t)}),pushPositional:(e,t)=>Object.assign({},e,{positionals:e.positionals.concat({value:t,extra:!1})}),pushExtra:(e,t)=>Object.assign({},e,{positionals:e.positionals.concat({value:t,extra:!0})}),pushTrue:(e,t,n=t)=>Object.assign({},e,{options:e.options.concat({name:t,value:!0})}),pushFalse:(e,t,n=t)=>Object.assign({},e,{options:e.options.concat({name:n,value:!1})}),pushUndefined:(e,t)=>Object.assign({},e,{options:e.options.concat({name:t,value:void 0})}),setStringValue:(e,t)=>Object.assign({},e,{options:e.options.slice(0,-1).concat(Object.assign({},e.options[e.options.length-1],{value:t}))}),inhibateOptions:e=>Object.assign({},e,{ignoreOptions:!0}),useHelp:(e,n,r)=>{const[,A,i]=n.match(t.HELP_REGEX);return void 0!==i?Object.assign({},e,{options:[{name:"-c",value:String(r)},{name:"-i",value:i}]}):Object.assign({},e,{options:[{name:"-c",value:String(r)}]})},setError:(e,n,r)=>n===t.END_OF_INPUT?Object.assign({},e,{errorMessage:`${r}.`}):Object.assign({},e,{errorMessage:`${r} ("${n}").`})},t.NoLimits=Symbol();class w{constructor(e,t){this.allOptionNames=[],this.arity={leading:[],trailing:[],extra:[],proxy:!1},this.options=[],this.paths=[],this.cliIndex=e,this.cliOpts=t}addPath(e){this.paths.push(e)}setArity({leading:e=this.arity.leading,trailing:t=this.arity.trailing,extra:n=this.arity.extra,proxy:r=this.arity.proxy}){Object.assign(this.arity,{leading:e,trailing:t,extra:n,proxy:r})}addPositional({name:e="arg",required:n=!0}={}){if(!n&&this.arity.extra===t.NoLimits)throw new Error("Optional parameters cannot be declared when using .rest() or .proxy()");if(!n&&this.arity.trailing.length>0)throw new Error("Optional parameters cannot be declared after the required trailing positional arguments");n||this.arity.extra===t.NoLimits?this.arity.extra!==t.NoLimits&&0===this.arity.extra.length?this.arity.leading.push(e):this.arity.trailing.push(e):this.arity.extra.push(e)}addRest({name:e="arg",required:n=0}={}){if(this.arity.extra===t.NoLimits)throw new Error("Infinite lists cannot be declared multiple times in the same command");if(this.arity.trailing.length>0)throw new Error("Infinite lists cannot be declared after the required trailing positional arguments");for(let t=0;t0&&n.push(...this.paths[0]),e){for(const{names:e,arity:t,hidden:r}of this.options){if(r)continue;const A=[];for(let e=0;e`<${e}>`)),this.arity.extra===t.NoLimits?n.push("..."):n.push(...this.arity.extra.map(e=>`[${e}]`)),n.push(...this.arity.trailing.map(e=>`<${e}>`))}return n.join(" ")}compile(){if(void 0===this.context)throw new Error("Assertion failed: No context attached");const e={nodes:[{dynamics:[],shortcuts:[],statics:{}},{dynamics:[],shortcuts:[],statics:{}},{dynamics:[],shortcuts:[],statics:{}}]};let n=t.NODE_INITIAL;n=a(e,{dynamics:[],shortcuts:[],statics:{}}),y(e,t.NODE_INITIAL,t.START_OF_INPUT,n,["setCandidateUsage",this.usage()]);const r=this.arity.proxy?"always":"isNotOptionLike",A=this.paths.length>0?this.paths:[[]];for(const i of A){let A=n;if(i.length>0){const t=a(e,{dynamics:[],shortcuts:[],statics:{}});B(e,A,t),this.registerOptions(e,t),A=t}for(let t=0;t0||!this.arity.proxy){const n=a(e,{dynamics:[],shortcuts:[],statics:{}});E(e,A,"isHelp",n,["useHelp",this.cliIndex]),y(e,n,t.END_OF_INPUT,t.NODE_SUCCESS,["setSelectedIndex",t.HELP_COMMAND_INDEX]),this.registerOptions(e,A)}this.arity.leading.length>0&&y(e,A,t.END_OF_INPUT,t.NODE_ERRORED,["setError","Not enough positional arguments"]);let o=A;for(let n=0;n0||n+1!==this.arity.leading.length)&&y(e,r,t.END_OF_INPUT,t.NODE_ERRORED,["setError","Not enough positional arguments"]),E(e,o,"isNotOptionLike",r,"pushPositional"),o=r}let s=o;if(this.arity.extra===t.NoLimits||this.arity.extra.length>0){const n=a(e,{dynamics:[],shortcuts:[],statics:{}});if(B(e,o,n),this.arity.extra===t.NoLimits){const t=a(e,{dynamics:[],shortcuts:[],statics:{}});this.arity.proxy||this.registerOptions(e,t),E(e,o,r,t,"pushExtra"),E(e,t,r,t,"pushExtra"),B(e,t,n)}else for(let t=0;t0&&y(e,s,t.END_OF_INPUT,t.NODE_ERRORED,["setError","Not enough positional arguments"]);let c=s;for(let n=0;n=0&&e(function(e,n){return h(n,g(e,[...n,t.END_OF_INPUT]).map(({state:e})=>e))})(r,e),suggest:e=>(function(e,n){const r=g(e,n),A=new Set;for(const{node:n,state:i}of r){const r=e.nodes[n];for(const e of Object.keys(r.statics))A.add(e);for(const[e,{to:n}]of r.dynamics){if(n===t.NODE_ERRORED)continue;const r=Q(e,i);if(null!==r)for(const e of r)A.add(e)}}return A.delete(t.END_OF_INPUT),A})(r,e)}}}t.CliBuilder=v},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.HARD="HARD",e.SOFT="SOFT"}(t.LinkType||(t.LinkType={}))},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const A=r(n(15));t.satisfiesWithPrereleases=function(e,t,n=!1){let r,i;try{r=new A.default.Range(t,n)}catch(e){return!1}if(!e)return!1;try{(i=new A.default.SemVer(e,r.loose)).prerelease&&(i.prerelease=[])}catch(e){return!1}return r.set.some(e=>{for(const t of e)t.semver.prerelease&&(t.semver.prerelease=[]);return e.every(e=>e.test(i))})}},function(e,t,n){"use strict";const r=n(60);class A{constructor(e,t){this.path=e||"./",this.absolute=t,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}}const i=n(95),o=n(305),s=n(134),a=n(306),c=a.Sync,u=a.Tar,g=n(201),l=r.alloc(1024),h=Symbol("onStat"),p=Symbol("ended"),f=Symbol("queue"),C=Symbol("current"),d=Symbol("process"),I=Symbol("processing"),E=Symbol("processJob"),B=Symbol("jobs"),y=Symbol("jobDone"),m=Symbol("addFSEntry"),Q=Symbol("addTarEntry"),w=Symbol("stat"),v=Symbol("readdir"),b=Symbol("onreaddir"),D=Symbol("pipe"),S=Symbol("entry"),k=Symbol("entryOpt"),_=Symbol("writeEntryClass"),F=Symbol("write"),M=Symbol("ondrain"),N=n(3),R=n(4),K=n(203)(class extends i{constructor(e){super(e),e=e||Object.create(null),this.opt=e,this.cwd=e.cwd||process.cwd(),this.maxReadSize=e.maxReadSize,this.preservePaths=!!e.preservePaths,this.strict=!!e.strict,this.noPax=!!e.noPax,this.prefix=(e.prefix||"").replace(/(\\|\/)+$/,""),this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.readdirCache=e.readdirCache||new Map,this[_]=a,"function"==typeof e.onwarn&&this.on("warn",e.onwarn),this.zip=null,e.gzip?("object"!=typeof e.gzip&&(e.gzip={}),this.zip=new o.Gzip(e.gzip),this.zip.on("data",e=>super.write(e)),this.zip.on("end",e=>super.end()),this.zip.on("drain",e=>this[M]()),this.on("resume",e=>this.zip.resume())):this.on("drain",this[M]),this.portable=!!e.portable,this.noDirRecurse=!!e.noDirRecurse,this.follow=!!e.follow,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.filter="function"==typeof e.filter?e.filter:e=>!0,this[f]=new g,this[B]=0,this.jobs=+e.jobs||4,this[I]=!1,this[p]=!1}[F](e){return super.write(e)}add(e){return this.write(e),this}end(e){return e&&this.write(e),this[p]=!0,this[d](),this}write(e){if(this[p])throw new Error("write after end");return e instanceof s?this[Q](e):this[m](e),this.flowing}[Q](e){const t=R.resolve(this.cwd,e.path);if(this.prefix&&(e.path=this.prefix+"/"+e.path.replace(/^\.(\/+|$)/,"")),this.filter(e.path,e)){const n=new A(e.path,t,!1);n.entry=new u(e,this[k](n)),n.entry.on("end",e=>this[y](n)),this[B]+=1,this[f].push(n)}else e.resume();this[d]()}[m](e){const t=R.resolve(this.cwd,e);this.prefix&&(e=this.prefix+"/"+e.replace(/^\.(\/+|$)/,"")),this[f].push(new A(e,t)),this[d]()}[w](e){e.pending=!0,this[B]+=1;const t=this.follow?"stat":"lstat";N[t](e.absolute,(t,n)=>{e.pending=!1,this[B]-=1,t?this.emit("error",t):this[h](e,n)})}[h](e,t){this.statCache.set(e.absolute,t),e.stat=t,this.filter(e.path,t)||(e.ignore=!0),this[d]()}[v](e){e.pending=!0,this[B]+=1,N.readdir(e.absolute,(t,n)=>{if(e.pending=!1,this[B]-=1,t)return this.emit("error",t);this[b](e,n)})}[b](e,t){this.readdirCache.set(e.absolute,t),e.readdir=t,this[d]()}[d](){if(!this[I]){this[I]=!0;for(let e=this[f].head;null!==e&&this[B]{this.warn(e,t)},noPax:this.noPax,cwd:this.cwd,absolute:e.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime}}[S](e){this[B]+=1;try{return new this[_](e.path,this[k](e)).on("end",()=>this[y](e)).on("error",e=>this.emit("error",e))}catch(e){this.emit("error",e)}}[M](){this[C]&&this[C].entry&&this[C].entry.resume()}[D](e){e.piped=!0,e.readdir&&e.readdir.forEach(t=>{const n=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,r="./"===n?"":n.replace(/\/*$/,"/");this[m](r+t)});const t=e.entry,n=this.zip;n?t.on("data",e=>{n.write(e)||t.pause()}):t.on("data",e=>{super.write(e)||t.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}});K.Sync=class extends K{constructor(e){super(e),this[_]=c}pause(){}resume(){}[w](e){const t=this.follow?"statSync":"lstatSync";this[h](e,N[t](e.absolute))}[v](e,t){this[b](e,N.readdirSync(e.absolute))}[D](e){const t=e.entry,n=this.zip;e.readdir&&e.readdir.forEach(t=>{const n=this.prefix?e.path.slice(this.prefix.length+1)||"./":e.path,r="./"===n?"":n.replace(/\/*$/,"/");this[m](r+t)}),n?t.on("data",e=>{n.write(e)}):t.on("data",e=>{super[F](e)})}},e.exports=K},function(e,t,n){var r=n(30),A=r.Buffer;function i(e,t){for(var n in e)t[n]=e[n]}function o(e,t,n){return A(e,t,n)}A.from&&A.alloc&&A.allocUnsafe&&A.allocUnsafeSlow?e.exports=r:(i(r,t),t.Buffer=o),i(A,o),o.from=function(e,t,n){if("number"==typeof e)throw new TypeError("Argument must not be a number");return A(e,t,n)},o.alloc=function(e,t,n){if("number"!=typeof e)throw new TypeError("Argument must be a number");var r=A(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},o.allocUnsafe=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return A(e)},o.allocUnsafeSlow=function(e){if("number"!=typeof e)throw new TypeError("Argument must be a number");return r.SlowBuffer(e)}},function(e,t,n){"use strict";function r(e){var t=this;if(t instanceof r||(t=new r),t.tail=null,t.head=null,t.length=0,e&&"function"==typeof e.forEach)e.forEach((function(e){t.push(e)}));else if(arguments.length>0)for(var n=0,A=arguments.length;n1)n=t;else{if(!this.head)throw new TypeError("Reduce of empty list with no initial value");r=this.head.next,n=this.head.value}for(var A=0;null!==r;A++)n=e(n,r.value,A),r=r.next;return n},r.prototype.reduceReverse=function(e,t){var n,r=this.tail;if(arguments.length>1)n=t;else{if(!this.tail)throw new TypeError("Reduce of empty list with no initial value");r=this.tail.prev,n=this.tail.value}for(var A=this.length-1;null!==r;A--)n=e(n,r.value,A),r=r.prev;return n},r.prototype.toArray=function(){for(var e=new Array(this.length),t=0,n=this.head;null!==n;t++)e[t]=n.value,n=n.next;return e},r.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,n=this.tail;null!==n;t++)e[t]=n.value,n=n.prev;return e},r.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var n=new r;if(tthis.length&&(t=this.length);for(var A=0,i=this.head;null!==i&&Athis.length&&(t=this.length);for(var A=this.length,i=this.tail;null!==i&&A>t;A--)i=i.prev;for(;null!==i&&A>e;A--,i=i.prev)n.push(i.value);return n},r.prototype.reverse=function(){for(var e=this.head,t=this.tail,n=e;null!==n;n=n.prev){var r=n.prev;n.prev=n.next,n.next=r}return this.head=t,this.tail=e,this};try{n(653)(r)}catch(e){}},function(e,t,n){"use strict";const r=n(60),A=n(96),i=n(4);class o{constructor(e,t){this.atime=e.atime||null,this.charset=e.charset||null,this.comment=e.comment||null,this.ctime=e.ctime||null,this.gid=e.gid||null,this.gname=e.gname||null,this.linkpath=e.linkpath||null,this.mtime=e.mtime||null,this.path=e.path||null,this.size=e.size||null,this.uid=e.uid||null,this.uname=e.uname||null,this.dev=e.dev||null,this.ino=e.ino||null,this.nlink=e.nlink||null,this.global=t||!1}encode(){const e=this.encodeBody();if(""===e)return null;const t=r.byteLength(e),n=512*Math.ceil(1+t/512),o=r.allocUnsafe(n);for(let e=0;e<512;e++)o[e]=0;new A({path:("PaxHeader/"+i.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:t,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(o),o.write(e,512,t,"utf8");for(let e=t+512;e=Math.pow(10,A)&&(A+=1),A+n+t}}o.parse=(e,t,n)=>new o(s(a(e),t),n);const s=(e,t)=>t?Object.keys(e).reduce((t,n)=>(t[n]=e[n],t),t):e,a=e=>e.replace(/\n$/,"").split("\n").reduce(c,Object.create(null)),c=(e,t)=>{const n=parseInt(t,10);if(n!==r.byteLength(t)+1)return e;const A=(t=t.substr((n+" ").length)).split("="),i=A.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!i)return e;const o=A.join("=");return e[i]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(i)?new Date(1e3*o):/^[0-9]+$/.test(o)?+o:o,e};e.exports=o},function(e,t,n){"use strict";e.exports=e=>(class extends e{warn(e,t){if(this.strict)if(t instanceof Error)this.emit("error",t);else{const n=new Error(e);n.data=t,this.emit("error",n)}else this.emit("warn",e,t)}})},function(e,t,n){"use strict";const r=n(60),A=n(94),i=n(136),o=n(3),s=n(97),a=n(4),c=(e.exports=(e,t,n)=>{"function"==typeof e?(n=e,t=null,e={}):Array.isArray(e)&&(t=e,e={}),"function"==typeof t&&(n=t,t=null),t=t?Array.from(t):[];const r=A(e);if(r.sync&&"function"==typeof n)throw new TypeError("callback not supported for sync tar functions");if(!r.file&&"function"==typeof n)throw new TypeError("callback only supported with file option");return t.length&&u(r,t),r.noResume||c(r),r.file&&r.sync?g(r):r.file?l(r,n):h(r)},e=>{const t=e.onentry;e.onentry=t?e=>{t(e),e.resume()}:e=>e.resume()}),u=(e,t)=>{const n=new Map(t.map(e=>[e.replace(/\/+$/,""),!0])),r=e.filter,A=(e,t)=>{const r=t||a.parse(e).root||".",i=e!==r&&(n.has(e)?n.get(e):A(a.dirname(e),r));return n.set(e,i),i};e.filter=r?(e,t)=>r(e,t)&&A(e.replace(/\/+$/,"")):e=>A(e.replace(/\/+$/,""))},g=e=>{const t=h(e),n=e.file;let A,i=!0;try{const s=o.statSync(n),a=e.maxReadSize||16777216;if(s.size{const n=new i(e),r=e.maxReadSize||16777216,A=e.file,a=new Promise((e,t)=>{n.on("error",t),n.on("end",e),o.stat(A,(e,i)=>{if(e)t(e);else{const e=new s.ReadStream(A,{readSize:r,size:i.size});e.on("error",t),e.pipe(n)}})});return t?a.then(t,t):a},h=e=>new i(e)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.diffLines=function(e,t,n){return o.diff(e,t,n)},t.diffTrimmedLines=function(e,t,n){var r=(0,i.generateOptions)(n,{ignoreWhitespace:!0});return o.diff(e,t,r)},t.lineDiff=void 0;var r,A=(r=n(45))&&r.__esModule?r:{default:r},i=n(311);var o=new A.default;t.lineDiff=o,o.tokenize=function(e){var t=[],n=e.split(/(\n|\r\n)/);n[n.length-1]||n.pop();for(var r=0;r1&&void 0!==arguments[1]?arguments[1]:{},n=e.split(/\r\n|[\n\v\f\r\x85]/),r=e.match(/\r\n|[\n\v\f\r\x85]/g)||[],A=[],i=0;function o(){var e={};for(A.push(e);i65536)throw new TypeError("pattern is too long");var n=this.options;if(!n.noglobstar&&"**"===e)return A;if(""===e)return"";var r,i="",c=!!n.nocase,u=!1,l=[],h=[],p=!1,f=-1,C=-1,I="."===e.charAt(0)?"":n.dot?"(?!(?:^|\\/)\\.{1,2}(?:$|\\/))":"(?!\\.)",E=this;function B(){if(r){switch(r){case"*":i+=a,c=!0;break;case"?":i+=s,c=!0;break;default:i+="\\"+r}E.debug("clearStateChar %j %j",r,i),r=!1}}for(var y,m=0,Q=e.length;m-1;_--){var F=h[_],M=i.slice(0,F.reStart),N=i.slice(F.reStart,F.reEnd-8),R=i.slice(F.reEnd-8,F.reEnd),K=i.slice(F.reEnd);R+=K;var x=M.split("(").length-1,P=K;for(m=0;m=0&&!(A=e[i]);i--);for(i=0;i>> no match, partial?",e,l,t,h),l!==s))}if("string"==typeof u?(c=r.nocase?g.toLowerCase()===u.toLowerCase():g===u,this.debug("string match",u,g,c)):(c=g.match(u),this.debug("pattern match",u,g,c)),!c)return!1}if(i===s&&o===a)return!0;if(i===s)return n;if(o===a)return i===s-1&&""===e[i];throw new Error("wtf?")}},function(e,t,n){"use strict";function r(e){return"/"===e.charAt(0)}function A(e){var t=/^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/.exec(e),n=t[1]||"",r=Boolean(n&&":"!==n.charAt(1));return Boolean(t[2]||r)}e.exports="win32"===process.platform?A:r,e.exports.posix=r,e.exports.win32=A},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(4),A=n(703),i=n(704),o=n(705),s=n(706);t.default=class{constructor(e){this._settings=e,this.errorFilter=new o.default(this._settings),this.entryFilter=new i.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new A.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new s.default(this._settings)}_getRootDirectory(e){return r.resolve(this._settings.cwd,e.base)}_getReaderOptions(e){const t="."===e.base?"":e.base;return{basePath:t,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(t,e.positive,e.negative),entryFilter:this.entryFilter.getFilter(e.positive,e.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}}},function(e,t,n){var r=n(36),A=n(211),i=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,o=/^\w*$/;e.exports=function(e,t){if(r(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!A(e))||(o.test(e)||!i.test(e)||null!=t&&e in Object(t))}},function(e,t,n){var r=n(74),A=n(46),i="[object Symbol]";e.exports=function(e){return"symbol"==typeof e||A(e)&&r(e)==i}},function(e,t,n){var r=n(736),A=n(752),i=n(754),o=n(755),s=n(756);function a(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e<=n}},function(e,t,n){var r=n(138),A=n(761),i=n(762),o=n(763),s=n(764),a=n(765);function c(e){var t=this.__data__=new r(e);this.size=t.size}c.prototype.clear=A,c.prototype.delete=i,c.prototype.get=o,c.prototype.has=s,c.prototype.set=a,e.exports=c},function(e,t,n){(function(e){var r=n(37),A=n(770),i=t&&!t.nodeType&&t,o=i&&"object"==typeof e&&e&&!e.nodeType&&e,s=o&&o.exports===i?r.Buffer:void 0,a=(s?s.isBuffer:void 0)||A;e.exports=a}).call(this,n(29)(e))},function(e,t){e.exports=function(e){return function(t){return e(t)}}},function(e,t,n){(function(e){var r=n(329),A=t&&!t.nodeType&&t,i=A&&"object"==typeof e&&e&&!e.nodeType&&e,o=i&&i.exports===A&&r.process,s=function(){try{var e=i&&i.require&&i.require("util").types;return e||o&&o.binding&&o.binding("util")}catch(e){}}();e.exports=s}).call(this,n(29)(e))},function(e,t){var n=Object.prototype;e.exports=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||n)}},function(e,t,n){var r=n(330),A=n(215);e.exports=function(e){return null!=e&&A(e.length)&&!r(e)}},function(e,t,n){var r=n(779),A=n(341),i=Object.prototype.propertyIsEnumerable,o=Object.getOwnPropertySymbols,s=o?function(e){return null==e?[]:(e=Object(e),r(o(e),(function(t){return i.call(e,t)})))}:A;e.exports=s},function(e,t,n){var r=n(347);e.exports=function(e){var t=new e.constructor(e.byteLength);return new r(t).set(new r(e)),t}},function(e,t,n){"use strict";var r=n(12);t.__esModule=!0,t.propagateErrors=function(e,t){return e?null:function(e){return t.push(e),e.value}},t.settled=c,t.collectErrors=u,t.default=function(e){var t=e.endEarly,n=(0,A.default)(e,["endEarly"]);return t?function(e,t,n){return s(n).all(e).catch((function(e){throw"ValidationError"===e.name&&(e.value=t),e})).then((function(){return t}))}(n.validations,n.value,n.sync):u(n)};var A=r(n(352)),i=n(353),o=r(n(225)),s=function(e){return e?i.SynchronousPromise:Promise},a=function(e){return void 0===e&&(e=[]),e.inner&&e.inner.length?e.inner:[].concat(e)};function c(e,t){var n=s(t);return n.all(e.map((function(e){return n.resolve(e).then((function(e){return{fulfilled:!0,value:e}}),(function(e){return{fulfilled:!1,value:e}}))})))}function u(e){var t=e.validations,n=e.value,r=e.path,A=e.sync,i=e.errors,s=e.sort;return i=a(i),c(t,A).then((function(e){var t=e.filter((function(e){return!e.fulfilled})).reduce((function(e,t){var n=t.value;if(!o.default.isError(n))throw n;return e.concat(n)}),[]);if(s&&t.sort(s),(i=t.concat(i)).length)throw new o.default(i,n,r);return n}))}},function(e,t,n){"use strict";var r=n(12);t.__esModule=!0,t.default=s;var A=r(n(144)),i=/\$\{\s*(\w+)\s*\}/g,o=function(e){return function(t){return e.replace(i,(function(e,n){return(0,A.default)(t[n])}))}};function s(e,t,n,r){var A=this;this.name="ValidationError",this.value=t,this.path=n,this.type=r,this.errors=[],this.inner=[],e&&[].concat(e).forEach((function(e){A.errors=A.errors.concat(e.errors||e),e.inner&&(A.inner=A.inner.concat(e.inner.length?e.inner:e))})),this.message=this.errors.length>1?this.errors.length+" errors occurred":this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,s)}s.prototype=Object.create(Error.prototype),s.prototype.constructor=s,s.isError=function(e){return e&&"ValidationError"===e.name},s.formatError=function(e,t){"string"==typeof e&&(e=o(e));var n=function(t){return t.path=t.label||t.path||"this","function"==typeof e?e(t):e};return 1===arguments.length?n:n(t)},e.exports=t.default},function(e,t,n){"use strict";const r=n(295),A=process.platform,i={tick:"✔",cross:"✖",star:"★",square:"▇",squareSmall:"◻",squareSmallFilled:"◼",play:"▶",circle:"◯",circleFilled:"◉",circleDotted:"◌",circleDouble:"◎",circleCircle:"ⓞ",circleCross:"ⓧ",circlePipe:"Ⓘ",circleQuestionMark:"?⃝",bullet:"●",dot:"․",line:"─",ellipsis:"…",pointer:"❯",pointerSmall:"›",info:"ℹ",warning:"⚠",hamburger:"☰",smiley:"㋡",mustache:"෴",heart:"♥",arrowUp:"↑",arrowDown:"↓",arrowLeft:"←",arrowRight:"→",radioOn:"◉",radioOff:"◯",checkboxOn:"☒",checkboxOff:"☐",checkboxCircleOn:"ⓧ",checkboxCircleOff:"Ⓘ",questionMarkPrefix:"?⃝",oneHalf:"½",oneThird:"⅓",oneQuarter:"¼",oneFifth:"⅕",oneSixth:"⅙",oneSeventh:"⅐",oneEighth:"⅛",oneNinth:"⅑",oneTenth:"⅒",twoThirds:"⅔",twoFifths:"⅖",threeQuarters:"¾",threeFifths:"⅗",threeEighths:"⅜",fourFifths:"⅘",fiveSixths:"⅚",fiveEighths:"⅝",sevenEighths:"⅞"},o={tick:"√",cross:"×",star:"*",square:"█",squareSmall:"[ ]",squareSmallFilled:"[█]",play:"►",circle:"( )",circleFilled:"(*)",circleDotted:"( )",circleDouble:"( )",circleCircle:"(○)",circleCross:"(×)",circlePipe:"(│)",circleQuestionMark:"(?)",bullet:"*",dot:".",line:"─",ellipsis:"...",pointer:">",pointerSmall:"»",info:"i",warning:"‼",hamburger:"≡",smiley:"☺",mustache:"┌─┐",heart:i.heart,arrowUp:i.arrowUp,arrowDown:i.arrowDown,arrowLeft:i.arrowLeft,arrowRight:i.arrowRight,radioOn:"(*)",radioOff:"( )",checkboxOn:"[×]",checkboxOff:"[ ]",checkboxCircleOn:"(×)",checkboxCircleOff:"( )",questionMarkPrefix:"?",oneHalf:"1/2",oneThird:"1/3",oneQuarter:"1/4",oneFifth:"1/5",oneSixth:"1/6",oneSeventh:"1/7",oneEighth:"1/8",oneNinth:"1/9",oneTenth:"1/10",twoThirds:"2/3",twoFifths:"2/5",threeQuarters:"3/4",threeFifths:"3/5",threeEighths:"3/8",fourFifths:"4/5",fiveSixths:"5/6",fiveEighths:"5/8",sevenEighths:"7/8"};"linux"===A&&(i.questionMarkPrefix="?");const s="win32"===A?o:i;e.exports=Object.assign(e=>s===i?e:(Object.keys(i).forEach(t=>{i[t]!==s[t]&&(e=e.replace(new RegExp(r(i[t]),"g"),s[t]))}),e),s)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(5);t.canReportError=function(e){for(;e;){var t=e,n=t.closed,A=t.destination,i=t.isStopped;if(n||i)return!1;e=A&&A instanceof r.Subscriber?A:null}return!0}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.hostReportError=function(e){setTimeout((function(){throw e}))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.rxSubscriber="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random(),t.$$rxSubscriber=t.rxSubscriber},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(151);function A(e){return e?1===e.length?e[0]:function(t){return e.reduce((function(e,t){return t(e)}),t)}:r.noop}t.pipe=function(){for(var e=[],t=0;t1)this.connection=null;else{var n=this.connection,r=e._connection;this.connection=null,!r||n&&r!==n||r.unsubscribe()}}else this.connection=null},t}(i.Subscriber)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(17),o=n(376),s=n(14),a=n(378),c=n(152),u=n(373),g=function(e){function t(t,n,r){void 0===t&&(t=Number.POSITIVE_INFINITY),void 0===n&&(n=Number.POSITIVE_INFINITY);var A=e.call(this)||this;return A.scheduler=r,A._events=[],A._infiniteTimeWindow=!1,A._bufferSize=t<1?1:t,A._windowTime=n<1?1:n,n===Number.POSITIVE_INFINITY?(A._infiniteTimeWindow=!0,A.next=A.nextInfiniteTimeWindow):A.next=A.nextTimeWindow,A}return A(t,e),t.prototype.nextInfiniteTimeWindow=function(t){var n=this._events;n.push(t),n.length>this._bufferSize&&n.shift(),e.prototype.next.call(this,t)},t.prototype.nextTimeWindow=function(t){this._events.push(new l(this._getNow(),t)),this._trimBufferThenGetEvents(),e.prototype.next.call(this,t)},t.prototype._subscribe=function(e){var t,n=this._infiniteTimeWindow,r=n?this._events:this._trimBufferThenGetEvents(),A=this.scheduler,i=r.length;if(this.closed)throw new c.ObjectUnsubscribedError;if(this.isStopped||this.hasError?t=s.Subscription.EMPTY:(this.observers.push(e),t=new u.SubjectSubscription(this,e)),A&&e.add(e=new a.ObserveOnSubscriber(e,A)),n)for(var o=0;ot&&(i=Math.max(i,A-t)),i>0&&r.splice(0,i),r},t}(i.Subject);t.ReplaySubject=g;var l=function(e,t){this.time=e,this.value=t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(27),A=n(47),i=n(23),o=n(234);t.of=function(){for(var e=[],t=0;tthis.index},e.prototype.hasCompleted=function(){return this.array.length===this.index},e}(),f=function(e){function t(t,n,r){var A=e.call(this,t)||this;return A.parent=n,A.observable=r,A.stillUnsubscribed=!0,A.buffer=[],A.isComplete=!1,A}return A(t,e),t.prototype[u.iterator]=function(){return this},t.prototype.next=function(){var e=this.buffer;return 0===e.length&&this.isComplete?{value:null,done:!0}:{value:e.shift(),done:!1}},t.prototype.hasValue=function(){return this.buffer.length>0},t.prototype.hasCompleted=function(){return 0===this.buffer.length&&this.isComplete},t.prototype.notifyComplete=function(){this.buffer.length>0?(this.isComplete=!0,this.parent.notifyInactive()):this.destination.complete()},t.prototype.notifyNext=function(e,t,n,r,A){this.buffer.push(t),this.parent.checkIterators()},t.prototype.subscribe=function(e,t){return c.subscribeToResult(this,this.observable,this,t)},t}(a.OuterSubscriber)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(5),o=n(104),s=n(23);t.take=function(e){return function(t){return 0===e?s.empty():t.lift(new a(e))}};var a=function(){function e(e){if(this.total=e,this.total<0)throw new o.ArgumentOutOfRangeError}return e.prototype.call=function(e,t){return t.subscribe(new c(e,this.total))},e}(),c=function(e){function t(t,n){var r=e.call(this,t)||this;return r.total=n,r.count=0,r}return A(t,e),t.prototype._next=function(e){var t=this.total,n=++this.count;n<=t&&(this.destination.next(e),n===t&&(this.destination.complete(),this.unsubscribe()))},t}(i.Subscriber)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(5),o=n(104),s=n(23);t.takeLast=function(e){return function(t){return 0===e?s.empty():t.lift(new a(e))}};var a=function(){function e(e){if(this.total=e,this.total<0)throw new o.ArgumentOutOfRangeError}return e.prototype.call=function(e,t){return t.subscribe(new c(e,this.total))},e}(),c=function(e){function t(t,n){var r=e.call(this,t)||this;return r.total=n,r.ring=new Array,r.count=0,r}return A(t,e),t.prototype._next=function(e){var t=this.ring,n=this.total,r=this.count++;t.length0)for(var n=this.count>=this.total?this.total:this.count,r=this.ring,A=0;A=2&&(n=!0),function(r){return r.lift(new o(e,t,n))}};var o=function(){function e(e,t,n){void 0===n&&(n=!1),this.accumulator=e,this.seed=t,this.hasSeed=n}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.accumulator,this.seed,this.hasSeed))},e}(),s=function(e){function t(t,n,r,A){var i=e.call(this,t)||this;return i.accumulator=n,i._seed=r,i.hasSeed=A,i.index=0,i}return A(t,e),Object.defineProperty(t.prototype,"seed",{get:function(){return this._seed},set:function(e){this.hasSeed=!0,this._seed=e},enumerable:!0,configurable:!0}),t.prototype._next=function(e){if(this.hasSeed)return this._tryNext(e);this.seed=e,this.destination.next(e)},t.prototype._tryNext=function(e){var t,n=this.index++;try{t=this.accumulator(this.seed,e,n)}catch(e){this.destination.error(e)}this.seed=t,this.destination.next(t)},t}(i.Subscriber)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=n(48),s=n(11),a=n(28),c=n(38);t.switchMap=function e(t,n){return"function"==typeof n?function(r){return r.pipe(e((function(e,r){return c.from(t(e,r)).pipe(a.map((function(t,A){return n(e,t,r,A)})))})))}:function(e){return e.lift(new u(t))}};var u=function(){function e(e){this.project=e}return e.prototype.call=function(e,t){return t.subscribe(new g(e,this.project))},e}(),g=function(e){function t(t,n){var r=e.call(this,t)||this;return r.project=n,r.index=0,r}return A(t,e),t.prototype._next=function(e){var t,n=this.index++;try{t=this.project(e,n)}catch(e){return void this.destination.error(e)}this._innerSub(t,e,n)},t.prototype._innerSub=function(e,t,n){var r=this.innerSubscription;r&&r.unsubscribe();var A=new o.InnerSubscriber(this,void 0,void 0);this.destination.add(A),this.innerSubscription=s.subscribeToResult(this,e,t,n,A)},t.prototype._complete=function(){var t=this.innerSubscription;t&&!t.closed||e.prototype._complete.call(this),this.unsubscribe()},t.prototype._unsubscribe=function(){this.innerSubscription=null},t.prototype.notifyComplete=function(t){this.destination.remove(t),this.innerSubscription=null,this.isStopped&&e.prototype._complete.call(this)},t.prototype.notifyNext=function(e,t,n,r,A){this.destination.next(t)},t}(i.OuterSubscriber)},function(e){e.exports=JSON.parse('[["0","\\u0000",127,"€"],["8140","丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱丳丵丷丼乀乁乂乄乆乊乑乕乗乚乛乢乣乤乥乧乨乪",5,"乲乴",9,"乿",6,"亇亊"],["8180","亐亖亗亙亜亝亞亣亪亯亰亱亴亶亷亸亹亼亽亾仈仌仏仐仒仚仛仜仠仢仦仧仩仭仮仯仱仴仸仹仺仼仾伀伂",6,"伋伌伒",4,"伜伝伡伣伨伩伬伭伮伱伳伵伷伹伻伾",4,"佄佅佇",5,"佒佔佖佡佢佦佨佪佫佭佮佱佲併佷佸佹佺佽侀侁侂侅來侇侊侌侎侐侒侓侕侖侘侙侚侜侞侟価侢"],["8240","侤侫侭侰",4,"侶",8,"俀俁係俆俇俈俉俋俌俍俒",4,"俙俛俠俢俤俥俧俫俬俰俲俴俵俶俷俹俻俼俽俿",11],["8280","個倎倐們倓倕倖倗倛倝倞倠倢倣値倧倫倯",10,"倻倽倿偀偁偂偄偅偆偉偊偋偍偐",4,"偖偗偘偙偛偝",7,"偦",5,"偭",8,"偸偹偺偼偽傁傂傃傄傆傇傉傊傋傌傎",20,"傤傦傪傫傭",4,"傳",6,"傼"],["8340","傽",17,"僐",5,"僗僘僙僛",10,"僨僩僪僫僯僰僱僲僴僶",4,"僼",9,"儈"],["8380","儉儊儌",5,"儓",13,"儢",28,"兂兇兊兌兎兏児兒兓兗兘兙兛兝",4,"兣兤兦內兩兪兯兲兺兾兿冃冄円冇冊冋冎冏冐冑冓冔冘冚冝冞冟冡冣冦",4,"冭冮冴冸冹冺冾冿凁凂凃凅凈凊凍凎凐凒",5],["8440","凘凙凚凜凞凟凢凣凥",5,"凬凮凱凲凴凷凾刄刅刉刋刌刏刐刓刔刕刜刞刟刡刢刣別刦刧刪刬刯刱刲刴刵刼刾剄",5,"剋剎剏剒剓剕剗剘"],["8480","剙剚剛剝剟剠剢剣剤剦剨剫剬剭剮剰剱剳",9,"剾劀劃",4,"劉",6,"劑劒劔",6,"劜劤劥劦劧劮劯劰労",9,"勀勁勂勄勅勆勈勊勌勍勎勏勑勓勔動勗務",5,"勠勡勢勣勥",10,"勱",7,"勻勼勽匁匂匃匄匇匉匊匋匌匎"],["8540","匑匒匓匔匘匛匜匞匟匢匤匥匧匨匩匫匬匭匯",9,"匼匽區卂卄卆卋卌卍卐協単卙卛卝卥卨卪卬卭卲卶卹卻卼卽卾厀厁厃厇厈厊厎厏"],["8580","厐",4,"厖厗厙厛厜厞厠厡厤厧厪厫厬厭厯",6,"厷厸厹厺厼厽厾叀參",4,"収叏叐叒叓叕叚叜叝叞叡叢叧叴叺叾叿吀吂吅吇吋吔吘吙吚吜吢吤吥吪吰吳吶吷吺吽吿呁呂呄呅呇呉呌呍呎呏呑呚呝",4,"呣呥呧呩",7,"呴呹呺呾呿咁咃咅咇咈咉咊咍咑咓咗咘咜咞咟咠咡"],["8640","咢咥咮咰咲咵咶咷咹咺咼咾哃哅哊哋哖哘哛哠",4,"哫哬哯哰哱哴",5,"哻哾唀唂唃唄唅唈唊",4,"唒唓唕",5,"唜唝唞唟唡唥唦"],["8680","唨唩唫唭唲唴唵唶唸唹唺唻唽啀啂啅啇啈啋",4,"啑啒啓啔啗",4,"啝啞啟啠啢啣啨啩啫啯",5,"啹啺啽啿喅喆喌喍喎喐喒喓喕喖喗喚喛喞喠",6,"喨",8,"喲喴営喸喺喼喿",4,"嗆嗇嗈嗊嗋嗎嗏嗐嗕嗗",4,"嗞嗠嗢嗧嗩嗭嗮嗰嗱嗴嗶嗸",4,"嗿嘂嘃嘄嘅"],["8740","嘆嘇嘊嘋嘍嘐",7,"嘙嘚嘜嘝嘠嘡嘢嘥嘦嘨嘩嘪嘫嘮嘯嘰嘳嘵嘷嘸嘺嘼嘽嘾噀",11,"噏",4,"噕噖噚噛噝",4],["8780","噣噥噦噧噭噮噯噰噲噳噴噵噷噸噹噺噽",7,"嚇",6,"嚐嚑嚒嚔",14,"嚤",10,"嚰",6,"嚸嚹嚺嚻嚽",12,"囋",8,"囕囖囘囙囜団囥",5,"囬囮囯囲図囶囷囸囻囼圀圁圂圅圇國",6],["8840","園",9,"圝圞圠圡圢圤圥圦圧圫圱圲圴",4,"圼圽圿坁坃坄坅坆坈坉坋坒",4,"坘坙坢坣坥坧坬坮坰坱坲坴坵坸坹坺坽坾坿垀"],["8880","垁垇垈垉垊垍",4,"垔",6,"垜垝垞垟垥垨垪垬垯垰垱垳垵垶垷垹",8,"埄",6,"埌埍埐埑埓埖埗埛埜埞埡埢埣埥",7,"埮埰埱埲埳埵埶執埻埼埾埿堁堃堄堅堈堉堊堌堎堏堐堒堓堔堖堗堘堚堛堜堝堟堢堣堥",4,"堫",4,"報堲堳場堶",7],["8940","堾",5,"塅",6,"塎塏塐塒塓塕塖塗塙",4,"塟",5,"塦",4,"塭",16,"塿墂墄墆墇墈墊墋墌"],["8980","墍",4,"墔",4,"墛墜墝墠",7,"墪",17,"墽墾墿壀壂壃壄壆",10,"壒壓壔壖",13,"壥",5,"壭壯壱売壴壵壷壸壺",7,"夃夅夆夈",4,"夎夐夑夒夓夗夘夛夝夞夠夡夢夣夦夨夬夰夲夳夵夶夻"],["8a40","夽夾夿奀奃奅奆奊奌奍奐奒奓奙奛",4,"奡奣奤奦",12,"奵奷奺奻奼奾奿妀妅妉妋妌妎妏妐妑妔妕妘妚妛妜妝妟妠妡妢妦"],["8a80","妧妬妭妰妱妳",5,"妺妼妽妿",6,"姇姈姉姌姍姎姏姕姖姙姛姞",4,"姤姦姧姩姪姫姭",11,"姺姼姽姾娀娂娊娋娍娎娏娐娒娔娕娖娗娙娚娛娝娞娡娢娤娦娧娨娪",6,"娳娵娷",4,"娽娾娿婁",4,"婇婈婋",9,"婖婗婘婙婛",5],["8b40","婡婣婤婥婦婨婩婫",8,"婸婹婻婼婽婾媀",17,"媓",6,"媜",13,"媫媬"],["8b80","媭",4,"媴媶媷媹",4,"媿嫀嫃",5,"嫊嫋嫍",4,"嫓嫕嫗嫙嫚嫛嫝嫞嫟嫢嫤嫥嫧嫨嫪嫬",4,"嫲",22,"嬊",11,"嬘",25,"嬳嬵嬶嬸",7,"孁",6],["8c40","孈",7,"孒孖孞孠孡孧孨孫孭孮孯孲孴孶孷學孹孻孼孾孿宂宆宊宍宎宐宑宒宔宖実宧宨宩宬宭宮宯宱宲宷宺宻宼寀寁寃寈寉寊寋寍寎寏"],["8c80","寑寔",8,"寠寢寣實寧審",4,"寯寱",6,"寽対尀専尃尅將專尋尌對導尐尒尓尗尙尛尞尟尠尡尣尦尨尩尪尫尭尮尯尰尲尳尵尶尷屃屄屆屇屌屍屒屓屔屖屗屘屚屛屜屝屟屢層屧",6,"屰屲",6,"屻屼屽屾岀岃",4,"岉岊岋岎岏岒岓岕岝",4,"岤",4],["8d40","岪岮岯岰岲岴岶岹岺岻岼岾峀峂峃峅",5,"峌",5,"峓",5,"峚",6,"峢峣峧峩峫峬峮峯峱",9,"峼",4],["8d80","崁崄崅崈",5,"崏",4,"崕崗崘崙崚崜崝崟",4,"崥崨崪崫崬崯",4,"崵",7,"崿",7,"嵈嵉嵍",10,"嵙嵚嵜嵞",10,"嵪嵭嵮嵰嵱嵲嵳嵵",12,"嶃",21,"嶚嶛嶜嶞嶟嶠"],["8e40","嶡",21,"嶸",12,"巆",6,"巎",12,"巜巟巠巣巤巪巬巭"],["8e80","巰巵巶巸",4,"巿帀帄帇帉帊帋帍帎帒帓帗帞",7,"帨",4,"帯帰帲",4,"帹帺帾帿幀幁幃幆",5,"幍",6,"幖",4,"幜幝幟幠幣",14,"幵幷幹幾庁庂広庅庈庉庌庍庎庒庘庛庝庡庢庣庤庨",4,"庮",4,"庴庺庻庼庽庿",6],["8f40","廆廇廈廋",5,"廔廕廗廘廙廚廜",11,"廩廫",8,"廵廸廹廻廼廽弅弆弇弉弌弍弎弐弒弔弖弙弚弜弝弞弡弢弣弤"],["8f80","弨弫弬弮弰弲",6,"弻弽弾弿彁",14,"彑彔彙彚彛彜彞彟彠彣彥彧彨彫彮彯彲彴彵彶彸彺彽彾彿徃徆徍徎徏徑従徔徖徚徛徝從徟徠徢",5,"復徫徬徯",5,"徶徸徹徺徻徾",4,"忇忈忊忋忎忓忔忕忚忛応忞忟忢忣忥忦忨忩忬忯忰忲忳忴忶忷忹忺忼怇"],["9040","怈怉怋怌怐怑怓怗怘怚怞怟怢怣怤怬怭怮怰",4,"怶",4,"怽怾恀恄",6,"恌恎恏恑恓恔恖恗恘恛恜恞恟恠恡恥恦恮恱恲恴恵恷恾悀"],["9080","悁悂悅悆悇悈悊悋悎悏悐悑悓悕悗悘悙悜悞悡悢悤悥悧悩悪悮悰悳悵悶悷悹悺悽",7,"惇惈惉惌",4,"惒惓惔惖惗惙惛惞惡",4,"惪惱惲惵惷惸惻",4,"愂愃愄愅愇愊愋愌愐",4,"愖愗愘愙愛愜愝愞愡愢愥愨愩愪愬",18,"慀",6],["9140","慇慉態慍慏慐慒慓慔慖",6,"慞慟慠慡慣慤慥慦慩",6,"慱慲慳慴慶慸",18,"憌憍憏",4,"憕"],["9180","憖",6,"憞",8,"憪憫憭",9,"憸",5,"憿懀懁懃",4,"應懌",4,"懓懕",16,"懧",13,"懶",8,"戀",5,"戇戉戓戔戙戜戝戞戠戣戦戧戨戩戫戭戯戰戱戲戵戶戸",4,"扂扄扅扆扊"],["9240","扏扐払扖扗扙扚扜",6,"扤扥扨扱扲扴扵扷扸扺扻扽抁抂抃抅抆抇抈抋",5,"抔抙抜抝択抣抦抧抩抪抭抮抯抰抲抳抴抶抷抸抺抾拀拁"],["9280","拃拋拏拑拕拝拞拠拡拤拪拫拰拲拵拸拹拺拻挀挃挄挅挆挊挋挌挍挏挐挒挓挔挕挗挘挙挜挦挧挩挬挭挮挰挱挳",5,"挻挼挾挿捀捁捄捇捈捊捑捒捓捔捖",7,"捠捤捥捦捨捪捫捬捯捰捲捳捴捵捸捹捼捽捾捿掁掃掄掅掆掋掍掑掓掔掕掗掙",6,"採掤掦掫掯掱掲掵掶掹掻掽掿揀"],["9340","揁揂揃揅揇揈揊揋揌揑揓揔揕揗",6,"揟揢揤",4,"揫揬揮揯揰揱揳揵揷揹揺揻揼揾搃搄搆",4,"損搎搑搒搕",5,"搝搟搢搣搤"],["9380","搥搧搨搩搫搮",5,"搵",4,"搻搼搾摀摂摃摉摋",6,"摓摕摖摗摙",4,"摟",7,"摨摪摫摬摮",9,"摻",6,"撃撆撈",8,"撓撔撗撘撚撛撜撝撟",4,"撥撦撧撨撪撫撯撱撲撳撴撶撹撻撽撾撿擁擃擄擆",6,"擏擑擓擔擕擖擙據"],["9440","擛擜擝擟擠擡擣擥擧",24,"攁",7,"攊",7,"攓",4,"攙",8],["9480","攢攣攤攦",4,"攬攭攰攱攲攳攷攺攼攽敀",4,"敆敇敊敋敍敎敐敒敓敔敗敘敚敜敟敠敡敤敥敧敨敩敪敭敮敯敱敳敵敶數",14,"斈斉斊斍斎斏斒斔斕斖斘斚斝斞斠斢斣斦斨斪斬斮斱",7,"斺斻斾斿旀旂旇旈旉旊旍旐旑旓旔旕旘",7,"旡旣旤旪旫"],["9540","旲旳旴旵旸旹旻",4,"昁昄昅昇昈昉昋昍昐昑昒昖昗昘昚昛昜昞昡昢昣昤昦昩昪昫昬昮昰昲昳昷",4,"昽昿晀時晄",6,"晍晎晐晑晘"],["9580","晙晛晜晝晞晠晢晣晥晧晩",4,"晱晲晳晵晸晹晻晼晽晿暀暁暃暅暆暈暉暊暋暍暎暏暐暒暓暔暕暘",4,"暞",8,"暩",4,"暯",4,"暵暶暷暸暺暻暼暽暿",25,"曚曞",7,"曧曨曪",5,"曱曵曶書曺曻曽朁朂會"],["9640","朄朅朆朇朌朎朏朑朒朓朖朘朙朚朜朞朠",5,"朧朩朮朰朲朳朶朷朸朹朻朼朾朿杁杄杅杇杊杋杍杒杔杕杗",4,"杝杢杣杤杦杧杫杬杮東杴杶"],["9680","杸杹杺杻杽枀枂枃枅枆枈枊枌枍枎枏枑枒枓枔枖枙枛枟枠枡枤枦枩枬枮枱枲枴枹",7,"柂柅",9,"柕柖柗柛柟柡柣柤柦柧柨柪柫柭柮柲柵",7,"柾栁栂栃栄栆栍栐栒栔栕栘",4,"栞栟栠栢",6,"栫",6,"栴栵栶栺栻栿桇桋桍桏桒桖",5],["9740","桜桝桞桟桪桬",7,"桵桸",8,"梂梄梇",7,"梐梑梒梔梕梖梘",9,"梣梤梥梩梪梫梬梮梱梲梴梶梷梸"],["9780","梹",6,"棁棃",5,"棊棌棎棏棐棑棓棔棖棗棙棛",4,"棡棢棤",9,"棯棲棳棴棶棷棸棻棽棾棿椀椂椃椄椆",4,"椌椏椑椓",11,"椡椢椣椥",7,"椮椯椱椲椳椵椶椷椸椺椻椼椾楀楁楃",16,"楕楖楘楙楛楜楟"],["9840","楡楢楤楥楧楨楩楪楬業楯楰楲",4,"楺楻楽楾楿榁榃榅榊榋榌榎",5,"榖榗榙榚榝",9,"榩榪榬榮榯榰榲榳榵榶榸榹榺榼榽"],["9880","榾榿槀槂",7,"構槍槏槑槒槓槕",5,"槜槝槞槡",11,"槮槯槰槱槳",9,"槾樀",9,"樋",11,"標",5,"樠樢",5,"権樫樬樭樮樰樲樳樴樶",6,"樿",4,"橅橆橈",7,"橑",6,"橚"],["9940","橜",4,"橢橣橤橦",10,"橲",6,"橺橻橽橾橿檁檂檃檅",8,"檏檒",4,"檘",7,"檡",5],["9980","檧檨檪檭",114,"欥欦欨",6],["9a40","欯欰欱欳欴欵欶欸欻欼欽欿歀歁歂歄歅歈歊歋歍",11,"歚",7,"歨歩歫",13,"歺歽歾歿殀殅殈"],["9a80","殌殎殏殐殑殔殕殗殘殙殜",4,"殢",7,"殫",7,"殶殸",6,"毀毃毄毆",4,"毌毎毐毑毘毚毜",4,"毢",7,"毬毭毮毰毱毲毴毶毷毸毺毻毼毾",6,"氈",4,"氎氒気氜氝氞氠氣氥氫氬氭氱氳氶氷氹氺氻氼氾氿汃汄汅汈汋",4,"汑汒汓汖汘"],["9b40","汙汚汢汣汥汦汧汫",4,"汱汳汵汷汸決汻汼汿沀沄沇沊沋沍沎沑沒沕沖沗沘沚沜沝沞沠沢沨沬沯沰沴沵沶沷沺泀況泂泃泆泇泈泋泍泎泏泑泒泘"],["9b80","泙泚泜泝泟泤泦泧泩泬泭泲泴泹泿洀洂洃洅洆洈洉洊洍洏洐洑洓洔洕洖洘洜洝洟",5,"洦洨洩洬洭洯洰洴洶洷洸洺洿浀浂浄浉浌浐浕浖浗浘浛浝浟浡浢浤浥浧浨浫浬浭浰浱浲浳浵浶浹浺浻浽",4,"涃涄涆涇涊涋涍涏涐涒涖",4,"涜涢涥涬涭涰涱涳涴涶涷涹",5,"淁淂淃淈淉淊"],["9c40","淍淎淏淐淒淓淔淕淗淚淛淜淟淢淣淥淧淨淩淪淭淯淰淲淴淵淶淸淺淽",7,"渆渇済渉渋渏渒渓渕渘渙減渜渞渟渢渦渧渨渪測渮渰渱渳渵"],["9c80","渶渷渹渻",7,"湅",7,"湏湐湑湒湕湗湙湚湜湝湞湠",10,"湬湭湯",14,"満溁溂溄溇溈溊",4,"溑",6,"溙溚溛溝溞溠溡溣溤溦溨溩溫溬溭溮溰溳溵溸溹溼溾溿滀滃滄滅滆滈滉滊滌滍滎滐滒滖滘滙滛滜滝滣滧滪",5],["9d40","滰滱滲滳滵滶滷滸滺",7,"漃漄漅漇漈漊",4,"漐漑漒漖",9,"漡漢漣漥漦漧漨漬漮漰漲漴漵漷",6,"漿潀潁潂"],["9d80","潃潄潅潈潉潊潌潎",9,"潙潚潛潝潟潠潡潣潤潥潧",5,"潯潰潱潳潵潶潷潹潻潽",6,"澅澆澇澊澋澏",12,"澝澞澟澠澢",4,"澨",10,"澴澵澷澸澺",5,"濁濃",5,"濊",6,"濓",10,"濟濢濣濤濥"],["9e40","濦",7,"濰",32,"瀒",7,"瀜",6,"瀤",6],["9e80","瀫",9,"瀶瀷瀸瀺",17,"灍灎灐",13,"灟",11,"灮灱灲灳灴灷灹灺灻災炁炂炃炄炆炇炈炋炌炍炏炐炑炓炗炘炚炛炞",12,"炰炲炴炵炶為炾炿烄烅烆烇烉烋",12,"烚"],["9f40","烜烝烞烠烡烢烣烥烪烮烰",6,"烸烺烻烼烾",10,"焋",4,"焑焒焔焗焛",10,"焧",7,"焲焳焴"],["9f80","焵焷",13,"煆煇煈煉煋煍煏",12,"煝煟",4,"煥煩",4,"煯煰煱煴煵煶煷煹煻煼煾",5,"熅",4,"熋熌熍熎熐熑熒熓熕熖熗熚",4,"熡",6,"熩熪熫熭",5,"熴熶熷熸熺",8,"燄",9,"燏",4],["a040","燖",9,"燡燢燣燤燦燨",5,"燯",9,"燺",11,"爇",19],["a080","爛爜爞",9,"爩爫爭爮爯爲爳爴爺爼爾牀",6,"牉牊牋牎牏牐牑牓牔牕牗牘牚牜牞牠牣牤牥牨牪牫牬牭牰牱牳牴牶牷牸牻牼牽犂犃犅",4,"犌犎犐犑犓",11,"犠",11,"犮犱犲犳犵犺",6,"狅狆狇狉狊狋狌狏狑狓狔狕狖狘狚狛"],["a1a1"," 、。·ˉˇ¨〃々—~‖…‘’“”〔〕〈",7,"〖〗【】±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴♂♀°′″℃$¤¢£‰§№☆★○●◎◇◆□■△▲※→←↑↓〓"],["a2a1","ⅰ",9],["a2b1","⒈",19,"⑴",19,"①",9],["a2e5","㈠",9],["a2f1","Ⅰ",11],["a3a1","!"#¥%",88," ̄"],["a4a1","ぁ",82],["a5a1","ァ",85],["a6a1","Α",16,"Σ",6],["a6c1","α",16,"σ",6],["a6e0","︵︶︹︺︿﹀︽︾﹁﹂﹃﹄"],["a6ee","︻︼︷︸︱"],["a6f4","︳︴"],["a7a1","А",5,"ЁЖ",25],["a7d1","а",5,"ёж",25],["a840","ˊˋ˙–―‥‵℅℉↖↗↘↙∕∟∣≒≦≧⊿═",35,"▁",6],["a880","█",7,"▓▔▕▼▽◢◣◤◥☉⊕〒〝〞"],["a8a1","āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑ"],["a8bd","ńň"],["a8c0","ɡ"],["a8c5","ㄅ",36],["a940","〡",8,"㊣㎎㎏㎜㎝㎞㎡㏄㏎㏑㏒㏕︰¬¦"],["a959","℡㈱"],["a95c","‐"],["a960","ー゛゜ヽヾ〆ゝゞ﹉",9,"﹔﹕﹖﹗﹙",8],["a980","﹢",4,"﹨﹩﹪﹫"],["a996","〇"],["a9a4","─",75],["aa40","狜狝狟狢",5,"狪狫狵狶狹狽狾狿猀猂猄",5,"猋猌猍猏猐猑猒猔猘猙猚猟猠猣猤猦猧猨猭猯猰猲猳猵猶猺猻猼猽獀",8],["aa80","獉獊獋獌獎獏獑獓獔獕獖獘",7,"獡",10,"獮獰獱"],["ab40","獲",11,"獿",4,"玅玆玈玊玌玍玏玐玒玓玔玕玗玘玙玚玜玝玞玠玡玣",5,"玪玬玭玱玴玵玶玸玹玼玽玾玿珁珃",4],["ab80","珋珌珎珒",6,"珚珛珜珝珟珡珢珣珤珦珨珪珫珬珮珯珰珱珳",4],["ac40","珸",10,"琄琇琈琋琌琍琎琑",8,"琜",5,"琣琤琧琩琫琭琯琱琲琷",4,"琽琾琿瑀瑂",11],["ac80","瑎",6,"瑖瑘瑝瑠",12,"瑮瑯瑱",4,"瑸瑹瑺"],["ad40","瑻瑼瑽瑿璂璄璅璆璈璉璊璌璍璏璑",10,"璝璟",7,"璪",15,"璻",12],["ad80","瓈",9,"瓓",8,"瓝瓟瓡瓥瓧",6,"瓰瓱瓲"],["ae40","瓳瓵瓸",6,"甀甁甂甃甅",7,"甎甐甒甔甕甖甗甛甝甞甠",4,"甦甧甪甮甴甶甹甼甽甿畁畂畃畄畆畇畉畊畍畐畑畒畓畕畖畗畘"],["ae80","畝",7,"畧畨畩畫",6,"畳畵當畷畺",4,"疀疁疂疄疅疇"],["af40","疈疉疊疌疍疎疐疓疕疘疛疜疞疢疦",4,"疭疶疷疺疻疿痀痁痆痋痌痎痏痐痑痓痗痙痚痜痝痟痠痡痥痩痬痭痮痯痲痳痵痶痷痸痺痻痽痾瘂瘄瘆瘇"],["af80","瘈瘉瘋瘍瘎瘏瘑瘒瘓瘔瘖瘚瘜瘝瘞瘡瘣瘧瘨瘬瘮瘯瘱瘲瘶瘷瘹瘺瘻瘽癁療癄"],["b040","癅",6,"癎",5,"癕癗",4,"癝癟癠癡癢癤",6,"癬癭癮癰",7,"癹発發癿皀皁皃皅皉皊皌皍皏皐皒皔皕皗皘皚皛"],["b080","皜",7,"皥",8,"皯皰皳皵",9,"盀盁盃啊阿埃挨哎唉哀皑癌蔼矮艾碍爱隘鞍氨安俺按暗岸胺案肮昂盎凹敖熬翱袄傲奥懊澳芭捌扒叭吧笆八疤巴拔跋靶把耙坝霸罢爸白柏百摆佰败拜稗斑班搬扳般颁板版扮拌伴瓣半办绊邦帮梆榜膀绑棒磅蚌镑傍谤苞胞包褒剥"],["b140","盄盇盉盋盌盓盕盙盚盜盝盞盠",4,"盦",7,"盰盳盵盶盷盺盻盽盿眀眂眃眅眆眊県眎",10,"眛眜眝眞眡眣眤眥眧眪眫"],["b180","眬眮眰",4,"眹眻眽眾眿睂睄睅睆睈",7,"睒",7,"睜薄雹保堡饱宝抱报暴豹鲍爆杯碑悲卑北辈背贝钡倍狈备惫焙被奔苯本笨崩绷甭泵蹦迸逼鼻比鄙笔彼碧蓖蔽毕毙毖币庇痹闭敝弊必辟壁臂避陛鞭边编贬扁便变卞辨辩辫遍标彪膘表鳖憋别瘪彬斌濒滨宾摈兵冰柄丙秉饼炳"],["b240","睝睞睟睠睤睧睩睪睭",11,"睺睻睼瞁瞂瞃瞆",5,"瞏瞐瞓",11,"瞡瞣瞤瞦瞨瞫瞭瞮瞯瞱瞲瞴瞶",4],["b280","瞼瞾矀",12,"矎",8,"矘矙矚矝",4,"矤病并玻菠播拨钵波博勃搏铂箔伯帛舶脖膊渤泊驳捕卜哺补埠不布步簿部怖擦猜裁材才财睬踩采彩菜蔡餐参蚕残惭惨灿苍舱仓沧藏操糙槽曹草厕策侧册测层蹭插叉茬茶查碴搽察岔差诧拆柴豺搀掺蝉馋谗缠铲产阐颤昌猖"],["b340","矦矨矪矯矰矱矲矴矵矷矹矺矻矼砃",5,"砊砋砎砏砐砓砕砙砛砞砠砡砢砤砨砪砫砮砯砱砲砳砵砶砽砿硁硂硃硄硆硈硉硊硋硍硏硑硓硔硘硙硚"],["b380","硛硜硞",11,"硯",7,"硸硹硺硻硽",6,"场尝常长偿肠厂敞畅唱倡超抄钞朝嘲潮巢吵炒车扯撤掣彻澈郴臣辰尘晨忱沉陈趁衬撑称城橙成呈乘程惩澄诚承逞骋秤吃痴持匙池迟弛驰耻齿侈尺赤翅斥炽充冲虫崇宠抽酬畴踌稠愁筹仇绸瞅丑臭初出橱厨躇锄雏滁除楚"],["b440","碄碅碆碈碊碋碏碐碒碔碕碖碙碝碞碠碢碤碦碨",7,"碵碶碷碸確碻碼碽碿磀磂磃磄磆磇磈磌磍磎磏磑磒磓磖磗磘磚",9],["b480","磤磥磦磧磩磪磫磭",4,"磳磵磶磸磹磻",5,"礂礃礄礆",6,"础储矗搐触处揣川穿椽传船喘串疮窗幢床闯创吹炊捶锤垂春椿醇唇淳纯蠢戳绰疵茨磁雌辞慈瓷词此刺赐次聪葱囱匆从丛凑粗醋簇促蹿篡窜摧崔催脆瘁粹淬翠村存寸磋撮搓措挫错搭达答瘩打大呆歹傣戴带殆代贷袋待逮"],["b540","礍",5,"礔",9,"礟",4,"礥",14,"礵",4,"礽礿祂祃祄祅祇祊",8,"祔祕祘祙祡祣"],["b580","祤祦祩祪祫祬祮祰",6,"祹祻",4,"禂禃禆禇禈禉禋禌禍禎禐禑禒怠耽担丹单郸掸胆旦氮但惮淡诞弹蛋当挡党荡档刀捣蹈倒岛祷导到稻悼道盗德得的蹬灯登等瞪凳邓堤低滴迪敌笛狄涤翟嫡抵底地蒂第帝弟递缔颠掂滇碘点典靛垫电佃甸店惦奠淀殿碉叼雕凋刁掉吊钓调跌爹碟蝶迭谍叠"],["b640","禓",6,"禛",11,"禨",10,"禴",4,"禼禿秂秄秅秇秈秊秌秎秏秐秓秔秖秗秙",5,"秠秡秢秥秨秪"],["b680","秬秮秱",6,"秹秺秼秾秿稁稄稅稇稈稉稊稌稏",4,"稕稖稘稙稛稜丁盯叮钉顶鼎锭定订丢东冬董懂动栋侗恫冻洞兜抖斗陡豆逗痘都督毒犊独读堵睹赌杜镀肚度渡妒端短锻段断缎堆兑队对墩吨蹲敦顿囤钝盾遁掇哆多夺垛躲朵跺舵剁惰堕蛾峨鹅俄额讹娥恶厄扼遏鄂饿恩而儿耳尔饵洱二"],["b740","稝稟稡稢稤",14,"稴稵稶稸稺稾穀",5,"穇",9,"穒",4,"穘",16],["b780","穩",6,"穱穲穳穵穻穼穽穾窂窅窇窉窊窋窌窎窏窐窓窔窙窚窛窞窡窢贰发罚筏伐乏阀法珐藩帆番翻樊矾钒繁凡烦反返范贩犯饭泛坊芳方肪房防妨仿访纺放菲非啡飞肥匪诽吠肺废沸费芬酚吩氛分纷坟焚汾粉奋份忿愤粪丰封枫蜂峰锋风疯烽逢冯缝讽奉凤佛否夫敷肤孵扶拂辐幅氟符伏俘服"],["b840","窣窤窧窩窪窫窮",4,"窴",10,"竀",10,"竌",9,"竗竘竚竛竜竝竡竢竤竧",5,"竮竰竱竲竳"],["b880","竴",4,"竻竼竾笀笁笂笅笇笉笌笍笎笐笒笓笖笗笘笚笜笝笟笡笢笣笧笩笭浮涪福袱弗甫抚辅俯釜斧脯腑府腐赴副覆赋复傅付阜父腹负富讣附妇缚咐噶嘎该改概钙盖溉干甘杆柑竿肝赶感秆敢赣冈刚钢缸肛纲岗港杠篙皋高膏羔糕搞镐稿告哥歌搁戈鸽胳疙割革葛格蛤阁隔铬个各给根跟耕更庚羹"],["b940","笯笰笲笴笵笶笷笹笻笽笿",5,"筆筈筊筍筎筓筕筗筙筜筞筟筡筣",10,"筯筰筳筴筶筸筺筼筽筿箁箂箃箄箆",6,"箎箏"],["b980","箑箒箓箖箘箙箚箛箞箟箠箣箤箥箮箯箰箲箳箵箶箷箹",7,"篂篃範埂耿梗工攻功恭龚供躬公宫弓巩汞拱贡共钩勾沟苟狗垢构购够辜菇咕箍估沽孤姑鼓古蛊骨谷股故顾固雇刮瓜剐寡挂褂乖拐怪棺关官冠观管馆罐惯灌贯光广逛瑰规圭硅归龟闺轨鬼诡癸桂柜跪贵刽辊滚棍锅郭国果裹过哈"],["ba40","篅篈築篊篋篍篎篏篐篒篔",4,"篛篜篞篟篠篢篣篤篧篨篩篫篬篭篯篰篲",4,"篸篹篺篻篽篿",7,"簈簉簊簍簎簐",5,"簗簘簙"],["ba80","簚",4,"簠",5,"簨簩簫",12,"簹",5,"籂骸孩海氦亥害骇酣憨邯韩含涵寒函喊罕翰撼捍旱憾悍焊汗汉夯杭航壕嚎豪毫郝好耗号浩呵喝荷菏核禾和何合盒貉阂河涸赫褐鹤贺嘿黑痕很狠恨哼亨横衡恒轰哄烘虹鸿洪宏弘红喉侯猴吼厚候后呼乎忽瑚壶葫胡蝴狐糊湖"],["bb40","籃",9,"籎",36,"籵",5,"籾",9],["bb80","粈粊",6,"粓粔粖粙粚粛粠粡粣粦粧粨粩粫粬粭粯粰粴",4,"粺粻弧虎唬护互沪户花哗华猾滑画划化话槐徊怀淮坏欢环桓还缓换患唤痪豢焕涣宦幻荒慌黄磺蝗簧皇凰惶煌晃幌恍谎灰挥辉徽恢蛔回毁悔慧卉惠晦贿秽会烩汇讳诲绘荤昏婚魂浑混豁活伙火获或惑霍货祸击圾基机畸稽积箕"],["bc40","粿糀糂糃糄糆糉糋糎",6,"糘糚糛糝糞糡",6,"糩",5,"糰",7,"糹糺糼",13,"紋",5],["bc80","紑",14,"紡紣紤紥紦紨紩紪紬紭紮細",6,"肌饥迹激讥鸡姬绩缉吉极棘辑籍集及急疾汲即嫉级挤几脊己蓟技冀季伎祭剂悸济寄寂计记既忌际妓继纪嘉枷夹佳家加荚颊贾甲钾假稼价架驾嫁歼监坚尖笺间煎兼肩艰奸缄茧检柬碱硷拣捡简俭剪减荐槛鉴践贱见键箭件"],["bd40","紷",54,"絯",7],["bd80","絸",32,"健舰剑饯渐溅涧建僵姜将浆江疆蒋桨奖讲匠酱降蕉椒礁焦胶交郊浇骄娇嚼搅铰矫侥脚狡角饺缴绞剿教酵轿较叫窖揭接皆秸街阶截劫节桔杰捷睫竭洁结解姐戒藉芥界借介疥诫届巾筋斤金今津襟紧锦仅谨进靳晋禁近烬浸"],["be40","継",12,"綧",6,"綯",42],["be80","線",32,"尽劲荆兢茎睛晶鲸京惊精粳经井警景颈静境敬镜径痉靖竟竞净炯窘揪究纠玖韭久灸九酒厩救旧臼舅咎就疚鞠拘狙疽居驹菊局咀矩举沮聚拒据巨具距踞锯俱句惧炬剧捐鹃娟倦眷卷绢撅攫抉掘倔爵觉决诀绝均菌钧军君峻"],["bf40","緻",62],["bf80","縺縼",4,"繂",4,"繈",21,"俊竣浚郡骏喀咖卡咯开揩楷凯慨刊堪勘坎砍看康慷糠扛抗亢炕考拷烤靠坷苛柯棵磕颗科壳咳可渴克刻客课肯啃垦恳坑吭空恐孔控抠口扣寇枯哭窟苦酷库裤夸垮挎跨胯块筷侩快宽款匡筐狂框矿眶旷况亏盔岿窥葵奎魁傀"],["c040","繞",35,"纃",23,"纜纝纞"],["c080","纮纴纻纼绖绤绬绹缊缐缞缷缹缻",6,"罃罆",9,"罒罓馈愧溃坤昆捆困括扩廓阔垃拉喇蜡腊辣啦莱来赖蓝婪栏拦篮阑兰澜谰揽览懒缆烂滥琅榔狼廊郎朗浪捞劳牢老佬姥酪烙涝勒乐雷镭蕾磊累儡垒擂肋类泪棱楞冷厘梨犁黎篱狸离漓理李里鲤礼莉荔吏栗丽厉励砾历利傈例俐"],["c140","罖罙罛罜罝罞罠罣",4,"罫罬罭罯罰罳罵罶罷罸罺罻罼罽罿羀羂",7,"羋羍羏",4,"羕",4,"羛羜羠羢羣羥羦羨",6,"羱"],["c180","羳",4,"羺羻羾翀翂翃翄翆翇翈翉翋翍翏",4,"翖翗翙",5,"翢翣痢立粒沥隶力璃哩俩联莲连镰廉怜涟帘敛脸链恋炼练粮凉梁粱良两辆量晾亮谅撩聊僚疗燎寥辽潦了撂镣廖料列裂烈劣猎琳林磷霖临邻鳞淋凛赁吝拎玲菱零龄铃伶羚凌灵陵岭领另令溜琉榴硫馏留刘瘤流柳六龙聋咙笼窿"],["c240","翤翧翨翪翫翬翭翯翲翴",6,"翽翾翿耂耇耈耉耊耎耏耑耓耚耛耝耞耟耡耣耤耫",5,"耲耴耹耺耼耾聀聁聄聅聇聈聉聎聏聐聑聓聕聖聗"],["c280","聙聛",13,"聫",5,"聲",11,"隆垄拢陇楼娄搂篓漏陋芦卢颅庐炉掳卤虏鲁麓碌露路赂鹿潞禄录陆戮驴吕铝侣旅履屡缕虑氯律率滤绿峦挛孪滦卵乱掠略抡轮伦仑沦纶论萝螺罗逻锣箩骡裸落洛骆络妈麻玛码蚂马骂嘛吗埋买麦卖迈脉瞒馒蛮满蔓曼慢漫"],["c340","聾肁肂肅肈肊肍",5,"肔肕肗肙肞肣肦肧肨肬肰肳肵肶肸肹肻胅胇",4,"胏",6,"胘胟胠胢胣胦胮胵胷胹胻胾胿脀脁脃脄脅脇脈脋"],["c380","脌脕脗脙脛脜脝脟",12,"脭脮脰脳脴脵脷脹",4,"脿谩芒茫盲氓忙莽猫茅锚毛矛铆卯茂冒帽貌贸么玫枚梅酶霉煤没眉媒镁每美昧寐妹媚门闷们萌蒙檬盟锰猛梦孟眯醚靡糜迷谜弥米秘觅泌蜜密幂棉眠绵冕免勉娩缅面苗描瞄藐秒渺庙妙蔑灭民抿皿敏悯闽明螟鸣铭名命谬摸"],["c440","腀",5,"腇腉腍腎腏腒腖腗腘腛",4,"腡腢腣腤腦腨腪腫腬腯腲腳腵腶腷腸膁膃",4,"膉膋膌膍膎膐膒",5,"膙膚膞",4,"膤膥"],["c480","膧膩膫",7,"膴",5,"膼膽膾膿臄臅臇臈臉臋臍",6,"摹蘑模膜磨摩魔抹末莫墨默沫漠寞陌谋牟某拇牡亩姆母墓暮幕募慕木目睦牧穆拿哪呐钠那娜纳氖乃奶耐奈南男难囊挠脑恼闹淖呢馁内嫩能妮霓倪泥尼拟你匿腻逆溺蔫拈年碾撵捻念娘酿鸟尿捏聂孽啮镊镍涅您柠狞凝宁"],["c540","臔",14,"臤臥臦臨臩臫臮",4,"臵",5,"臽臿舃與",4,"舎舏舑舓舕",5,"舝舠舤舥舦舧舩舮舲舺舼舽舿"],["c580","艀艁艂艃艅艆艈艊艌艍艎艐",7,"艙艛艜艝艞艠",7,"艩拧泞牛扭钮纽脓浓农弄奴努怒女暖虐疟挪懦糯诺哦欧鸥殴藕呕偶沤啪趴爬帕怕琶拍排牌徘湃派攀潘盘磐盼畔判叛乓庞旁耪胖抛咆刨炮袍跑泡呸胚培裴赔陪配佩沛喷盆砰抨烹澎彭蓬棚硼篷膨朋鹏捧碰坯砒霹批披劈琵毗"],["c640","艪艫艬艭艱艵艶艷艸艻艼芀芁芃芅芆芇芉芌芐芓芔芕芖芚芛芞芠芢芣芧芲芵芶芺芻芼芿苀苂苃苅苆苉苐苖苙苚苝苢苧苨苩苪苬苭苮苰苲苳苵苶苸"],["c680","苺苼",4,"茊茋茍茐茒茓茖茘茙茝",9,"茩茪茮茰茲茷茻茽啤脾疲皮匹痞僻屁譬篇偏片骗飘漂瓢票撇瞥拼频贫品聘乒坪苹萍平凭瓶评屏坡泼颇婆破魄迫粕剖扑铺仆莆葡菩蒲埔朴圃普浦谱曝瀑期欺栖戚妻七凄漆柒沏其棋奇歧畦崎脐齐旗祈祁骑起岂乞企启契砌器气迄弃汽泣讫掐"],["c740","茾茿荁荂荄荅荈荊",4,"荓荕",4,"荝荢荰",6,"荹荺荾",6,"莇莈莊莋莌莍莏莐莑莔莕莖莗莙莚莝莟莡",6,"莬莭莮"],["c780","莯莵莻莾莿菂菃菄菆菈菉菋菍菎菐菑菒菓菕菗菙菚菛菞菢菣菤菦菧菨菫菬菭恰洽牵扦钎铅千迁签仟谦乾黔钱钳前潜遣浅谴堑嵌欠歉枪呛腔羌墙蔷强抢橇锹敲悄桥瞧乔侨巧鞘撬翘峭俏窍切茄且怯窃钦侵亲秦琴勤芹擒禽寝沁青轻氢倾卿清擎晴氰情顷请庆琼穷秋丘邱球求囚酋泅趋区蛆曲躯屈驱渠"],["c840","菮華菳",4,"菺菻菼菾菿萀萂萅萇萈萉萊萐萒",5,"萙萚萛萞",5,"萩",7,"萲",5,"萹萺萻萾",7,"葇葈葉"],["c880","葊",6,"葒",4,"葘葝葞葟葠葢葤",4,"葪葮葯葰葲葴葷葹葻葼取娶龋趣去圈颧权醛泉全痊拳犬券劝缺炔瘸却鹊榷确雀裙群然燃冉染瓤壤攘嚷让饶扰绕惹热壬仁人忍韧任认刃妊纫扔仍日戎茸蓉荣融熔溶容绒冗揉柔肉茹蠕儒孺如辱乳汝入褥软阮蕊瑞锐闰润若弱撒洒萨腮鳃塞赛三叁"],["c940","葽",4,"蒃蒄蒅蒆蒊蒍蒏",7,"蒘蒚蒛蒝蒞蒟蒠蒢",12,"蒰蒱蒳蒵蒶蒷蒻蒼蒾蓀蓂蓃蓅蓆蓇蓈蓋蓌蓎蓏蓒蓔蓕蓗"],["c980","蓘",4,"蓞蓡蓢蓤蓧",4,"蓭蓮蓯蓱",10,"蓽蓾蔀蔁蔂伞散桑嗓丧搔骚扫嫂瑟色涩森僧莎砂杀刹沙纱傻啥煞筛晒珊苫杉山删煽衫闪陕擅赡膳善汕扇缮墒伤商赏晌上尚裳梢捎稍烧芍勺韶少哨邵绍奢赊蛇舌舍赦摄射慑涉社设砷申呻伸身深娠绅神沈审婶甚肾慎渗声生甥牲升绳"],["ca40","蔃",8,"蔍蔎蔏蔐蔒蔔蔕蔖蔘蔙蔛蔜蔝蔞蔠蔢",8,"蔭",9,"蔾",4,"蕄蕅蕆蕇蕋",10],["ca80","蕗蕘蕚蕛蕜蕝蕟",4,"蕥蕦蕧蕩",8,"蕳蕵蕶蕷蕸蕼蕽蕿薀薁省盛剩胜圣师失狮施湿诗尸虱十石拾时什食蚀实识史矢使屎驶始式示士世柿事拭誓逝势是嗜噬适仕侍释饰氏市恃室视试收手首守寿授售受瘦兽蔬枢梳殊抒输叔舒淑疏书赎孰熟薯暑曙署蜀黍鼠属术述树束戍竖墅庶数漱"],["cb40","薂薃薆薈",6,"薐",10,"薝",6,"薥薦薧薩薫薬薭薱",5,"薸薺",6,"藂",6,"藊",4,"藑藒"],["cb80","藔藖",5,"藝",6,"藥藦藧藨藪",14,"恕刷耍摔衰甩帅栓拴霜双爽谁水睡税吮瞬顺舜说硕朔烁斯撕嘶思私司丝死肆寺嗣四伺似饲巳松耸怂颂送宋讼诵搜艘擞嗽苏酥俗素速粟僳塑溯宿诉肃酸蒜算虽隋随绥髓碎岁穗遂隧祟孙损笋蓑梭唆缩琐索锁所塌他它她塔"],["cc40","藹藺藼藽藾蘀",4,"蘆",10,"蘒蘓蘔蘕蘗",15,"蘨蘪",13,"蘹蘺蘻蘽蘾蘿虀"],["cc80","虁",11,"虒虓處",4,"虛虜虝號虠虡虣",7,"獭挞蹋踏胎苔抬台泰酞太态汰坍摊贪瘫滩坛檀痰潭谭谈坦毯袒碳探叹炭汤塘搪堂棠膛唐糖倘躺淌趟烫掏涛滔绦萄桃逃淘陶讨套特藤腾疼誊梯剔踢锑提题蹄啼体替嚏惕涕剃屉天添填田甜恬舔腆挑条迢眺跳贴铁帖厅听烃"],["cd40","虭虯虰虲",6,"蚃",6,"蚎",4,"蚔蚖",5,"蚞",4,"蚥蚦蚫蚭蚮蚲蚳蚷蚸蚹蚻",4,"蛁蛂蛃蛅蛈蛌蛍蛒蛓蛕蛖蛗蛚蛜"],["cd80","蛝蛠蛡蛢蛣蛥蛦蛧蛨蛪蛫蛬蛯蛵蛶蛷蛺蛻蛼蛽蛿蜁蜄蜅蜆蜋蜌蜎蜏蜐蜑蜔蜖汀廷停亭庭挺艇通桐酮瞳同铜彤童桶捅筒统痛偷投头透凸秃突图徒途涂屠土吐兔湍团推颓腿蜕褪退吞屯臀拖托脱鸵陀驮驼椭妥拓唾挖哇蛙洼娃瓦袜歪外豌弯湾玩顽丸烷完碗挽晚皖惋宛婉万腕汪王亡枉网往旺望忘妄威"],["ce40","蜙蜛蜝蜟蜠蜤蜦蜧蜨蜪蜫蜬蜭蜯蜰蜲蜳蜵蜶蜸蜹蜺蜼蜽蝀",6,"蝊蝋蝍蝏蝐蝑蝒蝔蝕蝖蝘蝚",5,"蝡蝢蝦",7,"蝯蝱蝲蝳蝵"],["ce80","蝷蝸蝹蝺蝿螀螁螄螆螇螉螊螌螎",4,"螔螕螖螘",6,"螠",4,"巍微危韦违桅围唯惟为潍维苇萎委伟伪尾纬未蔚味畏胃喂魏位渭谓尉慰卫瘟温蚊文闻纹吻稳紊问嗡翁瓮挝蜗涡窝我斡卧握沃巫呜钨乌污诬屋无芜梧吾吴毋武五捂午舞伍侮坞戊雾晤物勿务悟误昔熙析西硒矽晰嘻吸锡牺"],["cf40","螥螦螧螩螪螮螰螱螲螴螶螷螸螹螻螼螾螿蟁",4,"蟇蟈蟉蟌",4,"蟔",6,"蟜蟝蟞蟟蟡蟢蟣蟤蟦蟧蟨蟩蟫蟬蟭蟯",9],["cf80","蟺蟻蟼蟽蟿蠀蠁蠂蠄",5,"蠋",7,"蠔蠗蠘蠙蠚蠜",4,"蠣稀息希悉膝夕惜熄烯溪汐犀檄袭席习媳喜铣洗系隙戏细瞎虾匣霞辖暇峡侠狭下厦夏吓掀锨先仙鲜纤咸贤衔舷闲涎弦嫌显险现献县腺馅羡宪陷限线相厢镶香箱襄湘乡翔祥详想响享项巷橡像向象萧硝霄削哮嚣销消宵淆晓"],["d040","蠤",13,"蠳",5,"蠺蠻蠽蠾蠿衁衂衃衆",5,"衎",5,"衕衖衘衚",6,"衦衧衪衭衯衱衳衴衵衶衸衹衺"],["d080","衻衼袀袃袆袇袉袊袌袎袏袐袑袓袔袕袗",4,"袝",4,"袣袥",5,"小孝校肖啸笑效楔些歇蝎鞋协挟携邪斜胁谐写械卸蟹懈泄泻谢屑薪芯锌欣辛新忻心信衅星腥猩惺兴刑型形邢行醒幸杏性姓兄凶胸匈汹雄熊休修羞朽嗅锈秀袖绣墟戌需虚嘘须徐许蓄酗叙旭序畜恤絮婿绪续轩喧宣悬旋玄"],["d140","袬袮袯袰袲",4,"袸袹袺袻袽袾袿裀裃裄裇裈裊裋裌裍裏裐裑裓裖裗裚",4,"裠裡裦裧裩",6,"裲裵裶裷裺裻製裿褀褁褃",5],["d180","褉褋",4,"褑褔",4,"褜",4,"褢褣褤褦褧褨褩褬褭褮褯褱褲褳褵褷选癣眩绚靴薛学穴雪血勋熏循旬询寻驯巡殉汛训讯逊迅压押鸦鸭呀丫芽牙蚜崖衙涯雅哑亚讶焉咽阉烟淹盐严研蜒岩延言颜阎炎沿奄掩眼衍演艳堰燕厌砚雁唁彦焰宴谚验殃央鸯秧杨扬佯疡羊洋阳氧仰痒养样漾邀腰妖瑶"],["d240","褸",8,"襂襃襅",24,"襠",5,"襧",19,"襼"],["d280","襽襾覀覂覄覅覇",26,"摇尧遥窑谣姚咬舀药要耀椰噎耶爷野冶也页掖业叶曳腋夜液一壹医揖铱依伊衣颐夷遗移仪胰疑沂宜姨彝椅蚁倚已乙矣以艺抑易邑屹亿役臆逸肄疫亦裔意毅忆义益溢诣议谊译异翼翌绎茵荫因殷音阴姻吟银淫寅饮尹引隐"],["d340","覢",30,"觃觍觓觔觕觗觘觙觛觝觟觠觡觢觤觧觨觩觪觬觭觮觰觱觲觴",6],["d380","觻",4,"訁",5,"計",21,"印英樱婴鹰应缨莹萤营荧蝇迎赢盈影颖硬映哟拥佣臃痈庸雍踊蛹咏泳涌永恿勇用幽优悠忧尤由邮铀犹油游酉有友右佑釉诱又幼迂淤于盂榆虞愚舆余俞逾鱼愉渝渔隅予娱雨与屿禹宇语羽玉域芋郁吁遇喻峪御愈欲狱育誉"],["d440","訞",31,"訿",8,"詉",21],["d480","詟",25,"詺",6,"浴寓裕预豫驭鸳渊冤元垣袁原援辕园员圆猿源缘远苑愿怨院曰约越跃钥岳粤月悦阅耘云郧匀陨允运蕴酝晕韵孕匝砸杂栽哉灾宰载再在咱攒暂赞赃脏葬遭糟凿藻枣早澡蚤躁噪造皂灶燥责择则泽贼怎增憎曾赠扎喳渣札轧"],["d540","誁",7,"誋",7,"誔",46],["d580","諃",32,"铡闸眨栅榨咋乍炸诈摘斋宅窄债寨瞻毡詹粘沾盏斩辗崭展蘸栈占战站湛绽樟章彰漳张掌涨杖丈帐账仗胀瘴障招昭找沼赵照罩兆肇召遮折哲蛰辙者锗蔗这浙珍斟真甄砧臻贞针侦枕疹诊震振镇阵蒸挣睁征狰争怔整拯正政"],["d640","諤",34,"謈",27],["d680","謤謥謧",30,"帧症郑证芝枝支吱蜘知肢脂汁之织职直植殖执值侄址指止趾只旨纸志挚掷至致置帜峙制智秩稚质炙痔滞治窒中盅忠钟衷终种肿重仲众舟周州洲诌粥轴肘帚咒皱宙昼骤珠株蛛朱猪诸诛逐竹烛煮拄瞩嘱主著柱助蛀贮铸筑"],["d740","譆",31,"譧",4,"譭",25],["d780","讇",24,"讬讱讻诇诐诪谉谞住注祝驻抓爪拽专砖转撰赚篆桩庄装妆撞壮状椎锥追赘坠缀谆准捉拙卓桌琢茁酌啄着灼浊兹咨资姿滋淄孜紫仔籽滓子自渍字鬃棕踪宗综总纵邹走奏揍租足卒族祖诅阻组钻纂嘴醉最罪尊遵昨左佐柞做作坐座"],["d840","谸",8,"豂豃豄豅豈豊豋豍",7,"豖豗豘豙豛",5,"豣",6,"豬",6,"豴豵豶豷豻",6,"貃貄貆貇"],["d880","貈貋貍",6,"貕貖貗貙",20,"亍丌兀丐廿卅丕亘丞鬲孬噩丨禺丿匕乇夭爻卮氐囟胤馗毓睾鼗丶亟鼐乜乩亓芈孛啬嘏仄厍厝厣厥厮靥赝匚叵匦匮匾赜卦卣刂刈刎刭刳刿剀剌剞剡剜蒯剽劂劁劐劓冂罔亻仃仉仂仨仡仫仞伛仳伢佤仵伥伧伉伫佞佧攸佚佝"],["d940","貮",62],["d980","賭",32,"佟佗伲伽佶佴侑侉侃侏佾佻侪佼侬侔俦俨俪俅俚俣俜俑俟俸倩偌俳倬倏倮倭俾倜倌倥倨偾偃偕偈偎偬偻傥傧傩傺僖儆僭僬僦僮儇儋仝氽佘佥俎龠汆籴兮巽黉馘冁夔勹匍訇匐凫夙兕亠兖亳衮袤亵脔裒禀嬴蠃羸冫冱冽冼"],["da40","贎",14,"贠赑赒赗赟赥赨赩赪赬赮赯赱赲赸",8,"趂趃趆趇趈趉趌",4,"趒趓趕",9,"趠趡"],["da80","趢趤",12,"趲趶趷趹趻趽跀跁跂跅跇跈跉跊跍跐跒跓跔凇冖冢冥讠讦讧讪讴讵讷诂诃诋诏诎诒诓诔诖诘诙诜诟诠诤诨诩诮诰诳诶诹诼诿谀谂谄谇谌谏谑谒谔谕谖谙谛谘谝谟谠谡谥谧谪谫谮谯谲谳谵谶卩卺阝阢阡阱阪阽阼陂陉陔陟陧陬陲陴隈隍隗隰邗邛邝邙邬邡邴邳邶邺"],["db40","跕跘跙跜跠跡跢跥跦跧跩跭跮跰跱跲跴跶跼跾",6,"踆踇踈踋踍踎踐踑踒踓踕",7,"踠踡踤",4,"踫踭踰踲踳踴踶踷踸踻踼踾"],["db80","踿蹃蹅蹆蹌",4,"蹓",5,"蹚",11,"蹧蹨蹪蹫蹮蹱邸邰郏郅邾郐郄郇郓郦郢郜郗郛郫郯郾鄄鄢鄞鄣鄱鄯鄹酃酆刍奂劢劬劭劾哿勐勖勰叟燮矍廴凵凼鬯厶弁畚巯坌垩垡塾墼壅壑圩圬圪圳圹圮圯坜圻坂坩垅坫垆坼坻坨坭坶坳垭垤垌垲埏垧垴垓垠埕埘埚埙埒垸埴埯埸埤埝"],["dc40","蹳蹵蹷",4,"蹽蹾躀躂躃躄躆躈",6,"躑躒躓躕",6,"躝躟",11,"躭躮躰躱躳",6,"躻",7],["dc80","軃",10,"軏",21,"堋堍埽埭堀堞堙塄堠塥塬墁墉墚墀馨鼙懿艹艽艿芏芊芨芄芎芑芗芙芫芸芾芰苈苊苣芘芷芮苋苌苁芩芴芡芪芟苄苎芤苡茉苷苤茏茇苜苴苒苘茌苻苓茑茚茆茔茕苠苕茜荑荛荜茈莒茼茴茱莛荞茯荏荇荃荟荀茗荠茭茺茳荦荥"],["dd40","軥",62],["dd80","輤",32,"荨茛荩荬荪荭荮莰荸莳莴莠莪莓莜莅荼莶莩荽莸荻莘莞莨莺莼菁萁菥菘堇萘萋菝菽菖萜萸萑萆菔菟萏萃菸菹菪菅菀萦菰菡葜葑葚葙葳蒇蒈葺蒉葸萼葆葩葶蒌蒎萱葭蓁蓍蓐蓦蒽蓓蓊蒿蒺蓠蒡蒹蒴蒗蓥蓣蔌甍蔸蓰蔹蔟蔺"],["de40","轅",32,"轪辀辌辒辝辠辡辢辤辥辦辧辪辬辭辮辯農辳辴辵辷辸辺辻込辿迀迃迆"],["de80","迉",4,"迏迒迖迗迚迠迡迣迧迬迯迱迲迴迵迶迺迻迼迾迿逇逈逌逎逓逕逘蕖蔻蓿蓼蕙蕈蕨蕤蕞蕺瞢蕃蕲蕻薤薨薇薏蕹薮薜薅薹薷薰藓藁藜藿蘧蘅蘩蘖蘼廾弈夼奁耷奕奚奘匏尢尥尬尴扌扪抟抻拊拚拗拮挢拶挹捋捃掭揶捱捺掎掴捭掬掊捩掮掼揲揸揠揿揄揞揎摒揆掾摅摁搋搛搠搌搦搡摞撄摭撖"],["df40","這逜連逤逥逧",5,"逰",4,"逷逹逺逽逿遀遃遅遆遈",4,"過達違遖遙遚遜",5,"遤遦遧適遪遫遬遯",4,"遶",6,"遾邁"],["df80","還邅邆邇邉邊邌",4,"邒邔邖邘邚邜邞邟邠邤邥邧邨邩邫邭邲邷邼邽邿郀摺撷撸撙撺擀擐擗擤擢攉攥攮弋忒甙弑卟叱叽叩叨叻吒吖吆呋呒呓呔呖呃吡呗呙吣吲咂咔呷呱呤咚咛咄呶呦咝哐咭哂咴哒咧咦哓哔呲咣哕咻咿哌哙哚哜咩咪咤哝哏哞唛哧唠哽唔哳唢唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼"],["e040","郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞郟郠郣郤郥郩郪郬郮郰郱郲郳郵郶郷郹郺郻郼郿鄀鄁鄃鄅",19,"鄚鄛鄜"],["e080","鄝鄟鄠鄡鄤",10,"鄰鄲",6,"鄺",8,"酄唷啖啵啶啷唳唰啜喋嗒喃喱喹喈喁喟啾嗖喑啻嗟喽喾喔喙嗪嗷嗉嘟嗑嗫嗬嗔嗦嗝嗄嗯嗥嗲嗳嗌嗍嗨嗵嗤辔嘞嘈嘌嘁嘤嘣嗾嘀嘧嘭噘嘹噗嘬噍噢噙噜噌噔嚆噤噱噫噻噼嚅嚓嚯囔囗囝囡囵囫囹囿圄圊圉圜帏帙帔帑帱帻帼"],["e140","酅酇酈酑酓酔酕酖酘酙酛酜酟酠酦酧酨酫酭酳酺酻酼醀",4,"醆醈醊醎醏醓",6,"醜",5,"醤",5,"醫醬醰醱醲醳醶醷醸醹醻"],["e180","醼",10,"釈釋釐釒",9,"針",8,"帷幄幔幛幞幡岌屺岍岐岖岈岘岙岑岚岜岵岢岽岬岫岱岣峁岷峄峒峤峋峥崂崃崧崦崮崤崞崆崛嵘崾崴崽嵬嵛嵯嵝嵫嵋嵊嵩嵴嶂嶙嶝豳嶷巅彳彷徂徇徉後徕徙徜徨徭徵徼衢彡犭犰犴犷犸狃狁狎狍狒狨狯狩狲狴狷猁狳猃狺"],["e240","釦",62],["e280","鈥",32,"狻猗猓猡猊猞猝猕猢猹猥猬猸猱獐獍獗獠獬獯獾舛夥飧夤夂饣饧",5,"饴饷饽馀馄馇馊馍馐馑馓馔馕庀庑庋庖庥庠庹庵庾庳赓廒廑廛廨廪膺忄忉忖忏怃忮怄忡忤忾怅怆忪忭忸怙怵怦怛怏怍怩怫怊怿怡恸恹恻恺恂"],["e340","鉆",45,"鉵",16],["e380","銆",7,"銏",24,"恪恽悖悚悭悝悃悒悌悛惬悻悱惝惘惆惚悴愠愦愕愣惴愀愎愫慊慵憬憔憧憷懔懵忝隳闩闫闱闳闵闶闼闾阃阄阆阈阊阋阌阍阏阒阕阖阗阙阚丬爿戕氵汔汜汊沣沅沐沔沌汨汩汴汶沆沩泐泔沭泷泸泱泗沲泠泖泺泫泮沱泓泯泾"],["e440","銨",5,"銯",24,"鋉",31],["e480","鋩",32,"洹洧洌浃浈洇洄洙洎洫浍洮洵洚浏浒浔洳涑浯涞涠浞涓涔浜浠浼浣渚淇淅淞渎涿淠渑淦淝淙渖涫渌涮渫湮湎湫溲湟溆湓湔渲渥湄滟溱溘滠漭滢溥溧溽溻溷滗溴滏溏滂溟潢潆潇漤漕滹漯漶潋潴漪漉漩澉澍澌潸潲潼潺濑"],["e540","錊",51,"錿",10],["e580","鍊",31,"鍫濉澧澹澶濂濡濮濞濠濯瀚瀣瀛瀹瀵灏灞宀宄宕宓宥宸甯骞搴寤寮褰寰蹇謇辶迓迕迥迮迤迩迦迳迨逅逄逋逦逑逍逖逡逵逶逭逯遄遑遒遐遨遘遢遛暹遴遽邂邈邃邋彐彗彖彘尻咫屐屙孱屣屦羼弪弩弭艴弼鬻屮妁妃妍妩妪妣"],["e640","鍬",34,"鎐",27],["e680","鎬",29,"鏋鏌鏍妗姊妫妞妤姒妲妯姗妾娅娆姝娈姣姘姹娌娉娲娴娑娣娓婀婧婊婕娼婢婵胬媪媛婷婺媾嫫媲嫒嫔媸嫠嫣嫱嫖嫦嫘嫜嬉嬗嬖嬲嬷孀尕尜孚孥孳孑孓孢驵驷驸驺驿驽骀骁骅骈骊骐骒骓骖骘骛骜骝骟骠骢骣骥骧纟纡纣纥纨纩"],["e740","鏎",7,"鏗",54],["e780","鐎",32,"纭纰纾绀绁绂绉绋绌绐绔绗绛绠绡绨绫绮绯绱绲缍绶绺绻绾缁缂缃缇缈缋缌缏缑缒缗缙缜缛缟缡",6,"缪缫缬缭缯",4,"缵幺畿巛甾邕玎玑玮玢玟珏珂珑玷玳珀珉珈珥珙顼琊珩珧珞玺珲琏琪瑛琦琥琨琰琮琬"],["e840","鐯",14,"鐿",43,"鑬鑭鑮鑯"],["e880","鑰",20,"钑钖钘铇铏铓铔铚铦铻锜锠琛琚瑁瑜瑗瑕瑙瑷瑭瑾璜璎璀璁璇璋璞璨璩璐璧瓒璺韪韫韬杌杓杞杈杩枥枇杪杳枘枧杵枨枞枭枋杷杼柰栉柘栊柩枰栌柙枵柚枳柝栀柃枸柢栎柁柽栲栳桠桡桎桢桄桤梃栝桕桦桁桧桀栾桊桉栩梵梏桴桷梓桫棂楮棼椟椠棹"],["e940","锧锳锽镃镈镋镕镚镠镮镴镵長",7,"門",42],["e980","閫",32,"椤棰椋椁楗棣椐楱椹楠楂楝榄楫榀榘楸椴槌榇榈槎榉楦楣楹榛榧榻榫榭槔榱槁槊槟榕槠榍槿樯槭樗樘橥槲橄樾檠橐橛樵檎橹樽樨橘橼檑檐檩檗檫猷獒殁殂殇殄殒殓殍殚殛殡殪轫轭轱轲轳轵轶轸轷轹轺轼轾辁辂辄辇辋"],["ea40","闌",27,"闬闿阇阓阘阛阞阠阣",6,"阫阬阭阯阰阷阸阹阺阾陁陃陊陎陏陑陒陓陖陗"],["ea80","陘陙陚陜陝陞陠陣陥陦陫陭",4,"陳陸",12,"隇隉隊辍辎辏辘辚軎戋戗戛戟戢戡戥戤戬臧瓯瓴瓿甏甑甓攴旮旯旰昊昙杲昃昕昀炅曷昝昴昱昶昵耆晟晔晁晏晖晡晗晷暄暌暧暝暾曛曜曦曩贲贳贶贻贽赀赅赆赈赉赇赍赕赙觇觊觋觌觎觏觐觑牮犟牝牦牯牾牿犄犋犍犏犒挈挲掰"],["eb40","隌階隑隒隓隕隖隚際隝",9,"隨",7,"隱隲隴隵隷隸隺隻隿雂雃雈雊雋雐雑雓雔雖",9,"雡",6,"雫"],["eb80","雬雭雮雰雱雲雴雵雸雺電雼雽雿霂霃霅霊霋霌霐霑霒霔霕霗",4,"霝霟霠搿擘耄毪毳毽毵毹氅氇氆氍氕氘氙氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂胄胙胍胗朐胝胫胱胴胭脍脎胲胼朕脒豚脶脞脬脘脲腈腌腓腴腙腚腱腠腩腼腽腭腧塍媵膈膂膑滕膣膪臌朦臊膻"],["ec40","霡",8,"霫霬霮霯霱霳",4,"霺霻霼霽霿",18,"靔靕靗靘靚靜靝靟靣靤靦靧靨靪",7],["ec80","靲靵靷",4,"靽",7,"鞆",4,"鞌鞎鞏鞐鞓鞕鞖鞗鞙",4,"臁膦欤欷欹歃歆歙飑飒飓飕飙飚殳彀毂觳斐齑斓於旆旄旃旌旎旒旖炀炜炖炝炻烀炷炫炱烨烊焐焓焖焯焱煳煜煨煅煲煊煸煺熘熳熵熨熠燠燔燧燹爝爨灬焘煦熹戾戽扃扈扉礻祀祆祉祛祜祓祚祢祗祠祯祧祺禅禊禚禧禳忑忐"],["ed40","鞞鞟鞡鞢鞤",6,"鞬鞮鞰鞱鞳鞵",46],["ed80","韤韥韨韮",4,"韴韷",23,"怼恝恚恧恁恙恣悫愆愍慝憩憝懋懑戆肀聿沓泶淼矶矸砀砉砗砘砑斫砭砜砝砹砺砻砟砼砥砬砣砩硎硭硖硗砦硐硇硌硪碛碓碚碇碜碡碣碲碹碥磔磙磉磬磲礅磴礓礤礞礴龛黹黻黼盱眄眍盹眇眈眚眢眙眭眦眵眸睐睑睇睃睚睨"],["ee40","頏",62],["ee80","顎",32,"睢睥睿瞍睽瞀瞌瞑瞟瞠瞰瞵瞽町畀畎畋畈畛畲畹疃罘罡罟詈罨罴罱罹羁罾盍盥蠲钅钆钇钋钊钌钍钏钐钔钗钕钚钛钜钣钤钫钪钭钬钯钰钲钴钶",4,"钼钽钿铄铈",6,"铐铑铒铕铖铗铙铘铛铞铟铠铢铤铥铧铨铪"],["ef40","顯",5,"颋颎颒颕颙颣風",37,"飏飐飔飖飗飛飜飝飠",4],["ef80","飥飦飩",30,"铩铫铮铯铳铴铵铷铹铼铽铿锃锂锆锇锉锊锍锎锏锒",4,"锘锛锝锞锟锢锪锫锩锬锱锲锴锶锷锸锼锾锿镂锵镄镅镆镉镌镎镏镒镓镔镖镗镘镙镛镞镟镝镡镢镤",8,"镯镱镲镳锺矧矬雉秕秭秣秫稆嵇稃稂稞稔"],["f040","餈",4,"餎餏餑",28,"餯",26],["f080","饊",9,"饖",12,"饤饦饳饸饹饻饾馂馃馉稹稷穑黏馥穰皈皎皓皙皤瓞瓠甬鸠鸢鸨",4,"鸲鸱鸶鸸鸷鸹鸺鸾鹁鹂鹄鹆鹇鹈鹉鹋鹌鹎鹑鹕鹗鹚鹛鹜鹞鹣鹦",6,"鹱鹭鹳疒疔疖疠疝疬疣疳疴疸痄疱疰痃痂痖痍痣痨痦痤痫痧瘃痱痼痿瘐瘀瘅瘌瘗瘊瘥瘘瘕瘙"],["f140","馌馎馚",10,"馦馧馩",47],["f180","駙",32,"瘛瘼瘢瘠癀瘭瘰瘿瘵癃瘾瘳癍癞癔癜癖癫癯翊竦穸穹窀窆窈窕窦窠窬窨窭窳衤衩衲衽衿袂袢裆袷袼裉裢裎裣裥裱褚裼裨裾裰褡褙褓褛褊褴褫褶襁襦襻疋胥皲皴矜耒耔耖耜耠耢耥耦耧耩耨耱耋耵聃聆聍聒聩聱覃顸颀颃"],["f240","駺",62],["f280","騹",32,"颉颌颍颏颔颚颛颞颟颡颢颥颦虍虔虬虮虿虺虼虻蚨蚍蚋蚬蚝蚧蚣蚪蚓蚩蚶蛄蚵蛎蚰蚺蚱蚯蛉蛏蚴蛩蛱蛲蛭蛳蛐蜓蛞蛴蛟蛘蛑蜃蜇蛸蜈蜊蜍蜉蜣蜻蜞蜥蜮蜚蜾蝈蜴蜱蜩蜷蜿螂蜢蝽蝾蝻蝠蝰蝌蝮螋蝓蝣蝼蝤蝙蝥螓螯螨蟒"],["f340","驚",17,"驲骃骉骍骎骔骕骙骦骩",6,"骲骳骴骵骹骻骽骾骿髃髄髆",4,"髍髎髏髐髒體髕髖髗髙髚髛髜"],["f380","髝髞髠髢髣髤髥髧髨髩髪髬髮髰",8,"髺髼",6,"鬄鬅鬆蟆螈螅螭螗螃螫蟥螬螵螳蟋蟓螽蟑蟀蟊蟛蟪蟠蟮蠖蠓蟾蠊蠛蠡蠹蠼缶罂罄罅舐竺竽笈笃笄笕笊笫笏筇笸笪笙笮笱笠笥笤笳笾笞筘筚筅筵筌筝筠筮筻筢筲筱箐箦箧箸箬箝箨箅箪箜箢箫箴篑篁篌篝篚篥篦篪簌篾篼簏簖簋"],["f440","鬇鬉",5,"鬐鬑鬒鬔",10,"鬠鬡鬢鬤",10,"鬰鬱鬳",7,"鬽鬾鬿魀魆魊魋魌魎魐魒魓魕",5],["f480","魛",32,"簟簪簦簸籁籀臾舁舂舄臬衄舡舢舣舭舯舨舫舸舻舳舴舾艄艉艋艏艚艟艨衾袅袈裘裟襞羝羟羧羯羰羲籼敉粑粝粜粞粢粲粼粽糁糇糌糍糈糅糗糨艮暨羿翎翕翥翡翦翩翮翳糸絷綦綮繇纛麸麴赳趄趔趑趱赧赭豇豉酊酐酎酏酤"],["f540","魼",62],["f580","鮻",32,"酢酡酰酩酯酽酾酲酴酹醌醅醐醍醑醢醣醪醭醮醯醵醴醺豕鹾趸跫踅蹙蹩趵趿趼趺跄跖跗跚跞跎跏跛跆跬跷跸跣跹跻跤踉跽踔踝踟踬踮踣踯踺蹀踹踵踽踱蹉蹁蹂蹑蹒蹊蹰蹶蹼蹯蹴躅躏躔躐躜躞豸貂貊貅貘貔斛觖觞觚觜"],["f640","鯜",62],["f680","鰛",32,"觥觫觯訾謦靓雩雳雯霆霁霈霏霎霪霭霰霾龀龃龅",5,"龌黾鼋鼍隹隼隽雎雒瞿雠銎銮鋈錾鍪鏊鎏鐾鑫鱿鲂鲅鲆鲇鲈稣鲋鲎鲐鲑鲒鲔鲕鲚鲛鲞",5,"鲥",4,"鲫鲭鲮鲰",7,"鲺鲻鲼鲽鳄鳅鳆鳇鳊鳋"],["f740","鰼",62],["f780","鱻鱽鱾鲀鲃鲄鲉鲊鲌鲏鲓鲖鲗鲘鲙鲝鲪鲬鲯鲹鲾",4,"鳈鳉鳑鳒鳚鳛鳠鳡鳌",4,"鳓鳔鳕鳗鳘鳙鳜鳝鳟鳢靼鞅鞑鞒鞔鞯鞫鞣鞲鞴骱骰骷鹘骶骺骼髁髀髅髂髋髌髑魅魃魇魉魈魍魑飨餍餮饕饔髟髡髦髯髫髻髭髹鬈鬏鬓鬟鬣麽麾縻麂麇麈麋麒鏖麝麟黛黜黝黠黟黢黩黧黥黪黯鼢鼬鼯鼹鼷鼽鼾齄"],["f840","鳣",62],["f880","鴢",32],["f940","鵃",62],["f980","鶂",32],["fa40","鶣",62],["fa80","鷢",32],["fb40","鸃",27,"鸤鸧鸮鸰鸴鸻鸼鹀鹍鹐鹒鹓鹔鹖鹙鹝鹟鹠鹡鹢鹥鹮鹯鹲鹴",9,"麀"],["fb80","麁麃麄麅麆麉麊麌",5,"麔",8,"麞麠",5,"麧麨麩麪"],["fc40","麫",8,"麵麶麷麹麺麼麿",4,"黅黆黇黈黊黋黌黐黒黓黕黖黗黙黚點黡黣黤黦黨黫黬黭黮黰",8,"黺黽黿",6],["fc80","鼆",4,"鼌鼏鼑鼒鼔鼕鼖鼘鼚",5,"鼡鼣",8,"鼭鼮鼰鼱"],["fd40","鼲",4,"鼸鼺鼼鼿",4,"齅",10,"齒",38],["fd80","齹",5,"龁龂龍",11,"龜龝龞龡",4,"郎凉秊裏隣"],["fe40","兀嗀﨎﨏﨑﨓﨔礼﨟蘒﨡﨣﨤﨧﨨﨩"]]')},function(e,t,n){var r=n(111),A=n(84),i="[object Symbol]";e.exports=function(e){return"symbol"==typeof e||A(e)&&r(e)==i}},function(e,t,n){var r=n(67)(n(40),"Map");e.exports=r},function(e,t,n){var r=n(414),A=n(412),i=Object.prototype.hasOwnProperty;e.exports=function(e,t,n){var o=e[t];i.call(e,t)&&A(o,n)&&(void 0!==n||t in e)||r(e,t,n)}},function(e,t,n){var r=n(415),A=n(1084),i=n(420);e.exports=function(e){return i(e)?r(e):A(e)}},function(e,t){e.exports=function(e){return function(t){return e(t)}}},function(e,t,n){(function(e){var r=n(408),A=t&&!t.nodeType&&t,i=A&&"object"==typeof e&&e&&!e.nodeType&&e,o=i&&i.exports===A&&r.process,s=function(){try{var e=i&&i.require&&i.require("util").types;return e||o&&o.binding&&o.binding("util")}catch(e){}}();e.exports=s}).call(this,n(29)(e))},function(e,t){var n=Object.prototype;e.exports=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||n)}},function(e,t,n){var r=n(1092),A=n(422),i=Object.prototype.propertyIsEnumerable,o=Object.getOwnPropertySymbols,s=o?function(e){return null==e?[]:(e=Object(e),r(o(e),(function(t){return i.call(e,t)})))}:A;e.exports=s},function(e,t,n){var r=n(1096),A=n(246),i=n(1097),o=n(1098),s=n(1099),a=n(111),c=n(411),u=c(r),g=c(A),l=c(i),h=c(o),p=c(s),f=a;(r&&"[object DataView]"!=f(new r(new ArrayBuffer(1)))||A&&"[object Map]"!=f(new A)||i&&"[object Promise]"!=f(i.resolve())||o&&"[object Set]"!=f(new o)||s&&"[object WeakMap]"!=f(new s))&&(f=function(e){var t=a(e),n="[object Object]"==t?e.constructor:void 0,r=n?c(n):"";if(r)switch(r){case u:return"[object DataView]";case g:return"[object Map]";case l:return"[object Promise]";case h:return"[object Set]";case p:return"[object WeakMap]"}return t}),e.exports=f},function(e,t,n){var r=n(1102);e.exports=function(e){var t=new e.constructor(e.byteLength);return new r(t).set(new r(e)),t}},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const A=n(0),i=n(1),o=r(n(292)),s=r(n(15));function a(){return Object.assign(Object.assign({},process.env),{GIT_SSH_COMMAND:"ssh -o BatchMode=yes"})}const c=[/^ssh:/,/^git(?:\+ssh)?:/,/^(?:git\+)?https?:[^#]+\/[^#]+\.git(?:#.*)?$/,/^git@[^#]+\/[^#]+\.git(?:#.*)?$/,/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z._0-9-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z._0-9-]+?)(?:\.git)?(?:#.*)?$/];var u;function g(e){const t=e.indexOf("#");if(-1===t)return{repo:e,treeish:{protocol:u.Head,request:"master"},extra:{}};const n=e.slice(0,t),r=e.slice(t+1);if(r.match(/^[a-z]+=/)){const e=o.default.parse(r);for(const[t,n]of Object.entries(e))if("string"!=typeof n)throw new Error(`Assertion failed: The ${t} parameter must be a literal string`);const t=Object.values(u).find(t=>Object.prototype.hasOwnProperty.call(e,t));let A,i;void 0!==t?(A=t,i=e[t]):(A=u.Head,i="master");for(const t of Object.values(u))delete e[t];return{repo:n,treeish:{protocol:A,request:i},extra:e}}{const e=r.indexOf(":");let t,A;return-1===e?(t=null,A=r):(t=r.slice(0,e),A=r.slice(e+1)),{repo:n,treeish:{protocol:t,request:A},extra:{}}}}function l(e){return e=(e=e.replace(/^git\+https:/,"https:")).replace(/^(?:github:|https:\/\/github\.com\/)?(?!\.{1,2}\/)([a-zA-Z0-9._-]+)\/(?!\.{1,2}(?:#|$))([a-zA-Z0-9._-]+?)(?:\.git)?(#.*)?$/,"https://github.com/$1/$2.git$3")}async function h(e,t){if(!t.get("enableNetwork"))throw new Error(`Network access has been disabled by configuration (${e})`);let n;try{n=await A.execUtils.execvp("git",["ls-remote","--refs",l(e)],{cwd:t.startingCwd,env:a(),strict:!0})}catch(t){throw t.message=`Listing the refs for ${e} failed`,t}const r=new Map,i=/^([a-f0-9]{40})\t(refs\/[^\n]+)/gm;let o;for(;null!==(o=i.exec(n.stdout));)r.set(o[2],o[1]);return r}!function(e){e.Commit="commit",e.Head="head",e.Tag="tag",e.Semver="semver"}(u=t.TreeishProtocols||(t.TreeishProtocols={})),t.isGitUrl=function(e){return!!e&&c.some(t=>!!e.match(t))},t.splitRepoUrl=g,t.normalizeRepoUrl=l,t.normalizeLocator=function(e){return A.structUtils.makeLocator(e,l(e.reference))},t.lsRemote=h,t.resolveUrl=async function(e,t){const{repo:n,treeish:{protocol:r,request:A},extra:i}=g(e),a=await h(n,t),c=(e,t)=>{switch(e){case u.Commit:if(!t.match(/^[a-f0-9]{40}$/))throw new Error("Invalid commit hash");return o.default.stringify(Object.assign(Object.assign({},i),{commit:t}));case u.Head:{const e=a.get(`refs/heads/${t}`);if(void 0===e)throw new Error(`Unknown head ("${t}")`);return o.default.stringify(Object.assign(Object.assign({},i),{commit:e}))}case u.Tag:{const e=a.get(`refs/tags/${t}`);if(void 0===e)throw new Error(`Unknown tag ("${t}")`);return o.default.stringify(Object.assign(Object.assign({},i),{commit:e}))}case u.Semver:{if(!s.default.validRange(t))throw new Error(`Invalid range ("${t}")`);const e=new Map([...a.entries()].filter(([e])=>e.startsWith("refs/tags/")).map(([e,t])=>[s.default.parse(e.slice(10)),t]).filter(e=>null!==e[0])),n=s.default.maxSatisfying([...e.keys()],t);if(null===n)throw new Error(`No matching range ("${t}")`);return o.default.stringify(Object.assign(Object.assign({},i),{commit:e.get(n)}))}case null:{let e;if(null!==(e=l(u.Commit,t)))return e;if(null!==(e=l(u.Tag,t)))return e;if(null!==(e=l(u.Head,t)))return e;throw t.match(/^[a-f0-9]+$/)?new Error(`Couldn't resolve "${t}" as either a commit, a tag, or a head - if a commit, use the 40-characters commit hash`):new Error(`Couldn't resolve "${t}" as either a commit, a tag, or a head`)}default:throw new Error(`Invalid Git resolution protocol ("${e}")`)}},l=(e,t)=>{try{return c(e,t)}catch(e){return null}};return`${n}#${c(r,A)}`},t.clone=async function(e,t){if(!t.get("enableNetwork"))throw new Error(`Network access has been disabled by configuration (${e})`);const{repo:n,treeish:{protocol:r,request:o}}=g(e);if("commit"!==r)throw new Error("Invalid treeish protocol when cloning");const s=await i.xfs.mktempPromise(),c={cwd:s,env:a(),strict:!0};try{await A.execUtils.execvp("git",["clone",`${l(n)}`,i.npath.fromPortablePath(s)],c),await A.execUtils.execvp("git",["checkout",`${o}`],c)}catch(e){throw e.message=`Repository clone failed: ${e.message}`,e}return s}},function(e,t,n){"use strict";function r(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0}),r(n(1177)),r(n(1178)),r(n(1181)),r(n(1183))},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const A=n(1),i=r(n(3)),o=n(1185);t.NodeModulesFS=o.NodeModulesFS;const s=n(171);t.buildNodeModulesTree=s.buildNodeModulesTree,t.buildLocatorMap=s.buildLocatorMap;const a=n(171);t.getArchivePath=a.getArchivePath;const c=n(1189);let u,g=!1;try{u=c.dynamicRequire("pnpapi")}catch(e){}t.patchFs=()=>{if(u&&!g){const e=Object.assign({},i.default),t=new o.NodeModulesFS(u,{realFs:e});A.patchFs(i.default,t),g=!0}},process.mainModule||t.patchFs()},function(e,t,n){"use strict";var r;function A(e){return e.replace(/\/$/,"")}function i(e,{configuration:t,type:n=r.FETCH_REGISTRY}){const i=a(e,{configuration:t});if(null===i)return o({configuration:t,type:n});const s=i.get(n);return null===s?o({configuration:t,type:n}):A(s)}function o({configuration:e,type:t=r.FETCH_REGISTRY}){const n=e.get(t);return A(null!==n?n:e.get(r.FETCH_REGISTRY))}function s(e,{configuration:t}){const n=t.get("npmRegistries"),r=n.get(e);if(void 0!==r)return r;const A=n.get(e.replace(/^[a-z]+:/,""));return void 0!==A?A:null}function a(e,{configuration:t}){if(null===e)return null;const n=t.get("npmScopes").get(e);return n||null}Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.FETCH_REGISTRY="npmRegistryServer",e.PUBLISH_REGISTRY="npmPublishRegistry"}(r=t.RegistryType||(t.RegistryType={})),t.normalizeRegistry=A,t.getPublishRegistry=function(e,{configuration:t}){return e.publishConfig&&e.publishConfig.registry?A(e.publishConfig.registry):e.name?i(e.name.scope,{configuration:t,type:r.PUBLISH_REGISTRY}):o({configuration:t,type:r.PUBLISH_REGISTRY})},t.getScopeRegistry=i,t.getDefaultRegistry=o,t.getRegistryConfiguration=s,t.getScopeConfiguration=a,t.getAuthConfiguration=function(e,{configuration:t,ident:n}){const r=n&&a(n.scope,{configuration:t});return(null==r?void 0:r.get("npmAuthIdent"))||(null==r?void 0:r.get("npmAuthToken"))?r:s(e,{configuration:t})||t}},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},A=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const i=n(0),o=n(0),s=r(n(15)),a=n(55),c=n(113),u=A(n(258)),g=A(n(114));class l{supports(e,t){if(!e.reference.startsWith(c.PROTOCOL))return!1;const n=new a.URL(e.reference);return!!s.default.valid(n.pathname)&&!n.searchParams.has("__archiveUrl")}getLocalPath(e,t){return null}async fetch(e,t){const n=t.checksums.get(e.locatorHash)||null,[r,A,o]=await t.cache.fetchPackageFromCache(e,n,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${i.structUtils.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote registry`),loader:()=>this.fetchFromNetwork(e,t)});return{packageFs:r,releaseFs:A,prefixPath:i.structUtils.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){let n;try{n=await g.get(l.getLocatorUrl(e),{configuration:t.project.configuration,ident:e})}catch(r){n=await g.get(l.getLocatorUrl(e).replace(/%2f/g,"/"),{configuration:t.project.configuration,ident:e})}return await i.tgzUtils.convertToZip(n,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:i.structUtils.getIdentVendorPath(e),stripComponents:1})}static isConventionalTarballUrl(e,t,{configuration:n}){let r=u.getScopeRegistry(e.scope,{configuration:n});const A=l.getLocatorUrl(e);return t=t.replace(/^https?:(\/\/(?:[^\/]+\.)?npmjs.org(?:$|\/))/,"https:$1"),r=r.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"),(t=t.replace(/^https:\/\/registry\.npmjs\.org($|\/)/,"https://registry.yarnpkg.com$1"))===r+A||t===r+A.replace(/%2f/g,"/")}static getLocatorUrl(e){const t=s.default.clean(e.reference.slice(c.PROTOCOL.length));if(null===t)throw new o.ReportError(o.MessageName.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");return`${g.getIdentUrl(e)}/-/${e.name}-${t}.tgz`}}t.NpmSemverFetcher=l},function(e,t,n){"use strict";var r=n(86).codes.ERR_STREAM_PREMATURE_CLOSE;function A(){}e.exports=function e(t,n,i){if("function"==typeof n)return e(t,null,n);n||(n={}),i=function(e){var t=!1;return function(n){t||(t=!0,e.call(this,n))}}(i||A);var o=t._writableState,s=t._readableState,a=n.readable||!1!==n.readable&&t.readable,c=n.writable||!1!==n.writable&&t.writable,u=function(){t.writable||g()},g=function(){c=!1,a||i.call(t)},l=function(){a=!1,c||i.call(t)},h=function(e){i.call(t,e)},p=function(){return(!a||s&&s.ended)&&(!c||o&&o.ended)?void 0:i.call(t,new r)},f=function(){t.req.on("finish",g)};return!function(e){return e.setHeader&&"function"==typeof e.abort}(t)?c&&!o&&(t.on("end",u),t.on("close",u)):(t.on("complete",g),t.on("abort",p),t.req?f():t.on("request",f)),t.on("end",l),t.on("finish",g),!1!==n.error&&t.on("error",h),t.on("close",p),function(){t.removeListener("complete",g),t.removeListener("abort",p),t.removeListener("request",f),t.req&&t.req.removeListener("finish",g),t.removeListener("end",u),t.removeListener("close",u),t.removeListener("finish",g),t.removeListener("end",l),t.removeListener("error",h),t.removeListener("close",p)}}},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const A=n(1),i=r(n(262));var o;!function(e){e[e.Never=0]="Never",e[e.ErrorCode=1]="ErrorCode",e[e.Always=2]="Always"}(o=t.EndStrategy||(t.EndStrategy={}));let s=0;function a(e){return null!==e&&"number"==typeof e.fd}function c(){}t.pipevp=async function(e,t,{cwd:n,env:r=process.env,strict:u=!1,stdin:g=null,stdout:l,stderr:h,end:p=o.Always}){const f=["pipe","pipe","pipe"];null===g?f[0]="ignore":a(g)&&(f[0]=g),a(l)&&(f[1]=l),a(h)&&(f[2]=h),0==s++&&process.on("SIGINT",c);const C=i.default(e,t,{cwd:A.npath.fromPortablePath(n),env:r,stdio:f});a(g)||null===g||g.pipe(C.stdin),a(l)||C.stdout.pipe(l,{end:!1}),a(h)||C.stderr.pipe(h,{end:!1});const d=()=>{for(const e of new Set([l,h]))a(e)||e.end()};return new Promise((t,n)=>{C.on("error",e=>{0==--s&&process.off("SIGINT",c),p!==o.Always&&p!==o.ErrorCode||d(),n(e)}),C.on("close",(r,A)=>{0==--s&&process.off("SIGINT",c),(p===o.Always||p===o.ErrorCode&&r>0)&&d(),0!==r&&u?n(null!==r?new Error(`Child "${e}" exited with exit code ${r}`):new Error(`Child "${e}" exited with signal ${A}`)):t({code:r})})})},t.execvp=async function(e,t,{cwd:n,env:r=process.env,encoding:o="utf8",strict:s=!1}){const a=["ignore","pipe","pipe"],c=[],u=[],g=i.default(e,t,{cwd:A.npath.fromPortablePath(n),env:r,stdio:a});return g.stdout.on("data",e=>{c.push(e)}),g.stderr.on("data",e=>{u.push(e)}),await new Promise((t,n)=>{g.on("close",r=>{const A="buffer"===o?Buffer.concat(c):Buffer.concat(c).toString(o),i="buffer"===o?Buffer.concat(u):Buffer.concat(u).toString(o);0!==r&&s?n(Object.assign(new Error(`Child "${e}" exited with exit code ${r}\n\n${i}`),{code:r,stdout:A,stderr:i})):t({code:r,stdout:A,stderr:i})})})}},function(e,t,n){"use strict";const r=n(117),A=n(465),i=n(478);function o(e,t,n){const o=A(e,t,n),s=r.spawn(o.command,o.args,o.options);return i.hookChildProcess(s,o),s}e.exports=o,e.exports.spawn=o,e.exports.sync=function(e,t,n){const o=A(e,t,n),s=r.spawnSync(o.command,o.args,o.options);return s.error=s.error||i.verifyENOENTSync(s.status,o),s},e.exports._parse=A,e.exports._enoent=i},function(e,t,n){"use strict";const{V4MAPPED:r,ADDRCONFIG:A,promises:i}=n(481),{promisify:o}=n(6),s=n(32),a=n(482),{Resolver:c}=i,u=Symbol("cacheableLookupCreateConnection"),g=Symbol("cacheableLookupInstance"),l=e=>{if(!e||"function"!=typeof e.createConnection)throw new Error("Expected an Agent instance as the first argument")},h=e=>{for(const t of e)t.address=`::ffff:${t.address}`,t.family=6},p=()=>{let e=!1,t=!1;for(const n of Object.values(s.networkInterfaces()))for(const r of n)if(!r.internal&&("IPv6"===r.family?t=!0:e=!0,e&&t))break;return{has4:e,has6:t}};class f{constructor(){this.values=new Map,this.expiries=new Map}set(e,t,n){this.values.set(e,t),this.expiries.set(e,n&&n+Date.now())}get(e){const t=this.expiries.get(e);return"number"==typeof t&&Date.now()>t?(this.values.delete(e),void this.expiries.delete(e)):this.values.get(e)}delete(e){return this.values.delete(e),this.expiries.delete(e)}clear(){this.values.clear(),this.expiries.clear()}get size(){return this.values.size}}const C={ttl:!0};class d{constructor({cache:e=new f,maxTtl:t=1/0,resolver:n=new c,customHostsPath:r}={}){this.maxTtl=t,this._cache=e,this._resolver=n,this._resolver instanceof c?(this._resolve4=this._resolver.resolve4.bind(this._resolver),this._resolve6=this._resolver.resolve6.bind(this._resolver)):(this._resolve4=o(this._resolver.resolve4.bind(this._resolver)),this._resolve6=o(this._resolver.resolve6.bind(this._resolver))),this._iface=p(),this._hostsResolver=new a(r),this._tickLocked=!1,this.lookup=this.lookup.bind(this),this.lookupAsync=this.lookupAsync.bind(this)}set servers(e){this._resolver.setServers(e)}get servers(){return this._resolver.getServers()}lookup(e,t,n){"function"==typeof t&&(n=t,t={}),this.lookupAsync(e,t,!0).then(e=>{t.all?n(null,e):n(null,e.address,e.family,e.expires,e.ttl)}).catch(n)}async lookupAsync(e,t={},n){let i=await this.query(e);if(6===t.family){const e=i.filter(e=>6===e.family);0===e.length&&t.hints&r?h(i):i=e}else t.all&&4!==t.family||(i=i.filter(e=>4===e.family));if(t.hints&A){const{_iface:e}=this;i=i.filter(t=>6===t.family?e.has6:e.has4)}if(0===i.length&&(n||!1!==t.throwNotFound)){const t=new Error(`ENOTFOUND ${e}`);throw t.code="ENOTFOUND",t.hostname=e,t}return t.all?i:1===i.length?i[0]:this._getEntry(i)}async query(e){let t=await this._hostsResolver.get(e)||await this._cache.get(e);return t&&0!==t.length||(t=await this.queryAndCache(e)),t=t.map(e=>({...e}))}async queryAndCache(e){const[t,n]=await Promise.all([this._resolve4(e,C).catch(()=>[]),this._resolve6(e,C).catch(()=>[])]);let r=0;const A=Date.now();if(t)for(const e of t)e.family=4,e.expires=A+1e3*e.ttl,r=Math.max(r,e.ttl);if(n)for(const e of n)e.family=6,e.expires=A+1e3*e.ttl,r=Math.max(r,e.ttl);const i=[...t||[],...n||[]];return r=1e3*Math.min(this.maxTtl,r),this.maxTtl>0&&r>0&&await this._cache.set(e,i,r),i}_getEntry(e){return e[Math.floor(Math.random()*e.length)]}tick(){if(!this._tickLocked){if(this._cache instanceof f){const e=Date.now();for(const[t,n]of this._cache.expiries)e>n&&this._cache.delete(t)}this._hostsResolver.update(),this._tickLocked=!0,setTimeout(()=>{this._tickLocked=!1},1e3).unref()}}install(e){if(l(e),u in e)throw new Error("CacheableLookup has been already installed");e[u]=e.createConnection,e[g]=this,e.createConnection=(t,n)=>("lookup"in t||(t.lookup=this.lookup,this.tick()),e[u](t,n))}uninstall(e){if(l(e),e[u]){if(e[g]!==this)throw new Error("The agent is not owned by this CacheableLookup instance");e.createConnection=e[u],delete e[u],delete e[g]}}updateInterfaceInfo(){this._iface=p(),this._hostsResolver.update(),this._cache.clear()}clear(){this._cache.clear()}}e.exports=d,e.exports.default=d},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(174),A=n(56),i=n(265),o=n(512),s=n(177),a=n(513),c={RequestError:i.RequestError,CacheError:i.CacheError,ReadError:i.ReadError,HTTPError:i.HTTPError,MaxRedirectsError:i.MaxRedirectsError,TimeoutError:i.TimeoutError,ParseError:i.ParseError,CancelError:r.CancelError,UnsupportedProtocolError:i.UnsupportedProtocolError,UploadError:i.UploadError},{normalizeArguments:u,mergeOptions:g}=i.PromisableRequest,l=e=>e.isStream?new s.default(e.url,e):i.default(e),h=e=>"defaults"in e&&"options"in e.defaults,p=["get","post","put","patch","head","delete"];t.defaultHandler=(e,t)=>t(e);const f=(e,t)=>{if(e)for(const n of e)n(t)},C=e=>{e._rawHandlers=e.handlers,e.handlers=e.handlers.map(e=>(t,n)=>{let r;const A=e(t,e=>r=n(e));if(A!==r&&!t.isStream&&r){const e=A,{then:t,catch:n,finally:i}=e;Object.setPrototypeOf(e,Object.getPrototypeOf(r)),Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)),e.then=t,e.catch=n,e.finally=i}return A});const n=(t,n={})=>{var r,a,c,g,h;let p=0;const C=t=>e.handlers[p++](t,p===e.handlers.length?l:C);A.default.plainObject(t)&&(n={...t,...n},t=void 0);try{let A;try{f(e.options.hooks.init,n),f(null===(a=null===(r=n)||void 0===r?void 0:r.hooks)||void 0===a?void 0:a.init,n)}catch(e){A=e}const o=u(t,n,e.options);if(o[s.kIsNormalizedAlready]=!0,A)throw new i.RequestError(A.message,A,o);return C(o)}catch(t){if(null===(c=n)||void 0===c?void 0:c.isStream)throw t;return o.default(t,e.options.hooks.beforeError,null===(h=null===(g=n)||void 0===g?void 0:g.hooks)||void 0===h?void 0:h.beforeError)}};n.extend=(...n)=>{const r=[e.options];let A,i=[...e._rawHandlers];for(const e of n)h(e)?(r.push(e.defaults.options),i.push(...e.defaults._rawHandlers),A=e.defaults.mutableDefaults):(r.push(e),"handlers"in e&&i.push(...e.handlers),A=e.mutableDefaults);return 0===(i=i.filter(e=>e!==t.defaultHandler)).length&&i.push(t.defaultHandler),C({options:g(...r),handlers:i,mutableDefaults:Boolean(A)})},(n.paginate=async function*(t,r){let i=u(t,r,e.options);i.resolveBodyOnly=!1;const o=i.pagination;if(!A.default.object(o))throw new TypeError("`options.pagination` must be implemented");const s=[];for(;;){const e=await n("",i),t=await o.transform(e),r=[];for(const e of t)if(o.filter(e,s,r)){if(!o.shouldContinue(e,s,r))return;if(yield e,s.push(e),r.push(e),s.length===o.countLimit)return}const A=o.paginate(e,s,r);if(!1===A)return;void 0!==A&&(i=u(void 0,A,i))}}).all=async(e,t)=>{const r=[];for await(const A of n.paginate(e,t))r.push(A);return r},n.stream=(e,t)=>n(e,{...t,isStream:!0});for(const e of p)n[e]=(t,r)=>n(t,{...r,method:e}),n.stream[e]=(t,r)=>n(t,{...r,method:e,isStream:!0});return Object.assign(n,{...c,mergeOptions:g}),Object.defineProperty(n,"defaults",{value:e.mutableDefaults?e:a.default(e),writable:e.mutableDefaults,configurable:e.mutableDefaults,enumerable:!0}),n};t.default=C},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(19),A=n(175),i=n(174),o=n(486),s=n(120),a=n(511);t.PromisableRequest=a.default;const c=n(272),u=["request","response","redirect","uploadProgress","downloadProgress"];t.default=function e(t){let n,g=0;const l=new r.EventEmitter,h=new i((r,i,p)=>{const f=()=>{"json"===t.responseType&&void 0===t.headers.accept&&(t.headers.accept="application/json");const{throwHttpErrors:C}=t;C||(t.throwHttpErrors=!0);const d=new a.default(t.url,t);d._throwHttpErrors=C,d._noPipe=!0,p(()=>d.destroy()),d.once("response",async o=>{if(o.retryCount=g,o.request.aborted)return;const c=()=>{const{statusCode:e}=o,n=t.followRedirect?299:399;return e>=200&&e<=n||304===e};try{n=await A.buffer(d)}catch(e){return void d._beforeError(new s.ReadError(e,t,o))}try{o.body=a.parseBody(n,t.responseType,t.encoding)}catch(e){if(o.body=n.toString("utf8"),c()){const n=new s.ParseError(e,o,t);return void d._beforeError(n)}}try{for(const[n,r]of t.hooks.afterResponse.entries())o=await r(o,async r=>{d.destroy();const A=a.default.normalizeArguments(void 0,{...r,retry:{calculateDelay:()=>0},throwHttpErrors:!1,resolveBodyOnly:!1},t);A.hooks.afterResponse=A.hooks.afterResponse.slice(0,n);for(const e of A.hooks.beforeRetry)await e(A);const i=e(A);return p(()=>{i.catch(()=>{}),i.cancel()}),i})}catch(e){return void d._beforeError(e)}!C||c()?r(t.resolveBodyOnly?o.body:o):i(new s.HTTPError(o,t))}),d.once("error",e=>{if(h.isCanceled)return;if(!d.options)return void i(e);let n;g++;try{n=t.retry.calculateDelay({attemptCount:g,retryOptions:t.retry,error:e,computedValue:o.default({attemptCount:g,retryOptions:t.retry,error:e,computedValue:0})})}catch(t){return d.destroy(),void i(new s.RequestError(t.message,e,d.options))}if(n){return d.destroy(),void setTimeout(async()=>{t.throwHttpErrors=C;try{for(const n of t.hooks.beforeRetry)await n(t,e,g)}catch(t){return d.destroy(),void i(new s.RequestError(t.message,e,d.options))}f()},n)}g--,e instanceof s.HTTPError||(d.destroy(),i(e))}),c.default(d,l,u)};f()});h.on=(e,t)=>(l.on(e,t),h);const p=e=>{const t=(async()=>(await h,a.parseBody(n,e)))();return Object.defineProperties(t,Object.getOwnPropertyDescriptors(h)),t};return h.json=()=>(void 0===n&&void 0===t.headers.accept&&(t.headers.accept="application/json"),p("json")),h.buffer=()=>p("buffer"),h.text=()=>p("text"),h},function(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}(n(120))},function(e,t,n){"use strict";const r=n(19),A=n(122),i=n(179),o=n(267),s=Symbol("currentStreamsCount"),a=Symbol("request"),c=Symbol("cachedOriginSet"),u=["maxDeflateDynamicTableSize","maxSessionMemory","maxHeaderListPairs","maxOutstandingPings","maxReservedRemoteStreams","maxSendHeaderBlockLength","paddingStrategy","localAddress","path","rejectUnauthorized","minDHSize","ca","cert","clientCertEngine","ciphers","key","pfx","servername","minVersion","maxVersion","secureProtocol","crl","honorCipherOrder","ecdhCurve","dhparam","secureOptions","sessionIdContext"],g=(e,t,n)=>{if(Reflect.has(e,t)){const r=e[t].indexOf(n);if(-1!==r)return e[t].splice(r,1),0===e[t].length&&delete e[t],!0}return!1},l=(e,t,n)=>{Reflect.has(e,t)?e[t].push(n):e[t]=[n]},h=(e,t,n)=>Reflect.has(e,t)?e[t].filter(e=>!e.closed&&!e.destroyed&&e[c].includes(n)):[],p=(e,t,n)=>{if(Reflect.has(e,t))for(const r of e[t])r[c].lengthn[c].includes(e))&&r[s]+n[s]<=n.remoteSettings.maxConcurrentStreams&&r.close()},f=(e,t,n)=>{for(const r of e[t])n[c].lengthr[c].includes(e))&&n[s]+r[s]<=r.remoteSettings.maxConcurrentStreams&&n.close()};class C extends r{constructor({timeout:e=6e4,maxSessions:t=1/0,maxFreeSessions:n=1,maxCachedTlsSessions:r=100}={}){super(),this.busySessions={},this.freeSessions={},this.queue={},this.timeout=e,this.maxSessions=t,this.maxFreeSessions=n,this.settings={enablePush:!1},this.tlsSessionCache=new o({maxSize:r})}static normalizeOrigin(e,t){return"string"==typeof e&&(e=new URL(e)),t&&e.hostname!==t&&(e.hostname=t),e.origin}normalizeOptions(e){let t="";if(e)for(const n of u)e[n]&&(t+=`:${e[n]}`);return t}_tryToCreateNewSession(e,t){if(!Reflect.has(this.queue,e)||!Reflect.has(this.queue[e],t))return;const n=h(this.busySessions,e,t).length,r=this.queue[e][t];n{Array.isArray(n)?(n=[...n],r()):n=[{resolve:r,reject:A}];const o=this.normalizeOptions(t),u=C.normalizeOrigin(e,t&&t.servername);if(void 0===u)return void A(new TypeError("The `origin` argument needs to be a string or an URL object"));if(Reflect.has(this.freeSessions,o)){const e=h(this.freeSessions,o,u);if(0!==e.length){const t=e.reduce((e,t)=>t.remoteSettings.maxConcurrentStreams>=e.remoteSettings.maxConcurrentStreams&&t[s]>e[s]?t:e);for(const e of n)e.resolve(t);return}}if(Reflect.has(this.queue,o)){if(Reflect.has(this.queue[o],u))return void this.queue[o][u].listeners.push(...n)}else this.queue[o]={};const p=()=>{Reflect.has(this.queue,o)&&this.queue[o][u]===d&&(delete this.queue[o][u],0===Object.keys(this.queue[o]).length&&delete this.queue[o])},d=()=>{const r=`${u}:${o}`;let A,C=!1;try{const I=this.tlsSessionCache.get(r),E=i.connect(e,{createConnection:this.createConnection,settings:this.settings,session:I?I.session:void 0,...t});E[s]=0;const B=()=>{return E[c].reduce((e,t)=>Math.min(e,h(this.freeSessions,o,t).length),1/0)E[s]{setImmediate(()=>{this.tlsSessionCache.set(r,{session:e,servername:A})})}),E.socket.once("secureConnect",()=>{!1===(A=E.socket.servername)&&void 0!==I&&void 0!==I.servername&&(E.socket.servername=I.servername)}),E.once("error",e=>{if(!C)for(const t of n)t.reject(e);this.tlsSessionCache.delete(r)}),E.setTimeout(this.timeout,()=>{E.destroy()}),E.once("close",()=>{if(!C){const e=new Error("Session closed without receiving a SETTINGS frame");for(const t of n)t.reject(e)}p(),g(this.freeSessions,o,E),this._tryToCreateNewSession(o,u)});const m=()=>{if(Reflect.has(this.queue,o))for(const e of E[c])if(Reflect.has(this.queue[o],e)){const{listeners:t}=this.queue[o][e];for(;0!==t.length&&y();)t.shift().resolve(E);if(0===this.queue[o][e].listeners.length&&(delete this.queue[o][e],0===Object.keys(this.queue[o]).length)){delete this.queue[o];break}if(!y())break}};E.once("origin",()=>{E[c]=E.originSet,y()&&(this._closeCoveredSessions(o,E),m(),E.on("remoteSettings",()=>{this._closeCoveredSessions(o,E)}))}),E.once("remoteSettings",()=>{if(d.destroyed){const e=new Error("Agent has been destroyed");for(const t of n)t.reject(e);E.destroy()}else E[c]=E.originSet,this.emit("session",E),B()?m():0===this.maxFreeSessions?(m(),setImmediate(()=>{E.close()})):E.close(),p(),0!==n.length&&(this.getSession(u,t,n),n.length=0),C=!0,E.on("remoteSettings",()=>{y()&&g(this.busySessions,o,E)&&(B()?m():l(this.busySessions,o,E))})}),E[a]=E.request,E.request=e=>{const t=E[a](e,{endStream:!1});return E.ref(),++E[s],!y()&&g(this.freeSessions,o,E)&&l(this.busySessions,o,E),t.once("close",()=>{--E[s],y()&&(0===E[s]&&E.unref(),!g(this.busySessions,o,E)||E.destroyed||E.closed||(B()?(this._closeCoveredSessions(o,E),m()):E.close())),E.destroyed||E.closed||f(this.freeSessions,o,E)}),t}}catch(e){for(const t of n)t.reject(e);p()}};d.listeners=n,d.completed=!1,d.destroyed=!1,this.queue[o][u]=d,this._tryToCreateNewSession(o,u)})}request(e,t,n){return new Promise((r,A)=>{this.getSession(e,t,[{reject:A,resolve:e=>{r(e.request(n))}}])})}createConnection(e,t){return C.connect(e,t)}static connect(e,t){t.ALPNProtocols=["h2"];const n=e.port||443,r=e.hostname||e.host;return void 0===t.servername&&(t.servername=r),A.connect(n,r,t)}closeFreeSessions(){for(const e of Object.values(this.freeSessions))for(const t of e)0===t[s]&&t.close()}destroy(e){for(const t of Object.values(this.busySessions))for(const n of t)n.destroy(e);for(const t of Object.values(this.freeSessions))for(const n of t)n.destroy(e);for(const e of Object.values(this.queue))for(const t of Object.values(e))t.destroyed=!0;this.queue={}}}e.exports={Agent:C,globalAgent:new C}},function(e,t,n){"use strict";e.exports=class{constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`maxSize` must be a number greater than 0");this.maxSize=e.maxSize,this.onEviction=e.onEviction,this.cache=new Map,this.oldCache=new Map,this._size=0}_set(e,t){if(this.cache.set(e,t),this._size++,this._size>=this.maxSize){if(this._size=0,"function"==typeof this.onEviction)for(const[e,t]of this.oldCache.entries())this.onEviction(e,t);this.oldCache=this.cache,this.cache=new Map}}get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.has(e)){const t=this.oldCache.get(e);return this.oldCache.delete(e),this._set(e,t),t}}set(e,t){return this.cache.has(e)?this.cache.set(e,t):this._set(e,t),this}has(e){return this.cache.has(e)||this.oldCache.has(e)}peek(e){return this.cache.has(e)?this.cache.get(e):this.oldCache.has(e)?this.oldCache.get(e):void 0}delete(e){const t=this.cache.delete(e);return t&&this._size--,this.oldCache.delete(e)||t}clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}*keys(){for(const[e]of this)yield e}*values(){for(const[,e]of this)yield e}*[Symbol.iterator](){for(const e of this.cache)yield e;for(const e of this.oldCache){const[t]=e;this.cache.has(t)||(yield e)}}get size(){let e=0;for(const t of this.oldCache.keys())this.cache.has(t)||e++;return Math.min(this._size+e,this.maxSize)}}},function(e,t,n){"use strict";const r=n(179),{Writable:A}=n(8),{Agent:i,globalAgent:o}=n(266),s=n(269),a=n(270),c=n(501),{ERR_INVALID_ARG_TYPE:u,ERR_INVALID_PROTOCOL:g,ERR_HTTP_HEADERS_SENT:l,ERR_INVALID_HTTP_TOKEN:h,ERR_HTTP_INVALID_HEADER_VALUE:p,ERR_INVALID_CHAR:f}=n(502),{NGHTTP2_CANCEL:C,HTTP2_HEADER_STATUS:d,HTTP2_HEADER_METHOD:I,HTTP2_HEADER_PATH:E,HTTP2_METHOD_CONNECT:B}=r.constants,y=Symbol("headers"),m=Symbol("origin"),Q=Symbol("session"),w=Symbol("options"),v=Symbol("flushedHeaders"),b=/^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/,D=/[^\t\u0020-\u007E\u0080-\u00FF]/;e.exports=class extends A{constructor(e,t,n){super();const r="string"==typeof e||e instanceof URL;if(r&&(e=a(e instanceof URL?e:new URL(e))),"function"==typeof t||void 0===t?(n=t,t=r?e:{...e}):t={...e,...t},t.h2session)this[Q]=t.h2session;else if(!1===t.agent)this.agent=new i({maxFreeSessions:0});else if(void 0===t.agent||null===t.agent)"function"==typeof t.createConnection?(this.agent=new i({maxFreeSessions:0}),this.agent.createConnection=t.createConnection):this.agent=o;else{if("function"!=typeof t.agent.request)throw new u("options.agent",["Agent-like Object","undefined","false"],t.agent);this.agent=t.agent}if(t.port||(t.port=t.defaultPort||this.agent&&this.agent.defaultPort||443),t.host=t.hostname||t.host||"localhost",t.protocol&&"https:"!==t.protocol)throw new g(t.protocol,"https:");const{timeout:A}=t;if(t.timeout=void 0,this[y]=Object.create(null),this.socket=null,this.connection=null,this.method=t.method,this.path=t.path,this.res=null,this.aborted=!1,this.reusedSocket=!1,t.headers)for(const[e,n]of Object.entries(t.headers))this[y][e.toLowerCase()]=n;t.auth&&!Reflect.has(this[y],"authorization")&&(this[y].authorization="Basic "+Buffer.from(t.auth).toString("base64")),t.session=t.tlsSession,t.path=t.socketPath,this[w]=t,Reflect.has(this[y],":authority")||(this[y][":authority"]=`${t.servername||t.host}:${t.port}`),t.origin=`https://${t.host}:${t.port}`,this[m]=t,this.agent&&!1!==t.preconnect&&this.agent.getSession(this[m],t).catch(()=>{}),A&&this.setTimeout(A),n&&this.once("response",n),this[v]=!1}get method(){return this[y][I]}set method(e){e&&(this[y][I]=e.toUpperCase())}get path(){return this[y][E]}set path(e){e&&(this[y][E]=e)}_write(e,t,n){this.flushHeaders();const r=()=>this._request.write(e,t,n);this._request?r():this.once("socket",r)}_final(e){if(this.destroyed||this.aborted)return;this.flushHeaders();const t=()=>this._request.end(e);this._request?t():this.once("socket",t)}abort(){this.aborted||process.nextTick(()=>this.emit("abort")),this.aborted=!0,this.res&&this.res._dump(),this._request&&this._request.close(C)}_destroy(e){this._request?this._request.destroy(e):e&&process.nextTick(()=>this.emit("error",e))}async flushHeaders(){if(this[v]||this.destroyed||this.aborted)return;this[v]=!0;const e=this.method===B,t=t=>{this._request=t,this.destroyed||this.aborted?t.close(C):(e||c(t,this,["timeout","continue","close","error"]),t.once("response",(n,r,A)=>{const i=new s(this.socket,t.readableHighWaterMark);this.res=i,i.req=this,i.statusCode=n[d],i.headers=n,i.rawHeaders=A,i.once("end",()=>{this.aborted?(i.aborted=!0,i.emit("aborted")):i.complete=!0}),e?(i.upgrade=!0,this.emit("connect",i,t,Buffer.alloc(0))?this.emit("close"):t.destroy()):(t.on("data",e=>{i._dumped||i.push(e)||t.pause()}),t.once("end",()=>{i.push(null)}),this.emit("response",i)||i._dump())}),t.once("headers",e=>this.emit("information",{statusCode:e[d]})),t.once("trailers",(e,t,n)=>{this.res.trailers=e,this.res.rawTrailers=n}),this.socket=t.session.socket,this.connection=t.session.socket,process.nextTick(()=>{this.emit("socket",this.socket)}))};if(this[Q])try{t(this[Q].request(this[y],{endStream:!1}))}catch(e){this.emit("error",e)}else{this.reusedSocket=!0;try{t(await this.agent.request(this[m],this[w],this[y]))}catch(e){this.emit("error",e)}}}getHeader(e){if("string"!=typeof e)throw new u("name","string",e);return this[y][e.toLowerCase()]}get headersSent(){return this[v]}removeHeader(e){if("string"!=typeof e)throw new u("name","string",e);if(this.headersSent)throw new l("remove");delete this[y][e.toLowerCase()]}setHeader(e,t){if(this.headersSent)throw new l("set");if("string"!=typeof e||!b.test(e))throw new h("Header name",e);if(void 0===t)throw new p(t,e);if(D.test(t))throw new f("header content",e);this[y][e.toLowerCase()]=t}setNoDelay(){}setSocketKeepAlive(){}setTimeout(e,t){return this._request?this._request.setTimeout(e,t):this.once("socket",()=>{this._request.setTimeout(e,t)}),this}get maxHeadersCount(){if(this._request)return this._request.session.localSettings.maxHeaderListSize}set maxHeadersCount(e){}}},function(e,t,n){"use strict";const{Readable:r}=n(8);e.exports=class extends r{constructor(e,t){super({highWaterMark:t}),this.statusCode=null,this.statusMessage="",this.httpVersion="2.0",this.httpVersionMajor=2,this.httpVersionMinor=0,this.headers={},this.trailers={},this.req=null,this.aborted=!1,this.complete=!1,this.upgrade=null,this.rawHeaders=[],this.rawTrailers=[],this.socket=e,this.connection=e,this._dumped=!1}_destroy(e){this.req._request.destroy(e)}setTimeout(e,t){return this.req.setTimeout(e,t),this}_dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),this.resume())}_read(){this.req&&this.req._request.resume()}}},function(e,t,n){"use strict";e.exports=e=>{const t={protocol:e.protocol,hostname:"string"==typeof e.hostname&&e.hostname.startsWith("[")?e.hostname.slice(1,-1):e.hostname,host:e.host,hash:e.hash,search:e.search,pathname:e.pathname,href:e.href,path:`${e.pathname||""}${e.search||""}`};return"string"==typeof e.port&&0!==e.port.length&&(t.port=Number(e.port)),(e.username||e.password)&&(t.auth=`${e.username||""}:${e.password||""}`),t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(56);t.default=e=>r.default.nodeStream(e)&&r.default.function_(e.getBoundary)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t,n){const r={};for(const A of n)r[A]=(...e)=>{t.emit(A,...e)},e.on(A,r[A]);return()=>{for(const t of n)e.off(t,r[t])}}},function(e,t,n){"use strict"; +/*! + * fill-range + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Licensed under the MIT License. + */const r=n(6),A=n(516),i=e=>null!==e&&"object"==typeof e&&!Array.isArray(e),o=e=>"number"==typeof e||"string"==typeof e&&""!==e,s=e=>Number.isInteger(+e),a=e=>{let t=`${e}`,n=-1;if("-"===t[0]&&(t=t.slice(1)),"0"===t)return!1;for(;"0"===t[++n];);return n>0},c=(e,t,n)=>{if(t>0){let n="-"===e[0]?"-":"";n&&(e=e.slice(1)),e=n+e.padStart(n?t-1:t,"0")}return!1===n?String(e):e},u=(e,t)=>{let n="-"===e[0]?"-":"";for(n&&(e=e.slice(1),t--);e.length{if(n)return A(e,t,{wrap:!1,...r});let i=String.fromCharCode(e);return e===t?i:`[${i}-${String.fromCharCode(t)}]`},l=(e,t,n)=>{if(Array.isArray(e)){let t=!0===n.wrap,r=n.capture?"":"?:";return t?`(${r}${e.join("|")})`:e.join("|")}return A(e,t,n)},h=(...e)=>new RangeError("Invalid range arguments: "+r.inspect(...e)),p=(e,t,n)=>{if(!0===n.strictRanges)throw h([e,t]);return[]},f=(e,t,n=1,r={})=>{let A=Number(e),i=Number(t);if(!Number.isInteger(A)||!Number.isInteger(i)){if(!0===r.strictRanges)throw h([e,t]);return[]}0===A&&(A=0),0===i&&(i=0);let o=A>i,s=String(e),p=String(t),f=String(n);n=Math.max(Math.abs(n),1);let C=a(s)||a(p)||a(f),d=C?Math.max(s.length,p.length,f.length):0,I=!1===C&&!1===((e,t,n)=>"string"==typeof e||"string"==typeof t||!0===n.stringify)(e,t,r),E=r.transform||(e=>t=>!0===e?Number(t):String(t))(I);if(r.toRegex&&1===n)return g(u(e,d),u(t,d),!0,r);let B={negatives:[],positives:[]},y=e=>B[e<0?"negatives":"positives"].push(Math.abs(e)),m=[],Q=0;for(;o?A>=i:A<=i;)!0===r.toRegex&&n>1?y(A):m.push(c(E(A,Q),d,I)),A=o?A-n:A+n,Q++;return!0===r.toRegex?n>1?((e,t)=>{e.negatives.sort((e,t)=>et?1:0),e.positives.sort((e,t)=>et?1:0);let n,r=t.capture?"":"?:",A="",i="";return e.positives.length&&(A=e.positives.join("|")),e.negatives.length&&(i=`-(${r}${e.negatives.join("|")})`),n=A&&i?`${A}|${i}`:A||i,t.wrap?`(${r}${n})`:n})(B,r):l(m,null,{wrap:!1,...r}):m},C=(e,t,n,r={})=>{if(null==t&&o(e))return[e];if(!o(e)||!o(t))return p(e,t,r);if("function"==typeof n)return C(e,t,1,{transform:n});if(i(n))return C(e,t,0,n);let A={...r};return!0===A.capture&&(A.wrap=!0),n=n||A.step||1,s(n)?s(e)&&s(t)?f(e,t,n,A):((e,t,n=1,r={})=>{if(!s(e)&&e.length>1||!s(t)&&t.length>1)return p(e,t,r);let A=r.transform||(e=>String.fromCharCode(e)),i=`${e}`.charCodeAt(0),o=`${t}`.charCodeAt(0),a=i>o,c=Math.min(i,o),u=Math.max(i,o);if(r.toRegex&&1===n)return g(c,u,!1,r);let h=[],f=0;for(;a?i>=o:i<=o;)h.push(A(i,f)),i=a?i-n:i+n,f++;return!0===r.toRegex?l(h,null,{wrap:!1,options:r}):h})(e,t,Math.max(Math.abs(n),1),A):null==n||i(n)?C(e,t,1,n):((e,t)=>{if(!0===t.strictRanges)throw new TypeError(`Expected step "${e}" to be a number`);return[]})(n,A)};e.exports=C},function(e,t,n){"use strict";const r=n(525),A=e=>{if(e<1)throw new TypeError("Expected `concurrency` to be a number from 1 and up");const t=[];let n=0;const A=()=>{n--,t.length>0&&t.shift()()},i=(e,t,...i)=>{n++;const o=r(e,...i);t(o),o.then(A,A)},o=(r,...A)=>new Promise(o=>((r,A,...o)=>{nn},pendingCount:{get:()=>t.length}}),o};e.exports=A,e.exports.default=A},function(e,t){function n(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}n.keys=function(){return[]},n.resolve=n,e.exports=n,n.id=275},function(e,t,n){"use strict";var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const A=n(1),i=n(1),o=n(59),s=n(277),a=n(8),c=n(93),u=n(35),g=n(43),l=n(303),h=n(304),p=r(n(261)),f=r(n(58)),C=r(n(20));var d;async function I(e,t,n,r=[]){"win32"===process.platform?await i.xfs.writeFilePromise(i.ppath.format({dir:e,name:t,ext:".cmd"}),`@"${n}" ${r.map(e=>`"${e.replace('"','""')}"`).join(" ")} %*\n`):(await i.xfs.writeFilePromise(i.ppath.join(e,t),`#!/bin/sh\nexec "${n}" ${r.map(e=>`'${e.replace(/'/g,"'\"'\"'")}'`).join(" ")} "$@"\n`),await i.xfs.chmodPromise(i.ppath.join(e,t),493))}async function E({project:e,binFolder:t,lifecycleScript:n}){const r={};for(const[e,t]of Object.entries(process.env))void 0!==t&&(r["path"!==e.toLowerCase()?e:"PATH"]=t);const A=i.npath.fromPortablePath(t);r.BERRY_BIN_FOLDER=i.npath.fromPortablePath(A),await I(t,i.toFilename("node"),process.execPath),null!==h.YarnVersion&&(await I(t,i.toFilename("run"),process.execPath,[process.argv[1],"run"]),await I(t,i.toFilename("yarn"),process.execPath,[process.argv[1]]),await I(t,i.toFilename("yarnpkg"),process.execPath,[process.argv[1]]),await I(t,i.toFilename("node-gyp"),process.execPath,[process.argv[1],"run","--top-level","node-gyp"])),e&&(r.INIT_CWD=i.npath.fromPortablePath(e.configuration.startingCwd)),r.PATH=r.PATH?`${A}${i.npath.delimiter}${r.PATH}`:`${A}`,r.npm_execpath=`${A}${i.npath.sep}yarn`,r.npm_node_execpath=`${A}${i.npath.sep}node`;const o=null!==h.YarnVersion?`yarn/${h.YarnVersion}`:`yarn/${f.dynamicRequire("@yarnpkg/core").version}-core`;return r.npm_config_user_agent=`${o} npm/? node/${process.versions.node} ${process.platform} ${process.arch}`,n&&(r.npm_lifecycle_event=n),e&&await e.configuration.triggerHook(e=>e.setupScriptEnvironment,e,r,async(e,n,r)=>await I(t,i.toFilename(e),n,r)),r}async function B(e,t,n,{cwd:r,project:A,stdin:o,stdout:a,stderr:c}){return await i.xfs.mktempPromise(async i=>{const{manifest:u,env:g,cwd:l}=await y(e,{project:A,binFolder:i,cwd:r,lifecycleScript:t}),h=u.scripts.get(t);if(!h)return;const p=await A.configuration.reduceHook(e=>e.wrapScriptExecution,async()=>await s.execute(h,n,{cwd:l,env:g,stdin:o,stdout:a,stderr:c}),A,e,t,{script:h,args:n,cwd:l,env:g,stdin:o,stdout:a,stderr:c});return await p()})}async function y(e,{project:t,binFolder:n,cwd:r,lifecycleScript:s}){const u=t.storedPackages.get(e.locatorHash);if(!u)throw new Error(`Package for ${C.prettyLocator(t.configuration,e)} not found in the project`);return await A.ZipOpenFS.openPromise(async o=>{const g=t.configuration,h=t.configuration.getLinkers(),p={project:t,report:new l.StreamReport({stdout:new a.PassThrough,configuration:g})},f=h.find(e=>e.supportsPackage(u,p));if(!f)throw new Error(`The package ${C.prettyLocator(t.configuration,u)} isn't supported by any of the available linkers`);const d=await E({project:t,binFolder:n,lifecycleScript:s});for(const[r,[,A]]of await m(e,{project:t}))await I(n,i.toFilename(r),process.execPath,[A]);const B=await f.findPackageLocation(u,p),y=new A.CwdFS(B,{baseFs:o}),Q=await c.Manifest.find(A.PortablePath.dot,{baseFs:y});return void 0===r&&(r=B),{manifest:Q,binFolder:n,env:d,cwd:r}},{libzip:await o.getLibzipPromise()})}async function m(e,{project:t}){const n=t.configuration,r=new Map,A=t.storedPackages.get(e.locatorHash);if(!A)throw new Error(`Package for ${C.prettyLocator(n,e)} not found in the project`);const o=new a.Writable,s=n.getLinkers(),c={project:t,report:new l.StreamReport({configuration:n,stdout:o})},u=new Set([e.locatorHash]);for(const e of A.dependencies.values()){const r=t.storedResolutions.get(e.descriptorHash);if(!r)throw new Error(`Assertion failed: The resolution (${C.prettyDescriptor(n,e)}) should have been registered`);u.add(r)}for(const e of u){const n=t.storedPackages.get(e);if(!n)throw new Error(`Assertion failed: The package (${e}) should have been registered`);if(0===n.bin.size)continue;const A=s.find(e=>e.supportsPackage(n,c));if(!A)continue;const o=await A.findPackageLocation(n,c);for(const[e,t]of n.bin)r.set(e,[n,i.npath.fromPortablePath(i.ppath.resolve(o,t))])}return r}async function Q(e,t,n,{cwd:r,project:A,stdin:o,stdout:s,stderr:a,nodeArgs:c=[]}){const u=await m(e,{project:A}),g=u.get(t);if(!g)throw new Error(`Binary not found (${t}) for ${C.prettyLocator(A.configuration,e)}`);return await i.xfs.mktempPromise(async e=>{const[,t]=g,l=await E({project:A,binFolder:e});for(const[e,[,t]]of u)await I(l.BERRY_BIN_FOLDER,i.toFilename(e),process.execPath,[t]);let h;try{h=await p.pipevp(process.execPath,[...c,t,...n],{cwd:r,env:l,stdin:o,stdout:s,stderr:a})}finally{await i.xfs.removePromise(l.BERRY_BIN_FOLDER)}return h.code})}!function(e){e.Yarn1="Yarn Classic",e.Yarn2="Yarn",e.Npm="npm",e.Pnpm="pnpm"}(d||(d={})),t.makeScriptEnv=E,t.prepareExternalProject=async function(e,t,{configuration:n,report:r,workspace:o=null}){await i.xfs.mktempPromise(async s=>{const c=i.ppath.join(s,"pack.log"),{stdout:l,stderr:h}=n.getSubprocessStreams(c,{prefix:e,report:r}),C=await async function(e){let t=null;try{t=await i.xfs.readFilePromise(i.ppath.join(e,A.Filename.lockfile),"utf8")}catch(e){}return null!==t?t.match(/^__metadata:$/m)?d.Yarn2:d.Yarn1:i.xfs.existsSync(i.ppath.join(e,"package-lock.json"))?d.Npm:i.xfs.existsSync(i.ppath.join(e,"pnpm-lock.yaml"))?d.Pnpm:null}(e);let I;null!==C?(l.write(`Installing the project using ${C}\n\n`),I=C):(l.write("No package manager detected; defaulting to Yarn\n\n"),I=d.Yarn2),await i.xfs.mktempPromise(async n=>{const r=await E({binFolder:n}),A=new Map([[d.Yarn1,async()=>{const n=null!==o?["workspace",o]:[],A=await p.pipevp("yarn",["set","version","classic","--only-if-needed"],{cwd:e,env:r,stdin:null,stdout:l,stderr:h,end:p.EndStrategy.ErrorCode});if(0!==A.code)return A.code;await i.xfs.appendFilePromise(i.ppath.join(e,".npmignore"),"/.yarn\n"),l.write("\n");const s=await p.pipevp("yarn",["install"],{cwd:e,env:r,stdin:null,stdout:l,stderr:h,end:p.EndStrategy.ErrorCode});if(0!==s.code)return s.code;l.write("\n");const a=await p.pipevp("yarn",[...n,"pack","--filename",i.npath.fromPortablePath(t)],{cwd:e,env:r,stdin:null,stdout:l,stderr:h});return 0!==a.code?a.code:void 0}],[d.Yarn2,async()=>{const n=null!==o?["workspace",o]:[],A=await p.pipevp("yarn",[...n,"pack","--install-if-needed","--filename",i.npath.fromPortablePath(t)],{cwd:e,env:r,stdin:null,stdout:l,stderr:h});if(0!==A.code)return A.code}],[d.Npm,async()=>{if(null!==o)throw new Error(`Workspaces aren't supported by npm, which has been detected as the primary package manager for ${e}`);delete r.npm_config_user_agent;const n=await p.pipevp("npm",["ci"],{cwd:e,env:r,stdin:null,stdout:l,stderr:h});if(0!==n.code)return n.code;const A=new a.PassThrough,s=f.bufferStream(A);A.pipe(l);const c=await p.pipevp("npm",["pack","--silent"],{cwd:e,env:r,stdin:null,stdout:A,stderr:h});if(0!==c.code)return c.code;const u=(await s).toString().trim(),g=i.ppath.resolve(e,i.npath.toPortablePath(u));await i.xfs.renamePromise(g,t)}]]).get(I);if(void 0===A)throw new Error("Assertion failed: Unsupported workflow");const C=await A();if(0!==C&&void 0!==C)throw i.xfs.detachTemp(s),new g.ReportError(u.MessageName.PACKAGE_PREPARATION_FAILED,`Packing the package failed (exit code ${C}, logs can be found here: ${c})`)})})},t.hasPackageScript=async function(e,t,{project:n}){const r=n.storedPackages.get(e.locatorHash);if(!r)throw new Error(`Package for ${C.prettyLocator(n.configuration,e)} not found in the project`);return await A.ZipOpenFS.openPromise(async e=>{const i=n.configuration,o=n.configuration.getLinkers(),s={project:n,report:new l.StreamReport({stdout:new a.PassThrough,configuration:i})},u=o.find(e=>e.supportsPackage(r,s));if(!u)throw new Error(`The package ${C.prettyLocator(n.configuration,r)} isn't supported by any of the available linkers`);const g=await u.findPackageLocation(r,s),h=new A.CwdFS(g,{baseFs:e});return(await c.Manifest.find(A.PortablePath.dot,{baseFs:h})).scripts.has(t)},{libzip:await o.getLibzipPromise()})},t.executePackageScript=B,t.executePackageShellcode=async function(e,t,n,{cwd:r,project:A,stdin:o,stdout:a,stderr:c}){return await i.xfs.mktempPromise(async i=>{const{env:u,cwd:g}=await y(e,{project:A,binFolder:i,cwd:r});return await s.execute(t,n,{cwd:g,env:u,stdin:o,stdout:a,stderr:c})})},t.executeWorkspaceScript=async function(e,t,n,{cwd:r,stdin:A,stdout:i,stderr:o}){return await B(e.anchoredLocator,t,n,{cwd:r,project:e.project,stdin:A,stdout:i,stderr:o})},t.hasWorkspaceScript=async function(e,t){return e.manifest.scripts.has(t)},t.getPackageAccessibleBinaries=m,t.getWorkspaceAccessibleBinaries=async function(e){return await m(e.anchoredLocator,{project:e.project})},t.executePackageAccessibleBinary=Q,t.executeWorkspaceAccessibleBinary=async function(e,t,n,{cwd:r,stdin:A,stdout:i,stderr:o}){return await Q(e.anchoredLocator,t,n,{project:e.project,cwd:r,stdin:A,stdout:i,stderr:o})}},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const A=n(1),i=n(33),o=r(n(558)),s=n(8),a=n(288),c=n(288);function u(e,t={}){const n=Object.assign(Object.assign({},e),t);return n.environment=Object.assign(Object.assign({},e.environment),t.environment),n.variables=Object.assign(Object.assign({},e.variables),t.variables),n}const g=new Map([["cd",async([e,...t],n,r)=>{const i=A.ppath.resolve(r.cwd,A.npath.toPortablePath(e));return(await A.xfs.statPromise(i)).isDirectory()?(r.cwd=i,0):(r.stderr.write("cd: not a directory\n"),1)}],["pwd",async(e,t,n)=>(n.stdout.write(`${A.npath.fromPortablePath(n.cwd)}\n`),0)],["true",async(e,t,n)=>0],["false",async(e,t,n)=>1],["exit",async([e,...t],n,r)=>r.exitCode=parseInt(e,10)],["echo",async(e,t,n)=>(n.stdout.write(`${e.join(" ")}\n`),0)],["__ysh_run_procedure",async(e,t,n)=>{const r=n.procedures[e[0]];return await c.start(r,{stdin:new c.ProtectedStream(n.stdin),stdout:new c.ProtectedStream(n.stdout),stderr:new c.ProtectedStream(n.stderr)}).run()}],["__ysh_set_redirects",async(e,t,n)=>{let r=n.stdin,i=n.stdout,o=n.stderr;const a=[],u=[];let g=0;for(;"--"!==e[g];){const t=e[g++],r=Number(e[g++]),i=g+r;for(let r=g;rA.xfs.createReadStream(A.ppath.resolve(n.cwd,A.npath.toPortablePath(e[r]))));break;case"<<<":a.push(()=>{const t=new s.PassThrough;return process.nextTick(()=>{t.write(`${e[r]}\n`),t.end()}),t});break;case">":u.push(A.xfs.createWriteStream(A.ppath.resolve(n.cwd,A.npath.toPortablePath(e[r]))));break;case">>":u.push(A.xfs.createWriteStream(A.ppath.resolve(n.cwd,A.npath.toPortablePath(e[r])),{flags:"a"}))}}if(a.length>0){const e=new s.PassThrough;r=e;const t=n=>{if(n===a.length)e.end();else{const r=a[n]();r.pipe(e,{end:!1}),r.on("end",()=>{t(n+1)})}};t(0)}if(u.length>0){const e=new s.PassThrough;i=e;for(const t of u)e.pipe(t)}const l=await c.start(f(e.slice(g+1),t,n),{stdin:new c.ProtectedStream(r),stdout:new c.ProtectedStream(i),stderr:new c.ProtectedStream(o)}).run();return await Promise.all(u.map(e=>new Promise(t=>{e.on("close",()=>{t()}),e.end()}))),l}]]);async function l(e,t,n){const r=[],A=new s.PassThrough;return A.on("data",e=>r.push(e)),await E(e,t,u(n,{stdout:A})),Buffer.concat(r).toString().replace(/[\r\n]+$/,"")}async function h(e,t,n){const r=e.map(async e=>{const r=await p(e.args,t,n);return{name:e.name,value:r.join(" ")}});return(await Promise.all(r)).reduce((e,t)=>(e[t.name]=t.value,e),{})}async function p(e,t,n){const r=new Map,A=[];let i=[];const o=e=>e.match(/[^ \r\n\t]+/g)||[],s=e=>{i.push(e)},a=()=>{i.length>0&&A.push(i.join("")),i=[]},c=e=>{s(e),a()},u=(e,t)=>{let n=r.get(e);void 0===n&&r.set(e,n=[]),n.push(t)};for(const r of e){switch(r.type){case"redirection":{const e=await p(r.args,t,n);for(const t of e)u(r.subtype,t)}break;case"argument":for(const e of r.segments)switch(e.type){case"text":s(e.text);break;case"glob":{const r=await t.glob.match(e.pattern,{cwd:n.cwd});if(!r.length)throw new Error(`No file matches found: "${e.pattern}". Note: Glob patterns currently only support files that exist on the filesystem (Help Wanted)`);for(const e of r)c(e)}break;case"shell":{const r=await l(e.shell,t,n);if(e.quoted)s(r);else{const e=o(r);for(let t=0;t=0&&r0){const e=[];for(const[t,n]of r.entries())e.splice(e.length,0,t,String(n.length),...n);A.splice(0,0,"__ysh_set_redirects",...e,"--")}return A}function f(e,t,n){t.builtins.has(e[0])||(e=["command",...e]);const[r,...i]=e;if("command"===r)return a.makeProcess(i[0],i.slice(1),t,{cwd:A.npath.fromPortablePath(n.cwd),env:n.environment});const o=t.builtins.get(r);if(void 0===o)throw new Error(`Assertion failed: A builtin should exist for "${r}"`);return a.makeBuiltin(async({stdin:e,stdout:r,stderr:A})=>(n.stdin=e,n.stdout=r,n.stderr=A,await o(i,t,n)))}function C(e,t,n){return r=>{const A=new s.PassThrough;return{stdin:A,promise:E(e,t,u(n,{stdin:A}))}}}async function d(e,t,n){let r=e,A=null,i=null;for(;r;){const e=r.then?Object.assign({},n):n;let o;switch(r.type){case"command":{const A=await p(r.args,t,n),i=await h(r.envs,t,n);o=r.envs.length?f(A,t,u(e,{environment:i})):f(A,t,e)}break;case"subshell":{const A=await p(r.args,t,n),i=C(r.subshell,t,e);if(0===A.length)o=i;else{let n;do{n=String(Math.random())}while(Object.prototype.hasOwnProperty.call(e.procedures,n));e.procedures=Object.assign({},e.procedures),e.procedures[n]=i,o=f([...A,"__ysh_run_procedure",n],t,e)}}break;case"envs":{const A=await h(r.envs,t,n);e.environment=Object.assign(Object.assign({},e.environment),A),o=f(["true"],t,e)}}if(void 0===o)throw new Error("Assertion failed: An action should have been generated");if(null===A)i=c.start(o,{stdin:new c.ProtectedStream(e.stdin),stdout:new c.ProtectedStream(e.stdout),stderr:new c.ProtectedStream(e.stderr)});else{if(null===i)throw new Error("The execution pipeline should have been setup");switch(A){case"|":case"|&":i=i.pipeTo(o)}}r.then?(A=r.then.type,r=r.then.chain):r=null}if(null===i)throw new Error("Assertion failed: The execution pipeline should have been setup");return await i.run()}async function I(e,t,n){if(!e.then)return await d(e.chain,t,n);const r=await d(e.chain,t,n);if(null!==n.exitCode)return n.exitCode;switch(n.variables["?"]=String(r),e.then.type){case"&&":return 0===r?await I(e.then.line,t,n):r;case"||":return 0!==r?await I(e.then.line,t,n):r;default:throw new Error(`Unsupported command type: "${e.then.type}"`)}}async function E(e,t,n){let r=0;for(const A of e){if(r=await I(A,t,n),null!==n.exitCode)return n.exitCode;n.variables["?"]=String(r)}return r}function B(e){switch(e.type){case"redirection":return e.args.some(e=>B(e));case"argument":return e.segments.some(e=>(function(e){switch(e.type){case"variable":return"@"===e.name||"#"===e.name||"*"===e.name||Number.isFinite(parseInt(e.name,10))||!!e.defaultValue&&e.defaultValue.some(e=>B(e));case"shell":return y(e.shell);default:return!1}})(e))}}function y(e){return e.some(e=>{for(;e;){let t=e.chain;for(;t;){let e;switch(t.type){case"subshell":e=y(t.subshell);break;case"command":e=t.envs.some(e=>e.args.some(e=>B(e)))||t.args.some(e=>B(e))}if(e)return!0;if(!t.then)break;t=t.then.chain}if(!e.then)break;e=e.then.line}return!1})}t.execute=async function(e,t=[],{builtins:n={},cwd:r=A.npath.toPortablePath(process.cwd()),env:a=process.env,stdin:c=process.stdin,stdout:u=process.stdout,stderr:l=process.stderr,variables:h={},glob:p={isGlobPattern:o.default.isDynamicPattern,match:(e,{cwd:t,fs:n=A.xfs})=>o.default(e,{cwd:t,fs:n})}}={}){const f={};for(const[e,t]of Object.entries(a))void 0!==t&&(f[e]=t);const C=new Map(g);for(const[e,t]of Object.entries(n))C.set(e,t);null===c&&(c=new s.PassThrough).end();const d=i.parseShell(e,p);if(!y(d)&&d.length>0&&t.length>0){let e=d[d.length-1];for(;e.then;)e=e.then.line;let n=e.chain;for(;n.then;)n=n.then.chain;"command"===n.type&&(n.args=n.args.concat(t.map(e=>({type:"argument",segments:[{type:"text",text:e}]}))))}return await E(d,{args:t,builtins:C,initialStdin:c,initialStdout:u,initialStderr:l,glob:p},{cwd:r,environment:f,exitCode:null,procedures:{},stdin:c,stdout:u,stderr:l,variables:Object.assign(Object.create(h),{"?":0})})}},function(e,t,n){"use strict";var r=n(69);e.exports=new r({include:[n(279)]})},function(e,t,n){"use strict";var r=n(69);e.exports=new r({include:[n(183)],implicit:[n(542),n(543),n(544),n(545)]})},function(e,t,n){"use strict";var r=n(565),A=n(4).posix.dirname,i="win32"===n(32).platform(),o=/\\/g,s=/[\{\[].*[\/]*.*[\}\]]$/,a=/(^|[^\\])([\{\[]|\([^\)]+$)/,c=/\\([\*\?\|\[\]\(\)\{\}])/g;e.exports=function(e,t){Object.assign({flipBackslashes:!0},t).flipBackslashes&&i&&e.indexOf("/")<0&&(e=e.replace(o,"/")),s.test(e)&&(e+="/"),e+="a";do{e=A(e)}while(r(e)||a.test(e));return e.replace(c,"$1")}},function(e,t,n){"use strict";const r=n(8).PassThrough,A=Array.prototype.slice;function i(e,t){if(Array.isArray(e))for(let n=0,r=e.length;n0||(t=!1,n())}function o(e){function t(){e.removeListener("merge2UnpipeEnd",t),e.removeListener("end",t),i()}if(e._readableState.endEmitted)return i();e.on("merge2UnpipeEnd",t),e.on("end",t),e.pipe(a,{end:!1}),e.resume()}for(let e=0;ethis._getEntry(n[r],e[r],t).then(e=>{null!==e&&t.entryFilter(e)&&A.push(e),r===n.length-1&&A.end(),o()}).catch(o);for(let e=0;ethis._makeEntry(e,t)).catch(e=>{if(n.errorFilter(e))return null;throw e})}_getStat(e){return new Promise((t,n)=>{this._stat(e,this._fsStatSettings,(e,r)=>null===e?t(r):n(e))})}}t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(19),A=n(185),i=n(585),o=n(186),s=n(286);class a extends s.default{constructor(e,t){super(e,t),this._settings=t,this._scandir=A.scandir,this._emitter=new r.EventEmitter,this._queue=i(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(e){this._emitter.on("entry",e)}onError(e){this._emitter.once("error",e)}onEnd(e){this._emitter.once("end",e)}_pushToQueue(e,t){const n={directory:e,base:t};this._queue.push(n,e=>{null!==e&&this._handleError(e)})}_worker(e,t){this._scandir(e.directory,this._settings.fsScandirSettings,(n,r)=>{if(null!==n)return t(n,void 0);for(const t of r)this._handleEntry(t,e.base);t(null,void 0)})}_handleError(e){o.isFatalError(this._settings,e)&&(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",e))}_handleEntry(e,t){if(this._isDestroyed||this._isFatalError)return;const n=e.path;void 0!==t&&(e.path=o.joinPathSegments(t,e.name,this._settings.pathSegmentSeparator)),o.isAppliedFilter(this._settings.entryFilter,e)&&this._emitEntry(e),e.dirent.isDirectory()&&o.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(n,e.path)}_emitEntry(e){this._emitter.emit("entry",e)}}t.default=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=process.versions.node.split("."),A=parseInt(r[0],10),i=parseInt(r[1],10),o=A>10,s=10===A&&i>=10;t.IS_SUPPORT_READDIR_WITH_FILE_TYPES=o||s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(581);t.fs=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(186);t.default=class{constructor(e,t){this._root=e,this._settings=t,this._root=r.replacePathSegmentSeparator(e,t.pathSegmentSeparator)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(4),A=n(41),i=n(44);t.default=class{constructor(e){this._settings=e,this._fsStatSettings=new A.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return r.resolve(this._settings.cwd,e)}_makeEntry(e,t){const n={name:t,path:t,dirent:i.fs.createDirentFromStats(t,e)};return this._settings.stats&&(n.stats=e),n}_isFatalError(e){return!i.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}}},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const A=r(n(262)),i=n(8);var o;!function(e){e[e.STDOUT=1]="STDOUT",e[e.STDERR=2]="STDERR"}(o||(o={})),t.makeProcess=function(e,t,n,r){return n=>{const o=n[0]instanceof i.Transform?"pipe":n[0],s=n[1]instanceof i.Transform?"pipe":n[1],a=n[2]instanceof i.Transform?"pipe":n[2],c=A.default(e,t,Object.assign(Object.assign({},r),{stdio:[o,s,a]})),u=()=>{};return process.on("SIGINT",u),n[0]instanceof i.Transform&&n[0].pipe(c.stdin),n[1]instanceof i.Transform&&c.stdout.pipe(n[1],{end:!1}),n[2]instanceof i.Transform&&c.stderr.pipe(n[2],{end:!1}),{stdin:c.stdin,promise:new Promise(t=>{c.on("error",r=>{switch(process.off("SIGINT",u),r.code){case"ENOENT":n[2].write(`command not found: ${e}\n`),t(127);break;case"EACCESS":n[2].write(`permission denied: ${e}\n`),t(128);break;default:n[2].write(`uncaught error: ${r.message}\n`),t(1)}}),c.on("exit",e=>{process.off("SIGINT",u),t(null!==e?e:129)})})}}},t.makeBuiltin=function(e){return t=>{const n="pipe"===t[0]?new i.PassThrough:t[0];return{stdin:n,promise:new Promise(e=>{process.nextTick(e)}).then(()=>e({stdin:n,stdout:t[1],stderr:t[2]}))}}};t.ProtectedStream=class{constructor(e){this.stream=e}close(){}get(){return this.stream}};class s{constructor(){this.stream=null}close(){if(null===this.stream)throw new Error("Assertion failed: No stream attached");this.stream.end()}attach(e){this.stream=e}get(){if(null===this.stream)throw new Error("Assertion failed: No stream attached");return this.stream}}class a{constructor(e,t){this.stdin=null,this.stdout=null,this.stderr=null,this.pipe=null,this.ancestor=e,this.implementation=t}static start(e,{stdin:t,stdout:n,stderr:r}){const A=new a(null,e);return A.stdin=t,A.stdout=n,A.stderr=r,A}pipeTo(e,t=o.STDOUT){const n=new a(this,e),r=new s;return n.pipe=r,n.stdout=this.stdout,n.stderr=this.stderr,(t&o.STDOUT)===o.STDOUT?this.stdout=r:null!==this.ancestor&&(this.stderr=this.ancestor.stdout),(t&o.STDERR)===o.STDERR?this.stderr=r:null!==this.ancestor&&(this.stderr=this.ancestor.stderr),n}async exec(){const e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe";else{if(null===this.stdin)throw new Error("Assertion failed: No input stream registered");e[0]=this.stdin.get()}let t,n;if(null===this.stdout)throw new Error("Assertion failed: No output stream registered");if(t=this.stdout,e[1]=t.get(),null===this.stderr)throw new Error("Assertion failed: No error stream registered");n=this.stderr,e[2]=n.get();const r=this.implementation(e);return this.pipe&&this.pipe.attach(r.stdin),await r.promise.then(e=>(t.close(),n.close(),e))}async run(){const e=[];for(let t=this;t;t=t.ancestor)e.push(t.exec());return(await Promise.all(e))[0]}}t.Handle=a,t.start=function(e,t){return a.start(e,t)}},function(e,t,n){const r=n(42);e.exports=(e,t,n)=>0!==r(e,t,n)},function(e,t,n){const r=n(189),A=n(289),i=n(130),o=n(192),s=n(191),a=n(193);e.exports=(e,t,n,c)=>{switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e===n;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e!==n;case"":case"=":case"==":return r(e,n,c);case"!=":return A(e,n,c);case">":return i(e,n,c);case">=":return o(e,n,c);case"<":return s(e,n,c);case"<=":return a(e,n,c);default:throw new TypeError(`Invalid operator: ${t}`)}}},function(e,t,n){const r=n(34);e.exports=(e,t,n)=>{try{t=new r(t,n)}catch(e){return!1}return t.test(e)}},function(e,t){e.exports=require("querystring")},function(e,t,n){const r=n(626),A={};for(const e of Object.keys(r))A[r[e]]=e;const i={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};e.exports=i;for(const e of Object.keys(i)){if(!("channels"in i[e]))throw new Error("missing channels property: "+e);if(!("labels"in i[e]))throw new Error("missing channel labels property: "+e);if(i[e].labels.length!==i[e].channels)throw new Error("channel and label counts mismatch: "+e);const{channels:t,labels:n}=i[e];delete i[e].channels,delete i[e].labels,Object.defineProperty(i[e],"channels",{value:t}),Object.defineProperty(i[e],"labels",{value:n})}i.rgb.hsl=function(e){const t=e[0]/255,n=e[1]/255,r=e[2]/255,A=Math.min(t,n,r),i=Math.max(t,n,r),o=i-A;let s,a;i===A?s=0:t===i?s=(n-r)/o:n===i?s=2+(r-t)/o:r===i&&(s=4+(t-n)/o),(s=Math.min(60*s,360))<0&&(s+=360);const c=(A+i)/2;return[s,100*(a=i===A?0:c<=.5?o/(i+A):o/(2-i-A)),100*c]},i.rgb.hsv=function(e){let t,n,r,A,i;const o=e[0]/255,s=e[1]/255,a=e[2]/255,c=Math.max(o,s,a),u=c-Math.min(o,s,a),g=function(e){return(c-e)/6/u+.5};return 0===u?(A=0,i=0):(i=u/c,t=g(o),n=g(s),r=g(a),o===c?A=r-n:s===c?A=1/3+t-r:a===c&&(A=2/3+n-t),A<0?A+=1:A>1&&(A-=1)),[360*A,100*i,100*c]},i.rgb.hwb=function(e){const t=e[0],n=e[1];let r=e[2];return[i.rgb.hsl(e)[0],100*(1/255*Math.min(t,Math.min(n,r))),100*(r=1-1/255*Math.max(t,Math.max(n,r)))]},i.rgb.cmyk=function(e){const t=e[0]/255,n=e[1]/255,r=e[2]/255,A=Math.min(1-t,1-n,1-r);return[100*((1-t-A)/(1-A)||0),100*((1-n-A)/(1-A)||0),100*((1-r-A)/(1-A)||0),100*A]},i.rgb.keyword=function(e){const t=A[e];if(t)return t;let n,i=1/0;for(const t of Object.keys(r)){const A=r[t],a=(s=A,((o=e)[0]-s[0])**2+(o[1]-s[1])**2+(o[2]-s[2])**2);a.04045?((t+.055)/1.055)**2.4:t/12.92)+.3576*(n=n>.04045?((n+.055)/1.055)**2.4:n/12.92)+.1805*(r=r>.04045?((r+.055)/1.055)**2.4:r/12.92)),100*(.2126*t+.7152*n+.0722*r),100*(.0193*t+.1192*n+.9505*r)]},i.rgb.lab=function(e){const t=i.rgb.xyz(e);let n=t[0],r=t[1],A=t[2];return[116*(r=(r/=100)>.008856?r**(1/3):7.787*r+16/116)-16,500*((n=(n/=95.047)>.008856?n**(1/3):7.787*n+16/116)-r),200*(r-(A=(A/=108.883)>.008856?A**(1/3):7.787*A+16/116))]},i.hsl.rgb=function(e){const t=e[0]/360,n=e[1]/100,r=e[2]/100;let A,i,o;if(0===n)return[o=255*r,o,o];const s=2*r-(A=r<.5?r*(1+n):r+n-r*n),a=[0,0,0];for(let e=0;e<3;e++)(i=t+1/3*-(e-1))<0&&i++,i>1&&i--,o=6*i<1?s+6*(A-s)*i:2*i<1?A:3*i<2?s+(A-s)*(2/3-i)*6:s,a[e]=255*o;return a},i.hsl.hsv=function(e){const t=e[0];let n=e[1]/100,r=e[2]/100,A=n;const i=Math.max(r,.01);return n*=(r*=2)<=1?r:2-r,A*=i<=1?i:2-i,[t,100*(0===r?2*A/(i+A):2*n/(r+n)),100*((r+n)/2)]},i.hsv.rgb=function(e){const t=e[0]/60,n=e[1]/100;let r=e[2]/100;const A=Math.floor(t)%6,i=t-Math.floor(t),o=255*r*(1-n),s=255*r*(1-n*i),a=255*r*(1-n*(1-i));switch(r*=255,A){case 0:return[r,a,o];case 1:return[s,r,o];case 2:return[o,r,a];case 3:return[o,s,r];case 4:return[a,o,r];case 5:return[r,o,s]}},i.hsv.hsl=function(e){const t=e[0],n=e[1]/100,r=e[2]/100,A=Math.max(r,.01);let i,o;o=(2-n)*r;const s=(2-n)*A;return i=n*A,[t,100*(i=(i/=s<=1?s:2-s)||0),100*(o/=2)]},i.hwb.rgb=function(e){const t=e[0]/360;let n=e[1]/100,r=e[2]/100;const A=n+r;let i;A>1&&(n/=A,r/=A);const o=Math.floor(6*t),s=1-r;i=6*t-o,0!=(1&o)&&(i=1-i);const a=n+i*(s-n);let c,u,g;switch(o){default:case 6:case 0:c=s,u=a,g=n;break;case 1:c=a,u=s,g=n;break;case 2:c=n,u=s,g=a;break;case 3:c=n,u=a,g=s;break;case 4:c=a,u=n,g=s;break;case 5:c=s,u=n,g=a}return[255*c,255*u,255*g]},i.cmyk.rgb=function(e){const t=e[0]/100,n=e[1]/100,r=e[2]/100,A=e[3]/100;return[255*(1-Math.min(1,t*(1-A)+A)),255*(1-Math.min(1,n*(1-A)+A)),255*(1-Math.min(1,r*(1-A)+A))]},i.xyz.rgb=function(e){const t=e[0]/100,n=e[1]/100,r=e[2]/100;let A,i,o;return A=(A=3.2406*t+-1.5372*n+-.4986*r)>.0031308?1.055*A**(1/2.4)-.055:12.92*A,i=(i=-.9689*t+1.8758*n+.0415*r)>.0031308?1.055*i**(1/2.4)-.055:12.92*i,o=(o=.0557*t+-.204*n+1.057*r)>.0031308?1.055*o**(1/2.4)-.055:12.92*o,[255*(A=Math.min(Math.max(0,A),1)),255*(i=Math.min(Math.max(0,i),1)),255*(o=Math.min(Math.max(0,o),1))]},i.xyz.lab=function(e){let t=e[0],n=e[1],r=e[2];return[116*(n=(n/=100)>.008856?n**(1/3):7.787*n+16/116)-16,500*((t=(t/=95.047)>.008856?t**(1/3):7.787*t+16/116)-n),200*(n-(r=(r/=108.883)>.008856?r**(1/3):7.787*r+16/116))]},i.lab.xyz=function(e){let t,n,r;const A=(n=(e[0]+16)/116)**3,i=(t=e[1]/500+n)**3,o=(r=n-e[2]/200)**3;return n=A>.008856?A:(n-16/116)/7.787,t=i>.008856?i:(t-16/116)/7.787,r=o>.008856?o:(r-16/116)/7.787,[t*=95.047,n*=100,r*=108.883]},i.lab.lch=function(e){const t=e[0],n=e[1],r=e[2];let A;return(A=360*Math.atan2(r,n)/2/Math.PI)<0&&(A+=360),[t,Math.sqrt(n*n+r*r),A]},i.lch.lab=function(e){const t=e[0],n=e[1],r=e[2]/360*2*Math.PI;return[t,n*Math.cos(r),n*Math.sin(r)]},i.rgb.ansi16=function(e,t=null){const[n,r,A]=e;let o=null===t?i.rgb.hsv(e)[2]:t;if(0===(o=Math.round(o/50)))return 30;let s=30+(Math.round(A/255)<<2|Math.round(r/255)<<1|Math.round(n/255));return 2===o&&(s+=60),s},i.hsv.ansi16=function(e){return i.rgb.ansi16(i.hsv.rgb(e),e[2])},i.rgb.ansi256=function(e){const t=e[0],n=e[1],r=e[2];return t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},i.ansi16.rgb=function(e){let t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),[t=t/10.5*255,t,t];const n=.5*(1+~~(e>50));return[(1&t)*n*255,(t>>1&1)*n*255,(t>>2&1)*n*255]},i.ansi256.rgb=function(e){if(e>=232){const t=10*(e-232)+8;return[t,t,t]}let t;return e-=16,[Math.floor(e/36)/5*255,Math.floor((t=e%36)/6)/5*255,t%6/5*255]},i.rgb.hex=function(e){const t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},i.hex.rgb=function(e){const t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let n=t[0];3===t[0].length&&(n=n.split("").map(e=>e+e).join(""));const r=parseInt(n,16);return[r>>16&255,r>>8&255,255&r]},i.rgb.hcg=function(e){const t=e[0]/255,n=e[1]/255,r=e[2]/255,A=Math.max(Math.max(t,n),r),i=Math.min(Math.min(t,n),r),o=A-i;let s,a;return a=o<=0?0:A===t?(n-r)/o%6:A===n?2+(r-t)/o:4+(t-n)/o,a/=6,[360*(a%=1),100*o,100*(s=o<1?i/(1-o):0)]},i.hsl.hcg=function(e){const t=e[1]/100,n=e[2]/100,r=n<.5?2*t*n:2*t*(1-n);let A=0;return r<1&&(A=(n-.5*r)/(1-r)),[e[0],100*r,100*A]},i.hsv.hcg=function(e){const t=e[1]/100,n=e[2]/100,r=t*n;let A=0;return r<1&&(A=(n-r)/(1-r)),[e[0],100*r,100*A]},i.hcg.rgb=function(e){const t=e[0]/360,n=e[1]/100,r=e[2]/100;if(0===n)return[255*r,255*r,255*r];const A=[0,0,0],i=t%1*6,o=i%1,s=1-o;let a=0;switch(Math.floor(i)){case 0:A[0]=1,A[1]=o,A[2]=0;break;case 1:A[0]=s,A[1]=1,A[2]=0;break;case 2:A[0]=0,A[1]=1,A[2]=o;break;case 3:A[0]=0,A[1]=s,A[2]=1;break;case 4:A[0]=o,A[1]=0,A[2]=1;break;default:A[0]=1,A[1]=0,A[2]=s}return a=(1-n)*r,[255*(n*A[0]+a),255*(n*A[1]+a),255*(n*A[2]+a)]},i.hcg.hsv=function(e){const t=e[1]/100,n=t+e[2]/100*(1-t);let r=0;return n>0&&(r=t/n),[e[0],100*r,100*n]},i.hcg.hsl=function(e){const t=e[1]/100,n=e[2]/100*(1-t)+.5*t;let r=0;return n>0&&n<.5?r=t/(2*n):n>=.5&&n<1&&(r=t/(2*(1-n))),[e[0],100*r,100*n]},i.hcg.hwb=function(e){const t=e[1]/100,n=t+e[2]/100*(1-t);return[e[0],100*(n-t),100*(1-n)]},i.hwb.hcg=function(e){const t=e[1]/100,n=1-e[2]/100,r=n-t;let A=0;return r<1&&(A=(n-r)/(1-r)),[e[0],100*r,100*A]},i.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},i.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},i.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},i.gray.hsl=function(e){return[0,0,e[0]]},i.gray.hsv=i.gray.hsl,i.gray.hwb=function(e){return[0,100,e[0]]},i.gray.cmyk=function(e){return[0,0,0,e[0]]},i.gray.lab=function(e){return[e[0],0,0]},i.gray.hex=function(e){const t=255&Math.round(e[0]/100*255),n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(n.length)+n},i.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}},function(e,t){e.exports=require("tty")},function(e,t,n){"use strict";var r=/[|\\{}()[\]^$+*?.]/g;e.exports=function(e){if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(r,"\\$&")}},function(e,t,n){var r=n(635),A={};for(var i in r)r.hasOwnProperty(i)&&(A[r[i]]=i);var o=e.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var s in o)if(o.hasOwnProperty(s)){if(!("channels"in o[s]))throw new Error("missing channels property: "+s);if(!("labels"in o[s]))throw new Error("missing channel labels property: "+s);if(o[s].labels.length!==o[s].channels)throw new Error("channel and label counts mismatch: "+s);var a=o[s].channels,c=o[s].labels;delete o[s].channels,delete o[s].labels,Object.defineProperty(o[s],"channels",{value:a}),Object.defineProperty(o[s],"labels",{value:c})}o.rgb.hsl=function(e){var t,n,r=e[0]/255,A=e[1]/255,i=e[2]/255,o=Math.min(r,A,i),s=Math.max(r,A,i),a=s-o;return s===o?t=0:r===s?t=(A-i)/a:A===s?t=2+(i-r)/a:i===s&&(t=4+(r-A)/a),(t=Math.min(60*t,360))<0&&(t+=360),n=(o+s)/2,[t,100*(s===o?0:n<=.5?a/(s+o):a/(2-s-o)),100*n]},o.rgb.hsv=function(e){var t,n,r,A,i,o=e[0]/255,s=e[1]/255,a=e[2]/255,c=Math.max(o,s,a),u=c-Math.min(o,s,a),g=function(e){return(c-e)/6/u+.5};return 0===u?A=i=0:(i=u/c,t=g(o),n=g(s),r=g(a),o===c?A=r-n:s===c?A=1/3+t-r:a===c&&(A=2/3+n-t),A<0?A+=1:A>1&&(A-=1)),[360*A,100*i,100*c]},o.rgb.hwb=function(e){var t=e[0],n=e[1],r=e[2];return[o.rgb.hsl(e)[0],100*(1/255*Math.min(t,Math.min(n,r))),100*(r=1-1/255*Math.max(t,Math.max(n,r)))]},o.rgb.cmyk=function(e){var t,n=e[0]/255,r=e[1]/255,A=e[2]/255;return[100*((1-n-(t=Math.min(1-n,1-r,1-A)))/(1-t)||0),100*((1-r-t)/(1-t)||0),100*((1-A-t)/(1-t)||0),100*t]},o.rgb.keyword=function(e){var t=A[e];if(t)return t;var n,i,o,s=1/0;for(var a in r)if(r.hasOwnProperty(a)){var c=r[a],u=(i=e,o=c,Math.pow(i[0]-o[0],2)+Math.pow(i[1]-o[1],2)+Math.pow(i[2]-o[2],2));u.04045?Math.pow((t+.055)/1.055,2.4):t/12.92)+.3576*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.1805*(r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92)),100*(.2126*t+.7152*n+.0722*r),100*(.0193*t+.1192*n+.9505*r)]},o.rgb.lab=function(e){var t=o.rgb.xyz(e),n=t[0],r=t[1],A=t[2];return r/=100,A/=108.883,n=(n/=95.047)>.008856?Math.pow(n,1/3):7.787*n+16/116,[116*(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116)-16,500*(n-r),200*(r-(A=A>.008856?Math.pow(A,1/3):7.787*A+16/116))]},o.hsl.rgb=function(e){var t,n,r,A,i,o=e[0]/360,s=e[1]/100,a=e[2]/100;if(0===s)return[i=255*a,i,i];t=2*a-(n=a<.5?a*(1+s):a+s-a*s),A=[0,0,0];for(var c=0;c<3;c++)(r=o+1/3*-(c-1))<0&&r++,r>1&&r--,i=6*r<1?t+6*(n-t)*r:2*r<1?n:3*r<2?t+(n-t)*(2/3-r)*6:t,A[c]=255*i;return A},o.hsl.hsv=function(e){var t=e[0],n=e[1]/100,r=e[2]/100,A=n,i=Math.max(r,.01);return n*=(r*=2)<=1?r:2-r,A*=i<=1?i:2-i,[t,100*(0===r?2*A/(i+A):2*n/(r+n)),100*((r+n)/2)]},o.hsv.rgb=function(e){var t=e[0]/60,n=e[1]/100,r=e[2]/100,A=Math.floor(t)%6,i=t-Math.floor(t),o=255*r*(1-n),s=255*r*(1-n*i),a=255*r*(1-n*(1-i));switch(r*=255,A){case 0:return[r,a,o];case 1:return[s,r,o];case 2:return[o,r,a];case 3:return[o,s,r];case 4:return[a,o,r];case 5:return[r,o,s]}},o.hsv.hsl=function(e){var t,n,r,A=e[0],i=e[1]/100,o=e[2]/100,s=Math.max(o,.01);return r=(2-i)*o,n=i*s,[A,100*(n=(n/=(t=(2-i)*s)<=1?t:2-t)||0),100*(r/=2)]},o.hwb.rgb=function(e){var t,n,r,A,i,o,s,a=e[0]/360,c=e[1]/100,u=e[2]/100,g=c+u;switch(g>1&&(c/=g,u/=g),r=6*a-(t=Math.floor(6*a)),0!=(1&t)&&(r=1-r),A=c+r*((n=1-u)-c),t){default:case 6:case 0:i=n,o=A,s=c;break;case 1:i=A,o=n,s=c;break;case 2:i=c,o=n,s=A;break;case 3:i=c,o=A,s=n;break;case 4:i=A,o=c,s=n;break;case 5:i=n,o=c,s=A}return[255*i,255*o,255*s]},o.cmyk.rgb=function(e){var t=e[0]/100,n=e[1]/100,r=e[2]/100,A=e[3]/100;return[255*(1-Math.min(1,t*(1-A)+A)),255*(1-Math.min(1,n*(1-A)+A)),255*(1-Math.min(1,r*(1-A)+A))]},o.xyz.rgb=function(e){var t,n,r,A=e[0]/100,i=e[1]/100,o=e[2]/100;return n=-.9689*A+1.8758*i+.0415*o,r=.0557*A+-.204*i+1.057*o,t=(t=3.2406*A+-1.5372*i+-.4986*o)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:12.92*n,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:12.92*r,[255*(t=Math.min(Math.max(0,t),1)),255*(n=Math.min(Math.max(0,n),1)),255*(r=Math.min(Math.max(0,r),1))]},o.xyz.lab=function(e){var t=e[0],n=e[1],r=e[2];return n/=100,r/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(t-n),200*(n-(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116))]},o.lab.xyz=function(e){var t,n,r,A=e[0];t=e[1]/500+(n=(A+16)/116),r=n-e[2]/200;var i=Math.pow(n,3),o=Math.pow(t,3),s=Math.pow(r,3);return n=i>.008856?i:(n-16/116)/7.787,t=o>.008856?o:(t-16/116)/7.787,r=s>.008856?s:(r-16/116)/7.787,[t*=95.047,n*=100,r*=108.883]},o.lab.lch=function(e){var t,n=e[0],r=e[1],A=e[2];return(t=360*Math.atan2(A,r)/2/Math.PI)<0&&(t+=360),[n,Math.sqrt(r*r+A*A),t]},o.lch.lab=function(e){var t,n=e[0],r=e[1];return t=e[2]/360*2*Math.PI,[n,r*Math.cos(t),r*Math.sin(t)]},o.rgb.ansi16=function(e){var t=e[0],n=e[1],r=e[2],A=1 in arguments?arguments[1]:o.rgb.hsv(e)[2];if(0===(A=Math.round(A/50)))return 30;var i=30+(Math.round(r/255)<<2|Math.round(n/255)<<1|Math.round(t/255));return 2===A&&(i+=60),i},o.hsv.ansi16=function(e){return o.rgb.ansi16(o.hsv.rgb(e),e[2])},o.rgb.ansi256=function(e){var t=e[0],n=e[1],r=e[2];return t===n&&n===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(r/255*5)},o.ansi16.rgb=function(e){var t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),[t=t/10.5*255,t,t];var n=.5*(1+~~(e>50));return[(1&t)*n*255,(t>>1&1)*n*255,(t>>2&1)*n*255]},o.ansi256.rgb=function(e){if(e>=232){var t=10*(e-232)+8;return[t,t,t]}var n;return e-=16,[Math.floor(e/36)/5*255,Math.floor((n=e%36)/6)/5*255,n%6/5*255]},o.rgb.hex=function(e){var t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},o.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];var n=t[0];3===t[0].length&&(n=n.split("").map((function(e){return e+e})).join(""));var r=parseInt(n,16);return[r>>16&255,r>>8&255,255&r]},o.rgb.hcg=function(e){var t,n=e[0]/255,r=e[1]/255,A=e[2]/255,i=Math.max(Math.max(n,r),A),o=Math.min(Math.min(n,r),A),s=i-o;return t=s<=0?0:i===n?(r-A)/s%6:i===r?2+(A-n)/s:4+(n-r)/s+4,t/=6,[360*(t%=1),100*s,100*(s<1?o/(1-s):0)]},o.hsl.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=1,A=0;return(r=n<.5?2*t*n:2*t*(1-n))<1&&(A=(n-.5*r)/(1-r)),[e[0],100*r,100*A]},o.hsv.hcg=function(e){var t=e[1]/100,n=e[2]/100,r=t*n,A=0;return r<1&&(A=(n-r)/(1-r)),[e[0],100*r,100*A]},o.hcg.rgb=function(e){var t=e[0]/360,n=e[1]/100,r=e[2]/100;if(0===n)return[255*r,255*r,255*r];var A,i=[0,0,0],o=t%1*6,s=o%1,a=1-s;switch(Math.floor(o)){case 0:i[0]=1,i[1]=s,i[2]=0;break;case 1:i[0]=a,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=s;break;case 3:i[0]=0,i[1]=a,i[2]=1;break;case 4:i[0]=s,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=a}return A=(1-n)*r,[255*(n*i[0]+A),255*(n*i[1]+A),255*(n*i[2]+A)]},o.hcg.hsv=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t),r=0;return n>0&&(r=t/n),[e[0],100*r,100*n]},o.hcg.hsl=function(e){var t=e[1]/100,n=e[2]/100*(1-t)+.5*t,r=0;return n>0&&n<.5?r=t/(2*n):n>=.5&&n<1&&(r=t/(2*(1-n))),[e[0],100*r,100*n]},o.hcg.hwb=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t);return[e[0],100*(n-t),100*(1-n)]},o.hwb.hcg=function(e){var t=e[1]/100,n=1-e[2]/100,r=n-t,A=0;return r<1&&(A=(n-r)/(1-r)),[e[0],100*r,100*A]},o.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},o.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},o.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},o.gray.hsl=o.gray.hsv=function(e){return[0,0,e[0]]},o.gray.hwb=function(e){return[0,100,e[0]]},o.gray.cmyk=function(e){return[0,0,0,e[0]]},o.gray.lab=function(e){return[e[0],0,0]},o.gray.hex=function(e){var t=255&Math.round(e[0]/100*255),n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(n.length)+n},o.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(196);class A extends Error{constructor(e){super(e),this.clipanion={type:"usage"},this.name="UsageError"}}t.UsageError=A;class i extends Error{constructor(e,t){if(super(),this.input=e,this.candidates=t,this.clipanion={type:"none"},this.name="UnknownSyntaxError",0===this.candidates.length)this.message="Command not found, but we're not sure what's the alternative.";else if(1===this.candidates.length&&null!==this.candidates[0].reason){const[{usage:e,reason:t}]=this.candidates;this.message=`${t}\n\n$ ${e}`}else if(1===this.candidates.length){const[{usage:t}]=this.candidates;this.message=`Command not found; did you mean:\n\n$ ${t}\n${s(e)}`}else this.message=`Command not found; did you mean one of:\n\n${this.candidates.map(({usage:e},t)=>`${`${t}.`.padStart(4)} ${e}`).join("\n")}\n\n${s(e)}`}}t.UnknownSyntaxError=i;class o extends Error{constructor(e,t){super(),this.input=e,this.usages=t,this.clipanion={type:"none"},this.name="AmbiguousSyntaxError",this.message=`Cannot find who to pick amongst the following alternatives:\n\n${this.usages.map((e,t)=>`${`${t}.`.padStart(4)} ${e}`).join("\n")}\n\n${s(e)}`}}t.AmbiguousSyntaxError=o;const s=e=>`While running ${e.filter(e=>e!==r.END_OF_INPUT).map(e=>{const t=JSON.stringify(e);return e.match(/\s/)||0===e.length||t!==`"${e}"`?t:e}).join(" ")}`},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class r{constructor(){this.help=!1}static getMeta(e){const t=e.constructor;return t.meta=Object.prototype.hasOwnProperty.call(t,"meta")?t.meta:{definitions:[],transformers:[(e,t)=>{for(const{name:n,value:r}of e.options)"-h"!==n&&"--help"!==n||(t.help=r)}]}}static resolveMeta(e){const t=[],n=[];for(let A=e;A instanceof r;A=A.__proto__){const e=this.getMeta(A);for(const n of e.definitions)t.push(n);for(const t of e.transformers)n.push(t)}return{definitions:t,transformers:n}}static registerDefinition(e,t){this.getMeta(e).definitions.push(t)}static registerTransformer(e,t){this.getMeta(e).transformers.push(t)}static addPath(...e){this.Path(...e)(this.prototype,"execute")}static addOption(e,t){t(this.prototype,e)}static Path(...e){return(t,n)=>{this.registerDefinition(t,t=>{t.addPath(e)})}}static Boolean(e,{hidden:t=!1}={}){return(n,r)=>{const A=e.split(",");this.registerDefinition(n,e=>{e.addOption({names:A,arity:0,hidden:t})}),this.registerTransformer(n,(e,t)=>{for(const{name:n,value:i}of e.options)A.includes(n)&&(t[r]=i)})}}static String(e={required:!0},{hidden:t=!1}={}){return(n,r)=>{if("string"==typeof e){const A=e.split(",");this.registerDefinition(n,e=>{e.addOption({names:A,arity:1,hidden:t})}),this.registerTransformer(n,(e,t)=>{for(const{name:n,value:i}of e.options)A.includes(n)&&(t[r]=i)})}else this.registerDefinition(n,t=>{t.addPositional({name:r,required:e.required})}),this.registerTransformer(n,(e,t)=>{e.positionals.length>0&&(t[r]=e.positionals.shift().value)})}}static Array(e,{hidden:t=!1}={}){return(n,r)=>{const A=e.split(",");this.registerDefinition(n,e=>{e.addOption({names:A,arity:1,hidden:t})}),this.registerTransformer(n,(e,t)=>{for(const{name:n,value:i}of e.options)A.includes(n)&&(t[r]=t[r]||[],t[r].push(i))})}}static Rest({required:e=0}={}){return(t,n)=>{this.registerDefinition(t,t=>{t.addRest({name:n,required:e})}),this.registerTransformer(t,(e,t)=>{t[n]=e.positionals.map(({value:e})=>e)})}}static Proxy(){return(e,t)=>{this.registerDefinition(e,e=>{e.addProxy()}),this.registerTransformer(e,(e,n)=>{n[t]=e.positionals.map(({value:e})=>e)})}}static Usage(e){return e}async validateAndExecute(){const e=this.constructor.schema;if(void 0!==e)try{await e.validate(this)}catch(e){throw"ValidationError"===e.name&&(e.clipanion={type:"usage"}),e}const t=await this.execute();return void 0!==t?t:0}}t.Command=r},function(e,t,n){"use strict";var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const A=r(n(20));t.MultiResolver=class{constructor(e){this.resolvers=e.filter(e=>e)}supportsDescriptor(e,t){return!!this.tryResolverByDescriptor(e,t)}supportsLocator(e,t){return!!this.tryResolverByLocator(e,t)}shouldPersistResolution(e,t){return this.getResolverByLocator(e,t).shouldPersistResolution(e,t)}bindDescriptor(e,t,n){return this.getResolverByDescriptor(e,n).bindDescriptor(e,t,n)}getResolutionDependencies(e,t){return this.getResolverByDescriptor(e,t).getResolutionDependencies(e,t)}async getCandidates(e,t,n){const r=this.getResolverByDescriptor(e,n);return await r.getCandidates(e,t,n)}async resolve(e,t){const n=this.getResolverByLocator(e,t);return await n.resolve(e,t)}tryResolverByDescriptor(e,t){const n=this.resolvers.find(n=>n.supportsDescriptor(e,t));return n||null}getResolverByDescriptor(e,t){const n=this.resolvers.find(n=>n.supportsDescriptor(e,t));if(!n)throw new Error(`${A.prettyDescriptor(t.project.configuration,e)} isn't supported by any available resolver`);return n}tryResolverByLocator(e,t){const n=this.resolvers.find(n=>n.supportsLocator(e,t));return n||null}getResolverByLocator(e,t){const n=this.resolvers.find(n=>n.supportsLocator(e,t));if(!n)throw new Error(`${A.prettyLocator(t.project.configuration,e)} isn't supported by any available resolver`);return n}}},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},A=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const i=r(n(15)),o=A(n(20));t.TAG_REGEXP=/^(?!v)[a-z0-9-\.]+$/i;t.ProtocolResolver=class{supportsDescriptor(e,n){return!!i.default.validRange(e.range)||!!t.TAG_REGEXP.test(e.range)}supportsLocator(e,n){return!!i.default.validRange(e.reference)||!!t.TAG_REGEXP.test(e.reference)}shouldPersistResolution(e,t){return t.resolver.shouldPersistResolution(this.forwardLocator(e,t),t)}bindDescriptor(e,t,n){return n.resolver.bindDescriptor(this.forwardDescriptor(e,n),t,n)}getResolutionDependencies(e,t){return t.resolver.getResolutionDependencies(this.forwardDescriptor(e,t),t)}async getCandidates(e,t,n){return await n.resolver.getCandidates(this.forwardDescriptor(e,n),t,n)}async resolve(e,t){const n=await t.resolver.resolve(this.forwardLocator(e,t),t);return o.renamePackage(n,e)}forwardDescriptor(e,t){return o.makeDescriptor(e,`${t.project.configuration.get("defaultProtocol")}${e.range}`)}forwardLocator(e,t){return o.makeLocator(e,`${t.project.configuration.get("defaultProtocol")}${e.reference}`)}}},function(e,t,n){"use strict";var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const A=n(1),i=r(n(20));t.VirtualFetcher=class{supports(e){return!!e.reference.startsWith("virtual:")}getLocalPath(e,t){const n=e.reference.indexOf("#");if(-1===n)throw new Error("Invalid virtual package reference");const r=e.reference.slice(n+1),A=i.makeLocator(e,r);return t.fetcher.getLocalPath(A,t)}async fetch(e,t){const n=e.reference.indexOf("#");if(-1===n)throw new Error("Invalid virtual package reference");const r=e.reference.slice(n+1),A=i.makeLocator(e,r),o=await t.fetcher.fetch(A,t);return await this.ensureVirtualLink(e,o,t)}getLocatorFilename(e){return i.slugifyLocator(e)}async ensureVirtualLink(e,t,n){const r=t.packageFs.getRealPath(),i=n.project.configuration.get("virtualFolder"),o=this.getLocatorFilename(e),s=A.VirtualFS.makeVirtualPath(i,o,r),a=new A.AliasFS(s,{baseFs:t.packageFs,pathUtils:A.ppath});return Object.assign(Object.assign({},t),{packageFs:a})}}},function(e,t){e.exports=require("module")},function(e,t,n){"use strict";var r=this&&this.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,A){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,A,(t=e[n](t)).done,t.value)}))}}};Object.defineProperty(t,"__esModule",{value:!0});const A=n(35),i=n(43),o=["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"],s=80,a=new Set([A.MessageName.FETCH_NOT_CACHED,A.MessageName.UNUSED_CACHE_ENTRY]),c=5,u=process.env.GITHUB_ACTIONS?{start:e=>`::group::${e}\n`,end:e=>"::endgroup::\n"}:process.env.TRAVIS?{start:e=>`travis_fold:start:${e}\n`,end:e=>`travis_fold:end:${e}\n`}:process.env.GITLAB_CI?{start:e=>`section_start:${Math.floor(Date.now()/1e3)}:${e.toLowerCase().replace(/\W+/g,"_")}\r${e}\n`,end:e=>`section_end:${Math.floor(Date.now()/1e3)}:${e.toLowerCase().replace(/\W+/g,"_")}\r`}:null,g=new Date,l=["iTerm.app","Apple_Terminal"].includes(process.env.TERM_PROGRAM),h=(e=>e)({patrick:{date:[17,3],chars:["🍀","🌱"],size:40},simba:{date:[19,7],chars:["🌟","✨"],size:40},jack:{date:[31,10],chars:["🎃","🦇"],size:40},hogsfather:{date:[31,12],chars:["🎉","🎄"],size:40},default:{chars:["=","-"],size:80}}),p=l&&Object.keys(h).find(e=>{const t=h[e];return!t.date||t.date[0]===g.getDate()&&t.date[1]===g.getMonth()+1})||"default";class f extends i.Report{constructor({configuration:e,stdout:t,json:n=!1,includeFooter:r=!0,includeLogs:A=!n,includeInfos:i=A,includeWarnings:o=A}){super(),this.cacheHitCount=0,this.cacheMissCount=0,this.warningCount=0,this.errorCount=0,this.startTime=Date.now(),this.indent=0,this.progress=new Map,this.progressTime=0,this.progressFrame=0,this.progressTimeout=null,this.forgettableLines=[],this.configuration=e,this.includeFooter=r,this.includeInfos=i,this.includeWarnings=o,this.json=n,this.stdout=t}static async start(e,t){const n=new this(e);try{await t(n)}catch(e){n.reportExceptionOnce(e)}finally{await n.finalize()}return n}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){this.cacheHitCount+=1}reportCacheMiss(e,t){this.cacheMissCount+=1,void 0===t||this.configuration.get("preferAggregateCacheInfo")||this.reportInfo(A.MessageName.FETCH_NOT_CACHED,t)}startTimerSync(e,t){this.reportInfo(null,`┌ ${e}`);const n=Date.now();this.indent+=1;try{return t()}catch(e){throw this.reportExceptionOnce(e),e}finally{const e=Date.now();this.indent-=1,this.configuration.get("enableTimers")&&e-n>200?this.reportInfo(null,`└ Completed in ${this.formatTiming(e-n)}`):this.reportInfo(null,"└ Completed")}}async startTimerPromise(e,t){this.reportInfo(null,`┌ ${e}`),null!==u&&this.stdout.write(u.start(e));const n=Date.now();this.indent+=1;try{return await t()}catch(e){throw this.reportExceptionOnce(e),e}finally{const t=Date.now();this.indent-=1,null!==u&&this.stdout.write(u.end(e)),this.configuration.get("enableTimers")&&t-n>200?this.reportInfo(null,`└ Completed in ${this.formatTiming(t-n)}`):this.reportInfo(null,"└ Completed")}}async startCacheReport(e){const t=this.configuration.get("preferAggregateCacheInfo")?{cacheHitCount:this.cacheHitCount,cacheMissCount:this.cacheMissCount}:null;try{return await e()}catch(e){throw this.reportExceptionOnce(e),e}finally{null!==t&&this.reportCacheChanges(t)}}reportSeparator(){0===this.indent?this.writeLineWithForgettableReset(""):this.reportInfo(null,"")}reportInfo(e,t){if(this.includeInfos)if(this.json)this.reportJson({type:"info",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:t});else if(a.has(e))if(this.forgettableLines.push(t),this.forgettableLines.length>c){for(;this.forgettableLines.length>c;)this.forgettableLines.shift();this.writeLines(e,this.forgettableLines)}else this.writeLine(`${this.configuration.format("➤","blueBright")} ${this.formatNameWithHyperlink(e)}: ${this.formatIndent()}${t}`);else this.writeLineWithForgettableReset(`${this.configuration.format("➤","blueBright")} ${this.formatNameWithHyperlink(e)}: ${this.formatIndent()}${t}`)}reportWarning(e,t){this.warningCount+=1,this.includeWarnings&&(this.json?this.reportJson({type:"warning",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:t}):this.writeLineWithForgettableReset(`${this.configuration.format("➤","yellowBright")} ${this.formatNameWithHyperlink(e)}: ${this.formatIndent()}${t}`))}reportError(e,t){this.errorCount+=1,this.json?this.reportJson({type:"error",name:e,displayName:this.formatName(e),indent:this.formatIndent(),data:t}):this.writeLineWithForgettableReset(`${this.configuration.format("➤","redBright")} ${this.formatNameWithHyperlink(e)}: ${this.formatIndent()}${t}`)}reportProgress(e){let t=!1;const n=Promise.resolve().then(async()=>{var n,i;const o={progress:0,title:void 0};this.progress.set(e,o),this.refreshProgress(-1);try{for(var s,a=r(e);!(s=await a.next()).done;){const{progress:e,title:n}=s.value;t||(o.progress===e&&o.title===n||(o.progress=e,o.title=n,this.refreshProgress()))}}catch(e){n={error:e}}finally{try{s&&!s.done&&(i=a.return)&&await i.call(a)}finally{if(n)throw n.error}}A()}),A=()=>{t||(t=!0,this.progress.delete(e),this.refreshProgress(1))};return Object.assign(Object.assign({},n),{stop:A})}reportJson(e){this.json&&this.writeLineWithForgettableReset(`${JSON.stringify(e)}`)}async finalize(){if(!this.includeFooter)return;let e="";e=this.errorCount>0?"Failed with errors":this.warningCount>0?"Done with warnings":"Done";const t=this.formatTiming(Date.now()-this.startTime),n=this.configuration.get("enableTimers")?`${e} in ${t}`:e;this.errorCount>0?this.reportError(A.MessageName.UNNAMED,n):this.warningCount>0?this.reportWarning(A.MessageName.UNNAMED,n):this.reportInfo(A.MessageName.UNNAMED,n)}writeLine(e){this.clearProgress({clear:!0}),this.stdout.write(`${e}\n`),this.writeProgress()}writeLineWithForgettableReset(e){this.forgettableLines=[],this.writeLine(e)}writeLines(e,t){this.clearProgress({delta:t.length});for(const n of t)this.stdout.write(`${this.configuration.format("➤","blueBright")} ${this.formatName(e)}: ${this.formatIndent()}${n}\n`);this.writeProgress()}reportCacheChanges({cacheHitCount:e,cacheMissCount:t}){const n=this.cacheHitCount-e,r=this.cacheMissCount-t;if(0===n&&0===r)return;let i="";return this.cacheHitCount>1?i+=`${this.cacheHitCount} packages were already cached`:1===this.cacheHitCount?i+=" - one package was already cached":i+="No packages were cached",this.cacheHitCount>0?this.cacheMissCount>1?i+=`, ${this.cacheMissCount} had to be fetched`:1===this.cacheMissCount&&(i+=", one had to be fetched"):this.cacheMissCount>1?i+=` - ${this.cacheMissCount} packages had to be fetched`:1===this.cacheMissCount&&(i+=" - one package had to be fetched"),this.reportInfo(A.MessageName.FETCH_NOT_CACHED,i)}clearProgress({delta:e=0,clear:t=!1}){this.configuration.get("enableProgressBars")&&!this.json&&this.progress.size+e>0&&(this.stdout.write(`[${this.progress.size+e}A`),(e>0||t)&&this.stdout.write(""))}writeProgress(){if(!this.configuration.get("enableProgressBars")||this.json)return;if(null!==this.progressTimeout&&clearTimeout(this.progressTimeout),this.progressTimeout=null,0===this.progress.size)return;const e=Date.now();e-this.progressTime>s&&(this.progressFrame=(this.progressFrame+1)%o.length,this.progressTime=e);const t=o[this.progressFrame];let n=this.configuration.get("progressBarStyle")||p;if(!Object.prototype.hasOwnProperty.call(h,n))throw new Error("Assertion failed: Invalid progress bar style");const r=h[n],A="➤ YN0000: ┌ ".length,i=Math.min(process.stdout.columns-A,80),a=Math.floor(r.size*i/80);for(const{progress:e}of this.progress.values()){const n=a*e,A=r.chars[0].repeat(n),i=r.chars[1].repeat(a-n);this.stdout.write(`${this.configuration.format("➤","blueBright")} ${this.formatName(null)}: ${t} ${A}${i}\n`)}this.progressTimeout=setTimeout(()=>{this.refreshProgress()},1e3/60)}refreshProgress(e=0){this.clearProgress({delta:e}),this.writeProgress()}formatTiming(e){return e<6e4?`${Math.round(e/10)/100}s`:`${Math.round(e/600)/100}m`}formatName(e){const t=`YN${(null===e?0:e).toString(10).padStart(4,"0")}`;return this.json||null!==e?t:this.configuration.format(t,"grey")}formatNameWithHyperlink(e){const t=this.formatName(e);return this.configuration.get("enableHyperlinks")?null===e||e===A.MessageName.UNNAMED?t:`]8;;${`https://yarnpkg.com/advanced/error-codes#${t}---${A.MessageName[e]}`.toLowerCase()}\\${t}]8;;\\`:t}formatIndent(){return"│ ".repeat(this.indent)}}t.StreamReport=f},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.YarnVersion="2.0.0-rc.33"},function(e,t,n){"use strict";const r=n(57),A=n(30).Buffer,i=n(123),o=t.constants=n(654),s=n(95),a=A.concat;class c extends Error{constructor(e,t){super("zlib: "+e),this.errno=t,this.code=u.get(t)}get name(){return"ZlibError"}}const u=new Map([[o.Z_OK,"Z_OK"],[o.Z_STREAM_END,"Z_STREAM_END"],[o.Z_NEED_DICT,"Z_NEED_DICT"],[o.Z_ERRNO,"Z_ERRNO"],[o.Z_STREAM_ERROR,"Z_STREAM_ERROR"],[o.Z_DATA_ERROR,"Z_DATA_ERROR"],[o.Z_MEM_ERROR,"Z_MEM_ERROR"],[o.Z_BUF_ERROR,"Z_BUF_ERROR"],[o.Z_VERSION_ERROR,"Z_VERSION_ERROR"]]),g=new Set([o.Z_NO_FLUSH,o.Z_PARTIAL_FLUSH,o.Z_SYNC_FLUSH,o.Z_FULL_FLUSH,o.Z_FINISH,o.Z_BLOCK]),l=new Set([o.Z_FILTERED,o.Z_HUFFMAN_ONLY,o.Z_RLE,o.Z_FIXED,o.Z_DEFAULT_STRATEGY]),h=Symbol("opts"),p=Symbol("flushFlag"),f=Symbol("finishFlush"),C=Symbol("handle"),d=Symbol("onError"),I=Symbol("level"),E=Symbol("strategy"),B=Symbol("ended");class y extends s{constructor(e,t){if(super(e),this[B]=!1,this[h]=e=e||{},e.flush&&!g.has(e.flush))throw new TypeError("Invalid flush flag: "+e.flush);if(e.finishFlush&&!g.has(e.finishFlush))throw new TypeError("Invalid flush flag: "+e.finishFlush);if(this[p]=e.flush||o.Z_NO_FLUSH,this[f]=void 0!==e.finishFlush?e.finishFlush:o.Z_FINISH,e.chunkSize&&e.chunkSizeo.Z_MAX_WINDOWBITS))throw new RangeError("Invalid windowBits: "+e.windowBits);if(e.level&&(e.levelo.Z_MAX_LEVEL))throw new RangeError("Invalid compression level: "+e.level);if(e.memLevel&&(e.memLevelo.Z_MAX_MEMLEVEL))throw new RangeError("Invalid memLevel: "+e.memLevel);if(e.strategy&&!l.has(e.strategy))throw new TypeError("Invalid strategy: "+e.strategy);if(e.dictionary&&!(e.dictionary instanceof A))throw new TypeError("Invalid dictionary: it should be a Buffer instance");this[C]=new i[t](e),this[d]=e=>{this.close();const t=new c(e.message,e.errno);this.emit("error",t)},this[C].on("error",this[d]);const n="number"==typeof e.level?e.level:o.Z_DEFAULT_COMPRESSION;var r="number"==typeof e.strategy?e.strategy:o.Z_DEFAULT_STRATEGY;this[I]=n,this[E]=r,this.once("end",this.close)}close(){this[C]&&(this[C].close(),this[C]=null,this.emit("close"))}params(e,t){if(!this[C])throw new Error("cannot switch params when binding is closed");if(!this[C].params)throw new Error("not supported in this implementation");if(eo.Z_MAX_LEVEL)throw new RangeError("Invalid compression level: "+e);if(!l.has(t))throw new TypeError("Invalid strategy: "+t);if(this[I]!==e||this[E]!==t){this.flush(o.Z_SYNC_FLUSH),r(this[C],"zlib binding closed");const n=this[C].flush;this[C].flush=(e,t)=>{this[C].flush=n,this.flush(e),t()},this[C].params(e,t),this[C]&&(this[I]=e,this[E]=t)}}reset(){return r(this[C],"zlib binding closed"),this[C].reset()}flush(e){if(void 0===e&&(e=o.Z_FULL_FLUSH),this.ended)return;const t=this[p];this[p]=e,this.write(A.alloc(0)),this[p]=t}end(e,t,n){return e&&this.write(e,t),this.flush(this[f]),this[B]=!0,super.end(null,null,n)}get ended(){return this[B]}write(e,t,n){"function"==typeof t&&(n=t,t="utf8"),"string"==typeof e&&(e=A.from(e,t)),r(this[C],"zlib binding closed");const i=this[C]._handle,o=i.close;i.close=()=>{};const s=this[C].close;let c,u;this[C].close=()=>{},A.concat=e=>e;try{c=this[C]._processChunk(e,this[p])}catch(e){this[d](e)}finally{A.concat=a,this[C]&&(this[C]._handle=i,i.close=o,this[C].close=s,this[C].removeAllListeners("error"))}if(c)if(Array.isArray(c)&&c.length>0){u=super.write(A.from(c[0]));for(let e=1;e{if(e)return this.emit("error",e);this[d](t)})}[d](e){this.statCache.set(this.absolute,e),this.stat=e,e.isFile()||(e.size=0),this.type=k(e),this.emit("stat",e),this[c]()}[c](){switch(this.type){case"File":return this[u]();case"Directory":return this[g]();case"SymbolicLink":return this[l]();default:return this.end()}}[Q](e){return b(e,"Directory"===this.type)}[p](){"Directory"===this.type&&this.portable&&(this.noMtime=!0),this.header=new o({path:this.path,linkpath:this.linkpath,mode:this[Q](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&this.write(new i({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this.path,linkpath:this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),this.write(this.header.block)}[g](){"/"!==this.path.substr(-1)&&(this.path+="/"),this.stat.size=0,this[p](),this.end()}[l](){s.readlink(this.absolute,(e,t)=>{if(e)return this.emit("error",e);this[E](t)})}[E](e){this.linkpath=e,this[p](),this.end()}[h](e){this.type="Link",this.linkpath=a.relative(this.cwd,e),this.stat.size=0,this[p](),this.end()}[u](){if(this.stat.nlink>1){const e=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(e)){const t=this.linkCache.get(e);if(0===t.indexOf(this.cwd))return this[h](t)}this.linkCache.set(e,this.absolute)}if(this[p](),0===this.stat.size)return this.end();this[B]()}[B](){s.open(this.absolute,"r",(e,t)=>{if(e)return this.emit("error",e);this[y](t)})}[y](e){const t=512*Math.ceil(this.stat.size/512),n=Math.min(t,this.maxReadSize),A=r.allocUnsafe(n);this[f](e,A,0,A.length,0,this.stat.size,t)}[f](e,t,n,r,A,i,o){s.read(e,t,n,r,A,(s,a)=>{if(s)return this[m](e,e=>this.emit("error",s));this[I](e,t,n,r,A,i,o,a)})}[m](e,t){s.close(e,t)}[I](e,t,n,A,i,o,s,a){if(a<=0&&o>0){const t=new Error("encountered unexpected EOF");return t.path=this.absolute,t.syscall="read",t.code="EOF",this[m](e),this.emit("error",t)}if(a>o){const t=new Error("did not encounter expected EOF");return t.path=this.absolute,t.syscall="read",t.code="EOF",this[m](e),this.emit("error",t)}if(a===o)for(let e=a;ee);n>=A&&(t=r.allocUnsafe(A),n=0),A=t.length-n,this[f](e,t,n,A,i,o,s)}});const S=w(class extends A{constructor(e,t){if(super(t=t||{}),this.preservePaths=!!t.preservePaths,this.portable=!!t.portable,this.strict=!!t.strict,this.noPax=!!t.noPax,this.noMtime=!!t.noMtime,this.readEntry=e,this.type=e.type,"Directory"===this.type&&this.portable&&(this.noMtime=!0),this.path=e.path,this.mode=this[Q](e.mode),this.uid=this.portable?null:e.uid,this.gid=this.portable?null:e.gid,this.uname=this.portable?null:e.uname,this.gname=this.portable?null:e.gname,this.size=e.size,this.mtime=this.noMtime?null:t.mtime||e.mtime,this.atime=this.portable?null:e.atime,this.ctime=this.portable?null:e.ctime,this.linkpath=e.linkpath,"function"==typeof t.onwarn&&this.on("warn",t.onwarn),a.isAbsolute(this.path)&&!this.preservePaths){const e=a.parse(this.path);this.warn("stripping "+e.root+" from absolute path",this.path),this.path=this.path.substr(e.root.length)}this.remain=e.size,this.blockRemain=e.startBlockSize,this.header=new o({path:this.path,linkpath:this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),this.header.encode()&&!this.noPax&&super.write(new i({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this.path,linkpath:this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),e.pipe(this)}[Q](e){return b(e,"Directory"===this.type)}write(e){const t=e.length;if(t>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=t,super.write(e)}end(){return this.blockRemain&&this.write(r.alloc(this.blockRemain)),super.end()}});D.Sync=class extends D{constructor(e,t){super(e,t)}[C](){this[d](s.lstatSync(this.absolute))}[l](){this[E](s.readlinkSync(this.absolute))}[B](){this[y](s.openSync(this.absolute,"r"))}[f](e,t,n,r,A,i,o){let a=!0;try{const c=s.readSync(e,t,n,r,A);this[I](e,t,n,r,A,i,o,c),a=!1}finally{if(a)try{this[m](e)}catch(e){}}}[m](e){s.closeSync(e)}},D.Tar=S;const k=e=>e.isFile()?"File":e.isDirectory()?"Directory":e.isSymbolicLink()?"SymbolicLink":"Unsupported";e.exports=D},function(e,t,n){"use strict";const r=["|","<",">","?",":"],A=r.map(e=>String.fromCharCode(61440+e.charCodeAt(0))),i=new Map(r.map((e,t)=>[e,A[t]])),o=new Map(A.map((e,t)=>[e,r[t]]));e.exports={encode:e=>r.reduce((e,t)=>e.split(t).join(i.get(t)),e),decode:e=>A.reduce((e,t)=>e.split(t).join(o.get(t)),e)}},function(e,t,n){"use strict";const r=n(60),A=n(94),i=n(199),o=(n(136),n(3)),s=n(97),a=n(204),c=n(4),u=n(96),g=(e.exports=(e,t,n)=>{const r=A(e);if(!r.file)throw new TypeError("file is required");if(r.gzip)throw new TypeError("cannot append to compressed archives");if(!t||!Array.isArray(t)||!t.length)throw new TypeError("no files or directories specified");return t=Array.from(t),r.sync?g(r,t):h(r,t,n)},(e,t)=>{const n=new i.Sync(e);let A,s,a=!0;try{try{A=o.openSync(e.file,"r+")}catch(t){if("ENOENT"!==t.code)throw t;A=o.openSync(e.file,"w+")}const i=o.fstatSync(A),c=r.alloc(512);e:for(s=0;si.size)break;s+=n,e.mtimeCache&&e.mtimeCache.set(t.path,t.mtime)}a=!1,l(e,n,s,A,t)}finally{if(a)try{o.closeSync(A)}catch(e){}}}),l=(e,t,n,r,A)=>{const i=new s.WriteStreamSync(e.file,{fd:r,start:n});t.pipe(i),p(t,A)},h=(e,t,n)=>{t=Array.from(t);const A=new i(e),a=new Promise((n,i)=>{A.on("error",i);let a="r+";const c=(g,l)=>g&&"ENOENT"===g.code&&"r+"===a?(a="w+",o.open(e.file,a,c)):g?i(g):void o.fstat(l,(a,c)=>{if(a)return i(a);((t,n,A)=>{const i=(e,n)=>{e?o.close(t,t=>A(e)):A(null,n)};let s=0;if(0===n)return i(null,0);let a=0;const c=r.alloc(512),g=(r,A)=>{if(r)return i(r);if((a+=A)<512&&A)return o.read(t,c,a,c.length-a,s+a,g);if(0===s&&31===c[0]&&139===c[1])return i(new Error("cannot append to compressed archives"));if(a<512)return i(null,s);const l=new u(c);if(!l.cksumValid)return i(null,s);const h=512*Math.ceil(l.size/512);return s+h+512>n?i(null,s):(s+=h+512)>=n?i(null,s):(e.mtimeCache&&e.mtimeCache.set(l.path,l.mtime),a=0,void o.read(t,c,0,512,s,g))};o.read(t,c,0,512,s,g)})(l,c.size,(r,o)=>{if(r)return i(r);const a=new s.WriteStream(e.file,{fd:l,start:o});A.pipe(a),a.on("error",i),a.on("close",n),f(A,t)})});o.open(e.file,a,c)});return n?a.then(n,n):a},p=(e,t)=>{t.forEach(t=>{"@"===t.charAt(0)?a({file:c.resolve(e.cwd,t.substr(1)),sync:!0,noResume:!0,onentry:t=>e.add(t)}):e.add(t)}),e.end()},f=(e,t)=>{for(;t.length;){const n=t.shift();if("@"===n.charAt(0))return a({file:c.resolve(e.cwd,n.substr(1)),noResume:!0,onentry:t=>e.add(t)}).then(n=>f(e,t));e.add(n)}e.end()}},function(e,t,n){"use strict";const r=n(57),A=(n(19).EventEmitter,n(136)),i=n(3),o=n(97),s=n(4),a=n(659),c=(a.sync,n(307)),u=Symbol("onEntry"),g=Symbol("checkFs"),l=Symbol("isReusable"),h=Symbol("makeFs"),p=Symbol("file"),f=Symbol("directory"),C=Symbol("link"),d=Symbol("symlink"),I=Symbol("hardlink"),E=Symbol("unsupported"),B=(Symbol("unknown"),Symbol("checkPath")),y=Symbol("mkdir"),m=Symbol("onError"),Q=Symbol("pending"),w=Symbol("pend"),v=Symbol("unpend"),b=Symbol("ended"),D=Symbol("maybeClose"),S=Symbol("skip"),k=Symbol("doChown"),_=Symbol("uid"),F=Symbol("gid"),M=n(54),N=(e,t)=>{if("win32"!==process.platform)return i.unlink(e,t);const n=e+".DELETE."+M.randomBytes(16).toString("hex");i.rename(e,n,e=>{if(e)return t(e);i.unlink(n,t)})},R=e=>{if("win32"!==process.platform)return i.unlinkSync(e);const t=e+".DELETE."+M.randomBytes(16).toString("hex");i.renameSync(e,t),i.unlinkSync(t)},K=(e,t,n)=>e===e>>>0?e:t===t>>>0?t:n;class x extends A{constructor(e){if(e||(e={}),e.ondone=e=>{this[b]=!0,this[D]()},super(e),this.transform="function"==typeof e.transform?e.transform:null,this.writable=!0,this.readable=!1,this[Q]=0,this[b]=!1,this.dirCache=e.dirCache||new Map,"number"==typeof e.uid||"number"==typeof e.gid){if("number"!=typeof e.uid||"number"!=typeof e.gid)throw new TypeError("cannot set owner without number uid and gid");if(e.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=e.uid,this.gid=e.gid,this.setOwner=!0}else this.uid=null,this.gid=null,this.setOwner=!1;void 0===e.preserveOwner&&"number"!=typeof e.uid?this.preserveOwner=process.getuid&&0===process.getuid():this.preserveOwner=!!e.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=!0===e.forceChown,this.win32=!!e.win32||"win32"===process.platform,this.newer=!!e.newer,this.keep=!!e.keep,this.noMtime=!!e.noMtime,this.preservePaths=!!e.preservePaths,this.unlink=!!e.unlink,this.cwd=s.resolve(e.cwd||process.cwd()),this.strip=+e.strip||0,this.processUmask=process.umask(),this.umask="number"==typeof e.umask?e.umask:this.processUmask,this.dmode=e.dmode||511&~this.umask,this.fmode=e.fmode||438&~this.umask,this.on("entry",e=>this[u](e))}[D](){this[b]&&0===this[Q]&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"),this.emit("close"))}[B](e){if(this.strip){const t=e.path.split(/\/|\\/);if(t.length=this.strip&&(e.linkpath=t.slice(this.strip).join("/"))}}if(!this.preservePaths){const t=e.path;if(t.match(/(^|\/|\\)\.\.(\\|\/|$)/))return this.warn("path contains '..'",t),!1;if(s.win32.isAbsolute(t)){const n=s.win32.parse(t);this.warn("stripping "+n.root+" from absolute path",t),e.path=t.substr(n.root.length)}}if(this.win32){const t=s.win32.parse(e.path);e.path=""===t.root?c.encode(e.path):t.root+c.encode(e.path.substr(t.root.length))}return s.isAbsolute(e.path)?e.absolute=e.path:e.absolute=s.resolve(this.cwd,e.path),!0}[u](e){if(!this[B](e))return e.resume();switch(r.equal(typeof e.absolute,"string"),e.type){case"Directory":case"GNUDumpDir":e.mode&&(e.mode=448|e.mode);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[g](e);case"CharacterDevice":case"BlockDevice":case"FIFO":return this[E](e)}}[m](e,t){"CwdError"===e.name?this.emit("error",e):(this.warn(e.message,e),this[v](),t.resume())}[y](e,t,n){a(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t},n)}[k](e){return this.forceChown||this.preserveOwner&&("number"==typeof e.uid&&e.uid!==this.processUid||"number"==typeof e.gid&&e.gid!==this.processGid)||"number"==typeof this.uid&&this.uid!==this.processUid||"number"==typeof this.gid&&this.gid!==this.processGid}[_](e){return K(this.uid,e.uid,this.processUid)}[F](e){return K(this.gid,e.gid,this.processGid)}[p](e){const t=4095&e.mode||this.fmode,n=new o.WriteStream(e.absolute,{mode:t,autoClose:!1});n.on("error",t=>this[m](t,e));let r=1;const A=t=>{if(t)return this[m](t,e);0==--r&&i.close(n.fd,e=>this[v]())};n.on("finish",t=>{const o=e.absolute,s=n.fd;if(e.mtime&&!this.noMtime){r++;const t=e.atime||new Date,n=e.mtime;i.futimes(s,t,n,e=>e?i.utimes(o,t,n,t=>A(t&&e)):A())}if(this[k](e)){r++;const t=this[_](e),n=this[F](e);i.fchown(s,t,n,e=>e?i.chown(o,t,n,t=>A(t&&e)):A())}A()});const s=this.transform&&this.transform(e)||e;s!==e&&(s.on("error",t=>this[m](t,e)),e.pipe(s)),s.pipe(n)}[f](e){const t=4095&e.mode||this.dmode;this[y](e.absolute,t,t=>{if(t)return this[m](t,e);let n=1;const r=t=>{0==--n&&(this[v](),e.resume())};e.mtime&&!this.noMtime&&(n++,i.utimes(e.absolute,e.atime||new Date,e.mtime,r)),this[k](e)&&(n++,i.chown(e.absolute,this[_](e),this[F](e),r)),r()})}[E](e){this.warn("unsupported entry type: "+e.type,e),e.resume()}[d](e){this[C](e,e.linkpath,"symlink")}[I](e){this[C](e,s.resolve(this.cwd,e.linkpath),"link")}[w](){this[Q]++}[v](){this[Q]--,this[D]()}[S](e){this[v](),e.resume()}[l](e,t){return"File"===e.type&&!this.unlink&&t.isFile()&&t.nlink<=1&&"win32"!==process.platform}[g](e){this[w](),this[y](s.dirname(e.absolute),this.dmode,t=>{if(t)return this[m](t,e);i.lstat(e.absolute,(t,n)=>{n&&(this.keep||this.newer&&n.mtime>e.mtime)?this[S](e):t||this[l](e,n)?this[h](null,e):n.isDirectory()?"Directory"===e.type?e.mode&&(4095&n.mode)!==e.mode?i.chmod(e.absolute,e.mode,t=>this[h](t,e)):this[h](null,e):i.rmdir(e.absolute,t=>this[h](t,e)):N(e.absolute,t=>this[h](t,e))})})}[h](e,t){if(e)return this[m](e,t);switch(t.type){case"File":case"OldFile":case"ContiguousFile":return this[p](t);case"Link":return this[I](t);case"SymbolicLink":return this[d](t);case"Directory":case"GNUDumpDir":return this[f](t)}}[C](e,t,n){i[n](t,e.absolute,t=>{if(t)return this[m](t,e);this[v](),e.resume()})}}x.Sync=class extends x{constructor(e){super(e)}[g](e){const t=this[y](s.dirname(e.absolute),this.dmode);if(t)return this[m](t,e);try{const n=i.lstatSync(e.absolute);if(this.keep||this.newer&&n.mtime>e.mtime)return this[S](e);if(this[l](e,n))return this[h](null,e);try{return n.isDirectory()?"Directory"===e.type?e.mode&&(4095&n.mode)!==e.mode&&i.chmodSync(e.absolute,e.mode):i.rmdirSync(e.absolute):R(e.absolute),this[h](null,e)}catch(t){return this[m](t,e)}}catch(t){return this[h](null,e)}}[p](e){const t=4095&e.mode||this.fmode,n=t=>{try{i.closeSync(r)}catch(e){}t&&this[m](t,e)};let r;try{r=i.openSync(e.absolute,"w",t)}catch(e){return n(e)}const A=this.transform&&this.transform(e)||e;A!==e&&(A.on("error",t=>this[m](t,e)),e.pipe(A)),A.on("data",e=>{try{i.writeSync(r,e,0,e.length)}catch(e){n(e)}}),A.on("end",t=>{let A=null;if(e.mtime&&!this.noMtime){const t=e.atime||new Date,n=e.mtime;try{i.futimesSync(r,t,n)}catch(r){try{i.utimesSync(e.absolute,t,n)}catch(e){A=r}}}if(this[k](e)){const t=this[_](e),n=this[F](e);try{i.fchownSync(r,t,n)}catch(r){try{i.chownSync(e.absolute,t,n)}catch(e){A=A||r}}}n(A)})}[f](e){const t=4095&e.mode||this.dmode,n=this[y](e.absolute,t);if(n)return this[m](n,e);if(e.mtime&&!this.noMtime)try{i.utimesSync(e.absolute,e.atime||new Date,e.mtime)}catch(n){}if(this[k](e))try{i.chownSync(e.absolute,this[_](e),this[F](e))}catch(n){}e.resume()}[y](e,t){try{return a.sync(e,{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:t})}catch(e){return e}}[C](e,t,n){try{i[n+"Sync"](t,e.absolute),e.resume()}catch(t){return this[m](t,e)}}},e.exports=x},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e[e.SCRIPT=0]="SCRIPT",e[e.SHELLCODE=1]="SHELLCODE"}(t.BuildType||(t.BuildType={}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.generateOptions=function(e,t){if("function"==typeof e)t.callback=e;else if(e)for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.structuredPatch=i,t.createTwoFilesPatch=o,t.createPatch=function(e,t,n,r,A,i){return o(e,e,t,n,r,A,i)};var r=n(205);function A(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t0?u(s.lines.slice(-a.context)):[],l-=p.length,h-=p.length)}(o=p).push.apply(o,A(r.map((function(e){return(t.added?"+":"-")+e})))),t.added?C+=r.length:f+=r.length}else{if(l)if(r.length<=2*a.context&&e=c.length-2&&r.length<=a.context){var y=/\n$/.test(n),m=/\n$/.test(i),Q=0==r.length&&p.length>B.oldLines;!y&&Q&&p.splice(B.oldLines,0,"\\ No newline at end of file"),(y||Q)&&m||p.push("\\ No newline at end of file")}g.push(B),l=0,h=0,p=[]}f+=r.length,C+=r.length}},I=0;I=0&&t<=v};C.each=C.forEach=function(e,t,n){var r,A;if(t=I(t,n),D(e))for(r=0,A=e.length;r0?0:o-1;for(A||(r=t[i?i[s]:s],s+=e);s>=0&&s=3;return t(e,I(n,A,4),r,i)}};C.reduce=C.foldl=C.inject=S(1),C.reduceRight=C.foldr=S(-1),C.find=C.detect=function(e,t,n){var r=(D(e)?C.findIndex:C.findKey)(e,t,n);if(void 0!==r&&-1!==r)return e[r]},C.filter=C.select=function(e,t,n){var r=[];return t=E(t,n),C.each(e,(function(e,n,A){t(e,n,A)&&r.push(e)})),r},C.reject=function(e,t,n){return C.filter(e,C.negate(E(t)),n)},C.every=C.all=function(e,t,n){t=E(t,n);for(var r=!D(e)&&C.keys(e),A=(r||e).length,i=0;i=0},C.invoke=B((function(e,t,n){var r,A;return C.isFunction(t)?A=t:C.isArray(t)&&(r=t.slice(0,-1),t=t[t.length-1]),C.map(e,(function(e){var i=A;if(!i){if(r&&r.length&&(e=w(e,r)),null==e)return;i=e[t]}return null==i?i:i.apply(e,n)}))})),C.pluck=function(e,t){return C.map(e,C.property(t))},C.where=function(e,t){return C.filter(e,C.matcher(t))},C.findWhere=function(e,t){return C.find(e,C.matcher(t))},C.max=function(e,t,n){var r,A,i=-1/0,o=-1/0;if(null==t||"number"==typeof t&&"object"!=typeof e[0]&&null!=e)for(var s=0,a=(e=D(e)?e:C.values(e)).length;si&&(i=r);else t=E(t,n),C.each(e,(function(e,n,r){((A=t(e,n,r))>o||A===-1/0&&i===-1/0)&&(i=e,o=A)}));return i},C.min=function(e,t,n){var r,A,i=1/0,o=1/0;if(null==t||"number"==typeof t&&"object"!=typeof e[0]&&null!=e)for(var s=0,a=(e=D(e)?e:C.values(e)).length;sr||void 0===n)return 1;if(n0?0:A-1;i>=0&&i0?o=i>=0?i:Math.max(i+s,o):s=i>=0?Math.min(i+1,s):i+s+1;else if(n&&i&&s)return r[i=n(r,A)]===A?i:-1;if(A!=A)return(i=t(c.call(r,o,s),C.isNaN))>=0?i+o:-1;for(i=e>0?o:s-1;i>=0&&it?(r&&(clearTimeout(r),r=null),s=c,o=e.apply(A,i),r||(A=i=null)):r||!1===n.trailing||(r=setTimeout(a,u)),o};return c.cancel=function(){clearTimeout(r),s=0,r=A=i=null},c},C.debounce=function(e,t,n){var r,A,i=function(t,n){r=null,n&&(A=e.apply(t,n))},o=B((function(o){if(r&&clearTimeout(r),n){var s=!r;r=setTimeout(i,t),s&&(A=e.apply(this,o))}else r=C.delay(i,t,this,o);return A}));return o.cancel=function(){clearTimeout(r),r=null},o},C.wrap=function(e,t){return C.partial(t,e)},C.negate=function(e){return function(){return!e.apply(this,arguments)}},C.compose=function(){var e=arguments,t=e.length-1;return function(){for(var n=t,r=e[t].apply(this,arguments);n--;)r=e[n].call(this,r);return r}},C.after=function(e,t){return function(){if(--e<1)return t.apply(this,arguments)}},C.before=function(e,t){var n;return function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=null),n}},C.once=C.partial(C.before,2),C.restArguments=B;var K=!{toString:null}.propertyIsEnumerable("toString"),x=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],P=function(e,t){var n=x.length,r=e.constructor,A=C.isFunction(r)&&r.prototype||o,i="constructor";for(Q(e,i)&&!C.contains(t,i)&&t.push(i);n--;)(i=x[n])in e&&e[i]!==A[i]&&!C.contains(t,i)&&t.push(i)};C.keys=function(e){if(!C.isObject(e))return[];if(h)return h(e);var t=[];for(var n in e)Q(e,n)&&t.push(n);return K&&P(e,t),t},C.allKeys=function(e){if(!C.isObject(e))return[];var t=[];for(var n in e)t.push(n);return K&&P(e,t),t},C.values=function(e){for(var t=C.keys(e),n=t.length,r=Array(n),A=0;A1&&(r=I(r,t[1])),t=C.allKeys(e)):(r=U,t=F(t,!1,!1),e=Object(e));for(var A=0,i=t.length;A1&&(n=t[1])):(t=C.map(F(t,!1,!1),String),r=function(e,n){return!C.contains(t,n)}),C.pick(e,r,n)})),C.defaults=L(C.allKeys,!0),C.create=function(e,t){var n=y(e);return t&&C.extendOwn(n,t),n},C.clone=function(e){return C.isObject(e)?C.isArray(e)?e.slice():C.extend({},e):e},C.tap=function(e,t){return t(e),e},C.isMatch=function(e,t){var n=C.keys(t),r=n.length;if(null==e)return!r;for(var A=Object(e),i=0;i":">",'"':""","'":"'","`":"`"},G=C.invert(j),J=function(e){var t=function(t){return e[t]},n="(?:"+C.keys(e).join("|")+")",r=RegExp(n),A=RegExp(n,"g");return function(e){return e=null==e?"":""+e,r.test(e)?e.replace(A,t):e}};C.escape=J(j),C.unescape=J(G),C.result=function(e,t,n){C.isArray(t)||(t=[t]);var r=t.length;if(!r)return C.isFunction(n)?n.call(e):n;for(var A=0;A/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var q=/(.)^/,z={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},W=/\\|'|\r|\n|\u2028|\u2029/g,X=function(e){return"\\"+z[e]};C.template=function(e,t,n){!t&&n&&(t=n),t=C.defaults({},t,C.templateSettings);var r,A=RegExp([(t.escape||q).source,(t.interpolate||q).source,(t.evaluate||q).source].join("|")+"|$","g"),i=0,o="__p+='";e.replace(A,(function(t,n,r,A,s){return o+=e.slice(i,s).replace(W,X),i=s+t.length,n?o+="'+\n((__t=("+n+"))==null?'':_.escape(__t))+\n'":r?o+="'+\n((__t=("+r+"))==null?'':__t)+\n'":A&&(o+="';\n"+A+"\n__p+='"),t})),o+="';\n",t.variable||(o="with(obj||{}){\n"+o+"}\n"),o="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+o+"return __p;\n";try{r=new Function(t.variable||"obj","_",o)}catch(e){throw e.source=o,e}var s=function(e){return r.call(this,e,C)},a=t.variable||"obj";return s.source="function("+a+"){\n"+o+"}",s},C.chain=function(e){var t=C(e);return t._chain=!0,t};var V=function(e,t){return e._chain?C(t).chain():t};C.mixin=function(e){return C.each(C.functions(e),(function(t){var n=C[t]=e[t];C.prototype[t]=function(){var e=[this._wrapped];return a.apply(e,arguments),V(this,n.apply(C,e))}})),C},C.mixin(C),C.each(["pop","push","reverse","shift","sort","splice","unshift"],(function(e){var t=i[e];C.prototype[e]=function(){var n=this._wrapped;return t.apply(n,arguments),"shift"!==e&&"splice"!==e||0!==n.length||delete n[0],V(this,n)}})),C.each(["concat","join","slice"],(function(e){var t=i[e];C.prototype[e]=function(){return V(this,t.apply(this._wrapped,arguments))}})),C.prototype.value=function(){return this._wrapped},C.prototype.valueOf=C.prototype.toJSON=C.prototype.value,C.prototype.toString=function(){return String(this._wrapped)},void 0===(n=function(){return C}.apply(t,[]))||(e.exports=n)}()}).call(this,n(29)(e))},function(e,t,n){"use strict";var r=this&&this.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,A){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,A,(t=e[n](t)).done,t.value)}))}}};Object.defineProperty(t,"__esModule",{value:!0});const A=n(43);class i extends A.Report{reportCacheHit(e){}reportCacheMiss(e){}startTimerSync(e,t){return t()}async startTimerPromise(e,t){return await t()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,t){}reportWarning(e,t){}reportError(e,t){}reportProgress(e){const t=Promise.resolve().then(async()=>{var t,n;try{for(var A,i=r(e);!(A=await i.next()).done;){const{}=A.value}}catch(e){t={error:e}}finally{try{A&&!A.done&&(n=i.return)&&await n.call(i)}finally{if(t)throw t.error}}});return Object.assign(Object.assign({},t),{stop:()=>{}})}reportJson(e){}async finalize(){}}t.ThrowReport=i},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},A=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const i=n(1),o=r(n(685)),s=r(n(15)),a=n(93),c=n(133),u=A(n(88)),g=A(n(20));t.Workspace=class{constructor(e,{project:t}){this.workspacesCwds=new Set,this.dependencies=new Map,this.project=t,this.cwd=e}async setup(){this.manifest=i.xfs.existsSync(i.ppath.join(this.cwd,a.Manifest.fileName))?await a.Manifest.find(this.cwd):new a.Manifest,this.relativeCwd=i.ppath.relative(this.project.cwd,this.cwd)||i.PortablePath.dot;const e=this.manifest.name?this.manifest.name:g.makeIdent(null,`${this.computeCandidateName()}-${u.makeHash(this.relativeCwd).substr(0,6)}`),t=this.manifest.version?this.manifest.version:"0.0.0";this.locator=g.makeLocator(e,t),this.anchoredDescriptor=g.makeDescriptor(this.locator,`${c.WorkspaceResolver.protocol}${this.relativeCwd}`),this.anchoredLocator=g.makeLocator(this.locator,`${c.WorkspaceResolver.protocol}${this.relativeCwd}`);for(const e of this.manifest.workspaceDefinitions){const t=await o.default(e.pattern,{absolute:!0,cwd:i.npath.fromPortablePath(this.cwd),expandDirectories:!1,onlyDirectories:!0,onlyFiles:!1});t.sort();for(const e of t){const t=i.ppath.resolve(this.cwd,i.npath.toPortablePath(e));i.xfs.existsSync(i.ppath.join(t,i.toFilename("package.json")))&&this.workspacesCwds.add(t)}}}accepts(e){const t=e.indexOf(":"),n=-1!==t?e.slice(0,t+1):null,r=-1!==t?e.slice(t+1):e;return n===c.WorkspaceResolver.protocol&&r===this.relativeCwd||(n===c.WorkspaceResolver.protocol&&"*"===r||!!s.default.validRange(r)&&(n===c.WorkspaceResolver.protocol?s.default.satisfies(null!==this.manifest.version?this.manifest.version:"0.0.0",r):!!this.project.configuration.get("enableTransparentWorkspaces")&&(null!==this.manifest.version&&s.default.satisfies(this.manifest.version,r))))}computeCandidateName(){return this.cwd===this.project.cwd?"root-workspace":`${i.ppath.basename(this.cwd)}`||"unnamed-workspace"}async persistManifest(){const e={};this.manifest.exportTo(e);const t=i.ppath.join(this.cwd,a.Manifest.fileName),n=`${JSON.stringify(e,null,this.manifest.indent)}\n`;await i.xfs.changeFilePromise(t,n,{automaticNewlines:!0})}}},function(e,t,n){e.exports=E;var r=n(3),A=n(317),i=n(207),o=(i.Minimatch,n(61)),s=n(19).EventEmitter,a=n(4),c=n(57),u=n(208),g=n(693),l=n(318),h=(l.alphasort,l.alphasorti,l.setopts),p=l.ownProp,f=n(694),C=(n(6),l.childrenIgnored),d=l.isIgnored,I=n(119);function E(e,t,n){if("function"==typeof t&&(n=t,t={}),t||(t={}),t.sync){if(n)throw new TypeError("callback provided to sync glob");return g(e,t)}return new y(e,t,n)}E.sync=g;var B=E.GlobSync=g.GlobSync;function y(e,t,n){if("function"==typeof t&&(n=t,t=null),t&&t.sync){if(n)throw new TypeError("callback provided to sync glob");return new B(e,t)}if(!(this instanceof y))return new y(e,t,n);h(this,e,t),this._didRealPath=!1;var r=this.minimatch.set.length;this.matches=new Array(r),"function"==typeof n&&(n=I(n),this.on("error",n),this.on("end",(function(e){n(null,e)})));var A=this;if(this._processing=0,this._emitQueue=[],this._processQueue=[],this.paused=!1,this.noprocess)return this;if(0===r)return s();for(var i=!0,o=0;o1)return!0;for(var A=0;Athis.maxLength)return t();if(!this.stat&&p(this.cache,n)){var i=this.cache[n];if(Array.isArray(i)&&(i="DIR"),!A||"DIR"===i)return t(null,i);if(A&&"FILE"===i)return t()}var o=this.statCache[n];if(void 0!==o){if(!1===o)return t(null,o);var s=o.isDirectory()?"DIR":"FILE";return A&&"FILE"===s?t():t(null,s,o)}var a=this,c=f("stat\0"+n,(function(A,i){if(i&&i.isSymbolicLink())return r.stat(n,(function(r,A){r?a._stat2(e,n,null,i,t):a._stat2(e,n,r,A,t)}));a._stat2(e,n,A,i,t)}));c&&r.lstat(n,c)},y.prototype._stat2=function(e,t,n,r,A){if(n&&("ENOENT"===n.code||"ENOTDIR"===n.code))return this.statCache[t]=!1,A();var i="/"===e.slice(-1);if(this.statCache[t]=r,"/"===t.slice(-1)&&r&&!r.isDirectory())return A(null,!1,r);var o=!0;return r&&(o=r.isDirectory()?"DIR":"FILE"),this.cache[t]=this.cache[t]||o,i&&"FILE"===o?A():A(null,o,r)}},function(e,t,n){e.exports=u,u.realpath=u,u.sync=g,u.realpathSync=g,u.monkeypatch=function(){r.realpath=u,r.realpathSync=g},u.unmonkeypatch=function(){r.realpath=A,r.realpathSync=i};var r=n(3),A=r.realpath,i=r.realpathSync,o=process.version,s=/^v[0-5]\./.test(o),a=n(688);function c(e){return e&&"realpath"===e.syscall&&("ELOOP"===e.code||"ENOMEM"===e.code||"ENAMETOOLONG"===e.code)}function u(e,t,n){if(s)return A(e,t,n);"function"==typeof t&&(n=t,t=null),A(e,t,(function(r,A){c(r)?a.realpath(e,t,n):n(r,A)}))}function g(e,t){if(s)return i(e,t);try{return i(e,t)}catch(n){if(c(n))return a.realpathSync(e,t);throw n}}},function(e,t,n){function r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}t.alphasort=c,t.alphasorti=a,t.setopts=function(e,t,n){n||(n={});if(n.matchBase&&-1===t.indexOf("/")){if(n.noglobstar)throw new Error("base matching requires globstar");t="**/"+t}e.silent=!!n.silent,e.pattern=t,e.strict=!1!==n.strict,e.realpath=!!n.realpath,e.realpathCache=n.realpathCache||Object.create(null),e.follow=!!n.follow,e.dot=!!n.dot,e.mark=!!n.mark,e.nodir=!!n.nodir,e.nodir&&(e.mark=!0);e.sync=!!n.sync,e.nounique=!!n.nounique,e.nonull=!!n.nonull,e.nosort=!!n.nosort,e.nocase=!!n.nocase,e.stat=!!n.stat,e.noprocess=!!n.noprocess,e.absolute=!!n.absolute,e.maxLength=n.maxLength||1/0,e.cache=n.cache||Object.create(null),e.statCache=n.statCache||Object.create(null),e.symlinks=n.symlinks||Object.create(null),function(e,t){e.ignore=t.ignore||[],Array.isArray(e.ignore)||(e.ignore=[e.ignore]);e.ignore.length&&(e.ignore=e.ignore.map(u))}(e,n),e.changedCwd=!1;var i=process.cwd();r(n,"cwd")?(e.cwd=A.resolve(n.cwd),e.changedCwd=e.cwd!==i):e.cwd=i;e.root=n.root||A.resolve(e.cwd,"/"),e.root=A.resolve(e.root),"win32"===process.platform&&(e.root=e.root.replace(/\\/g,"/"));e.cwdAbs=o(e.cwd)?e.cwd:g(e,e.cwd),"win32"===process.platform&&(e.cwdAbs=e.cwdAbs.replace(/\\/g,"/"));e.nomount=!!n.nomount,n.nonegate=!0,n.nocomment=!0,e.minimatch=new s(t,n),e.options=e.minimatch.options},t.ownProp=r,t.makeAbs=g,t.finish=function(e){for(var t=e.nounique,n=t?[]:Object.create(null),r=0,A=e.matches.length;rthis._getEntry(n[r],e[r],t).then(e=>{null!==e&&t.entryFilter(e)&&A.push(e),r===n.length-1&&A.end(),o()}).catch(o);for(let e=0;ethis._makeEntry(e,t)).catch(e=>{if(n.errorFilter(e))return null;throw e})}_getStat(e){return new Promise((t,n)=>{this._stat(e,this._fsStatSettings,(e,r)=>null===e?t(r):n(e))})}}t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(4),A=n(41),i=n(62);t.default=class{constructor(e){this._settings=e,this._fsStatSettings=new A.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(e){return r.resolve(this._settings.cwd,e)}_makeEntry(e,t){const n={name:t,path:t,dirent:i.fs.createDirentFromStats(t,e)};return this._settings.stats&&(n.stats=e),n}_isFatalError(e){return!i.errno.isEnoentCodeError(e)&&!this._settings.suppressErrors}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(0),A=n(1),i=n(117),o=n(2),s=n(3),a=n(717);t.main=async function({binaryVersion:e,pluginConfiguration:t}){async function n(){const c=new o.Cli({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:e});c.register(a.WelcomeCommand);try{await async function(e){const o=await r.Configuration.find(A.npath.toPortablePath(process.cwd()),t,{strict:!1}),a=o.get("yarnPath"),c=o.get("ignorePath"),u=o.get("ignoreCwd");if(null===a||c){c&&delete process.env.YARN_IGNORE_PATH;for(const t of o.plugins.values())for(const n of t.commands||[])e.register(n);const r=e.process(process.argv.slice(2)),i=r.cwd;if(void 0!==i&&!u){const e=s.realpathSync(process.cwd()),t=s.realpathSync(i);if(e!==t)return process.chdir(i),await n()}e.runExit(r,{cwd:A.npath.toPortablePath(process.cwd()),plugins:t,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})}else if(A.xfs.existsSync(a))try{!function(e){const t=A.npath.fromPortablePath(e);process.on("SIGINT",()=>{}),t?i.execFileSync(process.execPath,[t,...process.argv.slice(2)],{stdio:"inherit",env:Object.assign(Object.assign({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})}):i.execFileSync(t,process.argv.slice(2),{stdio:"inherit",env:Object.assign(Object.assign({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})})}(a)}catch(e){process.exitCode=e.code||1}else process.stdout.write(e.error(new Error(`The "yarn-path" option has been set (in ${o.sources.get("yarnPath")}), but the specified location doesn't exist (${a}).`))),process.exitCode=1}(c)}catch(e){process.stdout.write(c.error(e)),process.exitCode=1}}return n().catch(e=>{process.stdout.write(e.stack||e.message),process.exitCode=1})}},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(2);class i extends A.Command{}r([A.Command.String("--cwd",{hidden:!0})],i.prototype,"cwd",void 0),t.BaseCommand=i},function(e,t,n){t.getPluginConfiguration=()=>({modules:new Map([[n(325).name,n(7)],[n(721).name,n(0)],[n(722).name,n(1)],[n(723).name,n(59)],[n(724).name,n(33)],[n(725).name,n(277)],[n(726).name,n(2)],[n(727).name,n(15)],[n(728).name,n(729)],[n(857).name,n(858)],[n(1138).name,n(1139)],[n(1144).name,n(1145)],[n(1148).name,n(1149)],[n(1154).name,n(429)],[n(1157).name,n(1158)],[n(1161).name,n(1162)],[n(1165).name,n(1166)],[n(1168).name,n(1169)],[n(1174).name,n(1175)],[n(1195).name,n(112)],[n(1200).name,n(1201)],[n(1223).name,n(437)],[n(1224).name,n(1225)],[n(1237).name,n(170)]]),plugins:new Set(["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-node-modules","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp"])})},function(e){e.exports=JSON.parse('{"name":"@yarnpkg/cli","version":"2.0.0-rc.33","main":"./sources/index.ts","dependencies":{"@yarnpkg/core":"workspace:^2.0.0-rc.27","@yarnpkg/fslib":"workspace:^2.0.0-rc.19","@yarnpkg/libzip":"workspace:^2.0.0-rc.11","@yarnpkg/parsers":"workspace:^2.0.0-rc.11","@yarnpkg/plugin-compat":"workspace:^2.0.0-rc.11","@yarnpkg/plugin-dlx":"workspace:^2.0.0-rc.14","@yarnpkg/plugin-essentials":"workspace:^2.0.0-rc.27","@yarnpkg/plugin-file":"workspace:^2.0.0-rc.14","@yarnpkg/plugin-git":"workspace:^2.0.0-rc.19","@yarnpkg/plugin-github":"workspace:^2.0.0-rc.16","@yarnpkg/plugin-http":"workspace:^2.0.0-rc.13","@yarnpkg/plugin-init":"workspace:^2.0.0-rc.13","@yarnpkg/plugin-link":"workspace:^2.0.0-rc.11","@yarnpkg/plugin-node-modules":"workspace:^2.0.0-rc.9","@yarnpkg/plugin-npm":"workspace:^2.0.0-rc.19","@yarnpkg/plugin-npm-cli":"workspace:^2.0.0-rc.17","@yarnpkg/plugin-pack":"workspace:^2.0.0-rc.19","@yarnpkg/plugin-patch":"workspace:^2.0.0-rc.8","@yarnpkg/plugin-pnp":"workspace:^2.0.0-rc.21","@yarnpkg/shell":"workspace:^2.0.0-rc.11","chalk":"^3.0.0","clipanion":"^2.1.5","fromentries":"^1.2.0","semver":"^7.1.2","yup":"^0.27.0"},"devDependencies":{"@yarnpkg/builder":"workspace:^2.0.0-rc.21","@yarnpkg/monorepo":"workspace:0.0.0","@yarnpkg/pnpify":"workspace:^2.0.0-rc.22","micromatch":"^4.0.2","typescript":"^3.8.3"},"peerDependencies":{"@yarnpkg/core":"^2.0.0-rc.27"},"scripts":{"postpack":"rm -rf lib","prepack":"run build:compile \\"$(pwd)\\"","build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},"publishConfig":{"main":"./lib/index.js","types":"./lib/index.d.ts","bin":null},"files":["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{"bundles":{"standard":["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-node-modules","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp"]}},"repository":{"type":"git","url":"ssh://git@github.com/yarnpkg/berry.git"}}')},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(0),A=n(1),i=n(2);class o extends i.UsageError{constructor(e,t){super(`This command can only be run from within a workspace of your project (${A.ppath.relative(e,t)} isn't a workspace of ${A.ppath.join(e,r.Manifest.fileName)}).`)}}t.WorkspaceRequiredError=o},function(e,t,n){var r=n(328),A=n(333),i=n(36),o=n(334),s=n(215),a=n(141);e.exports=function(e,t,n){for(var c=-1,u=(t=r(t,e)).length,g=!1;++c-1&&e%1==0&&e=0||(A[n]=e[n]);return A}},function(e,t,n){"use strict";function r(e){return Array.prototype.slice.apply(e)}var A="pending";function i(e){this.status=A,this._continuations=[],this._parent=null,this._paused=!1,e&&e.call(this,this._continueWith.bind(this),this._failWith.bind(this))}function o(e){return e&&"function"==typeof e.then}if(i.prototype={then:function(e,t){var n=i.unresolved()._setParent(this);if(this._isRejected()){if(this._paused)return this._continuations.push({promise:n,nextFn:e,catchFn:t}),n;if(t)try{var r=t(this._error);return o(r)?(this._chainPromiseData(r,n),n):i.resolve(r)._setParent(this)}catch(e){return i.reject(e)._setParent(this)}return i.reject(this._error)._setParent(this)}return this._continuations.push({promise:n,nextFn:e,catchFn:t}),this._runResolutions(),n},catch:function(e){if(this._isResolved())return i.resolve(this._data)._setParent(this);var t=i.unresolved()._setParent(this);return this._continuations.push({promise:t,catchFn:e}),this._runRejections(),t},pause:function(){return this._paused=!0,this},resume:function(){var e=this._findFirstPaused();return e&&(e._paused=!1,e._runResolutions(),e._runRejections()),this},_findAncestry:function(){return this._continuations.reduce((function(e,t){if(t.promise){var n={promise:t.promise,children:t.promise._findAncestry()};e.push(n)}return e}),[])},_setParent:function(e){if(this._parent)throw new Error("parent already set");return this._parent=e,this},_continueWith:function(e){var t=this._findFirstPending();t&&(t._data=e,t._setResolved())},_findFirstPending:function(){return this._findFirstAncestor((function(e){return e._isPending&&e._isPending()}))},_findFirstPaused:function(){return this._findFirstAncestor((function(e){return e._paused}))},_findFirstAncestor:function(e){for(var t,n=this;n;)e(n)&&(t=n),n=n._parent;return t},_failWith:function(e){var t=this._findFirstPending();t&&(t._error=e,t._setRejected())},_takeContinuations:function(){return this._continuations.splice(0,this._continuations.length)},_runRejections:function(){if(!this._paused&&this._isRejected()){var e=this._error,t=this._takeContinuations(),n=this;t.forEach((function(t){if(t.catchFn)try{var r=t.catchFn(e);n._handleUserFunctionResult(r,t.promise)}catch(e){e.message;t.promise.reject(e)}else t.promise.reject(e)}))}},_runResolutions:function(){if(!this._paused&&this._isResolved()){var e=this._takeContinuations();if(o(this._data))return this._handleWhenResolvedDataIsPromise(this._data);var t=this._data,n=this;e.forEach((function(e){if(e.nextFn)try{var r=e.nextFn(t);n._handleUserFunctionResult(r,e.promise)}catch(t){n._handleResolutionError(t,e)}else e.promise&&e.promise.resolve(t)}))}},_handleResolutionError:function(e,t){if(this._setRejected(),t.catchFn)try{return void t.catchFn(e)}catch(t){e=t}t.promise&&t.promise.reject(e)},_handleWhenResolvedDataIsPromise:function(e){var t=this;return e.then((function(e){t._data=e,t._runResolutions()})).catch((function(e){t._error=e,t._setRejected(),t._runRejections()}))},_handleUserFunctionResult:function(e,t){o(e)?this._chainPromiseData(e,t):t.resolve(e)},_chainPromiseData:function(e,t){e.then((function(e){t.resolve(e)})).catch((function(e){t.reject(e)}))},_setResolved:function(){this.status="resolved",this._paused||this._runResolutions()},_setRejected:function(){this.status="rejected",this._paused||this._runRejections()},_isPending:function(){return this.status===A},_isResolved:function(){return"resolved"===this.status},_isRejected:function(){return"rejected"===this.status}},i.resolve=function(e){return new i((function(t,n){o(e)?e.then((function(e){t(e)})).catch((function(e){n(e)})):t(e)}))},i.reject=function(e){return new i((function(t,n){n(e)}))},i.unresolved=function(){return new i((function(e,t){this.resolve=e,this.reject=t}))},i.all=function(){var e=r(arguments);return Array.isArray(e[0])&&(e=e[0]),e.length?new i((function(t,n){var r=[],A=0,o=!1;e.forEach((function(s,a){i.resolve(s).then((function(n){r[a]=n,(A+=1)===e.length&&t(r)})).catch((function(e){!function(e){o||(o=!0,n(e))}(e)}))}))})):i.resolve([])},Promise===i)throw new Error("Please use SynchronousPromise.installGlobally() to install globally");var s=Promise;i.installGlobally=function(e){if(Promise===i)return e;var t=function(e){if(void 0===e||e.__patched)return e;var t=e;return(e=function(){t.apply(this,r(arguments))}).__patched=!0,e}(e);return Promise=i,t},i.uninstallGlobally=function(){Promise===i&&(Promise=s)},e.exports={SynchronousPromise:i}},function(e,t,n){var r=n(142),A=n(355),i=n(356);e.exports=function(e,t){var n={};return t=i(t,3),A(e,(function(e,A,i){r(n,A,t(e,A,i))})),n}},function(e,t,n){var r=n(808),A=n(77);e.exports=function(e,t){return e&&r(e,t,A)}},function(e,t,n){var r=n(810),A=n(821),i=n(825),o=n(36),s=n(826);e.exports=function(e){return"function"==typeof e?e:null==e?i:"object"==typeof e?o(e)?A(e[0],e[1]):r(e):s(e)}},function(e,t,n){var r=n(812),A=n(46);e.exports=function e(t,n,i,o,s){return t===n||(null==t||null==n||!A(t)&&!A(n)?t!=t&&n!=n:r(t,n,i,o,e,s))}},function(e,t,n){var r=n(813),A=n(816),i=n(817),o=1,s=2;e.exports=function(e,t,n,a,c,u){var g=n&o,l=e.length,h=t.length;if(l!=h&&!(g&&h>l))return!1;var p=u.get(e);if(p&&u.get(t))return p==t;var f=-1,C=!0,d=n&s?new r:void 0;for(u.set(e,t),u.set(t,e);++f=n.length)throw new Error("Yup.reach cannot resolve an array item at index: "+A+", in the path: "+t+". because there is no value at that index. ");n=n[h]}}if(!g){if(e=e.resolve({context:r,parent:s,value:n}),!(0,i.default)(e,"fields")||!(0,i.default)(e.fields,l))throw new Error("The schema does not contain the path: "+t+". (failed at: "+c+' which is a type: "'+e._type+'") ');e=e.fields[l],s=n,n=n&&n[l],a=l,c=u?"["+A+"]":"."+A}})),{schema:e,parent:s,parentPath:a}):{parent:s,parentPath:t,schema:e}}var a=function(e,t,n,r){return s(e,t,n,r).schema};t.default=a},function(e,t){e.exports=function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(e,n):{};r.get||r.set?Object.defineProperty(t,n,r):t[n]=e[n]}return t.default=e,t}},function(e,t){e.exports=function(e,t){return t||(t=e.slice(0)),e.raw=t,e}},function(e,t,n){var r=n(836),A=n(837),i=n(840),o=RegExp("['’]","g");e.exports=function(e){return function(t){return r(i(A(t).replace(o,"")),e,"")}}},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r1)this.connection=null;else{var n=this.connection,r=e._connection;this.connection=null,!r||n&&r!==n||r.unsubscribe()}}else this.connection=null},t}(s.Subscriber))},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=function(e){function t(t,n){var r=e.call(this)||this;return r.subject=t,r.subscriber=n,r.closed=!1,r}return A(t,e),t.prototype.unsubscribe=function(){if(!this.closed){this.closed=!0;var e=this.subject,t=e.observers;if(this.subject=null,t&&0!==t.length&&!e.isStopped&&!e.closed){var n=t.indexOf(this.subscriber);-1!==n&&t.splice(n,1)}}},t}(n(14).Subscription);t.SubjectSubscription=i},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(5),o=n(14),s=n(9),a=n(17);t.groupBy=function(e,t,n,r){return function(A){return A.lift(new c(e,t,n,r))}};var c=function(){function e(e,t,n,r){this.keySelector=e,this.elementSelector=t,this.durationSelector=n,this.subjectSelector=r}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.keySelector,this.elementSelector,this.durationSelector,this.subjectSelector))},e}(),u=function(e){function t(t,n,r,A,i){var o=e.call(this,t)||this;return o.keySelector=n,o.elementSelector=r,o.durationSelector=A,o.subjectSelector=i,o.groups=null,o.attemptedToUnsubscribe=!1,o.count=0,o}return A(t,e),t.prototype._next=function(e){var t;try{t=this.keySelector(e)}catch(e){return void this.error(e)}this._group(e,t)},t.prototype._group=function(e,t){var n=this.groups;n||(n=this.groups=new Map);var r,A=n.get(t);if(this.elementSelector)try{r=this.elementSelector(e)}catch(e){this.error(e)}else r=e;if(!A){A=this.subjectSelector?this.subjectSelector():new a.Subject,n.set(t,A);var i=new l(t,A,this);if(this.destination.next(i),this.durationSelector){var o=void 0;try{o=this.durationSelector(new l(t,A))}catch(e){return void this.error(e)}this.add(o.subscribe(new g(t,A,this)))}}A.closed||A.next(r)},t.prototype._error=function(e){var t=this.groups;t&&(t.forEach((function(t,n){t.error(e)})),t.clear()),this.destination.error(e)},t.prototype._complete=function(){var e=this.groups;e&&(e.forEach((function(e,t){e.complete()})),e.clear()),this.destination.complete()},t.prototype.removeGroup=function(e){this.groups.delete(e)},t.prototype.unsubscribe=function(){this.closed||(this.attemptedToUnsubscribe=!0,0===this.count&&e.prototype.unsubscribe.call(this))},t}(i.Subscriber),g=function(e){function t(t,n,r){var A=e.call(this,n)||this;return A.key=t,A.group=n,A.parent=r,A}return A(t,e),t.prototype._next=function(e){this.complete()},t.prototype._unsubscribe=function(){var e=this.parent,t=this.key;this.key=this.parent=null,e&&e.removeGroup(t)},t}(i.Subscriber),l=function(e){function t(t,n,r){var A=e.call(this)||this;return A.key=t,A.groupSubject=n,A.refCountSubscription=r,A}return A(t,e),t.prototype._subscribe=function(e){var t=new o.Subscription,n=this.refCountSubscription,r=this.groupSubject;return n&&!n.closed&&t.add(new h(n)),t.add(r.subscribe(e)),t},t}(s.Observable);t.GroupedObservable=l;var h=function(e){function t(t){var n=e.call(this)||this;return n.parent=t,t.count++,n}return A(t,e),t.prototype.unsubscribe=function(){var t=this.parent;t.closed||this.closed||(e.prototype.unsubscribe.call(this),t.count-=1,0===t.count&&t.attemptedToUnsubscribe&&t.unsubscribe())},t}(o.Subscription)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(17),o=n(152),s=function(e){function t(t){var n=e.call(this)||this;return n._value=t,n}return A(t,e),Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),t.prototype._subscribe=function(t){var n=e.prototype._subscribe.call(this,t);return n&&!n.closed&&t.next(this._value),n},t.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new o.ObjectUnsubscribedError;return this._value},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(i.Subject);t.BehaviorSubject=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(867),A=n(869);t.queue=new A.QueueScheduler(r.QueueAction)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function e(t,n){void 0===n&&(n=e.now),this.SchedulerAction=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.SchedulerAction(this,e).schedule(n,t)},e.now=function(){return Date.now()},e}();t.Scheduler=r},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(5),o=n(153);t.observeOn=function(e,t){return void 0===t&&(t=0),function(n){return n.lift(new s(e,t))}};var s=function(){function e(e,t){void 0===t&&(t=0),this.scheduler=e,this.delay=t}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.scheduler,this.delay))},e}();t.ObserveOnOperator=s;var a=function(e){function t(t,n,r){void 0===r&&(r=0);var A=e.call(this,t)||this;return A.scheduler=n,A.delay=r,A}return A(t,e),t.dispatch=function(e){var t=e.notification,n=e.destination;t.observe(n),this.unsubscribe()},t.prototype.scheduleMessage=function(e){this.destination.add(this.scheduler.schedule(t.dispatch,this.delay,new c(e,this.destination)))},t.prototype._next=function(e){this.scheduleMessage(o.Notification.createNext(e))},t.prototype._error=function(e){this.scheduleMessage(o.Notification.createError(e)),this.unsubscribe()},t.prototype._complete=function(){this.scheduleMessage(o.Notification.createComplete()),this.unsubscribe()},t}(i.Subscriber);t.ObserveOnSubscriber=a;var c=function(e,t){this.notification=e,this.destination=t};t.ObserveOnMessage=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.subscribeToArray=function(e){return function(t){for(var n=0,r=e.length;n1&&"number"==typeof e[e.length-1]&&(n=e.pop())):"number"==typeof a&&(n=e.pop()),null===s&&1===e.length&&e[0]instanceof r.Observable?e[0]:i.mergeAll(n)(o.fromArray(e,s))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(9),A=n(151);t.NEVER=new r.Observable(A.noop),t.never=function(){return t.NEVER}},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(22),o=n(47),s=n(10),a=n(11);t.race=function(){for(var e=[],t=0;t{const t=e||process.stderr;t.isTTY&&(A=!1,t.write("[?25h"))},t.hide=e=>{const t=e||process.stderr;t.isTTY&&(r(),A=!0,t.write("[?25l"))},t.toggle=(e,n)=>{void 0!==e&&(A=e),A?t.show(n):t.hide(n)}},function(e,t,n){"use strict";var r=n(25),{map:A,takeUntil:i}=n(39),o=n(49),s=n(50);e.exports=class extends o{_run(e){this.done=e;var t=s(this.rl),n=t.line.pipe(A(this.filterInput.bind(this))),r=this.handleSubmitEvents(n);return r.success.forEach(this.onEnd.bind(this)),r.error.forEach(this.onError.bind(this)),t.keypress.pipe(i(r.success)).forEach(this.onKeypress.bind(this)),this.render(),this}render(e){var t="",n="",A=this.getQuestion(),i=this.opt.transformer,o="answered"===this.status;n=o?this.answer:this.rl.line,A+=i?i(n,this.answers,{isFinal:o}):o?r.cyan(n):n,e&&(t=r.red(">> ")+e),this.screen.render(A,t)}filterInput(e){return e||(null==this.opt.default?"":this.opt.default)}onEnd(e){this.answer=e.value,this.status="answered",this.render(),this.screen.done(),this.done(e.value)}onError(e){this.render(e.isValid)}onKeypress(){this.opt.default&&(this.opt.default=void 0),this.render()}}},function(e){e.exports=JSON.parse('[["a140","",62],["a180","",32],["a240","",62],["a280","",32],["a2ab","",5],["a2e3","€"],["a2ef",""],["a2fd",""],["a340","",62],["a380","",31," "],["a440","",62],["a480","",32],["a4f4","",10],["a540","",62],["a580","",32],["a5f7","",7],["a640","",62],["a680","",32],["a6b9","",7],["a6d9","",6],["a6ec",""],["a6f3",""],["a6f6","",8],["a740","",62],["a780","",32],["a7c2","",14],["a7f2","",12],["a896","",10],["a8bc",""],["a8bf","ǹ"],["a8c1",""],["a8ea","",20],["a958",""],["a95b",""],["a95d",""],["a989","〾⿰",11],["a997","",12],["a9f0","",14],["aaa1","",93],["aba1","",93],["aca1","",93],["ada1","",93],["aea1","",93],["afa1","",93],["d7fa","",4],["f8a1","",93],["f9a1","",93],["faa1","",93],["fba1","",93],["fca1","",93],["fda1","",93],["fe50","⺁⺄㑳㑇⺈⺋㖞㘚㘎⺌⺗㥮㤘㧏㧟㩳㧐㭎㱮㳠⺧⺪䁖䅟⺮䌷⺳⺶⺷䎱䎬⺻䏝䓖䙡䙌"],["fe80","䜣䜩䝼䞍⻊䥇䥺䥽䦂䦃䦅䦆䦟䦛䦷䦶䲣䲟䲠䲡䱷䲢䴓",6,"䶮",93]]')},function(e){e.exports=JSON.parse('[["0","\\u0000",127],["a140"," ,、。.‧;:?!︰…‥﹐﹑﹒·﹔﹕﹖﹗|–︱—︳╴︴﹏()︵︶{}︷︸〔〕︹︺【】︻︼《》︽︾〈〉︿﹀「」﹁﹂『』﹃﹄﹙﹚"],["a1a1","﹛﹜﹝﹞‘’“”〝〞‵′#&*※§〃○●△▲◎☆★◇◆□■▽▼㊣℅¯ ̄_ˍ﹉﹊﹍﹎﹋﹌﹟﹠﹡+-×÷±√<>=≦≧≠∞≒≡﹢",4,"~∩∪⊥∠∟⊿㏒㏑∫∮∵∴♀♂⊕⊙↑↓←→↖↗↙↘∥∣/"],["a240","\∕﹨$¥〒¢£%@℃℉﹩﹪﹫㏕㎜㎝㎞㏎㎡㎎㎏㏄°兙兛兞兝兡兣嗧瓩糎▁",7,"▏▎▍▌▋▊▉┼┴┬┤├▔─│▕┌┐└┘╭"],["a2a1","╮╰╯═╞╪╡◢◣◥◤╱╲╳0",9,"Ⅰ",9,"〡",8,"十卄卅A",25,"a",21],["a340","wxyzΑ",16,"Σ",6,"α",16,"σ",6,"ㄅ",10],["a3a1","ㄐ",25,"˙ˉˊˇˋ"],["a3e1","€"],["a440","一乙丁七乃九了二人儿入八几刀刁力匕十卜又三下丈上丫丸凡久么也乞于亡兀刃勺千叉口土士夕大女子孑孓寸小尢尸山川工己已巳巾干廾弋弓才"],["a4a1","丑丐不中丰丹之尹予云井互五亢仁什仃仆仇仍今介仄元允內六兮公冗凶分切刈勻勾勿化匹午升卅卞厄友及反壬天夫太夭孔少尤尺屯巴幻廿弔引心戈戶手扎支文斗斤方日曰月木欠止歹毋比毛氏水火爪父爻片牙牛犬王丙"],["a540","世丕且丘主乍乏乎以付仔仕他仗代令仙仞充兄冉冊冬凹出凸刊加功包匆北匝仟半卉卡占卯卮去可古右召叮叩叨叼司叵叫另只史叱台句叭叻四囚外"],["a5a1","央失奴奶孕它尼巨巧左市布平幼弁弘弗必戊打扔扒扑斥旦朮本未末札正母民氐永汁汀氾犯玄玉瓜瓦甘生用甩田由甲申疋白皮皿目矛矢石示禾穴立丞丟乒乓乩亙交亦亥仿伉伙伊伕伍伐休伏仲件任仰仳份企伋光兇兆先全"],["a640","共再冰列刑划刎刖劣匈匡匠印危吉吏同吊吐吁吋各向名合吃后吆吒因回囝圳地在圭圬圯圩夙多夷夸妄奸妃好她如妁字存宇守宅安寺尖屹州帆并年"],["a6a1","式弛忙忖戎戌戍成扣扛托收早旨旬旭曲曳有朽朴朱朵次此死氖汝汗汙江池汐汕污汛汍汎灰牟牝百竹米糸缶羊羽老考而耒耳聿肉肋肌臣自至臼舌舛舟艮色艾虫血行衣西阡串亨位住佇佗佞伴佛何估佐佑伽伺伸佃佔似但佣"],["a740","作你伯低伶余佝佈佚兌克免兵冶冷別判利刪刨劫助努劬匣即卵吝吭吞吾否呎吧呆呃吳呈呂君吩告吹吻吸吮吵吶吠吼呀吱含吟听囪困囤囫坊坑址坍"],["a7a1","均坎圾坐坏圻壯夾妝妒妨妞妣妙妖妍妤妓妊妥孝孜孚孛完宋宏尬局屁尿尾岐岑岔岌巫希序庇床廷弄弟彤形彷役忘忌志忍忱快忸忪戒我抄抗抖技扶抉扭把扼找批扳抒扯折扮投抓抑抆改攻攸旱更束李杏材村杜杖杞杉杆杠"],["a840","杓杗步每求汞沙沁沈沉沅沛汪決沐汰沌汨沖沒汽沃汲汾汴沆汶沍沔沘沂灶灼災灸牢牡牠狄狂玖甬甫男甸皂盯矣私秀禿究系罕肖肓肝肘肛肚育良芒"],["a8a1","芋芍見角言谷豆豕貝赤走足身車辛辰迂迆迅迄巡邑邢邪邦那酉釆里防阮阱阪阬並乖乳事些亞享京佯依侍佳使佬供例來侃佰併侈佩佻侖佾侏侑佺兔兒兕兩具其典冽函刻券刷刺到刮制剁劾劻卒協卓卑卦卷卸卹取叔受味呵"],["a940","咖呸咕咀呻呷咄咒咆呼咐呱呶和咚呢周咋命咎固垃坷坪坩坡坦坤坼夜奉奇奈奄奔妾妻委妹妮姑姆姐姍始姓姊妯妳姒姅孟孤季宗定官宜宙宛尚屈居"],["a9a1","屆岷岡岸岩岫岱岳帘帚帖帕帛帑幸庚店府底庖延弦弧弩往征彿彼忝忠忽念忿怏怔怯怵怖怪怕怡性怩怫怛或戕房戾所承拉拌拄抿拂抹拒招披拓拔拋拈抨抽押拐拙拇拍抵拚抱拘拖拗拆抬拎放斧於旺昔易昌昆昂明昀昏昕昊"],["aa40","昇服朋杭枋枕東果杳杷枇枝林杯杰板枉松析杵枚枓杼杪杲欣武歧歿氓氛泣注泳沱泌泥河沽沾沼波沫法泓沸泄油況沮泗泅泱沿治泡泛泊沬泯泜泖泠"],["aaa1","炕炎炒炊炙爬爭爸版牧物狀狎狙狗狐玩玨玟玫玥甽疝疙疚的盂盲直知矽社祀祁秉秈空穹竺糾罔羌羋者肺肥肢肱股肫肩肴肪肯臥臾舍芳芝芙芭芽芟芹花芬芥芯芸芣芰芾芷虎虱初表軋迎返近邵邸邱邶采金長門阜陀阿阻附"],["ab40","陂隹雨青非亟亭亮信侵侯便俠俑俏保促侶俘俟俊俗侮俐俄係俚俎俞侷兗冒冑冠剎剃削前剌剋則勇勉勃勁匍南卻厚叛咬哀咨哎哉咸咦咳哇哂咽咪品"],["aba1","哄哈咯咫咱咻咩咧咿囿垂型垠垣垢城垮垓奕契奏奎奐姜姘姿姣姨娃姥姪姚姦威姻孩宣宦室客宥封屎屏屍屋峙峒巷帝帥帟幽庠度建弈弭彥很待徊律徇後徉怒思怠急怎怨恍恰恨恢恆恃恬恫恪恤扁拜挖按拼拭持拮拽指拱拷"],["ac40","拯括拾拴挑挂政故斫施既春昭映昧是星昨昱昤曷柿染柱柔某柬架枯柵柩柯柄柑枴柚查枸柏柞柳枰柙柢柝柒歪殃殆段毒毗氟泉洋洲洪流津洌洱洞洗"],["aca1","活洽派洶洛泵洹洧洸洩洮洵洎洫炫為炳炬炯炭炸炮炤爰牲牯牴狩狠狡玷珊玻玲珍珀玳甚甭畏界畎畋疫疤疥疢疣癸皆皇皈盈盆盃盅省盹相眉看盾盼眇矜砂研砌砍祆祉祈祇禹禺科秒秋穿突竿竽籽紂紅紀紉紇約紆缸美羿耄"],["ad40","耐耍耑耶胖胥胚胃胄背胡胛胎胞胤胝致舢苧范茅苣苛苦茄若茂茉苒苗英茁苜苔苑苞苓苟苯茆虐虹虻虺衍衫要觔計訂訃貞負赴赳趴軍軌述迦迢迪迥"],["ada1","迭迫迤迨郊郎郁郃酋酊重閂限陋陌降面革韋韭音頁風飛食首香乘亳倌倍倣俯倦倥俸倩倖倆值借倚倒們俺倀倔倨俱倡個候倘俳修倭倪俾倫倉兼冤冥冢凍凌准凋剖剜剔剛剝匪卿原厝叟哨唐唁唷哼哥哲唆哺唔哩哭員唉哮哪"],["ae40","哦唧唇哽唏圃圄埂埔埋埃堉夏套奘奚娑娘娜娟娛娓姬娠娣娩娥娌娉孫屘宰害家宴宮宵容宸射屑展屐峭峽峻峪峨峰島崁峴差席師庫庭座弱徒徑徐恙"],["aea1","恣恥恐恕恭恩息悄悟悚悍悔悌悅悖扇拳挈拿捎挾振捕捂捆捏捉挺捐挽挪挫挨捍捌效敉料旁旅時晉晏晃晒晌晅晁書朔朕朗校核案框桓根桂桔栩梳栗桌桑栽柴桐桀格桃株桅栓栘桁殊殉殷氣氧氨氦氤泰浪涕消涇浦浸海浙涓"],["af40","浬涉浮浚浴浩涌涊浹涅浥涔烊烘烤烙烈烏爹特狼狹狽狸狷玆班琉珮珠珪珞畔畝畜畚留疾病症疲疳疽疼疹痂疸皋皰益盍盎眩真眠眨矩砰砧砸砝破砷"],["afa1","砥砭砠砟砲祕祐祠祟祖神祝祗祚秤秣秧租秦秩秘窄窈站笆笑粉紡紗紋紊素索純紐紕級紜納紙紛缺罟羔翅翁耆耘耕耙耗耽耿胱脂胰脅胭胴脆胸胳脈能脊胼胯臭臬舀舐航舫舨般芻茫荒荔荊茸荐草茵茴荏茲茹茶茗荀茱茨荃"],["b040","虔蚊蚪蚓蚤蚩蚌蚣蚜衰衷袁袂衽衹記訐討訌訕訊託訓訖訏訑豈豺豹財貢起躬軒軔軏辱送逆迷退迺迴逃追逅迸邕郡郝郢酒配酌釘針釗釜釙閃院陣陡"],["b0a1","陛陝除陘陞隻飢馬骨高鬥鬲鬼乾偺偽停假偃偌做偉健偶偎偕偵側偷偏倏偯偭兜冕凰剪副勒務勘動匐匏匙匿區匾參曼商啪啦啄啞啡啃啊唱啖問啕唯啤唸售啜唬啣唳啁啗圈國圉域堅堊堆埠埤基堂堵執培夠奢娶婁婉婦婪婀"],["b140","娼婢婚婆婊孰寇寅寄寂宿密尉專將屠屜屝崇崆崎崛崖崢崑崩崔崙崤崧崗巢常帶帳帷康庸庶庵庾張強彗彬彩彫得徙從徘御徠徜恿患悉悠您惋悴惦悽"],["b1a1","情悻悵惜悼惘惕惆惟悸惚惇戚戛扈掠控捲掖探接捷捧掘措捱掩掉掃掛捫推掄授掙採掬排掏掀捻捩捨捺敝敖救教敗啟敏敘敕敔斜斛斬族旋旌旎晝晚晤晨晦晞曹勗望梁梯梢梓梵桿桶梱梧梗械梃棄梭梆梅梔條梨梟梡梂欲殺"],["b240","毫毬氫涎涼淳淙液淡淌淤添淺清淇淋涯淑涮淞淹涸混淵淅淒渚涵淚淫淘淪深淮淨淆淄涪淬涿淦烹焉焊烽烯爽牽犁猜猛猖猓猙率琅琊球理現琍瓠瓶"],["b2a1","瓷甜產略畦畢異疏痔痕疵痊痍皎盔盒盛眷眾眼眶眸眺硫硃硎祥票祭移窒窕笠笨笛第符笙笞笮粒粗粕絆絃統紮紹紼絀細紳組累終紲紱缽羞羚翌翎習耜聊聆脯脖脣脫脩脰脤舂舵舷舶船莎莞莘荸莢莖莽莫莒莊莓莉莠荷荻荼"],["b340","莆莧處彪蛇蛀蚶蛄蚵蛆蛋蚱蚯蛉術袞袈被袒袖袍袋覓規訪訝訣訥許設訟訛訢豉豚販責貫貨貪貧赧赦趾趺軛軟這逍通逗連速逝逐逕逞造透逢逖逛途"],["b3a1","部郭都酗野釵釦釣釧釭釩閉陪陵陳陸陰陴陶陷陬雀雪雩章竟頂頃魚鳥鹵鹿麥麻傢傍傅備傑傀傖傘傚最凱割剴創剩勞勝勛博厥啻喀喧啼喊喝喘喂喜喪喔喇喋喃喳單喟唾喲喚喻喬喱啾喉喫喙圍堯堪場堤堰報堡堝堠壹壺奠"],["b440","婷媚婿媒媛媧孳孱寒富寓寐尊尋就嵌嵐崴嵇巽幅帽幀幃幾廊廁廂廄弼彭復循徨惑惡悲悶惠愜愣惺愕惰惻惴慨惱愎惶愉愀愒戟扉掣掌描揀揩揉揆揍"],["b4a1","插揣提握揖揭揮捶援揪換摒揚揹敞敦敢散斑斐斯普晰晴晶景暑智晾晷曾替期朝棺棕棠棘棗椅棟棵森棧棹棒棲棣棋棍植椒椎棉棚楮棻款欺欽殘殖殼毯氮氯氬港游湔渡渲湧湊渠渥渣減湛湘渤湖湮渭渦湯渴湍渺測湃渝渾滋"],["b540","溉渙湎湣湄湲湩湟焙焚焦焰無然煮焜牌犄犀猶猥猴猩琺琪琳琢琥琵琶琴琯琛琦琨甥甦畫番痢痛痣痙痘痞痠登發皖皓皴盜睏短硝硬硯稍稈程稅稀窘"],["b5a1","窗窖童竣等策筆筐筒答筍筋筏筑粟粥絞結絨絕紫絮絲絡給絢絰絳善翔翕耋聒肅腕腔腋腑腎脹腆脾腌腓腴舒舜菩萃菸萍菠菅萋菁華菱菴著萊菰萌菌菽菲菊萸萎萄菜萇菔菟虛蛟蛙蛭蛔蛛蛤蛐蛞街裁裂袱覃視註詠評詞証詁"],["b640","詔詛詐詆訴診訶詖象貂貯貼貳貽賁費賀貴買貶貿貸越超趁跎距跋跚跑跌跛跆軻軸軼辜逮逵週逸進逶鄂郵鄉郾酣酥量鈔鈕鈣鈉鈞鈍鈐鈇鈑閔閏開閑"],["b6a1","間閒閎隊階隋陽隅隆隍陲隄雁雅雄集雇雯雲韌項順須飧飪飯飩飲飭馮馭黃黍黑亂傭債傲傳僅傾催傷傻傯僇剿剷剽募勦勤勢勣匯嗟嗨嗓嗦嗎嗜嗇嗑嗣嗤嗯嗚嗡嗅嗆嗥嗉園圓塞塑塘塗塚塔填塌塭塊塢塒塋奧嫁嫉嫌媾媽媼"],["b740","媳嫂媲嵩嵯幌幹廉廈弒彙徬微愚意慈感想愛惹愁愈慎慌慄慍愾愴愧愍愆愷戡戢搓搾搞搪搭搽搬搏搜搔損搶搖搗搆敬斟新暗暉暇暈暖暄暘暍會榔業"],["b7a1","楚楷楠楔極椰概楊楨楫楞楓楹榆楝楣楛歇歲毀殿毓毽溢溯滓溶滂源溝滇滅溥溘溼溺溫滑準溜滄滔溪溧溴煎煙煩煤煉照煜煬煦煌煥煞煆煨煖爺牒猷獅猿猾瑯瑚瑕瑟瑞瑁琿瑙瑛瑜當畸瘀痰瘁痲痱痺痿痴痳盞盟睛睫睦睞督"],["b840","睹睪睬睜睥睨睢矮碎碰碗碘碌碉硼碑碓硿祺祿禁萬禽稜稚稠稔稟稞窟窠筷節筠筮筧粱粳粵經絹綑綁綏絛置罩罪署義羨群聖聘肆肄腱腰腸腥腮腳腫"],["b8a1","腹腺腦舅艇蒂葷落萱葵葦葫葉葬葛萼萵葡董葩葭葆虞虜號蛹蜓蜈蜇蜀蛾蛻蜂蜃蜆蜊衙裟裔裙補裘裝裡裊裕裒覜解詫該詳試詩詰誇詼詣誠話誅詭詢詮詬詹詻訾詨豢貊貉賊資賈賄貲賃賂賅跡跟跨路跳跺跪跤跦躲較載軾輊"],["b940","辟農運遊道遂達逼違遐遇遏過遍遑逾遁鄒鄗酬酪酩釉鈷鉗鈸鈽鉀鈾鉛鉋鉤鉑鈴鉉鉍鉅鈹鈿鉚閘隘隔隕雍雋雉雊雷電雹零靖靴靶預頑頓頊頒頌飼飴"],["b9a1","飽飾馳馱馴髡鳩麂鼎鼓鼠僧僮僥僖僭僚僕像僑僱僎僩兢凳劃劂匱厭嗾嘀嘛嘗嗽嘔嘆嘉嘍嘎嗷嘖嘟嘈嘐嗶團圖塵塾境墓墊塹墅塽壽夥夢夤奪奩嫡嫦嫩嫗嫖嫘嫣孵寞寧寡寥實寨寢寤察對屢嶄嶇幛幣幕幗幔廓廖弊彆彰徹慇"],["ba40","愿態慷慢慣慟慚慘慵截撇摘摔撤摸摟摺摑摧搴摭摻敲斡旗旖暢暨暝榜榨榕槁榮槓構榛榷榻榫榴槐槍榭槌榦槃榣歉歌氳漳演滾漓滴漩漾漠漬漏漂漢"],["baa1","滿滯漆漱漸漲漣漕漫漯澈漪滬漁滲滌滷熔熙煽熊熄熒爾犒犖獄獐瑤瑣瑪瑰瑭甄疑瘧瘍瘋瘉瘓盡監瞄睽睿睡磁碟碧碳碩碣禎福禍種稱窪窩竭端管箕箋筵算箝箔箏箸箇箄粹粽精綻綰綜綽綾綠緊綴網綱綺綢綿綵綸維緒緇綬"],["bb40","罰翠翡翟聞聚肇腐膀膏膈膊腿膂臧臺與舔舞艋蓉蒿蓆蓄蒙蒞蒲蒜蓋蒸蓀蓓蒐蒼蓑蓊蜿蜜蜻蜢蜥蜴蜘蝕蜷蜩裳褂裴裹裸製裨褚裯誦誌語誣認誡誓誤"],["bba1","說誥誨誘誑誚誧豪貍貌賓賑賒赫趙趕跼輔輒輕輓辣遠遘遜遣遙遞遢遝遛鄙鄘鄞酵酸酷酴鉸銀銅銘銖鉻銓銜銨鉼銑閡閨閩閣閥閤隙障際雌雒需靼鞅韶頗領颯颱餃餅餌餉駁骯骰髦魁魂鳴鳶鳳麼鼻齊億儀僻僵價儂儈儉儅凜"],["bc40","劇劈劉劍劊勰厲嘮嘻嘹嘲嘿嘴嘩噓噎噗噴嘶嘯嘰墀墟增墳墜墮墩墦奭嬉嫻嬋嫵嬌嬈寮寬審寫層履嶝嶔幢幟幡廢廚廟廝廣廠彈影德徵慶慧慮慝慕憂"],["bca1","慼慰慫慾憧憐憫憎憬憚憤憔憮戮摩摯摹撞撲撈撐撰撥撓撕撩撒撮播撫撚撬撙撢撳敵敷數暮暫暴暱樣樟槨樁樞標槽模樓樊槳樂樅槭樑歐歎殤毅毆漿潼澄潑潦潔澆潭潛潸潮澎潺潰潤澗潘滕潯潠潟熟熬熱熨牖犛獎獗瑩璋璃"],["bd40","瑾璀畿瘠瘩瘟瘤瘦瘡瘢皚皺盤瞎瞇瞌瞑瞋磋磅確磊碾磕碼磐稿稼穀稽稷稻窯窮箭箱範箴篆篇篁箠篌糊締練緯緻緘緬緝編緣線緞緩綞緙緲緹罵罷羯"],["bda1","翩耦膛膜膝膠膚膘蔗蔽蔚蓮蔬蔭蔓蔑蔣蔡蔔蓬蔥蓿蔆螂蝴蝶蝠蝦蝸蝨蝙蝗蝌蝓衛衝褐複褒褓褕褊誼諒談諄誕請諸課諉諂調誰論諍誶誹諛豌豎豬賠賞賦賤賬賭賢賣賜質賡赭趟趣踫踐踝踢踏踩踟踡踞躺輝輛輟輩輦輪輜輞"],["be40","輥適遮遨遭遷鄰鄭鄧鄱醇醉醋醃鋅銻銷鋪銬鋤鋁銳銼鋒鋇鋰銲閭閱霄霆震霉靠鞍鞋鞏頡頫頜颳養餓餒餘駝駐駟駛駑駕駒駙骷髮髯鬧魅魄魷魯鴆鴉"],["bea1","鴃麩麾黎墨齒儒儘儔儐儕冀冪凝劑劓勳噙噫噹噩噤噸噪器噥噱噯噬噢噶壁墾壇壅奮嬝嬴學寰導彊憲憑憩憊懍憶憾懊懈戰擅擁擋撻撼據擄擇擂操撿擒擔撾整曆曉暹曄曇暸樽樸樺橙橫橘樹橄橢橡橋橇樵機橈歙歷氅濂澱澡"],["bf40","濃澤濁澧澳激澹澶澦澠澴熾燉燐燒燈燕熹燎燙燜燃燄獨璜璣璘璟璞瓢甌甍瘴瘸瘺盧盥瞠瞞瞟瞥磨磚磬磧禦積穎穆穌穋窺篙簑築篤篛篡篩篦糕糖縊"],["bfa1","縑縈縛縣縞縝縉縐罹羲翰翱翮耨膳膩膨臻興艘艙蕊蕙蕈蕨蕩蕃蕉蕭蕪蕞螃螟螞螢融衡褪褲褥褫褡親覦諦諺諫諱謀諜諧諮諾謁謂諷諭諳諶諼豫豭貓賴蹄踱踴蹂踹踵輻輯輸輳辨辦遵遴選遲遼遺鄴醒錠錶鋸錳錯錢鋼錫錄錚"],["c040","錐錦錡錕錮錙閻隧隨險雕霎霑霖霍霓霏靛靜靦鞘頰頸頻頷頭頹頤餐館餞餛餡餚駭駢駱骸骼髻髭鬨鮑鴕鴣鴦鴨鴒鴛默黔龍龜優償儡儲勵嚎嚀嚐嚅嚇"],["c0a1","嚏壕壓壑壎嬰嬪嬤孺尷屨嶼嶺嶽嶸幫彌徽應懂懇懦懋戲戴擎擊擘擠擰擦擬擱擢擭斂斃曙曖檀檔檄檢檜櫛檣橾檗檐檠歜殮毚氈濘濱濟濠濛濤濫濯澀濬濡濩濕濮濰燧營燮燦燥燭燬燴燠爵牆獰獲璩環璦璨癆療癌盪瞳瞪瞰瞬"],["c140","瞧瞭矯磷磺磴磯礁禧禪穗窿簇簍篾篷簌篠糠糜糞糢糟糙糝縮績繆縷縲繃縫總縱繅繁縴縹繈縵縿縯罄翳翼聱聲聰聯聳臆臃膺臂臀膿膽臉膾臨舉艱薪"],["c1a1","薄蕾薜薑薔薯薛薇薨薊虧蟀蟑螳蟒蟆螫螻螺蟈蟋褻褶襄褸褽覬謎謗謙講謊謠謝謄謐豁谿豳賺賽購賸賻趨蹉蹋蹈蹊轄輾轂轅輿避遽還邁邂邀鄹醣醞醜鍍鎂錨鍵鍊鍥鍋錘鍾鍬鍛鍰鍚鍔闊闋闌闈闆隱隸雖霜霞鞠韓顆颶餵騁"],["c240","駿鮮鮫鮪鮭鴻鴿麋黏點黜黝黛鼾齋叢嚕嚮壙壘嬸彝懣戳擴擲擾攆擺擻擷斷曜朦檳檬櫃檻檸櫂檮檯歟歸殯瀉瀋濾瀆濺瀑瀏燻燼燾燸獷獵璧璿甕癖癘"],["c2a1","癒瞽瞿瞻瞼礎禮穡穢穠竄竅簫簧簪簞簣簡糧織繕繞繚繡繒繙罈翹翻職聶臍臏舊藏薩藍藐藉薰薺薹薦蟯蟬蟲蟠覆覲觴謨謹謬謫豐贅蹙蹣蹦蹤蹟蹕軀轉轍邇邃邈醫醬釐鎔鎊鎖鎢鎳鎮鎬鎰鎘鎚鎗闔闖闐闕離雜雙雛雞霤鞣鞦"],["c340","鞭韹額顏題顎顓颺餾餿餽餮馥騎髁鬃鬆魏魎魍鯊鯉鯽鯈鯀鵑鵝鵠黠鼕鼬儳嚥壞壟壢寵龐廬懲懷懶懵攀攏曠曝櫥櫝櫚櫓瀛瀟瀨瀚瀝瀕瀘爆爍牘犢獸"],["c3a1","獺璽瓊瓣疇疆癟癡矇礙禱穫穩簾簿簸簽簷籀繫繭繹繩繪羅繳羶羹羸臘藩藝藪藕藤藥藷蟻蠅蠍蟹蟾襠襟襖襞譁譜識證譚譎譏譆譙贈贊蹼蹲躇蹶蹬蹺蹴轔轎辭邊邋醱醮鏡鏑鏟鏃鏈鏜鏝鏖鏢鏍鏘鏤鏗鏨關隴難霪霧靡韜韻類"],["c440","願顛颼饅饉騖騙鬍鯨鯧鯖鯛鶉鵡鵲鵪鵬麒麗麓麴勸嚨嚷嚶嚴嚼壤孀孃孽寶巉懸懺攘攔攙曦朧櫬瀾瀰瀲爐獻瓏癢癥礦礪礬礫竇競籌籃籍糯糰辮繽繼"],["c4a1","纂罌耀臚艦藻藹蘑藺蘆蘋蘇蘊蠔蠕襤覺觸議譬警譯譟譫贏贍躉躁躅躂醴釋鐘鐃鏽闡霰飄饒饑馨騫騰騷騵鰓鰍鹹麵黨鼯齟齣齡儷儸囁囀囂夔屬巍懼懾攝攜斕曩櫻欄櫺殲灌爛犧瓖瓔癩矓籐纏續羼蘗蘭蘚蠣蠢蠡蠟襪襬覽譴"],["c540","護譽贓躊躍躋轟辯醺鐮鐳鐵鐺鐸鐲鐫闢霸霹露響顧顥饗驅驃驀騾髏魔魑鰭鰥鶯鶴鷂鶸麝黯鼙齜齦齧儼儻囈囊囉孿巔巒彎懿攤權歡灑灘玀瓤疊癮癬"],["c5a1","禳籠籟聾聽臟襲襯觼讀贖贗躑躓轡酈鑄鑑鑒霽霾韃韁顫饕驕驍髒鬚鱉鰱鰾鰻鷓鷗鼴齬齪龔囌巖戀攣攫攪曬欐瓚竊籤籣籥纓纖纔臢蘸蘿蠱變邐邏鑣鑠鑤靨顯饜驚驛驗髓體髑鱔鱗鱖鷥麟黴囑壩攬灞癱癲矗罐羈蠶蠹衢讓讒"],["c640","讖艷贛釀鑪靂靈靄韆顰驟鬢魘鱟鷹鷺鹼鹽鼇齷齲廳欖灣籬籮蠻觀躡釁鑲鑰顱饞髖鬣黌灤矚讚鑷韉驢驥纜讜躪釅鑽鑾鑼鱷鱸黷豔鑿鸚爨驪鬱鸛鸞籲"],["c940","乂乜凵匚厂万丌乇亍囗兀屮彳丏冇与丮亓仂仉仈冘勼卬厹圠夃夬尐巿旡殳毌气爿丱丼仨仜仩仡仝仚刌匜卌圢圣夗夯宁宄尒尻屴屳帄庀庂忉戉扐氕"],["c9a1","氶汃氿氻犮犰玊禸肊阞伎优伬仵伔仱伀价伈伝伂伅伢伓伄仴伒冱刓刉刐劦匢匟卍厊吇囡囟圮圪圴夼妀奼妅奻奾奷奿孖尕尥屼屺屻屾巟幵庄异弚彴忕忔忏扜扞扤扡扦扢扙扠扚扥旯旮朾朹朸朻机朿朼朳氘汆汒汜汏汊汔汋"],["ca40","汌灱牞犴犵玎甪癿穵网艸艼芀艽艿虍襾邙邗邘邛邔阢阤阠阣佖伻佢佉体佤伾佧佒佟佁佘伭伳伿佡冏冹刜刞刡劭劮匉卣卲厎厏吰吷吪呔呅吙吜吥吘"],["caa1","吽呏呁吨吤呇囮囧囥坁坅坌坉坋坒夆奀妦妘妠妗妎妢妐妏妧妡宎宒尨尪岍岏岈岋岉岒岊岆岓岕巠帊帎庋庉庌庈庍弅弝彸彶忒忑忐忭忨忮忳忡忤忣忺忯忷忻怀忴戺抃抌抎抏抔抇扱扻扺扰抁抈扷扽扲扴攷旰旴旳旲旵杅杇"],["cb40","杙杕杌杈杝杍杚杋毐氙氚汸汧汫沄沋沏汱汯汩沚汭沇沕沜汦汳汥汻沎灴灺牣犿犽狃狆狁犺狅玕玗玓玔玒町甹疔疕皁礽耴肕肙肐肒肜芐芏芅芎芑芓"],["cba1","芊芃芄豸迉辿邟邡邥邞邧邠阰阨阯阭丳侘佼侅佽侀侇佶佴侉侄佷佌侗佪侚佹侁佸侐侜侔侞侒侂侕佫佮冞冼冾刵刲刳剆刱劼匊匋匼厒厔咇呿咁咑咂咈呫呺呾呥呬呴呦咍呯呡呠咘呣呧呤囷囹坯坲坭坫坱坰坶垀坵坻坳坴坢"],["cc40","坨坽夌奅妵妺姏姎妲姌姁妶妼姃姖妱妽姀姈妴姇孢孥宓宕屄屇岮岤岠岵岯岨岬岟岣岭岢岪岧岝岥岶岰岦帗帔帙弨弢弣弤彔徂彾彽忞忥怭怦怙怲怋"],["cca1","怴怊怗怳怚怞怬怢怍怐怮怓怑怌怉怜戔戽抭抴拑抾抪抶拊抮抳抯抻抩抰抸攽斨斻昉旼昄昒昈旻昃昋昍昅旽昑昐曶朊枅杬枎枒杶杻枘枆构杴枍枌杺枟枑枙枃杽极杸杹枔欥殀歾毞氝沓泬泫泮泙沶泔沭泧沷泐泂沺泃泆泭泲"],["cd40","泒泝沴沊沝沀泞泀洰泍泇沰泹泏泩泑炔炘炅炓炆炄炑炖炂炚炃牪狖狋狘狉狜狒狔狚狌狑玤玡玭玦玢玠玬玝瓝瓨甿畀甾疌疘皯盳盱盰盵矸矼矹矻矺"],["cda1","矷祂礿秅穸穻竻籵糽耵肏肮肣肸肵肭舠芠苀芫芚芘芛芵芧芮芼芞芺芴芨芡芩苂芤苃芶芢虰虯虭虮豖迒迋迓迍迖迕迗邲邴邯邳邰阹阽阼阺陃俍俅俓侲俉俋俁俔俜俙侻侳俛俇俖侺俀侹俬剄剉勀勂匽卼厗厖厙厘咺咡咭咥哏"],["ce40","哃茍咷咮哖咶哅哆咠呰咼咢咾呲哞咰垵垞垟垤垌垗垝垛垔垘垏垙垥垚垕壴复奓姡姞姮娀姱姝姺姽姼姶姤姲姷姛姩姳姵姠姾姴姭宨屌峐峘峌峗峋峛"],["cea1","峞峚峉峇峊峖峓峔峏峈峆峎峟峸巹帡帢帣帠帤庰庤庢庛庣庥弇弮彖徆怷怹恔恲恞恅恓恇恉恛恌恀恂恟怤恄恘恦恮扂扃拏挍挋拵挎挃拫拹挏挌拸拶挀挓挔拺挕拻拰敁敃斪斿昶昡昲昵昜昦昢昳昫昺昝昴昹昮朏朐柁柲柈枺"],["cf40","柜枻柸柘柀枷柅柫柤柟枵柍枳柷柶柮柣柂枹柎柧柰枲柼柆柭柌枮柦柛柺柉柊柃柪柋欨殂殄殶毖毘毠氠氡洨洴洭洟洼洿洒洊泚洳洄洙洺洚洑洀洝浂"],["cfa1","洁洘洷洃洏浀洇洠洬洈洢洉洐炷炟炾炱炰炡炴炵炩牁牉牊牬牰牳牮狊狤狨狫狟狪狦狣玅珌珂珈珅玹玶玵玴珫玿珇玾珃珆玸珋瓬瓮甮畇畈疧疪癹盄眈眃眄眅眊盷盻盺矧矨砆砑砒砅砐砏砎砉砃砓祊祌祋祅祄秕种秏秖秎窀"],["d040","穾竑笀笁籺籸籹籿粀粁紃紈紁罘羑羍羾耇耎耏耔耷胘胇胠胑胈胂胐胅胣胙胜胊胕胉胏胗胦胍臿舡芔苙苾苹茇苨茀苕茺苫苖苴苬苡苲苵茌苻苶苰苪"],["d0a1","苤苠苺苳苭虷虴虼虳衁衎衧衪衩觓訄訇赲迣迡迮迠郱邽邿郕郅邾郇郋郈釔釓陔陏陑陓陊陎倞倅倇倓倢倰倛俵俴倳倷倬俶俷倗倜倠倧倵倯倱倎党冔冓凊凄凅凈凎剡剚剒剞剟剕剢勍匎厞唦哢唗唒哧哳哤唚哿唄唈哫唑唅哱"],["d140","唊哻哷哸哠唎唃唋圁圂埌堲埕埒垺埆垽垼垸垶垿埇埐垹埁夎奊娙娖娭娮娕娏娗娊娞娳孬宧宭宬尃屖屔峬峿峮峱峷崀峹帩帨庨庮庪庬弳弰彧恝恚恧"],["d1a1","恁悢悈悀悒悁悝悃悕悛悗悇悜悎戙扆拲挐捖挬捄捅挶捃揤挹捋捊挼挩捁挴捘捔捙挭捇挳捚捑挸捗捀捈敊敆旆旃旄旂晊晟晇晑朒朓栟栚桉栲栳栻桋桏栖栱栜栵栫栭栯桎桄栴栝栒栔栦栨栮桍栺栥栠欬欯欭欱欴歭肂殈毦毤"],["d240","毨毣毢毧氥浺浣浤浶洍浡涒浘浢浭浯涑涍淯浿涆浞浧浠涗浰浼浟涂涘洯浨涋浾涀涄洖涃浻浽浵涐烜烓烑烝烋缹烢烗烒烞烠烔烍烅烆烇烚烎烡牂牸"],["d2a1","牷牶猀狺狴狾狶狳狻猁珓珙珥珖玼珧珣珩珜珒珛珔珝珚珗珘珨瓞瓟瓴瓵甡畛畟疰痁疻痄痀疿疶疺皊盉眝眛眐眓眒眣眑眕眙眚眢眧砣砬砢砵砯砨砮砫砡砩砳砪砱祔祛祏祜祓祒祑秫秬秠秮秭秪秜秞秝窆窉窅窋窌窊窇竘笐"],["d340","笄笓笅笏笈笊笎笉笒粄粑粊粌粈粍粅紞紝紑紎紘紖紓紟紒紏紌罜罡罞罠罝罛羖羒翃翂翀耖耾耹胺胲胹胵脁胻脀舁舯舥茳茭荄茙荑茥荖茿荁茦茜茢"],["d3a1","荂荎茛茪茈茼荍茖茤茠茷茯茩荇荅荌荓茞茬荋茧荈虓虒蚢蚨蚖蚍蚑蚞蚇蚗蚆蚋蚚蚅蚥蚙蚡蚧蚕蚘蚎蚝蚐蚔衃衄衭衵衶衲袀衱衿衯袃衾衴衼訒豇豗豻貤貣赶赸趵趷趶軑軓迾迵适迿迻逄迼迶郖郠郙郚郣郟郥郘郛郗郜郤酐"],["d440","酎酏釕釢釚陜陟隼飣髟鬯乿偰偪偡偞偠偓偋偝偲偈偍偁偛偊偢倕偅偟偩偫偣偤偆偀偮偳偗偑凐剫剭剬剮勖勓匭厜啵啶唼啍啐唴唪啑啢唶唵唰啒啅"],["d4a1","唌唲啥啎唹啈唭唻啀啋圊圇埻堔埢埶埜埴堀埭埽堈埸堋埳埏堇埮埣埲埥埬埡堎埼堐埧堁堌埱埩埰堍堄奜婠婘婕婧婞娸娵婭婐婟婥婬婓婤婗婃婝婒婄婛婈媎娾婍娹婌婰婩婇婑婖婂婜孲孮寁寀屙崞崋崝崚崠崌崨崍崦崥崏"],["d540","崰崒崣崟崮帾帴庱庴庹庲庳弶弸徛徖徟悊悐悆悾悰悺惓惔惏惤惙惝惈悱惛悷惊悿惃惍惀挲捥掊掂捽掽掞掭掝掗掫掎捯掇掐据掯捵掜捭掮捼掤挻掟"],["d5a1","捸掅掁掑掍捰敓旍晥晡晛晙晜晢朘桹梇梐梜桭桮梮梫楖桯梣梬梩桵桴梲梏桷梒桼桫桲梪梀桱桾梛梖梋梠梉梤桸桻梑梌梊桽欶欳欷欸殑殏殍殎殌氪淀涫涴涳湴涬淩淢涷淶淔渀淈淠淟淖涾淥淜淝淛淴淊涽淭淰涺淕淂淏淉"],["d640","淐淲淓淽淗淍淣涻烺焍烷焗烴焌烰焄烳焐烼烿焆焓焀烸烶焋焂焎牾牻牼牿猝猗猇猑猘猊猈狿猏猞玈珶珸珵琄琁珽琇琀珺珼珿琌琋珴琈畤畣痎痒痏"],["d6a1","痋痌痑痐皏皉盓眹眯眭眱眲眴眳眽眥眻眵硈硒硉硍硊硌砦硅硐祤祧祩祪祣祫祡离秺秸秶秷窏窔窐笵筇笴笥笰笢笤笳笘笪笝笱笫笭笯笲笸笚笣粔粘粖粣紵紽紸紶紺絅紬紩絁絇紾紿絊紻紨罣羕羜羝羛翊翋翍翐翑翇翏翉耟"],["d740","耞耛聇聃聈脘脥脙脛脭脟脬脞脡脕脧脝脢舑舸舳舺舴舲艴莐莣莨莍荺荳莤荴莏莁莕莙荵莔莩荽莃莌莝莛莪莋荾莥莯莈莗莰荿莦莇莮荶莚虙虖蚿蚷"],["d7a1","蛂蛁蛅蚺蚰蛈蚹蚳蚸蛌蚴蚻蚼蛃蚽蚾衒袉袕袨袢袪袚袑袡袟袘袧袙袛袗袤袬袌袓袎覂觖觙觕訰訧訬訞谹谻豜豝豽貥赽赻赹趼跂趹趿跁軘軞軝軜軗軠軡逤逋逑逜逌逡郯郪郰郴郲郳郔郫郬郩酖酘酚酓酕釬釴釱釳釸釤釹釪"],["d840","釫釷釨釮镺閆閈陼陭陫陱陯隿靪頄飥馗傛傕傔傞傋傣傃傌傎傝偨傜傒傂傇兟凔匒匑厤厧喑喨喥喭啷噅喢喓喈喏喵喁喣喒喤啽喌喦啿喕喡喎圌堩堷"],["d8a1","堙堞堧堣堨埵塈堥堜堛堳堿堶堮堹堸堭堬堻奡媯媔媟婺媢媞婸媦婼媥媬媕媮娷媄媊媗媃媋媩婻婽媌媜媏媓媝寪寍寋寔寑寊寎尌尰崷嵃嵫嵁嵋崿崵嵑嵎嵕崳崺嵒崽崱嵙嵂崹嵉崸崼崲崶嵀嵅幄幁彘徦徥徫惉悹惌惢惎惄愔"],["d940","惲愊愖愅惵愓惸惼惾惁愃愘愝愐惿愄愋扊掔掱掰揎揥揨揯揃撝揳揊揠揶揕揲揵摡揟掾揝揜揄揘揓揂揇揌揋揈揰揗揙攲敧敪敤敜敨敥斌斝斞斮旐旒"],["d9a1","晼晬晻暀晱晹晪晲朁椌棓椄棜椪棬棪棱椏棖棷棫棤棶椓椐棳棡椇棌椈楰梴椑棯棆椔棸棐棽棼棨椋椊椗棎棈棝棞棦棴棑椆棔棩椕椥棇欹欻欿欼殔殗殙殕殽毰毲毳氰淼湆湇渟湉溈渼渽湅湢渫渿湁湝湳渜渳湋湀湑渻渃渮湞"],["da40","湨湜湡渱渨湠湱湫渹渢渰湓湥渧湸湤湷湕湹湒湦渵渶湚焠焞焯烻焮焱焣焥焢焲焟焨焺焛牋牚犈犉犆犅犋猒猋猰猢猱猳猧猲猭猦猣猵猌琮琬琰琫琖"],["daa1","琚琡琭琱琤琣琝琩琠琲瓻甯畯畬痧痚痡痦痝痟痤痗皕皒盚睆睇睄睍睅睊睎睋睌矞矬硠硤硥硜硭硱硪确硰硩硨硞硢祴祳祲祰稂稊稃稌稄窙竦竤筊笻筄筈筌筎筀筘筅粢粞粨粡絘絯絣絓絖絧絪絏絭絜絫絒絔絩絑絟絎缾缿罥"],["db40","罦羢羠羡翗聑聏聐胾胔腃腊腒腏腇脽腍脺臦臮臷臸臹舄舼舽舿艵茻菏菹萣菀菨萒菧菤菼菶萐菆菈菫菣莿萁菝菥菘菿菡菋菎菖菵菉萉萏菞萑萆菂菳"],["dba1","菕菺菇菑菪萓菃菬菮菄菻菗菢萛菛菾蛘蛢蛦蛓蛣蛚蛪蛝蛫蛜蛬蛩蛗蛨蛑衈衖衕袺裗袹袸裀袾袶袼袷袽袲褁裉覕覘覗觝觚觛詎詍訹詙詀詗詘詄詅詒詈詑詊詌詏豟貁貀貺貾貰貹貵趄趀趉跘跓跍跇跖跜跏跕跙跈跗跅軯軷軺"],["dc40","軹軦軮軥軵軧軨軶軫軱軬軴軩逭逴逯鄆鄬鄄郿郼鄈郹郻鄁鄀鄇鄅鄃酡酤酟酢酠鈁鈊鈥鈃鈚鈦鈏鈌鈀鈒釿釽鈆鈄鈧鈂鈜鈤鈙鈗鈅鈖镻閍閌閐隇陾隈"],["dca1","隉隃隀雂雈雃雱雰靬靰靮頇颩飫鳦黹亃亄亶傽傿僆傮僄僊傴僈僂傰僁傺傱僋僉傶傸凗剺剸剻剼嗃嗛嗌嗐嗋嗊嗝嗀嗔嗄嗩喿嗒喍嗏嗕嗢嗖嗈嗲嗍嗙嗂圔塓塨塤塏塍塉塯塕塎塝塙塥塛堽塣塱壼嫇嫄嫋媺媸媱媵媰媿嫈媻嫆"],["dd40","媷嫀嫊媴媶嫍媹媐寖寘寙尟尳嵱嵣嵊嵥嵲嵬嵞嵨嵧嵢巰幏幎幊幍幋廅廌廆廋廇彀徯徭惷慉慊愫慅愶愲愮慆愯慏愩慀戠酨戣戥戤揅揱揫搐搒搉搠搤"],["dda1","搳摃搟搕搘搹搷搢搣搌搦搰搨摁搵搯搊搚摀搥搧搋揧搛搮搡搎敯斒旓暆暌暕暐暋暊暙暔晸朠楦楟椸楎楢楱椿楅楪椹楂楗楙楺楈楉椵楬椳椽楥棰楸椴楩楀楯楄楶楘楁楴楌椻楋椷楜楏楑椲楒椯楻椼歆歅歃歂歈歁殛嗀毻毼"],["de40","毹毷毸溛滖滈溏滀溟溓溔溠溱溹滆滒溽滁溞滉溷溰滍溦滏溲溾滃滜滘溙溒溎溍溤溡溿溳滐滊溗溮溣煇煔煒煣煠煁煝煢煲煸煪煡煂煘煃煋煰煟煐煓"],["dea1","煄煍煚牏犍犌犑犐犎猼獂猻猺獀獊獉瑄瑊瑋瑒瑑瑗瑀瑏瑐瑎瑂瑆瑍瑔瓡瓿瓾瓽甝畹畷榃痯瘏瘃痷痾痼痹痸瘐痻痶痭痵痽皙皵盝睕睟睠睒睖睚睩睧睔睙睭矠碇碚碔碏碄碕碅碆碡碃硹碙碀碖硻祼禂祽祹稑稘稙稒稗稕稢稓"],["df40","稛稐窣窢窞竫筦筤筭筴筩筲筥筳筱筰筡筸筶筣粲粴粯綈綆綀綍絿綅絺綎絻綃絼綌綔綄絽綒罭罫罧罨罬羦羥羧翛翜耡腤腠腷腜腩腛腢腲朡腞腶腧腯"],["dfa1","腄腡舝艉艄艀艂艅蓱萿葖葶葹蒏蒍葥葑葀蒆葧萰葍葽葚葙葴葳葝蔇葞萷萺萴葺葃葸萲葅萩菙葋萯葂萭葟葰萹葎葌葒葯蓅蒎萻葇萶萳葨葾葄萫葠葔葮葐蜋蜄蛷蜌蛺蛖蛵蝍蛸蜎蜉蜁蛶蜍蜅裖裋裍裎裞裛裚裌裐覅覛觟觥觤"],["e040","觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁詴詺谼豋豊豥豤豦貆貄貅賌赨赩趑趌趎趏趍趓趔趐趒跰跠跬跱跮跐跩跣跢跧跲跫跴輆軿輁輀輅輇輈輂輋遒逿"],["e0a1","遄遉逽鄐鄍鄏鄑鄖鄔鄋鄎酮酯鉈鉒鈰鈺鉦鈳鉥鉞銃鈮鉊鉆鉭鉬鉏鉠鉧鉯鈶鉡鉰鈱鉔鉣鉐鉲鉎鉓鉌鉖鈲閟閜閞閛隒隓隑隗雎雺雽雸雵靳靷靸靲頏頍頎颬飶飹馯馲馰馵骭骫魛鳪鳭鳧麀黽僦僔僗僨僳僛僪僝僤僓僬僰僯僣僠"],["e140","凘劀劁勩勫匰厬嘧嘕嘌嘒嗼嘏嘜嘁嘓嘂嗺嘝嘄嗿嗹墉塼墐墘墆墁塿塴墋塺墇墑墎塶墂墈塻墔墏壾奫嫜嫮嫥嫕嫪嫚嫭嫫嫳嫢嫠嫛嫬嫞嫝嫙嫨嫟孷寠"],["e1a1","寣屣嶂嶀嵽嶆嵺嶁嵷嶊嶉嶈嵾嵼嶍嵹嵿幘幙幓廘廑廗廎廜廕廙廒廔彄彃彯徶愬愨慁慞慱慳慒慓慲慬憀慴慔慺慛慥愻慪慡慖戩戧戫搫摍摛摝摴摶摲摳摽摵摦撦摎撂摞摜摋摓摠摐摿搿摬摫摙摥摷敳斠暡暠暟朅朄朢榱榶槉"],["e240","榠槎榖榰榬榼榑榙榎榧榍榩榾榯榿槄榽榤槔榹槊榚槏榳榓榪榡榞槙榗榐槂榵榥槆歊歍歋殞殟殠毃毄毾滎滵滱漃漥滸漷滻漮漉潎漙漚漧漘漻漒滭漊"],["e2a1","漶潳滹滮漭潀漰漼漵滫漇漎潃漅滽滶漹漜滼漺漟漍漞漈漡熇熐熉熀熅熂熏煻熆熁熗牄牓犗犕犓獃獍獑獌瑢瑳瑱瑵瑲瑧瑮甀甂甃畽疐瘖瘈瘌瘕瘑瘊瘔皸瞁睼瞅瞂睮瞀睯睾瞃碲碪碴碭碨硾碫碞碥碠碬碢碤禘禊禋禖禕禔禓"],["e340","禗禈禒禐稫穊稰稯稨稦窨窫窬竮箈箜箊箑箐箖箍箌箛箎箅箘劄箙箤箂粻粿粼粺綧綷緂綣綪緁緀緅綝緎緄緆緋緌綯綹綖綼綟綦綮綩綡緉罳翢翣翥翞"],["e3a1","耤聝聜膉膆膃膇膍膌膋舕蒗蒤蒡蒟蒺蓎蓂蒬蒮蒫蒹蒴蓁蓍蒪蒚蒱蓐蒝蒧蒻蒢蒔蓇蓌蒛蒩蒯蒨蓖蒘蒶蓏蒠蓗蓔蓒蓛蒰蒑虡蜳蜣蜨蝫蝀蜮蜞蜡蜙蜛蝃蜬蝁蜾蝆蜠蜲蜪蜭蜼蜒蜺蜱蜵蝂蜦蜧蜸蜤蜚蜰蜑裷裧裱裲裺裾裮裼裶裻"],["e440","裰裬裫覝覡覟覞觩觫觨誫誙誋誒誏誖谽豨豩賕賏賗趖踉踂跿踍跽踊踃踇踆踅跾踀踄輐輑輎輍鄣鄜鄠鄢鄟鄝鄚鄤鄡鄛酺酲酹酳銥銤鉶銛鉺銠銔銪銍"],["e4a1","銦銚銫鉹銗鉿銣鋮銎銂銕銢鉽銈銡銊銆銌銙銧鉾銇銩銝銋鈭隞隡雿靘靽靺靾鞃鞀鞂靻鞄鞁靿韎韍頖颭颮餂餀餇馝馜駃馹馻馺駂馽駇骱髣髧鬾鬿魠魡魟鳱鳲鳵麧僿儃儰僸儆儇僶僾儋儌僽儊劋劌勱勯噈噂噌嘵噁噊噉噆噘"],["e540","噚噀嘳嘽嘬嘾嘸嘪嘺圚墫墝墱墠墣墯墬墥墡壿嫿嫴嫽嫷嫶嬃嫸嬂嫹嬁嬇嬅嬏屧嶙嶗嶟嶒嶢嶓嶕嶠嶜嶡嶚嶞幩幝幠幜緳廛廞廡彉徲憋憃慹憱憰憢憉"],["e5a1","憛憓憯憭憟憒憪憡憍慦憳戭摮摰撖撠撅撗撜撏撋撊撌撣撟摨撱撘敶敺敹敻斲斳暵暰暩暲暷暪暯樀樆樗槥槸樕槱槤樠槿槬槢樛樝槾樧槲槮樔槷槧橀樈槦槻樍槼槫樉樄樘樥樏槶樦樇槴樖歑殥殣殢殦氁氀毿氂潁漦潾澇濆澒"],["e640","澍澉澌潢潏澅潚澖潶潬澂潕潲潒潐潗澔澓潝漀潡潫潽潧澐潓澋潩潿澕潣潷潪潻熲熯熛熰熠熚熩熵熝熥熞熤熡熪熜熧熳犘犚獘獒獞獟獠獝獛獡獚獙"],["e6a1","獢璇璉璊璆璁瑽璅璈瑼瑹甈甇畾瘥瘞瘙瘝瘜瘣瘚瘨瘛皜皝皞皛瞍瞏瞉瞈磍碻磏磌磑磎磔磈磃磄磉禚禡禠禜禢禛歶稹窲窴窳箷篋箾箬篎箯箹篊箵糅糈糌糋緷緛緪緧緗緡縃緺緦緶緱緰緮緟罶羬羰羭翭翫翪翬翦翨聤聧膣膟"],["e740","膞膕膢膙膗舖艏艓艒艐艎艑蔤蔻蔏蔀蔩蔎蔉蔍蔟蔊蔧蔜蓻蔫蓺蔈蔌蓴蔪蓲蔕蓷蓫蓳蓼蔒蓪蓩蔖蓾蔨蔝蔮蔂蓽蔞蓶蔱蔦蓧蓨蓰蓯蓹蔘蔠蔰蔋蔙蔯虢"],["e7a1","蝖蝣蝤蝷蟡蝳蝘蝔蝛蝒蝡蝚蝑蝞蝭蝪蝐蝎蝟蝝蝯蝬蝺蝮蝜蝥蝏蝻蝵蝢蝧蝩衚褅褌褔褋褗褘褙褆褖褑褎褉覢覤覣觭觰觬諏諆誸諓諑諔諕誻諗誾諀諅諘諃誺誽諙谾豍貏賥賟賙賨賚賝賧趠趜趡趛踠踣踥踤踮踕踛踖踑踙踦踧"],["e840","踔踒踘踓踜踗踚輬輤輘輚輠輣輖輗遳遰遯遧遫鄯鄫鄩鄪鄲鄦鄮醅醆醊醁醂醄醀鋐鋃鋄鋀鋙銶鋏鋱鋟鋘鋩鋗鋝鋌鋯鋂鋨鋊鋈鋎鋦鋍鋕鋉鋠鋞鋧鋑鋓"],["e8a1","銵鋡鋆銴镼閬閫閮閰隤隢雓霅霈霂靚鞊鞎鞈韐韏頞頝頦頩頨頠頛頧颲餈飺餑餔餖餗餕駜駍駏駓駔駎駉駖駘駋駗駌骳髬髫髳髲髱魆魃魧魴魱魦魶魵魰魨魤魬鳼鳺鳽鳿鳷鴇鴀鳹鳻鴈鴅鴄麃黓鼏鼐儜儓儗儚儑凞匴叡噰噠噮"],["e940","噳噦噣噭噲噞噷圜圛壈墽壉墿墺壂墼壆嬗嬙嬛嬡嬔嬓嬐嬖嬨嬚嬠嬞寯嶬嶱嶩嶧嶵嶰嶮嶪嶨嶲嶭嶯嶴幧幨幦幯廩廧廦廨廥彋徼憝憨憖懅憴懆懁懌憺"],["e9a1","憿憸憌擗擖擐擏擉撽撉擃擛擳擙攳敿敼斢曈暾曀曊曋曏暽暻暺曌朣樴橦橉橧樲橨樾橝橭橶橛橑樨橚樻樿橁橪橤橐橏橔橯橩橠樼橞橖橕橍橎橆歕歔歖殧殪殫毈毇氄氃氆澭濋澣濇澼濎濈潞濄澽澞濊澨瀄澥澮澺澬澪濏澿澸"],["ea40","澢濉澫濍澯澲澰燅燂熿熸燖燀燁燋燔燊燇燏熽燘熼燆燚燛犝犞獩獦獧獬獥獫獪瑿璚璠璔璒璕璡甋疀瘯瘭瘱瘽瘳瘼瘵瘲瘰皻盦瞚瞝瞡瞜瞛瞢瞣瞕瞙"],["eaa1","瞗磝磩磥磪磞磣磛磡磢磭磟磠禤穄穈穇窶窸窵窱窷篞篣篧篝篕篥篚篨篹篔篪篢篜篫篘篟糒糔糗糐糑縒縡縗縌縟縠縓縎縜縕縚縢縋縏縖縍縔縥縤罃罻罼罺羱翯耪耩聬膱膦膮膹膵膫膰膬膴膲膷膧臲艕艖艗蕖蕅蕫蕍蕓蕡蕘"],["eb40","蕀蕆蕤蕁蕢蕄蕑蕇蕣蔾蕛蕱蕎蕮蕵蕕蕧蕠薌蕦蕝蕔蕥蕬虣虥虤螛螏螗螓螒螈螁螖螘蝹螇螣螅螐螑螝螄螔螜螚螉褞褦褰褭褮褧褱褢褩褣褯褬褟觱諠"],["eba1","諢諲諴諵諝謔諤諟諰諈諞諡諨諿諯諻貑貒貐賵賮賱賰賳赬赮趥趧踳踾踸蹀蹅踶踼踽蹁踰踿躽輶輮輵輲輹輷輴遶遹遻邆郺鄳鄵鄶醓醐醑醍醏錧錞錈錟錆錏鍺錸錼錛錣錒錁鍆錭錎錍鋋錝鋺錥錓鋹鋷錴錂錤鋿錩錹錵錪錔錌"],["ec40","錋鋾錉錀鋻錖閼闍閾閹閺閶閿閵閽隩雔霋霒霐鞙鞗鞔韰韸頵頯頲餤餟餧餩馞駮駬駥駤駰駣駪駩駧骹骿骴骻髶髺髹髷鬳鮀鮅鮇魼魾魻鮂鮓鮒鮐魺鮕"],["eca1","魽鮈鴥鴗鴠鴞鴔鴩鴝鴘鴢鴐鴙鴟麈麆麇麮麭黕黖黺鼒鼽儦儥儢儤儠儩勴嚓嚌嚍嚆嚄嚃噾嚂噿嚁壖壔壏壒嬭嬥嬲嬣嬬嬧嬦嬯嬮孻寱寲嶷幬幪徾徻懃憵憼懧懠懥懤懨懞擯擩擣擫擤擨斁斀斶旚曒檍檖檁檥檉檟檛檡檞檇檓檎"],["ed40","檕檃檨檤檑橿檦檚檅檌檒歛殭氉濌澩濴濔濣濜濭濧濦濞濲濝濢濨燡燱燨燲燤燰燢獳獮獯璗璲璫璐璪璭璱璥璯甐甑甒甏疄癃癈癉癇皤盩瞵瞫瞲瞷瞶"],["eda1","瞴瞱瞨矰磳磽礂磻磼磲礅磹磾礄禫禨穜穛穖穘穔穚窾竀竁簅簏篲簀篿篻簎篴簋篳簂簉簃簁篸篽簆篰篱簐簊糨縭縼繂縳顈縸縪繉繀繇縩繌縰縻縶繄縺罅罿罾罽翴翲耬膻臄臌臊臅臇膼臩艛艚艜薃薀薏薧薕薠薋薣蕻薤薚薞"],["ee40","蕷蕼薉薡蕺蕸蕗薎薖薆薍薙薝薁薢薂薈薅蕹蕶薘薐薟虨螾螪螭蟅螰螬螹螵螼螮蟉蟃蟂蟌螷螯蟄蟊螴螶螿螸螽蟞螲褵褳褼褾襁襒褷襂覭覯覮觲觳謞"],["eea1","謘謖謑謅謋謢謏謒謕謇謍謈謆謜謓謚豏豰豲豱豯貕貔賹赯蹎蹍蹓蹐蹌蹇轃轀邅遾鄸醚醢醛醙醟醡醝醠鎡鎃鎯鍤鍖鍇鍼鍘鍜鍶鍉鍐鍑鍠鍭鎏鍌鍪鍹鍗鍕鍒鍏鍱鍷鍻鍡鍞鍣鍧鎀鍎鍙闇闀闉闃闅閷隮隰隬霠霟霘霝霙鞚鞡鞜"],["ef40","鞞鞝韕韔韱顁顄顊顉顅顃餥餫餬餪餳餲餯餭餱餰馘馣馡騂駺駴駷駹駸駶駻駽駾駼騃骾髾髽鬁髼魈鮚鮨鮞鮛鮦鮡鮥鮤鮆鮢鮠鮯鴳鵁鵧鴶鴮鴯鴱鴸鴰"],["efa1","鵅鵂鵃鴾鴷鵀鴽翵鴭麊麉麍麰黈黚黻黿鼤鼣鼢齔龠儱儭儮嚘嚜嚗嚚嚝嚙奰嬼屩屪巀幭幮懘懟懭懮懱懪懰懫懖懩擿攄擽擸攁攃擼斔旛曚曛曘櫅檹檽櫡櫆檺檶檷櫇檴檭歞毉氋瀇瀌瀍瀁瀅瀔瀎濿瀀濻瀦濼濷瀊爁燿燹爃燽獶"],["f040","璸瓀璵瓁璾璶璻瓂甔甓癜癤癙癐癓癗癚皦皽盬矂瞺磿礌礓礔礉礐礒礑禭禬穟簜簩簙簠簟簭簝簦簨簢簥簰繜繐繖繣繘繢繟繑繠繗繓羵羳翷翸聵臑臒"],["f0a1","臐艟艞薴藆藀藃藂薳薵薽藇藄薿藋藎藈藅薱薶藒蘤薸薷薾虩蟧蟦蟢蟛蟫蟪蟥蟟蟳蟤蟔蟜蟓蟭蟘蟣螤蟗蟙蠁蟴蟨蟝襓襋襏襌襆襐襑襉謪謧謣謳謰謵譇謯謼謾謱謥謷謦謶謮謤謻謽謺豂豵貙貘貗賾贄贂贀蹜蹢蹠蹗蹖蹞蹥蹧"],["f140","蹛蹚蹡蹝蹩蹔轆轇轈轋鄨鄺鄻鄾醨醥醧醯醪鎵鎌鎒鎷鎛鎝鎉鎧鎎鎪鎞鎦鎕鎈鎙鎟鎍鎱鎑鎲鎤鎨鎴鎣鎥闒闓闑隳雗雚巂雟雘雝霣霢霥鞬鞮鞨鞫鞤鞪"],["f1a1","鞢鞥韗韙韖韘韺顐顑顒颸饁餼餺騏騋騉騍騄騑騊騅騇騆髀髜鬈鬄鬅鬩鬵魊魌魋鯇鯆鯃鮿鯁鮵鮸鯓鮶鯄鮹鮽鵜鵓鵏鵊鵛鵋鵙鵖鵌鵗鵒鵔鵟鵘鵚麎麌黟鼁鼀鼖鼥鼫鼪鼩鼨齌齕儴儵劖勷厴嚫嚭嚦嚧嚪嚬壚壝壛夒嬽嬾嬿巃幰"],["f240","徿懻攇攐攍攉攌攎斄旞旝曞櫧櫠櫌櫑櫙櫋櫟櫜櫐櫫櫏櫍櫞歠殰氌瀙瀧瀠瀖瀫瀡瀢瀣瀩瀗瀤瀜瀪爌爊爇爂爅犥犦犤犣犡瓋瓅璷瓃甖癠矉矊矄矱礝礛"],["f2a1","礡礜礗礞禰穧穨簳簼簹簬簻糬糪繶繵繸繰繷繯繺繲繴繨罋罊羃羆羷翽翾聸臗臕艤艡艣藫藱藭藙藡藨藚藗藬藲藸藘藟藣藜藑藰藦藯藞藢蠀蟺蠃蟶蟷蠉蠌蠋蠆蟼蠈蟿蠊蠂襢襚襛襗襡襜襘襝襙覈覷覶觶譐譈譊譀譓譖譔譋譕"],["f340","譑譂譒譗豃豷豶貚贆贇贉趬趪趭趫蹭蹸蹳蹪蹯蹻軂轒轑轏轐轓辴酀鄿醰醭鏞鏇鏏鏂鏚鏐鏹鏬鏌鏙鎩鏦鏊鏔鏮鏣鏕鏄鏎鏀鏒鏧镽闚闛雡霩霫霬霨霦"],["f3a1","鞳鞷鞶韝韞韟顜顙顝顗颿颽颻颾饈饇饃馦馧騚騕騥騝騤騛騢騠騧騣騞騜騔髂鬋鬊鬎鬌鬷鯪鯫鯠鯞鯤鯦鯢鯰鯔鯗鯬鯜鯙鯥鯕鯡鯚鵷鶁鶊鶄鶈鵱鶀鵸鶆鶋鶌鵽鵫鵴鵵鵰鵩鶅鵳鵻鶂鵯鵹鵿鶇鵨麔麑黀黼鼭齀齁齍齖齗齘匷嚲"],["f440","嚵嚳壣孅巆巇廮廯忀忁懹攗攖攕攓旟曨曣曤櫳櫰櫪櫨櫹櫱櫮櫯瀼瀵瀯瀷瀴瀱灂瀸瀿瀺瀹灀瀻瀳灁爓爔犨獽獼璺皫皪皾盭矌矎矏矍矲礥礣礧礨礤礩"],["f4a1","禲穮穬穭竷籉籈籊籇籅糮繻繾纁纀羺翿聹臛臙舋艨艩蘢藿蘁藾蘛蘀藶蘄蘉蘅蘌藽蠙蠐蠑蠗蠓蠖襣襦覹觷譠譪譝譨譣譥譧譭趮躆躈躄轙轖轗轕轘轚邍酃酁醷醵醲醳鐋鐓鏻鐠鐏鐔鏾鐕鐐鐨鐙鐍鏵鐀鏷鐇鐎鐖鐒鏺鐉鏸鐊鏿"],["f540","鏼鐌鏶鐑鐆闞闠闟霮霯鞹鞻韽韾顠顢顣顟飁飂饐饎饙饌饋饓騲騴騱騬騪騶騩騮騸騭髇髊髆鬐鬒鬑鰋鰈鯷鰅鰒鯸鱀鰇鰎鰆鰗鰔鰉鶟鶙鶤鶝鶒鶘鶐鶛"],["f5a1","鶠鶔鶜鶪鶗鶡鶚鶢鶨鶞鶣鶿鶩鶖鶦鶧麙麛麚黥黤黧黦鼰鼮齛齠齞齝齙龑儺儹劘劗囃嚽嚾孈孇巋巏廱懽攛欂櫼欃櫸欀灃灄灊灈灉灅灆爝爚爙獾甗癪矐礭礱礯籔籓糲纊纇纈纋纆纍罍羻耰臝蘘蘪蘦蘟蘣蘜蘙蘧蘮蘡蘠蘩蘞蘥"],["f640","蠩蠝蠛蠠蠤蠜蠫衊襭襩襮襫觺譹譸譅譺譻贐贔趯躎躌轞轛轝酆酄酅醹鐿鐻鐶鐩鐽鐼鐰鐹鐪鐷鐬鑀鐱闥闤闣霵霺鞿韡顤飉飆飀饘饖騹騽驆驄驂驁騺"],["f6a1","騿髍鬕鬗鬘鬖鬺魒鰫鰝鰜鰬鰣鰨鰩鰤鰡鶷鶶鶼鷁鷇鷊鷏鶾鷅鷃鶻鶵鷎鶹鶺鶬鷈鶱鶭鷌鶳鷍鶲鹺麜黫黮黭鼛鼘鼚鼱齎齥齤龒亹囆囅囋奱孋孌巕巑廲攡攠攦攢欋欈欉氍灕灖灗灒爞爟犩獿瓘瓕瓙瓗癭皭礵禴穰穱籗籜籙籛籚"],["f740","糴糱纑罏羇臞艫蘴蘵蘳蘬蘲蘶蠬蠨蠦蠪蠥襱覿覾觻譾讄讂讆讅譿贕躕躔躚躒躐躖躗轠轢酇鑌鑐鑊鑋鑏鑇鑅鑈鑉鑆霿韣顪顩飋饔饛驎驓驔驌驏驈驊"],["f7a1","驉驒驐髐鬙鬫鬻魖魕鱆鱈鰿鱄鰹鰳鱁鰼鰷鰴鰲鰽鰶鷛鷒鷞鷚鷋鷐鷜鷑鷟鷩鷙鷘鷖鷵鷕鷝麶黰鼵鼳鼲齂齫龕龢儽劙壨壧奲孍巘蠯彏戁戃戄攩攥斖曫欑欒欏毊灛灚爢玂玁玃癰矔籧籦纕艬蘺虀蘹蘼蘱蘻蘾蠰蠲蠮蠳襶襴襳觾"],["f840","讌讎讋讈豅贙躘轤轣醼鑢鑕鑝鑗鑞韄韅頀驖驙鬞鬟鬠鱒鱘鱐鱊鱍鱋鱕鱙鱌鱎鷻鷷鷯鷣鷫鷸鷤鷶鷡鷮鷦鷲鷰鷢鷬鷴鷳鷨鷭黂黐黲黳鼆鼜鼸鼷鼶齃齏"],["f8a1","齱齰齮齯囓囍孎屭攭曭曮欓灟灡灝灠爣瓛瓥矕礸禷禶籪纗羉艭虃蠸蠷蠵衋讔讕躞躟躠躝醾醽釂鑫鑨鑩雥靆靃靇韇韥驞髕魙鱣鱧鱦鱢鱞鱠鸂鷾鸇鸃鸆鸅鸀鸁鸉鷿鷽鸄麠鼞齆齴齵齶囔攮斸欘欙欗欚灢爦犪矘矙礹籩籫糶纚"],["f940","纘纛纙臠臡虆虇虈襹襺襼襻觿讘讙躥躤躣鑮鑭鑯鑱鑳靉顲饟鱨鱮鱭鸋鸍鸐鸏鸒鸑麡黵鼉齇齸齻齺齹圞灦籯蠼趲躦釃鑴鑸鑶鑵驠鱴鱳鱱鱵鸔鸓黶鼊"],["f9a1","龤灨灥糷虪蠾蠽蠿讞貜躩軉靋顳顴飌饡馫驤驦驧鬤鸕鸗齈戇欞爧虌躨钂钀钁驩驨鬮鸙爩虋讟钃鱹麷癵驫鱺鸝灩灪麤齾齉龘碁銹裏墻恒粧嫺╔╦╗╠╬╣╚╩╝╒╤╕╞╪╡╘╧╛╓╥╖╟╫╢╙╨╜║═╭╮╰╯▓"]]')},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o},A=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(7),o=n(0),s=n(2),a=A(n(406)),c=n(6);class u extends i.BaseCommand{constructor(){super(...arguments),this.json=!1,this.unsafe=!1}async execute(){const e=await o.Configuration.find(this.context.cwd,this.context.plugins),t=this.name.replace(/[.\[].*$/,""),n=this.name.replace(/^[^.\[]*/,"");if(void 0===e.settings.get(t))throw new s.UsageError(`Couldn't find a configuration settings named "${t}"`);const r=g(this.unsafe?e.get(t):e.getRedacted(t)),A=n?a.default(r,n):r,i=await o.StreamReport.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async e=>{e.reportJson(A)});if(!this.json){if("string"==typeof A)return this.context.stdout.write(`${A}\n`),i.exitCode();c.inspect.styles.name="cyan",this.context.stdout.write(`${c.inspect(A,{depth:1/0,colors:!0,compact:!1})}\n`)}return i.exitCode()}}function g(e){if(e instanceof Map&&(e=Object.fromEntries(e)),"object"==typeof e&&null!==e)for(const t of Object.keys(e)){const n=e[t];"object"==typeof n&&null!==n&&(e[t]=g(n))}return e}u.usage=s.Command.Usage({description:"read a configuration settings",details:"\n This command will print a configuration setting.\n\n Secrets (such as tokens) will be redacted from the output by default. If this behavior isn't desired, set the `--no-redacted` to get the untransformed value.\n ",examples:[["Print a simple configuration setting","yarn config get yarnPath"],["Print a complex configuration setting","yarn config get packageExtensions"],["Print a nested field from the configuration","yarn config get 'npmScopes[\"my-company\"].npmRegistryServer'"],["Print a token from the configuration","yarn config get npmAuthToken --no-redacted"],["Print a configuration setting as JSON","yarn config get packageExtensions --json"]]}),r([s.Command.String()],u.prototype,"name",void 0),r([s.Command.Boolean("--json")],u.prototype,"json",void 0),r([s.Command.Boolean("--no-redacted")],u.prototype,"unsafe",void 0),r([s.Command.Path("config","get")],u.prototype,"execute",null),t.default=u,t.convertMapsToObjects=g},function(e,t,n){var r=n(1035);e.exports=function(e,t,n){var A=null==e?void 0:r(e,t);return void 0===A?n:A}},function(e,t,n){var r=n(83),A=n(1036),i=n(1039),o=n(1063);e.exports=function(e,t){return r(e)?e:A(e,t)?[e]:i(o(e))}},function(e,t){var n="object"==typeof global&&global&&global.Object===Object&&global;e.exports=n},function(e,t,n){var r=n(1042),A=n(1058),i=n(1060),o=n(1061),s=n(1062);function a(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e-1&&e%1==0&&e<=n}},function(e,t){e.exports=function(e,t){return function(n){return e(t(n))}}},function(e,t,n){var r=n(410),A=n(418);e.exports=function(e){return null!=e&&A(e.length)&&!r(e)}},function(e,t,n){var r=n(415),A=n(1087),i=n(420);e.exports=function(e){return i(e)?r(e,!0):A(e)}},function(e,t){e.exports=function(){return[]}},function(e,t,n){var r=n(424),A=n(425),i=n(252),o=n(422),s=Object.getOwnPropertySymbols?function(e){for(var t=[];e;)r(t,i(e)),e=A(e);return t}:o;e.exports=s},function(e,t){e.exports=function(e,t){for(var n=-1,r=t.length,A=e.length;++n=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o},A=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var A=0;for(r=Object.getOwnPropertySymbols(e);A{const n=await u(e);for(let e of Object.entries(n)){const[n,r]=e,{experimental:i}=r,o=A(r,["experimental"]);let s=n;i&&(s+=" [experimental]"),t.reportJson(Object.assign({name:n,experimental:i},o)),t.reportInfo(null,s)}})).exitCode()}}g.usage=a.Command.Usage({category:"Plugin-related commands",description:"list the available official plugins",details:"\n This command prints the plugins available directly from the Yarn repository. Only those plugins can be referenced by name in `yarn plugin import`.\n ",examples:[["List the official plugins","$0 plugin list"]]}),r([a.Command.Boolean("--json")],g.prototype,"json",void 0),r([a.Command.Path("plugin","list")],g.prototype,"execute",null),t.default=g},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o},A=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(7),o=n(0),s=n(0),a=n(1),c=n(2),u=A(n(15));class g extends i.BaseCommand{constructor(){super(...arguments),this.onlyIfNeeded=!1}async execute(){const e=await o.Configuration.find(this.context.cwd,this.context.plugins);if(e.get("yarnPath")&&this.onlyIfNeeded)return;let t;if("latest"===this.version||"berry"===this.version)t="https://github.com/yarnpkg/berry/raw/master/packages/yarnpkg-cli/bin/yarn.js";else if("classic"===this.version)t="https://nightly.yarnpkg.com/latest.js";else if(s.semverUtils.satisfiesWithPrereleases(this.version,">=2.0.0"))t=`https://github.com/yarnpkg/berry/raw/%40yarnpkg/cli/${this.version}/packages/yarnpkg-cli/bin/yarn.js`;else{if(!s.semverUtils.satisfiesWithPrereleases(this.version,"^0.x || ^1.x"))throw u.default.validRange(this.version)?new c.UsageError("Support for ranges got removed - please use the exact version you want to install, or 'latest' to get the latest build available"):new c.UsageError(`Invalid version descriptor "${this.version}"`);t=`https://github.com/yarnpkg/yarn/releases/download/v${this.version}/yarn-${this.version}.js`}return(await o.StreamReport.start({configuration:e,stdout:this.context.stdout},async n=>{n.reportInfo(o.MessageName.UNNAMED,`Downloading ${e.format(t,"green")}`);const r=await s.httpUtils.get(t,{configuration:e});await l(e,null,r,{report:n})})).exitCode()}}async function l(e,t,n,{report:r}){const A=e.projectCwd?e.projectCwd:e.startingCwd;null===t&&await a.xfs.mktempPromise(async e=>{const r=a.ppath.join(e,"yarn.js");await a.xfs.writeFilePromise(r,n);const{stdout:i}=await s.execUtils.execvp(process.execPath,[a.npath.fromPortablePath(r),"--version"],{cwd:A,env:Object.assign(Object.assign({},process.env),{YARN_IGNORE_PATH:"1"})});if(t=i.trim(),!u.default.valid(t))throw new Error("Invalid semver version")});const i=a.ppath.resolve(A,".yarn/releases"),c=a.ppath.resolve(i,`yarn-${t}.js`),g=a.ppath.relative(e.startingCwd,c),l=a.ppath.relative(A,c),h=e.get("yarnPath"),p=null===h||h.startsWith(`${i}/`);r.reportInfo(o.MessageName.UNNAMED,`Saving the new release in ${e.format(g,"magenta")}`),await a.xfs.removePromise(a.ppath.dirname(c)),await a.xfs.mkdirpPromise(a.ppath.dirname(c)),await a.xfs.writeFilePromise(c,n),await a.xfs.chmodPromise(c,493),p&&await o.Configuration.updateConfiguration(A,{yarnPath:l})}g.usage=c.Command.Usage({description:"lock the Yarn version used by the project",details:"\n This command will download a specific release of Yarn directly from the Yarn GitHub repository, will store it inside your project, and will change the `yarnPath` settings from your project `.yarnrc.yml` file to point to the new file.\n\n A very good use case for this command is to enforce the version of Yarn used by the any single member of your team inside a same project - by doing this you ensure that you have control on Yarn upgrades and downgrades (including on your deployment servers), and get rid of most of the headaches related to someone using a slightly different version and getting a different behavior than you.\n ",examples:[["Download the latest release from the Yarn repository","$0 set version latest"],["Download the latest classic release from the Yarn repository","$0 set version classic"],["Download a specific Yarn 2 build","$0 set version 2.0.0-rc.30"],["Switch back to a specific Yarn 1 release","$0 set version 1.22.1"]]}),r([c.Command.Boolean("--only-if-needed")],g.prototype,"onlyIfNeeded",void 0),r([c.Command.String()],g.prototype,"version",void 0),r([c.Command.Path("set","version")],g.prototype,"execute",null),t.default=g,t.setVersion=l},function(e,t,n){"use strict";var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const A=n(1155),i=n(1156),o=r(n(255));t.gitUtils=o;const s={fetchers:[A.GitFetcher],resolvers:[i.GitResolver]};t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TARBALL_REGEXP=/^[^?]*\.(?:tar\.gz|tgz)(?:\?.*)?$/,t.PROTOCOL_REGEXP=/^https?:/},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(0),A=n(0),i=n(0),o=n(1),s=n(256),a=n(2),c=n(435),u=n(170),g=new Set([i.structUtils.makeIdent(null,"nan").identHash,i.structUtils.makeIdent(null,"node-gyp").identHash,i.structUtils.makeIdent(null,"node-pre-gyp").identHash,i.structUtils.makeIdent(null,"node-addon-api").identHash,i.structUtils.makeIdent(null,"fsevents").identHash]),l=new Set([".exe",".h",".hh",".hpp",".c",".cc",".cpp",".java",".jar",".node"]);t.PnpLinker=class{constructor(){this.mode="strict"}supportsPackage(e,t){return"pnp"===t.project.configuration.get("nodeLinker")&&t.project.configuration.get("pnpMode")===this.mode}async findPackageLocation(e,t){const n=u.getPnpPath(t.project).main;if(!o.xfs.existsSync(n))throw new a.UsageError(`The project in ${t.project.cwd}/package.json doesn't seem to have been installed - running an install there might help`);const r=i.miscUtils.dynamicRequireNoCache(n),A={name:i.structUtils.requirableIdent(e),reference:e.reference},s=r.getPackageInformation(A);if(!s)throw new a.UsageError(`Couldn't find ${i.structUtils.prettyLocator(t.project.configuration,e)} in the currently installed PnP map - running an install might help`);return o.npath.toPortablePath(s.packageLocation)}async findPackageLocator(e,t){const r=u.getPnpPath(t.project).main;if(!o.xfs.existsSync(r))return null;const A=o.npath.fromPortablePath(r),s=i.miscUtils.dynamicRequire(A);delete n.c[A];const a=s.findPackageLocator(o.npath.fromPortablePath(e));return a?i.structUtils.makeLocator(i.structUtils.parseIdent(a.name),a.reference):null}makeInstaller(e){return new h(e)}};class h extends c.AbstractPnpInstaller{constructor(){super(...arguments),this.mode="strict",this.unpluggedPaths=new Set}async getBuildScripts(e,t,n){if(null===t)return[];const r=[];for(const e of["preinstall","install","postinstall"])t.scripts.has(e)&&r.push([A.BuildType.SCRIPT,e]);const i=o.ppath.resolve(n.prefixPath,o.toFilename("binding.gyp"));return!t.scripts.has("install")&&n.packageFs.existsSync(i)&&r.push([A.BuildType.SHELLCODE,"node-gyp rebuild"]),r}async transformPackage(e,t,n,r,{hasBuildScripts:A}){return this.isUnplugged(e,t,n,r,{hasBuildScripts:A})?this.unplugPackage(e,n.packageFs):n.packageFs}async finalizeInstallWithPnp(e){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;const t=u.getPnpPath(this.opts.project),n=this.opts.project.configuration.get("pnpDataPath");if(await o.xfs.removePromise(t.other),"pnp"!==this.opts.project.configuration.get("nodeLinker"))return await o.xfs.removePromise(t.main),void await o.xfs.removePromise(n);const A=await this.locateNodeModules();if(A.length>0){this.opts.report.reportWarning(r.MessageName.DANGEROUS_NODE_MODULES,"One or more node_modules have been detected and will be removed. This operation may take some time.");for(const e of A)await o.xfs.removePromise(e)}if(this.opts.project.configuration.get("pnpEnableInlining")){const r=s.generateInlinedScript(e);await o.xfs.changeFilePromise(t.main,r,{automaticNewlines:!0}),await o.xfs.chmodPromise(t.main,493),await o.xfs.removePromise(n)}else{const r=o.ppath.relative(o.ppath.dirname(t.main),n),{dataFile:A,loaderFile:i}=s.generateSplitScript(Object.assign(Object.assign({},e),{dataLocation:r}));await o.xfs.changeFilePromise(t.main,i,{automaticNewlines:!0}),await o.xfs.chmodPromise(t.main,493),await o.xfs.changeFilePromise(n,A,{automaticNewlines:!0}),await o.xfs.chmodPromise(n,420)}const i=this.opts.project.configuration.get("pnpUnpluggedFolder");if(0===this.unpluggedPaths.size)await o.xfs.removePromise(i);else for(const e of await o.xfs.readdirPromise(i)){const t=o.ppath.resolve(i,e);this.unpluggedPaths.has(t)||await o.xfs.removePromise(t)}}async locateNodeModules(){const e=[];for(const t of this.opts.project.workspaces){const n=o.ppath.join(t.cwd,o.toFilename("node_modules"));if(!o.xfs.existsSync(n))continue;const r=await o.xfs.readdirPromise(n,{withFileTypes:!0}),A=r.filter(e=>!e.isDirectory()||".bin"===e.name||!e.name.startsWith("."));if(A.length===r.length)e.push(n);else for(const t of A)e.push(o.ppath.join(n,t.name))}return e}getUnpluggedPath(e){return o.ppath.resolve(this.opts.project.configuration.get("pnpUnpluggedFolder"),i.structUtils.slugifyLocator(e))}async unplugPackage(e,t){const n=this.getUnpluggedPath(e);return this.unpluggedPaths.add(n),await o.xfs.mkdirpPromise(n),await o.xfs.copyPromise(n,o.PortablePath.dot,{baseFs:t,overwrite:!1}),new o.CwdFS(n)}isUnplugged(e,t,n,r,{hasBuildScripts:A}){return void 0!==r.unplugged?r.unplugged:!!g.has(e.identHash)||(null!==t&&null!==t.preferUnplugged?t.preferUnplugged:!(!A&&!n.packageFs.getExtractHint({relevantExtensions:l})))}}t.PnpInstaller=h},function(e,t,n){"use strict";function r(e,t){const n=Array.from(e);Array.isArray(t)||(t=[t]);const r=[];for(const e of t)r.push(n.map(t=>e(t)));const A=n.map((e,t)=>t);return A.sort((e,t)=>{for(const n of r){const r=n[e]n[t]?1:0;if(0!==r)return r}return 0}),A.map(e=>n[e])}function A(e){const t=new Map,n=r(e.fallbackExclusionList||[],[({name:e,reference:t})=>e,({name:e,reference:t})=>t]);for(const{name:e,reference:r}of n){let n=t.get(e);void 0===n&&t.set(e,n=new Set),n.add(r)}return Array.from(t).map(([e,t])=>[e,Array.from(t)])}function i(e){return r(e.fallbackPool||[],([e])=>e)}function o(e){const t=[];for(const[n,A]of r(e.packageRegistry,([e])=>null===e?"0":`1${e}`)){const e=[];t.push([n,e]);for(const[t,{packageLocation:i,packageDependencies:o,packagePeers:s,linkType:a,discardFromLookup:c}]of r(A,([e])=>null===e?"0":`1${e}`)){const A=[];null===n||null===t||o.has(n)||A.push([n,t]);for(const[e,t]of r(o.entries(),([e])=>e))A.push([e,t]);const u=s&&s.size>0?Array.from(s):void 0,g=c||void 0;e.push([t,{packageLocation:i,packageDependencies:A,packagePeers:u,linkType:a,discardFromLookup:g}])}}return t}function s(e){return r(e.blacklistedLocations||[],e=>e)}Object.defineProperty(t,"__esModule",{value:!0}),t.sortMap=r,t.generateSerializedState=function(e){return{__info:["This file is automatically generated. Do not touch it, or risk","your modifications being lost. We also recommend you not to read","it either without using the @yarnpkg/pnp package, as the data layout","is entirely unspecified and WILL change from a version to another."],dependencyTreeRoots:e.dependencyTreeRoots,enableTopLevelFallback:e.enableTopLevelFallback||!1,ignorePatternData:e.ignorePattern||null,fallbackExclusionList:A(e),fallbackPool:i(e),locationBlacklistData:s(e),packageRegistryData:o(e)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1);t.hydrateRuntimeState=function(e,{basePath:t}){const n=r.npath.toPortablePath(t),A=null!==e.ignorePatternData?new RegExp(e.ignorePatternData):null,i=new Map(e.packageRegistryData.map(([e,t])=>[e,new Map(t.map(([e,t])=>[e,{packageLocation:r.ppath.resolve(n,t.packageLocation),packageDependencies:new Map(t.packageDependencies),packagePeers:new Set(t.packagePeers),linkType:t.linkType,discardFromLookup:t.discardFromLookup||!1}]))])),o=new Map,s=new Set;for(const[t,n]of e.packageRegistryData)for(const[e,r]of n){if(null===t!=(null===e))throw new Error("Assertion failed: The name and reference should be null, or neither should");if(r.discardFromLookup)continue;const n={name:t,reference:e};o.set(r.packageLocation,n),s.add(r.packageLocation.length)}for(const t of e.locationBlacklistData)o.set(t,null);const a=new Map(e.fallbackExclusionList.map(([e,t])=>[e,new Set(t)])),c=new Map(e.fallbackPool),u=e.dependencyTreeRoots,g=e.enableTopLevelFallback;return{basePath:n,dependencyTreeRoots:u,enableTopLevelFallback:g,fallbackExclusionList:a,fallbackPool:c,ignorePattern:A,packageLocationLengths:[...s].sort((e,t)=>t-e),packageLocatorsByLocations:o,packageRegistry:i}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1),A=n(1),i=n(302),o=n(1182);t.makeApi=function(e,t){const n=Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK)>0,s=Number(process.env.PNP_DEBUG_LEVEL),a=new Set(i.Module.builtinModules||Object.keys(process.binding("natives"))),c=/^(?![a-zA-Z]:[\\\/]|\\\\|\.{0,2}(?:\/|$))((?:@[^\/]+\/)?[^\/]+)\/*(.*|)$/,u=/^\.{0,2}\//,g=/\/$/,l={name:null,reference:null},h=[],p=new Set;if(!0===e.enableTopLevelFallback&&h.push(l),!1!==t.compatibilityMode)for(const t of["react-scripts","gatsby"]){const n=e.packageRegistry.get(t);if(n)for(const e of n.keys()){if(null===e)throw new Error("Assertion failed: This reference shouldn't be null");h.push({name:t,reference:e})}}const{ignorePattern:f,packageRegistry:C,packageLocatorsByLocations:d,packageLocationLengths:I}=e;function E(e,t){return{fn:e,args:t,error:null,result:null}}function B(e,n){if(!1===t.allowDebug)return n;if(Number.isFinite(s)){if(s>=2)return(...t)=>{const r=E(e,t);try{return r.result=n(...t)}catch(e){throw r.error=e}finally{console.trace(r)}};if(s>=1)return(...t)=>{try{return n(...t)}catch(n){const r=E(e,t);throw r.error=n,console.trace(r),n}}}return n}function y(e){const t=w(e);if(!t)throw o.makeError(o.ErrorCode.INTERNAL,"Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)");return t}function m(t){if(null===t.name)return!0;for(const n of e.dependencyTreeRoots)if(n.name===t.name&&n.reference===t.reference)return!0;return!1}function Q(e,t){return t.endsWith("/")&&(t=A.ppath.join(t,A.toFilename("internal.js"))),i.Module._resolveFilename(e,function(e){const t=new i.Module(e,null);return t.filename=e,t.paths=i.Module._nodeModulePaths(e),t}(r.npath.fromPortablePath(t)),!1,{plugnplay:!1})}function w({name:e,reference:t}){const n=C.get(e);if(!n)return null;const r=n.get(t);return r||null}function v(t){let n=(i=A.ppath.relative(e.basePath,t),r.npath.toPortablePath(i));var i;n.match(u)||(n=`./${n}`),t.match(g)&&!n.endsWith("/")&&(n=`${n}/`);let s=0;for(;sn.length;)s+=1;for(let e=s;e`${n}${e}`).find(e=>(r.push(e),t.fakeFs.existsSync(e)));if(s)return s;if(o&&o.isDirectory()){const e=i.map(e=>A.ppath.format({dir:n,name:A.toFilename("index"),ext:e})).find(e=>(r.push(e),t.fakeFs.existsSync(e)));if(e)return e}return null}}(e,r,{extensions:n});if(s)return A.ppath.normalize(s);throw o.makeError(o.ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED,`Qualified path resolution failed - none of the candidates can be found on the disk.\n\nSource path: ${e}\n${r.map(e=>`Rejected candidate: ${e}\n`).join("")}`,{unqualifiedPath:e})}return{VERSIONS:{std:3,resolveVirtual:1},topLevel:l,getLocator:(e,t)=>Array.isArray(t)?{name:t[0],reference:t[1]}:{name:e,reference:t},getDependencyTreeRoots:()=>[...e.dependencyTreeRoots],getPackageInformation:e=>{const t=w(e);if(null===t)return null;const n=r.npath.fromPortablePath(t.packageLocation);return Object.assign(Object.assign({},t),{packageLocation:n})},findPackageLocator:e=>v(r.npath.toPortablePath(e)),resolveToUnqualified:B("resolveToUnqualified",(e,t,n)=>{const A=null!==t?r.npath.toPortablePath(t):null,i=b(r.npath.toPortablePath(e),A,n);return null===i?null:r.npath.fromPortablePath(i)}),resolveUnqualified:B("resolveUnqualified",(e,t)=>r.npath.fromPortablePath(D(r.npath.toPortablePath(e),t))),resolveRequest:B("resolveRequest",(e,t,n)=>{const A=null!==t?r.npath.toPortablePath(t):null,i=function(e,t,{considerBuiltins:n,extensions:r}={}){let A=b(e,t,{considerBuiltins:n});if(null===A)return null;try{return D(A,{extensions:r})}catch(n){throw"QUALIFIED_PATH_RESOLUTION_FAILED"===n.pnpCode&&Object.assign(n.data,{request:e,issuer:t}),n}}(r.npath.toPortablePath(e),A,n);return null===i?null:r.npath.fromPortablePath(i)}),resolveVirtual:B("resolveVirtual",e=>{const t=function(e){const t=A.ppath.normalize(e),n=r.VirtualFS.resolveVirtual(t);return n!==t?n:null}(r.npath.toPortablePath(e));return null!==t?r.npath.fromPortablePath(t):null})}}},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const A=n(0),i=n(0),o=n(1),s=r(n(90));t.AbstractPnpInstaller=class{constructor(e){this.opts=e,this.packageRegistry=new Map,this.blacklistedPaths=new Set,this.opts=e}async installPackage(e,t){const n=i.structUtils.requirableIdent(e),r=e.reference,s=e.peerDependencies.size>0&&!i.structUtils.isVirtualLocator(e)&&!this.opts.project.tryWorkspaceByLocator(e),a=s?null:await A.Manifest.tryFind(t.prefixPath,{baseFs:t.packageFs}),c=s?[]:await this.getBuildScripts(e,a,t);c.length>0&&!this.opts.project.configuration.get("enableScripts")&&(this.opts.report.reportWarningOnce(A.MessageName.DISABLED_BUILD_SCRIPTS,`${i.structUtils.prettyLocator(this.opts.project.configuration,e)} lists build scripts, but all build scripts have been disabled.`),c.length=0),c.length>0&&e.linkType!==A.LinkType.HARD&&!this.opts.project.tryWorkspaceByLocator(e)&&(this.opts.report.reportWarningOnce(A.MessageName.SOFT_LINK_BUILD,`${i.structUtils.prettyLocator(this.opts.project.configuration,e)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),c.length=0);const u=this.opts.project.getDependencyMeta(e,e.version);c.length>0&&u&&!1===u.built&&(this.opts.report.reportInfoOnce(A.MessageName.BUILD_DISABLED,`${i.structUtils.prettyLocator(this.opts.project.configuration,e)} lists build scripts, but its build has been explicitly disabled through configuration.`),c.length=0);const g=s||e.linkType===A.LinkType.SOFT?t.packageFs:await this.transformPackage(e,a,t,u,{hasBuildScripts:c.length>0}),l=o.ppath.resolve(g.getRealPath(),o.ppath.relative(o.PortablePath.root,t.prefixPath)),h=this.normalizeDirectoryPath(l),p=new Map,f=new Set;if(i.structUtils.isVirtualLocator(e))for(const t of e.peerDependencies.values())p.set(i.structUtils.requirableIdent(t),null),f.add(i.structUtils.stringifyIdent(t));return i.miscUtils.getMapWithDefault(this.packageRegistry,n).set(r,{packageLocation:h,packageDependencies:p,packagePeers:f,linkType:e.linkType,discardFromLookup:t.discardFromLookup||!1}),s&&this.blacklistedPaths.add(h),{packageLocation:l,buildDirective:c.length>0?c:null}}async attachInternalDependencies(e,t){const n=this.getPackageInformation(e);for(const[e,r]of t){const t=i.structUtils.areIdentsEqual(e,r)?r.reference:[i.structUtils.requirableIdent(r),r.reference];n.packageDependencies.set(i.structUtils.requirableIdent(e),t)}}async attachExternalDependents(e,t){for(const n of t){this.getDiskInformation(n).packageDependencies.set(i.structUtils.requirableIdent(e),e.reference)}}async finalizeInstall(){this.trimBlacklistedPackages(),this.packageRegistry.set(null,new Map([[null,this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator)]]));const e=this.opts.project.configuration.get("pnpFallbackMode"),t=this.blacklistedPaths,n=this.opts.project.workspaces.map(({anchoredLocator:e})=>({name:i.structUtils.requirableIdent(e),reference:e.reference})),r="none"!==e,A=[],o=this.getPackageInformation(this.opts.project.topLevelWorkspace.anchoredLocator).packageDependencies,a=(e=>0===e.length?null:e.map(e=>`(${s.default.makeRe(e,{windows:!1}).source})`).join("|"))([".vscode/pnpify/**",...this.opts.project.configuration.get("pnpIgnorePatterns")]),c=this.packageRegistry,u=this.opts.project.configuration.get("pnpShebang");if("dependencies-only"===e)for(const e of this.opts.project.storedPackages.values())this.opts.project.tryWorkspaceByLocator(e)&&A.push({name:i.structUtils.requirableIdent(e),reference:e.reference});return await this.finalizeInstallWithPnp({blacklistedLocations:t,dependencyTreeRoots:n,enableTopLevelFallback:r,fallbackExclusionList:A,fallbackPool:o,ignorePattern:a,packageRegistry:c,shebang:u})}getPackageInformation(e){const t=i.structUtils.requirableIdent(e),n=e.reference,r=this.packageRegistry.get(t);if(!r)throw new Error(`Assertion failed: The package information store should have been available (for ${i.structUtils.prettyIdent(this.opts.project.configuration,e)})`);const A=r.get(n);if(!A)throw new Error(`Assertion failed: The package information should have been available (for ${i.structUtils.prettyLocator(this.opts.project.configuration,e)})`);return A}getDiskInformation(e){const t=i.miscUtils.getMapWithDefault(this.packageRegistry,"@@disk"),n=this.normalizeDirectoryPath(e);return i.miscUtils.getFactoryWithDefault(t,n,()=>({packageLocation:n,packageDependencies:new Map,packagePeers:new Set,linkType:A.LinkType.SOFT,discardFromLookup:!1}))}trimBlacklistedPackages(){for(const e of this.packageRegistry.values())for(const[t,n]of e)this.blacklistedPaths.has(n.packageLocation)&&e.delete(t)}normalizeDirectoryPath(e){let t=o.ppath.relative(this.opts.project.cwd,e);return t.match(/^\.{0,2}\//)||(t=`./${t}`),t.replace(/\/?$/,"/")}}},function(e,t){function n(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}n.keys=function(){return[]},n.resolve=n,e.exports=n,n.id=436},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},A=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const i=n(0),o=n(0),s=r(n(1205)),a=A(n(438));t.packUtils=a;const c=["dependencies","devDependencies","peerDependencies"],u={hooks:{beforeWorkspacePacking:(e,t)=>{t.publishConfig&&(t.publishConfig.main&&(t.main=t.publishConfig.main),t.publishConfig.browser&&(t.browser=t.publishConfig.browser),t.publishConfig.module&&(t.module=t.publishConfig.module),t.publishConfig.bin&&(t.bin=t.publishConfig.bin));const n=e.project;for(const r of c)for(const A of e.manifest.getForScope(r).values()){const e=n.tryWorkspaceByDescriptor(A),s=i.structUtils.parseRange(A.range);if("workspace:"===s.protocol)if(null===e){if(null===n.tryWorkspaceByIdent(A))throw new o.ReportError(o.MessageName.WORKSPACE_NOT_FOUND,`${i.structUtils.prettyDescriptor(n.configuration,A)}: No local workspace found for this range`)}else{let n;n=i.structUtils.areDescriptorsEqual(A,e.anchoredDescriptor)||"*"===s.selector?e.manifest.version:s.selector,t[r][i.structUtils.stringifyIdent(A)]=n}}}},commands:[s.default]};t.default=u},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const A=n(0),i=n(1),o=r(n(90)),s=n(8),a=r(n(1206)),c=n(123),u=["/package.json","/readme","/readme.*","/license","/license.*","/licence","/licence.*","/changelog","/changelog.*"],g=["/package.tgz",".github",".git",".hg","node_modules",".npmignore",".gitignore",".#*",".DS_Store"];async function l(e){const t=JSON.parse(JSON.stringify(e.manifest.raw));return await e.project.configuration.triggerHook(e=>e.beforeWorkspacePacking,e,t),t}async function h(e){const t=e.project,n=t.configuration,r={accept:[],reject:[]};for(const e of g)r.reject.push(e);for(const e of u)r.accept.push(e);r.reject.push(n.get("rcFilename"));const A=t=>{if(null===t||!t.startsWith(`${e.cwd}/`))return;const n=i.ppath.relative(e.cwd,t),A=i.ppath.resolve(i.PortablePath.root,n);r.reject.push(A)};A(i.ppath.resolve(t.cwd,n.get("lockfileFilename"))),A(n.get("bstatePath")),A(n.get("cacheFolder")),A(n.get("globalFolder")),A(n.get("installStatePath")),A(n.get("virtualFolder")),A(n.get("yarnPath")),await n.triggerHook(e=>e.populateYarnPaths,t,e=>{A(e)});for(const n of t.workspaces){const t=i.ppath.relative(e.cwd,n.cwd);""===t||t.match(/^(\.\.)?\//)||r.reject.push(`/${t}`)}const o={accept:[],reject:[]};e.manifest.publishConfig&&e.manifest.publishConfig.main?o.accept.push(i.ppath.resolve(i.PortablePath.root,e.manifest.publishConfig.main)):e.manifest.main&&o.accept.push(i.ppath.resolve(i.PortablePath.root,e.manifest.main)),e.manifest.publishConfig&&e.manifest.publishConfig.module?o.accept.push(i.ppath.resolve(i.PortablePath.root,e.manifest.publishConfig.module)):e.manifest.module&&o.accept.push(i.ppath.resolve(i.PortablePath.root,e.manifest.module));const s=null!==e.manifest.files;if(s){o.reject.push("/*");for(const t of e.manifest.files)f(o.accept,t,{cwd:i.PortablePath.root})}return await async function(e,{hasExplicitFileList:t,globalList:n,ignoreList:r}){const A=[],o=new i.JailFS(e),s=[[i.PortablePath.root,[r]]];for(;s.length>0;){const[e,r]=s.pop(),a=await o.lstatPromise(e);if(!C(e,{globalList:n,ignoreLists:a.isDirectory()?null:r}))if(a.isDirectory()){const A=await o.readdirPromise(e);let a=!1,c=!1;if(!t||e!==i.PortablePath.root)for(const e of A)a=a||".gitignore"===e,c=c||".npmignore"===e;const u=c?await p(o,e,i.toFilename(".npmignore")):a?await p(o,e,i.toFilename(".gitignore")):null;let g=null!==u?[u].concat(r):r;C(e,{globalList:n,ignoreLists:r})&&(g=[...r,{accept:[],reject:["**/*"]}]);for(const t of A)s.push([i.ppath.resolve(e,t),g])}else A.push(i.ppath.relative(i.PortablePath.root,e))}return A.sort()}(e.cwd,{hasExplicitFileList:s,globalList:r,ignoreList:o})}async function p(e,t,n){const r={accept:[],reject:[]},A=await e.readFilePromise(i.ppath.join(t,n),"utf8");for(const e of A.split(/\n/g))f(r.reject,e,{cwd:t});return r}function f(e,t,{cwd:n}){let r=t.trim();""!==r&&"#"!==r[0]&&e.push(function(e,{cwd:t}){const n="!"===e[0];return n&&(e=e.slice(1)),e.match(/\.{0,1}\//)&&(e=i.ppath.resolve(t,e)),n&&(e=`!${e}`),e}(r,{cwd:n}))}function C(e,{globalList:t,ignoreLists:n}){if(d(e,t.accept))return!1;if(d(e,t.reject))return!0;if(null!==n)for(const t of n){if(d(e,t.accept))return!1;if(d(e,t.reject))return!0}return!1}function d(e,t){let n=t,r=[];for(let e=0;e{for(const r of t){const t=i.ppath.resolve(e.cwd,r),A=i.ppath.join("package",r),o=await i.xfs.lstatPromise(t),s={name:A,mtime:new Date(315532800)};let a,c,u=new Promise((e,t)=>{a=e,c=t});const g=e=>{e?c(e):a()};if(o.isFile()){let A;A="package.json"===r?Buffer.from(JSON.stringify(await l(e),null,2)):await i.xfs.readFilePromise(t),n.entry(Object.assign(Object.assign({},s),{type:"file"}),A,g)}else o.isSymbolicLink()&&n.entry(Object.assign(Object.assign({},s),{type:"symlink",linkname:await i.xfs.readlinkPromise(t)}),g);await u}n.finalize()});const r=c.createGzip();return n.pipe(r),r},t.genPackageManifest=l,t.genPackList=h},function(e,t,n){"use strict";var r;e.exports=Q,Q.ReadableState=m;n(19).EventEmitter;var A=function(e,t){return e.listeners(t).length},i=n(440),o=n(30).Buffer,s=global.Uint8Array||function(){};var a,c=n(6);a=c&&c.debuglog?c.debuglog("stream"):function(){};var u,g,l=n(1209),h=n(441),p=n(442).getHighWaterMark,f=n(86).codes,C=f.ERR_INVALID_ARG_TYPE,d=f.ERR_STREAM_PUSH_AFTER_EOF,I=f.ERR_METHOD_NOT_IMPLEMENTED,E=f.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,B=n(1210).emitExperimentalWarning;n(61)(Q,i);var y=["error","close","destroy","pause","resume"];function m(e,t,A){r=r||n(87),e=e||{},"boolean"!=typeof A&&(A=t instanceof r),this.objectMode=!!e.objectMode,A&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=p(this,e,"readableHighWaterMark",A),this.buffer=new l,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==e.emitClose,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(u||(u=n(444).StringDecoder),this.decoder=new u(e.encoding),this.encoding=e.encoding)}function Q(e){if(r=r||n(87),!(this instanceof Q))return new Q(e);var t=this instanceof r;this._readableState=new m(e,this,t),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),i.call(this)}function w(e,t,n,r,A){a("readableAddChunk",t);var i,c=e._readableState;if(null===t)c.reading=!1,function(e,t){if(t.ended)return;if(t.decoder){var n=t.decoder.end();n&&n.length&&(t.buffer.push(n),t.length+=t.objectMode?1:n.length)}t.ended=!0,t.sync?S(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,k(e)))}(e,c);else if(A||(i=function(e,t){var n;r=t,o.isBuffer(r)||r instanceof s||"string"==typeof t||void 0===t||e.objectMode||(n=new C("chunk",["string","Buffer","Uint8Array"],t));var r;return n}(c,t)),i)e.emit("error",i);else if(c.objectMode||t&&t.length>0)if("string"==typeof t||c.objectMode||Object.getPrototypeOf(t)===o.prototype||(t=function(e){return o.from(e)}(t)),r)c.endEmitted?e.emit("error",new E):v(e,c,t,!0);else if(c.ended)e.emit("error",new d);else{if(c.destroyed)return!1;c.reading=!1,c.decoder&&!n?(t=c.decoder.write(t),c.objectMode||0!==t.length?v(e,c,t,!1):_(e,c)):v(e,c,t,!1)}else r||(c.reading=!1,_(e,c));return!c.ended&&(c.lengtht.highWaterMark&&(t.highWaterMark=function(e){return e>=b?e=b:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}function S(e){var t=e._readableState;t.needReadable=!1,t.emittedReadable||(a("emitReadable",t.flowing),t.emittedReadable=!0,process.nextTick(k,e))}function k(e){var t=e._readableState;a("emitReadable_",t.destroyed,t.length,t.ended),t.destroyed||!t.length&&!t.ended||e.emit("readable"),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,K(e)}function _(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(F,e,t))}function F(e,t){for(var n=t.length;!t.reading&&!t.ended&&t.length0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function N(e){a("readable nexttick read 0"),e.read(0)}function R(e,t){a("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),K(e),t.flowing&&!t.reading&&e.read(0)}function K(e){var t=e._readableState;for(a("flow",t.flowing);t.flowing&&null!==e.read(););}function x(e,t){return 0===t.length?null:(t.objectMode?n=t.buffer.shift():!e||e>=t.length?(n=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):n=t.buffer.consume(e,t.decoder),n);var n}function P(e){var t=e._readableState;a("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(L,t,e))}function L(e,t){a("endReadableNT",e.endEmitted,e.length),e.endEmitted||0!==e.length||(e.endEmitted=!0,t.readable=!1,t.emit("end"))}function O(e,t){for(var n=0,r=e.length;n=t.highWaterMark:t.length>0)||t.ended))return a("read: emitReadable",t.length,t.ended),0===t.length&&t.ended?P(this):S(this),null;if(0===(e=D(e,t))&&t.ended)return 0===t.length&&P(this),null;var r,A=t.needReadable;return a("need readable",A),(0===t.length||t.length-e0?x(e,t):null)?(t.needReadable=!0,e=0):(t.length-=e,t.awaitDrain=0),0===t.length&&(t.ended||(t.needReadable=!0),n!==e&&t.ended&&P(this)),null!==r&&this.emit("data",r),r},Q.prototype._read=function(e){this.emit("error",new I("_read()"))},Q.prototype.pipe=function(e,t){var n=this,r=this._readableState;switch(r.pipesCount){case 0:r.pipes=e;break;case 1:r.pipes=[r.pipes,e];break;default:r.pipes.push(e)}r.pipesCount+=1,a("pipe count=%d opts=%j",r.pipesCount,t);var i=(!t||!1!==t.end)&&e!==process.stdout&&e!==process.stderr?s:f;function o(t,A){a("onunpipe"),t===n&&A&&!1===A.hasUnpiped&&(A.hasUnpiped=!0,a("cleanup"),e.removeListener("close",h),e.removeListener("finish",p),e.removeListener("drain",c),e.removeListener("error",l),e.removeListener("unpipe",o),n.removeListener("end",s),n.removeListener("end",f),n.removeListener("data",g),u=!0,!r.awaitDrain||e._writableState&&!e._writableState.needDrain||c())}function s(){a("onend"),e.end()}r.endEmitted?process.nextTick(i):n.once("end",i),e.on("unpipe",o);var c=function(e){return function(){var t=e._readableState;a("pipeOnDrain",t.awaitDrain),t.awaitDrain&&t.awaitDrain--,0===t.awaitDrain&&A(e,"data")&&(t.flowing=!0,K(e))}}(n);e.on("drain",c);var u=!1;function g(t){a("ondata");var A=e.write(t);a("dest.write",A),!1===A&&((1===r.pipesCount&&r.pipes===e||r.pipesCount>1&&-1!==O(r.pipes,e))&&!u&&(a("false write response, pause",r.awaitDrain),r.awaitDrain++),n.pause())}function l(t){a("onerror",t),f(),e.removeListener("error",l),0===A(e,"error")&&e.emit("error",t)}function h(){e.removeListener("finish",p),f()}function p(){a("onfinish"),e.removeListener("close",h),f()}function f(){a("unpipe"),n.unpipe(e)}return n.on("data",g),function(e,t,n){if("function"==typeof e.prependListener)return e.prependListener(t,n);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(n):e._events[t]=[n,e._events[t]]:e.on(t,n)}(e,"error",l),e.once("close",h),e.once("finish",p),e.emit("pipe",n),r.flowing||(a("pipe resume"),n.resume()),e},Q.prototype.unpipe=function(e){var t=this._readableState,n={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,n),this);if(!e){var r=t.pipes,A=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var i=0;i0,!1!==r.flowing&&this.resume()):"readable"===e&&(r.endEmitted||r.readableListening||(r.readableListening=r.needReadable=!0,r.flowing=!1,r.emittedReadable=!1,a("on readable",r.length,r.reading),r.length?S(this):r.reading||process.nextTick(N,this))),n},Q.prototype.addListener=Q.prototype.on,Q.prototype.removeListener=function(e,t){var n=i.prototype.removeListener.call(this,e,t);return"readable"===e&&process.nextTick(M,this),n},Q.prototype.removeAllListeners=function(e){var t=i.prototype.removeAllListeners.apply(this,arguments);return"readable"!==e&&void 0!==e||process.nextTick(M,this),t},Q.prototype.resume=function(){var e=this._readableState;return e.flowing||(a("resume"),e.flowing=!e.readableListening,function(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(R,e,t))}(this,e)),e.paused=!1,this},Q.prototype.pause=function(){return a("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(a("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},Q.prototype.wrap=function(e){var t=this,n=this._readableState,r=!1;for(var A in e.on("end",(function(){if(a("wrapped end"),n.decoder&&!n.ended){var e=n.decoder.end();e&&e.length&&t.push(e)}t.push(null)})),e.on("data",(function(A){(a("wrapped data"),n.decoder&&(A=n.decoder.write(A)),n.objectMode&&null==A)||(n.objectMode||A&&A.length)&&(t.push(A)||(r=!0,e.pause()))})),e)void 0===this[A]&&"function"==typeof e[A]&&(this[A]=function(t){return function(){return e[t].apply(e,arguments)}}(A));for(var i=0;i-1))throw new B(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(Q.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(Q.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Q.prototype._write=function(e,t,n){n(new p("_write()"))},Q.prototype._writev=null,Q.prototype.end=function(e,t,n){var r=this._writableState;return"function"==typeof e?(n=e,e=null,t=null):"function"==typeof t&&(n=t,t=null),null!=e&&this.write(e,t),r.corked&&(r.corked=1,this.uncork()),r.ending||function(e,t,n){t.ending=!0,k(e,t),n&&(t.finished?process.nextTick(n):e.once("finish",n));t.ended=!0,e.writable=!1}(this,r,n),this},Object.defineProperty(Q.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(Q.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),Q.prototype.destroy=u.destroy,Q.prototype._undestroy=u.undestroy,Q.prototype._destroy=function(e,t){t(e)}},function(e,t,n){"use strict";var r=n(200).Buffer,A=r.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function i(e){var t;switch(this.encoding=function(e){var t=function(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(r.isEncoding===A||!A(e)))throw new Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=a,this.end=c,t=4;break;case"utf8":this.fillLast=s,t=4;break;case"base64":this.text=u,this.end=g,t=3;break;default:return this.write=l,void(this.end=h)}this.lastNeed=0,this.lastTotal=0,this.lastChar=r.allocUnsafe(t)}function o(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function s(e){var t=this.lastTotal-this.lastNeed,n=function(e,t,n){if(128!=(192&t[0]))return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if(128!=(192&t[1]))return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&128!=(192&t[2]))return e.lastNeed=2,"�"}}(this,e);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(e.copy(this.lastChar,t,0,e.length),void(this.lastNeed-=e.length))}function a(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function c(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function u(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function g(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function l(e){return e.toString(this.encoding)}function h(e){return e&&e.length?this.write(e):""}t.StringDecoder=i,i.prototype.write=function(e){if(0===e.length)return"";var t,n;if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n=0)return A>0&&(e.lastNeed=A-1),A;if(--r=0)return A>0&&(e.lastNeed=A-2),A;if(--r=0)return A>0&&(2===A?A=0:e.lastNeed=A-3),A;return 0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",t,r)},i.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}},function(e,t,n){"use strict";e.exports=u;var r=n(86).codes,A=r.ERR_METHOD_NOT_IMPLEMENTED,i=r.ERR_MULTIPLE_CALLBACK,o=r.ERR_TRANSFORM_ALREADY_TRANSFORMING,s=r.ERR_TRANSFORM_WITH_LENGTH_0,a=n(87);function c(e,t){var n=this._transformState;n.transforming=!1;var r=n.writecb;if(null===r)return this.emit("error",new i);n.writechunk=null,n.writecb=null,null!=t&&this.push(t),r(e);var A=this._readableState;A.reading=!1,(A.needReadable||A.lengtht?"7777777777777777777".slice(0,t)+" ":"0000000000000000000".slice(0,t-e.length)+e+" "};var a=function(e,t,n){if(128&(e=e.slice(t,t+n))[t=0])return function(e){var t;if(128===e[0])t=!0;else{if(255!==e[0])return null;t=!1}for(var n=!1,r=[],A=e.length-1;A>0;A--){var i=e[A];t?r.push(i):n&&0===i?r.push(0):n?(n=!1,r.push(256-i)):r.push(255-i)}var o=0,s=r.length;for(A=0;A=o?o:A>=0?A:(A+=o)>=0?A:0);t=Math.pow(10,n)&&n++,t+n+e};t.decodeLongPath=function(e,t){return c(e,0,e.length,t)},t.encodePax=function(e){var t="";e.name&&(t+=u(" path="+e.name+"\n")),e.linkname&&(t+=u(" linkpath="+e.linkname+"\n"));var n=e.pax;if(n)for(var r in n)t+=u(" "+r+"="+n[r]+"\n");return Buffer.from(t)},t.decodePax=function(e){for(var t={};e.length;){for(var n=0;n100;){var c=i.indexOf("/");if(-1===c)return null;a+=a?"/"+i.slice(0,c):i.slice(0,c),i=i.slice(c+1)}return Buffer.byteLength(i)>100||Buffer.byteLength(a)>155?null:e.linkname&&Buffer.byteLength(e.linkname)>100?null:(t.write(i),t.write(s(e.mode&A,6),100),t.write(s(e.uid,6),108),t.write(s(e.gid,6),116),t.write(s(e.size,11),124),t.write(s(e.mtime.getTime()/1e3|0,11),136),t[156]=r+function(e){switch(e){case"file":return 0;case"link":return 1;case"symlink":return 2;case"character-device":return 3;case"block-device":return 4;case"directory":return 5;case"fifo":return 6;case"contiguous-file":return 7;case"pax-header":return 72}return 0}(e.type),e.linkname&&t.write(e.linkname,157),t.write("ustar\x0000",257),e.uname&&t.write(e.uname,265),e.gname&&t.write(e.gname,297),t.write(s(e.devmajor||0,6),329),t.write(s(e.devminor||0,6),337),a&&t.write(a,345),t.write(s(o(t),6),148),t)},t.decode=function(e,t){var n=0===e[156]?0:e[156]-r,A=c(e,0,100,t),i=a(e,100,8),s=a(e,108,8),u=a(e,116,8),g=a(e,124,12),l=a(e,136,12),h=function(e){switch(e){case 0:return"file";case 1:return"link";case 2:return"symlink";case 3:return"character-device";case 4:return"block-device";case 5:return"directory";case 6:return"fifo";case 7:return"contiguous-file";case 72:return"pax-header";case 55:return"pax-global-header";case 27:return"gnu-long-link-path";case 28:case 30:return"gnu-long-path"}return null}(n),p=0===e[157]?null:c(e,157,100,t),f=c(e,265,32),C=c(e,297,32),d=a(e,329,8),I=a(e,337,8);e[345]&&(A=c(e,345,155,t)+"/"+A),0===n&&A&&"/"===A[A.length-1]&&(n=5);var E=o(e);if(256===E)return null;if(E!==a(e,148,8))throw new Error("Invalid tar header. Maybe the tar is corrupted or it needs to be gunzipped?");return{name:A,mode:i,uid:s,gid:u,size:g,mtime:new Date(1e3*l),type:h,linkname:p,uname:f,gname:C,devmajor:d,devminor:I}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(448);t.BaseCommand=r.BaseCommand;var A=n(449);t.WorkspaceRequiredError=A.WorkspaceRequiredError;var i=n(450);t.getDynamicLibs=i.getDynamicLibs;var o=n(1231);t.getPluginConfiguration=o.getPluginConfiguration;var s=n(1233);t.openWorkspace=s.openWorkspace;var a=n(1234);t.main=a.main},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(2);class i extends A.Command{}r([A.Command.String("--cwd",{hidden:!0})],i.prototype,"cwd",void 0),t.BaseCommand=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(0),A=n(1),i=n(2);class o extends i.UsageError{constructor(e,t){super(`This command can only be run from within a workspace of your project (${A.ppath.relative(e,t)} isn't a workspace of ${A.ppath.join(e,r.Manifest.fileName)}).`)}}t.WorkspaceRequiredError=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=["@yarnpkg/cli","@yarnpkg/core","@yarnpkg/fslib","@yarnpkg/libzip","@yarnpkg/parsers","@yarnpkg/shell","clipanion","semver","yup"];t.getDynamicLibs=()=>new Map(r.map(e=>[e,n(451)(e)]))},function(e,t){function n(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}n.keys=function(){return[]},n.resolve=n,e.exports=n,n.id=451},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(453);const r=n(0),A=n(322),i=n(324);A.main({binaryVersion:r.YarnVersion||"",pluginConfiguration:i.getPluginConfiguration()})},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const A=r(n(454));Object.fromEntries||(Object.fromEntries=A.default)},function(e,t){e.exports=function(e){return[...e].reduce((e,[t,n])=>(e[t]=n,e),{})}},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const A=r(n(3)),i=n(18);async function o(e,t,n,r,s,a,c){const u=await async function(e,t){try{return await e.lstatPromise(t)}catch(e){return null}}(n,r),g=await s.lstatPromise(a);switch(t.push([r,g.atime,g.mtime]),!0){case g.isDirectory():await async function(e,t,n,r,A,i,s,a,c){if(null!==A&&!A.isDirectory()){if(!c.overwrite)return;e.push(async()=>n.removePromise(r)),A=null}null===A&&e.push(async()=>n.mkdirPromise(r,{mode:a.mode}));const u=await i.readdirPromise(s);await Promise.all(u.map(async A=>{await o(e,t,n,n.pathUtils.join(r,A),i,i.pathUtils.join(s,A),c)}))}(e,t,n,r,u,s,a,g,c);break;case g.isFile():await async function(e,t,n,r,i,o,s,a,c){if(null!==i){if(!c.overwrite)return;e.push(async()=>n.removePromise(r)),i=null}n===o?e.push(async()=>n.copyFilePromise(s,r,A.default.constants.COPYFILE_FICLONE)):e.push(async()=>n.writeFilePromise(r,await o.readFilePromise(s)))}(e,0,n,r,u,s,a,0,c);break;case g.isSymbolicLink():await async function(e,t,n,r,A,o,s,a,c){if(null!==A){if(!c.overwrite)return;e.push(async()=>n.removePromise(r)),A=null}const u=await o.readlinkPromise(s);e.push(async()=>n.symlinkPromise(i.convertPath(n.pathUtils,u),r))}(e,0,n,r,u,s,a,0,c);break;default:throw new Error(`Unsupported file type (${g.mode})`)}e.push(async()=>n.chmodPromise(r,511&g.mode))}t.copyPromise=async function(e,t,n,r,A){const i=e.pathUtils.normalize(t),s=n.pathUtils.normalize(r),a=[],c=[];await e.mkdirpPromise(t),await o(a,c,e,i,n,s,A);for(const e of a)await e();for(const[t,n,r]of c)await e.utimesPromise(t,n,r)}},function(e,t,n){"use strict";function r(e,t){return Object.assign(new Error(`${e}: ${t}`),{code:e})}Object.defineProperty(t,"__esModule",{value:!0}),t.EBUSY=function(e){return r("EBUSY",e)},t.ENOSYS=function(e,t){return r("ENOSYS",`${e}, ${t}`)},t.EINVAL=function(e){return r("EINVAL",`invalid argument, ${e}`)},t.EBADF=function(e){return r("EBADF",`bad file descriptor, ${e}`)},t.ENOENT=function(e){return r("ENOENT",`no such file or directory, ${e}`)},t.ENOTDIR=function(e){return r("ENOTDIR",`not a directory, ${e}`)},t.EISDIR=function(e){return r("EISDIR",`illegal operation on a directory, ${e}`)},t.EEXIST=function(e){return r("EEXIST",`file already exists, ${e}`)},t.EROFS=function(e){return r("EROFS",`read-only filesystem, ${e}`)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(53);class A extends r.ProxiedFS{constructor(e,{baseFs:t,pathUtils:n}){super(n),this.target=e,this.baseFs=t}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(e){return e}mapToBase(e){return e}}t.AliasFS=A},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(51),A=n(53),i=n(18);class o extends A.ProxiedFS{constructor(e,{baseFs:t=new r.NodeFS}={}){super(i.ppath),this.target=e,this.baseFs=t}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}mapFromBase(e){return this.pathUtils.relative(this.getRealPath(),e)}mapToBase(e){return this.pathUtils.resolve(this.getRealPath(),e)}}t.CwdFS=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(51),A=n(53),i=n(18),o=i.PortablePath.root;class s extends A.ProxiedFS{constructor(e,{baseFs:t=new r.NodeFS}={}){super(i.ppath),this.target=this.pathUtils.resolve(i.PortablePath.root,e),this.baseFs=t}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(i.PortablePath.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(e){const t=this.pathUtils.normalize(e);if(this.pathUtils.isAbsolute(e))return this.pathUtils.resolve(this.target,this.pathUtils.relative(o,e));if(t.match(/^\.\.\//))throw new Error(`Resolving this path (${e}) would escape the jail`);return this.pathUtils.resolve(this.target,e)}mapFromBase(e){return this.pathUtils.resolve(o,this.pathUtils.relative(this.target,e))}}t.JailFS=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(53);class A extends r.ProxiedFS{constructor(e,t){super(t),this.instance=null,this.factory=e}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(e){this.instance=e}mapFromBase(e){return e}mapToBase(e){return e}}t.LazyFS=A},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(52),A=n(18),i=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"});class o extends r.FakeFS{constructor(){super(A.ppath)}getExtractHint(){throw i()}getRealPath(){throw i()}resolve(){throw i()}async openPromise(){throw i()}openSync(){throw i()}async readPromise(){throw i()}readSync(){throw i()}async writePromise(){throw i()}writeSync(){throw i()}async closePromise(){throw i()}closeSync(){throw i()}createWriteStream(){throw i()}createReadStream(){throw i()}async realpathPromise(){throw i()}realpathSync(){throw i()}async readdirPromise(){throw i()}readdirSync(){throw i()}async existsPromise(e){throw i()}existsSync(e){throw i()}async accessPromise(){throw i()}accessSync(){throw i()}async statPromise(){throw i()}statSync(){throw i()}async lstatPromise(e){throw i()}lstatSync(e){throw i()}async chmodPromise(){throw i()}chmodSync(){throw i()}async mkdirPromise(){throw i()}mkdirSync(){throw i()}async rmdirPromise(){throw i()}rmdirSync(){throw i()}async symlinkPromise(){throw i()}symlinkSync(){throw i()}async renamePromise(){throw i()}renameSync(){throw i()}async copyFilePromise(){throw i()}copyFileSync(){throw i()}async appendFilePromise(){throw i()}appendFileSync(){throw i()}async writeFilePromise(){throw i()}writeFileSync(){throw i()}async unlinkPromise(){throw i()}unlinkSync(){throw i()}async utimesPromise(){throw i()}utimesSync(){throw i()}async readFilePromise(){throw i()}readFileSync(){throw i()}async readlinkPromise(){throw i()}readlinkSync(){throw i()}watch(){throw i()}}t.NoFS=o,o.instance=new o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(53),A=n(18);class i extends r.ProxiedFS{constructor(e){super(A.npath),this.baseFs=e}mapFromBase(e){return A.npath.fromPortablePath(e)}mapToBase(e){return A.npath.toPortablePath(e)}}t.PosixFS=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(51),A=n(53),i=n(18),o=/^[0-9]+$/,s=/^(\/(?:[^\/]+\/)*?\$\$virtual)((?:\/((?:[^\/]+-)?[a-f0-9]+)(?:\/([^\/]+))?)?((?:\/.*)?))$/,a=/^([^\/]+-)?[a-f0-9]+$/;class c extends A.ProxiedFS{constructor({baseFs:e=new r.NodeFS}={}){super(i.ppath),this.baseFs=e}static makeVirtualPath(e,t,n){if("$$virtual"!==i.ppath.basename(e))throw new Error('Assertion failed: Virtual folders must be named "$$virtual"');if(!i.ppath.basename(t).match(a))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");const r=i.ppath.relative(i.ppath.dirname(e),n).split("/");let A=0;for(;Aawait this.baseFs.openPromise(e,t,n),async(e,{subPath:r})=>this.remapFd(e,await e.openPromise(r,t,n)))}openSync(e,t,n){return this.makeCallSync(e,()=>this.baseFs.openSync(e,t,n),(e,{subPath:r})=>this.remapFd(e,e.openSync(r,t,n)))}async readPromise(e,t,n,r,A){if(0==(e&a))return await this.baseFs.readPromise(e,t,n,r,A);const i=this.fdMap.get(e);if(void 0===i)throw Object.assign(new Error("EBADF: bad file descriptor, read"),{code:"EBADF"});const[o,s]=i;return await o.readPromise(s,t,n,r,A)}readSync(e,t,n,r,A){if(0==(e&a))return this.baseFs.readSync(e,t,n,r,A);const i=this.fdMap.get(e);if(void 0===i)throw Object.assign(new Error("EBADF: bad file descriptor, read"),{code:"EBADF"});const[o,s]=i;return o.readSync(s,t,n,r,A)}async writePromise(e,t,n,r,A){if(0==(e&a))return"string"==typeof t?await this.baseFs.writePromise(e,t,n):await this.baseFs.writePromise(e,t,n,r,A);const i=this.fdMap.get(e);if(void 0===i)throw Object.assign(new Error("EBADF: bad file descriptor, write"),{code:"EBADF"});const[o,s]=i;return"string"==typeof t?await o.writePromise(s,t,n):await o.writePromise(s,t,n,r,A)}writeSync(e,t,n,r,A){if(0==(e&a))return"string"==typeof t?this.baseFs.writeSync(e,t,n):this.baseFs.writeSync(e,t,n,r,A);const i=this.fdMap.get(e);if(void 0===i)throw Object.assign(new Error("EBADF: bad file descriptor, write"),{code:"EBADF"});const[o,s]=i;return"string"==typeof t?o.writeSync(s,t,n):o.writeSync(s,t,n,r,A)}async closePromise(e){if(0==(e&a))return await this.baseFs.closePromise(e);const t=this.fdMap.get(e);if(void 0===t)throw Object.assign(new Error("EBADF: bad file descriptor, close"),{code:"EBADF"});this.fdMap.delete(e);const[n,r]=t;return await n.closePromise(r)}closeSync(e){if(0==(e&a))return this.baseFs.closeSync(e);const t=this.fdMap.get(e);if(void 0===t)throw Object.assign(new Error("EBADF: bad file descriptor, close"),{code:"EBADF"});this.fdMap.delete(e);const[n,r]=t;return n.closeSync(r)}createReadStream(e,t){return null===e?this.baseFs.createReadStream(e,t):this.makeCallSync(e,()=>this.baseFs.createReadStream(e,t),(e,{subPath:n})=>e.createReadStream(n,t))}createWriteStream(e,t){return null===e?this.baseFs.createWriteStream(e,t):this.makeCallSync(e,()=>this.baseFs.createWriteStream(e,t),(e,{subPath:n})=>e.createWriteStream(n,t))}async realpathPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.realpathPromise(e),async(e,{archivePath:t,subPath:n})=>this.pathUtils.resolve(await this.baseFs.realpathPromise(t),this.pathUtils.relative(s.PortablePath.root,await e.realpathPromise(n))))}realpathSync(e){return this.makeCallSync(e,()=>this.baseFs.realpathSync(e),(e,{archivePath:t,subPath:n})=>this.pathUtils.resolve(this.baseFs.realpathSync(t),this.pathUtils.relative(s.PortablePath.root,e.realpathSync(n))))}async existsPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.existsPromise(e),async(e,{subPath:t})=>await e.existsPromise(t))}existsSync(e){return this.makeCallSync(e,()=>this.baseFs.existsSync(e),(e,{subPath:t})=>e.existsSync(t))}async accessPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.accessPromise(e,t),async(e,{subPath:n})=>await e.accessPromise(n,t))}accessSync(e,t){return this.makeCallSync(e,()=>this.baseFs.accessSync(e,t),(e,{subPath:n})=>e.accessSync(n,t))}async statPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.statPromise(e),async(e,{subPath:t})=>await e.statPromise(t))}statSync(e){return this.makeCallSync(e,()=>this.baseFs.statSync(e),(e,{subPath:t})=>e.statSync(t))}async lstatPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.lstatPromise(e),async(e,{subPath:t})=>await e.lstatPromise(t))}lstatSync(e){return this.makeCallSync(e,()=>this.baseFs.lstatSync(e),(e,{subPath:t})=>e.lstatSync(t))}async chmodPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.chmodPromise(e,t),async(e,{subPath:n})=>await e.chmodPromise(n,t))}chmodSync(e,t){return this.makeCallSync(e,()=>this.baseFs.chmodSync(e,t),(e,{subPath:n})=>e.chmodSync(n,t))}async renamePromise(e,t){return await this.makeCallPromise(e,async()=>await this.makeCallPromise(t,async()=>await this.baseFs.renamePromise(e,t),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(e,{subPath:n})=>await this.makeCallPromise(t,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(t,{subPath:r})=>{if(e!==t)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await e.renamePromise(n,r)}))}renameSync(e,t){return this.makeCallSync(e,()=>this.makeCallSync(t,()=>this.baseFs.renameSync(e,t),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(e,{subPath:n})=>this.makeCallSync(t,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(t,{subPath:r})=>{if(e!==t)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return e.renameSync(n,r)}))}async copyFilePromise(e,t,n=0){const A=async(e,t,A,i)=>{if(0!=(n&r.constants.COPYFILE_FICLONE_FORCE))throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${t}' -> ${i}'`),{code:"EXDEV"});if(n&r.constants.COPYFILE_EXCL&&await this.existsPromise(t))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${t}' -> '${i}'`),{code:"EEXIST"});let o;try{o=await e.readFilePromise(t)}catch(e){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${t}' -> '${i}'`),{code:"EINVAL"})}await A.writeFilePromise(i,o)};return await this.makeCallPromise(e,async()=>await this.makeCallPromise(t,async()=>await this.baseFs.copyFilePromise(e,t,n),async(t,{subPath:n})=>await A(this.baseFs,e,t,n)),async(e,{subPath:r})=>await this.makeCallPromise(t,async()=>await A(e,r,this.baseFs,t),async(t,{subPath:i})=>e!==t?await A(e,r,t,i):await e.copyFilePromise(r,i,n)))}copyFileSync(e,t,n=0){const A=(e,t,A,i)=>{if(0!=(n&r.constants.COPYFILE_FICLONE_FORCE))throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${t}' -> ${i}'`),{code:"EXDEV"});if(n&r.constants.COPYFILE_EXCL&&this.existsSync(t))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${t}' -> '${i}'`),{code:"EEXIST"});let o;try{o=e.readFileSync(t)}catch(e){throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${t}' -> '${i}'`),{code:"EINVAL"})}A.writeFileSync(i,o)};return this.makeCallSync(e,()=>this.makeCallSync(t,()=>this.baseFs.copyFileSync(e,t,n),(t,{subPath:n})=>A(this.baseFs,e,t,n)),(e,{subPath:r})=>this.makeCallSync(t,()=>A(e,r,this.baseFs,t),(t,{subPath:i})=>e!==t?A(e,r,t,i):e.copyFileSync(r,i,n)))}async appendFilePromise(e,t,n){return await this.makeCallPromise(e,async()=>await this.baseFs.appendFilePromise(e,t,n),async(e,{subPath:r})=>await e.appendFilePromise(r,t,n))}appendFileSync(e,t,n){return this.makeCallSync(e,()=>this.baseFs.appendFileSync(e,t,n),(e,{subPath:r})=>e.appendFileSync(r,t,n))}async writeFilePromise(e,t,n){return await this.makeCallPromise(e,async()=>await this.baseFs.writeFilePromise(e,t,n),async(e,{subPath:r})=>await e.writeFilePromise(r,t,n))}writeFileSync(e,t,n){return this.makeCallSync(e,()=>this.baseFs.writeFileSync(e,t,n),(e,{subPath:r})=>e.writeFileSync(r,t,n))}async unlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.unlinkPromise(e),async(e,{subPath:t})=>await e.unlinkPromise(t))}unlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.unlinkSync(e),(e,{subPath:t})=>e.unlinkSync(t))}async utimesPromise(e,t,n){return await this.makeCallPromise(e,async()=>await this.baseFs.utimesPromise(e,t,n),async(e,{subPath:r})=>await e.utimesPromise(r,t,n))}utimesSync(e,t,n){return this.makeCallSync(e,()=>this.baseFs.utimesSync(e,t,n),(e,{subPath:r})=>e.utimesSync(r,t,n))}async mkdirPromise(e,t){return await this.makeCallPromise(e,async()=>await this.baseFs.mkdirPromise(e,t),async(e,{subPath:n})=>await e.mkdirPromise(n,t))}mkdirSync(e,t){return this.makeCallSync(e,()=>this.baseFs.mkdirSync(e,t),(e,{subPath:n})=>e.mkdirSync(n,t))}async rmdirPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.rmdirPromise(e),async(e,{subPath:t})=>await e.rmdirPromise(t))}rmdirSync(e){return this.makeCallSync(e,()=>this.baseFs.rmdirSync(e),(e,{subPath:t})=>e.rmdirSync(t))}async symlinkPromise(e,t,n){return await this.makeCallPromise(t,async()=>await this.baseFs.symlinkPromise(e,t,n),async(t,{subPath:n})=>await t.symlinkPromise(e,n))}symlinkSync(e,t,n){return this.makeCallSync(t,()=>this.baseFs.symlinkSync(e,t,n),(t,{subPath:n})=>t.symlinkSync(e,n))}async readFilePromise(e,t){return this.makeCallPromise(e,async()=>{switch(t){case"utf8":default:return await this.baseFs.readFilePromise(e,t)}},async(e,{subPath:n})=>await e.readFilePromise(n,t))}readFileSync(e,t){return this.makeCallSync(e,()=>{switch(t){case"utf8":default:return this.baseFs.readFileSync(e,t)}},(e,{subPath:n})=>e.readFileSync(n,t))}async readdirPromise(e,{withFileTypes:t}={}){return await this.makeCallPromise(e,async()=>await this.baseFs.readdirPromise(e,{withFileTypes:t}),async(e,{subPath:n})=>await e.readdirPromise(n,{withFileTypes:t}),{requireSubpath:!1})}readdirSync(e,{withFileTypes:t}={}){return this.makeCallSync(e,()=>this.baseFs.readdirSync(e,{withFileTypes:t}),(e,{subPath:n})=>e.readdirSync(n,{withFileTypes:t}),{requireSubpath:!1})}async readlinkPromise(e){return await this.makeCallPromise(e,async()=>await this.baseFs.readlinkPromise(e),async(e,{subPath:t})=>await e.readlinkPromise(t))}readlinkSync(e){return this.makeCallSync(e,()=>this.baseFs.readlinkSync(e),(e,{subPath:t})=>e.readlinkSync(t))}watch(e,t,n){return this.makeCallSync(e,()=>this.baseFs.watch(e,t,n),(e,{subPath:r})=>e.watch(r,t,n))}async makeCallPromise(e,t,n,{requireSubpath:r=!0}={}){if("string"!=typeof e)return await t();const A=this.pathUtils.normalize(this.pathUtils.resolve(s.PortablePath.root,e)),i=this.findZip(A);return i?r&&"/"===i.subPath?await t():await this.getZipPromise(i.archivePath,async e=>await n(e,i)):await t()}makeCallSync(e,t,n,{requireSubpath:r=!0}={}){if("string"!=typeof e)return t();const A=this.pathUtils.normalize(this.pathUtils.resolve(s.PortablePath.root,e)),i=this.findZip(A);return i?r&&"/"===i.subPath?t():this.getZipSync(i.archivePath,e=>n(e,i)):t()}findZip(e){if(this.filter&&!this.filter.test(e))return null;const t=e.split(/\//g);for(let e=2;e<=t.length;++e){const n=t.slice(0,e).join("/");if(this.notZip.has(n))continue;if(this.isZip.has(n))return{archivePath:n,subPath:this.pathUtils.resolve(s.PortablePath.root,t.slice(e).join("/"))};let r,A=n;for(;;){try{r=this.baseFs.lstatSync(A)}catch(e){return null}if(!r.isSymbolicLink())break;A=this.pathUtils.resolve(this.pathUtils.dirname(A),this.baseFs.readlinkSync(A))}if(r.isFile()&&".zip"===this.pathUtils.extname(A))return this.isZip.add(n),{archivePath:n,subPath:this.pathUtils.resolve(s.PortablePath.root,t.slice(e).join("/"))};if(this.notZip.add(n),r.isFile())return null}return null}limitOpenFiles(e){if(null===this.zipInstances)return;let t=this.zipInstances.size-e;for(const[e,n]of this.zipInstances.entries()){if(t<=0)break;n.saveAndClose(),this.zipInstances.delete(e),t-=1}}async getZipPromise(e,t){const n=async()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:await this.baseFs.statPromise(e)});if(this.zipInstances){let r=this.zipInstances.get(e);if(!r){const t=await n();(r=this.zipInstances.get(e))||(r=new o.ZipFS(e,t))}return this.zipInstances.delete(e),this.zipInstances.set(e,r),this.limitOpenFiles(this.maxOpenFiles),await t(r)}{const r=new o.ZipFS(e,await n());try{return await t(r)}finally{r.saveAndClose()}}}getZipSync(e,t){const n=()=>({baseFs:this.baseFs,libzip:this.libzip,readOnly:this.readOnlyArchives,stats:this.baseFs.statSync(e)});if(this.zipInstances){let r=this.zipInstances.get(e);return r||(r=new o.ZipFS(e,n())),this.zipInstances.delete(e),this.zipInstances.set(e,r),this.limitOpenFiles(this.maxOpenFiles),t(r)}{const r=new o.ZipFS(e,n());try{return t(r)}finally{r.saveAndClose()}}}}t.ZipOpenFS=c},function(e,t,n){"use strict";const r=n(4),A=n(466),i=n(467),o=n(473),s=n(474),a=n(477),c="win32"===process.platform,u=/\.(?:com|exe)$/i,g=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i,l=A(()=>a.satisfies(process.version,"^4.8.0 || ^5.7.0 || >= 6.0.0",!0))||!1;function h(e){if(!c)return e;const t=function(e){e.file=i(e);const t=e.file&&s(e.file);return t?(e.args.unshift(e.file),e.command=t,i(e)):e.file}(e),n=!u.test(t);if(e.options.forceShell||n){const n=g.test(t);e.command=r.normalize(e.command),e.command=o.command(e.command),e.args=e.args.map(e=>o.argument(e,n));const A=[e.command].concat(e.args).join(" ");e.args=["/d","/s","/c",`"${A}"`],e.command=process.env.comspec||"cmd.exe",e.options.windowsVerbatimArguments=!0}return e}e.exports=function(e,t,n){t&&!Array.isArray(t)&&(n=t,t=null);const r={command:e,args:t=t?t.slice(0):[],options:n=Object.assign({},n),file:void 0,original:{command:e,args:t}};return n.shell?function(e){if(l)return e;const t=[e.command].concat(e.args).join(" ");return c?(e.command="string"==typeof e.options.shell?e.options.shell:process.env.comspec||"cmd.exe",e.args=["/d","/s","/c",`"${t}"`],e.options.windowsVerbatimArguments=!0):("string"==typeof e.options.shell?e.command=e.options.shell:"android"===process.platform?e.command="/system/bin/sh":e.command="/bin/sh",e.args=["-c",t]),e}(r):h(r)}},function(e,t,n){"use strict";e.exports=function(e){try{return e()}catch(e){}}},function(e,t,n){"use strict";const r=n(4),A=n(468),i=n(472)();function o(e,t){const n=process.cwd(),o=null!=e.options.cwd;if(o)try{process.chdir(e.options.cwd)}catch(e){}let s;try{s=A.sync(e.command,{path:(e.options.env||process.env)[i],pathExt:t?r.delimiter:void 0})}catch(e){}finally{process.chdir(n)}return s&&(s=r.resolve(o?e.options.cwd:"",s)),s}e.exports=function(e){return o(e)||o(e,!0)}},function(e,t,n){e.exports=c,c.sync=function(e,t){for(var n=a(e,t=t||{}),r=n.env,i=n.ext,c=n.extExe,u=[],g=0,l=r.length;g{const t=(e=e||{}).env||process.env;return"win32"!==(e.platform||process.platform)?"PATH":Object.keys(t).find(e=>"PATH"===e.toUpperCase())||"Path"}},function(e,t,n){"use strict";const r=/([()\][%!^"`<>&|;, *?])/g;e.exports.command=function(e){return e=e.replace(r,"^$1")},e.exports.argument=function(e,t){return e=(e=`"${e=(e=(e=`${e}`).replace(/(\\*)"/g,'$1$1\\"')).replace(/(\\*)$/,"$1$1")}"`).replace(r,"^$1"),t&&(e=e.replace(r,"^$1")),e}},function(e,t,n){"use strict";const r=n(3),A=n(475);e.exports=function(e){let t,n;Buffer.alloc?t=Buffer.alloc(150):(t=new Buffer(150)).fill(0);try{n=r.openSync(e,"r"),r.readSync(n,t,0,150,0),r.closeSync(n)}catch(e){}return A(t.toString())}},function(e,t,n){"use strict";var r=n(476);e.exports=function(e){var t=e.match(r);if(!t)return null;var n=t[0].replace(/#! ?/,"").split(" "),A=n[0].split("/").pop(),i=n[1];return"env"===A?i:A+(i?" "+i:"")}},function(e,t,n){"use strict";e.exports=/^#!.*/},function(e,t){var n;t=e.exports=q,n="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?function(){var e=Array.prototype.slice.call(arguments,0);e.unshift("SEMVER"),console.log.apply(console,e)}:function(){},t.SEMVER_SPEC_VERSION="2.0.0";var r=256,A=Number.MAX_SAFE_INTEGER||9007199254740991,i=t.re=[],o=t.src=[],s=0,a=s++;o[a]="0|[1-9]\\d*";var c=s++;o[c]="[0-9]+";var u=s++;o[u]="\\d*[a-zA-Z-][a-zA-Z0-9-]*";var g=s++;o[g]="("+o[a]+")\\.("+o[a]+")\\.("+o[a]+")";var l=s++;o[l]="("+o[c]+")\\.("+o[c]+")\\.("+o[c]+")";var h=s++;o[h]="(?:"+o[a]+"|"+o[u]+")";var p=s++;o[p]="(?:"+o[c]+"|"+o[u]+")";var f=s++;o[f]="(?:-("+o[h]+"(?:\\."+o[h]+")*))";var C=s++;o[C]="(?:-?("+o[p]+"(?:\\."+o[p]+")*))";var d=s++;o[d]="[0-9A-Za-z-]+";var I=s++;o[I]="(?:\\+("+o[d]+"(?:\\."+o[d]+")*))";var E=s++,B="v?"+o[g]+o[f]+"?"+o[I]+"?";o[E]="^"+B+"$";var y="[v=\\s]*"+o[l]+o[C]+"?"+o[I]+"?",m=s++;o[m]="^"+y+"$";var Q=s++;o[Q]="((?:<|>)?=?)";var w=s++;o[w]=o[c]+"|x|X|\\*";var v=s++;o[v]=o[a]+"|x|X|\\*";var b=s++;o[b]="[v=\\s]*("+o[v]+")(?:\\.("+o[v]+")(?:\\.("+o[v]+")(?:"+o[f]+")?"+o[I]+"?)?)?";var D=s++;o[D]="[v=\\s]*("+o[w]+")(?:\\.("+o[w]+")(?:\\.("+o[w]+")(?:"+o[C]+")?"+o[I]+"?)?)?";var S=s++;o[S]="^"+o[Q]+"\\s*"+o[b]+"$";var k=s++;o[k]="^"+o[Q]+"\\s*"+o[D]+"$";var _=s++;o[_]="(?:^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])";var F=s++;o[F]="(?:~>?)";var M=s++;o[M]="(\\s*)"+o[F]+"\\s+",i[M]=new RegExp(o[M],"g");var N=s++;o[N]="^"+o[F]+o[b]+"$";var R=s++;o[R]="^"+o[F]+o[D]+"$";var K=s++;o[K]="(?:\\^)";var x=s++;o[x]="(\\s*)"+o[K]+"\\s+",i[x]=new RegExp(o[x],"g");var P=s++;o[P]="^"+o[K]+o[b]+"$";var L=s++;o[L]="^"+o[K]+o[D]+"$";var O=s++;o[O]="^"+o[Q]+"\\s*("+y+")$|^$";var T=s++;o[T]="^"+o[Q]+"\\s*("+B+")$|^$";var U=s++;o[U]="(\\s*)"+o[Q]+"\\s*("+y+"|"+o[b]+")",i[U]=new RegExp(o[U],"g");var Y=s++;o[Y]="^\\s*("+o[b]+")\\s+-\\s+("+o[b]+")\\s*$";var j=s++;o[j]="^\\s*("+o[D]+")\\s+-\\s+("+o[D]+")\\s*$";var G=s++;o[G]="(<|>)?=?\\s*\\*";for(var J=0;J<35;J++)n(J,o[J]),i[J]||(i[J]=new RegExp(o[J]));function H(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof q)return e;if("string"!=typeof e)return null;if(e.length>r)return null;if(!(t.loose?i[m]:i[E]).test(e))return null;try{return new q(e,t)}catch(e){return null}}function q(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof q){if(e.loose===t.loose)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: "+e);if(e.length>r)throw new TypeError("version is longer than "+r+" characters");if(!(this instanceof q))return new q(e,t);n("SemVer",e,t),this.options=t,this.loose=!!t.loose;var o=e.trim().match(t.loose?i[m]:i[E]);if(!o)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+o[1],this.minor=+o[2],this.patch=+o[3],this.major>A||this.major<0)throw new TypeError("Invalid major version");if(this.minor>A||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>A||this.patch<0)throw new TypeError("Invalid patch version");o[4]?this.prerelease=o[4].split(".").map((function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[n]&&(this.prerelease[n]++,n=-2);-1===n&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: "+e)}return this.format(),this.raw=this.version,this},t.inc=function(e,t,n,r){"string"==typeof n&&(r=n,n=void 0);try{return new q(e,n).inc(t,r).version}catch(e){return null}},t.diff=function(e,t){if(Z(e,t))return null;var n=H(e),r=H(t);if(n.prerelease.length||r.prerelease.length){for(var A in n)if(("major"===A||"minor"===A||"patch"===A)&&n[A]!==r[A])return"pre"+A;return"prerelease"}for(var A in n)if(("major"===A||"minor"===A||"patch"===A)&&n[A]!==r[A])return A},t.compareIdentifiers=W;var z=/^[0-9]+$/;function W(e,t){var n=z.test(e),r=z.test(t);return n&&r&&(e=+e,t=+t),n&&!r?-1:r&&!n?1:et?1:0}function X(e,t,n){return new q(e,n).compare(new q(t,n))}function V(e,t,n){return X(e,t,n)>0}function $(e,t,n){return X(e,t,n)<0}function Z(e,t,n){return 0===X(e,t,n)}function ee(e,t,n){return 0!==X(e,t,n)}function te(e,t,n){return X(e,t,n)>=0}function ne(e,t,n){return X(e,t,n)<=0}function re(e,t,n,r){var A;switch(t){case"===":"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),A=e===n;break;case"!==":"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),A=e!==n;break;case"":case"=":case"==":A=Z(e,n,r);break;case"!=":A=ee(e,n,r);break;case">":A=V(e,n,r);break;case">=":A=te(e,n,r);break;case"<":A=$(e,n,r);break;case"<=":A=ne(e,n,r);break;default:throw new TypeError("Invalid operator: "+t)}return A}function Ae(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof Ae){if(e.loose===!!t.loose)return e;e=e.value}if(!(this instanceof Ae))return new Ae(e,t);n("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===ie?this.value="":this.value=this.operator+this.semver.version,n("comp",this)}t.rcompareIdentifiers=function(e,t){return W(t,e)},t.major=function(e,t){return new q(e,t).major},t.minor=function(e,t){return new q(e,t).minor},t.patch=function(e,t){return new q(e,t).patch},t.compare=X,t.compareLoose=function(e,t){return X(e,t,!0)},t.rcompare=function(e,t,n){return X(t,e,n)},t.sort=function(e,n){return e.sort((function(e,r){return t.compare(e,r,n)}))},t.rsort=function(e,n){return e.sort((function(e,r){return t.rcompare(e,r,n)}))},t.gt=V,t.lt=$,t.eq=Z,t.neq=ee,t.gte=te,t.lte=ne,t.cmp=re,t.Comparator=Ae;var ie={};function oe(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof oe)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new oe(e.raw,t);if(e instanceof Ae)return new oe(e.value,t);if(!(this instanceof oe))return new oe(e,t);if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map((function(e){return this.parseRange(e.trim())}),this).filter((function(e){return e.length})),!this.set.length)throw new TypeError("Invalid SemVer Range: "+e);this.format()}function se(e){return!e||"x"===e.toLowerCase()||"*"===e}function ae(e,t,n,r,A,i,o,s,a,c,u,g,l){return((t=se(n)?"":se(r)?">="+n+".0.0":se(A)?">="+n+"."+r+".0":">="+t)+" "+(s=se(a)?"":se(c)?"<"+(+a+1)+".0.0":se(u)?"<"+a+"."+(+c+1)+".0":g?"<="+a+"."+c+"."+u+"-"+g:"<="+s)).trim()}function ce(e,t,r){for(var A=0;A0){var i=e[A].semver;if(i.major===t.major&&i.minor===t.minor&&i.patch===t.patch)return!0}return!1}return!0}function ue(e,t,n){try{t=new oe(t,n)}catch(e){return!1}return t.test(e)}function ge(e,t,n,r){var A,i,o,s,a;switch(e=new q(e,r),t=new oe(t,r),n){case">":A=V,i=ne,o=$,s=">",a=">=";break;case"<":A=$,i=te,o=V,s="<",a="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(ue(e,t,r))return!1;for(var c=0;c=0.0.0")),g=g||e,l=l||e,A(e.semver,g.semver,r)?g=e:o(e.semver,l.semver,r)&&(l=e)})),g.operator===s||g.operator===a)return!1;if((!l.operator||l.operator===s)&&i(e,l.semver))return!1;if(l.operator===a&&o(e,l.semver))return!1}return!0}Ae.prototype.parse=function(e){var t=this.options.loose?i[O]:i[T],n=e.match(t);if(!n)throw new TypeError("Invalid comparator: "+e);this.operator=n[1],"="===this.operator&&(this.operator=""),n[2]?this.semver=new q(n[2],this.options.loose):this.semver=ie},Ae.prototype.toString=function(){return this.value},Ae.prototype.test=function(e){return n("Comparator.test",e,this.options.loose),this.semver===ie||("string"==typeof e&&(e=new q(e,this.options)),re(e,this.operator,this.semver,this.options))},Ae.prototype.intersects=function(e,t){if(!(e instanceof Ae))throw new TypeError("a Comparator is required");var n;if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),""===this.operator)return n=new oe(e.value,t),ue(this.value,n,t);if(""===e.operator)return n=new oe(this.value,t),ue(e.semver,n,t);var r=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),A=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),i=this.semver.version===e.semver.version,o=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),s=re(this.semver,"<",e.semver,t)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),a=re(this.semver,">",e.semver,t)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return r||A||i&&o||s||a},t.Range=oe,oe.prototype.format=function(){return this.range=this.set.map((function(e){return e.join(" ").trim()})).join("||").trim(),this.range},oe.prototype.toString=function(){return this.range},oe.prototype.parseRange=function(e){var t=this.options.loose;e=e.trim();var r=t?i[j]:i[Y];e=e.replace(r,ae),n("hyphen replace",e),e=e.replace(i[U],"$1$2$3"),n("comparator trim",e,i[U]),e=(e=(e=e.replace(i[M],"$1~")).replace(i[x],"$1^")).split(/\s+/).join(" ");var A=t?i[O]:i[T],o=e.split(" ").map((function(e){return function(e,t){return n("comp",e,t),e=function(e,t){return e.trim().split(/\s+/).map((function(e){return function(e,t){n("caret",e,t),t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1});var r=t.loose?i[L]:i[P];return e.replace(r,(function(t,r,A,i,o){var s;return n("caret",e,t,r,A,i,o),se(r)?s="":se(A)?s=">="+r+".0.0 <"+(+r+1)+".0.0":se(i)?s="0"===r?">="+r+"."+A+".0 <"+r+"."+(+A+1)+".0":">="+r+"."+A+".0 <"+(+r+1)+".0.0":o?(n("replaceCaret pr",o),"-"!==o.charAt(0)&&(o="-"+o),s="0"===r?"0"===A?">="+r+"."+A+"."+i+o+" <"+r+"."+A+"."+(+i+1):">="+r+"."+A+"."+i+o+" <"+r+"."+(+A+1)+".0":">="+r+"."+A+"."+i+o+" <"+(+r+1)+".0.0"):(n("no pr"),s="0"===r?"0"===A?">="+r+"."+A+"."+i+" <"+r+"."+A+"."+(+i+1):">="+r+"."+A+"."+i+" <"+r+"."+(+A+1)+".0":">="+r+"."+A+"."+i+" <"+(+r+1)+".0.0"),n("caret return",s),s}))}(e,t)})).join(" ")}(e,t),n("caret",e),e=function(e,t){return e.trim().split(/\s+/).map((function(e){return function(e,t){t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1});var r=t.loose?i[R]:i[N];return e.replace(r,(function(t,r,A,i,o){var s;return n("tilde",e,t,r,A,i,o),se(r)?s="":se(A)?s=">="+r+".0.0 <"+(+r+1)+".0.0":se(i)?s=">="+r+"."+A+".0 <"+r+"."+(+A+1)+".0":o?(n("replaceTilde pr",o),"-"!==o.charAt(0)&&(o="-"+o),s=">="+r+"."+A+"."+i+o+" <"+r+"."+(+A+1)+".0"):s=">="+r+"."+A+"."+i+" <"+r+"."+(+A+1)+".0",n("tilde return",s),s}))}(e,t)})).join(" ")}(e,t),n("tildes",e),e=function(e,t){return n("replaceXRanges",e,t),e.split(/\s+/).map((function(e){return function(e,t){e=e.trim(),t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1});var r=t.loose?i[k]:i[S];return e.replace(r,(function(t,r,A,i,o,s){n("xRange",e,t,r,A,i,o,s);var a=se(A),c=a||se(i),u=c||se(o);return"="===r&&u&&(r=""),a?t=">"===r||"<"===r?"<0.0.0":"*":r&&u?(c&&(i=0),u&&(o=0),">"===r?(r=">=",c?(A=+A+1,i=0,o=0):u&&(i=+i+1,o=0)):"<="===r&&(r="<",c?A=+A+1:i=+i+1),t=r+A+"."+i+"."+o):c?t=">="+A+".0.0 <"+(+A+1)+".0.0":u&&(t=">="+A+"."+i+".0 <"+A+"."+(+i+1)+".0"),n("xRange return",t),t}))}(e,t)})).join(" ")}(e,t),n("xrange",e),e=function(e,t){return n("replaceStars",e,t),e.trim().replace(i[G],"")}(e,t),n("stars",e),e}(e,this.options)}),this).join(" ").split(/\s+/);return this.options.loose&&(o=o.filter((function(e){return!!e.match(A)}))),o=o.map((function(e){return new Ae(e,this.options)}),this)},oe.prototype.intersects=function(e,t){if(!(e instanceof oe))throw new TypeError("a Range is required");return this.set.some((function(n){return n.every((function(n){return e.set.some((function(e){return e.every((function(e){return n.intersects(e,t)}))}))}))}))},t.toComparators=function(e,t){return new oe(e,t).set.map((function(e){return e.map((function(e){return e.value})).join(" ").trim().split(" ")}))},oe.prototype.test=function(e){if(!e)return!1;"string"==typeof e&&(e=new q(e,this.options));for(var t=0;t",n)},t.outside=ge,t.prerelease=function(e,t){var n=H(e,t);return n&&n.prerelease.length?n.prerelease:null},t.intersects=function(e,t,n){return e=new oe(e,n),t=new oe(t,n),e.intersects(t)},t.coerce=function(e){if(e instanceof q)return e;if("string"!=typeof e)return null;var t=e.match(i[_]);return null==t?null:H((t[1]||"0")+"."+(t[2]||"0")+"."+(t[3]||"0"))}},function(e,t,n){"use strict";const r="win32"===process.platform;function A(e,t){return Object.assign(new Error(`${t} ${e.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${t} ${e.command}`,path:e.command,spawnargs:e.args})}function i(e,t){return r&&1===e&&!t.file?A(t.original,"spawn"):null}e.exports={hookChildProcess:function(e,t){if(!r)return;const n=e.emit;e.emit=function(r,A){if("exit"===r){const r=i(A,t);if(r)return n.call(e,"error",r)}return n.apply(e,arguments)}},verifyENOENT:i,verifyENOENTSync:function(e,t){return r&&1===e&&!t.file?A(t.original,"spawnSync"):null},notFoundError:A}},function(e,t,n){"use strict";var r=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var A=0;for(r=Object.getOwnPropertySymbols(e);AE(e))}!function(e){e.GET="GET",e.PUT="PUT"}(d=t.Method||(t.Method={})),t.request=I,t.get=async function(e,t){var{configuration:n,json:A}=t,i=r(t,["configuration","json"]);let o=h.get(e);o||(o=I(e,null,Object.assign({configuration:n},i)),h.set(e,o));const s=await o;return A?JSON.parse(s.body.toString()):s.body},t.put=async function(e,t,n){return(await I(e,t,Object.assign(Object.assign({},n),{method:d.PUT}))).body}},function(e,t,n){"use strict";function r(e){for(var n in e)t.hasOwnProperty(n)||(t[n]=e[n])}Object.defineProperty(t,"__esModule",{value:!0});const A=n(55),i=n(263),o=n(264),s={options:{method:"GET",retry:{limit:2,methods:["GET","PUT","HEAD","DELETE","OPTIONS","TRACE"],statusCodes:[408,413,429,500,502,503,504,521,522,524],errorCodes:["ETIMEDOUT","ECONNRESET","EADDRINUSE","ECONNREFUSED","EPIPE","ENOTFOUND","ENETUNREACH","EAI_AGAIN"],maxRetryAfter:void 0,calculateDelay:({computedValue:e})=>e},timeout:{},headers:{"user-agent":"got (https://github.com/sindresorhus/got)"},hooks:{init:[],beforeRequest:[],beforeRedirect:[],beforeRetry:[],beforeError:[],afterResponse:[]},cache:void 0,dnsCache:new i.default,decompress:!0,throwHttpErrors:!0,followRedirect:!0,isStream:!1,responseType:"text",resolveBodyOnly:!1,maxRedirects:10,prefixUrl:"",methodRewriting:!0,ignoreInvalidCookies:!1,context:{},http2:!1,allowGetBody:!1,rejectUnauthorized:!0,pagination:{transform:e=>"json"===e.request.options.responseType?e.body:JSON.parse(e.body),paginate:e=>{if(!Reflect.has(e.headers,"link"))return!1;const t=e.headers.link.split(",");let n;for(const e of t){const t=e.split(";");if(t[1].includes("next")){n=(n=t[0].trimStart().trim()).slice(1,-1);break}}if(n){return{url:new A.URL(n)}}return!1},filter:()=>!0,shouldContinue:()=>!0,countLimit:1/0}},handlers:[o.defaultHandler],mutableDefaults:!1},a=o.default(s);t.default=a,e.exports=a,e.exports.default=a,r(n(264)),r(n(265))},function(e,t){e.exports=require("dns")},function(e,t,n){"use strict";const{stat:r,readFile:A}=n(3).promises,{isIP:i}=n(118),o="win32"===process.platform?"C:\\Windows\\System32\\drivers\\etc\\hosts":"/etc/hosts",s=/^(?:(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])\.)*(?:[A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9-]*[A-Za-z0-9])$/,a=e=>s.test(e),c={encoding:"utf8"},u=/[^\S\r\n]{2,}/g,g=/\t+/g,l=/^[^\S\r\n]+/gm;e.exports=class{constructor(e=o){this._hostsPath=e,this._promise=void 0,this._error=null,this._hosts={},this._lastModifiedTime=0,this.update()}async _update(){try{const{_hostsPath:e}=this,{mtimeMs:t}=await r(e);if(t===this._lastModifiedTime)return this._hosts;this._lastModifiedTime=t,this._hosts={};let n=await A(e,c);n=(n=(n=(n=n.replace(u," ")).replace(g," ")).replace(l,"")).split("\n");for(const e of n){const t=e.split(" "),n=i(t[0]);if(!n)continue;const r=t.shift();for(const e of t){if(!a(e))break;if(this._hosts[e]){let t=!1;for(const r of this._hosts[e])if(r.family===n){t=!0;break}if(t)continue}else this._hosts[e]=[];this._hosts[e].push({address:r,family:n,expires:1/0,ttl:1/0})}}}catch(e){this._hosts={},this._error=e}}async update(){if(this._error||!1===this._hostsPath)return this._hosts;const e=this._update();return this._promise=e,await e,this._promise=void 0,this._hosts}async get(e){if(this._promise&&await this._promise,this._error)throw this._error;return this._hosts[e]}}},function(e,t,n){var r=n(119),A=n(484),i=n(3),o=function(){},s=/^v?\.0/.test(process.version),a=function(e){return"function"==typeof e},c=function(e,t,n,c){c=r(c);var u=!1;e.on("close",(function(){u=!0})),A(e,{readable:t,writable:n},(function(e){if(e)return c(e);u=!0,c()}));var g=!1;return function(t){if(!u&&!g)return g=!0,function(e){return!!s&&(!!i&&((e instanceof(i.ReadStream||o)||e instanceof(i.WriteStream||o))&&a(e.close)))}(e)?e.close(o):function(e){return e.setHeader&&a(e.abort)}(e)?e.abort():a(e.destroy)?e.destroy():void c(t||new Error("stream was destroyed"))}},u=function(e){e()},g=function(e,t){return e.pipe(t)};e.exports=function(){var e,t=Array.prototype.slice.call(arguments),n=a(t[t.length-1]||o)&&t.pop()||o;if(Array.isArray(t[0])&&(t=t[0]),t.length<2)throw new Error("pump requires two streams per minimum");var r=t.map((function(A,i){var o=i0,(function(t){e||(e=t),t&&r.forEach(u),o||(r.forEach(u),n(e))}))}));return t.reduce(g)}},function(e,t,n){var r=n(119),A=function(){},i=function(e,t,n){if("function"==typeof t)return i(e,null,t);t||(t={}),n=r(n||A);var o=e._writableState,s=e._readableState,a=t.readable||!1!==t.readable&&e.readable,c=t.writable||!1!==t.writable&&e.writable,u=function(){e.writable||g()},g=function(){c=!1,a||n()},l=function(){a=!1,c||n()},h=function(e){n(e?new Error("exited with error code: "+e):null)},p=function(){return(!a||s&&s.ended)&&(!c||o&&o.ended)?void 0:n(new Error("premature close"))},f=function(){e.req.on("finish",g)};return!function(e){return e.setHeader&&"function"==typeof e.abort}(e)?c&&!o&&(e.on("end",u),e.on("close",u)):(e.on("complete",g),e.on("abort",p),e.req?f():e.on("request",f)),function(e){return e.stdio&&Array.isArray(e.stdio)&&3===e.stdio.length}(e)&&e.on("exit",h),e.on("end",l),e.on("finish",g),!1!==t.error&&e.on("error",n),e.on("close",p),function(){e.removeListener("complete",g),e.removeListener("abort",p),e.removeListener("request",f),e.req&&e.req.removeListener("finish",g),e.removeListener("end",u),e.removeListener("close",u),e.removeListener("finish",g),e.removeListener("exit",h),e.removeListener("end",l),e.removeListener("error",n),e.removeListener("close",p)}};e.exports=i},function(e,t,n){"use strict";const{PassThrough:r}=n(8);e.exports=e=>{e={...e};const{array:t}=e;let{encoding:n}=e;const A="buffer"===n;let i=!1;t?i=!(n||A):n=n||"utf8",A&&(n=null);const o=new r({objectMode:i});n&&o.setEncoding(n);let s=0;const a=[];return o.on("data",e=>{a.push(e),i?s=a.length:s+=e.length}),o.getBufferedValue=()=>t?a:A?Buffer.concat(a,s):a.join(""),o.getBufferedLength=()=>s,o}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(120),A=new Set([413,429,503]),i=e=>e instanceof r.HTTPError||e instanceof r.ParseError||e instanceof r.MaxRedirectsError;t.default=({attemptCount:e,retryOptions:t,error:n})=>{if(e>t.limit)return 0;const r=t.methods.includes(n.options.method),o=t.errorCodes.includes(n.code),s=i(n)&&t.statusCodes.includes(n.response.statusCode);if(!r||!o&&!s)return 0;if(i(n)){const{response:e}=n;if(e&&"retry-after"in e.headers&&A.has(e.statusCode)){let n=Number(e.headers["retry-after"]);return Number.isNaN(n)?n=Date.parse(e.headers["retry-after"])-Date.now():n*=1e3,void 0===t.maxRetryAfter||n>t.maxRetryAfter?0:n}if(413===e.statusCode)return 0}return 2**(e-1)*1e3+100*Math.random()}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(488),A=Number(process.versions.node.split(".")[0]),i=e=>{const t={start:Date.now(),socket:void 0,lookup:void 0,connect:void 0,secureConnect:void 0,upload:void 0,response:void 0,end:void 0,error:void 0,abort:void 0,phases:{wait:void 0,dns:void 0,tcp:void 0,tls:void 0,request:void 0,firstByte:void 0,download:void 0,total:void 0}};e.timings=t;const n=e=>{const n=e.emit.bind(e);e.emit=(r,...A)=>("error"===r&&(t.error=Date.now(),t.phases.total=t.error-t.start,e.emit=n),n(r,...A))};n(e),e.prependOnceListener("abort",()=>{t.abort=Date.now(),(!t.response||A>=13)&&(t.phases.total=Date.now()-t.start)});const i=e=>{t.socket=Date.now(),t.phases.wait=t.socket-t.start;const n=()=>{t.lookup=Date.now(),t.phases.dns=t.lookup-t.socket};e.prependOnceListener("lookup",n),r.default(e,{connect:()=>{t.connect=Date.now(),void 0===t.lookup&&(e.removeListener("lookup",n),t.lookup=t.connect,t.phases.dns=t.lookup-t.socket),t.phases.tcp=t.connect-t.lookup},secureConnect:()=>{t.secureConnect=Date.now(),t.phases.tls=t.secureConnect-t.connect}})};e.socket?i(e.socket):e.prependOnceListener("socket",i);const o=()=>{var e;t.upload=Date.now(),t.phases.request=t.upload-(null!=(e=t.secureConnect)?e:t.connect)};return(()=>"boolean"==typeof e.writableFinished?e.writableFinished:e.finished&&0===e.outputSize&&(!e.socket||0===e.socket.writableLength))()?o():e.prependOnceListener("finish",o),e.prependOnceListener("response",e=>{t.response=Date.now(),t.phases.firstByte=t.response-t.upload,e.timings=t,n(e),e.prependOnceListener("end",()=>{t.end=Date.now(),t.phases.download=t.end-t.response,t.phases.total=t.end-t.start})}),t};t.default=i,e.exports=i,e.exports.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(122),A=(e,t)=>{let n;if("function"==typeof t){n={connect:t}}else n=t;const A="function"==typeof n.connect,i="function"==typeof n.secureConnect,o="function"==typeof n.close,s=()=>{A&&n.connect(),e instanceof r.TLSSocket&&i&&(e.authorized?n.secureConnect():e.authorizationError||e.once("secureConnect",n.secureConnect)),o&&e.once("close",n.close)};e.writable&&!e.connecting?s():e.connecting?e.once("connect",s):e.destroyed&&o&&n.close(e._hadError)};t.default=A,e.exports=A,e.exports.default=A},function(e,t,n){"use strict";const{pipeline:r,PassThrough:A}=n(8),i=n(123),o=n(490);e.exports=e=>{const t=(e.headers["content-encoding"]||"").toLowerCase();if(!["gzip","deflate","br"].includes(t))return e;const n="br"===t;if(n&&"function"!=typeof i.createBrotliDecompress)return e;const s=n?i.createBrotliDecompress():i.createUnzip(),a=new A;s.on("error",e=>{"Z_BUF_ERROR"!==e.code?a.emit("error",e):a.end()});const c=r(e,s,a,()=>{});return o(e,c),c}},function(e,t,n){"use strict";const r=["aborted","complete","destroy","headers","httpVersion","httpVersionMinor","httpVersionMajor","method","rawHeaders","rawTrailers","setTimeout","socket","statusCode","statusMessage","trailers","url"];e.exports=(e,t)=>{const n=new Set(Object.keys(e).concat(r));for(const r of n)r in t||(t[r]="function"==typeof e[r]?e[r].bind(e):e[r])}},function(e,t,n){"use strict";const r=n(19),A=n(55),i=n(492),o=n(175),s=n(493),a=n(494),c=n(178),u=n(495),g=n(497);class l{constructor(e,t){if("function"!=typeof e)throw new TypeError("Parameter `request` must be a function");return this.cache=new g({uri:"string"==typeof t&&t,store:"string"!=typeof t&&t,namespace:"cacheable-request"}),this.createCacheableRequest(e)}createCacheableRequest(e){return(t,n)=>{let g;if("string"==typeof t)g=p(A.parse(t)),t={};else if(t instanceof A.URL)g=p(A.parse(t.toString())),t={};else{const[e,...n]=(t.path||"").split("?"),r=n.length>0?`?${n.join("?")}`:"";g=p({...t,pathname:e,search:r})}(t={headers:{},method:"GET",cache:!0,strictTtl:!1,automaticFailover:!1,...t,...h(g)}).headers=c(t.headers);const f=new r,C=i(A.format(g),{stripWWW:!1,removeTrailingSlash:!1,stripAuthentication:!1}),d=`${t.method}:${C}`;let I=!1,E=!1;const B=t=>{E=!0;let r,A=!1;const i=new Promise(e=>{r=()=>{A||(A=!0,e())}}),c=e=>{if(I&&!t.forceRefresh){e.status=e.statusCode;const n=s.fromObject(I.cachePolicy).revalidatedPolicy(t,e);if(!n.modified){const t=n.policy.responseHeaders();(e=new a(I.statusCode,t,I.body,I.url)).cachePolicy=n.policy,e.fromCache=!0}}let r;e.fromCache||(e.cachePolicy=new s(t,e,t),e.fromCache=!1),t.cache&&e.cachePolicy.storable()?(r=u(e),(async()=>{try{const n=o.buffer(e);if(await Promise.race([i,new Promise(t=>e.once("end",t))]),A)return;const r=await n,s={cachePolicy:e.cachePolicy.toObject(),url:e.url,statusCode:e.fromCache?I.statusCode:e.statusCode,body:r};let a=t.strictTtl?e.cachePolicy.timeToLive():void 0;t.maxTtl&&(a=a?Math.min(a,t.maxTtl):t.maxTtl),await this.cache.set(d,s,a)}catch(e){f.emit("error",new l.CacheError(e))}})()):t.cache&&I&&(async()=>{try{await this.cache.delete(d)}catch(e){f.emit("error",new l.CacheError(e))}})(),f.emit("response",r||e),"function"==typeof n&&n(r||e)};try{const n=e(t,c);n.once("error",r),n.once("abort",r),f.emit("request",n)}catch(e){f.emit("error",new l.RequestError(e))}};return(async()=>{const e=async e=>{await Promise.resolve();const t=e.cache?await this.cache.get(d):void 0;if(void 0===t)return B(e);const r=s.fromObject(t.cachePolicy);if(r.satisfiesWithoutRevalidation(e)&&!e.forceRefresh){const e=r.responseHeaders(),A=new a(t.statusCode,e,t.body,t.url);A.cachePolicy=r,A.fromCache=!0,f.emit("response",A),"function"==typeof n&&n(A)}else I=t,e.headers=r.revalidationHeaders(e),B(e)},r=e=>f.emit("error",new l.CacheError(e));this.cache.once("error",r),f.on("response",()=>this.cache.removeListener("error",r));try{await e(t)}catch(e){t.automaticFailover&&!E&&B(t),f.emit("error",new l.CacheError(e))}})(),f}}}function h(e){const t={...e};return t.path=`${e.pathname||"/"}${e.search||""}`,delete t.pathname,delete t.search,t}function p(e){return{protocol:e.protocol,auth:e.auth,hostname:e.hostname||e.host||"localhost",port:e.port,pathname:e.pathname,search:e.search}}l.RequestError=class extends Error{constructor(e){super(e.message),this.name="RequestError",Object.assign(this,e)}},l.CacheError=class extends Error{constructor(e){super(e.message),this.name="CacheError",Object.assign(this,e)}},e.exports=l},function(e,t,n){"use strict";const r="undefined"==typeof URL?n(55).URL:URL,A=(e,t)=>t.some(t=>t instanceof RegExp?t.test(e):t===e),i=(e,t)=>{if(t={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...t},Reflect.has(t,"normalizeHttps"))throw new Error("options.normalizeHttps is renamed to options.forceHttp");if(Reflect.has(t,"normalizeHttp"))throw new Error("options.normalizeHttp is renamed to options.forceHttps");if(Reflect.has(t,"stripFragment"))throw new Error("options.stripFragment is renamed to options.stripHash");if(e=e.trim(),/^data:/i.test(e))return((e,{stripHash:t})=>{const n=e.match(/^data:(.*?),(.*?)(?:#(.*))?$/);if(!n)throw new Error(`Invalid URL: ${e}`);const r=n[1].split(";"),A=n[2],i=t?"":n[3];let o=!1;"base64"===r[r.length-1]&&(r.pop(),o=!0);const s=(r.shift()||"").toLowerCase(),a=[...r.map(e=>{let[t,n=""]=e.split("=").map(e=>e.trim());return"charset"===t&&"us-ascii"===(n=n.toLowerCase())?"":`${t}${n?`=${n}`:""}`}).filter(Boolean)];return o&&a.push("base64"),(0!==a.length||s&&"text/plain"!==s)&&a.unshift(s),`data:${a.join(";")},${o?A.trim():A}${i?`#${i}`:""}`})(e,t);const n=e.startsWith("//");!n&&/^\.*\//.test(e)||(e=e.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,t.defaultProtocol));const i=new r(e);if(t.forceHttp&&t.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(t.forceHttp&&"https:"===i.protocol&&(i.protocol="http:"),t.forceHttps&&"http:"===i.protocol&&(i.protocol="https:"),t.stripAuthentication&&(i.username="",i.password=""),t.stripHash&&(i.hash=""),i.pathname&&(i.pathname=i.pathname.replace(/((?!:).|^)\/{2,}/g,(e,t)=>/^(?!\/)/g.test(t)?`${t}/`:"/")),i.pathname&&(i.pathname=decodeURI(i.pathname)),!0===t.removeDirectoryIndex&&(t.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(t.removeDirectoryIndex)&&t.removeDirectoryIndex.length>0){let e=i.pathname.split("/");const n=e[e.length-1];A(n,t.removeDirectoryIndex)&&(e=e.slice(0,e.length-1),i.pathname=e.slice(1).join("/")+"/")}if(i.hostname&&(i.hostname=i.hostname.replace(/\.$/,""),t.stripWWW&&/^www\.([a-z\-\d]{2,63})\.([a-z.]{2,5})$/.test(i.hostname)&&(i.hostname=i.hostname.replace(/^www\./,""))),Array.isArray(t.removeQueryParameters))for(const e of[...i.searchParams.keys()])A(e,t.removeQueryParameters)&&i.searchParams.delete(e);return t.sortQueryParameters&&i.searchParams.sort(),t.removeTrailingSlash&&(i.pathname=i.pathname.replace(/\/$/,"")),e=i.toString(),!t.removeTrailingSlash&&"/"!==i.pathname||""!==i.hash||(e=e.replace(/\/$/,"")),n&&!t.normalizeProtocol&&(e=e.replace(/^http:\/\//,"//")),t.stripProtocol&&(e=e.replace(/^(?:https?:)?\/\//,"")),e};e.exports=i,e.exports.default=i},function(e,t,n){"use strict";const r=[200,203,204,206,300,301,404,405,410,414,501],A=[200,203,204,300,301,302,303,307,308,404,405,410,414,501],i={date:!0,connection:!0,"keep-alive":!0,"proxy-authenticate":!0,"proxy-authorization":!0,te:!0,trailer:!0,"transfer-encoding":!0,upgrade:!0},o={"content-length":!0,"content-encoding":!0,"transfer-encoding":!0,"content-range":!0};function s(e){const t={};if(!e)return t;const n=e.trim().split(/\s*,\s*/);for(const e of n){const[n,r]=e.split(/\s*=\s*/,2);t[n]=void 0===r||r.replace(/^"|"$/g,"")}return t}function a(e){let t=[];for(const n in e){const r=e[n];t.push(!0===r?n:n+"="+r)}if(t.length)return t.join(", ")}e.exports=class{constructor(e,t,{shared:n,cacheHeuristic:r,immutableMinTimeToLive:A,ignoreCargoCult:i,trustServerDate:o,_fromObject:c}={}){if(c)this._fromObject(c);else{if(!t||!t.headers)throw Error("Response headers missing");this._assertRequestHasHeaders(e),this._responseTime=this.now(),this._isShared=!1!==n,this._trustServerDate=void 0===o||o,this._cacheHeuristic=void 0!==r?r:.1,this._immutableMinTtl=void 0!==A?A:864e5,this._status="status"in t?t.status:200,this._resHeaders=t.headers,this._rescc=s(t.headers["cache-control"]),this._method="method"in e?e.method:"GET",this._url=e.url,this._host=e.headers.host,this._noAuthorization=!e.headers.authorization,this._reqHeaders=t.headers.vary?e.headers:null,this._reqcc=s(e.headers["cache-control"]),i&&"pre-check"in this._rescc&&"post-check"in this._rescc&&(delete this._rescc["pre-check"],delete this._rescc["post-check"],delete this._rescc["no-cache"],delete this._rescc["no-store"],delete this._rescc["must-revalidate"],this._resHeaders=Object.assign({},this._resHeaders,{"cache-control":a(this._rescc)}),delete this._resHeaders.expires,delete this._resHeaders.pragma),!t.headers["cache-control"]&&/no-cache/.test(t.headers.pragma)&&(this._rescc["no-cache"]=!0)}}now(){return Date.now()}storable(){return!(this._reqcc["no-store"]||!("GET"===this._method||"HEAD"===this._method||"POST"===this._method&&this._hasExplicitExpiration())||-1===A.indexOf(this._status)||this._rescc["no-store"]||this._isShared&&this._rescc.private||this._isShared&&!this._noAuthorization&&!this._allowsStoringAuthenticated()||!(this._resHeaders.expires||this._rescc.public||this._rescc["max-age"]||this._rescc["s-maxage"]||-1!==r.indexOf(this._status)))}_hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]||this._rescc["max-age"]||this._resHeaders.expires}_assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request headers missing")}satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);const t=s(e.headers["cache-control"]);if(t["no-cache"]||/no-cache/.test(e.headers.pragma))return!1;if(t["max-age"]&&this.age()>t["max-age"])return!1;if(t["min-fresh"]&&this.timeToLive()<1e3*t["min-fresh"])return!1;if(this.stale()){if(!(t["max-stale"]&&!this._rescc["must-revalidate"]&&(!0===t["max-stale"]||t["max-stale"]>this.age()-this.maxAge())))return!1}return this._requestMatches(e,!1)}_requestMatches(e,t){return(!this._url||this._url===e.url)&&this._host===e.headers.host&&(!e.method||this._method===e.method||t&&"HEAD"===e.method)&&this._varyMatches(e)}_allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||this._rescc.public||this._rescc["s-maxage"]}_varyMatches(e){if(!this._resHeaders.vary)return!0;if("*"===this._resHeaders.vary)return!1;const t=this._resHeaders.vary.trim().toLowerCase().split(/\s*,\s*/);for(const n of t)if(e.headers[n]!==this._reqHeaders[n])return!1;return!0}_copyWithoutHopByHopHeaders(e){const t={};for(const n in e)i[n]||(t[n]=e[n]);if(e.connection){const n=e.connection.trim().split(/\s*,\s*/);for(const e of n)delete t[e]}if(t.warning){const e=t.warning.split(/,/).filter(e=>!/^\s*1[0-9][0-9]/.test(e));e.length?t.warning=e.join(",").trim():delete t.warning}return t}responseHeaders(){const e=this._copyWithoutHopByHopHeaders(this._resHeaders),t=this.age();return t>86400&&!this._hasExplicitExpiration()&&this.maxAge()>86400&&(e.warning=(e.warning?`${e.warning}, `:"")+'113 - "rfc7234 5.5.4"'),e.age=`${Math.round(t)}`,e.date=new Date(this.now()).toUTCString(),e}date(){return this._trustServerDate?this._serverDate():this._responseTime}_serverDate(){const e=Date.parse(this._resHeaders.date);if(isFinite(e)){const t=288e5;if(Math.abs(this._responseTime-e)e&&(e=t)}return e+(this.now()-this._responseTime)/1e3}_ageValue(){const e=parseInt(this._resHeaders.age);return isFinite(e)?e:0}maxAge(){if(!this.storable()||this._rescc["no-cache"])return 0;if(this._isShared&&this._resHeaders["set-cookie"]&&!this._rescc.public&&!this._rescc.immutable)return 0;if("*"===this._resHeaders.vary)return 0;if(this._isShared){if(this._rescc["proxy-revalidate"])return 0;if(this._rescc["s-maxage"])return parseInt(this._rescc["s-maxage"],10)}if(this._rescc["max-age"])return parseInt(this._rescc["max-age"],10);const e=this._rescc.immutable?this._immutableMinTtl:0,t=this._serverDate();if(this._resHeaders.expires){const n=Date.parse(this._resHeaders.expires);return Number.isNaN(n)||nn)return Math.max(e,(t-n)/1e3*this._cacheHeuristic)}return e}timeToLive(){return 1e3*Math.max(0,this.maxAge()-this.age())}stale(){return this.maxAge()<=this.age()}static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}_fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e||1!==e.v)throw Error("Invalid serialization");this._responseTime=e.t,this._isShared=e.sh,this._cacheHeuristic=e.ch,this._immutableMinTtl=void 0!==e.imm?e.imm:864e5,this._status=e.st,this._resHeaders=e.resh,this._rescc=e.rescc,this._method=e.m,this._url=e.u,this._host=e.h,this._noAuthorization=e.a,this._reqHeaders=e.reqh,this._reqcc=e.reqcc}toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._cacheHeuristic,imm:this._immutableMinTtl,st:this._status,resh:this._resHeaders,rescc:this._rescc,m:this._method,u:this._url,h:this._host,a:this._noAuthorization,reqh:this._reqHeaders,reqcc:this._reqcc}}revalidationHeaders(e){this._assertRequestHasHeaders(e);const t=this._copyWithoutHopByHopHeaders(e.headers);if(delete t["if-range"],!this._requestMatches(e,!0)||!this.storable())return delete t["if-none-match"],delete t["if-modified-since"],t;if(this._resHeaders.etag&&(t["if-none-match"]=t["if-none-match"]?`${t["if-none-match"]}, ${this._resHeaders.etag}`:this._resHeaders.etag),t["accept-ranges"]||t["if-match"]||t["if-unmodified-since"]||this._method&&"GET"!=this._method){if(delete t["if-modified-since"],t["if-none-match"]){const e=t["if-none-match"].split(/,/).filter(e=>!/^\s*W\//.test(e));e.length?t["if-none-match"]=e.join(",").trim():delete t["if-none-match"]}}else this._resHeaders["last-modified"]&&!t["if-modified-since"]&&(t["if-modified-since"]=this._resHeaders["last-modified"]);return t}revalidatedPolicy(e,t){if(this._assertRequestHasHeaders(e),!t||!t.headers)throw Error("Response headers missing");let n=!1;if(void 0!==t.status&&304!=t.status?n=!1:t.headers.etag&&!/^\s*W\//.test(t.headers.etag)?n=this._resHeaders.etag&&this._resHeaders.etag.replace(/^\s*W\//,"")===t.headers.etag:this._resHeaders.etag&&t.headers.etag?n=this._resHeaders.etag.replace(/^\s*W\//,"")===t.headers.etag.replace(/^\s*W\//,""):this._resHeaders["last-modified"]?n=this._resHeaders["last-modified"]===t.headers["last-modified"]:this._resHeaders.etag||this._resHeaders["last-modified"]||t.headers.etag||t.headers["last-modified"]||(n=!0),!n)return{policy:new this.constructor(e,t),modified:304!=t.status,matches:!1};const r={};for(const e in this._resHeaders)r[e]=e in t.headers&&!o[e]?t.headers[e]:this._resHeaders[e];const A=Object.assign({},t,{status:this._status,method:this._method,headers:r});return{policy:new this.constructor(e,A,{shared:this._isShared,cacheHeuristic:this._cacheHeuristic,immutableMinTimeToLive:this._immutableMinTtl,trustServerDate:this._trustServerDate}),modified:!1,matches:!0}}}},function(e,t,n){"use strict";const r=n(8).Readable,A=n(178);e.exports=class extends r{constructor(e,t,n,r){if("number"!=typeof e)throw new TypeError("Argument `statusCode` should be a number");if("object"!=typeof t)throw new TypeError("Argument `headers` should be an object");if(!(n instanceof Buffer))throw new TypeError("Argument `body` should be a buffer");if("string"!=typeof r)throw new TypeError("Argument `url` should be a string");super(),this.statusCode=e,this.headers=A(t),this.body=n,this.url=r}_read(){this.push(this.body),this.push(null)}}},function(e,t,n){"use strict";const r=n(8).PassThrough,A=n(496);e.exports=e=>{if(!e||!e.pipe)throw new TypeError("Parameter `response` must be a response stream.");const t=new r;return A(e,t),e.pipe(t)}},function(e,t,n){"use strict";const r=["destroy","setTimeout","socket","headers","trailers","rawHeaders","statusCode","httpVersion","httpVersionMinor","httpVersionMajor","rawTrailers","statusMessage"];e.exports=(e,t)=>{const n=new Set(Object.keys(e).concat(r));for(const r of n)r in t||(t[r]="function"==typeof e[r]?e[r].bind(e):e[r])}},function(e,t,n){"use strict";const r=n(19),A=n(498),i=e=>{const t={redis:"@keyv/redis",mongodb:"@keyv/mongo",mongo:"@keyv/mongo",sqlite:"@keyv/sqlite",postgresql:"@keyv/postgres",postgres:"@keyv/postgres",mysql:"@keyv/mysql"};if(e.adapter||e.uri){const r=e.adapter||/^[^:]*/.exec(e.uri)[0];return new(n(499)(t[r]))(e)}return new Map};e.exports=class extends r{constructor(e,t){if(super(),this.opts=Object.assign({namespace:"keyv",serialize:A.stringify,deserialize:A.parse},"string"==typeof e?{uri:e}:e,t),!this.opts.store){const e=Object.assign({},this.opts);this.opts.store=i(e)}"function"==typeof this.opts.store.on&&this.opts.store.on("error",e=>this.emit("error",e)),this.opts.store.namespace=this.opts.namespace}_getKeyPrefix(e){return`${this.opts.namespace}:${e}`}get(e,t){e=this._getKeyPrefix(e);const{store:n}=this.opts;return Promise.resolve().then(()=>n.get(e)).then(e=>"string"==typeof e?this.opts.deserialize(e):e).then(n=>{if(void 0!==n){if(!("number"==typeof n.expires&&Date.now()>n.expires))return t&&t.raw?n:n.value;this.delete(e)}})}set(e,t,n){e=this._getKeyPrefix(e),void 0===n&&(n=this.opts.ttl),0===n&&(n=void 0);const{store:r}=this.opts;return Promise.resolve().then(()=>{const e="number"==typeof n?Date.now()+n:null;return t={value:t,expires:e},this.opts.serialize(t)}).then(t=>r.set(e,t,n)).then(()=>!0)}delete(e){e=this._getKeyPrefix(e);const{store:t}=this.opts;return Promise.resolve().then(()=>t.delete(e))}clear(){const{store:e}=this.opts;return Promise.resolve().then(()=>e.clear())}}},function(e,t){t.stringify=function e(t){if(void 0===t)return t;if(t&&Buffer.isBuffer(t))return JSON.stringify(":base64:"+t.toString("base64"));if(t&&t.toJSON&&(t=t.toJSON()),t&&"object"==typeof t){var n="",r=Array.isArray(t);n=r?"[":"{";var A=!0;for(var i in t){var o="function"==typeof t[i]||!r&&void 0===t[i];Object.hasOwnProperty.call(t,i)&&!o&&(A||(n+=","),A=!1,r?null==t[i]?n+="null":n+=e(t[i]):void 0!==t[i]&&(n+=e(i)+":"+e(t[i])))}return n+=r?"]":"}"}return"string"==typeof t?JSON.stringify(/^:/.test(t)?":"+t:t):void 0===t?"null":JSON.stringify(t)},t.parse=function(e){return JSON.parse(e,(function(e,t){return"string"==typeof t?/^:base64:/.test(t)?Buffer.from(t.substring(8),"base64"):/^:/.test(t)?t.substring(1):t:t}))}},function(e,t){function n(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}n.keys=function(){return[]},n.resolve=n,e.exports=n,n.id=499},function(e,t,n){"use strict";const r=n(179),A=n(266),i=n(268),o=n(269),s=n(503);e.exports={...r,ClientRequest:i,IncomingMessage:o,...A,request:(e,t,n)=>new i(e,t,n),get:(e,t,n)=>{const r=new i(e,t,n);return r.end(),r},auto:s}},function(e,t,n){"use strict";e.exports=(e,t,n)=>{for(const r of n)e.on(r,(...e)=>t.emit(r,...e))}},function(e,t,n){"use strict";const r=(t,n,r)=>{e.exports[n]=class extends t{constructor(...e){super("string"==typeof r?r:r(e)),this.name=`${super.name} [${n}]`,this.code=n}}};r(TypeError,"ERR_INVALID_ARG_TYPE",e=>{const t=e[0].includes(".")?"property":"argument";let n=e[1];const r=Array.isArray(n);return r&&(n=`${n.slice(0,-1).join(", ")} or ${n.slice(-1)}`),`The "${e[0]}" ${t} must be ${r?"one of":"of"} type ${n}. Received ${typeof e[2]}`}),r(TypeError,"ERR_INVALID_PROTOCOL",e=>`Protocol "${e[0]}" not supported. Expected "${e[1]}"`),r(Error,"ERR_HTTP_HEADERS_SENT",e=>`Cannot ${e[0]} headers after they are sent to the client`),r(TypeError,"ERR_INVALID_HTTP_TOKEN",e=>`${e[0]} must be a valid HTTP token [${e[1]}]`),r(TypeError,"ERR_HTTP_INVALID_HEADER_VALUE",e=>`Invalid value "${e[0]} for header "${e[1]}"`),r(TypeError,"ERR_INVALID_CHAR",e=>`Invalid character in ${e[0]} [${e[1]}]`)},function(e,t,n){"use strict";const r=n(89),A=n(121),i=n(504),o=n(267),s=n(268),a=n(505),c=n(270),u=new o({maxSize:100}),g=new Map;e.exports=async(e,t,n)=>{("string"==typeof e||e instanceof URL)&&(e=c(new URL(e))),"function"==typeof t&&(n=t,t=void 0);const o="https:"===(t={ALPNProtocols:["h2","http/1.1"],protocol:"https:",...e,...t,resolveSocket:!0}).protocol,l=t.agent;if(t.host=t.hostname||t.host||"localhost",t.session=t.tlsSession,t.servername=t.servername||a(t),t.port=t.port||(o?443:80),t._defaultAgent=o?A.globalAgent:r.globalAgent,l){if(l.addRequest)throw new Error("The `options.agent` object can contain only `http`, `https` or `http2` properties");t.agent=l[o?"https":"http"]}if(o){if("h2"===await(async e=>{const t=`${e.host}:${e.port}:${e.ALPNProtocols.sort()}`;if(!u.has(t)){if(g.has(t)){return(await g.get(t)).alpnProtocol}const{path:n}=e;e.path=e.socketPath;const r=i(e);g.set(t,r);try{const{socket:i,alpnProtocol:o}=await r;if(u.set(t,o),e.path=n,"h2"===o)i.end();else{const t=e.agent||A.globalAgent;e.createConnection?i.end():t.keepAlive?((e,t,n)=>{t._httpMessage={shouldKeepAlive:!0};const r=()=>{e.emit("free",t,n)};t.on("free",r);const A=()=>{e.removeSocket(t,n)};t.on("close",A);const i=()=>{e.removeSocket(t,n),t.off("close",A),t.off("free",r),t.off("agentRemove",i)};t.on("agentRemove",i),e.emit("free",t,n)})(t,i,e):e.createConnection=()=>i}return g.delete(t),o}catch(e){throw g.delete(t),e}}return u.get(t)})(t))return l&&(t.agent=l.http2),new s(t,n)}return r.request(t,n)},e.exports.protocolCache=u},function(e,t,n){"use strict";const r=n(122);e.exports=(e={})=>new Promise((t,n)=>{const A=r.connect(e,()=>{e.resolveSocket?(A.off("error",n),t({alpnProtocol:A.alpnProtocol,socket:A})):(A.destroy(),t({alpnProtocol:A.alpnProtocol}))});A.on("error",n)})},function(e,t,n){"use strict";const r=n(118);e.exports=e=>{let t=e.host;const n=e.headers&&e.headers.host;if(n)if(n.startsWith("[")){t=-1===n.indexOf("]")?n:n.slice(1,-1)}else t=n.split(":",1)[0];return r.isIP(t)?"":t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(3),A=n(6),i=n(56),o=n(271),s=A.promisify(r.stat);t.default=async e=>{const{body:t,headers:n}=e;if(n&&"content-length"in n)return Number(n["content-length"]);if(!t)return 0;if(i.default.string(t))return Buffer.byteLength(t);if(i.default.buffer(t))return t.length;if(o.default(t))return A.promisify(t.getLength.bind(t))();if(t instanceof r.ReadStream){const{size:e}=await s(t.path);return e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(118),A=n(508),i=Symbol("reentry"),o=()=>{};class s extends Error{constructor(e,t){super(`Timeout awaiting '${t}' for ${e}ms`),this.event=t,this.name="TimeoutError",this.code="ETIMEDOUT"}}t.TimeoutError=s,t.default=(e,t,n)=>{if(i in e)return o;e[i]=!0;const a=[],{once:c,unhandleAll:u}=A.default(),g=(e,t,n)=>{var r,A;const i=setTimeout(t,e,e,n);null===(A=(r=i).unref)||void 0===A||A.call(r);const o=()=>{clearTimeout(i)};return a.push(o),o},{host:l,hostname:h}=n,p=(t,n)=>{e.socket&&(e.socket._hadError=!0),e.destroy(new s(t,n))},f=()=>{for(const e of a)e();u()};if(e.once("error",t=>{if(f(),0===e.listenerCount("error"))throw t}),e.once("abort",f),c(e,"response",e=>{c(e,"end",f)}),void 0!==t.request&&g(t.request,p,"request"),void 0!==t.socket){const n=()=>{p(t.socket,"socket")};e.setTimeout(t.socket,n),a.push(()=>{e.removeListener("timeout",n)})}return c(e,"socket",A=>{var i;const{socketPath:o}=e;if(A.connecting){const e=Boolean(null!=o?o:0!==r.isIP(null!=(i=null!=h?h:l)?i:""));if(void 0!==t.lookup&&!e&&void 0===A.address().address){const e=g(t.lookup,p,"lookup");c(A,"lookup",e)}if(void 0!==t.connect){const n=()=>g(t.connect,p,"connect");e?c(A,"connect",n()):c(A,"lookup",e=>{null===e&&c(A,"connect",n())})}void 0!==t.secureConnect&&"https:"===n.protocol&&c(A,"connect",()=>{const e=g(t.secureConnect,p,"secureConnect");c(A,"secureConnect",e)})}if(void 0!==t.send){const n=()=>g(t.send,p,"send");A.connecting?c(A,"connect",()=>{c(e,"upload-complete",n())}):c(e,"upload-complete",n())}}),void 0!==t.response&&c(e,"upload-complete",()=>{const n=g(t.response,p,"response");c(e,"response",n)}),f}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=()=>{const e=[];return{once(t,n,r){t.once(n,r),e.push({origin:t,event:n,fn:r})},unhandleAll(){for(const t of e){const{origin:e,event:n,fn:r}=t;e.removeListener(n,r)}e.length=0}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(56);t.default=e=>{const t={protocol:(e=e).protocol,hostname:r.default.string(e.hostname)&&e.hostname.startsWith("[")?e.hostname.slice(1,-1):e.hostname,host:e.host,hash:e.hash,search:e.search,pathname:e.pathname,href:e.href,path:`${e.pathname||""}${e.search||""}`};return r.default.string(e.port)&&0!==e.port.length&&(t.port=Number(e.port)),(e.username||e.password)&&(t.auth=`${e.username||""}:${e.password||""}`),t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(55),A=["protocol","host","hostname","port","pathname","search"];t.default=(e,t)=>{var n,i;if(t.path){if(t.pathname)throw new TypeError("Parameters `path` and `pathname` are mutually exclusive.");if(t.search)throw new TypeError("Parameters `path` and `search` are mutually exclusive.");if(t.searchParams)throw new TypeError("Parameters `path` and `searchParams` are mutually exclusive.")}if(t.search&&t.searchParams)throw new TypeError("Parameters `search` and `searchParams` are mutually exclusive.");if(!e){if(!t.protocol)throw new TypeError("No URL protocol specified");e=`${t.protocol}//${n=t.hostname,i=null!=n?n:t.host,null!=i?i:""}`}const o=new r.URL(e);if(t.path){const e=t.path.indexOf("?");-1===e?t.pathname=t.path:(t.pathname=t.path.slice(0,e),t.search=t.path.slice(e+1)),delete t.path}for(const e of A)t[e]&&(o[e]=t[e].toString());return o}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(56),A=n(177);A.knownHookEvents.includes("beforeRetry")||A.knownHookEvents.push("beforeRetry","afterResponse"),t.knownBodyTypes=["json","buffer","text"],t.parseBody=(e,n,r)=>{if("text"===n)return e.toString(r);if("json"===n)return 0===e.length?"":JSON.parse(e.toString());if("buffer"===n)return Buffer.from(e);if(!t.knownBodyTypes.includes(n))throw new TypeError(`Unknown body type '${n}'`)};class i extends A.default{static normalizeArguments(e,t,n){const A=super.normalizeArguments(e,t,n);if(r.default.null_(A.encoding))throw new TypeError("To get a Buffer, set `options.responseType` to `buffer` instead");r.assert.any([r.default.string,r.default.undefined],A.encoding),r.assert.any([r.default.boolean,r.default.undefined],A.resolveBodyOnly),r.assert.any([r.default.boolean,r.default.undefined],A.methodRewriting),r.assert.any([r.default.boolean,r.default.undefined],A.isStream);const{retry:i}=A;if(A.retry=n?{...n.retry}:{calculateDelay:e=>e.computedValue,limit:0,methods:[],statusCodes:[],errorCodes:[],maxRetryAfter:void 0},r.default.object(i)?(A.retry={...A.retry,...i},A.retry.methods=[...new Set(A.retry.methods.map(e=>e.toUpperCase()))],A.retry.statusCodes=[...new Set(A.retry.statusCodes)],A.retry.errorCodes=[...new Set(A.retry.errorCodes)]):r.default.number(i)&&(A.retry.limit=i),r.default.undefined(A.retry.maxRetryAfter)&&(A.retry.maxRetryAfter=Math.min(...[A.timeout.request,A.timeout.connect].filter(r.default.number))),r.default.object(A.pagination)){n&&(A.pagination={...n.pagination,...A.pagination});const{pagination:e}=A;if(!r.default.function_(e.transform))throw new Error("`options.pagination.transform` must be implemented");if(!r.default.function_(e.shouldContinue))throw new Error("`options.pagination.shouldContinue` must be implemented");if(!r.default.function_(e.filter))throw new TypeError("`options.pagination.filter` must be implemented");if(!r.default.function_(e.paginate))throw new Error("`options.pagination.paginate` must be implemented")}return A}static mergeOptions(...e){let t;for(const n of e)t=i.normalizeArguments(void 0,n,t);return t}async _beforeError(e){const t=e instanceof A.HTTPError;try{for(const t of this.options.hooks.beforeError)e=await t(e)}catch(e){return void this.destroy(e)}this._throwHttpErrors&&!t?this.destroy(e):this.emit("error",e)}}t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(120);t.default=function(e,...t){const n=(async()=>{if(e instanceof r.RequestError)try{for(const n of t)if(n)for(const t of n)e=await t(e)}catch(t){e=t}throw e})(),A=()=>n;return n.json=A,n.text=A,n.buffer=A,n.on=A,n}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(56);t.default=function e(t){for(const n of Object.values(t))(r.default.plainObject(n)||r.default.array(n))&&e(n);return Object.freeze(t)}},function(e,t,n){"use strict";const r=n(180),A=n(515),i=n(518),o=n(519),s=(e,t={})=>{let n=[];if(Array.isArray(e))for(let r of e){let e=s.create(r,t);Array.isArray(e)?n.push(...e):n.push(e)}else n=[].concat(s.create(e,t));return t&&!0===t.expand&&!0===t.nodupes&&(n=[...new Set(n)]),n};s.parse=(e,t={})=>o(e,t),s.stringify=(e,t={})=>r("string"==typeof e?s.parse(e,t):e,t),s.compile=(e,t={})=>("string"==typeof e&&(e=s.parse(e,t)),A(e,t)),s.expand=(e,t={})=>{"string"==typeof e&&(e=s.parse(e,t));let n=i(e,t);return!0===t.noempty&&(n=n.filter(Boolean)),!0===t.nodupes&&(n=[...new Set(n)]),n},s.create=(e,t={})=>""===e||e.length<3?[e]:!0!==t.expand?s.compile(e,t):s.expand(e,t),e.exports=s},function(e,t,n){"use strict";const r=n(273),A=n(181);e.exports=(e,t={})=>{let n=(e,i={})=>{let o=A.isInvalidBrace(i),s=!0===e.invalid&&!0===t.escapeInvalid,a=!0===o||!0===s,c=!0===t.escapeInvalid?"\\":"",u="";if(!0===e.isOpen)return c+e.value;if(!0===e.isClose)return c+e.value;if("open"===e.type)return a?c+e.value:"(";if("close"===e.type)return a?c+e.value:")";if("comma"===e.type)return"comma"===e.prev.type?"":a?e.value:"|";if(e.value)return e.value;if(e.nodes&&e.ranges>0){let n=A.reduce(e.nodes),i=r(...n,{...t,wrap:!1,toRegex:!0});if(0!==i.length)return n.length>1&&i.length>1?`(${i})`:i}if(e.nodes)for(let t of e.nodes)u+=n(t,e);return u};return n(e)}},function(e,t,n){"use strict"; +/*! + * to-regex-range + * + * Copyright (c) 2015-present, Jon Schlinkert. + * Released under the MIT License. + */const r=n(517),A=(e,t,n)=>{if(!1===r(e))throw new TypeError("toRegexRange: expected the first argument to be a number");if(void 0===t||e===t)return String(e);if(!1===r(t))throw new TypeError("toRegexRange: expected the second argument to be a number.");let i={relaxZeros:!0,...n};"boolean"==typeof i.strictZeros&&(i.relaxZeros=!1===i.strictZeros);let a=e+":"+t+"="+String(i.relaxZeros)+String(i.shorthand)+String(i.capture)+String(i.wrap);if(A.cache.hasOwnProperty(a))return A.cache[a].result;let c=Math.min(e,t),u=Math.max(e,t);if(1===Math.abs(c-u)){let n=e+"|"+t;return i.capture?`(${n})`:!1===i.wrap?n:`(?:${n})`}let g=p(e)||p(t),l={min:e,max:t,a:c,b:u},h=[],f=[];if(g&&(l.isPadded=g,l.maxLen=String(l.max).length),c<0){f=o(u<0?Math.abs(u):1,Math.abs(c),l,i),c=l.a=0}return u>=0&&(h=o(c,u,l,i)),l.negatives=f,l.positives=h,l.result=function(e,t,n){let r=s(e,t,"-",!1,n)||[],A=s(t,e,"",!1,n)||[],i=s(e,t,"-?",!0,n)||[];return r.concat(i).concat(A).join("|")}(f,h,i),!0===i.capture?l.result=`(${l.result})`:!1!==i.wrap&&h.length+f.length>1&&(l.result=`(?:${l.result})`),A.cache[a]=l,l.result};function i(e,t,n){if(e===t)return{pattern:e,count:[],digits:0};let r=function(e,t){let n=[];for(let r=0;r1&&A.count.pop(),A.count.push(a.count[0]),A.string=A.pattern+l(A.count),c=t+1)}return s}function s(e,t,n,r,A){let i=[];for(let A of e){let{string:e}=A;r||c(t,"string",e)||i.push(n+e),r&&c(t,"string",e)&&i.push(n+e)}return i}function a(e,t){return e>t?1:t>e?-1:0}function c(e,t,n){return e.some(e=>e[t]===n)}function u(e,t){return Number(String(e).slice(0,-t)+"9".repeat(t))}function g(e,t){return e-e%Math.pow(10,t)}function l(e){let[t=0,n=""]=e;return n||t>1?`{${t+(n?","+n:"")}}`:""}function h(e,t,n){return`[${e}${t-e==1?"":"-"}${t}]`}function p(e){return/^-?(0+)\d/.test(e)}function f(e,t,n){if(!t.isPadded)return e;let r=Math.abs(t.maxLen-String(e).length),A=!1!==n.relaxZeros;switch(r){case 0:return"";case 1:return A?"0?":"0";case 2:return A?"0{0,2}":"00";default:return A?`0{0,${r}}`:`0{${r}}`}}A.cache={},A.clearCache=()=>A.cache={},e.exports=A},function(e,t,n){"use strict"; +/*! + * is-number + * + * Copyright (c) 2014-present, Jon Schlinkert. + * Released under the MIT License. + */e.exports=function(e){return"number"==typeof e?e-e==0:"string"==typeof e&&""!==e.trim()&&(Number.isFinite?Number.isFinite(+e):isFinite(+e))}},function(e,t,n){"use strict";const r=n(273),A=n(180),i=n(181),o=(e="",t="",n=!1)=>{let r=[];if(e=[].concat(e),!(t=[].concat(t)).length)return e;if(!e.length)return n?i.flatten(t).map(e=>`{${e}}`):t;for(let A of e)if(Array.isArray(A))for(let e of A)r.push(o(e,t,n));else for(let e of t)!0===n&&"string"==typeof e&&(e=`{${e}}`),r.push(Array.isArray(e)?o(A,e,n):A+e);return i.flatten(r)};e.exports=(e,t={})=>{let n=void 0===t.rangeLimit?1e3:t.rangeLimit,s=(e,a={})=>{e.queue=[];let c=a,u=a.queue;for(;"brace"!==c.type&&"root"!==c.type&&c.parent;)u=(c=c.parent).queue;if(e.invalid||e.dollar)return void u.push(o(u.pop(),A(e,t)));if("brace"===e.type&&!0!==e.invalid&&2===e.nodes.length)return void u.push(o(u.pop(),["{}"]));if(e.nodes&&e.ranges>0){let s=i.reduce(e.nodes);if(i.exceedsLimit(...s,t.step,n))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let a=r(...s,t);return 0===a.length&&(a=A(e,t)),u.push(o(u.pop(),a)),void(e.nodes=[])}let g=i.encloseBrace(e),l=e.queue,h=e;for(;"brace"!==h.type&&"root"!==h.type&&h.parent;)l=(h=h.parent).queue;for(let t=0;t{if("string"!=typeof e)throw new TypeError("Expected a string");let n=t||{},E="number"==typeof n.maxLength?Math.min(A,n.maxLength):A;if(e.length>E)throw new SyntaxError(`Input length (${e.length}), exceeds max characters (${E})`);let B,y={type:"root",input:e,nodes:[]},m=[y],Q=y,w=y,v=0,b=e.length,D=0,S=0;const k=()=>e[D++],_=e=>{if("text"===e.type&&"dot"===w.type&&(w.type="text"),!w||"text"!==w.type||"text"!==e.type)return Q.nodes.push(e),e.parent=Q,e.prev=w,w=e,e;w.value+=e.value};for(_({type:"bos"});D0){if(Q.ranges>0){Q.ranges=0;let e=Q.nodes.shift();Q.nodes=[e,{type:"text",value:r(Q)}]}_({type:"comma",value:B}),Q.commas++}else if(B===a&&S>0&&0===Q.commas){let e=Q.nodes;if(0===S||0===e.length){_({type:"text",value:B});continue}if("dot"===w.type){if(Q.range=[],w.value+=B,w.type="range",3!==Q.nodes.length&&5!==Q.nodes.length){Q.invalid=!0,Q.ranges=0,w.type="text";continue}Q.ranges++,Q.args=[];continue}if("range"===w.type){e.pop();let t=e[e.length-1];t.value+=w.value+B,w=t,Q.ranges--;continue}_({type:"dot",value:B})}else _({type:"text",value:B});else{if("brace"!==Q.type){_({type:"text",value:B});continue}let e="close";(Q=m.pop()).close=!0,_({type:e,value:B}),S--,Q=m[m.length-1]}else{S++;let e=w.value&&"$"===w.value.slice(-1)||!0===Q.dollar;Q=_({type:"brace",open:!0,close:!1,dollar:e,depth:S,commas:0,ranges:0,nodes:[]}),m.push(Q),_({type:"open",value:B})}else{let e,n=B;for(!0!==t.keepQuotes&&(B="");D{e.nodes||("open"===e.type&&(e.isOpen=!0),"close"===e.type&&(e.isClose=!0),e.nodes||(e.type="text"),e.invalid=!0)});let e=m[m.length-1],t=e.nodes.indexOf(Q);e.nodes.splice(t,1,...Q.nodes)}}while(m.length>0);return _({type:"eos"}),y}},function(e,t,n){"use strict";e.exports={MAX_LENGTH:65536,CHAR_0:"0",CHAR_9:"9",CHAR_UPPERCASE_A:"A",CHAR_LOWERCASE_A:"a",CHAR_UPPERCASE_Z:"Z",CHAR_LOWERCASE_Z:"z",CHAR_LEFT_PARENTHESES:"(",CHAR_RIGHT_PARENTHESES:")",CHAR_ASTERISK:"*",CHAR_AMPERSAND:"&",CHAR_AT:"@",CHAR_BACKSLASH:"\\",CHAR_BACKTICK:"`",CHAR_CARRIAGE_RETURN:"\r",CHAR_CIRCUMFLEX_ACCENT:"^",CHAR_COLON:":",CHAR_COMMA:",",CHAR_DOLLAR:"$",CHAR_DOT:".",CHAR_DOUBLE_QUOTE:'"',CHAR_EQUAL:"=",CHAR_EXCLAMATION_MARK:"!",CHAR_FORM_FEED:"\f",CHAR_FORWARD_SLASH:"/",CHAR_HASH:"#",CHAR_HYPHEN_MINUS:"-",CHAR_LEFT_ANGLE_BRACKET:"<",CHAR_LEFT_CURLY_BRACE:"{",CHAR_LEFT_SQUARE_BRACKET:"[",CHAR_LINE_FEED:"\n",CHAR_NO_BREAK_SPACE:" ",CHAR_PERCENT:"%",CHAR_PLUS:"+",CHAR_QUESTION_MARK:"?",CHAR_RIGHT_ANGLE_BRACKET:">",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:"\t",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\ufeff"}},function(e,t,n){"use strict";e.exports=n(522)},function(e,t,n){"use strict";const r=n(4),A=n(523),i=n(524),o=n(182),s=(e,t,n=!1)=>{if(Array.isArray(e)){let r=e.map(e=>s(e,t,n));return e=>{for(let t of r){let n=t(e);if(n)return n}return!1}}if("string"!=typeof e||""===e)throw new TypeError("Expected pattern to be a non-empty string");let r=t||{},A=o.isWindows(t),i=s.makeRe(e,t,!1,!0),a=i.state;delete i.state;let c=()=>!1;if(r.ignore){let e={...t,ignore:null,onMatch:null,onResult:null};c=s(r.ignore,e,n)}const u=(n,o=!1)=>{let{isMatch:u,match:g,output:l}=s.test(n,i,t,{glob:e,posix:A}),h={glob:e,state:a,regex:i,posix:A,input:n,output:l,match:g,isMatch:u};return"function"==typeof r.onResult&&r.onResult(h),!1===u?(h.isMatch=!1,!!o&&h):c(n)?("function"==typeof r.onIgnore&&r.onIgnore(h),h.isMatch=!1,!!o&&h):("function"==typeof r.onMatch&&r.onMatch(h),!o||h)};return n&&(u.state=a),u};s.test=(e,t,n,{glob:r,posix:A}={})=>{if("string"!=typeof e)throw new TypeError("Expected input to be a string");if(""===e)return{isMatch:!1,output:""};let i=n||{},a=i.format||(A?o.toPosixSlashes:null),c=e===r,u=c&&a?a(e):e;return!1===c&&(c=(u=a?a(e):e)===r),!1!==c&&!0!==i.capture||(c=!0===i.matchBase||!0===i.basename?s.matchBase(e,t,n,A):t.exec(u)),{isMatch:!!c,match:c,output:u}},s.matchBase=(e,t,n,A=o.isWindows(n))=>{return(t instanceof RegExp?t:s.makeRe(t,n)).test(r.basename(e))},s.isMatch=(e,t,n)=>s(t,n)(e),s.parse=(e,t)=>i(e,t),s.scan=(e,t)=>A(e,t),s.makeRe=(e,t,n=!1,r=!1)=>{if(!e||"string"!=typeof e)throw new TypeError("Expected a non-empty string");let A,o=t||{},a=o.contains?"":"^",c=o.contains?"":"$",u={negated:!1,fastpaths:!0},g="";if(e.startsWith("./")&&(e=e.slice(2),g=u.prefix="./"),!1===o.fastpaths||"."!==e[0]&&"*"!==e[0]||(A=i.fastpaths(e,t)),void 0===A&&((u=s.parse(e,t)).prefix=g+(u.prefix||""),A=u.output),!0===n)return A;let l=`${a}(?:${A})${c}`;u&&!0===u.negated&&(l=`^(?!${l}).*$`);let h=s.toRegex(l,t);return!0===r&&(h.state=u),h},s.toRegex=(e,t)=>{try{let n=t||{};return new RegExp(e,n.flags||(n.nocase?"i":""))}catch(e){if(t&&!0===t.debug)throw e;return/$^/}},s.constants=n(124),e.exports=s},function(e,t,n){"use strict";const{CHAR_ASTERISK:r,CHAR_AT:A,CHAR_BACKWARD_SLASH:i,CHAR_COMMA:o,CHAR_DOT:s,CHAR_EXCLAMATION_MARK:a,CHAR_FORWARD_SLASH:c,CHAR_LEFT_CURLY_BRACE:u,CHAR_LEFT_PARENTHESES:g,CHAR_LEFT_SQUARE_BRACKET:l,CHAR_PLUS:h,CHAR_QUESTION_MARK:p,CHAR_RIGHT_CURLY_BRACE:f,CHAR_RIGHT_PARENTHESES:C,CHAR_RIGHT_SQUARE_BRACKET:d}=n(124);function I(e){return e.replace(/(?:\[.*?(?"\\"===e?"":e)}e.exports=(e,t)=>{let n,E,B=t||{},y=e.length-1,m=-1,Q=0,w=0,v=!1,b=!1,D=!1,S=0,k=!1,_=()=>m>=y,F=()=>(n=E,e.charCodeAt(++m));for(;m0&&(M=e.slice(0,Q),e=e.slice(Q),w-=Q),R&&!0===v&&w>0?(R=e.slice(0,w),K=e.slice(w)):!0===v?(R="",K=e):R=e,R&&""!==R&&"/"!==R&&R!==e&&(e=>e===c||e===i)(R.charCodeAt(R.length-1))&&(R=R.slice(0,-1)),!0===B.unescape&&(K&&(K=I(K)),R&&!0===b&&(R=I(R))),{prefix:M,input:N,base:R,glob:K,negated:D,isGlob:v}}},function(e,t,n){"use strict";const r=n(182),A=n(124),{MAX_LENGTH:i,POSIX_REGEX_SOURCE:o,REGEX_NON_SPECIAL_CHAR:s,REGEX_SPECIAL_CHARS_BACKREF:a,REPLACEMENTS:c}=A,u=(e,t)=>{if("function"==typeof t.expandRange)return t.expandRange(...e,t);e.sort();let n=`[${e.join("-")}]`;try{new RegExp(n)}catch(t){return e.map(e=>r.escapeRegex(e)).join("..")}return n},g=e=>{let t=1;for(;"!"===e.peek()&&("("!==e.peek(2)||"?"===e.peek(3));)e.advance(),e.start++,t++;return t%2!=0&&(e.negated=!0,e.start++,!0)},l=(e,t)=>`Missing ${e}: "${t}" - use "\\\\${t}" to match literal characters`,h=(e,t)=>{if("string"!=typeof e)throw new TypeError("Expected a string");e=c[e]||e;let n={...t},h="number"==typeof n.maxLength?Math.min(i,n.maxLength):i,p=e.length;if(p>h)throw new SyntaxError(`Input length: ${p}, exceeds maximum allowed length: ${h}`);let f={type:"bos",value:"",output:n.prepend||""},C=[f],d=n.capture?"":"?:",I=r.isWindows(t);const E=A.globChars(I),B=A.extglobChars(E),{DOT_LITERAL:y,PLUS_LITERAL:m,SLASH_LITERAL:Q,ONE_CHAR:w,DOTS_SLASH:v,NO_DOT:b,NO_DOT_SLASH:D,NO_DOTS_SLASH:S,QMARK:k,QMARK_NO_DOT:_,STAR:F,START_ANCHOR:M}=E,N=e=>`(${d}(?:(?!${M}${e.dot?v:y}).)*?)`;let R=n.dot?"":b,K=!0===n.bash?N(n):F,x=n.dot?k:_;n.capture&&(K=`(${K})`),"boolean"==typeof n.noext&&(n.noextglob=n.noext);let P,L={index:-1,start:0,consumed:"",output:"",backtrack:!1,brackets:0,braces:0,parens:0,quotes:0,tokens:C},O=[],T=[],U=f;const Y=()=>L.index===p-1,j=L.peek=(t=1)=>e[L.index+t],G=L.advance=()=>e[++L.index],J=e=>{L.output+=null!=e.output?e.output:e.value,L.consumed+=e.value||""},H=e=>{L[e]++,T.push(e)},q=e=>{L[e]--,T.pop()},z=e=>{if("globstar"===U.type){let t=L.braces>0&&("comma"===e.type||"brace"===e.type),n=O.length&&("pipe"===e.type||"paren"===e.type);"slash"===e.type||"paren"===e.type||t||n||(L.output=L.output.slice(0,-U.output.length),U.type="star",U.value="*",U.output=K,L.output+=U.output)}O.length&&"paren"!==e.type&&!B[e.value]&&(O[O.length-1].inner+=e.value),(e.value||e.output)&&J(e),U&&"text"===U.type&&"text"===e.type?U.value+=e.value:(e.prev=U,C.push(e),U=e)},W=(e,t)=>{let r={...B[t],conditions:1,inner:""};r.prev=U,r.parens=L.parens,r.output=L.output;let A=(n.capture?"(":"")+r.open;z({type:e,value:t,output:L.output?"":w}),z({type:"paren",extglob:!0,value:G(),output:A}),H("parens"),O.push(r)},X=t=>{let r=t.close+(n.capture?")":"");if("negate"===t.type){let A=K;t.inner&&t.inner.length>1&&t.inner.includes("/")&&(A=N(n)),(A!==K||Y()||/^\)+$/.test(e.slice(L.index+1)))&&(r=t.close=")$))"+A),"bos"===t.prev.type&&Y()&&(L.negatedExtglob=!0)}z({type:"paren",extglob:!0,value:P,output:r}),q("parens")};if(!1!==n.fastpaths&&!/(^[*!]|[/{[()\]}"])/.test(e)){let t=!1,r=e.replace(a,(e,n,r,A,i,o)=>"\\"===A?(t=!0,e):"?"===A?n?n+A+(i?k.repeat(i.length):""):0===o?x+(i?k.repeat(i.length):""):k.repeat(r.length):"."===A?y.repeat(r.length):"*"===A?n?n+A+(i?K:""):K:n?e:"\\"+e);return!0===t&&(r=!0===n.unescape?r.replace(/\\/g,""):r.replace(/\\+/g,e=>e.length%2==0?"\\\\":e?"\\":"")),L.output=r,L}for(;!Y();){if("\0"===(P=G()))continue;if("\\"===P){let t=j();if("/"===t&&!0!==n.bash)continue;if("."===t||";"===t)continue;if(!t){z({type:"text",value:P+="\\"});continue}let r=/^\\+/.exec(e.slice(L.index+1)),A=0;if(r&&r[0].length>2&&(A=r[0].length,L.index+=A,A%2!=0&&(P+="\\")),!0===n.unescape?P=G()||"":P+=G()||"",0===L.brackets){z({type:"text",value:P});continue}}if(L.brackets>0&&("]"!==P||"["===U.value||"[^"===U.value)){if(!1!==n.posix&&":"===P){let e=U.value.slice(1);if(e.includes("[")&&(U.posix=!0,e.includes(":"))){let e=U.value.lastIndexOf("["),t=U.value.slice(0,e),n=U.value.slice(e+2),r=o[n];if(r){U.value=t+r,L.backtrack=!0,G(),f.output||1!==C.indexOf(U)||(f.output=w);continue}}}("["===P&&":"!==j()||"-"===P&&"]"===j())&&(P="\\"+P),"]"!==P||"["!==U.value&&"[^"!==U.value||(P="\\"+P),!0===n.posix&&"!"===P&&"["===U.value&&(P="^"),U.value+=P,J({value:P});continue}if(1===L.quotes&&'"'!==P){P=r.escapeRegex(P),U.value+=P,J({value:P});continue}if('"'===P){L.quotes=1===L.quotes?0:1,!0===n.keepQuotes&&z({type:"text",value:P});continue}if("("===P){z({type:"paren",value:P}),H("parens");continue}if(")"===P){if(0===L.parens&&!0===n.strictBrackets)throw new SyntaxError(l("opening","("));let e=O[O.length-1];if(e&&L.parens===e.parens+1){X(O.pop());continue}z({type:"paren",value:P,output:L.parens?")":"\\)"}),q("parens");continue}if("["===P){if(!0!==n.nobracket&&e.slice(L.index+1).includes("]"))H("brackets");else{if(!0!==n.nobracket&&!0===n.strictBrackets)throw new SyntaxError(l("closing","]"));P="\\"+P}z({type:"bracket",value:P});continue}if("]"===P){if(!0===n.nobracket||U&&"bracket"===U.type&&1===U.value.length){z({type:"text",value:P,output:"\\"+P});continue}if(0===L.brackets){if(!0===n.strictBrackets)throw new SyntaxError(l("opening","["));z({type:"text",value:P,output:"\\"+P});continue}q("brackets");let e=U.value.slice(1);if(!0===U.posix||"^"!==e[0]||e.includes("/")||(P="/"+P),U.value+=P,J({value:P}),!1===n.literalBrackets||r.hasRegexChars(e))continue;let t=r.escapeRegex(U.value);if(L.output=L.output.slice(0,-U.value.length),!0===n.literalBrackets){L.output+=t,U.value=t;continue}U.value=`(${d}${t}|${U.value})`,L.output+=U.value;continue}if("{"===P&&!0!==n.nobrace){z({type:"brace",value:P,output:"("}),H("braces");continue}if("}"===P){if(!0===n.nobrace||0===L.braces){z({type:"text",value:P,output:"\\"+P});continue}let e=")";if(!0===L.dots){let t=C.slice(),r=[];for(let e=t.length-1;e>=0&&(C.pop(),"brace"!==t[e].type);e--)"dots"!==t[e].type&&r.unshift(t[e].value);e=u(r,n),L.backtrack=!0}z({type:"brace",value:P,output:e}),q("braces");continue}if("|"===P){O.length>0&&O[O.length-1].conditions++,z({type:"text",value:P});continue}if(","===P){let e=P;L.braces>0&&"braces"===T[T.length-1]&&(e="|"),z({type:"comma",value:P,output:e});continue}if("/"===P){if("dot"===U.type&&1===L.index){L.start=L.index+1,L.consumed="",L.output="",C.pop(),U=f;continue}z({type:"slash",value:P,output:Q});continue}if("."===P){if(L.braces>0&&"dot"===U.type){"."===U.value&&(U.output=y),U.type="dots",U.output+=P,U.value+=P,L.dots=!0;continue}z({type:"dot",value:P,output:y});continue}if("?"===P){if(U&&"paren"===U.type){let e=j(),t=P;if("<"===e&&parseInt(process.version.slice(1),10)<10)throw new Error("Node.js v10 or higher is required for regex lookbehinds");("("===U.value&&!/[!=<:]/.test(e)||"<"===e&&!/[!=]/.test(j(2)))&&(t="\\"+P),z({type:"text",value:P,output:t});continue}if(!0!==n.noextglob&&"("===j()&&"?"!==j(2)){W("qmark",P);continue}if(!0!==n.dot&&("slash"===U.type||"bos"===U.type)){z({type:"qmark",value:P,output:_});continue}z({type:"qmark",value:P,output:k});continue}if("!"===P){if(!0!==n.noextglob&&"("===j()&&("?"!==j(2)||!/[!=<:]/.test(j(3)))){W("negate",P);continue}if(!0!==n.nonegate&&0===L.index){g(L);continue}}if("+"===P){if(!0!==n.noextglob&&"("===j()&&"?"!==j(2)){W("plus",P);continue}if(U&&("bracket"===U.type||"paren"===U.type||"brace"===U.type)){let e=!0===U.extglob?"\\"+P:P;z({type:"plus",value:P,output:e});continue}if(L.parens>0&&!1!==n.regex){z({type:"plus",value:P});continue}z({type:"plus",value:m});continue}if("@"===P){if(!0!==n.noextglob&&"("===j()&&"?"!==j(2)){z({type:"at",value:P,output:""});continue}z({type:"text",value:P});continue}if("*"!==P){"$"!==P&&"^"!==P||(P="\\"+P);let t=s.exec(e.slice(L.index+1));t&&(P+=t[0],L.index+=t[0].length),z({type:"text",value:P});continue}if(U&&("globstar"===U.type||!0===U.star)){U.type="star",U.star=!0,U.value+=P,U.output=K,L.backtrack=!0,L.consumed+=P;continue}if(!0!==n.noextglob&&"("===j()&&"?"!==j(2)){W("star",P);continue}if("star"===U.type){if(!0===n.noglobstar){L.consumed+=P;continue}let t=U.prev,r=t.prev,A="slash"===t.type||"bos"===t.type,i=r&&("star"===r.type||"globstar"===r.type);if(!0===n.bash&&(!A||!Y()&&"/"!==j())){z({type:"star",value:P,output:""});continue}let o=L.braces>0&&("comma"===t.type||"brace"===t.type),s=O.length&&("pipe"===t.type||"paren"===t.type);if(!A&&"paren"!==t.type&&!o&&!s){z({type:"star",value:P,output:""});continue}for(;"/**"===e.slice(L.index+1,L.index+4);){let t=e[L.index+4];if(t&&"/"!==t)break;L.consumed+="/**",L.index+=3}if("bos"===t.type&&Y()){U.type="globstar",U.value+=P,U.output=N(n),L.output=U.output,L.consumed+=P;continue}if("slash"===t.type&&"bos"!==t.prev.type&&!i&&Y()){L.output=L.output.slice(0,-(t.output+U.output).length),t.output="(?:"+t.output,U.type="globstar",U.output=N(n)+"|$)",U.value+=P,L.output+=t.output+U.output,L.consumed+=P;continue}let a=j();if("slash"===t.type&&"bos"!==t.prev.type&&"/"===a){let e=void 0!==j(2)?"|$":"";L.output=L.output.slice(0,-(t.output+U.output).length),t.output="(?:"+t.output,U.type="globstar",U.output=`${N(n)}${Q}|${Q}${e})`,U.value+=P,L.output+=t.output+U.output,L.consumed+=P+G(),z({type:"slash",value:P,output:""});continue}if("bos"===t.type&&"/"===a){U.type="globstar",U.value+=P,U.output=`(?:^|${Q}|${N(n)}${Q})`,L.output=U.output,L.consumed+=P+G(),z({type:"slash",value:P,output:""});continue}L.output=L.output.slice(0,-U.output.length),U.type="globstar",U.output=N(n),U.value+=P,L.output+=U.output,L.consumed+=P;continue}let t={type:"star",value:P,output:K};!0!==n.bash?!U||"bracket"!==U.type&&"paren"!==U.type||!0!==n.regex?(L.index!==L.start&&"slash"!==U.type&&"dot"!==U.type||("dot"===U.type?(L.output+=D,U.output+=D):!0===n.dot?(L.output+=S,U.output+=S):(L.output+=R,U.output+=R),"*"!==j()&&(L.output+=w,U.output+=w)),z(t)):(t.output=P,z(t)):(t.output=".*?","bos"!==U.type&&"slash"!==U.type||(t.output=R+t.output),z(t))}for(;L.brackets>0;){if(!0===n.strictBrackets)throw new SyntaxError(l("closing","]"));L.output=r.escapeLast(L.output,"["),q("brackets")}for(;L.parens>0;){if(!0===n.strictBrackets)throw new SyntaxError(l("closing",")"));L.output=r.escapeLast(L.output,"("),q("parens")}for(;L.braces>0;){if(!0===n.strictBrackets)throw new SyntaxError(l("closing","}"));L.output=r.escapeLast(L.output,"{"),q("braces")}if(!0===n.strictSlashes||"star"!==U.type&&"bracket"!==U.type||z({type:"maybe_slash",value:"",output:`${Q}?`}),!0===L.backtrack){L.output="";for(let e of L.tokens)L.output+=null!=e.output?e.output:e.value,e.suffix&&(L.output+=e.suffix)}return L};h.fastpaths=(e,t)=>{let n={...t},o="number"==typeof n.maxLength?Math.min(i,n.maxLength):i,s=e.length;if(s>o)throw new SyntaxError(`Input length: ${s}, exceeds maximum allowed length: ${o}`);e=c[e]||e;let a=r.isWindows(t);const{DOT_LITERAL:u,SLASH_LITERAL:g,ONE_CHAR:l,DOTS_SLASH:h,NO_DOT:p,NO_DOTS:f,NO_DOTS_SLASH:C,STAR:d,START_ANCHOR:I}=A.globChars(a);let E=n.capture?"":"?:",B=!0===n.bash?".*?":d,y=n.dot?f:p,m=n.dot?C:p;n.capture&&(B=`(${B})`);const Q=e=>`(${E}(?:(?!${I}${e.dot?h:u}).)*?)`,w=e=>{switch(e){case"*":return`${y}${l}${B}`;case".*":return`${u}${l}${B}`;case"*.*":return`${y}${B}${u}${l}${B}`;case"*/*":return`${y}${B}${g}${l}${m}${B}`;case"**":return y+Q(n);case"**/*":return`(?:${y}${Q(n)}${g})?${m}${l}${B}`;case"**/*.*":return`(?:${y}${Q(n)}${g})?${m}${B}${u}${l}${B}`;case"**/.*":return`(?:${y}${Q(n)}${g})?${u}${l}${B}`;default:{let n=/^(.*?)\.(\w+)$/.exec(e);if(!n)return;let r=w(n[1],t);if(!r)return;return r+u+n[2]}}};let v=w(e);return v&&!0!==n.strictSlashes&&(v+=`${g}?`),v},e.exports=h},function(e,t,n){"use strict";e.exports=(e,...t)=>new Promise(n=>{n(e(...t))})},function(e,t,n){e.exports=n(527)},function(e,t,n){"use strict";n(118);var r,A=n(122),i=n(89),o=n(121),s=n(19),a=(n(57),n(6));function c(e){var t=this;t.options=e||{},t.proxyOptions=t.options.proxy||{},t.maxSockets=t.options.maxSockets||i.Agent.defaultMaxSockets,t.requests=[],t.sockets=[],t.on("free",(function(e,n,r,A){for(var i=g(n,r,A),o=0,s=t.requests.length;o=this.maxSockets?A.requests.push(i):A.createSocket(i,(function(t){function n(){A.emit("free",t,i)}function r(e){A.removeSocket(t),t.removeListener("free",n),t.removeListener("close",r),t.removeListener("agentRemove",r)}t.on("free",n),t.on("close",r),t.on("agentRemove",r),e.onSocket(t)}))},c.prototype.createSocket=function(e,t){var n=this,A={};n.sockets.push(A);var i=l({},n.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(i.localAddress=e.localAddress),i.proxyAuth&&(i.headers=i.headers||{},i.headers["Proxy-Authorization"]="Basic "+new Buffer(i.proxyAuth).toString("base64")),r("making CONNECT request");var o=n.request(i);function s(i,s,a){var c;return o.removeAllListeners(),s.removeAllListeners(),200!==i.statusCode?(r("tunneling socket could not be established, statusCode=%d",i.statusCode),s.destroy(),(c=new Error("tunneling socket could not be established, statusCode="+i.statusCode)).code="ECONNRESET",e.request.emit("error",c),void n.removeSocket(A)):a.length>0?(r("got illegal response body from proxy"),s.destroy(),(c=new Error("got illegal response body from proxy")).code="ECONNRESET",e.request.emit("error",c),void n.removeSocket(A)):(r("tunneling connection has established"),n.sockets[n.sockets.indexOf(A)]=s,t(s))}o.useChunkedEncodingByDefault=!1,o.once("response",(function(e){e.upgrade=!0})),o.once("upgrade",(function(e,t,n){process.nextTick((function(){s(e,t,n)}))})),o.once("connect",s),o.once("error",(function(t){o.removeAllListeners(),r("tunneling socket could not be established, cause=%s\n",t.message,t.stack);var i=new Error("tunneling socket could not be established, cause="+t.message);i.code="ECONNRESET",e.request.emit("error",i),n.removeSocket(A)})),o.end()},c.prototype.removeSocket=function(e){var t=this.sockets.indexOf(e);if(-1!==t){this.sockets.splice(t,1);var n=this.requests.shift();n&&this.createSocket(n,(function(e){n.request.onSocket(e)}))}},r=process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)?function(){var e=Array.prototype.slice.call(arguments);"string"==typeof e[0]?e[0]="TUNNEL: "+e[0]:e.unshift("TUNNEL:"),console.error.apply(console,e)}:function(){},t.debug=r},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=["number","number"];t.makeInterface=e=>({get HEAP8(){return e.HEAP8},get HEAPU8(){return e.HEAPU8},ZIP_CHECKCONS:4,ZIP_CREATE:1,ZIP_EXCL:2,ZIP_TRUNCATE:8,ZIP_RDONLY:16,ZIP_FL_OVERWRITE:8192,ZIP_OPSYS_DOS:0,ZIP_OPSYS_AMIGA:1,ZIP_OPSYS_OPENVMS:2,ZIP_OPSYS_UNIX:3,ZIP_OPSYS_VM_CMS:4,ZIP_OPSYS_ATARI_ST:5,ZIP_OPSYS_OS_2:6,ZIP_OPSYS_MACINTOSH:7,ZIP_OPSYS_Z_SYSTEM:8,ZIP_OPSYS_CPM:9,ZIP_OPSYS_WINDOWS_NTFS:10,ZIP_OPSYS_MVS:11,ZIP_OPSYS_VSE:12,ZIP_OPSYS_ACORN_RISC:13,ZIP_OPSYS_VFAT:14,ZIP_OPSYS_ALTERNATE_MVS:15,ZIP_OPSYS_BEOS:16,ZIP_OPSYS_TANDEM:17,ZIP_OPSYS_OS_400:18,ZIP_OPSYS_OS_X:19,ZIP_CM_DEFAULT:-1,ZIP_CM_STORE:0,ZIP_CM_DEFLATE:8,uint08S:e._malloc(1),uint16S:e._malloc(2),uint32S:e._malloc(4),uint64S:e._malloc(8),malloc:e._malloc,free:e._free,getValue:e.getValue,open:e.cwrap("zip_open","number",["string","number","number"]),openFromSource:e.cwrap("zip_open_from_source","number",["number","number","number"]),close:e.cwrap("zip_close","number",["number"]),discard:e.cwrap("zip_discard",null,["number"]),getError:e.cwrap("zip_get_error","number",["number"]),getName:e.cwrap("zip_get_name","string",["number","number","number"]),getNumEntries:e.cwrap("zip_get_num_entries","number",["number","number"]),stat:e.cwrap("zip_stat","number",["number","string","number","number"]),statIndex:e.cwrap("zip_stat_index","number",["number",...r,"number","number"]),fopen:e.cwrap("zip_fopen","number",["number","string","number"]),fopenIndex:e.cwrap("zip_fopen_index","number",["number",...r,"number"]),fread:e.cwrap("zip_fread","number",["number","number","number","number"]),fclose:e.cwrap("zip_fclose","number",["number"]),dir:{add:e.cwrap("zip_dir_add","number",["number","string"])},file:{add:e.cwrap("zip_file_add","number",["number","string","number","number"]),getError:e.cwrap("zip_file_get_error","number",["number"]),getExternalAttributes:e.cwrap("zip_file_get_external_attributes","number",["number",...r,"number","number","number"]),setExternalAttributes:e.cwrap("zip_file_set_external_attributes","number",["number",...r,"number","number","number"]),setMtime:e.cwrap("zip_file_set_mtime","number",["number",...r,"number","number"]),setCompression:e.cwrap("zip_set_file_compression","number",["number",...r,"number","number"])},error:{initWithCode:e.cwrap("zip_error_init_with_code",null,["number","number"]),strerror:e.cwrap("zip_error_strerror","string",["number"])},name:{locate:e.cwrap("zip_name_locate","number",["number","string","number"])},source:{fromUnattachedBuffer:e.cwrap("zip_source_buffer_create","number",["number","number","number","number"]),fromBuffer:e.cwrap("zip_source_buffer","number",["number","number",...r,"number"]),free:e.cwrap("zip_source_free",null,["number"]),setMtime:e.cwrap("zip_source_set_mtime","number",["number","number"])},struct:{stat:e.cwrap("zipstruct_stat","number",[]),statS:e.cwrap("zipstruct_statS","number",[]),statName:e.cwrap("zipstruct_stat_name","string",["number"]),statIndex:e.cwrap("zipstruct_stat_index","number",["number"]),statSize:e.cwrap("zipstruct_stat_size","number",["number"]),statMtime:e.cwrap("zipstruct_stat_mtime","number",["number"]),error:e.cwrap("zipstruct_error","number",[]),errorS:e.cwrap("zipstruct_errorS","number",[])}})},function(e,t,n){var r,A=Object.assign({},n(3)),i=void 0!==i?i:{},o={};for(r in i)i.hasOwnProperty(r)&&(o[r]=i[r]);var s,a,c,u,g=[],l=!0,h=l,p="";l&&(p=__dirname+"/",s=function(e,t){var r;return(r=Ke(e))?t?r:r.toString():(c||(c=A),u||(u=n(4)),e=u.normalize(e),c.readFileSync(e,t?null:"utf8"))},a=function(e){var t=s(e,!0);return t.buffer||(t=new Uint8Array(t)),v(t.buffer),t},process.argv.length>1&&process.argv[1].replace(/\\/g,"/"),g=process.argv.slice(2),e.exports=i,function(e){process.exit(e)},i.inspect=function(){return"[Emscripten Module object]"});var f=i.print||console.log.bind(console),C=i.printErr||console.warn.bind(console);for(r in o)o.hasOwnProperty(r)&&(i[r]=o[r]);function d(e){var t=U[H>>2],n=t+e+15&-16;return n>ve()&&ae(),U[H>>2]=n,t}function I(e){switch(e){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:if("*"===e[e.length-1])return 4;if("i"===e[0]){var t=parseInt(e.substr(1));return v(t%8==0,"getNativeTypeSize invalid bits "+t+", type "+e),t/8}return 0}}o=null,i.arguments&&(g=i.arguments),i.thisProgram&&i.thisProgram,i.quit&&i.quit;var E,B,y=function(e){e};function m(e,t,n,r){switch("*"===(n=n||"i8").charAt(n.length-1)&&(n="i32"),n){case"i1":case"i8":L[e>>0]=t;break;case"i16":T[e>>1]=t;break;case"i32":U[e>>2]=t;break;case"i64":le=[t>>>0,(ge=t,+Z(ge)>=1?ge>0?(0|ne(+te(ge/4294967296),4294967295))>>>0:~~+ee((ge-+(~~ge>>>0))/4294967296)>>>0:0)],U[e>>2]=le[0],U[e+4>>2]=le[1];break;case"float":Y[e>>2]=t;break;case"double":j[e>>3]=t;break;default:ae("invalid type for setValue: "+n)}}i.wasmBinary&&(E=i.wasmBinary),i.noExitRuntime&&i.noExitRuntime,"object"!=typeof WebAssembly&&C("no native wasm support detected");var Q=new WebAssembly.Table({initial:31,maximum:31,element:"anyfunc"}),w=!1;function v(e,t){e||ae("Assertion failed: "+t)}function b(e){var t=i["_"+e];return v(t,"Cannot call unknown function "+e+", make sure it is exported"),t}function D(e,t,n,r,A){var i={string:function(e){var t=0;if(null!=e&&0!==e){var n=1+(e.length<<2);K(e,t=Je(n),n)}return t},array:function(e){var t=Je(e.length);return function(e,t){L.set(e,t)}(e,t),t}};var o=b(e),s=[],a=0;if(r)for(var c=0;c>2]=0;for(a=o+i;r>0]=0;return o}if("i8"===s)return e.subarray||e.slice?O.set(e,o):O.set(new Uint8Array(e),o),o;for(var c,u,g,l=0;l=r);)++A;if(A-t>16&&e.subarray&&F)return F.decode(e.subarray(t,A));for(var i="";t>10,56320|1023&c)}}else i+=String.fromCharCode((31&o)<<6|s)}else i+=String.fromCharCode(o)}return i}function N(e,t){return e?M(O,e,t):""}function R(e,t,n,r){if(!(r>0))return 0;for(var A=n,i=n+r-1,o=0;o=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&e.charCodeAt(++o);if(s<=127){if(n>=i)break;t[n++]=s}else if(s<=2047){if(n+1>=i)break;t[n++]=192|s>>6,t[n++]=128|63&s}else if(s<=65535){if(n+2>=i)break;t[n++]=224|s>>12,t[n++]=128|s>>6&63,t[n++]=128|63&s}else{if(n+3>=i)break;t[n++]=240|s>>18,t[n++]=128|s>>12&63,t[n++]=128|s>>6&63,t[n++]=128|63&s}}return t[n]=0,n-A}function K(e,t,n){return R(e,O,t,n)}function x(e){for(var t=0,n=0;n=55296&&r<=57343&&(r=65536+((1023&r)<<10)|1023&e.charCodeAt(++n)),r<=127?++t:t+=r<=2047?2:r<=65535?3:4}return t}"undefined"!=typeof TextDecoder&&new TextDecoder("utf-16le");var P,L,O,T,U,Y,j;function G(e,t){return e%t>0&&(e+=t-e%t),e}function J(e){P=e,i.HEAP8=L=new Int8Array(e),i.HEAP16=T=new Int16Array(e),i.HEAP32=U=new Int32Array(e),i.HEAPU8=O=new Uint8Array(e),i.HEAPU16=new Uint16Array(e),i.HEAPU32=new Uint32Array(e),i.HEAPF32=Y=new Float32Array(e),i.HEAPF64=j=new Float64Array(e)}var H=20640,q=i.TOTAL_MEMORY||16777216;function z(e){for(;e.length>0;){var t=e.shift();if("function"!=typeof t){var n=t.func;"number"==typeof n?void 0===t.arg?i.dynCall_v(n):i.dynCall_vi(n,t.arg):n(void 0===t.arg?null:t.arg)}else t()}}(B=i.wasmMemory?i.wasmMemory:new WebAssembly.Memory({initial:q/65536}))&&(P=B.buffer),q=P.byteLength,J(P),U[H>>2]=5263680;var W=[],X=[],V=[],$=[];var Z=Math.abs,ee=Math.ceil,te=Math.floor,ne=Math.min,re=0,Ae=null,ie=null;function oe(e){re++,i.monitorRunDependencies&&i.monitorRunDependencies(re)}function se(e){if(re--,i.monitorRunDependencies&&i.monitorRunDependencies(re),0==re&&(null!==Ae&&(clearInterval(Ae),Ae=null),ie)){var t=ie;ie=null,t()}}function ae(e){throw i.onAbort&&i.onAbort(e),f(e+=""),C(e),w=!0,1,e="abort("+e+"). Build with -s ASSERTIONS=1 for more info.",new WebAssembly.RuntimeError(e)}i.preloadedImages={},i.preloadedAudios={};var ce="data:application/octet-stream;base64,";function ue(e){return String.prototype.startsWith?e.startsWith(ce):0===e.indexOf(ce)}var ge,le,he="data:application/octet-stream;base64,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EDcaCyABKAIMKAIkQQFGBEAgASgCDBBmCwJAIAEoAgwoAixFDQAgASgCDC0AKEEBcQ0AIAEoAgwoAiwgASgCDBD8AgsgASgCDEEAQgBBBRAkGiABKAIMKAIABEAgASgCDCgCABAeCyABKAIMEBgLIAFBEGokAAuBAgEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMKAIcNgIEIAEoAgQQ4gIgASABKAIEKAIUNgIIIAEoAgggASgCDCgCEEsEQCABIAEoAgwoAhA2AggLAkAgASgCCEUNACABKAIMKAIMIAEoAgQoAhAgASgCCBAcGiABKAIMIgAgASgCCCAAKAIMajYCDCABKAIEIgAgASgCCCAAKAIQajYCECABKAIMIgAgASgCCCAAKAIUajYCFCABKAIMIgAgACgCECABKAIIazYCECABKAIEIgAgACgCFCABKAIIazYCFCABKAIEKAIUDQAgASgCBCABKAIEKAIINgIQCyABQRBqJAALYAEBfyMAQRBrIgEkACABIAA2AgggASABKAIIQgIQITYCBAJAIAEoAgRFBEAgAUEAOwEODAELIAEgASgCBC0AACABKAIELQABQQh0ajsBDgsgAS8BDiEAIAFBEGokACAAC1oBAX8jAEEgayICJAAgAiAANgIcIAIgATcDECACIAIoAhwgAikDEBDLATYCDCACKAIMBEAgAigCHCIAIAIpAxAgACkDEHw3AxALIAIoAgwhACACQSBqJAAgAAtvAQF/IwBBEGsiAiQAIAIgADYCCCACIAE7AQYgAiACKAIIQgIQITYCAAJAIAIoAgBFBEAgAkF/NgIMDAELIAIoAgAgAi8BBjoAACACKAIAIAIvAQZBCHU6AAEgAkEANgIMCyACKAIMGiACQRBqJAALjwEBAX8jAEEQayICJAAgAiAANgIIIAIgATYCBCACIAIoAghCBBAhNgIAAkAgAigCAEUEQCACQX82AgwMAQsgAigCACACKAIEOgAAIAIoAgAgAigCBEEIdjoAASACKAIAIAIoAgRBEHY6AAIgAigCACACKAIEQRh2OgADIAJBADYCDAsgAigCDBogAkEQaiQAC7YCAQF/IwBBMGsiBCQAIAQgADYCJCAEIAE2AiAgBCACNwMYIAQgAzYCFAJAIAQoAiQpAxhCASAEKAIUrYaDUARAIAQoAiRBDGpBHEEA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Qf/9+3dqcUGAgYKEeHFFDQALIANB/wFxRQRAIAIhAQwBCwNAIAItAAEhAyACQQFqIgEhAiADDQALCyABIABrC4sDAQF/IwBBMGsiAyQAIAMgADYCJCADIAE2AiAgAyACNwMYAkAgAygCJC0AKEEBcQRAIANCfzcDKAwBCwJAAkAgAygCJCgCIEEATQ0AIAMpAxhC////////////AFYNACADKQMYQgBYDQEgAygCIA0BCyADKAIkQQxqQRJBABAXIANCfzcDKAwBCyADKAIkLQA1QQFxBEAgA0J/NwMoDAELAn8jAEEQayIAIAMoAiQ2AgwgACgCDC0ANEEBcQsEQCADQgA3AygMAQsgAykDGFAEQCADQgA3AygMAQsgA0IANwMQA0AgAykDECADKQMYVARAIAMgAygCJCADKAIgIAMpAxCnaiADKQMYIAMpAxB9QQEQJCICNwMIIAJCAFMEQCADKAIkQQE6ADUgAykDEFAEQCADQn83AygMBAsgAyADKQMQNwMoDAMLIAMpAwhQBEAgAygCJEEBOgA0BSADIAMpAwggAykDEHw3AxAMAgsLCyADIAMpAxA3AygLIAMpAyghAiADQTBqJAAgAgs2AQF/IwBBEGsiASAANgIMAn4gASgCDC0AAEEBcQRAIAEoAgwpAwggASgCDCkDEH0MAQtCAAsLsgECAX8BfiMAQRBrIgEkACABIAA2AgQgASABKAIEQggQITYCAAJAIAEoAgBFBEAgAUIANwMIDAELIAEgASgCAC0AAK0gASgCAC0AB61COIYgASgCAC0ABq1CMIZ8IAEoAgAtAAWtQiiGfCABKAIALQAErUIghnwgASgCAC0AA61CGIZ8IAEoAgAtAAKtQhCGfCABKAIALQABrUIIhnx8NwMICyABKQMIIQIgAUEQaiQAIAIL8QICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgA2AgAgAyACIARrQXxxIgJqIgFBfGogADYCACACQQlJDQAgAyAANgIIIAMgADYCBCABQXhqIAA2AgAgAUF0aiAANgIAIAJBGUkNACADIAA2AhggAyAANgIUIAMgADYCECADIAA2AgwgAUFwaiAANgIAIAFBbGogADYCACABQWhqIAA2AgAgAUFkaiAANgIAIAIgA0EEcUEYciIBayICQSBJDQAgAK0iBUIghiAFhCEFIAEgA2ohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCwvcAQEBfyMAQRBrIgEkACABIAA2AgwgASgCDARAIAEoAgwoAigEQCABKAIMKAIoQQA2AiggASgCDCgCKEIANwMgIAEoAgwCfiABKAIMKQMYIAEoAgwpAyBWBEAgASgCDCkDGAwBCyABKAIMKQMgCzcDGAsgASABKAIMKQMYNwMAA0AgASkDACABKAIMKQMIWkUEQCABKAIMKAIAIAEpAwCnQQR0aigCABAYIAEgASkDAEIBfDcDAAwBCwsgASgCDCgCABAYIAEoAgwoAgQQGCABKAIMEBgLIAFBEGokAAtrAQF/IwBBIGsiAiAANgIcIAJCASACKAIcrYY3AxAgAkEMaiABNgIAA0AgAiACKAIMIgBBBGo2AgwgAiAAKAIANgIIIAIoAghBAEhFBEAgAiACKQMQQgEgAigCCK2GhDcDEAwBCwsgAikDEAuoAQEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIKAIgQQBNBEAgASgCCEEMakESQQAQFyABQX82AgwMAQsgASgCCCIAIAAoAiBBf2o2AiAgASgCCCgCIEUEQCABKAIIQQBCAEECECQaIAEoAggoAgAEQCABKAIIKAIAEDdBAEgEQCABKAIIQQxqQRRBABAXCwsLIAFBADYCDAsgASgCDCEAIAFBEGokACAACy8BAX8jAEEQayIBJAAgASAANgIMIAEoAgwoAggQGCABKAIMQQA2AgggAUEQaiQAC80BAQF/IwBBEGsiAiQAIAIgADYCCCACIAE2AgQCQCACKAIILQAoQQFxBEAgAkF/NgIMDAELIAIoAgRFBEAgAigCCEEMakESQQAQFyACQX82AgwMAQsgAigCBBA+IAIoAggoAgAEQCACKAIIKAIAIAIoAgQQOUEASARAIAIoAghBDGogAigCCCgCABAaIAJBfzYCDAwCCwsgAigCCCACKAIEQjhBAxAkQgBTBEAgAkF/NgIMDAELIAJB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ASgCHCgCbGs2AhQgASgCHCgCbCABKAIQIAEoAhwoAixBhgJrak8EQCABKAIcKAI4IAEoAhwoAjggASgCEGogASgCECABKAIUaxAcGiABKAIcIgAgACgCcCABKAIQazYCcCABKAIcIgAgACgCbCABKAIQazYCbCABKAIcIgAgACgCXCABKAIQazYCXCABKAIcENMCIAEgASgCECABKAIUajYCFAsgASgCHCgCACgCBARAIAEgASgCHCgCACABKAIcKAJ0IAEoAhwoAjggASgCHCgCbGpqIAEoAhQQdTYCGCABKAIcIgAgASgCGCAAKAJ0ajYCdCABKAIcKAJ0IAEoAhwoArQtakEDTwRAIAEgASgCHCgCbCABKAIcKAK0LWs2AgwgASgCHCABKAIcKAI4IAEoAgxqLQAANgJIIAEoAhwgASgCHCgCVCABKAIcKAI4IAEoAgxBAWpqLQAAIAEoAhwoAkggASgCHCgCWHRzcTYCSANAIAEoAhwoArQtBEAgASgCHCABKAIcKAJUIAEoAhwoAjggASgCDEECamotAAAgASgCHCgCSCABKAIcKAJYdHNxNgJIIAEoAhwoAkAgASgCDCABKAIcKAI0cUEBdGogASgCHCgCRCABKAIcKAJIQQF0ai8BADsBACABKAIcKAJEIAEoAhwoAkhBAXRqIAEoAgw7AQAgASABKAIMQQFqNgIMIAEoAhwiACAAKAK0LUF/ajYCtC0gASgCHCgCdCABKAIcKAK0LWpBA08NAQsLC0EAIQAgASgCHCgCdEGGAkkEfyABKAIcKAIAKAIEQQBHBUEAC0EBcQ0BCwsgASgCHCgCwC0gASgCHCgCPEkEQCABIAEoAhwoAmwgASgCHCgCdGo2AggCQCABKAIcKALALSABKAIISQRAIAEgASgCHCgCPCABKAIIazYCBCABKAIEQYICSwRAIAFBggI2AgQLIAEoAhwoAjggASgCCGpBACABKAIEEDQgASgCHCABKAIIIAEoAgRqNgLALQwBCyABKAIcKALALSABKAIIQYICakkEQCABIAEoAghBggJqIAEoAhwoAsAtazYCBCABKAIEIAEoAhwoAjwgASgCHCgCwC1rSwRAIAEgASgCHCgCPCABKAIcKALALWs2AgQLIAEoAhwoAjggASgCHCgCwC1qQQAgASgCBBA0IAEoAhwiACABKAIE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AygCSDYCkAELCwJAIAMoAqQBLwFSRQRAIAMoAqQBIgAgAC8BDEH+/wNxOwEMDAELIAMoAqQBIgAgAC8BDEEBcjsBDAsgAyADKAKkASADKAKgARCCAUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBArNgIcIAMoAhxFBEAgAygCqAFBCGpBDkEAEBcgAygCkAEQJiADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgsgAygCHCADKAKkASkDKBAvIAMoAhwgAygCpAEpAyAQLwwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQELIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLwsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAvCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC8LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFyADKAIcEBkgAygCkAEQJiADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQXjYCjAEgAygCHBAZIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECs2AhAgAygCEEUEQCADKAKoAUEIakEOQQAQFyADKAKQARAmIANBfzYCrAEMAgsgAygCEEECECIgAygCEEHv1wBBAhBCIAMoAhAgAygCpAEvAVJB/wFxEIUBIAMoAhAgAygCpAEoAhBB//8DcRAiAn8jAEEQayIAIAMoAhA2AgwgACgCDC0AAEEBcUULBEAgAygCqAFBCGpBFEEAEBcgAygCEBAZIAMoApABECYgA0F/NgKsAQwCCyADQYGyAkEHIANBFWpBgAYQXjYCDCADKAIQEBkgAygCDCADKAKQATYCACADIAMoAgw2ApABCyADIANB0ABqQi4QKyIANgJMIABFBEAgAygCqAFBCGpBDkEAEBcgAygCkAEQJiADQX82AqwBDAELIAMoAkxB5dcAQerXACADKAKgAUGAAnEbQQQQQiADKAKgAUGAAnFFBEAgAygCTAJ/QS0gAy0AhgFBAXENABogAygCpAEvAQgLQf//A3EQIgsgAygCTAJ/QS0gAy0AhgFBAXENABogAygCpAEvAQoLQf//A3EQIiADKAJMIAMoAqQBLwEMECICQCADLQCFAUEBcQRAIAMoAkxB4wAQIgwBCyADKAJMIAMoAqQBKAIQQf//A3EQIgsgAygCpAEoAhQgA0GeAWogA0GcAWoQvAEgAygCTCADLwGeARAiIAMoAkwgAy8BnAEQIgJAAkAgAy0AhQFBAXFFDQAgAygCpAEpAyhCFFoNACADKAJMQQAQIwwBCyADKAJMIAMoAqQBKAIYECMLAkACQCADKAKgAUGAAnFBgAJHDQAgAygCpAEpAyBC/////w9UBEAgAygCpAEpAyhC/////w9UDQELIAMoAkxBfxAjIAMoAkxBfxAjDAELAkAgAygCpAEpAyBC/////w9UBEAgAygCTCADKAKkASkDIKcQIwwBCyADKAJMQX8QIwsCQCADKAKkASkDKEL/////D1QEQCADKAJMIAMoAqQBKQMopxAjDAELIAMoAkxBfxAjCwsgAygCTCADKAKkASgCMBBgQf//A3EQIiADIAMoAqQBKAI0IAMoAqABEMEBQf//A3EgAygCkAFBgAYQwQFB//8DcWo2AogBIAMoAkwgAygCiAFB//8DcRAiIAMoAqABQYACcUUEQCADKAJMIAMoAqQBKAI4EGBB//8DcRAiIAMoAkwgAygCpAEoAjxB//8DcRAiIAMoAkwgAygCpAEvAUAQIiADKAJMIAMoAqQBKAJEECMCQCADKAKkASkDSEL/////D1QEQCADKAJMIAMoAqQBKQNIpxAjDAELIAMoAkxBfxAjCwsCfyMAQRBrIgAgAygCTDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFyADKAJMEBkgAygCkAEQJiADQX82AqwBDAELIAMo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DAMFIAMoAoABKAIAIAMpA3CnQQR0aigCACgCNCADKAI0EMQBIQAgAygCgAEoAgAgAykDcKdBBHRqKAIAIAA2AjQgAygCgAEoAgAgAykDcKdBBHRqKAIAQQE6AAQgA0EANgI0IAMQWyADIAMpA3BCAXw3A3AMAgsACwsgAwJ+IAMpA2AgAykDaH1C////////////AFQEQCADKQNgIAMpA2h9DAELQv///////////wALNwOIAQsgAykDiAEhBCADQZABaiQAIAQLpgEBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADKAIQEPsBIgA2AgwCQCAARQRAIANBADYCHAwBCyADKAIMIAMoAhg2AgAgAygCDCADKAIUNgIEIAMoAhRBEHEEQCADKAIMIgAgACgCFEECcjYCFCADKAIMIgAgACgCGEECcjYCGAsgAyADKAIMNgIcCyADKAIcIQAgA0EgaiQAIAAL1QEBAX8jAEEgayIEJAAgBCAANgIYIAQgATcDECAEIAI2AgwgBCADNgIIAkACQCAEKQMQQv///////////wBXBEAgBCkDEEKAgICAgICAgIB/WQ0BCyAEKAIIQQRBPRAXIARBfzYCHAwBCwJ/IAQpAxAhASAEKAIMIQAgBCgCGCICKAJMQX9MBEAgAiABIAAQkwEMAQsgAiABIAAQkwELQQBIBEAgBCgCCEEEQbScASgCABAXIARBfzYCHAwBCyAEQQA2AhwLIAQoAhwhACAEQSBqJAAgAAsnAAJ/QQBBACAAEAYiACAAQRtGGyIARQ0AGkG0nAEgADYCAEEACxoLagEBfyMAQRBrIgMkACADIAFBwICAAnEEfyADIAJBBGo2AgwgAigCAAVBAAs2AgggAyAANgIAIAMgAUGAgAJyNgIEQQUgAxARIgBBgWBPBEBBtJwBQQAgAGs2AgBBfyEACyADQRBqJAAgAAtXAQJ/IwBBIGsiASQAIAEgADYCEEEKIAFBEGoQEyICQWFGBH8gASAANgIAQSggARASBSACCyIAQYFgTwRAQbScAUEAIABrNgIAQX8hAAsgAUEgaiQAIAALaQECfwJAIAAoAhQgACgCHE0NACAAQQBBACAAKAIkEQAAGiAAKAIUDQBBfw8LIAAoAgQiASAAKAIIIgJJBEAgACABIAJrrEEBIAAoAigRCgAa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GEECdGovAQAEQCACIAIoAhgiATYCECACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohACAEIAA2AtAoIABBAnQgA2ogATYCACACKAIYIAIoAixB2ChqakEAOgAADAELIAIoAiQgAigCGEECdGpBADsBAgsgAiACKAIYQQFqNgIYDAELCwNAIAIoAiwoAtAoQQJIBEACQCACKAIQQQJIBEAgAiACKAIQQQFqIgA2AhAMAQtBACEACyACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohASAEIAE2AtAoIAFBAnQgA2ogADYCACACIAA2AgwgAigCJCACKAIMQQJ0akEBOwEAIAIoAgwgAigCLEHYKGpqQQA6AAAgAigCLCIAIAAoAqgtQX9qNgKoLSACKAIgBEAgAigCLCIAIAAoAqwtIAIoAiAgAigCDEECdGovAQJrNgKsLQsMAQsLIAIoAiggAigCEDYCBCACIAIoAiwoAtAoQQJtNgIYA0AgAigCGEEBSEUEQCACKAIsIAIoAiQgAigCGBB4IAIgAigCGEF/ajYCGAwBCwsgAiACKAIcNgIMA0AgAiACKAIsKALgFjYCGCACKAIsQdwWaiEBIAIoAiwiAygC0CghACADIABBf2o2AtAoIAIoAiwgAEECdCABaigCADYC4BYgAigCLCACKAIkQQEQeCACIAIoAiwoAuAWNgIUIAIoAhghASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBf2ohACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIUIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQX9qIQAgBCAANgLUKCAAQQJ0IANqIAE2AgAgAigCJCACKAIMQQJ0aiACKAIkIAIoAhhBAnRqLwEAIAIoAiQgAigCFEECdGovAQBqOwEAIAIoAgwgAigCLEHYKGpqAn8gAigCGCACKAIsQdgoamotAAAgAigCFCACKAIsQdgoamotAABOBEAgAigCGCACKAIsQdgoamotAAAMAQsgAigCFCACKAIsQdgoamotAAALQQFqOgAAIAIoAiQgAigCFEECdGogAigCDCIAOwECIAIoAiQgAigCGEECdGogADsBAiACIAIoAgwiAEEBajYCDCACKAIsIAA2AuAWIAIoAiwgAigCJEEBEHggAigCLCgC0ChBAk4NAAsgAigCLCgC4BYh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ACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEH+fWo2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEF/aiIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C54QAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAgxBBWsgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACQQFBACACKAIkQQRGBH8gAigCHCACKAIYIAIoAigoAgAoAgRqRgVBAAtBAXEbNgIQIAIoAihBAEEAIAIoAhAQViACKAIoKAIIIAIoAigoAhRBBGtqIAIoAhw6AAAgAigCKCgCCCACKAIoKAIUQQNraiACKAIcQQh2OgAAIAIoAigoAgggAigCKCgCFEECa2ogAigCHEF/czoAACACKAIoKAIIIAIoAigoAhRBAWtqIAIoAhxBf3NBCHY6AAAgAigCKCgCABAfIAIoAhgEQCACKAIYIAIoAhxLBEAgAiACKAIcNgIYCyACKAIoKAIAKAIMIAIoAigoAjggAigCKCgCXGogAigCGBAcGiACKAIoKAIAIgAgAigCGCAAKAIMajYCDCACKAIoKAIAIgAgACgCECACKAIYazYCECACKAIoKAIAIgAgAigCGCAAKAIUajYCFCACKAIoIgAgAigCGCAAKAJcajYCXCACIAIoAhwgAigCGGs2AhwLIAIoAhwEQCACKAIoKAIAIAIoAigoAgAoAgwgAigCHBB1GiACKAIoKAIAIgAgAigCHCAAKAIMajYCDCACKAIoKAIAIgAgACgCECACKAIcazYCECACKAIoKAIAIgAgAigCHCAAKAIUajYCFAsgAigCEEUNAQsLIAIgAigCDCACKAIoKAIAKAIEazYCDCACKAIMBEACQCACKAIMIAIoAigoAixPBEAgAigCKEECNgKwLSACKAIoKAI4IAIoAigoAgAoAgAgAigCKCgCLGsgAigCKCgCLBAcGiACKAIoIAIoAigoAiw2AmwMAQsgAigCKCgCPCACKAIoKAJsayACKAIMTQRAIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAIoAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBwaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsLIAIoAigoAjggAigCKCgCbGogAigCKCgCACgCACACKAIMayACKAIMEBwaIAIoAigiACACKAIMIAAoAmxqNgJsCyACKAIoIAIoAigoAmw2AlwgAigCKCIBAn8gAigCDCACKAIoKAIsIAIoAigoArQta0sEQCACKAIoKAIsIAIoAigoArQtawwBCyACKAIMCyABKAK0LWo2ArQtCyACKAIoKALALSACKAIoKAJsSQRAIAIoAiggAigCKCgCbDYCwC0LAkAgAigCEARAIAJBAzYCLAwBCwJAIAIoAiRFDQAgAigCJEEERg0AIAIoAigoAgAoAgQNACACKAIoKAJsIAIoAigoAlxHDQAgAkEBNgIsDAELIAIgAigCKCgCPCACKAIoKAJsa0EBazYCFAJAIAIoAigoAgAoAgQgAigCFE0NACACKAIoKAJcIAIoAigoAixIDQAgAigCKCIAIAAoAlwgAigCKCgCLGs2AlwgAigCKCIAIAAoAmwgAigCKCgCLGs2AmwgAigCKCgCOCACKAIoKAI4IAIoAigoAixqIAIoAigoAmwQHBogAigCKCgCsC1BAkkEQCACKAIoIgAgACgCsC1BAWo2ArAtCyACIAIoAigoAiwgAigCFGo2AhQLIAIoAhQgAigCKCgCACgCBEsEQCACIAIoAigoAgAoAgQ2AhQLIAIoAhQEQCACKAIoKAIAIAIoAigoAjggAigCKCgCbGogAigCFBB1GiACKAIoIgAgAigCFCAAKAJsajYCbAsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCyACIAIoAigoArwtQSpqQQN1NgIUIAICf0H//wMgAigCKCgCDCACKAIUa0H//wNLDQAaIAIoAigoAgwgAigCFGsLNgIUIAICfyACKAIUIAIoAigoAixLBEAgAigCKCgCLAwBCyACKAIUCzYCICACIAIoAigoAmwgAigCKCgCXGs2AhgCQCACKAIYIAIoAiBJBEAgAigCGEUEQCACKAIkQQRHDQILIAIoAiRFDQEgAigCKCgCACgCBA0BIAIoAhggAigCFEsNAQsgAgJ/IAIoAhggAigCFEsEQCACKAIUDAELIAIoAhgLNgIcIAJBAUEAAn9BACACKAIkQQRHDQAaQQAgAigCKCgCACgCBA0AGiACKAIcIAIoAhhGC0EBcRs2AhAgAigCKCACKAIoKAI4IAIoAigoAlxqIAIoAhwgAigCEBBWIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHwsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIEHYEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBECAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCgCHCgCRCABKAIIKAIkEQIACyABKAIIKAIcKAJABEAgASgCCCgCKCABKAIIKAIcKAJAIAEoAggoAiQRAgALIAEoAggoAhwoAjgEQCABKAIIKAIoIAEoAggoAhwoAjggASgCCCgCJBECAAsgASgC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Rw0AIAIoAgwvAQoEQCACKAIMKAIMIAIoAhQoAgwgAigCDC8BChBQDQELIAIoAgwiACAAKAIEIAIoAhQoAgRBgAZxcjYCBCACQQE2AgQMAQsgAiACKAIMKAIANgIMDAELCyACKAIUQQA2AgACQCACKAIEBEAgAigCFBAmDAELIAIoAgggAigCFCIANgIAIAIgADYCCAsgAiACKAIQNgIUDAELCyACIAIoAhg2AhwLIAIoAhwhACACQSBqJAAgAAtdAQF/IwBBEGsiAiQAIAIgADYCCCACIAE2AgQCQCACKAIERQRAIAJBADYCDAwBCyACIAIoAgggAigCBCgCACACKAIELwEErRA8NgIMCyACKAIMIQAgAkEQaiQAIAALjwEBAX8jAEEQayICJAAgAiAANgIIIAIgATYCBAJAAkAgAigCCARAIAIoAgQNAQsgAiACKAIIIAIoAgRGNgIMDAELIAIoAggvAQQgAigCBC8BBEcEQCACQQA2AgwMAQsgAiACKAIIKAIAIAIoAgQoAgAgAigCCC8BBBBQRTYCDAsgAigCDCEAIAJBEGokACAAC1UBAX8jAEEQayIBJAAgASAANgIMIAFBAEEAQQAQHTYCCCABKAIMBEAgASABKAIIIAEoAgwoAgAgASgCDC8BBBAdNgIICyABKAIIIQAgAUEQaiQAIAALiAEBAX8jAEEgayIDJAAgAyAANgIUIAMgATYCECADIAI3AwgCQAJAIAMoAhQoAiRBAUYEQCADKQMIQv///////////wBYDQELIAMoAhRBDGpBEkEAEBcgA0J/NwMYDAELIAMgAygCFCADKAIQIAMpAwhBCxAkNwMYCyADKQMYIQIgA0EgaiQAIAILcwEBfyMAQSBrIgEkACABIAA2AhggAUIINwMQIAEgASgCGCkDECABKQMQfDcDCAJAIAEpAwggASgCGCkDEFQEQCABKAIYQQA6AAAgAUF/NgIcDAELIAEgASgCGCABKQMIEC42AhwLIAEoAhwaIAFBIGokAAsGAEG0nAELlgEBAX8jAEEgayICIAA2AhggAiABNwMQAkACQAJAIAIoAhgtAABBAXFFDQAgAigCGCkDECACKQMQfCACKQMQVA0AIAIoAhgpAxAgAikDEHwgAigCGCkDCFgNAQsgAigCGEEAOgAAIAJBADYCHAwBCyACIAIoAhgoAgQg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AiAANgIYIAIgATYCFCACQYmYATYCECACQQQ2AgwCQAJAIAIoAhQgAigCDE8EQCACKAIMDQELIAJBADYCHAwBCyACIAIoAhhBf2o2AggDQAJAIAIgAigCCEEBaiACKAIQLQAAIAIoAhggAigCCGsgAigCFCACKAIMa2oQuAEiADYCCCAARQ0AIAIoAghBAWogAigCEEEBaiACKAIMQQFrEFANASACIAIoAgg2AhwMAgsLIAJBADYCHAsgAigCHCEAIAJBIGokACAACykAIAEgASgCAEEPakFwcSIBQRBqNgIAIAAgASkDACABKQMIEOACOQMAC8EGAQF/IwBB4ABrIgIkACACIAA2AlggAiABNwNQAkAgAikDUEIWVARAIAIoAlhBCGpBE0EAEBcgAkEANgJcDAELIAICfiACKQNQQqqABFQEQCACKQNQDAELQqqABAs3AzAgAigCWCgCAEIAIAIpAzB9QQIQLUEASARAIwBBEGsiACACKAJYKAIANgIMIAIgACgCDEEMajYCCAJAAn8jAEEQayIAIAIoAgg2AgwgACgCDCgCAEEERgsEQCMAQRBrIgAgAigCCDYCDCAAKAIMKAIEQRZGDQELIAIoAlhBCGogAigCCBBFIAJBADYCXAwCCwsgAiACKAJYKAIAEFQiATcDOCABQgBTBEAgAigCWEEIaiACKAJYKAIAEBogAkEANgJcDAELIAIgAigCWCgCACACKQMwQQAgAigCWEEIahBDIgA2AgwgAEUEQCACQQA2AlwMAQsgAkJ/NwMgIAJBADYCTCACKQMwQqqABFoEQCACKAIMQhQQLhoLIAJBEGpBE0EAEBcgAiACKAIMQgAQITYCRANAAkAgAiACKAJEIAIoAgwQMkISfacQ9QEiADYCRCAARQ0AIAIoAgwgAigCRAJ/IwBBEGsiACACKAIMNgIMIAAoAgwoAgQLa6wQLhogAiACKAJYIAIoAgwgAikDOCACQRBqEPQBIgA2AkggAARAAkAgAigCTARAIAIpAyBCAFcEQCACIAIoAlggAigCTCACQRBqEGg3AyALIAIgAigCWCACKAJIIAJBEGoQaDcDKAJAIAIpAyAgAikDKFMEQCACKAJMECggAiACKAJINgJMIAIgAikDKDcDIAwBCyACKAJIECgLDAELIAIgAigCSDYCTAJAIAIoAlgoAgRBBHEE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AXFHDQELCyACDwsgABAwIABqDwsgAAurAwEBfyMAQTBrIgIkACACIAA2AiggAiABNgIkIAJBADYCECACIAIoAiggAigCKBAwajYCGCACIAIoAhhBf2o2AhwDQCACKAIcIAIoAihPBH8gAigCHCwAAEHYAEYFQQALQQFxBEAgAiACKAIQQQFqNgIQIAIgAigCHEF/ajYCHAwBCwsCQCACKAIQRQRAQbScAUEcNgIAIAJBfzYCLAwBCyACIAIoAhxBAWo2AhwDQCACEIcCNgIMIAIgAigCHDYCFANAIAIoAhQgAigCGEkEQCACIAIoAgxBJHA6AAsCfyACLAALQQpIBEAgAiwAC0EwagwBCyACLAALQdcAagshACACIAIoAhQiAUEBajYCFCABIAA6AAAgAiACKAIMQSRuNgIMDAELCyACKAIoIQAgAgJ/QbYDIAIoAiRBf0YNABogAigCJAs2AgAgAiAAQcKBICACEGwiADYCICAAQQBOBEAgAigCJEF/RwRAIAIoAiggAigCJBCGAgsgAiACKAIgNgIsDAILQbScASgCAEEURg0ACyACQX82AiwLIAIoAiwhACACQTBqJAAgAAtDAQF/IwBBEGsiAiQAIAIgATYCBCACIAA2AgBBDyACEA8iAEGBYE8Ef0G0nAFBACAAazYCAEEABSAACxogAkEQaiQAC2cBAn8jAEEQayIAJAACQCAAQQhqEIgCQQFxBEAgACAAKAIINgIMDAELQYShAS0AAEEBcUUEQEEAEAIhAUH4oAEQAyABEIoCQfigARAACyAAEIkCNgIMCyAAKAIMIQEgAEEQaiQAIAELjAEBAX8jAEEQayIBJAAgASAANgIIIAFBBDsBBiABQeeXAUEAQQAQbCIANgIAAkAgAEEASARAIAFBADoADwwBCyABKAIAIAEoAgggAS8BBhCLAiABLwEGRwRAIAEoAgAQayABQQA6AA8MAQsgASgCABBrIAFBAToADwsgAS0AD0EBcSEAIAFBEGokACAAC60BAQR/QfigARADQdiaASgCACEAAkBB1JoBKAIAIgNFBEAgACAAKAIAQe2cmY4EbEG54ABqQf////8HcSIANgIADAELIABB3JoBKAIAIgJBAnRqIgEgASgCACAAQYChASgCACIBQQJ0aigCAGoiADYCAEGAoQFBACABQQFqIgEgASADRhs2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IAEgAzYCBCABIAI2AgAgAEHNlwEgARBxIAEoAqgBIAEoAhw2AgggASABKAIcNgKsAQsgASgCrAEhACABQbABaiQAIAALcQEDfwJAAkADQCAAIAJB0IgBai0AAEcEQEHXACEDIAJBAWoiAkHXAEcNAQwCCwsgAiIDDQBBsIkBIQAMAQtBsIkBIQIDQCACLQAAIQQgAkEBaiIAIQIgBA0AIAAhAiADQX9qIgMNAAsLIAEoAhQaIAALMwEBfyAAKAIUIgMgASACIAAoAhAgA2siASABIAJLGyIBEBwaIAAgACgCFCABajYCFCACC4oBAQJ/IwBBoAFrIgMkACADQQhqQbiHAUGQARAcGiADIAA2AjQgAyAANgIcIANBfiAAayIEQf////8HQf////8HIARLGyIENgI4IAMgACAEaiIANgIkIAMgADYCGCADQQhqIAEgAhC9AiAEBEAgAygCHCIAIAAgAygCGEZrQQA6AAALIANBoAFqJAALvgIBAX8jAEHAwABrIgMkACADIAA2ArhAIAMgATYCtEAgAyACNwOoQAJAIAMoArRAEFNBAEgEQCADKAK4QEEIaiADKAK0QBAaIANBfzYCvEAMAQsgA0EANgIMIANCADcDEANAAkAgAyADKAK0QCADQSBqQoDAABAxIgI3AxggAkIAVw0AIAMoArhAIANBIGogAykDGBA8QQBIBEAgA0F/NgIMBSADKQMYQoDAAFINAiADKAK4QCgCVEUNAiADKQOoQEIAVw0CIAMgAykDGCADKQMQfDcDECADKAK4QCgCVCADKQMQuSADKQOoQLmjEFcMAgsLCyADKQMYQgBTBEAgAygCuEBBCGogAygCtEAQGiADQX82AgwLIAMoArRAEDcaIAMgAygCDDYCvEALIAMoArxAIQAgA0HAwABqJAAgAAuqAQEBfyMAQTBrIgMkACADIAA2AiggAyABNgIkIAMgAjcDGCADIAMoAigoAgAQOyICNwMQAkAgAkIAUwRAIANBfzYCLAwBCyADIAMoAiggAygCJCADKQMYEIoDIgI3AwAgAkIAUwRAIANBfzYCLAwBCyADIAMoAigoAgAQOyICNwMIIAJCAFMEQCADQX82AiwMAQsgA0EANgIsCyADKAIsIQAgA0EwaiQAIAAL/gEBAX8jAEGgwABrIgIkACACIAA2AphAIAIgATcDkEAgAiACKQOQQLo5AwACQANAIAIpA5BAQgBWBEAgAgJ+QoDAACACKQOQQEKAwABWDQAaIAIpA5BACz4CDCACKAKYQCgCACACQRBqIAIoAgytIAIoAphAQQhqEGJBAEgEQCACQX82ApxADAMLIAIoAphAIAJBEGogAigCDK0QPEEASARAIAJBfzYCnEAMAwUgAiACKQOQQCACNQIMfTcDkEAgAigCmEAoAlQgAisDACACKQOQQLqhIAIrAwCjEFcMAgsACwsgAkEANgKcQAsgAigCnEAhACACQaDAAGokACAAC/IRAgF/AX4jAEGgAWsiAyQAIAMgADYCmAEgAyABNgKUASADIAI2ApABAkAgAygClAEgA0E4ahA5QQBIBEAgAygCmAFBCGogAygClAEQGiADQX82ApwBDAELIAMpAzhCwACDUARAIAMgAykDOELAAIQ3AzggA0EAOwFoCwJAAkAgAygCkAEoAhBBf0cEQCADKAKQASgCEEF+Rw0BCyADLwFoRQ0AIAMoApABIAMvAWg2AhAMAQsCQAJAIAMoApABKAIQDQAgAykDOEIEg1ANACADIAMpAzhCCIQ3AzggAyADKQNQNwNYDAELIAMgAykDOEL3////D4M3AzgLCyADKQM4QoABg1AEQCADIAMpAzhCgAGENwM4IANBADsBagsgA0GAAjYCJAJAIAMpAzhCBINQBEAgAyADKAIkQYAIcjYCJCADQn83A3AMAQsgAygCkAEgAykDUDcDKCADIAMpA1A3A3ACQCADKQM4QgiDUARAAkACQAJ/AkAgAygCkAEoAhBBf0cEQCADKAKQASgCEEF+Rw0BC0EIDAELIAMoApABKAIQC0H//wNxIgBBDEsNAAJAAkACQCAAQQFrDgwDAwMDAwMDAQMDAwACCyADQpTC5PMPNwMQDAMLIANCg4Ow/w83AxAMAgsgA0L/////DzcDEAwBCyADQgA3AxALIAMpA1AgAykDEFYEQCADIAMoAiRBgAhyNgIkCwwBCyADKAKQASADKQNYNwMgCwsgAyADKAKYASgCABA7IgQ3A4gBIARCAFMEQCADKAKYAUEIaiADKAKYASgCABAaIANBfzYCnAEMAQsgAygCkAEiACAALwEMQff/A3E7AQwgAyADKAKYASADKAKQASADKAIkEF0iADYCKCAAQQBIBEAgA0F/NgKcAQwBCyADIAMvAWgCfwJAIAMoApABKAIQQX9HBEAgAygCkAEoAhBBfkcNAQtBCAwBCyADKAKQASgCEAtB//8DcUc6ACIgAyADLQAiQQFxBH8gAy8BaEEARwVBAAtBAXE6ACEgAyADLwFoBH8gAy0AIQVBAQtBAXE6ACAgAyADLQAiQQFxBH8gAygCkAEoAhBBAEcFQQALQQFxOgAfIAMCf0EBIAMtACJBAXENABpBASADKAKQASgCAEGAAXENABogAygCkAEvAVIgAy8BakcLQQFxOgAeIAMgAy0AHkEBcQR/IAMvAWpBAEcFQQALQQFxOgAdIAMgAy0AHkEBcQR/IAMoApABLwFSQQBHBUEAC0EBcToAHCADIAMoApQBNgI0IwBBEGsiACADKAI0NgIMIAAoAgwiACAAKAIwQQFqNgIwIAMtAB1BAXEEQCADIAMvAWpBABB6IgA2AgwgAEUEQCADKAKYAUEIakEYQQAQFyADKAI0EB4gA0F/NgKcAQwCCyADIAMoApgBIAMoAjQgAy8BakEAIAMoApgBKAIcIAMoAgwRKwAiADYCMCAARQRAIAMoAjQQHiADQX82ApwBDAILIAMoAjQQHiADIAMoAjA2AjQLIAMtACFBAXEEQCADIAMoApgBIAMoAjQgAy8BaBCiASIANgIwIABFBEAgAygCNBAeIANBfzYCnAEMAgsgAygCNBAeIAMgAygCMDYCNAsgAy0AIEEBcQRAIAMgAygCmAEgAygCNEEAEKEBIgA2AjAgAEUEQCADKAI0EB4gA0F/NgKcAQwCCyADKAI0EB4gAyADKAIwNgI0CyADLQAfQQFxBEAgAyADKAKYASADKAI0IAMoApABKAIQIAMoApABLwFQELgCIgA2AjAgAEUEQCADKAI0EB4gA0F/NgKcAQwCCyADKAI0EB4gAyADKAIwNgI0CyADLQAcQQFxBEAgA0EANgIEAkAgAygCkAEoAlQEQCADIAMoApABKAJUNgIEDAELIAMoApgBKAIcBEAgAyADKAKYASgCHDYCBAsLIAMgAygCkAEvAVJBARB6IgA2AgggAEUEQCADKAKYAUEIakEYQQAQFyADKAI0EB4gA0F/NgKcAQwCCyADIAMoApgBIAMoAjQgAygCkAEvAVJBASADKAIEIAMoAggRKwAiADYCMCAARQRAIAMoAjQQHiADQX82ApwBDAILIAMoAjQQHiADIAMoAjA2AjQLIAMgAygCmAEoAgAQOyIENwOAASAEQgBTBEAgAygCmAFBCGogAygCmAEoAgAQGiADQX82ApwBDAELIAMgAygCmAEgAygCNCADKQNwEKwCNgIsIAMoAjQgA0E4ahA5QQBIBEAgAygCmAFBCGogAygCNBAaIANBfzYCLAsgAyADKAI0ELICIgA6ACMgAEEYdEEYdUEASARAIAMoApgBQQhqIAMoAjQQGiADQX82AiwLIAMoAjQQHiADKAIsQQBIBEAgA0F/NgKcAQwBCyADIAMoApgBKAIAEDsiBDcDeCAEQgBTBEAgAygCmAFBCGogAygCmAEoAgAQGiADQX82ApwBDAELIAMoApgBKAIAIAMpA4gBEJ8BQQBIBEAgAygCmAFBCGogAygCmAEoAgAQGiADQX82ApwBDAELIAMpAzhC5ACDQuQAUgRAIAMoApgBQQhqQRRBABAXIANBfzYCnAEMAQsgAygCkAEoAgBBIHFFBEACQCADKQM4QhCDQgBSBEAgAygCkAEgAygCYDYCFAwBCyADKAKQAUEUahACGgsLIAMoApABIAMvAWg2AhAgAygCkAEgAygCZDYCGCADKAKQASADKQNQNwMoIAMoApABIAMpA3ggAykDgAF9NwMgIAMoApABIAMoApABLwEMQfn/A3EgAy0AI0EBdHI7AQwgAygCkAEgAygCJEGACHFBAEcQhAMgAyADKAKYASADKAKQASADKAIkEF0iADYCLCAAQQBIBEAgA0F/NgKcAQwBCyADKAIoIAMoAixHBEAgAygCmAFBCGpBFEEAEBcgA0F/NgKcAQwBCyADKAKYASgCACADKQN4EJ8BQQBIBEAgAygCmAFBCGogAygCmAEoAgAQGiADQX82ApwBDAELIANBADYCnAELIAMoApwBIQAgA0GgAWokACAAC68CAQF/IwBBIGsiAiAANgIcIAIgATYCGCACQQA2AhQgAkIANwMAAkAgAigCHC0AKEEBcUUEQCACKAIcKAIYIAIoAhwoAhRGDQELIAJBATYCFAsgAkIANwMIA0AgAikDCCACKAIcKQMwVARAAkACQCACKAIcKAJAIAIpAwinQQR0aigCCA0AIAIoAhwoAkAgAikDCKdBBHRqLQAMQQFxDQAgAigCHCgCQCACKQMIp0EEdGooAgRFDQEgAigCHCgCQCACKQMIp0EEdGooAgQoAgBFDQELIAJBATYCFAsgAigCHCgCQCACKQMIp0EEdGotAAxBAXFFBEAgAiACKQMAQgF8NwMACyACIAIpAwhCAXw3AwgMAQsLIAIoAhgEQCACKAIYIAIpAwA3AwALIAIoAhQLjRADAn8BfgF8IwBB4ABrIgEkACABIAA2AlgCQCABKAJYRQRAIAFBfzYCXAwBCyABIAEoAlggAUFAaxCwAjYCJCABKQNAUARAAkAgASgCWCgCBEEIcUUEQCABKAIkRQ0BCyABKAJYKAIAENUBQQBIBEACQAJ/IwBBEGsiAiABKAJYKAIANgIMIwBBEGsiACACKAIMQQxqNgIMIAAoAgwoAgBBFkYLBEAjAEEQayICIAEoAlgoAgA2AgwjAEEQayIAIAIoAgxBDGo2AgwgACgCDCgCBEEsRg0BCyABKAJYQQhqIAEoAlgoAgAQGiABQX82AlwMBAsLCyABKAJYEEEgAUEANgJcDAELIAEoAiRFBEAgASgCWBBBIAFBADYCXAwBCyABKQNAIAEoAlgpAzBWBEAgASgCWEEIakEUQQAQFyABQX82AlwMAQsgASABKQNAp0EDdBAbIgA2AiggAEUEQCABQX82AlwMAQsgAUJ/NwM4IAFCADcDSCABQgA3A1ADQCABKQNQIAEoAlgpAzBUBEACQCABKAJYKAJAIAEpA1CnQQR0aigCAEUNAAJAIAEoAlgoAkAgASkDUKdBBHRqKAIIDQAgASgCWCgCQCABKQNQp0EEdGotAAxBAXENACABKAJYKAJAIAEpA1CnQQR0aigCBEUNASABKAJYKAJAIAEpA1CnQQR0aigCBCgCAEUNAQsgAQJ+IAEpAzggASgCWCgCQCABKQNQp0EEdGooAgApA0hUBEAgASkDOAwBCyABKAJYKAJAIAEpA1CnQQR0aigCACkDSAs3AzgLIAEoAlgoAkAgASkDUKdBBHRqLQAMQQFxRQRAIAEpA0ggASkDQFoEQCABKAIoEBggASgCWEEIakEUQQAQFyABQX82AlwMBAsgASgCKCABKQNIp0EDdGogASkDUDcDACABIAEpA0hCAXw3A0gLIAEgASkDUEIBfDcDUAwBCwsgASkDSCABKQNAVARAIAEoAigQGCABKAJYQQhqQRRBABAXIAFBfzYCXAwBCwJAAn8jAEEQayIAIAEoAlgoAgA2AgwgACgCDCkDGEKAgAiDUAsEQCABQgA3AzgMAQsgASkDOEJ/UQRAIAFCfzcDGCABQgA3AzggAUIANwNQA0AgASkDUCABKAJYKQMwVARAIAEoAlgoAkAgASkDUKdBBHRqKAIABEAgASgCWCgCQCABKQNQp0EEdGooAgApA0ggASkDOFoEQCABIAEoAlgoAkAgASkDUKdBBHRqKAIAKQNINwM4IAEgASkDUDcDGAsLIAEgASkDUEIBfDcDUAwBCwsgASkDGEJ/UgRAIAEgASgCWCABKQMYIAEoAlhBCGoQggMiAzcDOCADUARAIAEoAigQGCABQX82AlwMBAsLCyABKQM4QgBWBEAgASgCWCgCACABKQM4EPECQQBIBEAgAUIANwM4CwsLIAEpAzhQBEAgASgCWCgCABDwAkEASARAIAEoAlhBCGogASgCWCgCABAaIAEoAigQGCABQX82AlwMAgsLIAEoAlgoAlQQ8wIgAUEANgIsIAFCADcDSANAAkAgASkDSCABKQNAWg0AIAEoAlgoAlQgASkDSCIDuiABKQNAuiIEoyADQgF8uiAEoxDyAiABIAEoAiggASkDSKdBA3RqKQMANwNQIAEgASgCWCgCQCABKQNQp0EEdGo2AhACQAJAIAEoAhAoAgBFDQAgASgCECgCACkDSCABKQM4Wg0ADAELIAECf0EBIAEoAhAoAggNABogASgCECgCBARAQQEgASgCECgCBCgCAEEBcQ0BGgsgASgCECgCBAR/IAEoAhAoAgQoAgBBwABxQQBHBUEACwtBAXE2AhQgASgCECgCBEUEQCABKAIQKAIAEEghACABKAIQIAA2AgQgAEUEQCABKAJYQQhqQQ5BABAXIAFBATYCLAwDCwsgASABKAIQKAIENgIMIAEoAlggASkDUBCMA0EASARAIAFBATYCLAwCCyABIAEoAlgoAgAQOyIDNwMwIANCAFMEQCABQQE2AiwMAgsgASgCDCABKQMwNwNIAkAgASgCFARAIAFBADYCCCABKAIQKAIIRQRAIAEgASgCWCABKAJYIAEpA1BBCEEAEKABIgA2AgggAEUEQCABQQE2AiwMBQsLIAEoAlgCfyABKAIIBEAgASgCCAwBCyABKAIQKAIICyABKAIMEK8CQQBIBEAgAUEBNgIsIAEoAggEQCABKAII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HAwCCwsgAygCDCgCAEENIAMoAggQFyADQQI2AhwLIAMoAhwhACADQSBqJAAgAAskAQF/IwBBEGsiASAANgIMIAEgASgCDDYCCCABKAIIQQE6AAwLywIBA38jAEHQAWsiAyQAIAMgAjYCzAFBACECIANBoAFqQQBBKBA0IAMgAygCzAE2AsgBAkBBACABIANByAFqIANB0ABqIANBoAFqEHJBAEgNACAAKAJMQQBOBEBBASECCyAAKAIAIQQgACwASkEATARAIAAgBEFfcTYCAAsgBEEgcSEFAn8gACgCMARAIAAgASADQcgBaiADQdAAaiADQaABahByDAELIABB0AA2AjAgACADQdAAajYCECAAIAM2AhwgACADNgIUIAAoAiwhBCAAIAM2AiwgACABIANByAFqIANB0ABqIANBoAFqEHIgBEUNABogAEEAQQAgACgCJBEAABogAEEANgIwIAAgBDYCLCAAQQA2AhwgAEEANgIQIAAoAhQaIABBADYCFEEACxogACAAKAIAIAVyNgIAIAJFDQALIANB0AFqJAALmQEBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI3AwggAyADKAIYNgIEAkACQCADKQMIQv////8PWARAIAMoAgQoAhRBAE0NAQsgAygCBCgCAEESQQAQFyADQQA6AB8MAQsgAygCBCADKQMIPgIUIAMoAgQgAygCFDYCECADQQE6AB8LIAMtAB9BAXEhACADQSBqJAAgAAuQAQEBfyMAQRBrIgEkACABIAA2AgggASABKAIINgIEAkAgASgCBC0ABEEBcQRAIAEgASgCBEEQahCpATYCAAwBCyABIAEoAgRBEGoQxAI2AgALAkAgASgCAARAIAEoAgQoAgBBDSABKAIAEBcgAUEAOgAPDAELIAFBAToADwsgAS0AD0EBcSEAIAFBEGokACAAC8ABAQF/IwBBEGsiASQAIAEgADYCCCABIAEoAgg2AgQgASgCBEEANgIUIAEoAgRBADYCECABKAIEQQA2AiAgASgCBEEANgIcAkAgASgCBC0ABEEBcQRAIAEgASgCBEEQaiABKAIEKAIIENgCNgIADAELIAEgASgCBEEQahDJAjYCAAsCQCABKAIABEAgASgCBCgCAEENIAEoAgAQFyABQQA6AA8MAQsgAUEBOgAPCyABLQAPQQFx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QdH+ADYCBAwRCyABKAJQQQA2AmwgASgCUEHG/gA2AgQLA0ACQCABKAJQKAJsIAEoAlAoAmQgASgCUCgCaGpPDQADQAJAIAEgASgCUCgCUCABKAI8QQEgASgCUCgCWHRBAWtxQQJ0aigBADYBICABLQAhIAEoAjhNDQAgASgCREUNEiABIAEoAkRBf2o2AkQgASABKAJMIgBBAWo2AkwgASABKAI8IAAtAAAgASgCOHRqNgI8IAEgASgCOEEIajYCOAwBCwsCQCABLwEiQRBIBEAgASABKAI8IAEtACF2NgI8IAEgASgCOCABLQAhazYCOCABLwEiIQIgASgCUEH0AGohAyABKAJQIgQoAmwhACAEIABBAWo2AmwgAEEBdCADaiACOwEADAELAkAgAS8BIkEQRgRAA0AgASgCOCABLQAhQQJqSQRAIAEoAkRFDRUgASABKAJEQX9qNgJEIAEgASgCTCIAQQFqNgJMIAEgASgCPCAALQAAIAEoAjh0ajYCPCABIAEoAjhBCGo2AjgMAQsLIAEgASgCPCABLQAhdjYCPCABIAEoAjggAS0AIWs2AjggASgCUCgCbEUEQCABKAJYQbb0ADYCGCABKAJQQdH+ADYCBAwECyABIAEoAlAgASgCUCgCbEEBdGovAXI2AhQgASABKAI8QQNxQQNqNgIsIAEgASgCPEECdjYCPCABIAEoAjhBAms2AjgMAQsCQCABLwEiQRFGBEADQCABKAI4IAEtACFBA2pJBEAgASgCREUNFiABIAEoAkRBf2o2AkQgASABKAJMIgBBAWo2AkwgASABKAI8IAAtAAAgASgCOHRqNgI8IAEgASgCOEEIajYCOAwBCwsgASABKAI8IAEtACF2NgI8IAEgASgCOCABLQAhazYCOCABQQA2AhQgASABKAI8QQdxQQNqNgIsIAEgASgCPEEDdjYCPCABIAEoAjhBA2s2AjgMAQsDQCABKAI4IAEtACFBB2pJBEAgASgCREUNFSABIAEoAkRBf2o2AkQgASABKAJMIgBBAWo2AkwgASABKAI8IAAtAAAgASgCOHRqNgI8IAEgASgCOEEIajYCOAwBCwsgASABKAI8IAEtACF2NgI8IAEgASgCOCABLQAhazYCOCABQQA2AhQgASABKAI8Qf8AcUELajYCLCABIAEoAjxBB3Y2AjwgASABKAI4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IAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABIAEoAjwgAS0AGXY2AjwgASABKAI4IAEtABlrNgI4IAEoAlAiACABLQAZIAAoAsg3ajYCyDcLIAEgASgCPCABLQAhdjYCPCABIAEoAjggAS0AIWs2AjggASgCUCIAIAEtACEgACgCyDdqNgLINyABLQAgQcAAcQRAIAEoAlhBw/UANgIYIAEoAlBB0f4ANgIEDAwLIAEoAlAgAS8BIjYCSCABKAJQIAEtACBBD3E2AkwgASgCUEHL/gA2AgQLIAEoAlAoAkwEQANAIAEoAjggASgCUCgCTEkEQCABKAJERQ0MIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABKAJQIgAgACgCSCABKAI8QQEgASgCUCgCTHRBAWtxajYCSCABIAEoAjwgASgCUCgCTHY2AjwgASABKAI4IAEoAlAoAkxrNgI4IAEoAlAiACABKAJQKAJMIAAoAsg3ajYCyDcLIAEoAlBBzP4ANgIECyABKAJARQ0IIAEgASgCMCABKAJAazYCLAJAIAEoAlAoAkggASgCLEsEQCABIAEoAlAoAkggASgCLGs2AiwgASgCLCABKAJQKAIwSwRAIAEoAlAoAsQ3BEAgASgCWEHZ9QA2AhggASgCUEHR/gA2AgQMDQsLAkAgASgCLCABKAJQKAI0SwRAIAEgASgCLCABKAJQKAI0azYCLCABIAEoAlAoAjggASgCUCgCLCABKAIsa2o2AigMAQsgASABKAJQKAI4IAEoAlAoAjQgASgCLGtqNgIoCyABKAIsIAEoAlAoAkRLBEAgASABKAJQKAJENgIsCwwBCyABIAEoAkggASgCUCgCSGs2AiggASABKAJQKAJENgIsCyABKAIsIAEoAkBLBEAgASABKAJANgIsCyABIAEoAkAgASgCLGs2AkAgASgCUCIAIAAoAkQgASgCLGs2AkQDQCABIAEoAigiAEEBajYCKCAALQAAIQAgASABKAJIIgJBAWo2AkggAiAAOgAAIAEgASgCLEF/aiIANgIsIAANAAsgASgCUCgCREUEQCABKAJQQcj+ADYCBAsMCQsgASgCQEUNByABKAJQKAJEIQAgASAB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IAIgAigCUCIAQQFqNgJQIAIgAigCLCAALQAAIAIoAih0ajYCLCACIAIoAihBCGo2AigLIAJBEGogAigCJCACKAIsIAIoAhxxQQJ0aigBADYBAAJAAkADQCACIAItABE2AgwgAiACKAIsIAIoAgx2NgIsIAIgAigCKCACKAIMazYCKCACIAItABA2AgwgAigCDEUEQCACLwESIQAgAiACKAJIIgFBAWo2AkggASAAOgAADAILIAIoAgxBEHEEQCACIAIvARI2AgggAiACKAIMQQ9xNgIMIAIoAgwEQCACKAIoIAIoAgxJBEAgAiACKAJQIgBBAWo2AlAgAiACKAIsIAAtAAAgAigCKHRqNgIsIAIgAigCKEEIajYCKAsgAiACKAIIIAIoAixBASACKAIMdEEBa3FqNgIIIAIgAigCLCACKAIMdjYCLCACIAIoAiggAigCDGs2AigLIAIoAihBD0kEQCACIAIoAlAiAEEBajYCUCACIAIoAiwgAC0AACACKAIodGo2AiwgAiACKAIoQQhqNgIoIAIgAigCUCIAQQFqNgJQIAIgAigCLCAALQAAIAIoAih0ajYCLCACIAIoAihBCGo2AigLIAJBEGogAigCICACKAIsIAIoAhhxQQJ0aigBADYBAAJAA0AgAiACLQARNgIMIAIgAigCLCACKAIMdjYCLCACIAIoAiggAigCDGs2AiggAiACLQAQNgIMIAIoAgxBEHEEQCACIAIvARI2AgQgAiACKAIMQQ9xNgIMIAIoAiggAigCDEkEQCACIAIoAlAiAEEBajYCUCACIAIoAiwgAC0AACACKAIodGo2AiwgAiACKAIoQQhqNgIoIAIoAiggAigCDEkEQCACIAIoAlAiAEEBajYCUCACIAIoAiwgAC0AACACKAIodGo2AiwgAiACKAIoQQhqNgIoCwsgAiACKAIEIAIoAixBASACKAIMdEEBa3FqNgIEIAIgAigCLCACKAIMdjYCLCACIAIoAiggAigCDGs2AiggAiACKAJIIAIoAkRrNgIMAkAgAigCBCACKAIMSwRAIAIgAigCBCACKAIMazYCDCACKAIMIAIoAjhLBEAgAigCVCgCxDcEQCACKAJcQdDxADYCGCACKAJUQdH+ADYCBAwKCwsgAiACKAIwNgIAAkAgAigCNEUEQCACIAIoAgAgAigCPCACKAIMa2o2AgAgAigCDCACKAIISQRAIAIgAigCCCACKAIMazYCCANAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIMQX9qIgA2AgwgAA0ACyACIAIoAkggAigCBGs2AgALDAELAkAgAigCNCACKAIMSQRAIAIgAigCACACKAI8IAIoAjRqIAIoAgxrajYCACACIAIoAgwgAigCNGs2AgwgAigCDCACKAIISQRAIAIgAigCCCACKAIMazYCCANAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIMQX9qIgA2AgwgAA0ACyACIAIoAjA2AgAgAigCNCACKAIISQRAIAIgAigCNDYCDCACIAIoAgggAigCDGs2AggDQCACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCDEF/aiIANgIMIAANAAsgAiACKAJIIAIoAgRrNgIACwsMAQsgAiACKAIAIAIoAjQgAigCDGtqNgIAIAIoAgwgAigCCEkEQCACIAIoAgggAigCDGs2AggDQCACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCDEF/aiIANgIMIAANAAsgAiACKAJIIAIoAgRrNgIACwsLA0AgAigCCEECTUUEQCACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAACACIAIoAghBA2s2AggMAQsLDAELIAIgAigCSCACKAIEazYCAANAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAACACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCCEEDazYCCCACKAIIQQJLDQALCyACKAIIBEAgAiACKAIA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AigoAmxBAE0NACACIAIoAigoAjggAigCKCgCbGpBf2o2AhggAiACKAIYLQAANgIcIAIoAhwhACACIAIoAhgiAUEBajYCGAJAIAEtAAEgAEcNACACKAIcIQAgAiACKAIYIgFBAWo2AhggAS0AASAARw0AIAIoAhwhACACIAIoAhgiAUEBajYCGCABLQABIABHDQAgAiACKAIoKAI4IAIoAigoAmxqQYICajYCFANAIAIoAhwhASACIAIoAhgiA0EBajYCGAJ/QQAgAy0AASABRw0AGiACKAIcIQEgAiACKAIYIgNBAWo2AhhBACADLQABIAFHDQAaIAIoAhwhASACIAIoAhgiA0EBajYCGEEAIAMtAAEgAUcNABogAigCHCEBIAIgAigCGCIDQQFqNgIYQQAgAy0AASABRw0AGiACKAIcIQEgAiACKAIYIgNBAWo2AhhBACADLQABIAFHDQAaIAIoAhwhASACIAIoAhgiA0EBajYCGEEAIAMtAAEgAUcNABogAigCHCEBIAIgAigCGCIDQQFqNgIYQQAgAy0AASABRw0AGiACKAIcIQEgAiACKAIYIgNBAWo2AhhBACADLQABIAFHDQAaIAIoAhggAigCFEkLQQFxDQALIAIoAihBggIgAigCFCACKAIYa2s2AmAgAigCKCgCYCACKAIoKAJ0SwRAIAIoAiggAigCKCgCdDYCYAsLCwJAIAIoAigoAmBBA08EQCACIAIoAigoAmBBfWo6ABMgAkEBOwEQIAIoAigiACgCpC0gACgCoC1BAXRqIAIvARA7AQAgAi0AEyEBIAIoAigiACgCmC0hAyAAIAAoAqAtIgBBAWo2AqAtIAAgA2ogAToAACACIAIvARBBf2o7ARAgAigCKCACLQATQaDdAGotAABBAnRqQZgJaiIAIAAvAQBBAWo7AQAgAigCKEGIE2oCfyACLwEQQYACSARAIAIvARAtAKBZDAELIAIvARBBB3VBgAJqLQCgWQtBAnRqIgAgAC8BAEEBajsBACACIAIoAigoAqAtIAIoAigoApwtQQFrRjYCICACKAIoIgAgACgCdCACKAIoKAJgazYCdCACKAIoIgAgAigCKCgCYCAAKAJsajYCbCACKAIoQQA2AmAMAQsgAiACKAIoIgAoAjggACgCbGotAAA6AA8gAigCKCIAKAKkLSAAKAKgLUEB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AUEGSARAIAJBATYCJAwBCwJAIAIoAiwoAoQBQQZGBEAgAkECNgIkDAELIAJBAzYCJAsLCyACIAIoAiggAigCJEEGdHI2AiggAigCLCgCbARAIAIgAigCKEEgcjYCKAsgAiACKAIoQR8gAigCKEEfcGtqNgIoIAIoAiwgAigCKBBMIAIoAiwoAmwEQCACKAIsIAIoAjgoAjBBEHYQTCACKAIsIAIoAjgoAjBB//8DcRBMC0EAQQBBABBAIQAgAigCOCAANgIwIAIoAixB8QA2AgQgAigCOBAfIAIoAiwoAhQEQCACKAIsQX82AiggAkEANgI8DAILCyACKAIsKAIEQTlGBEBBAEEAQQAQHSEAIAIoAjggADYCMCACKAIsKAIIIQEgAigCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAWpBHzoAACACKAIsKAIIIQEgAigCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAWpBiwE6AAAgAigCLCgCCCEBIAIoAiwiAygCFCEAIAMgAEEBajYCFCAAIAFqQQg6AAACQCACKAIsKAIcRQRAIAIoAiwoAgghASACKAIsIgMoAhQhACADIABBAWo2AhQgACABakEAOgAAIAIoAiwoAgghASACKAIsIgMoAhQhACADIABBAWo2AhQgACABakEAOgAAIAIoAiwoAgghASACKAIsIgMoAhQhACADIABBAWo2AhQgACABakEAOgAAIAIoAiwoAgghASACKAIsIgMoAhQhACADIABBAWo2AhQgACABakEAOgAAIAIoAiwoAgghASACKAIsIgMoAhQhACADIABBAWo2AhQgACABakEAOgAAAn9BAiACKAIsKAKEAUEJRg0AGkEBIQBBBEEAIAIoAiwoAogBQQJIBH8gAigCLCgChAFBAkgFQQELQQFxGwshACACKAIsKAIIIQMgAigCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogADoAACACKAIsKAIIIQEgAigCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAWpBAzoAACACKAIsQfEANgIEIAIoAjgQHyACKAIsKAIUBEAgAigCLEF/NgIoIAJBADYCPAwECwwBC0EBQQAgAigCLCgCHCgCABtBAkEAIAIoAiwoAhwoAiwbakEEQQAgAigCLCgCHCgCEBtqQQhBACACKAIsKAIcKAIcG2pBEEEA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ASgCHCgCCCEDIAEoAhwiBCgCFCEAIAQgAEEBajYCFCAAIANqIAI6AAAgASgCHCABKAIUQf//A3FBECABKAIcKAK8LWt1OwG4LSABKAIcIgAgACgCvC0gASgCGEEQa2o2ArwtDAELIAEoAhwiACAALwG4LUECIAEoAhwoArwtdHI7AbgtIAEoAhwiACABKAIYIAAoArwtajYCvC0LIAFB4ucALwEANgIQAkAgASgCHCgCvC1BECABKAIQa0oEQCABQeDnAC8BADYCDCABKAIcIgAgAC8BuC0gASgCDEH//wNxIAEoAhwoArwtdHI7AbgtIAEoAhwvAbgtQf8BcSECIAEoAhwoAgghAyABKAIcIgQoAhQhACAEIABBAWo2AhQgACADaiACOgAAIAEoAhwvAbgtQQh1IQIgASgCHCgCCCEDIAEoAhwiBCgCFCEAIAQgAEEBajYCFCAAIANqIAI6AAAgASgCHCABKAIMQf//A3FBECABKAIcKAK8LWt1OwG4LSABKAIcIgAgACgCvC0gASgCEEEQa2o2ArwtDAELIAEoAhwiACAALwG4LUHg5wAvAQAgASgCHCgCvC10cjsBuC0gASgCHCIAIAEoAhAgACgCvC1qNgK8LQsgASgCHBCtASABQSBqJAAL2QMCAn8CfiMAQSBrIgIkAAJAIAFC////////////AIMiBUKAgICAgIDA/0N8IAVCgICAgICAwIC8f3xUBEAgAUIEhiAAQjyIhCEEIABC//////////8PgyIAQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQQMAgsgBEKAgICAgICAgEB9IQQgAEKAgICAgICAgAiFQgBSDQEgBEIBgyAEfCEEDAELIABQIAVCgICAgICAwP//AFQgBUKAgICAgIDA//8AURtFBEAgAUIEhiAAQjyIhEL/////////A4NCgICAgICAgPz/AIQhBAwBC0KAgICAgICA+P8AIQQgBUL///////+//8MAVg0AQgAhBCAFQjCIpyIDQZH3AEkNACACIAAgAUL///////8/g0KAgICAgIDAAIQiBEGB+AAgA2sQ7gIgAkEQaiAAIAQgA0H/iH9qEOcCIAIpAwhCBIYgAikDACIAQjyIhCEEIAIpAxAgAikDGIRCAFKtIABC//////////8Pg4QiAEKBgICAgICAgAhaBEAgBEIBfCEEDAELIABCgICAgICAgIAIhUIAUg0AIARCAYMgBHwhBAsgAkEgaiQAIAQgAUKAgICAgICAgIB/g4S/C0UAQaCcAUIANwMAQZicAUIANwMAQZCcAUIANwMAQYicAUIANwMAQYCcAUIANwMAQfibAUIANwMAQfCbAUIANwMAQfCbAQsjAQF/IwBBEGsiASQAIAEgADYCDCABKAIMEK0BIAFBEGokAAuWAQEBfyMAQRBrIgEkACABIAA2AgwgASgCDCABKAIMQZQBajYCmBYgASgCDEGg3wA2AqAWIAEoAgwgASgCDEGIE2o2AqQWIAEoAgxBtN8ANgKsFiABKAIMIAEoAgxB/BRqNgKwFiABKAIMQcjfADYCuBYgASgCDEEAOwG4LSABKAIMQQA2ArwtIAEoAgwQrwEgAUEQaiQAC9cNAQF/IwBBIGsiAyAANgIYIAMgATYCFCADIAI2AhAgAyADKAIYQRB2NgIMIAMgAygCGEH//wNxNgIYAkAgAygCEEEBRgRAIAMgAygCFC0AACADKAIYajYCGCADKAIYQfH/A08EQCADIAMoAhhB8f8DazYCGAsgAyADKAIYIAMoAgxqNgIMIAMoAgxB8f8DTwRAIAMgAygCDEHx/wNrNgIMCyADIAMoAhggAygCDEEQdHI2AhwMAQsgAygCFEUEQCADQQE2AhwMAQsgAygCEEEQSQRAA0AgAyADKAIQIgBBf2o2AhAgAARAIAMgAygCFCIAQQFqNgIUIAMgAC0AACADKAIYajYCGCADIAMoAhggAygCDGo2AgwMAQsLIAMoAhhB8f8DTwRAIAMgAygCGEHx/wNrNgIYCyADIAMoAgxB8f8DcDYCDCADIAMoAhggAygCDEEQdHI2AhwMAQsDQCADKAIQQbArSUUEQCADIAMoAhBBsCtrNgIQIANB2wI2AggDQCADIAMoAhQtAAAgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AASADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQACIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAMgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ABCADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAFIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAYgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AByADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAIIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAkgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ACiADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQALIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAwgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ADSADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAOIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAA8gAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFEEQajYCFCADIAMoAghBf2oiADYCCCAADQALIAMgAygCGEHx/wNwNgIYIAMgAygCDEHx/wNwNgIMDAELCyADKAIQBEADQCADKAIQQRBJRQRAIAMgAygCEEEQazYCECADIAMoAhQtAAAgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AASADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQACIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAMgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ABCADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAFIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAYgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AByADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAIIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAkgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ACiADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQALIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAwg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DAELIAMoAjQoAgAgAykDGKdBBHRqKQMIIAMpAxB9CzcDCCADKAIwIAMpAyCnaiADKAI0KAIAIAMpAxinQQR0aigCACADKQMQp2ogAykDCKcQHBogAykDCCADKAI0KAIAIAMpAxinQQR0aikDCCADKQMQfVEEQCADIAMpAxhCAXw3AxgLIAMgAykDCCADKQMgfDcDICADQgA3AxAMAQsLIAMoAjQiACADKQMgIAApAzh8NwM4IAMoAjQgAykDGDcDQCADIAMpAyA3AzgLIAMpAzghAiADQUBrJAAgAguuBAEBfyMAQUBqIgMkACADIAA2AjggAyABNwMwIAMgAjYCLAJAIAMpAzBQBEAgA0EAQgBBASADKAIsEE02AjwMAQsgAykDMCADKAI4KQMwVgRAIAMoAixBEkEAEBcgA0EANgI8DAELIAMoAjgoAigEQCADKAIsQR1BABAXIANBADYCPAwBCyADIAMoAjggAykDMBCxATcDICADIAMpAzAgAygCOCgCBCADKQMgp0EDdGopAwB9NwMYIAMpAxhQBEAgAyADKQMgQn98NwMgIAMgAygCOCgCACADKQMgp0EEdGopAwg3AxgLIAMgAygCOCgCACADKQMgp0EEdGopAwggAykDGH03AxAgAykDECADKQMwVgRAIAMoAixBHEEAEBcgA0EANgI8DAELIAMgAygCOCgCACADKQMgQgF8QQAgAygCLBBNIgA2AgwgAEUEQCADQQA2AjwMAQsgAygCDCgCACADKAIMKQMIQgF9p0EEdGogAykDGDcDCCADKAIMKAIEIAMoAgwpAwinQQN0aiADKQMwNwMAIAMoAgwgAykDMDcDMCADKAIMAn4gAygCOCkDGCADKAIMKQMIQgF9VARAIAMoAjgpAxgMAQsgAygCDCkDCEIBfQs3AxggAygCOCADKAIMNgIoIAMoAgwgAygCODYCKCADKAI4IAMoAgwpAwg3AyAgAygCDCADKQMgQgF8NwMgIAMgAygCDDYCPAsgAygCPCEAIANBQGskACAAC1EBAX4CQAJ+IANBwABxBEAgAiADQUBqrYghAUIADAELIANFDQEgAkHAACADa62GIAEgA60iBIiEIQEgAiAEiAshAgsgACABNwMAIAAgAjcDCAvTCQEBfyMAQfAAayIEJAAgBCAANgJkIAQgATYCYCAEIAI3A1gg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IABBAWsOAgECAAsgAkGBAjsBBAwDCyACQYICOwEEDAILIAJBgwI7AQQMAQsgAigCFEEYQQAQFyACKAIMEBkgAkEAOgAfDAELIAIvARJBB0cEQCACKAIUQRVBABAXIAIoAgwQGSACQQA6AB8MAQsgAigCGCACLQAHQQFxOgAGIAIoAhggAi8BBDsBUiACKAIMECBB//8DcSEAIAIoAhggADYCECACKAIMEBkgAkEBOgAfCyACLQAfQQFxIQAgAkEgaiQAIAALuQEBAX8jAEEwayICJAAgAiAAOwEuIAIgATsBLCACQgA3AgAgAkEANgIoIAJCADcCICACQgA3AhggAkIANwIQIAJCADcCCCACQQA2AiAgAiACLwEsQQl1QdAAajYCFCACIAIvASxBBXVBD3FBAWs2AhAgAiACLwEsQR9xNgIMIAIgAi8BLkELdTYCCCACIAIvAS5BBXVBP3E2AgQgAiACLwEuQQF0QT5xNgIAIAIQCCEAIAJBMGokACAAC0wBAn8jAEEQayIAJAAgAEHYABAbIgE2AggCQCABRQRAIABBADYCDAwBCyAAKAIIEFwgACAAKAIINgIMCyAAKAIMIQEgAEEQaiQAIAELYAEBfyMAQRBrIgMkAAJ+An9BACAAKAI8IAGnIAFCIIinIAJB/wFxIANBCGoQCyIARQ0AGkG0nAEgADYCAEF/C0UEQCADKQMIDAELIANCfzcDCEJ/CyEBIANBEGokACABC+AIAQF/IwBBwAFrIgMkACADIAA2ArQBIAMgATYCsAEgAyACNwOoASADIAMoArQBKAIAEDsiAjcDIAJAIAJCAFMEQCADKAK0AUEIaiADKAK0ASgCABAaIANCfzcDuAEMAQsgAyADKQMgNwOgASADQQA6ABcgA0IANwMYA0AgAykDGCADKQOoAVQEQCADIAMoArQBKAJAIAMoArABIAMpAxinQQN0aikDAKdBBHRqNgIMIAMgAygCtAECfyADKAIMKAIEBEAgAygCDCgCBAwBCyADKAIMKAIAC0GABBBdIgA2AhAgAEEASARAIANCfzcDuAEMAwsgAygCEARAIANBAToAFwsgAyADKQMYQgF8NwMYDAELCyADIAMoArQBKAIAEDsiAjcDICACQgBTBEAgAygCtAFBCGogAygCtAEoAgAQGiADQn83A7gBDAELIAMgAykDICADKQOgAX03A5gBAkAgAykDoAFC/////w9YBEAgAykDqAFC//8DWA0BCyADQQE6ABcLIAMgA0EwakLiABArIgA2AiwgAEUEQCADKAK0AUEIakEOQQAQFyADQn83A7gBDAELIAMtABdBAXEEQCADKAIsQdbXAEEEEEIgAygCLEIsEC8gAygCLEEtECIgAygCLEEtECIgAygCLEEAECMgAygCLEEAECMgAygCLCADKQOoARAvIAMoAiwgAykDqAEQLyADKAIsIAMpA5gBEC8gAygCLCADKQOgARAvIAMoAixB29cAQQQQQiADKAIsQQAQIyADKAIsIAMpA6ABIAMpA5gBfBAvIAMoAixBARAjCyADKAIsQeDXAEEEEEIgAygCLEEAECMgAygCLAJ+Qv//AyADKQOoAUL//wNaDQAaIAMpA6gBC6dB//8DcRAiIAMoAiwCfkL//wMgAykDqAFC//8DWg0AGiADKQOoAQunQf//A3EQIiADKAIsAn9BfyADKQOYAUL/////D1oNABogAykDmAGnCxAjIAMoAiwCf0F/IAMpA6ABQv////8PWg0AGiADKQOgAacLECMgAwJ/IAMoArQBLQAoQQFxBEAgAygCtAEoAiQMAQsgAygCtAEoAiALNgKUASADKAIsAn8gAygClAEEQCADKAKUAS8BBAwBC0EAC0H//wNxECICfyMAQRBrIgAgAygCLDYCDCAAKAIMLQAAQQFxRQsEQCADKAK0AUEIakEUQQAQFyADKAIsEBkgA0J/NwO4AQwBCyADKAK0AQJ/IwBBEGsiACADKAIsNgIMIAAoAgwoAgQLAn4jAEEQayIAIAMoAiw2AgwCfiAAKAIMLQAAQQFxBEAgACgCDCkDEAwBC0IACwsQPEEASARAIAMoAiwQGSADQn83A7gBDAELIAMoAiwQGSADKAKUAQRAIAMoArQBIAMoApQBKAIAIAMoApQBLwEErRA8QQBIBEAgA0J/NwO4AQwCCwsgAyADKQOYATcDuAELIAMpA7gBIQIgA0HAAWokACACC8cCAQZ/IwBBIGsiAyQAIAMgACgCHCIFNgIQIAAoAhQhBCADIAI2AhwgAyABNgIYIAMgBCAFayIBNgIUIAEgAmohBkECIQUgA0EQaiEBA0ACQAJ/IAYCfwJ/QQAgACgCPCABIAUgA0EMahAWIgRFDQAaQbScASAENgIAQX8LBEAgA0F/NgIMQX8MAQsgAygCDAsiBEYEQCAAIAAoAiwiATYCHCAAIAE2AhQgACABIAAoAjBqNgIQIAIMAQsgBEF/Sg0BIABBADYCHCAAQgA3AxAgACAAKAIAQSByNgIAQQAgBUECRg0AGiACIAEoAgRrCyEAIANBIGokACAADwsgAUEIaiABIAQgASgCBCIHSyIIGyIBIAQgB0EAIAgbayIHIAEoAgBqNgIAIAEgASgCBCAHazYCBCAGIARrIQYgBSAIayEFDAAACwALtgUBAX8jAEEwayICJAAgAiAANgIoIAIgATcDIAJAIAIpAyAgAigCKCkDMFoEQCACKAIoQQhqQRJBABAXIAJBfzYCLAwBCyACIAIoAigoAkAgAikDIKdBBHRqNgIcAkAgAigCHCgCAARAIAIoAhwoAgAtAARBAXFFDQELIAJBADYCLAwBCyACKAIcKAIAKQNIQhp8Qv///////////wBWBEAgAigCKEEIakEEQRYQFyACQX82AiwMAQsgAigCKCgCACACKAIcKAIAKQNIQhp8QQAQLUEASARAIAIoAihBCGogAigCKCgCABAaIAJBfzYCLAwBCyACIAIoAigoAgBCBCACQRhqIAIoAihBCGoQQyIANgIUIABFBEAgAkF/NgIsDAELIAIgAigCFBAgOwESIAIgAigCFBAgOwEQIAIoAhQQSUEBcUUEQCACKAIUEBkgAigCKEEIakEUQQAQFyACQX82AiwMAQsgAigCFBAZIAIvARBBAEoEQCACKAIoKAIAIAIvARKtQQEQLUEASARAIAIoAihBCGpBBEG0nAEoAgAQFyACQX82AiwMAgsgAkEAIAIoAigoAgAgAi8BEEEAIAIoAihBCGoQYTYCCCACKAIIRQRAIAJBfzYCLAwCCyACKAIIIAIvARBBgAIgAkEMaiACKAIoQQhqEMMBQQFxRQRAIAIoAggQGCACQX82AiwMAgsgAigCCBAYIAIoAgwEQCACIAIoAgwQwgE2AgwgAigCHCgCACgCNCACKAIMEMQBIQAgAigCHCgCACAANgI0CwsgAigCHCgCAEEBOgAEAkAgAigCHCgCBEUNACACKAIcKAIELQAEQQFxDQAgAigCHCgCBCACKAIcKAIAKAI0NgI0IAIoAhwoAgRBAToABAsgAkEANgIsCyACKAIsIQAgAkEw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c2lvbiBtZXRob2QAaW52YWxpZCB3aW5kb3cgc2l6ZQB1bmtub3duIGhlYWRlciBmbGFncyBzZXQAaGVhZGVyIGNyYyBtaXNtYXRjaABpbnZhbGlkIGJsb2NrIHR5cGUAaW52YWxpZCBzdG9yZWQgYmxvY2sgbGVuZ3RocwB0b28gbWFueSBsZW5ndGggb3IgZGlzdGFuY2Ugc3ltYm9scwBpbnZhbGlkIGNvZGUgbGVuZ3RocyBzZXQAaW52YWxpZCBiaXQgbGVuZ3RoIHJlcGVhdABpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2sAaW52YWxpZCBsaXRlcmFsL2xlbmd0aHMgc2V0AGludmFsaWQgZGlzdGFuY2VzIHNldABpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAGludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAGluY29ycmVjdCBkYXRhIGNoZWNrAGluY29ycmVjdCBsZW5ndGggY2hlY2sAQbD2AAuGEWAHAAAACFAAAAgQABQIcwASBx8AAAhwAAAIMAAACcAAEAcKAAAIYAAACCAAAAmgAAAIAAAACIAAAAhAAAAJ4AAQBwYAAAhYAAAIGAAACZAAEwc7AAAIeAAACDgAAAnQABEHEQAACGgAAAgoAAAJsAAACAgAAAiIAAAISAAACfAAEAcEAAAIVAAACBQAFQjjABMHKwAACHQAAAg0AAAJyAARBw0AAAhkAAAIJAAACagAAAgEAAAIhAAACEQAAAnoABAHCAAACFwAAAgcAAAJmAAUB1MAAAh8AAAIPAAACdgAEgcXAAAIbAAACCwAAAm4AAAIDAAACIwAAAhMAAAJ+AAQBwMAAAhSAAAIEgAVCKMAEwcjAAAIcgAACDIAAAnEABEHCwAACGIAAAgiAAAJpAAACAIAAAiCAAAIQgAACeQAEAcHAAAIWgAACBoAAAmUABQHQwAACHoAAAg6AAAJ1AASBxMAAAhqAAAIKgAACbQAAAgKAAAIigAACEoAAAn0ABAHBQAACFYAAAgWAEAIAAATBzMAAAh2AAAINgAACcwAEQcPAAAIZgAACCYAAAmsAAAIBgAACIYAAAhGAAAJ7AAQBwkAAAheAAAIHgAACZwAFAdjAAAI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OREjQzJCiYqLBQQmKCcNKh41jAcaSJMTlJUAQbCJAQvdDklsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAABVbmtub3duIGVycm9yICVkACVzJXMlcwAAOiAAL3Byb2Mvc2VsZi9mZC8AL2Rldi91cmFuZG9tAHJ3YQAlcy5YWFhYWFgAcitiAHJiAFBLBQYAQcyZAQsCYE4AQYSaAQvsAQwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAABAAAACAAAAARNAAAkTQAAHwAAAGRNAAADAAAAAAAAAC30UVjPjLHARva1yykxA8cEW3AwtF39IHh/i5rYWSlQaEiJq6dWA2z/t82IP9R3tCulo3DxuuSo/EGD/dlv4Yp6Ly10lgcfDQleA3YscPdApSynb1dBqKp036BYZANKx8Q8U66vXxgEFbHjbSiGqwykv0Pw6VCBOVcWUjf/////////////////////";function pe(){var e=function(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(t){e=t}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}();return i.extraStackTrace&&(e+="\n"+i.extraStackTrace()),e.replace(/\b_Z[\w\d_]+/g,(function(e){var t=e;return e===t?e:t+" ["+e+"]"}))}ue(he)||(he=function(e){return i.locateFile?i.locateFile(e,p):p+e}(he)),X.push({func:function(){Oe()}});var fe={splitPath:function(e){return/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1)},normalizeArray:function(e,t){for(var n=0,r=e.length-1;r>=0;r--){var A=e[r];"."===A?e.splice(r,1):".."===A?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n;n--)e.unshift("..");return e},normalize:function(e){var t="/"===e.charAt(0),n="/"===e.substr(-1);return(e=fe.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"))||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e},dirname:function(e){var t=fe.splitPath(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."},basename:function(e){if("/"===e)return"/";var t=e.lastIndexOf("/");return-1===t?e:e.substr(t+1)},extname:function(e){return fe.splitPath(e)[3]},join:function(){var e=Array.prototype.slice.call(arguments,0);return fe.normalize(e.join("/"))},join2:function(e,t){return fe.normalize(e+"/"+t)}};function Ce(e){return i.___errno_location&&(U[i.___errno_location()>>2]=e),e}var de={resolve:function(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var r=n>=0?arguments[n]:Qe.cwd();if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");if(!r)return"";e=r+"/"+e,t="/"===r.charAt(0)}return(t?"/":"")+(e=fe.normalizeArray(e.split("/").filter((function(e){return!!e})),!t).join("/"))||"."},relative:function(e,t){function n(e){for(var t=0;t=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=de.resolve(e).substr(1),t=de.resolve(t).substr(1);for(var r=n(e.split("/")),A=n(t.split("/")),i=Math.min(r.length,A.length),o=i,s=0;s0?n.slice(0,r).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(t=window.prompt("Input: "))&&(t+="\n"):"function"==typeof readline&&null!==(t=readline())&&(t+="\n");if(!t)return null;e.input=Ne(t,!0)}return e.input.shift()},put_char:function(e,t){null===t||10===t?(f(M(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(f(M(e.output,0)),e.output=[])}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(C(M(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},flush:function(e){e.output&&e.output.length>0&&(C(M(e.output,0)),e.output=[])}}},Ee={ops_table:null,mount:function(e){return Ee.createNode(null,"/",16895,0)},createNode:function(e,t,n,r){if(Qe.isBlkdev(n)||Qe.isFIFO(n))throw new Qe.ErrnoError(63);Ee.ops_table||(Ee.ops_table={dir:{node:{getattr:Ee.node_ops.getattr,setattr:Ee.node_ops.setattr,lookup:Ee.node_ops.lookup,mknod:Ee.node_ops.mknod,rename:Ee.node_ops.rename,unlink:Ee.node_ops.unlink,rmdir:Ee.node_ops.rmdir,readdir:Ee.node_ops.readdir,symlink:Ee.node_ops.symlink},stream:{llseek:Ee.stream_ops.llseek}},file:{node:{getattr:Ee.node_ops.getattr,setattr:Ee.node_ops.setattr},stream:{llseek:Ee.stream_ops.llseek,read:Ee.stream_ops.read,write:Ee.stream_ops.write,allocate:Ee.stream_ops.allocate,mmap:Ee.stream_ops.mmap,msync:Ee.stream_ops.msync}},link:{node:{getattr:Ee.node_ops.getattr,setattr:Ee.node_ops.setattr,readlink:Ee.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Ee.node_ops.getattr,setattr:Ee.node_ops.setattr},stream:Qe.chrdev_stream_ops}});var A=Qe.createNode(e,t,n,r);return Qe.isDir(A.mode)?(A.node_ops=Ee.ops_table.dir.node,A.stream_ops=Ee.ops_table.dir.stream,A.contents={}):Qe.isFile(A.mode)?(A.node_ops=Ee.ops_table.file.node,A.stream_ops=Ee.ops_table.file.stream,A.usedBytes=0,A.contents=null):Qe.isLink(A.mode)?(A.node_ops=Ee.ops_table.link.node,A.stream_ops=Ee.ops_table.link.stream):Qe.isChrdev(A.mode)&&(A.node_ops=Ee.ops_table.chrdev.node,A.stream_ops=Ee.ops_table.chrdev.stream),A.timestamp=Date.now(),e&&(e.contents[t]=A),A},getFileDataAsRegularArray:function(e){if(e.contents&&e.contents.subarray){for(var t=[],n=0;n=t)){t=Math.max(t,n*(n<1048576?2:1.125)|0),0!=n&&(t=Math.max(t,256));var r=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(r.subarray(0,e.usedBytes),0)}},resizeFileStorage:function(e,t){if(e.usedBytes!=t){if(0==t)return e.contents=null,void(e.usedBytes=0);if(!e.contents||e.contents.subarray){var n=e.contents;return e.contents=new Uint8Array(new ArrayBuffer(t)),n&&e.contents.set(n.subarray(0,Math.min(t,e.usedBytes))),void(e.usedBytes=t)}if(e.contents||(e.contents=[]),e.contents.length>t)e.contents.length=t;else for(;e.contents.length=e.node.usedBytes)return 0;var o=Math.min(e.node.usedBytes-A,r);if(o>8&&i.subarray)t.set(i.subarray(A,A+o),n);else for(var s=0;s0||A+r>2)}catch(e){if(!e.code)throw e;throw new Qe.ErrnoError(ye.convertNodeCode(e))}return t.mode},realPath:function(e){for(var t=[];e.parent!==e;)t.push(e.name),e=e.parent;return t.push(e.mount.opts.root),t.reverse(),fe.join.apply(null,t)},flagsForNode:function(e){e&=-2097153,e&=-2049,e&=-32769,e&=-524289;var t=0;for(var n in ye.flagsForNodeMap)e&n&&(t|=ye.flagsForNodeMap[n],e^=n);if(e)throw new Qe.ErrnoError(28);return t},node_ops:{getattr:function(e){var t,n=ye.realPath(e);try{t=Se.lstatSync(n)}catch(e){if(!e.code)throw e;throw new Qe.ErrnoError(ye.convertNodeCode(e))}return ye.isWindows&&!t.blksize&&(t.blksize=4096),ye.isWindows&&!t.blocks&&(t.blocks=(t.size+t.blksize-1)/t.blksize|0),{dev:t.dev,ino:t.ino,mode:t.mode,nlink:t.nlink,uid:t.uid,gid:t.gid,rdev:t.rdev,size:t.size,atime:t.atime,mtime:t.mtime,ctime:t.ctime,blksize:t.blksize,blocks:t.blocks}},setattr:function(e,t){var n=ye.realPath(e);try{if(void 0!==t.mode&&(Se.chmodSync(n,t.mode),e.mode=t.mode),void 0!==t.timestamp){var r=new Date(t.timestamp);Se.utimesSync(n,r,r)}void 0!==t.size&&Se.truncateSync(n,t.size)}catch(e){if(!e.code)throw e;throw new Qe.ErrnoError(ye.convertNodeCode(e))}},lookup:function(e,t){var n=fe.join2(ye.realPath(e),t),r=ye.getMode(n);return ye.createNode(e,t,r)},mknod:function(e,t,n,r){var A=ye.createNode(e,t,n,r),i=ye.realPath(A);try{Qe.isDir(A.mode)?Se.mkdirSync(i,A.mode):Se.writeFileSync(i,"",{mode:A.mode})}catch(e){if(!e.code)throw e;throw new Qe.ErrnoError(ye.convertNodeCode(e))}return A},rename:function(e,t,n){var r=ye.realPath(e),A=fe.join2(ye.realPath(t),n);try{Se.renameSync(r,A)}catch(e){if(!e.code)throw e;throw new Qe.ErrnoError(ye.convertNodeCode(e))}},unlink:function(e,t){var n=fe.join2(ye.realPath(e),t);try{Se.unlinkSync(n)}catch(e){if(!e.code)throw e;throw new Qe.ErrnoError(ye.convertNodeCode(e))}},rmdir:function(e,t){var n=fe.join2(ye.realPath(e),t);try{Se.rmdirSync(n)}catch(e){if(!e.code)throw e;throw new Qe.ErrnoError(ye.convertNodeCode(e))}},readdir:function(e){var t=ye.realPath(e);try{return Se.readdirSync(t)}catch(e){if(!e.code)throw e;throw new Qe.ErrnoError(ye.convertNodeCode(e))}},symlink:function(e,t,n){var r=fe.join2(ye.realPath(e),t);try{Se.symlinkSync(n,r)}catch(e){if(!e.code)throw e;throw new Qe.ErrnoError(ye.convertNodeCode(e))}},readlink:function(e){var t=ye.realPath(e);try{return t=Se.readlinkSync(t),t=ke.relative(ke.resolve(e.mount.opts.root),t)}catch(e){if(!e.code)throw e;throw new Qe.ErrnoError(ye.convertNodeCode(e))}}},stream_ops:{open:function(e){var t=ye.realPath(e.node);try{Qe.isFile(e.node.mode)&&(e.nfd=Se.openSync(t,ye.flagsForNode(e.flags)))}catch(e){if(!e.code)throw e;throw new Qe.ErrnoError(ye.convertNodeCode(e))}},close:function(e){try{Qe.isFile(e.node.mode)&&e.nfd&&Se.closeSync(e.nfd)}catch(e){if(!e.code)throw e;throw new Qe.ErrnoError(ye.convertNodeCode(e))}},read:function(e,t,n,r,A){if(0===r)return 0;try{return Se.readSync(e.nfd,ye.bufferFrom(t.buffer),n,r,A)}catch(e){throw new Qe.ErrnoError(ye.convertNodeCode(e))}},write:function(e,t,n,r,A){try{return Se.writeSync(e.nfd,ye.bufferFrom(t.buffer),n,r,A)}catch(e){throw new Qe.ErrnoError(ye.convertNodeCode(e))}},llseek:function(e,t,n){var r=t;if(1===n)r+=e.position;else if(2===n&&Qe.isFile(e.node.mode))try{r+=Se.fstatSync(e.nfd).size}catch(e){throw new Qe.ErrnoError(ye.convertNodeCode(e))}if(r<0)throw new Qe.ErrnoError(28);return r}}},me={lookupPath:function(e){return{path:e,node:{mode:ye.getMode(e)}}},createStandardStreams:function(){Qe.streams[0]={fd:0,nfd:0,position:0,path:"",flags:0,tty:!0,seekable:!1};for(var e=1;e<3;e++)Qe.streams[e]={fd:e,nfd:e,position:0,path:"",flags:577,tty:!0,seekable:!1}},cwd:function(){return process.cwd()},chdir:function(){process.chdir.apply(void 0,arguments)},mknod:function(e,t){Qe.isDir(e)?Se.mkdirSync(e,t):Se.writeFileSync(e,"",{mode:t})},mkdir:function(){Se.mkdirSync.apply(void 0,arguments)},symlink:function(){Se.symlinkSync.apply(void 0,arguments)},rename:function(){Se.renameSync.apply(void 0,arguments)},rmdir:function(){Se.rmdirSync.apply(void 0,arguments)},readdir:function(){Se.readdirSync.apply(void 0,arguments)},unlink:function(){Se.unlinkSync.apply(void 0,arguments)},readlink:function(){return Se.readlinkSync.apply(void 0,arguments)},stat:function(){return Se.statSync.apply(void 0,arguments)},lstat:function(){return Se.lstatSync.apply(void 0,arguments)},chmod:function(){Se.chmodSync.apply(void 0,arguments)},fchmod:function(){Se.fchmodSync.apply(void 0,arguments)},chown:function(){Se.chownSync.apply(void 0,arguments)},fchown:function(){Se.fchownSync.apply(void 0,arguments)},truncate:function(){Se.truncateSync.apply(void 0,arguments)},ftruncate:function(){Se.ftruncateSync.apply(void 0,arguments)},utime:function(){Se.utimesSync.apply(void 0,arguments)},open:function(e,t,n,r){"string"==typeof t&&(t=Fe.modeStringToFlags(t));var A=Se.openSync(e,ye.flagsForNode(t),n),i=null!=r?r:Qe.nextfd(A),o={fd:i,nfd:A,position:0,path:e,flags:t,seekable:!0};return Qe.streams[i]=o,o},close:function(e){e.stream_ops||Se.closeSync(e.nfd),Qe.closeStream(e.fd)},llseek:function(e,t,n){if(e.stream_ops)return Fe.llseek(e,t,n);var r=t;if(1===n)r+=e.position;else if(2===n)r+=Se.fstatSync(e.nfd).size;else if(0!==n)throw new Qe.ErrnoError(Be.EINVAL);if(r<0)throw new Qe.ErrnoError(Be.EINVAL);return e.position=r,r},read:function(e,t,n,r,A){if(e.stream_ops)return Fe.read(e,t,n,r,A);var i=void 0!==A;!i&&e.seekable&&(A=e.position);var o=Se.readSync(e.nfd,ye.bufferFrom(t.buffer),n,r,A);return i||(e.position+=o),o},write:function(e,t,n,r,A){if(e.stream_ops)return Fe.write(e,t,n,r,A);1024&e.flags&&Qe.llseek(e,0,2);var i=void 0!==A;!i&&e.seekable&&(A=e.position);var o=Se.writeSync(e.nfd,ye.bufferFrom(t.buffer),n,r,A);return i||(e.position+=o),o},allocate:function(){throw new Qe.ErrnoError(Be.EOPNOTSUPP)},mmap:function(){throw new Qe.ErrnoError(Be.ENODEV)},msync:function(){return 0},munmap:function(){return 0},ioctl:function(){throw new Qe.ErrnoError(Be.ENOTTY)}},Qe={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,trackingDelegate:{},tracking:{openFlags:{READ:1,WRITE:2}},ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,handleFSError:function(e){if(!(e instanceof Qe.ErrnoError))throw e+" : "+pe();return Ce(e.errno)},lookupPath:function(e,t){if(t=t||{},!(e=de.resolve(Qe.cwd(),e)))return{path:"",node:null};var n={follow_mount:!0,recurse_count:0};for(var r in n)void 0===t[r]&&(t[r]=n[r]);if(t.recurse_count>8)throw new Qe.ErrnoError(32);for(var A=fe.normalizeArray(e.split("/").filter((function(e){return!!e})),!1),i=Qe.root,o="/",s=0;s40)throw new Qe.ErrnoError(32)}}return{path:o,node:i}},getPath:function(e){for(var t;;){if(Qe.isRoot(e)){var n=e.mount.mountpoint;return t?"/"!==n[n.length-1]?n+"/"+t:n+t:n}t=t?e.name+"/"+t:e.name,e=e.parent}},hashName:function(e,t){for(var n=0,r=0;r>>0)%Qe.nameTable.length},hashAddNode:function(e){var t=Qe.hashName(e.parent.id,e.name);e.name_next=Qe.nameTable[t],Qe.nameTable[t]=e},hashRemoveNode:function(e){var t=Qe.hashName(e.parent.id,e.name);if(Qe.nameTable[t]===e)Qe.nameTable[t]=e.name_next;else for(var n=Qe.nameTable[t];n;){if(n.name_next===e){n.name_next=e.name_next;break}n=n.name_next}},lookupNode:function(e,t){var n=Qe.mayLookup(e);if(n)throw new Qe.ErrnoError(n,e);for(var r=Qe.hashName(e.id,t),A=Qe.nameTable[r];A;A=A.name_next){var i=A.name;if(A.parent.id===e.id&&i===t)return A}return Qe.lookup(e,t)},createNode:function(e,t,n,r){if(!Qe.FSNode){Qe.FSNode=function(e,t,n,r){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Qe.nextInode++,this.name=t,this.mode=n,this.node_ops={},this.stream_ops={},this.rdev=r},Qe.FSNode.prototype={};Object.defineProperties(Qe.FSNode.prototype,{read:{get:function(){return 365==(365&this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return 146==(146&this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return Qe.isDir(this.mode)}},isDevice:{get:function(){return Qe.isChrdev(this.mode)}}})}var A=new Qe.FSNode(e,t,n,r);return Qe.hashAddNode(A),A},destroyNode:function(e){Qe.hashRemoveNode(e)},isRoot:function(e){return e===e.parent},isMountpoint:function(e){return!!e.mounted},isFile:function(e){return 32768==(61440&e)},isDir:function(e){return 16384==(61440&e)},isLink:function(e){return 40960==(61440&e)},isChrdev:function(e){return 8192==(61440&e)},isBlkdev:function(e){return 24576==(61440&e)},isFIFO:function(e){return 4096==(61440&e)},isSocket:function(e){return 49152==(49152&e)},flagModes:{r:0,rs:1052672,"r+":2,w:577,wx:705,xw:705,"w+":578,"wx+":706,"xw+":706,a:1089,ax:1217,xa:1217,"a+":1090,"ax+":1218,"xa+":1218},modeStringToFlags:function(e){var t=Qe.flagModes[e];if(void 0===t)throw new Error("Unknown file open mode: "+e);return t},flagsToPermissionString:function(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:function(e,t){return Qe.ignorePermissions?0:(-1===t.indexOf("r")||292&e.mode)&&(-1===t.indexOf("w")||146&e.mode)&&(-1===t.indexOf("x")||73&e.mode)?0:2},mayLookup:function(e){var t=Qe.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate:function(e,t){try{Qe.lookupNode(e,t);return 20}catch(e){}return Qe.nodePermissions(e,"wx")},mayDelete:function(e,t,n){var r;try{r=Qe.lookupNode(e,t)}catch(e){return e.errno}var A=Qe.nodePermissions(e,"wx");if(A)return A;if(n){if(!Qe.isDir(r.mode))return 54;if(Qe.isRoot(r)||Qe.getPath(r)===Qe.cwd())return 10}else if(Qe.isDir(r.mode))return 31;return 0},mayOpen:function(e,t){return e?Qe.isLink(e.mode)?32:Qe.isDir(e.mode)&&("r"!==Qe.flagsToPermissionString(t)||512&t)?31:Qe.nodePermissions(e,Qe.flagsToPermissionString(t)):44},MAX_OPEN_FDS:4096,nextfd:function(e,t){e=e||0,t=t||Qe.MAX_OPEN_FDS;for(var n=e;n<=t;n++)if(!Qe.streams[n])return n;throw new Qe.ErrnoError(33)},getStream:function(e){return Qe.streams[e]},createStream:function(e,t,n){Qe.FSStream||(Qe.FSStream=function(){},Qe.FSStream.prototype={},Object.defineProperties(Qe.FSStream.prototype,{object:{get:function(){return this.node},set:function(e){this.node=e}},isRead:{get:function(){return 1!=(2097155&this.flags)}},isWrite:{get:function(){return 0!=(2097155&this.flags)}},isAppend:{get:function(){return 1024&this.flags}}}));var r=new Qe.FSStream;for(var A in e)r[A]=e[A];e=r;var i=Qe.nextfd(t,n);return e.fd=i,Qe.streams[i]=e,e},closeStream:function(e){Qe.streams[e]=null},chrdev_stream_ops:{open:function(e){var t=Qe.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:function(){throw new Qe.ErrnoError(70)}},major:function(e){return e>>8},minor:function(e){return 255&e},makedev:function(e,t){return e<<8|t},registerDevice:function(e,t){Qe.devices[e]={stream_ops:t}},getDevice:function(e){return Qe.devices[e]},getMounts:function(e){for(var t=[],n=[e];n.length;){var r=n.pop();t.push(r),n.push.apply(n,r.mounts)}return t},syncfs:function(e,t){"function"==typeof e&&(t=e,e=!1),Qe.syncFSRequests++,Qe.syncFSRequests>1&&console.log("warning: "+Qe.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work");var n=Qe.getMounts(Qe.root.mount),r=0;function A(e){return Qe.syncFSRequests--,t(e)}function i(e){if(e)return i.errored?void 0:(i.errored=!0,A(e));++r>=n.length&&A(null)}n.forEach((function(t){if(!t.type.syncfs)return i(null);t.type.syncfs(t,e,i)}))},mount:function(e,t,n){var r,A="/"===n,i=!n;if(A&&Qe.root)throw new Qe.ErrnoError(10);if(!A&&!i){var o=Qe.lookupPath(n,{follow_mount:!1});if(n=o.path,r=o.node,Qe.isMountpoint(r))throw new Qe.ErrnoError(10);if(!Qe.isDir(r.mode))throw new Qe.ErrnoError(54)}var s={type:e,opts:t,mountpoint:n,mounts:[]},a=e.mount(s);return a.mount=s,s.root=a,A?Qe.root=a:r&&(r.mounted=s,r.mount&&r.mount.mounts.push(s)),a},unmount:function(e){var t=Qe.lookupPath(e,{follow_mount:!1});if(!Qe.isMountpoint(t.node))throw new Qe.ErrnoError(28);var n=t.node,r=n.mounted,A=Qe.getMounts(r);Object.keys(Qe.nameTable).forEach((function(e){for(var t=Qe.nameTable[e];t;){var n=t.name_next;-1!==A.indexOf(t.mount)&&Qe.destroyNode(t),t=n}})),n.mounted=null;var i=n.mount.mounts.indexOf(r);n.mount.mounts.splice(i,1)},lookup:function(e,t){return e.node_ops.lookup(e,t)},mknod:function(e,t,n){var r=Qe.lookupPath(e,{parent:!0}).node,A=fe.basename(e);if(!A||"."===A||".."===A)throw new Qe.ErrnoError(28);var i=Qe.mayCreate(r,A);if(i)throw new Qe.ErrnoError(i);if(!r.node_ops.mknod)throw new Qe.ErrnoError(63);return r.node_ops.mknod(r,A,t,n)},create:function(e,t){return t=void 0!==t?t:438,t&=4095,t|=32768,Qe.mknod(e,t,0)},mkdir:function(e,t){return t=void 0!==t?t:511,t&=1023,t|=16384,Qe.mknod(e,t,0)},mkdirTree:function(e,t){for(var n=e.split("/"),r="",A=0;Athis.length-1||e<0)){var t=e%this.chunkSize,n=e/this.chunkSize|0;return this.getter(n)[t]}},i.prototype.setDataGetter=function(e){this.getter=e},i.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",n,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+n+". Status: "+e.status);var t,r=Number(e.getResponseHeader("Content-length")),A=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,i=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,o=1048576;A||(o=r);var s=this;s.setDataGetter((function(e){var t=e*o,A=(e+1)*o-1;if(A=Math.min(A,r-1),void 0===s.chunks[e]&&(s.chunks[e]=function(e,t){if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>r-1)throw new Error("only "+r+" bytes available! programmer error!");var A=new XMLHttpRequest;if(A.open("GET",n,!1),r!==o&&A.setRequestHeader("Range","bytes="+e+"-"+t),"undefined"!=typeof Uint8Array&&(A.responseType="arraybuffer"),A.overrideMimeType&&A.overrideMimeType("text/plain; charset=x-user-defined"),A.send(null),!(A.status>=200&&A.status<300||304===A.status))throw new Error("Couldn't load "+n+". Status: "+A.status);return void 0!==A.response?new Uint8Array(A.response||[]):Ne(A.responseText||"",!0)}(t,A)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]})),!i&&r||(o=r=1,r=this.getter(0).length,o=r,console.log("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=r,this._chunkSize=o,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o={isDevice:!1,url:n},s=Qe.createFile(e,t,o,r,A);o.contents?s.contents=o.contents:o.url&&(s.contents=null,s.url=o.url),Object.defineProperties(s,{usedBytes:{get:function(){return this.contents.length}}});var a={};return Object.keys(s.stream_ops).forEach((function(e){var t=s.stream_ops[e];a[e]=function(){if(!Qe.forceLoadFile(s))throw new Qe.ErrnoError(29);return t.apply(null,arguments)}})),a.read=function(e,t,n,r,A){if(!Qe.forceLoadFile(s))throw new Qe.ErrnoError(29);var i=e.node.contents;if(A>=i.length)return 0;var o=Math.min(i.length-A,r);if(i.slice)for(var a=0;a>2]=r.dev,U[n+4>>2]=0,U[n+8>>2]=r.ino,U[n+12>>2]=r.mode,U[n+16>>2]=r.nlink,U[n+20>>2]=r.uid,U[n+24>>2]=r.gid,U[n+28>>2]=r.rdev,U[n+32>>2]=0,le=[r.size>>>0,(ge=r.size,+Z(ge)>=1?ge>0?(0|ne(+te(ge/4294967296),4294967295))>>>0:~~+ee((ge-+(~~ge>>>0))/4294967296)>>>0:0)],U[n+40>>2]=le[0],U[n+44>>2]=le[1],U[n+48>>2]=4096,U[n+52>>2]=r.blocks,U[n+56>>2]=r.atime.getTime()/1e3|0,U[n+60>>2]=0,U[n+64>>2]=r.mtime.getTime()/1e3|0,U[n+68>>2]=0,U[n+72>>2]=r.ctime.getTime()/1e3|0,U[n+76>>2]=0,le=[r.ino>>>0,(ge=r.ino,+Z(ge)>=1?ge>0?(0|ne(+te(ge/4294967296),4294967295))>>>0:~~+ee((ge-+(~~ge>>>0))/4294967296)>>>0:0)],U[n+80>>2]=le[0],U[n+84>>2]=le[1],0},doMsync:function(e,t,n,r){var A=new Uint8Array(O.subarray(e,e+n));Qe.msync(t,A,0,n,r)},doMkdir:function(e,t){return"/"===(e=fe.normalize(e))[e.length-1]&&(e=e.substr(0,e.length-1)),Qe.mkdir(e,t,0),0},doMknod:function(e,t,n){switch(61440&t){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}return Qe.mknod(e,t,n),0},doReadlink:function(e,t,n){if(n<=0)return-28;var r=Qe.readlink(e),A=Math.min(n,x(r)),i=L[t+A];return K(r,t,n+1),L[t+A]=i,A},doAccess:function(e,t){if(-8&t)return-28;var n;if(!(n=Qe.lookupPath(e,{follow:!0}).node))return-44;var r="";return 4&t&&(r+="r"),2&t&&(r+="w"),1&t&&(r+="x"),r&&Qe.nodePermissions(n,r)?-2:0},doDup:function(e,t,n){var r=Qe.getStream(n);return r&&Qe.close(r),Qe.open(e,t,0,n,n).fd},doReadv:function(e,t,n,r){for(var A=0,i=0;i>2],s=U[t+(8*i+4)>>2],a=Qe.read(e,L,o,s,r);if(a<0)return-1;if(A+=a,a>2],s=U[t+(8*i+4)>>2],a=Qe.write(e,L,o,s,r);if(a<0)return-1;A+=a}return A},varargs:0,get:function(e){return we.varargs+=4,U[we.varargs-4>>2]},getStr:function(){return N(we.get())},getStreamFromFD:function(e){void 0===e&&(e=we.get());var t=Qe.getStream(e);if(!t)throw new Qe.ErrnoError(8);return t},get64:function(){var e=we.get();we.get();return e},getZero:function(){we.get()}};function ve(){return L.length}var be=20656,De=(K("GMT",20704,4),20704);if(Qe.staticInit(),h){var Se=A,ke=n(4);ye.staticInit()}if(!l)throw new Error("NODERAWFS is currently only supported on Node.js environment.");var _e=function(e){return function(){try{return e.apply(this,arguments)}catch(e){if(!e.code)throw e;throw new Qe.ErrnoError(Be[e.code])}}},Fe=Object.assign({},Qe);for(var Me in me)Qe[Me]=_e(me[Me]);function Ne(e,t,n){var r=n>0?n:x(e)+1,A=new Array(r),i=R(e,A,0,A.length);return t&&(A.length=i),A}var Re="function"==typeof atob?atob:function(e){var t,n,r,A,i,o,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",a="",c=0;e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{t=s.indexOf(e.charAt(c++))<<2|(A=s.indexOf(e.charAt(c++)))>>4,n=(15&A)<<4|(i=s.indexOf(e.charAt(c++)))>>2,r=(3&i)<<6|(o=s.indexOf(e.charAt(c++))),a+=String.fromCharCode(t),64!==i&&(a+=String.fromCharCode(n)),64!==o&&(a+=String.fromCharCode(r))}while(c>1]=2,0;case 13:case 14:return 0;case 16:case 8:return-28;case 9:return Ce(28),-1;default:return-28}}catch(e){return void 0!==Qe&&e instanceof Qe.ErrnoError||ae(e),-e.errno}},q:function(e,t){we.varargs=t;try{var n=we.getStreamFromFD(),r=we.get(),A=we.get();return Qe.read(n,L,r,A)}catch(e){return void 0!==Qe&&e instanceof Qe.ErrnoError||ae(e),-e.errno}},u:function(e,t){we.varargs=t;try{var n=we.getStr(),r=we.getStr();return Qe.rename(n,r),0}catch(e){return void 0!==Qe&&e instanceof Qe.ErrnoError||ae(e),-e.errno}},s:function(e,t){we.varargs=t;try{var n=we.getStr();return Qe.rmdir(n),0}catch(e){return void 0!==Qe&&e instanceof Qe.ErrnoError||ae(e),-e.errno}},r:function(e,t){we.varargs=t;try{var n=we.getStr(),r=we.get(),A=we.get();return Qe.open(n,r,A).fd}catch(e){return void 0!==Qe&&e instanceof Qe.ErrnoError||ae(e),-e.errno}},o:function(e,t){we.varargs=t;try{var n=we.getStreamFromFD(),r=we.get();switch(r){case 21509:case 21505:return n.tty?0:-59;case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:return n.tty?0:-59;case 21519:if(!n.tty)return-59;var A=we.get();return U[A>>2]=0,0;case 21520:return n.tty?-28:-59;case 21531:A=we.get();return Qe.ioctl(n,r,A);case 21523:case 21524:return n.tty?0:-59;default:ae("bad ioctl syscall "+r)}}catch(e){return void 0!==Qe&&e instanceof Qe.ErrnoError||ae(e),-e.errno}},a:function(){},j:function(e,t,n){O.set(O.subarray(t,t+n),e)},k:function(e){var t=ve();if(e>2147418112)return!1;for(var n=Math.max(t,16777216);n>16),J(B.buffer),1}catch(e){}}(n)},g:function(e){try{var t=we.getStreamFromFD(e);return Qe.close(t),0}catch(e){return void 0!==Qe&&e instanceof Qe.ErrnoError||ae(e),e.errno}},n:function(e,t){try{var n=we.getStreamFromFD(e),r=n.tty?2:Qe.isDir(n.mode)?3:Qe.isLink(n.mode)?7:4;return L[t>>0]=r,0}catch(e){return void 0!==Qe&&e instanceof Qe.ErrnoError||ae(e),e.errno}},m:function(e,t,n,r){try{var A=we.getStreamFromFD(e),i=we.doReadv(A,t,n);return U[r>>2]=i,0}catch(e){return void 0!==Qe&&e instanceof Qe.ErrnoError||ae(e),e.errno}},l:function(e,t,n,r,A){try{var i=we.getStreamFromFD(e),o=4294967296*n+(t>>>0);return o<=-9007199254740992||o>=9007199254740992?-61:(Qe.llseek(i,o,r),le=[i.position>>>0,(ge=i.position,+Z(ge)>=1?ge>0?(0|ne(+te(ge/4294967296),4294967295))>>>0:~~+ee((ge-+(~~ge>>>0))/4294967296)>>>0:0)],U[A>>2]=le[0],U[A+4>>2]=le[1],i.getdents&&0===o&&0===r&&(i.getdents=null),0)}catch(e){return void 0!==Qe&&e instanceof Qe.ErrnoError||ae(e),e.errno}},w:function(e,t,n,r){try{var A=we.getStreamFromFD(e),i=we.doWritev(A,t,n);return U[r>>2]=i,0}catch(e){return void 0!==Qe&&e instanceof Qe.ErrnoError||ae(e),e.errno}},h:function(e){return function(e,t){var n=new Date(1e3*U[e>>2]);U[t>>2]=n.getUTCSeconds(),U[t+4>>2]=n.getUTCMinutes(),U[t+8>>2]=n.getUTCHours(),U[t+12>>2]=n.getUTCDate(),U[t+16>>2]=n.getUTCMonth(),U[t+20>>2]=n.getUTCFullYear()-1900,U[t+24>>2]=n.getUTCDay(),U[t+36>>2]=0,U[t+32>>2]=0;var r=Date.UTC(n.getUTCFullYear(),0,1,0,0,0,0),A=(n.getTime()-r)/864e5|0;return U[t+28>>2]=A,U[t+40>>2]=De,t}(e,be)},memory:B,b:function(e){y(0|e)},table:Q,c:function(e){var t=Date.now()/1e3|0;return e&&(U[e>>2]=t),t},i:function(e){!function e(){if(!e.called){e.called=!0,U[Ye()>>2]=60*(new Date).getTimezoneOffset();var t=(new Date).getFullYear(),n=new Date(t,0,1),r=new Date(t,6,1);U[Ue()>>2]=Number(n.getTimezoneOffset()!=r.getTimezoneOffset());var A=a(n),i=a(r),o=_(Ne(A),"i8",S),s=_(Ne(i),"i8",S);r.getTimezoneOffset()>2]=o,U[Te()+4>>2]=s):(U[Te()>>2]=s,U[Te()+4>>2]=o)}function a(e){var t=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return t?t[1]:"GMT"}}();var t=Date.UTC(U[e+20>>2]+1900,U[e+16>>2],U[e+12>>2],U[e+8>>2],U[e+4>>2],U[e>>2],0),n=new Date(t);U[e+24>>2]=n.getUTCDay();var r=Date.UTC(n.getUTCFullYear(),0,1,0,0,0,0),A=(n.getTime()-r)/864e5|0;return U[e+28>>2]=A,n.getTime()/1e3|0}},Le=function(){var e={env:Pe,wasi_unstable:Pe};function t(e,t){var n=e.exports;i.asm=n,se()}if(oe(),i.instantiateWasm)try{return i.instantiateWasm(e,t)}catch(e){return C("Module.instantiateWasm callback failed with error: "+e),!1}return function(){var n,r,A;try{A=function(){try{if(E)return new Uint8Array(E);var e=Ke(he);if(e)return e;if(a)return a(he);throw"sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"}catch(e){ae(e)}}(),r=new WebAssembly.Module(A),n=new WebAssembly.Instance(r,e)}catch(e){var i=e.toString();throw C("failed to compile wasm module: "+i),(i.indexOf("imported Memory")>=0||i.indexOf("memory import")>=0)&&C("Memory size incompatibility issues may be due to changing TOTAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set TOTAL_MEMORY at runtime to something smaller than it was at compile time)."),e}t(n)}(),i.asm}(),Oe=i.___wasm_call_ctors=Le.x,Te=(i._zipstruct_stat=Le.y,i._zipstruct_statS=Le.z,i._zipstruct_stat_name=Le.A,i._zipstruct_stat_index=Le.B,i._zipstruct_stat_size=Le.C,i._zipstruct_stat_mtime=Le.D,i._zipstruct_error=Le.E,i._zipstruct_errorS=Le.F,i._zip_close=Le.G,i._zip_dir_add=Le.H,i._zip_discard=Le.I,i._zip_error_init_with_code=Le.J,i._zip_get_error=Le.K,i._zip_file_get_error=Le.L,i._zip_error_strerror=Le.M,i._zip_fclose=Le.N,i._zip_file_add=Le.O,i._zip_file_get_external_attributes=Le.P,i._zip_file_set_external_attributes=Le.Q,i._zip_file_set_mtime=Le.R,i._zip_fopen=Le.S,i._zip_fopen_index=Le.T,i._zip_fread=Le.U,i._zip_get_name=Le.V,i._zip_get_num_entries=Le.W,i._zip_name_locate=Le.X,i._zip_open=Le.Y,i._zip_open_from_source=Le.Z,i._zip_set_file_compression=Le._,i._zip_source_buffer=Le.$,i._zip_source_buffer_create=Le.aa,i._zip_source_free=Le.ba,i._zip_source_set_mtime=Le.ca,i._zip_stat=Le.da,i._zip_stat_index=Le.ea,i.___errno_location=Le.fa,i.__get_tzname=Le.ga),Ue=i.__get_daylight=Le.ha,Ye=i.__get_timezone=Le.ia,je=i._malloc=Le.ja,Ge=(i._free=Le.ka,i.stackSave=Le.la),Je=i.stackAlloc=Le.ma,He=i.stackRestore=Le.na;i.dynCall_vi=Le.oa;function qe(e){function t(){xe||(xe=!0,w||(!0,i.noFSInit||Qe.init.initialized||Qe.init(),Ie.init(),z(X),Qe.ignorePermissions=!1,z(V),i.onRuntimeInitialized&&i.onRuntimeInitialized(),function(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)e=i.postRun.shift(),$.unshift(e);var e;z($)}()))}e=e||g,re>0||(!function(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)e=i.preRun.shift(),W.unshift(e);var e;z(W)}(),re>0||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),t()}),1)):t()))}if(i.asm=Le,i.cwrap=function(e,t,n,r){var A=(n=n||[]).every((function(e){return"number"===e}));return"string"!==t&&A&&!r?b(e):function(){return D(e,t,n,arguments)}},i.getValue=function(e,t,n){switch("*"===(t=t||"i8").charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":return L[e>>0];case"i16":return T[e>>1];case"i32":case"i64":return U[e>>2];case"float":return Y[e>>2];case"double":return j[e>>3];default:ae("invalid type for getValue: "+t)}return null},ie=function e(){xe||qe(),xe||(ie=e)},i.run=qe,i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();qe()},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(531);t.parseShell=function(e,t={isGlobPattern:()=>!1}){try{return r.parse(e,t)}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}},function(e,t,n){"use strict";function r(e,t,n,A){this.message=e,this.expected=t,this.found=n,this.location=A,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,r)}!function(e,t){function n(){this.constructor=e}n.prototype=t.prototype,e.prototype=new n}(r,Error),r.buildMessage=function(e,t){var n={literal:function(e){return'"'+A(e.text)+'"'},class:function(e){var t,n="";for(t=0;t0){for(t=1,r=1;t>",!1),O=">",T=Xe(">",!1),U="<<<",Y=Xe("<<<",!1),j="<",G=Xe("<",!1),J=function(e,t){return{type:"redirection",subtype:e,args:[t]}},H=function(e){return{type:"argument",segments:[].concat(...e)}},q=function(e){return e},z="'",W=Xe("'",!1),X=function(e){return[{type:"text",text:e}]},V='"',$=Xe('"',!1),Z=function(e){return e},ee=function(e){return{type:"shell",shell:e,quoted:!0}},te=function(e){return{type:"variable",...e,quoted:!0}},ne=function(e){return{type:"text",text:e}},re=function(e){return{type:"shell",shell:e,quoted:!1}},Ae=function(e){return{type:"variable",...e,quoted:!1}},ie=function(e){return{type:"glob",pattern:e}},oe="\\",se=Xe("\\",!1),ae={type:"any"},ce=function(e){return e},ue=/^[^']/,ge=Ve(["'"],!0,!1),le=function(e){return e.join("")},he=/^[^$"]/,pe=Ve(["$",'"'],!0,!1),fe="$(",Ce=Xe("$(",!1),de=function(e){return e},Ie="${",Ee=Xe("${",!1),Be=":-",ye=Xe(":-",!1),me="}",Qe=Xe("}",!1),we=function(e,t){return{name:e,defaultValue:t}},ve=":-}",be=Xe(":-}",!1),De=function(e){return{name:e,defaultValue:[]}},Se=function(e){return{name:e}},ke="$",_e=Xe("$",!1),Fe=function(e){return t.isGlobPattern(e)},Me=function(e){return e},Ne=/^[a-zA-Z0-9_]/,Re=Ve([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),Ke=function(){return e.substring(Je,Ge)},xe=/^[@*?#a-zA-Z0-9_\-]/,Pe=Ve(["@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),Le=/^[(){}<>$|&; \t"']/,Oe=Ve(["(",")","{","}","<",">","$","|","&",";"," ","\t",'"',"'"],!1,!1),Te=/^[<>&; \t"']/,Ue=Ve(["<",">","&",";"," ","\t",'"',"'"],!1,!1),Ye=/^[ \t]/,je=Ve([" ","\t"],!1,!1),Ge=0,Je=0,He=[{line:1,column:1}],qe=0,ze=[],We=0;if("startRule"in t){if(!(t.startRule in i))throw new Error("Can't start parsing from rule \""+t.startRule+'".');o=i[t.startRule]}function Xe(e,t){return{type:"literal",text:e,ignoreCase:t}}function Ve(e,t,n){return{type:"class",parts:e,inverted:t,ignoreCase:n}}function $e(t){var n,r=He[t];if(r)return r;for(n=t-1;!He[n];)n--;for(r={line:(r=He[n]).line,column:r.column};nqe&&(qe=Ge,ze=[]),ze.push(e))}function tt(e,t,n){return new r(r.buildMessage(e,t),e,t,n)}function nt(){var e,t;return e=Ge,(t=rt())===A&&(t=null),t!==A&&(Je=e,t=s(t)),e=t}function rt(){var t,n,r;return t=Ge,(n=At())!==A?((r=function(){var t,n,r,i,o,s,a;t=Ge,n=[],r=Bt();for(;r!==A;)n.push(r),r=Bt();if(n!==A)if(59===e.charCodeAt(Ge)?(r=c,Ge++):(r=A,0===We&&et(u)),r!==A){for(i=[],o=Bt();o!==A;)i.push(o),o=Bt();if(i!==A)if((o=rt())!==A){for(s=[],a=Bt();a!==A;)s.push(a),a=Bt();s!==A?(Je=t,n=g(o),t=n):(Ge=t,t=A)}else Ge=t,t=A;else Ge=t,t=A}else Ge=t,t=A;else Ge=t,t=A;return t}())===A&&(r=null),r!==A?(Je=t,t=n=a(n,r)):(Ge=t,t=A)):(Ge=t,t=A),t}function At(){var t,n,r;return t=Ge,(n=it())!==A?((r=function(){var t,n,r,i,o,s,a;t=Ge,n=[],r=Bt();for(;r!==A;)n.push(r),r=Bt();if(n!==A)if((r=function(){var t;e.substr(Ge,2)===p?(t=p,Ge+=2):(t=A,0===We&&et(f));t===A&&(e.substr(Ge,2)===C?(t=C,Ge+=2):(t=A,0===We&&et(d)));return t}())!==A){for(i=[],o=Bt();o!==A;)i.push(o),o=Bt();if(i!==A)if((o=At())!==A){for(s=[],a=Bt();a!==A;)s.push(a),a=Bt();s!==A?(Je=t,n=h(r,o),t=n):(Ge=t,t=A)}else Ge=t,t=A;else Ge=t,t=A}else Ge=t,t=A;else Ge=t,t=A;return t}())===A&&(r=null),r!==A?(Je=t,t=n=l(n,r)):(Ge=t,t=A)):(Ge=t,t=A),t}function it(){var t,n,r;return t=Ge,(n=function(){var t,n,r,i,o,s,a,c,u,g,l;t=Ge,n=[],r=Bt();for(;r!==A;)n.push(r),r=Bt();if(n!==A)if(40===e.charCodeAt(Ge)?(r=S,Ge++):(r=A,0===We&&et(k)),r!==A){for(i=[],o=Bt();o!==A;)i.push(o),o=Bt();if(i!==A)if((o=rt())!==A){for(s=[],a=Bt();a!==A;)s.push(a),a=Bt();if(s!==A)if(41===e.charCodeAt(Ge)?(a=_,Ge++):(a=A,0===We&&et(F)),a!==A){for(c=[],u=Bt();u!==A;)c.push(u),u=Bt();if(c!==A){for(u=[],g=at();g!==A;)u.push(g),g=at();if(u!==A){for(g=[],l=Bt();l!==A;)g.push(l),l=Bt();g!==A?(Je=t,n=M(o,u),t=n):(Ge=t,t=A)}else Ge=t,t=A}else Ge=t,t=A}else Ge=t,t=A;else Ge=t,t=A}else Ge=t,t=A;else Ge=t,t=A}else Ge=t,t=A;else Ge=t,t=A;if(t===A){for(t=Ge,n=[],r=Bt();r!==A;)n.push(r),r=Bt();if(n!==A){for(r=[],i=ot();i!==A;)r.push(i),i=ot();if(r!==A){for(i=[],o=Bt();o!==A;)i.push(o),o=Bt();if(i!==A){if(o=[],(s=st())!==A)for(;s!==A;)o.push(s),s=st();else o=A;if(o!==A){for(s=[],a=Bt();a!==A;)s.push(a),a=Bt();s!==A?(Je=t,n=N(r,o),t=n):(Ge=t,t=A)}else Ge=t,t=A}else Ge=t,t=A}else Ge=t,t=A}else Ge=t,t=A;if(t===A){for(t=Ge,n=[],r=Bt();r!==A;)n.push(r),r=Bt();if(n!==A){if(r=[],(i=ot())!==A)for(;i!==A;)r.push(i),i=ot();else r=A;if(r!==A){for(i=[],o=Bt();o!==A;)i.push(o),o=Bt();i!==A?(Je=t,n=R(r),t=n):(Ge=t,t=A)}else Ge=t,t=A}else Ge=t,t=A}}return t}())!==A?((r=function(){var t,n,r,i,o,s,a;t=Ge,n=[],r=Bt();for(;r!==A;)n.push(r),r=Bt();if(n!==A)if((r=function(){var t;e.substr(Ge,2)===B?(t=B,Ge+=2):(t=A,0===We&&et(y));t===A&&(124===e.charCodeAt(Ge)?(t=m,Ge++):(t=A,0===We&&et(Q)));return t}())!==A){for(i=[],o=Bt();o!==A;)i.push(o),o=Bt();if(i!==A)if((o=it())!==A){for(s=[],a=Bt();a!==A;)s.push(a),a=Bt();s!==A?(Je=t,n=E(r,o),t=n):(Ge=t,t=A)}else Ge=t,t=A;else Ge=t,t=A}else Ge=t,t=A;else Ge=t,t=A;return t}())===A&&(r=null),r!==A?(Je=t,t=n=I(n,r)):(Ge=t,t=A)):(Ge=t,t=A),t}function ot(){var t,n,r,i,o,s;if(t=Ge,(n=Ct())!==A)if(61===e.charCodeAt(Ge)?(r=w,Ge++):(r=A,0===We&&et(v)),r!==A)if((i=ut())!==A){for(o=[],s=Bt();s!==A;)o.push(s),s=Bt();o!==A?(Je=t,t=n=b(n,i)):(Ge=t,t=A)}else Ge=t,t=A;else Ge=t,t=A;else Ge=t,t=A;if(t===A)if(t=Ge,(n=Ct())!==A)if(61===e.charCodeAt(Ge)?(r=w,Ge++):(r=A,0===We&&et(v)),r!==A){for(i=[],o=Bt();o!==A;)i.push(o),o=Bt();i!==A?(Je=t,t=n=D(n)):(Ge=t,t=A)}else Ge=t,t=A;else Ge=t,t=A;return t}function st(){var e,t,n;for(e=Ge,t=[],n=Bt();n!==A;)t.push(n),n=Bt();if(t!==A&&(n=at())!==A?(Je=e,e=t=x(n)):(Ge=e,e=A),e===A){for(e=Ge,t=[],n=Bt();n!==A;)t.push(n),n=Bt();t!==A&&(n=ct())!==A?(Je=e,e=t=x(n)):(Ge=e,e=A)}return e}function at(){var t,n,r,i;for(t=Ge,n=[],r=Bt();r!==A;)n.push(r),r=Bt();return n!==A?(e.substr(Ge,2)===P?(r=P,Ge+=2):(r=A,0===We&&et(L)),r===A&&(62===e.charCodeAt(Ge)?(r=O,Ge++):(r=A,0===We&&et(T)),r===A&&(e.substr(Ge,3)===U?(r=U,Ge+=3):(r=A,0===We&&et(Y)),r===A&&(60===e.charCodeAt(Ge)?(r=j,Ge++):(r=A,0===We&&et(G))))),r!==A&&(i=ct())!==A?(Je=t,t=n=J(r,i)):(Ge=t,t=A)):(Ge=t,t=A),t}function ct(){var e,t,n;for(e=Ge,t=[],n=Bt();n!==A;)t.push(n),n=Bt();return t!==A&&(n=ut())!==A?(Je=e,e=t=x(n)):(Ge=e,e=A),e}function ut(){var e,t,n;if(e=Ge,t=[],(n=gt())!==A)for(;n!==A;)t.push(n),n=gt();else t=A;return t!==A&&(Je=e,t=H(t)),e=t}function gt(){var t,n;return t=Ge,(n=function(){var t,n,r,i;t=Ge,39===e.charCodeAt(Ge)?(n=z,Ge++):(n=A,0===We&&et(W));n!==A&&(r=function(){var t,n,r,i,o;t=Ge,n=[],r=Ge,92===e.charCodeAt(Ge)?(i=oe,Ge++):(i=A,0===We&&et(se));i!==A?(e.length>Ge?(o=e.charAt(Ge),Ge++):(o=A,0===We&&et(ae)),o!==A?(Je=r,i=ce(o),r=i):(Ge=r,r=A)):(Ge=r,r=A);r===A&&(ue.test(e.charAt(Ge))?(r=e.charAt(Ge),Ge++):(r=A,0===We&&et(ge)));for(;r!==A;)n.push(r),r=Ge,92===e.charCodeAt(Ge)?(i=oe,Ge++):(i=A,0===We&&et(se)),i!==A?(e.length>Ge?(o=e.charAt(Ge),Ge++):(o=A,0===We&&et(ae)),o!==A?(Je=r,i=ce(o),r=i):(Ge=r,r=A)):(Ge=r,r=A),r===A&&(ue.test(e.charAt(Ge))?(r=e.charAt(Ge),Ge++):(r=A,0===We&&et(ge)));n!==A&&(Je=t,n=le(n));return t=n}())!==A?(39===e.charCodeAt(Ge)?(i=z,Ge++):(i=A,0===We&&et(W)),i!==A?(Je=t,n=X(r),t=n):(Ge=t,t=A)):(Ge=t,t=A);return t}())!==A&&(Je=t,n=q(n)),(t=n)===A&&(t=Ge,(n=function(){var t,n,r,i;t=Ge,34===e.charCodeAt(Ge)?(n=V,Ge++):(n=A,0===We&&et($));if(n!==A){for(r=[],i=lt();i!==A;)r.push(i),i=lt();r!==A?(34===e.charCodeAt(Ge)?(i=V,Ge++):(i=A,0===We&&et($)),i!==A?(Je=t,n=Z(r),t=n):(Ge=t,t=A)):(Ge=t,t=A)}else Ge=t,t=A;return t}())!==A&&(Je=t,n=q(n)),(t=n)===A&&(t=Ge,(n=function(){var e,t,n;if(e=Ge,t=[],(n=ht())!==A)for(;n!==A;)t.push(n),n=ht();else t=A;t!==A&&(Je=e,t=Z(t));return e=t}())!==A&&(Je=t,n=q(n)),t=n)),t}function lt(){var t,n;return t=Ge,(n=pt())!==A&&(Je=t,n=ee(n)),(t=n)===A&&(t=Ge,(n=ft())!==A&&(Je=t,n=te(n)),(t=n)===A&&(t=Ge,(n=function(){var t,n,r,i,o;t=Ge,n=[],r=Ge,92===e.charCodeAt(Ge)?(i=oe,Ge++):(i=A,0===We&&et(se));i!==A?(e.length>Ge?(o=e.charAt(Ge),Ge++):(o=A,0===We&&et(ae)),o!==A?(Je=r,i=ce(o),r=i):(Ge=r,r=A)):(Ge=r,r=A);r===A&&(he.test(e.charAt(Ge))?(r=e.charAt(Ge),Ge++):(r=A,0===We&&et(pe)));if(r!==A)for(;r!==A;)n.push(r),r=Ge,92===e.charCodeAt(Ge)?(i=oe,Ge++):(i=A,0===We&&et(se)),i!==A?(e.length>Ge?(o=e.charAt(Ge),Ge++):(o=A,0===We&&et(ae)),o!==A?(Je=r,i=ce(o),r=i):(Ge=r,r=A)):(Ge=r,r=A),r===A&&(he.test(e.charAt(Ge))?(r=e.charAt(Ge),Ge++):(r=A,0===We&&et(pe)));else n=A;n!==A&&(Je=t,n=le(n));return t=n}())!==A&&(Je=t,n=ne(n)),t=n)),t}function ht(){var t,n;return t=Ge,(n=pt())!==A&&(Je=t,n=re(n)),(t=n)===A&&(t=Ge,(n=ft())!==A&&(Je=t,n=Ae(n)),(t=n)===A&&(t=Ge,(n=function(){var t,n;t=Ge,(n=function(){var t,n,r,i,o;t=Ge,n=[],r=Ge,i=Ge,We++,o=Et(),We--,o===A?i=void 0:(Ge=i,i=A);i!==A?(e.length>Ge?(o=e.charAt(Ge),Ge++):(o=A,0===We&&et(ae)),o!==A?(Je=r,i=ce(o),r=i):(Ge=r,r=A)):(Ge=r,r=A);if(r!==A)for(;r!==A;)n.push(r),r=Ge,i=Ge,We++,o=Et(),We--,o===A?i=void 0:(Ge=i,i=A),i!==A?(e.length>Ge?(o=e.charAt(Ge),Ge++):(o=A,0===We&&et(ae)),o!==A?(Je=r,i=ce(o),r=i):(Ge=r,r=A)):(Ge=r,r=A);else n=A;n!==A&&(Je=t,n=le(n));return t=n}())!==A?(Je=Ge,(Fe(n)?void 0:A)!==A?(Je=t,n=Me(n),t=n):(Ge=t,t=A)):(Ge=t,t=A);return t}())!==A&&(Je=t,n=ie(n)),(t=n)===A&&(t=Ge,(n=function(){var t,n,r,i,o;t=Ge,n=[],r=Ge,92===e.charCodeAt(Ge)?(i=oe,Ge++):(i=A,0===We&&et(se));i!==A?(e.length>Ge?(o=e.charAt(Ge),Ge++):(o=A,0===We&&et(ae)),o!==A?(Je=r,i=ce(o),r=i):(Ge=r,r=A)):(Ge=r,r=A);r===A&&(r=Ge,i=Ge,We++,o=It(),We--,o===A?i=void 0:(Ge=i,i=A),i!==A?(e.length>Ge?(o=e.charAt(Ge),Ge++):(o=A,0===We&&et(ae)),o!==A?(Je=r,i=ce(o),r=i):(Ge=r,r=A)):(Ge=r,r=A));if(r!==A)for(;r!==A;)n.push(r),r=Ge,92===e.charCodeAt(Ge)?(i=oe,Ge++):(i=A,0===We&&et(se)),i!==A?(e.length>Ge?(o=e.charAt(Ge),Ge++):(o=A,0===We&&et(ae)),o!==A?(Je=r,i=ce(o),r=i):(Ge=r,r=A)):(Ge=r,r=A),r===A&&(r=Ge,i=Ge,We++,o=It(),We--,o===A?i=void 0:(Ge=i,i=A),i!==A?(e.length>Ge?(o=e.charAt(Ge),Ge++):(o=A,0===We&&et(ae)),o!==A?(Je=r,i=ce(o),r=i):(Ge=r,r=A)):(Ge=r,r=A));else n=A;n!==A&&(Je=t,n=le(n));return t=n}())!==A&&(Je=t,n=ne(n)),t=n))),t}function pt(){var t,n,r,i;return t=Ge,e.substr(Ge,2)===fe?(n=fe,Ge+=2):(n=A,0===We&&et(Ce)),n!==A&&(r=rt())!==A?(41===e.charCodeAt(Ge)?(i=_,Ge++):(i=A,0===We&&et(F)),i!==A?(Je=t,t=n=de(r)):(Ge=t,t=A)):(Ge=t,t=A),t}function ft(){var t,n,r,i,o,s;return t=Ge,e.substr(Ge,2)===Ie?(n=Ie,Ge+=2):(n=A,0===We&&et(Ee)),n!==A&&(r=dt())!==A?(e.substr(Ge,2)===Be?(i=Be,Ge+=2):(i=A,0===We&&et(ye)),i!==A&&(o=function(){var e,t,n,r,i;for(e=Ge,t=[],n=Bt();n!==A;)t.push(n),n=Bt();if(t!==A){if(n=[],(r=ct())!==A)for(;r!==A;)n.push(r),r=ct();else n=A;if(n!==A){for(r=[],i=Bt();i!==A;)r.push(i),i=Bt();r!==A?(Je=e,e=t=K(n)):(Ge=e,e=A)}else Ge=e,e=A}else Ge=e,e=A;return e}())!==A?(125===e.charCodeAt(Ge)?(s=me,Ge++):(s=A,0===We&&et(Qe)),s!==A?(Je=t,t=n=we(r,o)):(Ge=t,t=A)):(Ge=t,t=A)):(Ge=t,t=A),t===A&&(t=Ge,e.substr(Ge,2)===Ie?(n=Ie,Ge+=2):(n=A,0===We&&et(Ee)),n!==A&&(r=dt())!==A?(e.substr(Ge,3)===ve?(i=ve,Ge+=3):(i=A,0===We&&et(be)),i!==A?(Je=t,t=n=De(r)):(Ge=t,t=A)):(Ge=t,t=A),t===A&&(t=Ge,e.substr(Ge,2)===Ie?(n=Ie,Ge+=2):(n=A,0===We&&et(Ee)),n!==A&&(r=dt())!==A?(125===e.charCodeAt(Ge)?(i=me,Ge++):(i=A,0===We&&et(Qe)),i!==A?(Je=t,t=n=Se(r)):(Ge=t,t=A)):(Ge=t,t=A),t===A&&(t=Ge,36===e.charCodeAt(Ge)?(n=ke,Ge++):(n=A,0===We&&et(_e)),n!==A&&(r=dt())!==A?(Je=t,t=n=Se(r)):(Ge=t,t=A)))),t}function Ct(){var t,n,r;if(t=Ge,n=[],Ne.test(e.charAt(Ge))?(r=e.charAt(Ge),Ge++):(r=A,0===We&&et(Re)),r!==A)for(;r!==A;)n.push(r),Ne.test(e.charAt(Ge))?(r=e.charAt(Ge),Ge++):(r=A,0===We&&et(Re));else n=A;return n!==A&&(Je=t,n=Ke()),t=n}function dt(){var t,n,r;if(t=Ge,n=[],xe.test(e.charAt(Ge))?(r=e.charAt(Ge),Ge++):(r=A,0===We&&et(Pe)),r!==A)for(;r!==A;)n.push(r),xe.test(e.charAt(Ge))?(r=e.charAt(Ge),Ge++):(r=A,0===We&&et(Pe));else n=A;return n!==A&&(Je=t,n=Ke()),t=n}function It(){var t;return Le.test(e.charAt(Ge))?(t=e.charAt(Ge),Ge++):(t=A,0===We&&et(Oe)),t}function Et(){var t;return Te.test(e.charAt(Ge))?(t=e.charAt(Ge),Ge++):(t=A,0===We&&et(Ue)),t}function Bt(){var t,n;if(t=[],Ye.test(e.charAt(Ge))?(n=e.charAt(Ge),Ge++):(n=A,0===We&&et(je)),n!==A)for(;n!==A;)t.push(n),Ye.test(e.charAt(Ge))?(n=e.charAt(Ge),Ge++):(n=A,0===We&&et(je));else t=A;return t}if((n=o())!==A&&Ge===e.length)return n;throw n!==A&&Ge0){for(t=1,r=1;tQ&&(Q=B,w=[]),w.push(e))}function F(e,t,n){return new r(r.buildMessage(e,t),e,t,n)}function M(){var t,n,r,i;return t=B,(n=N())!==A?(47===e.charCodeAt(B)?(r=s,B++):(r=A,0===v&&_(a)),r!==A&&(i=N())!==A?(y=t,t=n=c(n,i)):(B=t,t=A)):(B=t,t=A),t===A&&(t=B,(n=N())!==A&&(y=t,n=u(n)),t=n),t}function N(){var t,n,r,i;return t=B,(n=R())!==A?(64===e.charCodeAt(B)?(r=g,B++):(r=A,0===v&&_(l)),r!==A&&(i=function(){var t,n,r;t=B,n=[],I.test(e.charAt(B))?(r=e.charAt(B),B++):(r=A,0===v&&_(E));if(r!==A)for(;r!==A;)n.push(r),I.test(e.charAt(B))?(r=e.charAt(B),B++):(r=A,0===v&&_(E));else n=A;n!==A&&(y=t,n=f());return t=n}())!==A?(y=t,t=n=h(n,i)):(B=t,t=A)):(B=t,t=A),t===A&&(t=B,(n=R())!==A&&(y=t,n=p(n)),t=n),t}function R(){var t,n,r;return t=B,64===e.charCodeAt(B)?(n=g,B++):(n=A,0===v&&_(l)),n!==A&&K()!==A?(47===e.charCodeAt(B)?(r=s,B++):(r=A,0===v&&_(a)),r!==A&&K()!==A?(y=t,t=n=f()):(B=t,t=A)):(B=t,t=A),t===A&&(t=B,(n=K())!==A&&(y=t,n=f()),t=n),t}function K(){var t,n,r;if(t=B,n=[],C.test(e.charAt(B))?(r=e.charAt(B),B++):(r=A,0===v&&_(d)),r!==A)for(;r!==A;)n.push(r),C.test(e.charAt(B))?(r=e.charAt(B),B++):(r=A,0===v&&_(d));else n=A;return n!==A&&(y=t,n=f()),t=n}if((n=o())!==A&&B===e.length)return n;throw n!==A&&B'"%@` \t\r\n]).([ \t]*(?![,\][{}:# \t\r\n]).)*$/,o=["__metadata","version","resolution","dependencies","peerDependencies","dependenciesMeta","peerDependenciesMeta","binaries"];class s{constructor(e){this.data=e}}function a(e){return e.match(i)?e:JSON.stringify(e)}function c(e){try{return function e(t,n,r){if(null===t)return"null\n";if("number"==typeof t||"boolean"==typeof t)return`${t.toString()}\n`;if("string"==typeof t)return`${a(t)}\n`;if(Array.isArray(t)){const r=" ".repeat(n);return`\n${t.map(t=>`${r}- ${e(t,n+1,!1)}`).join("")}`}if("object"==typeof t&&t){let A,i;t instanceof s?(A=t.data,i=!1):(A=t,i=!0);const c=" ".repeat(n),u=Object.keys(A);i&&u.sort((e,t)=>{const n=o.indexOf(e),r=o.indexOf(t);return-1===n&&-1===r?et?1:0:-1!==n&&-1===r?-1:-1===n&&-1!==r?1:n-r});const g=u.filter(e=>void 0!==A[e]).map((t,i)=>{const o=A[t],s=a(t),u=e(o,n+1,!0),g=i>0||r?c:"";return u.startsWith("\n")?`${g}${s}:${u}`:`${g}${s}: ${u}`}).join(0===n?"\n":"")||"\n";return r?`\n${g}`:`${g}`}throw new Error(`Unsupported value type (${t})`)}(e,0,!1)}catch(e){throw e.location&&(e.message=e.message.replace(/(\.)?$/,` (line ${e.location.start.line}, column ${e.location.start.column})$1`)),e}}t.PreserveOrdering=s,t.stringifySyml=c,c.PreserveOrdering=s;const u=/^(#.*(\r?\n))*?#\s+yarn\s+lockfile\s+v1\r?\n/i;function g(e){if(u.test(e))return function(e){return e.endsWith("\n")||(e+="\n"),A.parse(e)}(e);let t=r.safeLoad(e,{schema:r.FAILSAFE_SCHEMA});if(null==t)return{};if("object"!=typeof t)throw new Error(`Expected an indexed object, got a ${typeof t} instead. Does your file follow Yaml's rules?`);if(Array.isArray(t))throw new Error("Expected an indexed object, got an array instead. Does your file follow Yaml's rules?");return t}t.parseSyml=function(e){return g(e)}},function(e,t,n){"use strict";var r=n(536);e.exports=r},function(e,t,n){"use strict";var r=n(537),A=n(556);function i(e){return function(){throw new Error("Function "+e+" is deprecated and cannot be used.")}}e.exports.Type=n(13),e.exports.Schema=n(69),e.exports.FAILSAFE_SCHEMA=n(183),e.exports.JSON_SCHEMA=n(279),e.exports.CORE_SCHEMA=n(278),e.exports.DEFAULT_SAFE_SCHEMA=n(92),e.exports.DEFAULT_FULL_SCHEMA=n(125),e.exports.load=r.load,e.exports.loadAll=r.loadAll,e.exports.safeLoad=r.safeLoad,e.exports.safeLoadAll=r.safeLoadAll,e.exports.dump=A.dump,e.exports.safeDump=A.safeDump,e.exports.YAMLException=n(91),e.exports.MINIMAL_SCHEMA=n(183),e.exports.SAFE_SCHEMA=n(92),e.exports.DEFAULT_SCHEMA=n(125),e.exports.scan=i("scan"),e.exports.parse=i("parse"),e.exports.compose=i("compose"),e.exports.addConstructor=i("addConstructor")},function(e,t,n){"use strict";var r=n(68),A=n(91),i=n(538),o=n(92),s=n(125),a=Object.prototype.hasOwnProperty,c=1,u=2,g=3,l=4,h=1,p=2,f=3,C=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,d=/[\x85\u2028\u2029]/,I=/[,\[\]\{\}]/,E=/^(?:!|!!|![a-z\-]+!)$/i,B=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function y(e){return 10===e||13===e}function m(e){return 9===e||32===e}function Q(e){return 9===e||32===e||10===e||13===e}function w(e){return 44===e||91===e||93===e||123===e||125===e}function v(e){var t;return 48<=e&&e<=57?e-48:97<=(t=32|e)&&t<=102?t-97+10:-1}function b(e){return 48===e?"\0":97===e?"":98===e?"\b":116===e?"\t":9===e?"\t":110===e?"\n":118===e?"\v":102===e?"\f":114===e?"\r":101===e?"":32===e?" ":34===e?'"':47===e?"/":92===e?"\\":78===e?"…":95===e?" ":76===e?"\u2028":80===e?"\u2029":""}function D(e){return e<=65535?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10),56320+(e-65536&1023))}for(var S=new Array(256),k=new Array(256),_=0;_<256;_++)S[_]=b(_)?1:0,k[_]=b(_);function F(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||s,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function M(e,t){return new A(t,new i(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function N(e,t){throw M(e,t)}function R(e,t){e.onWarning&&e.onWarning.call(null,M(e,t))}var K={YAML:function(e,t,n){var r,A,i;null!==e.version&&N(e,"duplication of %YAML directive"),1!==n.length&&N(e,"YAML directive accepts exactly one argument"),null===(r=/^([0-9]+)\.([0-9]+)$/.exec(n[0]))&&N(e,"ill-formed argument of the YAML directive"),A=parseInt(r[1],10),i=parseInt(r[2],10),1!==A&&N(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=i<2,1!==i&&2!==i&&R(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var r,A;2!==n.length&&N(e,"TAG directive accepts exactly two arguments"),r=n[0],A=n[1],E.test(r)||N(e,"ill-formed tag handle (first argument) of the TAG directive"),a.call(e.tagMap,r)&&N(e,'there is a previously declared suffix for "'+r+'" tag handle'),B.test(A)||N(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[r]=A}};function x(e,t,n,r){var A,i,o,s;if(t1&&(e.result+=r.repeat("\n",t-1))}function j(e,t){var n,r,A=e.tag,i=e.anchor,o=[],s=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=o),r=e.input.charCodeAt(e.position);0!==r&&45===r&&Q(e.input.charCodeAt(e.position+1));)if(s=!0,e.position++,T(e,!0,-1)&&e.lineIndent<=t)o.push(null),r=e.input.charCodeAt(e.position);else if(n=e.line,H(e,t,g,!1,!0),o.push(e.result),T(e,!0,-1),r=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==r)N(e,"bad indentation of a sequence entry");else if(e.lineIndentt?_=1:e.lineIndent===t?_=0:e.lineIndentt?_=1:e.lineIndent===t?_=0:e.lineIndentt)&&(H(e,t,l,!0,A)&&(d?f=e.result:C=e.result),d||(L(e,g,h,p,f,C,i,o),p=f=C=null),T(e,!0,-1),s=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==s)N(e,"bad indentation of a mapping entry");else if(e.lineIndent=0))break;0===i?N(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):u?N(e,"repeat of an indentation width identifier"):(g=t+i-1,u=!0)}if(m(o)){do{o=e.input.charCodeAt(++e.position)}while(m(o));if(35===o)do{o=e.input.charCodeAt(++e.position)}while(!y(o)&&0!==o)}for(;0!==o;){for(O(e),e.lineIndent=0,o=e.input.charCodeAt(e.position);(!u||e.lineIndentg&&(g=e.lineIndent),y(o))l++;else{if(e.lineIndent0){for(A=o,i=0;A>0;A--)(o=v(s=e.input.charCodeAt(++e.position)))>=0?i=(i<<4)+o:N(e,"expected hexadecimal character");e.result+=D(i),e.position++}else N(e,"unknown escape sequence");n=r=e.position}else y(s)?(x(e,n,r,!0),Y(e,T(e,!1,t)),n=r=e.position):e.position===e.lineStart&&U(e)?N(e,"unexpected end of the document within a double quoted scalar"):(e.position++,r=e.position)}N(e,"unexpected end of the stream within a double quoted scalar")}(e,B)?M=!0:!function(e){var t,n,r;if(42!==(r=e.input.charCodeAt(e.position)))return!1;for(r=e.input.charCodeAt(++e.position),t=e.position;0!==r&&!Q(r)&&!w(r);)r=e.input.charCodeAt(++e.position);return e.position===t&&N(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),e.anchorMap.hasOwnProperty(n)||N(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],T(e,!0,-1),!0}(e)?function(e,t,n){var r,A,i,o,s,a,c,u,g=e.kind,l=e.result;if(Q(u=e.input.charCodeAt(e.position))||w(u)||35===u||38===u||42===u||33===u||124===u||62===u||39===u||34===u||37===u||64===u||96===u)return!1;if((63===u||45===u)&&(Q(r=e.input.charCodeAt(e.position+1))||n&&w(r)))return!1;for(e.kind="scalar",e.result="",A=i=e.position,o=!1;0!==u;){if(58===u){if(Q(r=e.input.charCodeAt(e.position+1))||n&&w(r))break}else if(35===u){if(Q(e.input.charCodeAt(e.position-1)))break}else{if(e.position===e.lineStart&&U(e)||n&&w(u))break;if(y(u)){if(s=e.line,a=e.lineStart,c=e.lineIndent,T(e,!1,-1),e.lineIndent>=t){o=!0,u=e.input.charCodeAt(e.position);continue}e.position=i,e.line=s,e.lineStart=a,e.lineIndent=c;break}}o&&(x(e,A,i,!1),Y(e,e.line-s),A=i=e.position,o=!1),m(u)||(i=e.position+1),u=e.input.charCodeAt(++e.position)}return x(e,A,i,!1),!!e.result||(e.kind=g,e.result=l,!1)}(e,B,c===n)&&(M=!0,null===e.tag&&(e.tag="?")):(M=!0,null===e.tag&&null===e.anchor||N(e,"alias node should not have any properties")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===_&&(M=C&&j(e,b))),null!==e.tag&&"!"!==e.tag)if("?"===e.tag){for(d=0,I=e.implicitTypes.length;d tag; it should be "'+E.kind+'", not "'+e.kind+'"'),E.resolve(e.result)?(e.result=E.construct(e.result),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):N(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):N(e,"unknown tag !<"+e.tag+">");return null!==e.listener&&e.listener("close",e),null!==e.tag||null!==e.anchor||M}function q(e){var t,n,r,A,i=e.position,o=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};0!==(A=e.input.charCodeAt(e.position))&&(T(e,!0,-1),A=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==A));){for(o=!0,A=e.input.charCodeAt(++e.position),t=e.position;0!==A&&!Q(A);)A=e.input.charCodeAt(++e.position);for(r=[],(n=e.input.slice(t,e.position)).length<1&&N(e,"directive name must not be less than one character in length");0!==A;){for(;m(A);)A=e.input.charCodeAt(++e.position);if(35===A){do{A=e.input.charCodeAt(++e.position)}while(0!==A&&!y(A));break}if(y(A))break;for(t=e.position;0!==A&&!Q(A);)A=e.input.charCodeAt(++e.position);r.push(e.input.slice(t,e.position))}0!==A&&O(e),a.call(K,n)?K[n](e,n,r):R(e,'unknown document directive "'+n+'"')}T(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,T(e,!0,-1)):o&&N(e,"directives end mark is expected"),H(e,e.lineIndent-1,l,!1,!0),T(e,!0,-1),e.checkLineBreaks&&d.test(e.input.slice(i,e.position))&&R(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&U(e)?46===e.input.charCodeAt(e.position)&&(e.position+=3,T(e,!0,-1)):e.position0&&-1==="\0\r\n…\u2028\u2029".indexOf(this.buffer.charAt(A-1));)if(A-=1,this.position-A>t/2-1){n=" ... ",A+=5;break}for(i="",o=this.position;ot/2-1){i=" ... ",o-=5;break}return s=this.buffer.slice(A,o),r.repeat(" ",e)+n+s+i+"\n"+r.repeat(" ",e+this.position-A+n.length)+"^"},A.prototype.toString=function(e){var t,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet())&&(n+=":\n"+t),n},e.exports=A},function(e,t,n){"use strict";var r=n(13);e.exports=new r("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return null!==e?e:""}})},function(e,t,n){"use strict";var r=n(13);e.exports=new r("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return null!==e?e:[]}})},function(e,t,n){"use strict";var r=n(13);e.exports=new r("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}})},function(e,t,n){"use strict";var r=n(13);e.exports=new r("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(e){if(null===e)return!0;var t=e.length;return 1===t&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)},construct:function(){return null},predicate:function(e){return null===e},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},function(e,t,n){"use strict";var r=n(13);e.exports=new r("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t=e.length;return 4===t&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e)},construct:function(e){return"true"===e||"True"===e||"TRUE"===e},predicate:function(e){return"[object Boolean]"===Object.prototype.toString.call(e)},represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},function(e,t,n){"use strict";var r=n(68),A=n(13);function i(e){return 48<=e&&e<=55}function o(e){return 48<=e&&e<=57}e.exports=new A("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,r=e.length,A=0,s=!1;if(!r)return!1;if("-"!==(t=e[A])&&"+"!==t||(t=e[++A]),"0"===t){if(A+1===r)return!0;if("b"===(t=e[++A])){for(A++;A=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0"+e.toString(8):"-0"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},function(e,t,n){"use strict";var r=n(68),A=n(13),i=new RegExp("^(?:[-+]?(?:0|[1-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var o=/^[-+]?[0-9]+e/;e.exports=new A("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(e){return null!==e&&!(!i.test(e)||"_"===e[e.length-1])},construct:function(e){var t,n,r,A;return n="-"===(t=e.replace(/_/g,"").toLowerCase())[0]?-1:1,A=[],"+-".indexOf(t[0])>=0&&(t=t.slice(1)),".inf"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?NaN:t.indexOf(":")>=0?(t.split(":").forEach((function(e){A.unshift(parseFloat(e,10))})),t=0,r=1,A.forEach((function(e){t+=e*r,r*=60})),n*t):n*parseFloat(t,10)},predicate:function(e){return"[object Number]"===Object.prototype.toString.call(e)&&(e%1!=0||r.isNegativeZero(e))},represent:function(e,t){var n;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(r.isNegativeZero(e))return"-0.0";return n=e.toString(10),o.test(n)?n.replace("e",".e"):n},defaultStyle:"lowercase"})},function(e,t,n){"use strict";var r=n(13),A=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),i=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");e.exports=new r("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(e){return null!==e&&(null!==A.exec(e)||null!==i.exec(e))},construct:function(e){var t,n,r,o,s,a,c,u,g=0,l=null;if(null===(t=A.exec(e))&&(t=i.exec(e)),null===t)throw new Error("Date resolve error");if(n=+t[1],r=+t[2]-1,o=+t[3],!t[4])return new Date(Date.UTC(n,r,o));if(s=+t[4],a=+t[5],c=+t[6],t[7]){for(g=t[7].slice(0,3);g.length<3;)g+="0";g=+g}return t[9]&&(l=6e4*(60*+t[10]+ +(t[11]||0)),"-"===t[9]&&(l=-l)),u=new Date(Date.UTC(n,r,o,s,a,c,g)),l&&u.setTime(u.getTime()-l),u},instanceOf:Date,represent:function(e){return e.toISOString()}})},function(e,t,n){"use strict";var r=n(13);e.exports=new r("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(e){return"<<"===e||null===e}})},function(e,t,n){"use strict";var r;try{r=n(30).Buffer}catch(e){}var A=n(13),i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";e.exports=new A("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(e){if(null===e)return!1;var t,n,r=0,A=e.length,o=i;for(n=0;n64)){if(t<0)return!1;r+=6}return r%8==0},construct:function(e){var t,n,A=e.replace(/[\r\n=]/g,""),o=A.length,s=i,a=0,c=[];for(t=0;t>16&255),c.push(a>>8&255),c.push(255&a)),a=a<<6|s.indexOf(A.charAt(t));return 0===(n=o%4*6)?(c.push(a>>16&255),c.push(a>>8&255),c.push(255&a)):18===n?(c.push(a>>10&255),c.push(a>>2&255)):12===n&&c.push(a>>4&255),r?r.from?r.from(c):new r(c):c},predicate:function(e){return r&&r.isBuffer(e)},represent:function(e){var t,n,r="",A=0,o=e.length,s=i;for(t=0;t>18&63],r+=s[A>>12&63],r+=s[A>>6&63],r+=s[63&A]),A=(A<<8)+e[t];return 0===(n=o%3)?(r+=s[A>>18&63],r+=s[A>>12&63],r+=s[A>>6&63],r+=s[63&A]):2===n?(r+=s[A>>10&63],r+=s[A>>4&63],r+=s[A<<2&63],r+=s[64]):1===n&&(r+=s[A>>2&63],r+=s[A<<4&63],r+=s[64],r+=s[64]),r}})},function(e,t,n){"use strict";var r=n(13),A=Object.prototype.hasOwnProperty,i=Object.prototype.toString;e.exports=new r("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(e){if(null===e)return!0;var t,n,r,o,s,a=[],c=e;for(t=0,n=c.length;t3)return!1;if("/"!==t[t.length-r.length-1])return!1}return!0},construct:function(e){var t=e,n=/\/([gim]*)$/.exec(e),r="";return"/"===t[0]&&(n&&(r=n[1]),t=t.slice(1,t.length-r.length-1)),new RegExp(t,r)},predicate:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},represent:function(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}})},function(e,t,n){"use strict";var r;try{r=n(555)}catch(e){"undefined"!=typeof window&&(r=window.esprima)}var A=n(13);e.exports=new A("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:function(e){if(null===e)return!1;try{var t="("+e+")",n=r.parse(t,{range:!0});return"Program"===n.type&&1===n.body.length&&"ExpressionStatement"===n.body[0].type&&("ArrowFunctionExpression"===n.body[0].expression.type||"FunctionExpression"===n.body[0].expression.type)}catch(e){return!1}},construct:function(e){var t,n="("+e+")",A=r.parse(n,{range:!0}),i=[];if("Program"!==A.type||1!==A.body.length||"ExpressionStatement"!==A.body[0].type||"ArrowFunctionExpression"!==A.body[0].expression.type&&"FunctionExpression"!==A.body[0].expression.type)throw new Error("Failed to resolve function");return A.body[0].expression.params.forEach((function(e){i.push(e.name)})),t=A.body[0].expression.body.range,"BlockStatement"===A.body[0].expression.body.type?new Function(i,n.slice(t[0]+1,t[1]-1)):new Function(i,"return "+n.slice(t[0],t[1]))},predicate:function(e){return"[object Function]"===Object.prototype.toString.call(e)},represent:function(e){return e.toString()}})},function(e,t,n){var r;r=function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var A=t[r]={exports:{},id:r,loaded:!1};return e[r].call(A.exports,A,A.exports,n),A.loaded=!0,A.exports}return n.m=e,n.c=t,n.p="",n(0)}([function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1),A=n(3),i=n(8),o=n(15);function s(e,t,n){var o=null,s=function(e,t){n&&n(e,t),o&&o.visit(e,t)},a="function"==typeof n?s:null,c=!1;if(t){c="boolean"==typeof t.comment&&t.comment;var u="boolean"==typeof t.attachComment&&t.attachComment;(c||u)&&((o=new r.CommentHandler).attach=u,t.comment=!0,a=s)}var g,l=!1;t&&"string"==typeof t.sourceType&&(l="module"===t.sourceType),g=t&&"boolean"==typeof t.jsx&&t.jsx?new A.JSXParser(e,t,a):new i.Parser(e,t,a);var h=l?g.parseModule():g.parseScript();return c&&o&&(h.comments=o.comments),g.config.tokens&&(h.tokens=g.tokens),g.config.tolerant&&(h.errors=g.errorHandler.errors),h}t.parse=s,t.parseModule=function(e,t,n){var r=t||{};return r.sourceType="module",s(e,r,n)},t.parseScript=function(e,t,n){var r=t||{};return r.sourceType="script",s(e,r,n)},t.tokenize=function(e,t,n){var r,A=new o.Tokenizer(e,t);r=[];try{for(;;){var i=A.getNextToken();if(!i)break;n&&(i=n(i)),r.push(i)}}catch(e){A.errorHandler.tolerate(e)}return A.errorHandler.tolerant&&(r.errors=A.errors()),r};var a=n(2);t.Syntax=a.Syntax,t.version="4.0.1"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(2),A=function(){function e(){this.attach=!1,this.comments=[],this.stack=[],this.leading=[],this.trailing=[]}return e.prototype.insertInnerComments=function(e,t){if(e.type===r.Syntax.BlockStatement&&0===e.body.length){for(var n=[],A=this.leading.length-1;A>=0;--A){var i=this.leading[A];t.end.offset>=i.start&&(n.unshift(i.comment),this.leading.splice(A,1),this.trailing.splice(A,1))}n.length&&(e.innerComments=n)}},e.prototype.findTrailingComments=function(e){var t=[];if(this.trailing.length>0){for(var n=this.trailing.length-1;n>=0;--n){var r=this.trailing[n];r.start>=e.end.offset&&t.unshift(r.comment)}return this.trailing.length=0,t}var A=this.stack[this.stack.length-1];if(A&&A.node.trailingComments){var i=A.node.trailingComments[0];i&&i.range[0]>=e.end.offset&&(t=A.node.trailingComments,delete A.node.trailingComments)}return t},e.prototype.findLeadingComments=function(e){for(var t,n=[];this.stack.length>0&&((i=this.stack[this.stack.length-1])&&i.start>=e.start.offset);)t=i.node,this.stack.pop();if(t){for(var r=(t.leadingComments?t.leadingComments.length:0)-1;r>=0;--r){var A=t.leadingComments[r];A.range[1]<=e.start.offset&&(n.unshift(A),t.leadingComments.splice(r,1))}return t.leadingComments&&0===t.leadingComments.length&&delete t.leadingComments,n}for(r=this.leading.length-1;r>=0;--r){var i;(i=this.leading[r]).start<=e.start.offset&&(n.unshift(i.comment),this.leading.splice(r,1))}return n},e.prototype.visitNode=function(e,t){if(!(e.type===r.Syntax.Program&&e.body.length>0)){this.insertInnerComments(e,t);var n=this.findTrailingComments(t),A=this.findLeadingComments(t);A.length>0&&(e.leadingComments=A),n.length>0&&(e.trailingComments=n),this.stack.push({node:e,start:t.start.offset})}},e.prototype.visitComment=function(e,t){var n="L"===e.type[0]?"Line":"Block",r={type:n,value:e.value};if(e.range&&(r.range=e.range),e.loc&&(r.loc=e.loc),this.comments.push(r),this.attach){var A={comment:{type:n,value:e.value,range:[t.start.offset,t.end.offset]},start:t.start.offset};e.loc&&(A.comment.loc=e.loc),e.type=n,this.leading.push(A),this.trailing.push(A)}},e.prototype.visit=function(e,t){"LineComment"===e.type?this.visitComment(e,t):"BlockComment"===e.type?this.visitComment(e,t):this.attach&&this.visitNode(e,t)},e}();t.CommentHandler=A},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Syntax={AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AwaitExpression:"AwaitExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExportAllDeclaration:"ExportAllDeclaration",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportSpecifier:"ExportSpecifier",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForOfStatement:"ForOfStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",ImportDeclaration:"ImportDeclaration",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier",ImportSpecifier:"ImportSpecifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",Program:"Program",Property:"Property",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchCase:"SwitchCase",SwitchStatement:"SwitchStatement",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"}},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(4),o=n(5),s=n(6),a=n(7),c=n(8),u=n(13),g=n(14);function l(e){var t;switch(e.type){case s.JSXSyntax.JSXIdentifier:t=e.name;break;case s.JSXSyntax.JSXNamespacedName:var n=e;t=l(n.namespace)+":"+l(n.name);break;case s.JSXSyntax.JSXMemberExpression:var r=e;t=l(r.object)+"."+l(r.property)}return t}u.TokenName[100]="JSXIdentifier",u.TokenName[101]="JSXText";var h=function(e){function t(t,n,r){return e.call(this,t,n,r)||this}return A(t,e),t.prototype.parsePrimaryExpression=function(){return this.match("<")?this.parseJSXRoot():e.prototype.parsePrimaryExpression.call(this)},t.prototype.startJSX=function(){this.scanner.index=this.startMarker.index,this.scanner.lineNumber=this.startMarker.line,this.scanner.lineStart=this.startMarker.index-this.startMarker.column},t.prototype.finishJSX=function(){this.nextToken()},t.prototype.reenterJSX=function(){this.startJSX(),this.expectJSX("}"),this.config.tokens&&this.tokens.pop()},t.prototype.createJSXNode=function(){return this.collectComments(),{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},t.prototype.createJSXChildNode=function(){return{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},t.prototype.scanXHTMLEntity=function(e){for(var t="&",n=!0,r=!1,A=!1,o=!1;!this.scanner.eof()&&n&&!r;){var s=this.scanner.source[this.scanner.index];if(s===e)break;if(r=";"===s,t+=s,++this.scanner.index,!r)switch(t.length){case 2:A="#"===s;break;case 3:A&&(n=(o="x"===s)||i.Character.isDecimalDigit(s.charCodeAt(0)),A=A&&!o);break;default:n=(n=n&&!(A&&!i.Character.isDecimalDigit(s.charCodeAt(0))))&&!(o&&!i.Character.isHexDigit(s.charCodeAt(0)))}}if(n&&r&&t.length>2){var a=t.substr(1,t.length-2);A&&a.length>1?t=String.fromCharCode(parseInt(a.substr(1),10)):o&&a.length>2?t=String.fromCharCode(parseInt("0"+a.substr(1),16)):A||o||!g.XHTMLEntities[a]||(t=g.XHTMLEntities[a])}return t},t.prototype.lexJSX=function(){var e=this.scanner.source.charCodeAt(this.scanner.index);if(60===e||62===e||47===e||58===e||61===e||123===e||125===e)return{type:7,value:s=this.scanner.source[this.scanner.index++],lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index-1,end:this.scanner.index};if(34===e||39===e){for(var t=this.scanner.index,n=this.scanner.source[this.scanner.index++],r="";!this.scanner.eof()&&(a=this.scanner.source[this.scanner.index++])!==n;)r+="&"===a?this.scanXHTMLEntity(n):a;return{type:8,value:r,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}if(46===e){var A=this.scanner.source.charCodeAt(this.scanner.index+1),o=this.scanner.source.charCodeAt(this.scanner.index+2),s=46===A&&46===o?"...":".";return t=this.scanner.index,this.scanner.index+=s.length,{type:7,value:s,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}if(96===e)return{type:10,value:"",lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index,end:this.scanner.index};if(i.Character.isIdentifierStart(e)&&92!==e){for(t=this.scanner.index,++this.scanner.index;!this.scanner.eof();){var a=this.scanner.source.charCodeAt(this.scanner.index);if(i.Character.isIdentifierPart(a)&&92!==a)++this.scanner.index;else{if(45!==a)break;++this.scanner.index}}return{type:100,value:this.scanner.source.slice(t,this.scanner.index),lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:t,end:this.scanner.index}}return this.scanner.lex()},t.prototype.nextJSXToken=function(){this.collectComments(),this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;var e=this.lexJSX();return this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.config.tokens&&this.tokens.push(this.convertToken(e)),e},t.prototype.nextJSXText=function(){this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;for(var e=this.scanner.index,t="";!this.scanner.eof();){var n=this.scanner.source[this.scanner.index];if("{"===n||"<"===n)break;++this.scanner.index,t+=n,i.Character.isLineTerminator(n.charCodeAt(0))&&(++this.scanner.lineNumber,"\r"===n&&"\n"===this.scanner.source[this.scanner.index]&&++this.scanner.index,this.scanner.lineStart=this.scanner.index)}this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart;var r={type:101,value:t,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:e,end:this.scanner.index};return t.length>0&&this.config.tokens&&this.tokens.push(this.convertToken(r)),r},t.prototype.peekJSXToken=function(){var e=this.scanner.saveState();this.scanner.scanComments();var t=this.lexJSX();return this.scanner.restoreState(e),t},t.prototype.expectJSX=function(e){var t=this.nextJSXToken();7===t.type&&t.value===e||this.throwUnexpectedToken(t)},t.prototype.matchJSX=function(e){var t=this.peekJSXToken();return 7===t.type&&t.value===e},t.prototype.parseJSXIdentifier=function(){var e=this.createJSXNode(),t=this.nextJSXToken();return 100!==t.type&&this.throwUnexpectedToken(t),this.finalize(e,new o.JSXIdentifier(t.value))},t.prototype.parseJSXElementName=function(){var e=this.createJSXNode(),t=this.parseJSXIdentifier();if(this.matchJSX(":")){var n=t;this.expectJSX(":");var r=this.parseJSXIdentifier();t=this.finalize(e,new o.JSXNamespacedName(n,r))}else if(this.matchJSX("."))for(;this.matchJSX(".");){var A=t;this.expectJSX(".");var i=this.parseJSXIdentifier();t=this.finalize(e,new o.JSXMemberExpression(A,i))}return t},t.prototype.parseJSXAttributeName=function(){var e,t=this.createJSXNode(),n=this.parseJSXIdentifier();if(this.matchJSX(":")){var r=n;this.expectJSX(":");var A=this.parseJSXIdentifier();e=this.finalize(t,new o.JSXNamespacedName(r,A))}else e=n;return e},t.prototype.parseJSXStringLiteralAttribute=function(){var e=this.createJSXNode(),t=this.nextJSXToken();8!==t.type&&this.throwUnexpectedToken(t);var n=this.getTokenRaw(t);return this.finalize(e,new a.Literal(t.value,n))},t.prototype.parseJSXExpressionAttribute=function(){var e=this.createJSXNode();this.expectJSX("{"),this.finishJSX(),this.match("}")&&this.tolerateError("JSX attributes must only be assigned a non-empty expression");var t=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(e,new o.JSXExpressionContainer(t))},t.prototype.parseJSXAttributeValue=function(){return this.matchJSX("{")?this.parseJSXExpressionAttribute():this.matchJSX("<")?this.parseJSXElement():this.parseJSXStringLiteralAttribute()},t.prototype.parseJSXNameValueAttribute=function(){var e=this.createJSXNode(),t=this.parseJSXAttributeName(),n=null;return this.matchJSX("=")&&(this.expectJSX("="),n=this.parseJSXAttributeValue()),this.finalize(e,new o.JSXAttribute(t,n))},t.prototype.parseJSXSpreadAttribute=function(){var e=this.createJSXNode();this.expectJSX("{"),this.expectJSX("..."),this.finishJSX();var t=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(e,new o.JSXSpreadAttribute(t))},t.prototype.parseJSXAttributes=function(){for(var e=[];!this.matchJSX("/")&&!this.matchJSX(">");){var t=this.matchJSX("{")?this.parseJSXSpreadAttribute():this.parseJSXNameValueAttribute();e.push(t)}return e},t.prototype.parseJSXOpeningElement=function(){var e=this.createJSXNode();this.expectJSX("<");var t=this.parseJSXElementName(),n=this.parseJSXAttributes(),r=this.matchJSX("/");return r&&this.expectJSX("/"),this.expectJSX(">"),this.finalize(e,new o.JSXOpeningElement(t,r,n))},t.prototype.parseJSXBoundaryElement=function(){var e=this.createJSXNode();if(this.expectJSX("<"),this.matchJSX("/")){this.expectJSX("/");var t=this.parseJSXElementName();return this.expectJSX(">"),this.finalize(e,new o.JSXClosingElement(t))}var n=this.parseJSXElementName(),r=this.parseJSXAttributes(),A=this.matchJSX("/");return A&&this.expectJSX("/"),this.expectJSX(">"),this.finalize(e,new o.JSXOpeningElement(n,A,r))},t.prototype.parseJSXEmptyExpression=function(){var e=this.createJSXChildNode();return this.collectComments(),this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.finalize(e,new o.JSXEmptyExpression)},t.prototype.parseJSXExpressionContainer=function(){var e,t=this.createJSXNode();return this.expectJSX("{"),this.matchJSX("}")?(e=this.parseJSXEmptyExpression(),this.expectJSX("}")):(this.finishJSX(),e=this.parseAssignmentExpression(),this.reenterJSX()),this.finalize(t,new o.JSXExpressionContainer(e))},t.prototype.parseJSXChildren=function(){for(var e=[];!this.scanner.eof();){var t=this.createJSXChildNode(),n=this.nextJSXText();if(n.start0))break;i=this.finalize(e.node,new o.JSXElement(e.opening,e.children,e.closing)),(e=t[t.length-1]).children.push(i),t.pop()}}return e},t.prototype.parseJSXElement=function(){var e=this.createJSXNode(),t=this.parseJSXOpeningElement(),n=[],r=null;if(!t.selfClosing){var A=this.parseComplexJSXElement({node:e,opening:t,closing:r,children:n});n=A.children,r=A.closing}return this.finalize(e,new o.JSXElement(t,n,r))},t.prototype.parseJSXRoot=function(){this.config.tokens&&this.tokens.pop(),this.startJSX();var e=this.parseJSXElement();return this.finishJSX(),e},t.prototype.isStartOfExpression=function(){return e.prototype.isStartOfExpression.call(this)||this.match("<")},t}(c.Parser);t.JSXParser=h},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\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-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\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\u0AF9\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-\u0C39\u0C3D\u0C58-\u0C5A\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\u0D5F-\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-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\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\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\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\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\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]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\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\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\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\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/};t.Character={fromCodePoint:function(e){return e<65536?String.fromCharCode(e):String.fromCharCode(55296+(e-65536>>10))+String.fromCharCode(56320+(e-65536&1023))},isWhiteSpace:function(e){return 32===e||9===e||11===e||12===e||160===e||e>=5760&&[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(e)>=0},isLineTerminator:function(e){return 10===e||13===e||8232===e||8233===e},isIdentifierStart:function(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||92===e||e>=128&&n.NonAsciiIdentifierStart.test(t.Character.fromCodePoint(e))},isIdentifierPart:function(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||92===e||e>=128&&n.NonAsciiIdentifierPart.test(t.Character.fromCodePoint(e))},isDecimalDigit:function(e){return e>=48&&e<=57},isHexDigit:function(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102},isOctalDigit:function(e){return e>=48&&e<=55}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(6),A=function(e){this.type=r.JSXSyntax.JSXClosingElement,this.name=e};t.JSXClosingElement=A;var i=function(e,t,n){this.type=r.JSXSyntax.JSXElement,this.openingElement=e,this.children=t,this.closingElement=n};t.JSXElement=i;var o=function(){this.type=r.JSXSyntax.JSXEmptyExpression};t.JSXEmptyExpression=o;var s=function(e){this.type=r.JSXSyntax.JSXExpressionContainer,this.expression=e};t.JSXExpressionContainer=s;var a=function(e){this.type=r.JSXSyntax.JSXIdentifier,this.name=e};t.JSXIdentifier=a;var c=function(e,t){this.type=r.JSXSyntax.JSXMemberExpression,this.object=e,this.property=t};t.JSXMemberExpression=c;var u=function(e,t){this.type=r.JSXSyntax.JSXAttribute,this.name=e,this.value=t};t.JSXAttribute=u;var g=function(e,t){this.type=r.JSXSyntax.JSXNamespacedName,this.namespace=e,this.name=t};t.JSXNamespacedName=g;var l=function(e,t,n){this.type=r.JSXSyntax.JSXOpeningElement,this.name=e,this.selfClosing=t,this.attributes=n};t.JSXOpeningElement=l;var h=function(e){this.type=r.JSXSyntax.JSXSpreadAttribute,this.argument=e};t.JSXSpreadAttribute=h;var p=function(e,t){this.type=r.JSXSyntax.JSXText,this.value=e,this.raw=t};t.JSXText=p},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JSXSyntax={JSXAttribute:"JSXAttribute",JSXClosingElement:"JSXClosingElement",JSXElement:"JSXElement",JSXEmptyExpression:"JSXEmptyExpression",JSXExpressionContainer:"JSXExpressionContainer",JSXIdentifier:"JSXIdentifier",JSXMemberExpression:"JSXMemberExpression",JSXNamespacedName:"JSXNamespacedName",JSXOpeningElement:"JSXOpeningElement",JSXSpreadAttribute:"JSXSpreadAttribute",JSXText:"JSXText"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(2),A=function(e){this.type=r.Syntax.ArrayExpression,this.elements=e};t.ArrayExpression=A;var i=function(e){this.type=r.Syntax.ArrayPattern,this.elements=e};t.ArrayPattern=i;var o=function(e,t,n){this.type=r.Syntax.ArrowFunctionExpression,this.id=null,this.params=e,this.body=t,this.generator=!1,this.expression=n,this.async=!1};t.ArrowFunctionExpression=o;var s=function(e,t,n){this.type=r.Syntax.AssignmentExpression,this.operator=e,this.left=t,this.right=n};t.AssignmentExpression=s;var a=function(e,t){this.type=r.Syntax.AssignmentPattern,this.left=e,this.right=t};t.AssignmentPattern=a;var c=function(e,t,n){this.type=r.Syntax.ArrowFunctionExpression,this.id=null,this.params=e,this.body=t,this.generator=!1,this.expression=n,this.async=!0};t.AsyncArrowFunctionExpression=c;var u=function(e,t,n){this.type=r.Syntax.FunctionDeclaration,this.id=e,this.params=t,this.body=n,this.generator=!1,this.expression=!1,this.async=!0};t.AsyncFunctionDeclaration=u;var g=function(e,t,n){this.type=r.Syntax.FunctionExpression,this.id=e,this.params=t,this.body=n,this.generator=!1,this.expression=!1,this.async=!0};t.AsyncFunctionExpression=g;var l=function(e){this.type=r.Syntax.AwaitExpression,this.argument=e};t.AwaitExpression=l;var h=function(e,t,n){var A="||"===e||"&&"===e;this.type=A?r.Syntax.LogicalExpression:r.Syntax.BinaryExpression,this.operator=e,this.left=t,this.right=n};t.BinaryExpression=h;var p=function(e){this.type=r.Syntax.BlockStatement,this.body=e};t.BlockStatement=p;var f=function(e){this.type=r.Syntax.BreakStatement,this.label=e};t.BreakStatement=f;var C=function(e,t){this.type=r.Syntax.CallExpression,this.callee=e,this.arguments=t};t.CallExpression=C;var d=function(e,t){this.type=r.Syntax.CatchClause,this.param=e,this.body=t};t.CatchClause=d;var I=function(e){this.type=r.Syntax.ClassBody,this.body=e};t.ClassBody=I;var E=function(e,t,n){this.type=r.Syntax.ClassDeclaration,this.id=e,this.superClass=t,this.body=n};t.ClassDeclaration=E;var B=function(e,t,n){this.type=r.Syntax.ClassExpression,this.id=e,this.superClass=t,this.body=n};t.ClassExpression=B;var y=function(e,t){this.type=r.Syntax.MemberExpression,this.computed=!0,this.object=e,this.property=t};t.ComputedMemberExpression=y;var m=function(e,t,n){this.type=r.Syntax.ConditionalExpression,this.test=e,this.consequent=t,this.alternate=n};t.ConditionalExpression=m;var Q=function(e){this.type=r.Syntax.ContinueStatement,this.label=e};t.ContinueStatement=Q;var w=function(){this.type=r.Syntax.DebuggerStatement};t.DebuggerStatement=w;var v=function(e,t){this.type=r.Syntax.ExpressionStatement,this.expression=e,this.directive=t};t.Directive=v;var b=function(e,t){this.type=r.Syntax.DoWhileStatement,this.body=e,this.test=t};t.DoWhileStatement=b;var D=function(){this.type=r.Syntax.EmptyStatement};t.EmptyStatement=D;var S=function(e){this.type=r.Syntax.ExportAllDeclaration,this.source=e};t.ExportAllDeclaration=S;var k=function(e){this.type=r.Syntax.ExportDefaultDeclaration,this.declaration=e};t.ExportDefaultDeclaration=k;var _=function(e,t,n){this.type=r.Syntax.ExportNamedDeclaration,this.declaration=e,this.specifiers=t,this.source=n};t.ExportNamedDeclaration=_;var F=function(e,t){this.type=r.Syntax.ExportSpecifier,this.exported=t,this.local=e};t.ExportSpecifier=F;var M=function(e){this.type=r.Syntax.ExpressionStatement,this.expression=e};t.ExpressionStatement=M;var N=function(e,t,n){this.type=r.Syntax.ForInStatement,this.left=e,this.right=t,this.body=n,this.each=!1};t.ForInStatement=N;var R=function(e,t,n){this.type=r.Syntax.ForOfStatement,this.left=e,this.right=t,this.body=n};t.ForOfStatement=R;var K=function(e,t,n,A){this.type=r.Syntax.ForStatement,this.init=e,this.test=t,this.update=n,this.body=A};t.ForStatement=K;var x=function(e,t,n,A){this.type=r.Syntax.FunctionDeclaration,this.id=e,this.params=t,this.body=n,this.generator=A,this.expression=!1,this.async=!1};t.FunctionDeclaration=x;var P=function(e,t,n,A){this.type=r.Syntax.FunctionExpression,this.id=e,this.params=t,this.body=n,this.generator=A,this.expression=!1,this.async=!1};t.FunctionExpression=P;var L=function(e){this.type=r.Syntax.Identifier,this.name=e};t.Identifier=L;var O=function(e,t,n){this.type=r.Syntax.IfStatement,this.test=e,this.consequent=t,this.alternate=n};t.IfStatement=O;var T=function(e,t){this.type=r.Syntax.ImportDeclaration,this.specifiers=e,this.source=t};t.ImportDeclaration=T;var U=function(e){this.type=r.Syntax.ImportDefaultSpecifier,this.local=e};t.ImportDefaultSpecifier=U;var Y=function(e){this.type=r.Syntax.ImportNamespaceSpecifier,this.local=e};t.ImportNamespaceSpecifier=Y;var j=function(e,t){this.type=r.Syntax.ImportSpecifier,this.local=e,this.imported=t};t.ImportSpecifier=j;var G=function(e,t){this.type=r.Syntax.LabeledStatement,this.label=e,this.body=t};t.LabeledStatement=G;var J=function(e,t){this.type=r.Syntax.Literal,this.value=e,this.raw=t};t.Literal=J;var H=function(e,t){this.type=r.Syntax.MetaProperty,this.meta=e,this.property=t};t.MetaProperty=H;var q=function(e,t,n,A,i){this.type=r.Syntax.MethodDefinition,this.key=e,this.computed=t,this.value=n,this.kind=A,this.static=i};t.MethodDefinition=q;var z=function(e){this.type=r.Syntax.Program,this.body=e,this.sourceType="module"};t.Module=z;var W=function(e,t){this.type=r.Syntax.NewExpression,this.callee=e,this.arguments=t};t.NewExpression=W;var X=function(e){this.type=r.Syntax.ObjectExpression,this.properties=e};t.ObjectExpression=X;var V=function(e){this.type=r.Syntax.ObjectPattern,this.properties=e};t.ObjectPattern=V;var $=function(e,t,n,A,i,o){this.type=r.Syntax.Property,this.key=t,this.computed=n,this.value=A,this.kind=e,this.method=i,this.shorthand=o};t.Property=$;var Z=function(e,t,n,A){this.type=r.Syntax.Literal,this.value=e,this.raw=t,this.regex={pattern:n,flags:A}};t.RegexLiteral=Z;var ee=function(e){this.type=r.Syntax.RestElement,this.argument=e};t.RestElement=ee;var te=function(e){this.type=r.Syntax.ReturnStatement,this.argument=e};t.ReturnStatement=te;var ne=function(e){this.type=r.Syntax.Program,this.body=e,this.sourceType="script"};t.Script=ne;var re=function(e){this.type=r.Syntax.SequenceExpression,this.expressions=e};t.SequenceExpression=re;var Ae=function(e){this.type=r.Syntax.SpreadElement,this.argument=e};t.SpreadElement=Ae;var ie=function(e,t){this.type=r.Syntax.MemberExpression,this.computed=!1,this.object=e,this.property=t};t.StaticMemberExpression=ie;var oe=function(){this.type=r.Syntax.Super};t.Super=oe;var se=function(e,t){this.type=r.Syntax.SwitchCase,this.test=e,this.consequent=t};t.SwitchCase=se;var ae=function(e,t){this.type=r.Syntax.SwitchStatement,this.discriminant=e,this.cases=t};t.SwitchStatement=ae;var ce=function(e,t){this.type=r.Syntax.TaggedTemplateExpression,this.tag=e,this.quasi=t};t.TaggedTemplateExpression=ce;var ue=function(e,t){this.type=r.Syntax.TemplateElement,this.value=e,this.tail=t};t.TemplateElement=ue;var ge=function(e,t){this.type=r.Syntax.TemplateLiteral,this.quasis=e,this.expressions=t};t.TemplateLiteral=ge;var le=function(){this.type=r.Syntax.ThisExpression};t.ThisExpression=le;var he=function(e){this.type=r.Syntax.ThrowStatement,this.argument=e};t.ThrowStatement=he;var pe=function(e,t,n){this.type=r.Syntax.TryStatement,this.block=e,this.handler=t,this.finalizer=n};t.TryStatement=pe;var fe=function(e,t){this.type=r.Syntax.UnaryExpression,this.operator=e,this.argument=t,this.prefix=!0};t.UnaryExpression=fe;var Ce=function(e,t,n){this.type=r.Syntax.UpdateExpression,this.operator=e,this.argument=t,this.prefix=n};t.UpdateExpression=Ce;var de=function(e,t){this.type=r.Syntax.VariableDeclaration,this.declarations=e,this.kind=t};t.VariableDeclaration=de;var Ie=function(e,t){this.type=r.Syntax.VariableDeclarator,this.id=e,this.init=t};t.VariableDeclarator=Ie;var Ee=function(e,t){this.type=r.Syntax.WhileStatement,this.test=e,this.body=t};t.WhileStatement=Ee;var Be=function(e,t){this.type=r.Syntax.WithStatement,this.object=e,this.body=t};t.WithStatement=Be;var ye=function(e,t){this.type=r.Syntax.YieldExpression,this.argument=e,this.delegate=t};t.YieldExpression=ye},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(9),A=n(10),i=n(11),o=n(7),s=n(12),a=n(2),c=n(13),u=function(){function e(e,t,n){void 0===t&&(t={}),this.config={range:"boolean"==typeof t.range&&t.range,loc:"boolean"==typeof t.loc&&t.loc,source:null,tokens:"boolean"==typeof t.tokens&&t.tokens,comment:"boolean"==typeof t.comment&&t.comment,tolerant:"boolean"==typeof t.tolerant&&t.tolerant},this.config.loc&&t.source&&null!==t.source&&(this.config.source=String(t.source)),this.delegate=n,this.errorHandler=new A.ErrorHandler,this.errorHandler.tolerant=this.config.tolerant,this.scanner=new s.Scanner(e,this.errorHandler),this.scanner.trackComment=this.config.comment,this.operatorPrecedence={")":0,";":0,",":0,"=":0,"]":0,"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":11,"/":11,"%":11},this.lookahead={type:2,value:"",lineNumber:this.scanner.lineNumber,lineStart:0,start:0,end:0},this.hasLineTerminator=!1,this.context={isModule:!1,await:!1,allowIn:!0,allowStrictDirective:!0,allowYield:!0,firstCoverInitializedNameError:null,isAssignmentTarget:!1,isBindingElement:!1,inFunctionBody:!1,inIteration:!1,inSwitch:!1,labelSet:{},strict:!1},this.tokens=[],this.startMarker={index:0,line:this.scanner.lineNumber,column:0},this.lastMarker={index:0,line:this.scanner.lineNumber,column:0},this.nextToken(),this.lastMarker={index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}return e.prototype.throwError=function(e){for(var t=[],n=1;n0&&this.delegate)for(var t=0;t>="===e||">>>="===e||"&="===e||"^="===e||"|="===e},e.prototype.isolateCoverGrammar=function(e){var t=this.context.isBindingElement,n=this.context.isAssignmentTarget,r=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;var A=e.call(this);return null!==this.context.firstCoverInitializedNameError&&this.throwUnexpectedToken(this.context.firstCoverInitializedNameError),this.context.isBindingElement=t,this.context.isAssignmentTarget=n,this.context.firstCoverInitializedNameError=r,A},e.prototype.inheritCoverGrammar=function(e){var t=this.context.isBindingElement,n=this.context.isAssignmentTarget,r=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;var A=e.call(this);return this.context.isBindingElement=this.context.isBindingElement&&t,this.context.isAssignmentTarget=this.context.isAssignmentTarget&&n,this.context.firstCoverInitializedNameError=r||this.context.firstCoverInitializedNameError,A},e.prototype.consumeSemicolon=function(){this.match(";")?this.nextToken():this.hasLineTerminator||(2===this.lookahead.type||this.match("}")||this.throwUnexpectedToken(this.lookahead),this.lastMarker.index=this.startMarker.index,this.lastMarker.line=this.startMarker.line,this.lastMarker.column=this.startMarker.column)},e.prototype.parsePrimaryExpression=function(){var e,t,n,r=this.createNode();switch(this.lookahead.type){case 3:(this.context.isModule||this.context.await)&&"await"===this.lookahead.value&&this.tolerateUnexpectedToken(this.lookahead),e=this.matchAsyncFunction()?this.parseFunctionExpression():this.finalize(r,new o.Identifier(this.nextToken().value));break;case 6:case 8:this.context.strict&&this.lookahead.octal&&this.tolerateUnexpectedToken(this.lookahead,i.Messages.StrictOctalLiteral),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),n=this.getTokenRaw(t),e=this.finalize(r,new o.Literal(t.value,n));break;case 1:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),n=this.getTokenRaw(t),e=this.finalize(r,new o.Literal("true"===t.value,n));break;case 5:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,t=this.nextToken(),n=this.getTokenRaw(t),e=this.finalize(r,new o.Literal(null,n));break;case 10:e=this.parseTemplateLiteral();break;case 7:switch(this.lookahead.value){case"(":this.context.isBindingElement=!1,e=this.inheritCoverGrammar(this.parseGroupExpression);break;case"[":e=this.inheritCoverGrammar(this.parseArrayInitializer);break;case"{":e=this.inheritCoverGrammar(this.parseObjectInitializer);break;case"/":case"/=":this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.scanner.index=this.startMarker.index,t=this.nextRegexToken(),n=this.getTokenRaw(t),e=this.finalize(r,new o.RegexLiteral(t.regex,n,t.pattern,t.flags));break;default:e=this.throwUnexpectedToken(this.nextToken())}break;case 4:!this.context.strict&&this.context.allowYield&&this.matchKeyword("yield")?e=this.parseIdentifierName():!this.context.strict&&this.matchKeyword("let")?e=this.finalize(r,new o.Identifier(this.nextToken().value)):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.matchKeyword("function")?e=this.parseFunctionExpression():this.matchKeyword("this")?(this.nextToken(),e=this.finalize(r,new o.ThisExpression)):e=this.matchKeyword("class")?this.parseClassExpression():this.throwUnexpectedToken(this.nextToken()));break;default:e=this.throwUnexpectedToken(this.nextToken())}return e},e.prototype.parseSpreadElement=function(){var e=this.createNode();this.expect("...");var t=this.inheritCoverGrammar(this.parseAssignmentExpression);return this.finalize(e,new o.SpreadElement(t))},e.prototype.parseArrayInitializer=function(){var e=this.createNode(),t=[];for(this.expect("[");!this.match("]");)if(this.match(","))this.nextToken(),t.push(null);else if(this.match("...")){var n=this.parseSpreadElement();this.match("]")||(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.expect(",")),t.push(n)}else t.push(this.inheritCoverGrammar(this.parseAssignmentExpression)),this.match("]")||this.expect(",");return this.expect("]"),this.finalize(e,new o.ArrayExpression(t))},e.prototype.parsePropertyMethod=function(e){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var t=this.context.strict,n=this.context.allowStrictDirective;this.context.allowStrictDirective=e.simple;var r=this.isolateCoverGrammar(this.parseFunctionSourceElements);return this.context.strict&&e.firstRestricted&&this.tolerateUnexpectedToken(e.firstRestricted,e.message),this.context.strict&&e.stricted&&this.tolerateUnexpectedToken(e.stricted,e.message),this.context.strict=t,this.context.allowStrictDirective=n,r},e.prototype.parsePropertyMethodFunction=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var n=this.parseFormalParameters(),r=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new o.FunctionExpression(null,n.params,r,!1))},e.prototype.parsePropertyMethodAsyncFunction=function(){var e=this.createNode(),t=this.context.allowYield,n=this.context.await;this.context.allowYield=!1,this.context.await=!0;var r=this.parseFormalParameters(),A=this.parsePropertyMethod(r);return this.context.allowYield=t,this.context.await=n,this.finalize(e,new o.AsyncFunctionExpression(null,r.params,A))},e.prototype.parseObjectPropertyKey=function(){var e,t=this.createNode(),n=this.nextToken();switch(n.type){case 8:case 6:this.context.strict&&n.octal&&this.tolerateUnexpectedToken(n,i.Messages.StrictOctalLiteral);var r=this.getTokenRaw(n);e=this.finalize(t,new o.Literal(n.value,r));break;case 3:case 1:case 5:case 4:e=this.finalize(t,new o.Identifier(n.value));break;case 7:"["===n.value?(e=this.isolateCoverGrammar(this.parseAssignmentExpression),this.expect("]")):e=this.throwUnexpectedToken(n);break;default:e=this.throwUnexpectedToken(n)}return e},e.prototype.isPropertyKey=function(e,t){return e.type===a.Syntax.Identifier&&e.name===t||e.type===a.Syntax.Literal&&e.value===t},e.prototype.parseObjectProperty=function(e){var t,n=this.createNode(),r=this.lookahead,A=null,s=null,a=!1,c=!1,u=!1,g=!1;if(3===r.type){var l=r.value;this.nextToken(),a=this.match("["),A=(g=!(this.hasLineTerminator||"async"!==l||this.match(":")||this.match("(")||this.match("*")||this.match(",")))?this.parseObjectPropertyKey():this.finalize(n,new o.Identifier(l))}else this.match("*")?this.nextToken():(a=this.match("["),A=this.parseObjectPropertyKey());var h=this.qualifiedPropertyName(this.lookahead);if(3===r.type&&!g&&"get"===r.value&&h)t="get",a=this.match("["),A=this.parseObjectPropertyKey(),this.context.allowYield=!1,s=this.parseGetterMethod();else if(3===r.type&&!g&&"set"===r.value&&h)t="set",a=this.match("["),A=this.parseObjectPropertyKey(),s=this.parseSetterMethod();else if(7===r.type&&"*"===r.value&&h)t="init",a=this.match("["),A=this.parseObjectPropertyKey(),s=this.parseGeneratorMethod(),c=!0;else if(A||this.throwUnexpectedToken(this.lookahead),t="init",this.match(":")&&!g)!a&&this.isPropertyKey(A,"__proto__")&&(e.value&&this.tolerateError(i.Messages.DuplicateProtoProperty),e.value=!0),this.nextToken(),s=this.inheritCoverGrammar(this.parseAssignmentExpression);else if(this.match("("))s=g?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction(),c=!0;else if(3===r.type)if(l=this.finalize(n,new o.Identifier(r.value)),this.match("=")){this.context.firstCoverInitializedNameError=this.lookahead,this.nextToken(),u=!0;var p=this.isolateCoverGrammar(this.parseAssignmentExpression);s=this.finalize(n,new o.AssignmentPattern(l,p))}else u=!0,s=l;else this.throwUnexpectedToken(this.nextToken());return this.finalize(n,new o.Property(t,A,a,s,c,u))},e.prototype.parseObjectInitializer=function(){var e=this.createNode();this.expect("{");for(var t=[],n={value:!1};!this.match("}");)t.push(this.parseObjectProperty(n)),this.match("}")||this.expectCommaSeparator();return this.expect("}"),this.finalize(e,new o.ObjectExpression(t))},e.prototype.parseTemplateHead=function(){r.assert(this.lookahead.head,"Template literal must start with a template head");var e=this.createNode(),t=this.nextToken(),n=t.value,A=t.cooked;return this.finalize(e,new o.TemplateElement({raw:n,cooked:A},t.tail))},e.prototype.parseTemplateElement=function(){10!==this.lookahead.type&&this.throwUnexpectedToken();var e=this.createNode(),t=this.nextToken(),n=t.value,r=t.cooked;return this.finalize(e,new o.TemplateElement({raw:n,cooked:r},t.tail))},e.prototype.parseTemplateLiteral=function(){var e=this.createNode(),t=[],n=[],r=this.parseTemplateHead();for(n.push(r);!r.tail;)t.push(this.parseExpression()),r=this.parseTemplateElement(),n.push(r);return this.finalize(e,new o.TemplateLiteral(n,t))},e.prototype.reinterpretExpressionAsPattern=function(e){switch(e.type){case a.Syntax.Identifier:case a.Syntax.MemberExpression:case a.Syntax.RestElement:case a.Syntax.AssignmentPattern:break;case a.Syntax.SpreadElement:e.type=a.Syntax.RestElement,this.reinterpretExpressionAsPattern(e.argument);break;case a.Syntax.ArrayExpression:e.type=a.Syntax.ArrayPattern;for(var t=0;t")||this.expect("=>"),e={type:"ArrowParameterPlaceHolder",params:[],async:!1};else{var t=this.lookahead,n=[];if(this.match("..."))e=this.parseRestElement(n),this.expect(")"),this.match("=>")||this.expect("=>"),e={type:"ArrowParameterPlaceHolder",params:[e],async:!1};else{var r=!1;if(this.context.isBindingElement=!0,e=this.inheritCoverGrammar(this.parseAssignmentExpression),this.match(",")){var A=[];for(this.context.isAssignmentTarget=!1,A.push(e);2!==this.lookahead.type&&this.match(",");){if(this.nextToken(),this.match(")")){this.nextToken();for(var i=0;i")||this.expect("=>"),this.context.isBindingElement=!1,i=0;i")&&(e.type===a.Syntax.Identifier&&"yield"===e.name&&(r=!0,e={type:"ArrowParameterPlaceHolder",params:[e],async:!1}),!r)){if(this.context.isBindingElement||this.throwUnexpectedToken(this.lookahead),e.type===a.Syntax.SequenceExpression)for(i=0;i")){for(var a=0;a0){this.nextToken(),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;for(var A=[e,this.lookahead],i=t,s=this.isolateCoverGrammar(this.parseExponentiationExpression),a=[i,n.value,s],c=[r];!((r=this.binaryPrecedence(this.lookahead))<=0);){for(;a.length>2&&r<=c[c.length-1];){s=a.pop();var u=a.pop();c.pop(),i=a.pop(),A.pop();var g=this.startNode(A[A.length-1]);a.push(this.finalize(g,new o.BinaryExpression(u,i,s)))}a.push(this.nextToken().value),c.push(r),A.push(this.lookahead),a.push(this.isolateCoverGrammar(this.parseExponentiationExpression))}var l=a.length-1;t=a[l];for(var h=A.pop();l>1;){var p=A.pop(),f=h&&h.lineStart;g=this.startNode(p,f),u=a[l-1],t=this.finalize(g,new o.BinaryExpression(u,a[l-2],t)),l-=2,h=p}}return t},e.prototype.parseConditionalExpression=function(){var e=this.lookahead,t=this.inheritCoverGrammar(this.parseBinaryExpression);if(this.match("?")){this.nextToken();var n=this.context.allowIn;this.context.allowIn=!0;var r=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowIn=n,this.expect(":");var A=this.isolateCoverGrammar(this.parseAssignmentExpression);t=this.finalize(this.startNode(e),new o.ConditionalExpression(t,r,A)),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}return t},e.prototype.checkPatternParam=function(e,t){switch(t.type){case a.Syntax.Identifier:this.validateParam(e,t,t.name);break;case a.Syntax.RestElement:this.checkPatternParam(e,t.argument);break;case a.Syntax.AssignmentPattern:this.checkPatternParam(e,t.left);break;case a.Syntax.ArrayPattern:for(var n=0;n")){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var A=e.async,s=this.reinterpretAsCoverFormalsList(e);if(s){this.hasLineTerminator&&this.tolerateUnexpectedToken(this.lookahead),this.context.firstCoverInitializedNameError=null;var c=this.context.strict,u=this.context.allowStrictDirective;this.context.allowStrictDirective=s.simple;var g=this.context.allowYield,l=this.context.await;this.context.allowYield=!0,this.context.await=A;var h=this.startNode(t);this.expect("=>");var p=void 0;if(this.match("{")){var f=this.context.allowIn;this.context.allowIn=!0,p=this.parseFunctionSourceElements(),this.context.allowIn=f}else p=this.isolateCoverGrammar(this.parseAssignmentExpression);var C=p.type!==a.Syntax.BlockStatement;this.context.strict&&s.firstRestricted&&this.throwUnexpectedToken(s.firstRestricted,s.message),this.context.strict&&s.stricted&&this.tolerateUnexpectedToken(s.stricted,s.message),e=A?this.finalize(h,new o.AsyncArrowFunctionExpression(s.params,p,C)):this.finalize(h,new o.ArrowFunctionExpression(s.params,p,C)),this.context.strict=c,this.context.allowStrictDirective=u,this.context.allowYield=g,this.context.await=l}}else if(this.matchAssign()){if(this.context.isAssignmentTarget||this.tolerateError(i.Messages.InvalidLHSInAssignment),this.context.strict&&e.type===a.Syntax.Identifier){var d=e;this.scanner.isRestrictedWord(d.name)&&this.tolerateUnexpectedToken(n,i.Messages.StrictLHSAssignment),this.scanner.isStrictModeReservedWord(d.name)&&this.tolerateUnexpectedToken(n,i.Messages.StrictReservedWord)}this.match("=")?this.reinterpretExpressionAsPattern(e):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1);var I=(n=this.nextToken()).value,E=this.isolateCoverGrammar(this.parseAssignmentExpression);e=this.finalize(this.startNode(t),new o.AssignmentExpression(I,e,E)),this.context.firstCoverInitializedNameError=null}}return e},e.prototype.parseExpression=function(){var e=this.lookahead,t=this.isolateCoverGrammar(this.parseAssignmentExpression);if(this.match(",")){var n=[];for(n.push(t);2!==this.lookahead.type&&this.match(",");)this.nextToken(),n.push(this.isolateCoverGrammar(this.parseAssignmentExpression));t=this.finalize(this.startNode(e),new o.SequenceExpression(n))}return t},e.prototype.parseStatementListItem=function(){var e;if(this.context.isAssignmentTarget=!0,this.context.isBindingElement=!0,4===this.lookahead.type)switch(this.lookahead.value){case"export":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,i.Messages.IllegalExportDeclaration),e=this.parseExportDeclaration();break;case"import":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,i.Messages.IllegalImportDeclaration),e=this.parseImportDeclaration();break;case"const":e=this.parseLexicalDeclaration({inFor:!1});break;case"function":e=this.parseFunctionDeclaration();break;case"class":e=this.parseClassDeclaration();break;case"let":e=this.isLexicalDeclaration()?this.parseLexicalDeclaration({inFor:!1}):this.parseStatement();break;default:e=this.parseStatement()}else e=this.parseStatement();return e},e.prototype.parseBlock=function(){var e=this.createNode();this.expect("{");for(var t=[];!this.match("}");)t.push(this.parseStatementListItem());return this.expect("}"),this.finalize(e,new o.BlockStatement(t))},e.prototype.parseLexicalBinding=function(e,t){var n=this.createNode(),r=this.parsePattern([],e);this.context.strict&&r.type===a.Syntax.Identifier&&this.scanner.isRestrictedWord(r.name)&&this.tolerateError(i.Messages.StrictVarName);var A=null;return"const"===e?this.matchKeyword("in")||this.matchContextualKeyword("of")||(this.match("=")?(this.nextToken(),A=this.isolateCoverGrammar(this.parseAssignmentExpression)):this.throwError(i.Messages.DeclarationMissingInitializer,"const")):(!t.inFor&&r.type!==a.Syntax.Identifier||this.match("="))&&(this.expect("="),A=this.isolateCoverGrammar(this.parseAssignmentExpression)),this.finalize(n,new o.VariableDeclarator(r,A))},e.prototype.parseBindingList=function(e,t){for(var n=[this.parseLexicalBinding(e,t)];this.match(",");)this.nextToken(),n.push(this.parseLexicalBinding(e,t));return n},e.prototype.isLexicalDeclaration=function(){var e=this.scanner.saveState();this.scanner.scanComments();var t=this.scanner.lex();return this.scanner.restoreState(e),3===t.type||7===t.type&&"["===t.value||7===t.type&&"{"===t.value||4===t.type&&"let"===t.value||4===t.type&&"yield"===t.value},e.prototype.parseLexicalDeclaration=function(e){var t=this.createNode(),n=this.nextToken().value;r.assert("let"===n||"const"===n,"Lexical declaration must be either let or const");var A=this.parseBindingList(n,e);return this.consumeSemicolon(),this.finalize(t,new o.VariableDeclaration(A,n))},e.prototype.parseBindingRestElement=function(e,t){var n=this.createNode();this.expect("...");var r=this.parsePattern(e,t);return this.finalize(n,new o.RestElement(r))},e.prototype.parseArrayPattern=function(e,t){var n=this.createNode();this.expect("[");for(var r=[];!this.match("]");)if(this.match(","))this.nextToken(),r.push(null);else{if(this.match("...")){r.push(this.parseBindingRestElement(e,t));break}r.push(this.parsePatternWithDefault(e,t)),this.match("]")||this.expect(",")}return this.expect("]"),this.finalize(n,new o.ArrayPattern(r))},e.prototype.parsePropertyPattern=function(e,t){var n,r,A=this.createNode(),i=!1,s=!1;if(3===this.lookahead.type){var a=this.lookahead;n=this.parseVariableIdentifier();var c=this.finalize(A,new o.Identifier(a.value));if(this.match("=")){e.push(a),s=!0,this.nextToken();var u=this.parseAssignmentExpression();r=this.finalize(this.startNode(a),new o.AssignmentPattern(c,u))}else this.match(":")?(this.expect(":"),r=this.parsePatternWithDefault(e,t)):(e.push(a),s=!0,r=c)}else i=this.match("["),n=this.parseObjectPropertyKey(),this.expect(":"),r=this.parsePatternWithDefault(e,t);return this.finalize(A,new o.Property("init",n,i,r,!1,s))},e.prototype.parseObjectPattern=function(e,t){var n=this.createNode(),r=[];for(this.expect("{");!this.match("}");)r.push(this.parsePropertyPattern(e,t)),this.match("}")||this.expect(",");return this.expect("}"),this.finalize(n,new o.ObjectPattern(r))},e.prototype.parsePattern=function(e,t){var n;return this.match("[")?n=this.parseArrayPattern(e,t):this.match("{")?n=this.parseObjectPattern(e,t):(!this.matchKeyword("let")||"const"!==t&&"let"!==t||this.tolerateUnexpectedToken(this.lookahead,i.Messages.LetInLexicalBinding),e.push(this.lookahead),n=this.parseVariableIdentifier(t)),n},e.prototype.parsePatternWithDefault=function(e,t){var n=this.lookahead,r=this.parsePattern(e,t);if(this.match("=")){this.nextToken();var A=this.context.allowYield;this.context.allowYield=!0;var i=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowYield=A,r=this.finalize(this.startNode(n),new o.AssignmentPattern(r,i))}return r},e.prototype.parseVariableIdentifier=function(e){var t=this.createNode(),n=this.nextToken();return 4===n.type&&"yield"===n.value?this.context.strict?this.tolerateUnexpectedToken(n,i.Messages.StrictReservedWord):this.context.allowYield||this.throwUnexpectedToken(n):3!==n.type?this.context.strict&&4===n.type&&this.scanner.isStrictModeReservedWord(n.value)?this.tolerateUnexpectedToken(n,i.Messages.StrictReservedWord):(this.context.strict||"let"!==n.value||"var"!==e)&&this.throwUnexpectedToken(n):(this.context.isModule||this.context.await)&&3===n.type&&"await"===n.value&&this.tolerateUnexpectedToken(n),this.finalize(t,new o.Identifier(n.value))},e.prototype.parseVariableDeclaration=function(e){var t=this.createNode(),n=this.parsePattern([],"var");this.context.strict&&n.type===a.Syntax.Identifier&&this.scanner.isRestrictedWord(n.name)&&this.tolerateError(i.Messages.StrictVarName);var r=null;return this.match("=")?(this.nextToken(),r=this.isolateCoverGrammar(this.parseAssignmentExpression)):n.type===a.Syntax.Identifier||e.inFor||this.expect("="),this.finalize(t,new o.VariableDeclarator(n,r))},e.prototype.parseVariableDeclarationList=function(e){var t={inFor:e.inFor},n=[];for(n.push(this.parseVariableDeclaration(t));this.match(",");)this.nextToken(),n.push(this.parseVariableDeclaration(t));return n},e.prototype.parseVariableStatement=function(){var e=this.createNode();this.expectKeyword("var");var t=this.parseVariableDeclarationList({inFor:!1});return this.consumeSemicolon(),this.finalize(e,new o.VariableDeclaration(t,"var"))},e.prototype.parseEmptyStatement=function(){var e=this.createNode();return this.expect(";"),this.finalize(e,new o.EmptyStatement)},e.prototype.parseExpressionStatement=function(){var e=this.createNode(),t=this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new o.ExpressionStatement(t))},e.prototype.parseIfClause=function(){return this.context.strict&&this.matchKeyword("function")&&this.tolerateError(i.Messages.StrictFunction),this.parseStatement()},e.prototype.parseIfStatement=function(){var e,t=this.createNode(),n=null;this.expectKeyword("if"),this.expect("(");var r=this.parseExpression();return!this.match(")")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new o.EmptyStatement)):(this.expect(")"),e=this.parseIfClause(),this.matchKeyword("else")&&(this.nextToken(),n=this.parseIfClause())),this.finalize(t,new o.IfStatement(r,e,n))},e.prototype.parseDoWhileStatement=function(){var e=this.createNode();this.expectKeyword("do");var t=this.context.inIteration;this.context.inIteration=!0;var n=this.parseStatement();this.context.inIteration=t,this.expectKeyword("while"),this.expect("(");var r=this.parseExpression();return!this.match(")")&&this.config.tolerant?this.tolerateUnexpectedToken(this.nextToken()):(this.expect(")"),this.match(";")&&this.nextToken()),this.finalize(e,new o.DoWhileStatement(n,r))},e.prototype.parseWhileStatement=function(){var e,t=this.createNode();this.expectKeyword("while"),this.expect("(");var n=this.parseExpression();if(!this.match(")")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new o.EmptyStatement);else{this.expect(")");var r=this.context.inIteration;this.context.inIteration=!0,e=this.parseStatement(),this.context.inIteration=r}return this.finalize(t,new o.WhileStatement(n,e))},e.prototype.parseForStatement=function(){var e,t,n,r=null,A=null,s=null,c=!0,u=this.createNode();if(this.expectKeyword("for"),this.expect("("),this.match(";"))this.nextToken();else if(this.matchKeyword("var")){r=this.createNode(),this.nextToken();var g=this.context.allowIn;this.context.allowIn=!1;var l=this.parseVariableDeclarationList({inFor:!0});if(this.context.allowIn=g,1===l.length&&this.matchKeyword("in")){var h=l[0];h.init&&(h.id.type===a.Syntax.ArrayPattern||h.id.type===a.Syntax.ObjectPattern||this.context.strict)&&this.tolerateError(i.Messages.ForInOfLoopInitializer,"for-in"),r=this.finalize(r,new o.VariableDeclaration(l,"var")),this.nextToken(),e=r,t=this.parseExpression(),r=null}else 1===l.length&&null===l[0].init&&this.matchContextualKeyword("of")?(r=this.finalize(r,new o.VariableDeclaration(l,"var")),this.nextToken(),e=r,t=this.parseAssignmentExpression(),r=null,c=!1):(r=this.finalize(r,new o.VariableDeclaration(l,"var")),this.expect(";"))}else if(this.matchKeyword("const")||this.matchKeyword("let")){r=this.createNode();var p=this.nextToken().value;this.context.strict||"in"!==this.lookahead.value?(g=this.context.allowIn,this.context.allowIn=!1,l=this.parseBindingList(p,{inFor:!0}),this.context.allowIn=g,1===l.length&&null===l[0].init&&this.matchKeyword("in")?(r=this.finalize(r,new o.VariableDeclaration(l,p)),this.nextToken(),e=r,t=this.parseExpression(),r=null):1===l.length&&null===l[0].init&&this.matchContextualKeyword("of")?(r=this.finalize(r,new o.VariableDeclaration(l,p)),this.nextToken(),e=r,t=this.parseAssignmentExpression(),r=null,c=!1):(this.consumeSemicolon(),r=this.finalize(r,new o.VariableDeclaration(l,p)))):(r=this.finalize(r,new o.Identifier(p)),this.nextToken(),e=r,t=this.parseExpression(),r=null)}else{var f=this.lookahead;if(g=this.context.allowIn,this.context.allowIn=!1,r=this.inheritCoverGrammar(this.parseAssignmentExpression),this.context.allowIn=g,this.matchKeyword("in"))this.context.isAssignmentTarget&&r.type!==a.Syntax.AssignmentExpression||this.tolerateError(i.Messages.InvalidLHSInForIn),this.nextToken(),this.reinterpretExpressionAsPattern(r),e=r,t=this.parseExpression(),r=null;else if(this.matchContextualKeyword("of"))this.context.isAssignmentTarget&&r.type!==a.Syntax.AssignmentExpression||this.tolerateError(i.Messages.InvalidLHSInForLoop),this.nextToken(),this.reinterpretExpressionAsPattern(r),e=r,t=this.parseAssignmentExpression(),r=null,c=!1;else{if(this.match(",")){for(var C=[r];this.match(",");)this.nextToken(),C.push(this.isolateCoverGrammar(this.parseAssignmentExpression));r=this.finalize(this.startNode(f),new o.SequenceExpression(C))}this.expect(";")}}if(void 0===e&&(this.match(";")||(A=this.parseExpression()),this.expect(";"),this.match(")")||(s=this.parseExpression())),!this.match(")")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),n=this.finalize(this.createNode(),new o.EmptyStatement);else{this.expect(")");var d=this.context.inIteration;this.context.inIteration=!0,n=this.isolateCoverGrammar(this.parseStatement),this.context.inIteration=d}return void 0===e?this.finalize(u,new o.ForStatement(r,A,s,n)):c?this.finalize(u,new o.ForInStatement(e,t,n)):this.finalize(u,new o.ForOfStatement(e,t,n))},e.prototype.parseContinueStatement=function(){var e=this.createNode();this.expectKeyword("continue");var t=null;if(3===this.lookahead.type&&!this.hasLineTerminator){var n=this.parseVariableIdentifier();t=n;var r="$"+n.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,r)||this.throwError(i.Messages.UnknownLabel,n.name)}return this.consumeSemicolon(),null!==t||this.context.inIteration||this.throwError(i.Messages.IllegalContinue),this.finalize(e,new o.ContinueStatement(t))},e.prototype.parseBreakStatement=function(){var e=this.createNode();this.expectKeyword("break");var t=null;if(3===this.lookahead.type&&!this.hasLineTerminator){var n=this.parseVariableIdentifier(),r="$"+n.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,r)||this.throwError(i.Messages.UnknownLabel,n.name),t=n}return this.consumeSemicolon(),null!==t||this.context.inIteration||this.context.inSwitch||this.throwError(i.Messages.IllegalBreak),this.finalize(e,new o.BreakStatement(t))},e.prototype.parseReturnStatement=function(){this.context.inFunctionBody||this.tolerateError(i.Messages.IllegalReturn);var e=this.createNode();this.expectKeyword("return");var t=(this.match(";")||this.match("}")||this.hasLineTerminator||2===this.lookahead.type)&&8!==this.lookahead.type&&10!==this.lookahead.type?null:this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new o.ReturnStatement(t))},e.prototype.parseWithStatement=function(){this.context.strict&&this.tolerateError(i.Messages.StrictModeWith);var e,t=this.createNode();this.expectKeyword("with"),this.expect("(");var n=this.parseExpression();return!this.match(")")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),e=this.finalize(this.createNode(),new o.EmptyStatement)):(this.expect(")"),e=this.parseStatement()),this.finalize(t,new o.WithStatement(n,e))},e.prototype.parseSwitchCase=function(){var e,t=this.createNode();this.matchKeyword("default")?(this.nextToken(),e=null):(this.expectKeyword("case"),e=this.parseExpression()),this.expect(":");for(var n=[];!(this.match("}")||this.matchKeyword("default")||this.matchKeyword("case"));)n.push(this.parseStatementListItem());return this.finalize(t,new o.SwitchCase(e,n))},e.prototype.parseSwitchStatement=function(){var e=this.createNode();this.expectKeyword("switch"),this.expect("(");var t=this.parseExpression();this.expect(")");var n=this.context.inSwitch;this.context.inSwitch=!0;var r=[],A=!1;for(this.expect("{");!this.match("}");){var s=this.parseSwitchCase();null===s.test&&(A&&this.throwError(i.Messages.MultipleDefaultsInSwitch),A=!0),r.push(s)}return this.expect("}"),this.context.inSwitch=n,this.finalize(e,new o.SwitchStatement(t,r))},e.prototype.parseLabelledStatement=function(){var e,t=this.createNode(),n=this.parseExpression();if(n.type===a.Syntax.Identifier&&this.match(":")){this.nextToken();var r=n,A="$"+r.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,A)&&this.throwError(i.Messages.Redeclaration,"Label",r.name),this.context.labelSet[A]=!0;var s=void 0;if(this.matchKeyword("class"))this.tolerateUnexpectedToken(this.lookahead),s=this.parseClassDeclaration();else if(this.matchKeyword("function")){var c=this.lookahead,u=this.parseFunctionDeclaration();this.context.strict?this.tolerateUnexpectedToken(c,i.Messages.StrictFunction):u.generator&&this.tolerateUnexpectedToken(c,i.Messages.GeneratorInLegacyContext),s=u}else s=this.parseStatement();delete this.context.labelSet[A],e=new o.LabeledStatement(r,s)}else this.consumeSemicolon(),e=new o.ExpressionStatement(n);return this.finalize(t,e)},e.prototype.parseThrowStatement=function(){var e=this.createNode();this.expectKeyword("throw"),this.hasLineTerminator&&this.throwError(i.Messages.NewlineAfterThrow);var t=this.parseExpression();return this.consumeSemicolon(),this.finalize(e,new o.ThrowStatement(t))},e.prototype.parseCatchClause=function(){var e=this.createNode();this.expectKeyword("catch"),this.expect("("),this.match(")")&&this.throwUnexpectedToken(this.lookahead);for(var t=[],n=this.parsePattern(t),r={},A=0;A0&&this.tolerateError(i.Messages.BadGetterArity);var r=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new o.FunctionExpression(null,n.params,r,!1))},e.prototype.parseSetterMethod=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var n=this.parseFormalParameters();1!==n.params.length?this.tolerateError(i.Messages.BadSetterArity):n.params[0]instanceof o.RestElement&&this.tolerateError(i.Messages.BadSetterRestParameter);var r=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new o.FunctionExpression(null,n.params,r,!1))},e.prototype.parseGeneratorMethod=function(){var e=this.createNode(),t=this.context.allowYield;this.context.allowYield=!0;var n=this.parseFormalParameters();this.context.allowYield=!1;var r=this.parsePropertyMethod(n);return this.context.allowYield=t,this.finalize(e,new o.FunctionExpression(null,n.params,r,!0))},e.prototype.isStartOfExpression=function(){var e=!0,t=this.lookahead.value;switch(this.lookahead.type){case 7:e="["===t||"("===t||"{"===t||"+"===t||"-"===t||"!"===t||"~"===t||"++"===t||"--"===t||"/"===t||"/="===t;break;case 4:e="class"===t||"delete"===t||"function"===t||"let"===t||"new"===t||"super"===t||"this"===t||"typeof"===t||"void"===t||"yield"===t}return e},e.prototype.parseYieldExpression=function(){var e=this.createNode();this.expectKeyword("yield");var t=null,n=!1;if(!this.hasLineTerminator){var r=this.context.allowYield;this.context.allowYield=!1,(n=this.match("*"))?(this.nextToken(),t=this.parseAssignmentExpression()):this.isStartOfExpression()&&(t=this.parseAssignmentExpression()),this.context.allowYield=r}return this.finalize(e,new o.YieldExpression(t,n))},e.prototype.parseClassElement=function(e){var t=this.lookahead,n=this.createNode(),r="",A=null,s=null,a=!1,c=!1,u=!1,g=!1;if(this.match("*"))this.nextToken();else if(a=this.match("["),"static"===(A=this.parseObjectPropertyKey()).name&&(this.qualifiedPropertyName(this.lookahead)||this.match("*"))&&(t=this.lookahead,u=!0,a=this.match("["),this.match("*")?this.nextToken():A=this.parseObjectPropertyKey()),3===t.type&&!this.hasLineTerminator&&"async"===t.value){var l=this.lookahead.value;":"!==l&&"("!==l&&"*"!==l&&(g=!0,t=this.lookahead,A=this.parseObjectPropertyKey(),3===t.type&&"constructor"===t.value&&this.tolerateUnexpectedToken(t,i.Messages.ConstructorIsAsync))}var h=this.qualifiedPropertyName(this.lookahead);return 3===t.type?"get"===t.value&&h?(r="get",a=this.match("["),A=this.parseObjectPropertyKey(),this.context.allowYield=!1,s=this.parseGetterMethod()):"set"===t.value&&h&&(r="set",a=this.match("["),A=this.parseObjectPropertyKey(),s=this.parseSetterMethod()):7===t.type&&"*"===t.value&&h&&(r="init",a=this.match("["),A=this.parseObjectPropertyKey(),s=this.parseGeneratorMethod(),c=!0),!r&&A&&this.match("(")&&(r="init",s=g?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction(),c=!0),r||this.throwUnexpectedToken(this.lookahead),"init"===r&&(r="method"),a||(u&&this.isPropertyKey(A,"prototype")&&this.throwUnexpectedToken(t,i.Messages.StaticPrototype),!u&&this.isPropertyKey(A,"constructor")&&(("method"!==r||!c||s&&s.generator)&&this.throwUnexpectedToken(t,i.Messages.ConstructorSpecialMethod),e.value?this.throwUnexpectedToken(t,i.Messages.DuplicateConstructor):e.value=!0,r="constructor")),this.finalize(n,new o.MethodDefinition(A,a,s,r,u))},e.prototype.parseClassElementList=function(){var e=[],t={value:!1};for(this.expect("{");!this.match("}");)this.match(";")?this.nextToken():e.push(this.parseClassElement(t));return this.expect("}"),e},e.prototype.parseClassBody=function(){var e=this.createNode(),t=this.parseClassElementList();return this.finalize(e,new o.ClassBody(t))},e.prototype.parseClassDeclaration=function(e){var t=this.createNode(),n=this.context.strict;this.context.strict=!0,this.expectKeyword("class");var r=e&&3!==this.lookahead.type?null:this.parseVariableIdentifier(),A=null;this.matchKeyword("extends")&&(this.nextToken(),A=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var i=this.parseClassBody();return this.context.strict=n,this.finalize(t,new o.ClassDeclaration(r,A,i))},e.prototype.parseClassExpression=function(){var e=this.createNode(),t=this.context.strict;this.context.strict=!0,this.expectKeyword("class");var n=3===this.lookahead.type?this.parseVariableIdentifier():null,r=null;this.matchKeyword("extends")&&(this.nextToken(),r=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var A=this.parseClassBody();return this.context.strict=t,this.finalize(e,new o.ClassExpression(n,r,A))},e.prototype.parseModule=function(){this.context.strict=!0,this.context.isModule=!0,this.scanner.isModule=!0;for(var e=this.createNode(),t=this.parseDirectivePrologues();2!==this.lookahead.type;)t.push(this.parseStatementListItem());return this.finalize(e,new o.Module(t))},e.prototype.parseScript=function(){for(var e=this.createNode(),t=this.parseDirectivePrologues();2!==this.lookahead.type;)t.push(this.parseStatementListItem());return this.finalize(e,new o.Script(t))},e.prototype.parseModuleSpecifier=function(){var e=this.createNode();8!==this.lookahead.type&&this.throwError(i.Messages.InvalidModuleSpecifier);var t=this.nextToken(),n=this.getTokenRaw(t);return this.finalize(e,new o.Literal(t.value,n))},e.prototype.parseImportSpecifier=function(){var e,t,n=this.createNode();return 3===this.lookahead.type?(t=e=this.parseVariableIdentifier(),this.matchContextualKeyword("as")&&(this.nextToken(),t=this.parseVariableIdentifier())):(t=e=this.parseIdentifierName(),this.matchContextualKeyword("as")?(this.nextToken(),t=this.parseVariableIdentifier()):this.throwUnexpectedToken(this.nextToken())),this.finalize(n,new o.ImportSpecifier(t,e))},e.prototype.parseNamedImports=function(){this.expect("{");for(var e=[];!this.match("}");)e.push(this.parseImportSpecifier()),this.match("}")||this.expect(",");return this.expect("}"),e},e.prototype.parseImportDefaultSpecifier=function(){var e=this.createNode(),t=this.parseIdentifierName();return this.finalize(e,new o.ImportDefaultSpecifier(t))},e.prototype.parseImportNamespaceSpecifier=function(){var e=this.createNode();this.expect("*"),this.matchContextualKeyword("as")||this.throwError(i.Messages.NoAsAfterImportNamespace),this.nextToken();var t=this.parseIdentifierName();return this.finalize(e,new o.ImportNamespaceSpecifier(t))},e.prototype.parseImportDeclaration=function(){this.context.inFunctionBody&&this.throwError(i.Messages.IllegalImportDeclaration);var e,t=this.createNode();this.expectKeyword("import");var n=[];if(8===this.lookahead.type)e=this.parseModuleSpecifier();else{if(this.match("{")?n=n.concat(this.parseNamedImports()):this.match("*")?n.push(this.parseImportNamespaceSpecifier()):this.isIdentifierName(this.lookahead)&&!this.matchKeyword("default")?(n.push(this.parseImportDefaultSpecifier()),this.match(",")&&(this.nextToken(),this.match("*")?n.push(this.parseImportNamespaceSpecifier()):this.match("{")?n=n.concat(this.parseNamedImports()):this.throwUnexpectedToken(this.lookahead))):this.throwUnexpectedToken(this.nextToken()),!this.matchContextualKeyword("from")){var r=this.lookahead.value?i.Messages.UnexpectedToken:i.Messages.MissingFromClause;this.throwError(r,this.lookahead.value)}this.nextToken(),e=this.parseModuleSpecifier()}return this.consumeSemicolon(),this.finalize(t,new o.ImportDeclaration(n,e))},e.prototype.parseExportSpecifier=function(){var e=this.createNode(),t=this.parseIdentifierName(),n=t;return this.matchContextualKeyword("as")&&(this.nextToken(),n=this.parseIdentifierName()),this.finalize(e,new o.ExportSpecifier(t,n))},e.prototype.parseExportDeclaration=function(){this.context.inFunctionBody&&this.throwError(i.Messages.IllegalExportDeclaration);var e,t=this.createNode();if(this.expectKeyword("export"),this.matchKeyword("default"))if(this.nextToken(),this.matchKeyword("function")){var n=this.parseFunctionDeclaration(!0);e=this.finalize(t,new o.ExportDefaultDeclaration(n))}else this.matchKeyword("class")?(n=this.parseClassDeclaration(!0),e=this.finalize(t,new o.ExportDefaultDeclaration(n))):this.matchContextualKeyword("async")?(n=this.matchAsyncFunction()?this.parseFunctionDeclaration(!0):this.parseAssignmentExpression(),e=this.finalize(t,new o.ExportDefaultDeclaration(n))):(this.matchContextualKeyword("from")&&this.throwError(i.Messages.UnexpectedToken,this.lookahead.value),n=this.match("{")?this.parseObjectInitializer():this.match("[")?this.parseArrayInitializer():this.parseAssignmentExpression(),this.consumeSemicolon(),e=this.finalize(t,new o.ExportDefaultDeclaration(n)));else if(this.match("*")){if(this.nextToken(),!this.matchContextualKeyword("from")){var r=this.lookahead.value?i.Messages.UnexpectedToken:i.Messages.MissingFromClause;this.throwError(r,this.lookahead.value)}this.nextToken();var A=this.parseModuleSpecifier();this.consumeSemicolon(),e=this.finalize(t,new o.ExportAllDeclaration(A))}else if(4===this.lookahead.type){switch(n=void 0,this.lookahead.value){case"let":case"const":n=this.parseLexicalDeclaration({inFor:!1});break;case"var":case"class":case"function":n=this.parseStatementListItem();break;default:this.throwUnexpectedToken(this.lookahead)}e=this.finalize(t,new o.ExportNamedDeclaration(n,[],null))}else if(this.matchAsyncFunction())n=this.parseFunctionDeclaration(),e=this.finalize(t,new o.ExportNamedDeclaration(n,[],null));else{var s=[],a=null,c=!1;for(this.expect("{");!this.match("}");)c=c||this.matchKeyword("default"),s.push(this.parseExportSpecifier()),this.match("}")||this.expect(",");this.expect("}"),this.matchContextualKeyword("from")?(this.nextToken(),a=this.parseModuleSpecifier(),this.consumeSemicolon()):c?(r=this.lookahead.value?i.Messages.UnexpectedToken:i.Messages.MissingFromClause,this.throwError(r,this.lookahead.value)):this.consumeSemicolon(),e=this.finalize(t,new o.ExportNamedDeclaration(null,s,a))}return e},e}();t.Parser=u},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assert=function(e,t){if(!e)throw new Error("ASSERT: "+t)}},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(){this.errors=[],this.tolerant=!1}return e.prototype.recordError=function(e){this.errors.push(e)},e.prototype.tolerate=function(e){if(!this.tolerant)throw e;this.recordError(e)},e.prototype.constructError=function(e,t){var n=new Error(e);try{throw n}catch(e){Object.create&&Object.defineProperty&&(n=Object.create(e),Object.defineProperty(n,"column",{value:t}))}return n},e.prototype.createError=function(e,t,n,r){var A="Line "+t+": "+r,i=this.constructError(A,n);return i.index=e,i.lineNumber=t,i.description=r,i},e.prototype.throwError=function(e,t,n,r){throw this.createError(e,t,n,r)},e.prototype.tolerateError=function(e,t,n,r){var A=this.createError(e,t,n,r);if(!this.tolerant)throw A;this.recordError(A)},e}();t.ErrorHandler=n},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Messages={BadGetterArity:"Getter must not have any formal parameters",BadSetterArity:"Setter must have exactly one formal parameter",BadSetterRestParameter:"Setter function argument must not be a rest parameter",ConstructorIsAsync:"Class constructor may not be an async method",ConstructorSpecialMethod:"Class constructor may not be an accessor",DeclarationMissingInitializer:"Missing initializer in %0 declaration",DefaultRestParameter:"Unexpected token =",DuplicateBinding:"Duplicate binding %0",DuplicateConstructor:"A class may only have one constructor",DuplicateProtoProperty:"Duplicate __proto__ fields are not allowed in object literals",ForInOfLoopInitializer:"%0 loop variable declaration may not have an initializer",GeneratorInLegacyContext:"Generator declarations are not allowed in legacy contexts",IllegalBreak:"Illegal break statement",IllegalContinue:"Illegal continue statement",IllegalExportDeclaration:"Unexpected token",IllegalImportDeclaration:"Unexpected token",IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list",IllegalReturn:"Illegal return statement",InvalidEscapedReservedWord:"Keyword must not contain escaped characters",InvalidHexEscapeSequence:"Invalid hexadecimal escape sequence",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",InvalidLHSInForLoop:"Invalid left-hand side in for-loop",InvalidModuleSpecifier:"Unexpected token",InvalidRegExp:"Invalid regular expression",LetInLexicalBinding:"let is disallowed as a lexically bound name",MissingFromClause:"Unexpected token",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NewlineAfterThrow:"Illegal newline after throw",NoAsAfterImportNamespace:"Unexpected token",NoCatchOrFinally:"Missing catch or finally after try",ParameterAfterRestParameter:"Rest parameter must be last formal parameter",Redeclaration:"%0 '%1' has already been declared",StaticPrototype:"Classes may not have static property named prototype",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictModeWith:"Strict mode code may not include a with statement",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictReservedWord:"Use of future reserved word in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",TemplateOctalLiteral:"Octal literals are not allowed in template strings.",UnexpectedEOS:"Unexpected end of input",UnexpectedIdentifier:"Unexpected identifier",UnexpectedNumber:"Unexpected number",UnexpectedReserved:"Unexpected reserved word",UnexpectedString:"Unexpected string",UnexpectedTemplate:"Unexpected quasi %0",UnexpectedToken:"Unexpected token %0",UnexpectedTokenIllegal:"Unexpected token ILLEGAL",UnknownLabel:"Undefined label '%0'",UnterminatedRegExp:"Invalid regular expression: missing /"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(9),A=n(4),i=n(11);function o(e){return"0123456789abcdef".indexOf(e.toLowerCase())}function s(e){return"01234567".indexOf(e)}var a=function(){function e(e,t){this.source=e,this.errorHandler=t,this.trackComment=!1,this.isModule=!1,this.length=e.length,this.index=0,this.lineNumber=e.length>0?1:0,this.lineStart=0,this.curlyStack=[]}return e.prototype.saveState=function(){return{index:this.index,lineNumber:this.lineNumber,lineStart:this.lineStart}},e.prototype.restoreState=function(e){this.index=e.index,this.lineNumber=e.lineNumber,this.lineStart=e.lineStart},e.prototype.eof=function(){return this.index>=this.length},e.prototype.throwUnexpectedToken=function(e){return void 0===e&&(e=i.Messages.UnexpectedTokenIllegal),this.errorHandler.throwError(this.index,this.lineNumber,this.index-this.lineStart+1,e)},e.prototype.tolerateUnexpectedToken=function(e){void 0===e&&(e=i.Messages.UnexpectedTokenIllegal),this.errorHandler.tolerateError(this.index,this.lineNumber,this.index-this.lineStart+1,e)},e.prototype.skipSingleLineComment=function(e){var t,n,r=[];for(this.trackComment&&(r=[],t=this.index-e,n={start:{line:this.lineNumber,column:this.index-this.lineStart-e},end:{}});!this.eof();){var i=this.source.charCodeAt(this.index);if(++this.index,A.Character.isLineTerminator(i)){if(this.trackComment){n.end={line:this.lineNumber,column:this.index-this.lineStart-1};var o={multiLine:!1,slice:[t+e,this.index-1],range:[t,this.index-1],loc:n};r.push(o)}return 13===i&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,r}}return this.trackComment&&(n.end={line:this.lineNumber,column:this.index-this.lineStart},o={multiLine:!1,slice:[t+e,this.index],range:[t,this.index],loc:n},r.push(o)),r},e.prototype.skipMultiLineComment=function(){var e,t,n=[];for(this.trackComment&&(n=[],e=this.index-2,t={start:{line:this.lineNumber,column:this.index-this.lineStart-2},end:{}});!this.eof();){var r=this.source.charCodeAt(this.index);if(A.Character.isLineTerminator(r))13===r&&10===this.source.charCodeAt(this.index+1)&&++this.index,++this.lineNumber,++this.index,this.lineStart=this.index;else if(42===r){if(47===this.source.charCodeAt(this.index+1)){if(this.index+=2,this.trackComment){t.end={line:this.lineNumber,column:this.index-this.lineStart};var i={multiLine:!0,slice:[e+2,this.index-2],range:[e,this.index],loc:t};n.push(i)}return n}++this.index}else++this.index}return this.trackComment&&(t.end={line:this.lineNumber,column:this.index-this.lineStart},i={multiLine:!0,slice:[e+2,this.index],range:[e,this.index],loc:t},n.push(i)),this.tolerateUnexpectedToken(),n},e.prototype.scanComments=function(){var e;this.trackComment&&(e=[]);for(var t=0===this.index;!this.eof();){var n=this.source.charCodeAt(this.index);if(A.Character.isWhiteSpace(n))++this.index;else if(A.Character.isLineTerminator(n))++this.index,13===n&&10===this.source.charCodeAt(this.index)&&++this.index,++this.lineNumber,this.lineStart=this.index,t=!0;else if(47===n)if(47===(n=this.source.charCodeAt(this.index+1))){this.index+=2;var r=this.skipSingleLineComment(2);this.trackComment&&(e=e.concat(r)),t=!0}else{if(42!==n)break;this.index+=2,r=this.skipMultiLineComment(),this.trackComment&&(e=e.concat(r))}else if(t&&45===n){if(45!==this.source.charCodeAt(this.index+1)||62!==this.source.charCodeAt(this.index+2))break;this.index+=3,r=this.skipSingleLineComment(3),this.trackComment&&(e=e.concat(r))}else{if(60!==n||this.isModule)break;if("!--"!==this.source.slice(this.index+1,this.index+4))break;this.index+=4,r=this.skipSingleLineComment(4),this.trackComment&&(e=e.concat(r))}}return e},e.prototype.isFutureReservedWord=function(e){switch(e){case"enum":case"export":case"import":case"super":return!0;default:return!1}},e.prototype.isStrictModeReservedWord=function(e){switch(e){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return!0;default:return!1}},e.prototype.isRestrictedWord=function(e){return"eval"===e||"arguments"===e},e.prototype.isKeyword=function(e){switch(e.length){case 2:return"if"===e||"in"===e||"do"===e;case 3:return"var"===e||"for"===e||"new"===e||"try"===e||"let"===e;case 4:return"this"===e||"else"===e||"case"===e||"void"===e||"with"===e||"enum"===e;case 5:return"while"===e||"break"===e||"catch"===e||"throw"===e||"const"===e||"yield"===e||"class"===e||"super"===e;case 6:return"return"===e||"typeof"===e||"delete"===e||"switch"===e||"export"===e||"import"===e;case 7:return"default"===e||"finally"===e||"extends"===e;case 8:return"function"===e||"continue"===e||"debugger"===e;case 10:return"instanceof"===e;default:return!1}},e.prototype.codePointAt=function(e){var t=this.source.charCodeAt(e);if(t>=55296&&t<=56319){var n=this.source.charCodeAt(e+1);n>=56320&&n<=57343&&(t=1024*(t-55296)+n-56320+65536)}return t},e.prototype.scanHexEscape=function(e){for(var t="u"===e?4:2,n=0,r=0;r1114111||"}"!==e)&&this.throwUnexpectedToken(),A.Character.fromCodePoint(t)},e.prototype.getIdentifier=function(){for(var e=this.index++;!this.eof();){var t=this.source.charCodeAt(this.index);if(92===t)return this.index=e,this.getComplexIdentifier();if(t>=55296&&t<57343)return this.index=e,this.getComplexIdentifier();if(!A.Character.isIdentifierPart(t))break;++this.index}return this.source.slice(e,this.index)},e.prototype.getComplexIdentifier=function(){var e,t=this.codePointAt(this.index),n=A.Character.fromCodePoint(t);for(this.index+=n.length,92===t&&(117!==this.source.charCodeAt(this.index)&&this.throwUnexpectedToken(),++this.index,"{"===this.source[this.index]?(++this.index,e=this.scanUnicodeCodePointEscape()):null!==(e=this.scanHexEscape("u"))&&"\\"!==e&&A.Character.isIdentifierStart(e.charCodeAt(0))||this.throwUnexpectedToken(),n=e);!this.eof()&&(t=this.codePointAt(this.index),A.Character.isIdentifierPart(t));)n+=e=A.Character.fromCodePoint(t),this.index+=e.length,92===t&&(n=n.substr(0,n.length-1),117!==this.source.charCodeAt(this.index)&&this.throwUnexpectedToken(),++this.index,"{"===this.source[this.index]?(++this.index,e=this.scanUnicodeCodePointEscape()):null!==(e=this.scanHexEscape("u"))&&"\\"!==e&&A.Character.isIdentifierPart(e.charCodeAt(0))||this.throwUnexpectedToken(),n+=e);return n},e.prototype.octalToDecimal=function(e){var t="0"!==e,n=s(e);return!this.eof()&&A.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(t=!0,n=8*n+s(this.source[this.index++]),"0123".indexOf(e)>=0&&!this.eof()&&A.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(n=8*n+s(this.source[this.index++]))),{code:n,octal:t}},e.prototype.scanIdentifier=function(){var e,t=this.index,n=92===this.source.charCodeAt(t)?this.getComplexIdentifier():this.getIdentifier();if(3!=(e=1===n.length?3:this.isKeyword(n)?4:"null"===n?5:"true"===n||"false"===n?1:3)&&t+n.length!==this.index){var r=this.index;this.index=t,this.tolerateUnexpectedToken(i.Messages.InvalidEscapedReservedWord),this.index=r}return{type:e,value:n,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}},e.prototype.scanPunctuator=function(){var e=this.index,t=this.source[this.index];switch(t){case"(":case"{":"{"===t&&this.curlyStack.push("{"),++this.index;break;case".":++this.index,"."===this.source[this.index]&&"."===this.source[this.index+1]&&(this.index+=2,t="...");break;case"}":++this.index,this.curlyStack.pop();break;case")":case";":case",":case"[":case"]":case":":case"?":case"~":++this.index;break;default:">>>="===(t=this.source.substr(this.index,4))?this.index+=4:"==="===(t=t.substr(0,3))||"!=="===t||">>>"===t||"<<="===t||">>="===t||"**="===t?this.index+=3:"&&"===(t=t.substr(0,2))||"||"===t||"=="===t||"!="===t||"+="===t||"-="===t||"*="===t||"/="===t||"++"===t||"--"===t||"<<"===t||">>"===t||"&="===t||"|="===t||"^="===t||"%="===t||"<="===t||">="===t||"=>"===t||"**"===t?this.index+=2:(t=this.source[this.index],"<>=!+-*%&|^/".indexOf(t)>=0&&++this.index)}return this.index===e&&this.throwUnexpectedToken(),{type:7,value:t,lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanHexLiteral=function(e){for(var t="";!this.eof()&&A.Character.isHexDigit(this.source.charCodeAt(this.index));)t+=this.source[this.index++];return 0===t.length&&this.throwUnexpectedToken(),A.Character.isIdentifierStart(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(),{type:6,value:parseInt("0x"+t,16),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanBinaryLiteral=function(e){for(var t,n="";!this.eof()&&("0"===(t=this.source[this.index])||"1"===t);)n+=this.source[this.index++];return 0===n.length&&this.throwUnexpectedToken(),this.eof()||(t=this.source.charCodeAt(this.index),(A.Character.isIdentifierStart(t)||A.Character.isDecimalDigit(t))&&this.throwUnexpectedToken()),{type:6,value:parseInt(n,2),lineNumber:this.lineNumber,lineStart:this.lineStart,start:e,end:this.index}},e.prototype.scanOctalLiteral=function(e,t){var n="",r=!1;for(A.Character.isOctalDigit(e.charCodeAt(0))?(r=!0,n="0"+this.source[this.index++]):++this.index;!this.eof()&&A.Character.isOctalDigit(this.source.charCodeAt(this.index));)n+=this.source[this.index++];return r||0!==n.length||this.throwUnexpectedToken(),(A.Character.isIdentifierStart(this.source.charCodeAt(this.index))||A.Character.isDecimalDigit(this.source.charCodeAt(this.index)))&&this.throwUnexpectedToken(),{type:6,value:parseInt(n,8),octal:r,lineNumber:this.lineNumber,lineStart:this.lineStart,start:t,end:this.index}},e.prototype.isImplicitOctalLiteral=function(){for(var e=this.index+1;e=0&&(n=n.replace(/\\u\{([0-9a-fA-F]+)\}|\\u([a-fA-F0-9]{4})/g,(function(e,t,n){var A=parseInt(t||n,16);return A>1114111&&r.throwUnexpectedToken(i.Messages.InvalidRegExp),A<=65535?String.fromCharCode(A):"￿"})).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,"￿"));try{RegExp(n)}catch(e){this.throwUnexpectedToken(i.Messages.InvalidRegExp)}try{return new RegExp(e,t)}catch(e){return null}},e.prototype.scanRegExpBody=function(){var e=this.source[this.index];r.assert("/"===e,"Regular expression literal must start with a slash");for(var t=this.source[this.index++],n=!1,o=!1;!this.eof();)if(t+=e=this.source[this.index++],"\\"===e)e=this.source[this.index++],A.Character.isLineTerminator(e.charCodeAt(0))&&this.throwUnexpectedToken(i.Messages.UnterminatedRegExp),t+=e;else if(A.Character.isLineTerminator(e.charCodeAt(0)))this.throwUnexpectedToken(i.Messages.UnterminatedRegExp);else if(n)"]"===e&&(n=!1);else{if("/"===e){o=!0;break}"["===e&&(n=!0)}return o||this.throwUnexpectedToken(i.Messages.UnterminatedRegExp),t.substr(1,t.length-2)},e.prototype.scanRegExpFlags=function(){for(var e="";!this.eof();){var t=this.source[this.index];if(!A.Character.isIdentifierPart(t.charCodeAt(0)))break;if(++this.index,"\\"!==t||this.eof())e+=t;else if("u"===(t=this.source[this.index])){++this.index;var n=this.index,r=this.scanHexEscape("u");if(null!==r)for(e+=r;n=55296&&e<57343&&A.Character.isIdentifierStart(this.codePointAt(this.index))?this.scanIdentifier():this.scanPunctuator()},e}();t.Scanner=a},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TokenName={},t.TokenName[1]="Boolean",t.TokenName[2]="",t.TokenName[3]="Identifier",t.TokenName[4]="Keyword",t.TokenName[5]="Null",t.TokenName[6]="Numeric",t.TokenName[7]="Punctuator",t.TokenName[8]="String",t.TokenName[9]="RegularExpression",t.TokenName[10]="Template"},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.XHTMLEntities={quot:'"',amp:"&",apos:"'",gt:">",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦",lang:"⟨",rang:"⟩"}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(10),A=n(12),i=n(13),o=function(){function e(){this.values=[],this.curly=this.paren=-1}return e.prototype.beforeFunctionExpression=function(e){return["(","{","[","in","typeof","instanceof","new","return","case","delete","throw","void","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=",",","+","-","*","**","/","%","++","--","<<",">>",">>>","&","|","^","!","~","&&","||","?",":","===","==",">=","<=","<",">","!=","!=="].indexOf(e)>=0},e.prototype.isRegexStart=function(){var e=this.values[this.values.length-1],t=null!==e;switch(e){case"this":case"]":t=!1;break;case")":var n=this.values[this.paren-1];t="if"===n||"while"===n||"for"===n||"with"===n;break;case"}":if(t=!1,"function"===this.values[this.curly-3])t=!!(r=this.values[this.curly-4])&&!this.beforeFunctionExpression(r);else if("function"===this.values[this.curly-4]){var r;t=!(r=this.values[this.curly-5])||!this.beforeFunctionExpression(r)}}return t},e.prototype.push=function(e){7===e.type||4===e.type?("{"===e.value?this.curly=this.values.length:"("===e.value&&(this.paren=this.values.length),this.values.push(e.value)):this.values.push(null)},e}(),s=function(){function e(e,t){this.errorHandler=new r.ErrorHandler,this.errorHandler.tolerant=!!t&&"boolean"==typeof t.tolerant&&t.tolerant,this.scanner=new A.Scanner(e,this.errorHandler),this.scanner.trackComment=!!t&&"boolean"==typeof t.comment&&t.comment,this.trackRange=!!t&&"boolean"==typeof t.range&&t.range,this.trackLoc=!!t&&"boolean"==typeof t.loc&&t.loc,this.buffer=[],this.reader=new o}return e.prototype.errors=function(){return this.errorHandler.errors},e.prototype.getNextToken=function(){if(0===this.buffer.length){var e=this.scanner.scanComments();if(this.scanner.trackComment)for(var t=0;tr&&" "!==e[F+1],F=i);else if(!L(o))return J;M=M&&O(o)}c=c||g&&i-F-1>r&&" "!==e[F+1]}return a||c?n>9&&T(e)?J:c?G:j:M&&!A(e)?U:Y}function q(e,t,n,r){e.dump=function(){if(0===t.length)return"''";if(!e.noCompatMode&&-1!==M.indexOf(t))return"'"+t+"'";var i=e.indent*Math.max(1,n),o=-1===e.lineWidth?-1:Math.max(Math.min(e.lineWidth,40),e.lineWidth-i),s=r||e.flowLevel>-1&&n>=e.flowLevel;switch(H(t,s,e.indent,o,(function(t){return function(e,t){var n,r;for(n=0,r=e.implicitTypes.length;n"+z(t,e.indent)+W(K(function(e,t){var n,r,A=/(\n+)([^\n]*)/g,i=(s=e.indexOf("\n"),s=-1!==s?s:e.length,A.lastIndex=s,X(e.slice(0,s),t)),o="\n"===e[0]||" "===e[0];var s;for(;r=A.exec(e);){var a=r[1],c=r[2];n=" "===c[0],i+=a+(o||n||""===c?"":"\n")+X(c,t),o=n}return i}(t,o),i));case J:return'"'+function(e){for(var t,n,r,A="",i=0;i=55296&&t<=56319&&(n=e.charCodeAt(i+1))>=56320&&n<=57343?(A+=N(1024*(t-55296)+n-56320+65536),i++):(r=F[t],A+=!r&&L(t)?e[i]:r||N(t));return A}(t)+'"';default:throw new A("impossible error: invalid scalar style")}}()}function z(e,t){var n=T(e)?String(t):"",r="\n"===e[e.length-1];return n+(r&&("\n"===e[e.length-2]||"\n"===e)?"+":r?"":"-")+"\n"}function W(e){return"\n"===e[e.length-1]?e.slice(0,-1):e}function X(e,t){if(""===e||" "===e[0])return e;for(var n,r,A=/ [^ ]/g,i=0,o=0,s=0,a="";n=A.exec(e);)(s=n.index)-i>t&&(r=o>i?o:s,a+="\n"+e.slice(i,r),i=r+1),o=s;return a+="\n",e.length-i>t&&o>i?a+=e.slice(i,o)+"\n"+e.slice(o+1):a+=e.slice(i),a.slice(1)}function V(e,t,n){var r,i,o,c,u,g;for(o=0,c=(i=n?e.explicitTypes:e.implicitTypes).length;o tag resolver accepts not "'+g+'" style');r=u.represent[g](t,g)}e.dump=r}return!0}return!1}function $(e,t,n,r,i,o){e.tag=null,e.dump=n,V(e,n,!1)||V(e,n,!0);var a=s.call(e.dump);r&&(r=e.flowLevel<0||e.flowLevel>t);var c,g,l="[object Object]"===a||"[object Array]"===a;if(l&&(g=-1!==(c=e.duplicates.indexOf(n))),(null!==e.tag&&"?"!==e.tag||g||2!==e.indent&&t>0)&&(i=!1),g&&e.usedDuplicates[c])e.dump="*ref_"+c;else{if(l&&g&&!e.usedDuplicates[c]&&(e.usedDuplicates[c]=!0),"[object Object]"===a)r&&0!==Object.keys(e.dump).length?(!function(e,t,n,r){var i,o,s,a,c,g,l="",h=e.tag,p=Object.keys(n);if(!0===e.sortKeys)p.sort();else if("function"==typeof e.sortKeys)p.sort(e.sortKeys);else if(e.sortKeys)throw new A("sortKeys must be a boolean or a function");for(i=0,o=p.length;i1024)&&(e.dump&&u===e.dump.charCodeAt(0)?g+="?":g+="? "),g+=e.dump,c&&(g+=x(e,t)),$(e,t+1,a,!0,c)&&(e.dump&&u===e.dump.charCodeAt(0)?g+=":":g+=": ",l+=g+=e.dump));e.tag=h,e.dump=l||"{}"}(e,t,e.dump,i),g&&(e.dump="&ref_"+c+e.dump)):(!function(e,t,n){var r,A,i,o,s,a="",c=e.tag,u=Object.keys(n);for(r=0,A=u.length;r1024&&(s+="? "),s+=e.dump+(e.condenseFlow?'"':"")+":"+(e.condenseFlow?"":" "),$(e,t,o,!1,!1)&&(a+=s+=e.dump));e.tag=c,e.dump="{"+a+"}"}(e,t,e.dump),g&&(e.dump="&ref_"+c+" "+e.dump));else if("[object Array]"===a){var h=e.noArrayIndent&&t>0?t-1:t;r&&0!==e.dump.length?(!function(e,t,n,r){var A,i,o="",s=e.tag;for(A=0,i=n.length;A "+e.dump)}return!0}function Z(e,t){var n,r,A=[],i=[];for(function e(t,n,r){var A,i,o;if(null!==t&&"object"==typeof t)if(-1!==(i=n.indexOf(t)))-1===r.indexOf(i)&&r.push(i);else if(n.push(t),Array.isArray(t))for(i=0,o=t.length;i0){for(t=1,r=1;t({[e]:n})))},Q=function(e){return e},w=function(e){return e},v=tt("correct indentation"),b=" ",D=Ze(" ",!1),S=function(e){return e.length===vt*wt},k=function(e){return e.length===(vt+1)*wt},_=function(){return vt++,!0},F=function(){return vt--,!0},M=function(){return $e()},N=tt("pseudostring"),R=/^[^\r\n\t ?:,\][{}#&*!|>'"%@`\-]/,K=et(["\r","\n","\t"," ","?",":",",","]","[","{","}","#","&","*","!","|",">","'",'"',"%","@","`","-"],!0,!1),x=/^[^\r\n\t ,\][{}:#"']/,P=et(["\r","\n","\t"," ",",","]","[","{","}",":","#",'"',"'"],!0,!1),L=function(){return $e().replace(/^ *| *$/g,"")},O="--",T=Ze("--",!1),U=/^[a-zA-Z\/0-9]/,Y=et([["a","z"],["A","Z"],"/",["0","9"]],!1,!1),j=/^[^\r\n\t :,]/,G=et(["\r","\n","\t"," ",":",","],!0,!1),J="null",H=Ze("null",!1),q=function(){return null},z="true",W=Ze("true",!1),X=function(){return!0},V="false",$=Ze("false",!1),Z=function(){return!1},ee=tt("string"),te='"',ne=Ze('"',!1),re=function(){return""},Ae=function(e){return e},ie=function(e){return e.join("")},oe=/^[^"\\\0-\x1F\x7F]/,se=et(['"',"\\",["\0",""],""],!0,!1),ae='\\"',ce=Ze('\\"',!1),ue=function(){return'"'},ge="\\\\",le=Ze("\\\\",!1),he=function(){return"\\"},pe="\\/",fe=Ze("\\/",!1),Ce=function(){return"/"},de="\\b",Ie=Ze("\\b",!1),Ee=function(){return"\b"},Be="\\f",ye=Ze("\\f",!1),me=function(){return"\f"},Qe="\\n",we=Ze("\\n",!1),ve=function(){return"\n"},be="\\r",De=Ze("\\r",!1),Se=function(){return"\r"},ke="\\t",_e=Ze("\\t",!1),Fe=function(){return"\t"},Me="\\u",Ne=Ze("\\u",!1),Re=function(e,t,n,r){return String.fromCharCode(parseInt(`0x${e}${t}${n}${r}`))},Ke=/^[0-9a-fA-F]/,xe=et([["0","9"],["a","f"],["A","F"]],!1,!1),Pe=tt("blank space"),Le=/^[ \t]/,Oe=et([" ","\t"],!1,!1),Te=(tt("white space"),et([" ","\t","\n","\r"],!1,!1),"\r\n"),Ue=Ze("\r\n",!1),Ye="\n",je=Ze("\n",!1),Ge="\r",Je=Ze("\r",!1),He=0,qe=0,ze=[{line:1,column:1}],We=0,Xe=[],Ve=0;if("startRule"in t){if(!(t.startRule in i))throw new Error(`Can't start parsing from rule "${t.startRule}".`);o=i[t.startRule]}function $e(){return e.substring(qe,He)}function Ze(e,t){return{type:"literal",text:e,ignoreCase:t}}function et(e,t,n){return{type:"class",parts:e,inverted:t,ignoreCase:n}}function tt(e){return{type:"other",description:e}}function nt(t){var n,r=ze[t];if(r)return r;for(n=t-1;!ze[n];)n--;for(r={line:(r=ze[n]).line,column:r.column};nWe&&(We=He,Xe=[]),Xe.push(e))}function it(e,t,n){return new r(r.buildMessage(e,t),e,t,n)}function ot(){return at()}function st(){var t,n,r;return t=He,gt()!==A?(45===e.charCodeAt(He)?(n=a,He++):(n=A,0===Ve&&At(c)),n!==A&&yt()!==A&&(r=ut())!==A?(qe=t,t=u(r)):(He=t,t=A)):(He=t,t=A),t}function at(){var e,t,n;for(e=He,t=[],n=ct();n!==A;)t.push(n),n=ct();return t!==A&&(qe=e,t=g(t)),e=t}function ct(){var t,n,r,i,o,s,a,c,u;if(t=He,(n=yt())===A&&(n=null),n!==A){if(r=He,35===e.charCodeAt(He)?(i=l,He++):(i=A,0===Ve&&At(h)),i!==A){if(o=[],s=He,a=He,Ve++,c=Qt(),Ve--,c===A?a=void 0:(He=a,a=A),a!==A?(e.length>He?(c=e.charAt(He),He++):(c=A,0===Ve&&At(p)),c!==A?s=a=[a,c]:(He=s,s=A)):(He=s,s=A),s!==A)for(;s!==A;)o.push(s),s=He,a=He,Ve++,c=Qt(),Ve--,c===A?a=void 0:(He=a,a=A),a!==A?(e.length>He?(c=e.charAt(He),He++):(c=A,0===Ve&&At(p)),c!==A?s=a=[a,c]:(He=s,s=A)):(He=s,s=A);else o=A;o!==A?r=i=[i,o]:(He=r,r=A)}else He=r,r=A;if(r===A&&(r=null),r!==A){if(i=[],(o=mt())!==A)for(;o!==A;)i.push(o),o=mt();else i=A;i!==A?(qe=t,t=n=f()):(He=t,t=A)}else He=t,t=A}else He=t,t=A;if(t===A&&(t=He,(n=gt())!==A&&(r=function(){var e;(e=It())===A&&(e=ft());return e}())!==A?((i=yt())===A&&(i=null),i!==A?(58===e.charCodeAt(He)?(o=C,He++):(o=A,0===Ve&&At(d)),o!==A?((s=yt())===A&&(s=null),s!==A&&(a=ut())!==A?(qe=t,t=n=I(r,a)):(He=t,t=A)):(He=t,t=A)):(He=t,t=A)):(He=t,t=A),t===A&&(t=He,(n=gt())!==A&&(r=pt())!==A?((i=yt())===A&&(i=null),i!==A?(58===e.charCodeAt(He)?(o=C,He++):(o=A,0===Ve&&At(d)),o!==A?((s=yt())===A&&(s=null),s!==A&&(a=ut())!==A?(qe=t,t=n=I(r,a)):(He=t,t=A)):(He=t,t=A)):(He=t,t=A)):(He=t,t=A),t===A))){if(t=He,(n=gt())!==A)if((r=pt())!==A)if((i=yt())!==A)if((o=function(){var e;(e=dt())===A&&(e=It())===A&&(e=Ct());return e}())!==A){if(s=[],(a=mt())!==A)for(;a!==A;)s.push(a),a=mt();else s=A;s!==A?(qe=t,t=n=I(r,o)):(He=t,t=A)}else He=t,t=A;else He=t,t=A;else He=t,t=A;else He=t,t=A;if(t===A)if(t=He,(n=gt())!==A)if((r=pt())!==A){if(i=[],o=He,(s=yt())===A&&(s=null),s!==A?(44===e.charCodeAt(He)?(a=E,He++):(a=A,0===Ve&&At(B)),a!==A?((c=yt())===A&&(c=null),c!==A&&(u=pt())!==A?(qe=o,o=s=y(r,u)):(He=o,o=A)):(He=o,o=A)):(He=o,o=A),o!==A)for(;o!==A;)i.push(o),o=He,(s=yt())===A&&(s=null),s!==A?(44===e.charCodeAt(He)?(a=E,He++):(a=A,0===Ve&&At(B)),a!==A?((c=yt())===A&&(c=null),c!==A&&(u=pt())!==A?(qe=o,o=s=y(r,u)):(He=o,o=A)):(He=o,o=A)):(He=o,o=A);else i=A;i!==A?((o=yt())===A&&(o=null),o!==A?(58===e.charCodeAt(He)?(s=C,He++):(s=A,0===Ve&&At(d)),s!==A?((a=yt())===A&&(a=null),a!==A&&(c=ut())!==A?(qe=t,t=n=m(r,i,c)):(He=t,t=A)):(He=t,t=A)):(He=t,t=A)):(He=t,t=A)}else He=t,t=A;else He=t,t=A}return t}function ut(){var t,n,r,i,o,u,g;if(t=He,n=He,Ve++,r=He,(i=Qt())!==A&&(o=function(){var t,n,r;t=He,n=[],32===e.charCodeAt(He)?(r=b,He++):(r=A,0===Ve&&At(D));for(;r!==A;)n.push(r),32===e.charCodeAt(He)?(r=b,He++):(r=A,0===Ve&&At(D));n!==A?(qe=He,(r=(r=k(n))?void 0:A)!==A?t=n=[n,r]:(He=t,t=A)):(He=t,t=A);return t}())!==A?(45===e.charCodeAt(He)?(u=a,He++):(u=A,0===Ve&&At(c)),u!==A&&(g=yt())!==A?r=i=[i,o,u,g]:(He=r,r=A)):(He=r,r=A),Ve--,r!==A?(He=n,n=void 0):n=A,n!==A&&(r=mt())!==A&&(i=lt())!==A&&(o=function(){var e,t,n;for(e=He,t=[],n=st();n!==A;)t.push(n),n=st();return t!==A&&(qe=e,t=s(t)),e=t}())!==A&&(u=ht())!==A?(qe=t,t=n=Q(o)):(He=t,t=A),t===A&&(t=He,(n=Qt())!==A&&(r=lt())!==A&&(i=at())!==A&&(o=ht())!==A?(qe=t,t=n=Q(i)):(He=t,t=A),t===A))if(t=He,(n=function(){var t;(t=dt())===A&&(t=function(){var t,n;t=He,e.substr(He,4)===z?(n=z,He+=4):(n=A,0===Ve&&At(W));n!==A&&(qe=t,n=X());(t=n)===A&&(t=He,e.substr(He,5)===V?(n=V,He+=5):(n=A,0===Ve&&At($)),n!==A&&(qe=t,n=Z()),t=n);return t}())===A&&(t=It())===A&&(t=ft());return t}())!==A){if(r=[],(i=mt())!==A)for(;i!==A;)r.push(i),i=mt();else r=A;r!==A?(qe=t,t=n=w(n)):(He=t,t=A)}else He=t,t=A;return t}function gt(){var t,n,r;for(Ve++,t=He,n=[],32===e.charCodeAt(He)?(r=b,He++):(r=A,0===Ve&&At(D));r!==A;)n.push(r),32===e.charCodeAt(He)?(r=b,He++):(r=A,0===Ve&&At(D));return n!==A?(qe=He,(r=(r=S(n))?void 0:A)!==A?t=n=[n,r]:(He=t,t=A)):(He=t,t=A),Ve--,t===A&&(n=A,0===Ve&&At(v)),t}function lt(){return qe=He,_()?void 0:A}function ht(){return qe=He,F()?void 0:A}function pt(){var e,t,n;if((e=It())===A){if(e=He,t=[],(n=Ct())!==A)for(;n!==A;)t.push(n),n=Ct();else t=A;t!==A&&(qe=e,t=M()),e=t}return e}function ft(){var t,n,r,i,o,s;if(Ve++,t=He,R.test(e.charAt(He))?(n=e.charAt(He),He++):(n=A,0===Ve&&At(K)),n!==A){for(r=[],i=He,(o=yt())===A&&(o=null),o!==A?(x.test(e.charAt(He))?(s=e.charAt(He),He++):(s=A,0===Ve&&At(P)),s!==A?i=o=[o,s]:(He=i,i=A)):(He=i,i=A);i!==A;)r.push(i),i=He,(o=yt())===A&&(o=null),o!==A?(x.test(e.charAt(He))?(s=e.charAt(He),He++):(s=A,0===Ve&&At(P)),s!==A?i=o=[o,s]:(He=i,i=A)):(He=i,i=A);r!==A?(qe=t,t=n=L()):(He=t,t=A)}else He=t,t=A;return Ve--,t===A&&(n=A,0===Ve&&At(N)),t}function Ct(){var t,n,r,i,o;if(t=He,e.substr(He,2)===O?(n=O,He+=2):(n=A,0===Ve&&At(T)),n===A&&(n=null),n!==A)if(U.test(e.charAt(He))?(r=e.charAt(He),He++):(r=A,0===Ve&&At(Y)),r!==A){for(i=[],j.test(e.charAt(He))?(o=e.charAt(He),He++):(o=A,0===Ve&&At(G));o!==A;)i.push(o),j.test(e.charAt(He))?(o=e.charAt(He),He++):(o=A,0===Ve&&At(G));i!==A?(qe=t,t=n=L()):(He=t,t=A)}else He=t,t=A;else He=t,t=A;return t}function dt(){var t,n;return t=He,e.substr(He,4)===J?(n=J,He+=4):(n=A,0===Ve&&At(H)),n!==A&&(qe=t,n=q()),t=n}function It(){var t,n,r,i;return Ve++,t=He,34===e.charCodeAt(He)?(n=te,He++):(n=A,0===Ve&&At(ne)),n!==A?(34===e.charCodeAt(He)?(r=te,He++):(r=A,0===Ve&&At(ne)),r!==A?(qe=t,t=n=re()):(He=t,t=A)):(He=t,t=A),t===A&&(t=He,34===e.charCodeAt(He)?(n=te,He++):(n=A,0===Ve&&At(ne)),n!==A&&(r=function(){var e,t,n;if(e=He,t=[],(n=Et())!==A)for(;n!==A;)t.push(n),n=Et();else t=A;t!==A&&(qe=e,t=ie(t));return e=t}())!==A?(34===e.charCodeAt(He)?(i=te,He++):(i=A,0===Ve&&At(ne)),i!==A?(qe=t,t=n=Ae(r)):(He=t,t=A)):(He=t,t=A)),Ve--,t===A&&(n=A,0===Ve&&At(ee)),t}function Et(){var t,n,r,i,o,s;return oe.test(e.charAt(He))?(t=e.charAt(He),He++):(t=A,0===Ve&&At(se)),t===A&&(t=He,e.substr(He,2)===ae?(n=ae,He+=2):(n=A,0===Ve&&At(ce)),n!==A&&(qe=t,n=ue()),(t=n)===A&&(t=He,e.substr(He,2)===ge?(n=ge,He+=2):(n=A,0===Ve&&At(le)),n!==A&&(qe=t,n=he()),(t=n)===A&&(t=He,e.substr(He,2)===pe?(n=pe,He+=2):(n=A,0===Ve&&At(fe)),n!==A&&(qe=t,n=Ce()),(t=n)===A&&(t=He,e.substr(He,2)===de?(n=de,He+=2):(n=A,0===Ve&&At(Ie)),n!==A&&(qe=t,n=Ee()),(t=n)===A&&(t=He,e.substr(He,2)===Be?(n=Be,He+=2):(n=A,0===Ve&&At(ye)),n!==A&&(qe=t,n=me()),(t=n)===A&&(t=He,e.substr(He,2)===Qe?(n=Qe,He+=2):(n=A,0===Ve&&At(we)),n!==A&&(qe=t,n=ve()),(t=n)===A&&(t=He,e.substr(He,2)===be?(n=be,He+=2):(n=A,0===Ve&&At(De)),n!==A&&(qe=t,n=Se()),(t=n)===A&&(t=He,e.substr(He,2)===ke?(n=ke,He+=2):(n=A,0===Ve&&At(_e)),n!==A&&(qe=t,n=Fe()),(t=n)===A&&(t=He,e.substr(He,2)===Me?(n=Me,He+=2):(n=A,0===Ve&&At(Ne)),n!==A&&(r=Bt())!==A&&(i=Bt())!==A&&(o=Bt())!==A&&(s=Bt())!==A?(qe=t,t=n=Re(r,i,o,s)):(He=t,t=A)))))))))),t}function Bt(){var t;return Ke.test(e.charAt(He))?(t=e.charAt(He),He++):(t=A,0===Ve&&At(xe)),t}function yt(){var t,n;if(Ve++,t=[],Le.test(e.charAt(He))?(n=e.charAt(He),He++):(n=A,0===Ve&&At(Oe)),n!==A)for(;n!==A;)t.push(n),Le.test(e.charAt(He))?(n=e.charAt(He),He++):(n=A,0===Ve&&At(Oe));else t=A;return Ve--,t===A&&(n=A,0===Ve&&At(Pe)),t}function mt(){var e,t,n,r,i,o;if(e=He,(t=Qt())!==A){for(n=[],r=He,(i=yt())===A&&(i=null),i!==A&&(o=Qt())!==A?r=i=[i,o]:(He=r,r=A);r!==A;)n.push(r),r=He,(i=yt())===A&&(i=null),i!==A&&(o=Qt())!==A?r=i=[i,o]:(He=r,r=A);n!==A?e=t=[t,n]:(He=e,e=A)}else He=e,e=A;return e}function Qt(){var t;return e.substr(He,2)===Te?(t=Te,He+=2):(t=A,0===Ve&&At(Ue)),t===A&&(10===e.charCodeAt(He)?(t=Ye,He++):(t=A,0===Ve&&At(je)),t===A&&(13===e.charCodeAt(He)?(t=Ge,He++):(t=A,0===Ve&&At(Je)))),t}const wt=2;let vt=0;if((n=o())!==A&&He===e.length)return n;throw n!==A&&Hea.string.isString(e)&&!a.string.isEmpty(e)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}!function(e){e.sync=function(e,t){g(e);const n=u(e,o.default,t);return a.array.flatten(n)},e.stream=function(e,t){g(e);const n=u(e,i.default,t);return a.stream.merge(n)},e.generateTasks=function(e,t){g(e);const n=[].concat(e),A=new s.default(t);return r.generate(n,A)},e.isDynamicPattern=function(e,t){g(e);const n=new s.default(t);return a.pattern.isDynamicPattern(e,n)},e.escapePath=function(e){return g(e),a.path.escape(e)}}(c||(c={})),e.exports=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(44);function A(e,t,n){const r=s(e);if("."in r){return[c(".",e,t,n)]}return a(r,t,n)}function i(e){return r.pattern.getPositivePatterns(e)}function o(e,t){return r.pattern.getNegativePatterns(e).concat(t).map(r.pattern.convertToPositivePattern)}function s(e){return e.reduce((e,t)=>{const n=r.pattern.getBaseDirectory(t);return n in e?e[n].push(t):e[n]=[t],e},{})}function a(e,t,n){return Object.keys(e).map(r=>c(r,e[r],t,n))}function c(e,t,n,A){return{dynamic:A,positive:t,negative:n,base:e,patterns:[].concat(t,n.map(r.pattern.convertToNegativePattern))}}t.generate=function(e,t){const n=i(e),s=o(e,t.ignore),a=n.filter(e=>r.pattern.isStaticPattern(e,t)),c=n.filter(e=>r.pattern.isDynamicPattern(e,t)),u=A(a,s,!1),g=A(c,s,!0);return u.concat(g)},t.convertPatternsToTasks=A,t.getPositivePatterns=i,t.getNegativePatternsAsPositive=o,t.groupPatternsByBaseDirectory=s,t.convertPatternGroupsToTasks=a,t.convertPatternGroupToTask=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.flatten=function(e){return e.reduce((e,t)=>[].concat(e,t),[])},t.splitWhen=function(e,t){const n=[[]];let r=0;for(const A of e)t(A)?n[++r]=[]:n[r].push(A);return n}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isEnoentCodeError=function(e){return"ENOENT"===e.code}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class r{constructor(e,t){this.name=e,this.isBlockDevice=t.isBlockDevice.bind(t),this.isCharacterDevice=t.isCharacterDevice.bind(t),this.isDirectory=t.isDirectory.bind(t),this.isFIFO=t.isFIFO.bind(t),this.isFile=t.isFile.bind(t),this.isSocket=t.isSocket.bind(t),this.isSymbolicLink=t.isSymbolicLink.bind(t)}}t.createDirentFromStats=function(e,t){return new r(e,t)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(4),A=2,i=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\())/g;t.unixify=function(e){return e.replace(/\\/g,"/")},t.makeAbsolute=function(e,t){return r.resolve(e,t)},t.escape=function(e){return e.replace(i,"\\$2")},t.removeLeadingDotSegment=function(e){if("."===e.charAt(0)){const t=e.charAt(1);if("/"===t||"\\"===t)return e.slice(A)}return e}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(4),A=n(280),i=n(90),o=n(567),s="**",a="\\",c=/[*?]|^!/,u=/\[.*]/,g=/(?:^|[^!*+?@])\(.*\|.*\)/,l=/[!*+?@]\(.*\)/,h=/{.*(?:,|\.\.).*}/;function p(e,t={}){return!f(e,t)}function f(e,t={}){return!(!1!==t.caseSensitiveMatch&&!e.includes(a))||(!!(c.test(e)||u.test(e)||g.test(e))||(!(!1===t.extglob||!l.test(e))||!(!1===t.braceExpansion||!h.test(e))))}function C(e){return e.startsWith("!")&&"("!==e[1]}function d(e){return!C(e)}function I(e){return e.endsWith("/"+s)}function E(e){return i.braces(e,{expand:!0,nodupes:!0})}function B(e,t){return i.makeRe(e,t)}t.isStaticPattern=p,t.isDynamicPattern=f,t.convertToPositivePattern=function(e){return C(e)?e.slice(1):e},t.convertToNegativePattern=function(e){return"!"+e},t.isNegativePattern=C,t.isPositivePattern=d,t.getNegativePatterns=function(e){return e.filter(C)},t.getPositivePatterns=function(e){return e.filter(d)},t.getBaseDirectory=function(e){return A(e,{flipBackslashes:!1})},t.hasGlobStar=function(e){return e.includes(s)},t.endsWithSlashGlobStar=I,t.isAffectDepthOfReadingPattern=function(e){const t=r.basename(e);return I(e)||p(t)},t.expandPatternsWithBraceExpansion=function(e){return e.reduce((e,t)=>e.concat(E(t)),[])},t.expandBraceExpansion=E,t.getPatternParts=function(e,t){const n=o.scan(e,Object.assign(Object.assign({},t),{parts:!0}));return 0===n.parts.length?[e]:n.parts},t.makeRe=B,t.convertPatternsToRe=function(e,t){return e.map(e=>B(e,t))},t.matchAny=function(e,t){return t.some(t=>t.test(e))}},function(e,t,n){ +/*! + * is-glob + * + * Copyright (c) 2014-2017, Jon Schlinkert. + * Released under the MIT License. + */ +var r=n(566),A={"{":"}","(":")","[":"]"},i=/\\(.)|(^!|\*|[\].+)]\?|\[[^\\\]]+\]|\{[^\\}]+\}|\(\?[:!=][^\\)]+\)|\([^|]+\|[^\\)]+\))/,o=/\\(.)|(^!|[*?{}()[\]]|\(\?)/;e.exports=function(e,t){if("string"!=typeof e||""===e)return!1;if(r(e))return!0;var n,s=i;for(t&&!1===t.strict&&(s=o);n=s.exec(e);){if(n[2])return!0;var a=n.index+n[0].length,c=n[1],u=c?A[c]:null;if(c&&u){var g=e.indexOf(u,a);-1!==g&&(a=g+1)}e=e.slice(a)}return!1}},function(e,t){ +/*! + * is-extglob + * + * Copyright (c) 2014-2016, Jon Schlinkert. + * Licensed under the MIT License. + */ +e.exports=function(e){if("string"!=typeof e||""===e)return!1;for(var t;t=/(\\).|([@?!+*]\(.*\))/g.exec(e);){if(t[2])return!0;e=e.slice(t.index+t[0].length)}return!1}},function(e,t,n){"use strict";e.exports=n(568)},function(e,t,n){"use strict";const r=n(4),A=n(569),i=n(570),o=n(184),s=n(126),a=(e,t,n=!1)=>{if(Array.isArray(e)){const r=e.map(e=>a(e,t,n));return e=>{for(const t of r){const n=t(e);if(n)return n}return!1}}const r=(e=>e&&"object"==typeof e&&!Array.isArray(e))(e)&&e.tokens&&e.input;if(""===e||"string"!=typeof e&&!r)throw new TypeError("Expected pattern to be a non-empty string");const A=t||{},i=o.isWindows(t),s=r?a.compileRe(e,t):a.makeRe(e,t,!1,!0),c=s.state;delete s.state;let u=()=>!1;if(A.ignore){const e={...t,ignore:null,onMatch:null,onResult:null};u=a(A.ignore,e,n)}const g=(n,r=!1)=>{const{isMatch:o,match:g,output:l}=a.test(n,s,t,{glob:e,posix:i}),h={glob:e,state:c,regex:s,posix:i,input:n,output:l,match:g,isMatch:o};return"function"==typeof A.onResult&&A.onResult(h),!1===o?(h.isMatch=!1,!!r&&h):u(n)?("function"==typeof A.onIgnore&&A.onIgnore(h),h.isMatch=!1,!!r&&h):("function"==typeof A.onMatch&&A.onMatch(h),!r||h)};return n&&(g.state=c),g};a.test=(e,t,n,{glob:r,posix:A}={})=>{if("string"!=typeof e)throw new TypeError("Expected input to be a string");if(""===e)return{isMatch:!1,output:""};const i=n||{},s=i.format||(A?o.toPosixSlashes:null);let c=e===r,u=c&&s?s(e):e;return!1===c&&(c=(u=s?s(e):e)===r),!1!==c&&!0!==i.capture||(c=!0===i.matchBase||!0===i.basename?a.matchBase(e,t,n,A):t.exec(u)),{isMatch:Boolean(c),match:c,output:u}},a.matchBase=(e,t,n,A=o.isWindows(n))=>{return(t instanceof RegExp?t:a.makeRe(t,n)).test(r.basename(e))},a.isMatch=(e,t,n)=>a(t,n)(e),a.parse=(e,t)=>Array.isArray(e)?e.map(e=>a.parse(e,t)):i(e,{...t,fastpaths:!1}),a.scan=(e,t)=>A(e,t),a.compileRe=(e,t,n=!1,r=!1)=>{if(!0===n)return e.output;const A=t||{},i=A.contains?"":"^",o=A.contains?"":"$";let s=`${i}(?:${e.output})${o}`;e&&!0===e.negated&&(s=`^(?!${s}).*$`);const c=a.toRegex(s,t);return!0===r&&(c.state=e),c},a.makeRe=(e,t,n=!1,r=!1)=>{if(!e||"string"!=typeof e)throw new TypeError("Expected a non-empty string");const A=t||{};let o,s={negated:!1,fastpaths:!0},c="";return e.startsWith("./")&&(e=e.slice(2),c=s.prefix="./"),!1===A.fastpaths||"."!==e[0]&&"*"!==e[0]||(o=i.fastpaths(e,t)),void 0===o?(s=i(e,t)).prefix=c+(s.prefix||""):s.output=o,a.compileRe(s,t,n,r)},a.toRegex=(e,t)=>{try{const n=t||{};return new RegExp(e,n.flags||(n.nocase?"i":""))}catch(e){if(t&&!0===t.debug)throw e;return/$^/}},a.constants=s,e.exports=a},function(e,t,n){"use strict";const r=n(184),{CHAR_ASTERISK:A,CHAR_AT:i,CHAR_BACKWARD_SLASH:o,CHAR_COMMA:s,CHAR_DOT:a,CHAR_EXCLAMATION_MARK:c,CHAR_FORWARD_SLASH:u,CHAR_LEFT_CURLY_BRACE:g,CHAR_LEFT_PARENTHESES:l,CHAR_LEFT_SQUARE_BRACKET:h,CHAR_PLUS:p,CHAR_QUESTION_MARK:f,CHAR_RIGHT_CURLY_BRACE:C,CHAR_RIGHT_PARENTHESES:d,CHAR_RIGHT_SQUARE_BRACKET:I}=n(126),E=e=>e===u||e===o,B=e=>{!0!==e.isPrefix&&(e.depth=e.isGlobstar?1/0:1)};e.exports=(e,t)=>{const n=t||{},y=e.length-1,m=!0===n.parts||!0===n.scanToEnd,Q=[],w=[],v=[];let b,D,S=e,k=-1,_=0,F=0,M=!1,N=!1,R=!1,K=!1,x=!1,P=!1,L=!1,O=!1,T=!1,U=0,Y={value:"",depth:0,isGlob:!1};const j=()=>k>=y,G=()=>S.charCodeAt(k+1),J=()=>(b=D,S.charCodeAt(++k));for(;k0&&(q=S.slice(0,_),S=S.slice(_),F-=_),H&&!0===R&&F>0?(H=S.slice(0,F),z=S.slice(F)):!0===R?(H="",z=S):H=S,H&&""!==H&&"/"!==H&&H!==S&&E(H.charCodeAt(H.length-1))&&(H=H.slice(0,-1)),!0===n.unescape&&(z&&(z=r.removeBackslashes(z)),H&&!0===L&&(H=r.removeBackslashes(H)));const W={prefix:q,input:e,start:_,base:H,glob:z,isBrace:M,isBracket:N,isGlob:R,isExtglob:K,isGlobstar:x,negated:O};if(!0===n.tokens&&(W.maxDepth=0,E(D)||w.push(Y),W.tokens=w),!0===n.parts||!0===n.tokens){let t;for(let r=0;r{if("function"==typeof t.expandRange)return t.expandRange(...e,t);e.sort();const n=`[${e.join("-")}]`;try{new RegExp(n)}catch(t){return e.map(e=>A.escapeRegex(e)).join("..")}return n},g=(e,t)=>`Missing ${e}: "${t}" - use "\\\\${t}" to match literal characters`,l=(e,t)=>{if("string"!=typeof e)throw new TypeError("Expected a string");e=c[e]||e;const n={...t},l="number"==typeof n.maxLength?Math.min(i,n.maxLength):i;let h=e.length;if(h>l)throw new SyntaxError(`Input length: ${h}, exceeds maximum allowed length: ${l}`);const p={type:"bos",value:"",output:n.prepend||""},f=[p],C=n.capture?"":"?:",d=A.isWindows(t),I=r.globChars(d),E=r.extglobChars(I),{DOT_LITERAL:B,PLUS_LITERAL:y,SLASH_LITERAL:m,ONE_CHAR:Q,DOTS_SLASH:w,NO_DOT:v,NO_DOT_SLASH:b,NO_DOTS_SLASH:D,QMARK:S,QMARK_NO_DOT:k,STAR:_,START_ANCHOR:F}=I,M=e=>`(${C}(?:(?!${F}${e.dot?w:B}).)*?)`,N=n.dot?"":v,R=n.dot?S:k;let K=!0===n.bash?M(n):_;n.capture&&(K=`(${K})`),"boolean"==typeof n.noext&&(n.noextglob=n.noext);const x={input:e,index:-1,start:0,dot:!0===n.dot,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:f};e=A.removePrefix(e,x),h=e.length;const P=[],L=[],O=[];let T,U=p;const Y=()=>x.index===h-1,j=x.peek=(t=1)=>e[x.index+t],G=x.advance=()=>e[++x.index],J=()=>e.slice(x.index+1),H=(e="",t=0)=>{x.consumed+=e,x.index+=t},q=e=>{x.output+=null!=e.output?e.output:e.value,H(e.value)},z=()=>{let e=1;for(;"!"===j()&&("("!==j(2)||"?"===j(3));)G(),x.start++,e++;return e%2!=0&&(x.negated=!0,x.start++,!0)},W=e=>{x[e]++,O.push(e)},X=e=>{x[e]--,O.pop()},V=e=>{if("globstar"===U.type){const t=x.braces>0&&("comma"===e.type||"brace"===e.type),n=!0===e.extglob||P.length&&("pipe"===e.type||"paren"===e.type);"slash"===e.type||"paren"===e.type||t||n||(x.output=x.output.slice(0,-U.output.length),U.type="star",U.value="*",U.output=K,x.output+=U.output)}if(P.length&&"paren"!==e.type&&!E[e.value]&&(P[P.length-1].inner+=e.value),(e.value||e.output)&&q(e),U&&"text"===U.type&&"text"===e.type)return U.value+=e.value,void(U.output=(U.output||"")+e.value);e.prev=U,f.push(e),U=e},$=(e,t)=>{const r={...E[t],conditions:1,inner:""};r.prev=U,r.parens=x.parens,r.output=x.output;const A=(n.capture?"(":"")+r.open;W("parens"),V({type:e,value:t,output:x.output?"":Q}),V({type:"paren",extglob:!0,value:G(),output:A}),P.push(r)},Z=e=>{let t=e.close+(n.capture?")":"");if("negate"===e.type){let r=K;e.inner&&e.inner.length>1&&e.inner.includes("/")&&(r=M(n)),(r!==K||Y()||/^\)+$/.test(J()))&&(t=e.close=`)$))${r}`),"bos"===e.prev.type&&Y()&&(x.negatedExtglob=!0)}V({type:"paren",extglob:!0,value:T,output:t}),X("parens")};if(!1!==n.fastpaths&&!/(^[*!]|[/()[\]{}"])/.test(e)){let r=!1,i=e.replace(a,(e,t,n,A,i,o)=>"\\"===A?(r=!0,e):"?"===A?t?t+A+(i?S.repeat(i.length):""):0===o?R+(i?S.repeat(i.length):""):S.repeat(n.length):"."===A?B.repeat(n.length):"*"===A?t?t+A+(i?K:""):K:t?e:`\\${e}`);return!0===r&&(i=!0===n.unescape?i.replace(/\\/g,""):i.replace(/\\+/g,e=>e.length%2==0?"\\\\":e?"\\":"")),i===e&&!0===n.contains?(x.output=e,x):(x.output=A.wrapOutput(i,x,t),x)}for(;!Y();){if("\0"===(T=G()))continue;if("\\"===T){const e=j();if("/"===e&&!0!==n.bash)continue;if("."===e||";"===e)continue;if(!e){V({type:"text",value:T+="\\"});continue}const t=/^\\+/.exec(J());let r=0;if(t&&t[0].length>2&&(r=t[0].length,x.index+=r,r%2!=0&&(T+="\\")),!0===n.unescape?T=G()||"":T+=G()||"",0===x.brackets){V({type:"text",value:T});continue}}if(x.brackets>0&&("]"!==T||"["===U.value||"[^"===U.value)){if(!1!==n.posix&&":"===T){const e=U.value.slice(1);if(e.includes("[")&&(U.posix=!0,e.includes(":"))){const e=U.value.lastIndexOf("["),t=U.value.slice(0,e),n=U.value.slice(e+2),r=o[n];if(r){U.value=t+r,x.backtrack=!0,G(),p.output||1!==f.indexOf(U)||(p.output=Q);continue}}}("["===T&&":"!==j()||"-"===T&&"]"===j())&&(T=`\\${T}`),"]"!==T||"["!==U.value&&"[^"!==U.value||(T=`\\${T}`),!0===n.posix&&"!"===T&&"["===U.value&&(T="^"),U.value+=T,q({value:T});continue}if(1===x.quotes&&'"'!==T){T=A.escapeRegex(T),U.value+=T,q({value:T});continue}if('"'===T){x.quotes=1===x.quotes?0:1,!0===n.keepQuotes&&V({type:"text",value:T});continue}if("("===T){W("parens"),V({type:"paren",value:T});continue}if(")"===T){if(0===x.parens&&!0===n.strictBrackets)throw new SyntaxError(g("opening","("));const e=P[P.length-1];if(e&&x.parens===e.parens+1){Z(P.pop());continue}V({type:"paren",value:T,output:x.parens?")":"\\)"}),X("parens");continue}if("["===T){if(!0!==n.nobracket&&J().includes("]"))W("brackets");else{if(!0!==n.nobracket&&!0===n.strictBrackets)throw new SyntaxError(g("closing","]"));T=`\\${T}`}V({type:"bracket",value:T});continue}if("]"===T){if(!0===n.nobracket||U&&"bracket"===U.type&&1===U.value.length){V({type:"text",value:T,output:`\\${T}`});continue}if(0===x.brackets){if(!0===n.strictBrackets)throw new SyntaxError(g("opening","["));V({type:"text",value:T,output:`\\${T}`});continue}X("brackets");const e=U.value.slice(1);if(!0===U.posix||"^"!==e[0]||e.includes("/")||(T=`/${T}`),U.value+=T,q({value:T}),!1===n.literalBrackets||A.hasRegexChars(e))continue;const t=A.escapeRegex(U.value);if(x.output=x.output.slice(0,-U.value.length),!0===n.literalBrackets){x.output+=t,U.value=t;continue}U.value=`(${C}${t}|${U.value})`,x.output+=U.value;continue}if("{"===T&&!0!==n.nobrace){W("braces");const e={type:"brace",value:T,output:"(",outputIndex:x.output.length,tokensIndex:x.tokens.length};L.push(e),V(e);continue}if("}"===T){const e=L[L.length-1];if(!0===n.nobrace||!e){V({type:"text",value:T,output:T});continue}let t=")";if(!0===e.dots){const e=f.slice(),r=[];for(let t=e.length-1;t>=0&&(f.pop(),"brace"!==e[t].type);t--)"dots"!==e[t].type&&r.unshift(e[t].value);t=u(r,n),x.backtrack=!0}if(!0!==e.comma&&!0!==e.dots){const n=x.output.slice(0,e.outputIndex),r=x.tokens.slice(e.tokensIndex);e.value=e.output="\\{",T=t="\\}",x.output=n;for(const e of r)x.output+=e.output||e.value}V({type:"brace",value:T,output:t}),X("braces"),L.pop();continue}if("|"===T){P.length>0&&P[P.length-1].conditions++,V({type:"text",value:T});continue}if(","===T){let e=T;const t=L[L.length-1];t&&"braces"===O[O.length-1]&&(t.comma=!0,e="|"),V({type:"comma",value:T,output:e});continue}if("/"===T){if("dot"===U.type&&x.index===x.start+1){x.start=x.index+1,x.consumed="",x.output="",f.pop(),U=p;continue}V({type:"slash",value:T,output:m});continue}if("."===T){if(x.braces>0&&"dot"===U.type){"."===U.value&&(U.output=B);const e=L[L.length-1];U.type="dots",U.output+=T,U.value+=T,e.dots=!0;continue}if(x.braces+x.parens===0&&"bos"!==U.type&&"slash"!==U.type){V({type:"text",value:T,output:B});continue}V({type:"dot",value:T,output:B});continue}if("?"===T){if(!(U&&"("===U.value)&&!0!==n.noextglob&&"("===j()&&"?"!==j(2)){$("qmark",T);continue}if(U&&"paren"===U.type){const e=j();let t=T;if("<"===e&&!A.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");("("===U.value&&!/[!=<:]/.test(e)||"<"===e&&!/<([!=]|\w+>)/.test(J()))&&(t=`\\${T}`),V({type:"text",value:T,output:t});continue}if(!0!==n.dot&&("slash"===U.type||"bos"===U.type)){V({type:"qmark",value:T,output:k});continue}V({type:"qmark",value:T,output:S});continue}if("!"===T){if(!0!==n.noextglob&&"("===j()&&("?"!==j(2)||!/[!=<:]/.test(j(3)))){$("negate",T);continue}if(!0!==n.nonegate&&0===x.index){z();continue}}if("+"===T){if(!0!==n.noextglob&&"("===j()&&"?"!==j(2)){$("plus",T);continue}if(U&&"("===U.value||!1===n.regex){V({type:"plus",value:T,output:y});continue}if(U&&("bracket"===U.type||"paren"===U.type||"brace"===U.type)||x.parens>0){V({type:"plus",value:T});continue}V({type:"plus",value:y});continue}if("@"===T){if(!0!==n.noextglob&&"("===j()&&"?"!==j(2)){V({type:"at",extglob:!0,value:T,output:""});continue}V({type:"text",value:T});continue}if("*"!==T){"$"!==T&&"^"!==T||(T=`\\${T}`);const e=s.exec(J());e&&(T+=e[0],x.index+=e[0].length),V({type:"text",value:T});continue}if(U&&("globstar"===U.type||!0===U.star)){U.type="star",U.star=!0,U.value+=T,U.output=K,x.backtrack=!0,x.globstar=!0,H(T);continue}let t=J();if(!0!==n.noextglob&&/^\([^?]/.test(t)){$("star",T);continue}if("star"===U.type){if(!0===n.noglobstar){H(T);continue}const r=U.prev,A=r.prev,i="slash"===r.type||"bos"===r.type,o=A&&("star"===A.type||"globstar"===A.type);if(!0===n.bash&&(!i||t[0]&&"/"!==t[0])){V({type:"star",value:T,output:""});continue}const s=x.braces>0&&("comma"===r.type||"brace"===r.type),a=P.length&&("pipe"===r.type||"paren"===r.type);if(!i&&"paren"!==r.type&&!s&&!a){V({type:"star",value:T,output:""});continue}for(;"/**"===t.slice(0,3);){const n=e[x.index+4];if(n&&"/"!==n)break;t=t.slice(3),H("/**",3)}if("bos"===r.type&&Y()){U.type="globstar",U.value+=T,U.output=M(n),x.output=U.output,x.globstar=!0,H(T);continue}if("slash"===r.type&&"bos"!==r.prev.type&&!o&&Y()){x.output=x.output.slice(0,-(r.output+U.output).length),r.output=`(?:${r.output}`,U.type="globstar",U.output=M(n)+(n.strictSlashes?")":"|$)"),U.value+=T,x.globstar=!0,x.output+=r.output+U.output,H(T);continue}if("slash"===r.type&&"bos"!==r.prev.type&&"/"===t[0]){const e=void 0!==t[1]?"|$":"";x.output=x.output.slice(0,-(r.output+U.output).length),r.output=`(?:${r.output}`,U.type="globstar",U.output=`${M(n)}${m}|${m}${e})`,U.value+=T,x.output+=r.output+U.output,x.globstar=!0,H(T+G()),V({type:"slash",value:"/",output:""});continue}if("bos"===r.type&&"/"===t[0]){U.type="globstar",U.value+=T,U.output=`(?:^|${m}|${M(n)}${m})`,x.output=U.output,x.globstar=!0,H(T+G()),V({type:"slash",value:"/",output:""});continue}x.output=x.output.slice(0,-U.output.length),U.type="globstar",U.output=M(n),U.value+=T,x.output+=U.output,x.globstar=!0,H(T);continue}const r={type:"star",value:T,output:K};!0!==n.bash?!U||"bracket"!==U.type&&"paren"!==U.type||!0!==n.regex?(x.index!==x.start&&"slash"!==U.type&&"dot"!==U.type||("dot"===U.type?(x.output+=b,U.output+=b):!0===n.dot?(x.output+=D,U.output+=D):(x.output+=N,U.output+=N),"*"!==j()&&(x.output+=Q,U.output+=Q)),V(r)):(r.output=T,V(r)):(r.output=".*?","bos"!==U.type&&"slash"!==U.type||(r.output=N+r.output),V(r))}for(;x.brackets>0;){if(!0===n.strictBrackets)throw new SyntaxError(g("closing","]"));x.output=A.escapeLast(x.output,"["),X("brackets")}for(;x.parens>0;){if(!0===n.strictBrackets)throw new SyntaxError(g("closing",")"));x.output=A.escapeLast(x.output,"("),X("parens")}for(;x.braces>0;){if(!0===n.strictBrackets)throw new SyntaxError(g("closing","}"));x.output=A.escapeLast(x.output,"{"),X("braces")}if(!0===n.strictSlashes||"star"!==U.type&&"bracket"!==U.type||V({type:"maybe_slash",value:"",output:`${m}?`}),!0===x.backtrack){x.output="";for(const e of x.tokens)x.output+=null!=e.output?e.output:e.value,e.suffix&&(x.output+=e.suffix)}return x};l.fastpaths=(e,t)=>{const n={...t},o="number"==typeof n.maxLength?Math.min(i,n.maxLength):i,s=e.length;if(s>o)throw new SyntaxError(`Input length: ${s}, exceeds maximum allowed length: ${o}`);e=c[e]||e;const a=A.isWindows(t),{DOT_LITERAL:u,SLASH_LITERAL:g,ONE_CHAR:l,DOTS_SLASH:h,NO_DOT:p,NO_DOTS:f,NO_DOTS_SLASH:C,STAR:d,START_ANCHOR:I}=r.globChars(a),E=n.dot?f:p,B=n.dot?C:p,y=n.capture?"":"?:";let m=!0===n.bash?".*?":d;n.capture&&(m=`(${m})`);const Q=e=>!0===e.noglobstar?m:`(${y}(?:(?!${I}${e.dot?h:u}).)*?)`,w=e=>{switch(e){case"*":return`${E}${l}${m}`;case".*":return`${u}${l}${m}`;case"*.*":return`${E}${m}${u}${l}${m}`;case"*/*":return`${E}${m}${g}${l}${B}${m}`;case"**":return E+Q(n);case"**/*":return`(?:${E}${Q(n)}${g})?${B}${l}${m}`;case"**/*.*":return`(?:${E}${Q(n)}${g})?${B}${m}${u}${l}${m}`;case"**/.*":return`(?:${E}${Q(n)}${g})?${u}${l}${m}`;default:{const t=/^(.*?)\.(\w+)$/.exec(e);if(!t)return;const n=w(t[1]);if(!n)return;return n+u+t[2]}}},v=A.removePrefix(e,{negated:!1,prefix:""});let b=w(v);return b&&!0!==n.strictSlashes&&(b+=`${g}?`),b},e.exports=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(281);function A(e){e.forEach(e=>e.emit("close"))}t.merge=function(e){const t=r(e);return e.forEach(e=>{e.once("error",e=>t.emit("error",e))}),t.once("close",()=>A(e)),t.once("end",()=>A(e)),t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isString=function(e){return"string"==typeof e},t.isEmpty=function(e){return""===e}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(282),A=n(187);class i extends A.default{constructor(){super(...arguments),this._reader=new r.default(this._settings)}read(e){const t=this._getRootDirectory(e),n=this._getReaderOptions(e),r=[];return new Promise((A,i)=>{const o=this.api(t,e,n);o.once("error",i),o.on("data",e=>r.push(n.transform(e))),o.once("end",()=>A(r))})}api(e,t,n){return t.dynamic?this._reader.dynamic(e,n):this._reader.static(t.patterns,n)}}t.default=i},function(e,t,n){"use strict";function r(e,t){e(t)}function A(e,t){e(null,t)}Object.defineProperty(t,"__esModule",{value:!0}),t.read=function(e,t,n){t.fs.lstat(e,(i,o)=>null!==i?r(n,i):o.isSymbolicLink()&&t.followSymbolicLink?void t.fs.stat(e,(e,i)=>{if(null!==e)return t.throwErrorOnBrokenSymbolicLink?r(n,e):A(n,o);t.markSymbolicLink&&(i.isSymbolicLink=()=>!0),A(n,i)}):A(n,o))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.read=function(e,t){const n=t.fs.lstatSync(e);if(!n.isSymbolicLink()||!t.followSymbolicLink)return n;try{const n=t.fs.statSync(e);return t.markSymbolicLink&&(n.isSymbolicLink=()=>!0),n}catch(e){if(!t.throwErrorOnBrokenSymbolicLink)return n;throw e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(577);t.default=class{constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=r.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(e,t){return void 0===e?t:e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(3);t.FILE_SYSTEM_ADAPTER={lstat:r.lstat,stat:r.stat,lstatSync:r.lstatSync,statSync:r.statSync},t.createFileSystemAdapter=function(e){return void 0===e?t.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},t.FILE_SYSTEM_ADAPTER),e)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(283);t.default=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new r.default(this._root,this._settings),this._storage=new Set}read(e){this._reader.onError(t=>{!function(e,t){e(t)}(e,t)}),this._reader.onEntry(e=>{this._storage.add(e)}),this._reader.onEnd(()=>{!function(e,t){e(null,t)}(e,[...this._storage])}),this._reader.read()}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(41),A=n(580),i=n(284),o=n(285);function s(e,t,n){t.fs.readdir(e,{withFileTypes:!0},(r,i)=>{if(null!==r)return c(n,r);const s=i.map(n=>({dirent:n,name:n.name,path:`${e}${t.pathSegmentSeparator}${n.name}`}));if(!t.followSymbolicLinks)return u(n,s);const a=s.map(e=>(function(e,t){return n=>{if(!e.dirent.isSymbolicLink())return n(null,e);t.fs.stat(e.path,(r,A)=>null!==r?t.throwErrorOnBrokenSymbolicLink?n(r):n(null,e):(e.dirent=o.fs.createDirentFromStats(e.name,A),n(null,e)))}})(e,t));A(a,(e,t)=>{if(null!==e)return c(n,e);u(n,t)})})}function a(e,t,n){t.fs.readdir(e,(i,s)=>{if(null!==i)return c(n,i);const a=s.map(n=>`${e}${t.pathSegmentSeparator}${n}`),g=a.map(e=>n=>r.stat(e,t.fsStatSettings,n));A(g,(e,r)=>{if(null!==e)return c(n,e);const A=[];s.forEach((e,n)=>{const i=r[n],s={name:e,path:a[n],dirent:o.fs.createDirentFromStats(e,i)};t.stats&&(s.stats=i),A.push(s)}),u(n,A)})})}function c(e,t){e(t)}function u(e,t){e(null,t)}t.read=function(e,t,n){return!t.stats&&i.IS_SUPPORT_READDIR_WITH_FILE_TYPES?s(e,t,n):a(e,t,n)},t.readdirWithFileTypes=s,t.readdir=a},function(e,t){e.exports=function(e,t){var n,r,A,i=!0;Array.isArray(e)?(n=[],r=e.length):(A=Object.keys(e),n={},r=A.length);function o(e){function r(){t&&t(e,n),t=null}i?process.nextTick(r):r()}function s(e,t,A){n[e]=A,(0==--r||t)&&o(t)}r?A?A.forEach((function(t){e[t]((function(e,n){s(t,e,n)}))})):e.forEach((function(e,t){e((function(e,n){s(t,e,n)}))})):o(null);i=!1}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class r{constructor(e,t){this.name=e,this.isBlockDevice=t.isBlockDevice.bind(t),this.isCharacterDevice=t.isCharacterDevice.bind(t),this.isDirectory=t.isDirectory.bind(t),this.isFIFO=t.isFIFO.bind(t),this.isFile=t.isFile.bind(t),this.isSocket=t.isSocket.bind(t),this.isSymbolicLink=t.isSymbolicLink.bind(t)}}t.createDirentFromStats=function(e,t){return new r(e,t)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(41),A=n(284),i=n(285);function o(e,t){return t.fs.readdirSync(e,{withFileTypes:!0}).map(n=>{const r={dirent:n,name:n.name,path:`${e}${t.pathSegmentSeparator}${n.name}`};if(r.dirent.isSymbolicLink()&&t.followSymbolicLinks)try{const e=t.fs.statSync(r.path);r.dirent=i.fs.createDirentFromStats(r.name,e)}catch(e){if(t.throwErrorOnBrokenSymbolicLink)throw e}return r})}function s(e,t){return t.fs.readdirSync(e).map(n=>{const A=`${e}${t.pathSegmentSeparator}${n}`,o=r.statSync(A,t.fsStatSettings),s={name:n,path:A,dirent:i.fs.createDirentFromStats(n,o)};return t.stats&&(s.stats=o),s})}t.read=function(e,t){return!t.stats&&A.IS_SUPPORT_READDIR_WITH_FILE_TYPES?o(e,t):s(e,t)},t.readdirWithFileTypes=o,t.readdir=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(4),A=n(41),i=n(584);t.default=class{constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=i.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,r.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new A.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(e,t){return void 0===e?t:e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(3);t.FILE_SYSTEM_ADAPTER={lstat:r.lstat,stat:r.stat,lstatSync:r.lstatSync,statSync:r.statSync,readdir:r.readdir,readdirSync:r.readdirSync},t.createFileSystemAdapter=function(e){return void 0===e?t.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},t.FILE_SYSTEM_ADAPTER),e)}},function(e,t,n){"use strict";var r=n(586);function A(){}function i(){this.value=null,this.callback=A,this.next=null,this.release=A,this.context=null;var e=this;this.worked=function(t,n){var r=e.callback;e.value=null,e.callback=A,r.call(e.context,t,n),e.release(e)}}e.exports=function(e,t,n){"function"==typeof e&&(n=t,t=e,e=null);var o=r(i),s=null,a=null,c=0,u={push:function(n,r){var i=o.get();i.context=e,i.release=g,i.value=n,i.callback=r||A,c===u.concurrency||u.paused?a?(a.next=i,a=i):(s=i,a=i,u.saturated()):(c++,t.call(e,i.value,i.worked))},drain:A,saturated:A,pause:function(){u.paused=!0},paused:!1,concurrency:n,running:function(){return c},resume:function(){if(!u.paused)return;u.paused=!1;for(var e=0;e{},destroy:this._reader.destroy.bind(this._reader)})}read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),this._reader.onEntry(e=>{this._stream.push(e)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(589);t.default=class{constructor(e,t){this._root=e,this._settings=t,this._reader=new r.default(this._root,this._settings)}read(){return this._reader.read()}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(185),A=n(186),i=n(286);class o extends i.default{constructor(){super(...arguments),this._scandir=r.scandirSync,this._storage=new Set,this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),[...this._storage]}_pushToQueue(e,t){this._queue.add({directory:e,base:t})}_handleQueue(){for(const e of this._queue.values())this._handleDirectory(e.directory,e.base)}_handleDirectory(e,t){try{const n=this._scandir(e,this._settings.fsScandirSettings);for(const e of n)this._handleEntry(e,t)}catch(e){this._handleError(e)}}_handleError(e){if(A.isFatalError(this._settings,e))throw e}_handleEntry(e,t){const n=e.path;void 0!==t&&(e.path=A.joinPathSegments(t,e.name,this._settings.pathSegmentSeparator)),A.isAppliedFilter(this._settings.entryFilter,e)&&this._pushToStorage(e),e.dirent.isDirectory()&&A.isAppliedFilter(this._settings.deepFilter,e)&&this._pushToQueue(n,e.path)}_pushToStorage(e){this._storage.add(e)}}t.default=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(4),A=n(185);t.default=class{constructor(e={}){this._options=e,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,1/0),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,r.sep),this.fsScandirSettings=new A.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(e,t){return void 0===e?t:e}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(44),A=n(592);t.default=class{constructor(e,t){this._settings=e,this._micromatchOptions=t}getFilter(e,t,n){const r=this._getMatcher(t),A=this._getNegativePatternsRe(n);return t=>this._filter(e,t,r,A)}_getMatcher(e){return new A.default(e,this._settings,this._micromatchOptions)}_getNegativePatternsRe(e){const t=e.filter(r.pattern.isAffectDepthOfReadingPattern);return r.pattern.convertPatternsToRe(t,this._micromatchOptions)}_filter(e,t,n,A){const i=this._getEntryLevel(e,t.path);if(this._isSkippedByDeep(i))return!1;if(this._isSkippedSymbolicLink(t))return!1;const o=r.path.removeLeadingDotSegment(t.path);return!this._isSkippedByPositivePatterns(o,n)&&this._isSkippedByNegativePatterns(o,A)}_isSkippedByDeep(e){return e>=this._settings.deep}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_getEntryLevel(e,t){const n=e.split("/").length;return t.split("/").length-(""===e?0:n)}_isSkippedByPositivePatterns(e,t){return!this._settings.baseNameMatch&&!t.match(e)}_isSkippedByNegativePatterns(e,t){return!r.pattern.matchAny(e,t)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(593);class A extends r.default{match(e){const t=e.split("/"),n=t.length,r=this._storage.filter(e=>!e.complete||e.segments.length>n);for(const e of r){const r=e.sections[0];if(!e.complete&&n>r.length)return!0;if(t.every((t,n)=>{const r=e.segments[n];return!(!r.dynamic||!r.patternRe.test(t))||!r.dynamic&&r.pattern===t}))return!0}return!1}}t.default=A},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(44);t.default=class{constructor(e,t,n){this._patterns=e,this._settings=t,this._micromatchOptions=n,this._storage=[],this._fillStorage()}_fillStorage(){const e=r.pattern.expandPatternsWithBraceExpansion(this._patterns);for(const t of e){const e=this._getPatternSegments(t),n=this._splitSegmentsIntoSections(e);this._storage.push({complete:n.length<=1,pattern:t,segments:e,sections:n})}}_getPatternSegments(e){return r.pattern.getPatternParts(e,this._micromatchOptions).map(e=>{return r.pattern.isDynamicPattern(e,this._settings)?{dynamic:!0,pattern:e,patternRe:r.pattern.makeRe(e,this._micromatchOptions)}:{dynamic:!1,pattern:e}})}_splitSegmentsIntoSections(e){return r.array.splitWhen(e,e=>e.dynamic&&r.pattern.hasGlobStar(e.pattern))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(44);t.default=class{constructor(e,t){this._settings=e,this._micromatchOptions=t,this.index=new Map}getFilter(e,t){const n=r.pattern.convertPatternsToRe(e,this._micromatchOptions),A=r.pattern.convertPatternsToRe(t,this._micromatchOptions);return e=>this._filter(e,n,A)}_filter(e,t,n){if(this._settings.unique){if(this._isDuplicateEntry(e))return!1;this._createIndexRecord(e)}if(this._onlyFileFilter(e)||this._onlyDirectoryFilter(e))return!1;if(this._isSkippedByAbsoluteNegativePatterns(e,n))return!1;const r=this._settings.baseNameMatch?e.name:e.path;return this._isMatchToPatterns(r,t)&&!this._isMatchToPatterns(e.path,n)}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,t){if(!this._settings.absolute)return!1;const n=r.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(n,t)}_isMatchToPatterns(e,t){const n=r.path.removeLeadingDotSegment(e);return r.pattern.matchAny(n,t)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(44);t.default=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return r.errno.isEnoentCodeError(e)||this._settings.suppressErrors}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(44);t.default=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let t=e.path;return this._settings.absolute&&(t=r.path.makeAbsolute(this._settings.cwd,t),t=r.path.unixify(t)),this._settings.markDirectories&&e.dirent.isDirectory()&&(t+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:t}):t}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(8),A=n(282),i=n(187);class o extends i.default{constructor(){super(...arguments),this._reader=new A.default(this._settings)}read(e){const t=this._getRootDirectory(e),n=this._getReaderOptions(e),A=this.api(t,e,n),i=new r.Readable({objectMode:!0,read:()=>{}});return A.once("error",e=>i.emit("error",e)).on("data",e=>i.emit("data",n.transform(e))).once("end",()=>i.emit("end")),i.once("close",()=>A.destroy()),i}api(e,t,n){return t.dynamic?this._reader.dynamic(e,n):this._reader.static(t.patterns,n)}}t.default=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(599),A=n(187);class i extends A.default{constructor(){super(...arguments),this._reader=new r.default(this._settings)}read(e){const t=this._getRootDirectory(e),n=this._getReaderOptions(e);return this.api(t,e,n).map(n.transform)}api(e,t,n){return t.dynamic?this._reader.dynamic(e,n):this._reader.static(t.patterns,n)}}t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(41),A=n(127),i=n(287);class o extends i.default{constructor(){super(...arguments),this._walkSync=A.walkSync,this._statSync=r.statSync}dynamic(e,t){return this._walkSync(e,t)}static(e,t){const n=[];for(const r of e){const e=this._getFullEntryPath(r),A=this._getEntry(e,r,t);null!==A&&t.entryFilter(A)&&n.push(A)}return n}_getEntry(e,t,n){try{const n=this._getStat(e);return this._makeEntry(n,t)}catch(e){if(n.errorFilter(e))return null;throw e}}_getStat(e){return this._statSync(e,this._fsStatSettings)}}t.default=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(3),A=n(32).cpus().length;t.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:r.lstat,lstatSync:r.lstatSync,stat:r.stat,statSync:r.statSync,readdir:r.readdir,readdirSync:r.readdirSync};t.default=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,A),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,1/0),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,t){return void 0===e?t:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},t.DEFAULT_FILE_SYSTEM_ADAPTER),e)}}},function(e,t,n){const r=n(71);e.exports=(e,t)=>{const n=r(e,t);return n?n.version:null}},function(e,t,n){const r=n(71);e.exports=(e,t)=>{const n=r(e.trim().replace(/^[=v]+/,""),t);return n?n.version:null}},function(e,t,n){const r=n(16);e.exports=(e,t,n,A)=>{"string"==typeof n&&(A=n,n=void 0);try{return new r(e,n).inc(t,A).version}catch(e){return null}}},function(e,t,n){const r=n(71),A=n(189);e.exports=(e,t)=>{if(A(e,t))return null;{const A=r(e),i=r(t);let o="";if(A.prerelease.length||i.prerelease.length){o="pre";var n="prerelease"}for(const e in A)if(("major"===e||"minor"===e||"patch"===e)&&A[e]!==i[e])return o+e;return n}}},function(e,t,n){const r=n(16);e.exports=(e,t)=>new r(e,t).major},function(e,t,n){const r=n(16);e.exports=(e,t)=>new r(e,t).minor},function(e,t,n){const r=n(16);e.exports=(e,t)=>new r(e,t).patch},function(e,t,n){const r=n(71);e.exports=(e,t)=>{const n=r(e,t);return n&&n.prerelease.length?n.prerelease:null}},function(e,t,n){const r=n(42);e.exports=(e,t,n)=>r(t,e,n)},function(e,t,n){const r=n(42);e.exports=(e,t)=>r(e,t,!0)},function(e,t,n){const r=n(190);e.exports=(e,t)=>e.sort((e,n)=>r(e,n,t))},function(e,t,n){const r=n(190);e.exports=(e,t)=>e.sort((e,n)=>r(n,e,t))},function(e,t,n){const r=n(16),A=n(71),{re:i,t:o}=n(70);e.exports=(e,t)=>{if(e instanceof r)return e;if("number"==typeof e&&(e=String(e)),"string"!=typeof e)return null;let n=null;if((t=t||{}).rtl){let t;for(;(t=i[o.COERCERTL].exec(e))&&(!n||n.index+n[0].length!==e.length);)n&&t.index+t[0].length===n.index+n[0].length||(n=t),i[o.COERCERTL].lastIndex=t.index+t[1].length+t[2].length;i[o.COERCERTL].lastIndex=-1}else n=e.match(i[o.COERCE]);return null===n?null:A(`${n[2]}.${n[3]||"0"}.${n[4]||"0"}`,t)}},function(e,t,n){const r=n(34);e.exports=(e,t)=>new r(e,t).set.map(e=>e.map(e=>e.value).join(" ").trim().split(" "))},function(e,t,n){const r=n(16),A=n(34);e.exports=(e,t,n)=>{let i=null,o=null,s=null;try{s=new A(t,n)}catch(e){return null}return e.forEach(e=>{s.test(e)&&(i&&-1!==o.compare(e)||(o=new r(i=e,n)))}),i}},function(e,t,n){const r=n(16),A=n(34);e.exports=(e,t,n)=>{let i=null,o=null,s=null;try{s=new A(t,n)}catch(e){return null}return e.forEach(e=>{s.test(e)&&(i&&1!==o.compare(e)||(o=new r(i=e,n)))}),i}},function(e,t,n){const r=n(16),A=n(34),i=n(130);e.exports=(e,t)=>{e=new A(e,t);let n=new r("0.0.0");if(e.test(n))return n;if(n=new r("0.0.0-0"),e.test(n))return n;n=null;for(let t=0;t{const t=new r(e.semver.version);switch(e.operator){case">":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":n&&!i(n,t)||(n=t);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${e.operator}`)}})}return n&&e.test(n)?n:null}},function(e,t,n){const r=n(34);e.exports=(e,t)=>{try{return new r(e,t).range||"*"}catch(e){return null}}},function(e,t,n){const r=n(195);e.exports=(e,t,n)=>r(e,t,">",n)},function(e,t,n){const r=n(195);e.exports=(e,t,n)=>r(e,t,"<",n)},function(e,t,n){const r=n(34);e.exports=(e,t,n)=>(e=new r(e,n),t=new r(t,n),e.intersects(t))},function(e,t,n){"use strict";const r=(e,t)=>{if("string"!=typeof e&&!Array.isArray(e))throw new TypeError("Expected the input to be `string | string[]`");t=Object.assign({pascalCase:!1},t);return 0===(e=Array.isArray(e)?e.map(e=>e.trim()).filter(e=>e.length).join("-"):e.trim()).length?"":1===e.length?t.pascalCase?e.toUpperCase():e.toLowerCase():(e!==e.toLowerCase()&&(e=(e=>{let t=!1,n=!1,r=!1;for(let A=0;At.pascalCase?e.charAt(0).toUpperCase()+e.slice(1):e)(e=e.replace(/^[_.\- ]+/,"").toLowerCase().replace(/[_.\- ]+(\w|$)/g,(e,t)=>t.toUpperCase()).replace(/\d+(\w|$)/g,e=>e.toUpperCase())))};e.exports=r,e.exports.default=r},function(e,t,n){"use strict";const r=n(624),{stdout:A,stderr:i}=n(628),{stringReplaceAll:o,stringEncaseCRLFWithFirstIndex:s}=n(630),a=["ansi","ansi","ansi256","ansi16m"],c=Object.create(null);class u{constructor(e){return g(e)}}const g=e=>{const t={};return((e,t={})=>{if(t.level>3||t.level<0)throw new Error("The `level` option should be an integer from 0 to 3");const n=A?A.level:0;e.level=void 0===t.level?n:t.level})(t,e),t.template=(...e)=>E(t.template,...e),Object.setPrototypeOf(t,l.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},t.template.Instance=u,t.template};function l(e){return g(e)}for(const[e,t]of Object.entries(r))c[e]={get(){const n=C(this,f(t.open,t.close,this._styler),this._isEmpty);return Object.defineProperty(this,e,{value:n}),n}};c.visible={get(){const e=C(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:e}),e}};const h=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(const e of h)c[e]={get(){const{level:t}=this;return function(...n){const A=f(r.color[a[t]][e](...n),r.color.close,this._styler);return C(this,A,this._isEmpty)}}};for(const e of h){c["bg"+e[0].toUpperCase()+e.slice(1)]={get(){const{level:t}=this;return function(...n){const A=f(r.bgColor[a[t]][e](...n),r.bgColor.close,this._styler);return C(this,A,this._isEmpty)}}}}const p=Object.defineProperties(()=>{},{...c,level:{enumerable:!0,get(){return this._generator.level},set(e){this._generator.level=e}}}),f=(e,t,n)=>{let r,A;return void 0===n?(r=e,A=t):(r=n.openAll+e,A=t+n.closeAll),{open:e,close:t,openAll:r,closeAll:A,parent:n}},C=(e,t,n)=>{const r=(...e)=>d(r,1===e.length?""+e[0]:e.join(" "));return r.__proto__=p,r._generator=e,r._styler=t,r._isEmpty=n,r},d=(e,t)=>{if(e.level<=0||!t)return e._isEmpty?"":t;let n=e._styler;if(void 0===n)return t;const{openAll:r,closeAll:A}=n;if(-1!==t.indexOf(""))for(;void 0!==n;)t=o(t,n.close,n.open),n=n.parent;const i=t.indexOf("\n");return-1!==i&&(t=s(t,A,r,i)),r+t+A};let I;const E=(e,...t)=>{const[r]=t;if(!Array.isArray(r))return t.join(" ");const A=t.slice(1),i=[r.raw[0]];for(let e=1;e(...n)=>{return`[${e(...n)+t}m`},r=(e,t)=>(...n)=>{const r=e(...n);return`[${38+t};5;${r}m`},A=(e,t)=>(...n)=>{const r=e(...n);return`[${38+t};2;${r[0]};${r[1]};${r[2]}m`},i=e=>e,o=(e,t,n)=>[e,t,n],s=(e,t,n)=>{Object.defineProperty(e,t,{get:()=>{const r=n();return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0}),r},enumerable:!0,configurable:!0})};let a;const c=(e,t,r,A)=>{void 0===a&&(a=n(625));const i=A?10:0,o={};for(const[n,A]of Object.entries(a)){const s="ansi16"===n?"ansi":n;n===t?o[s]=e(r,i):"object"==typeof A&&(o[s]=e(A[t],i))}return o};Object.defineProperty(e,"exports",{enumerable:!0,get:function(){const e=new Map,n={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};n.color.gray=n.color.blackBright,n.bgColor.bgGray=n.bgColor.bgBlackBright,n.color.grey=n.color.blackBright,n.bgColor.bgGrey=n.bgColor.bgBlackBright;for(const[t,r]of Object.entries(n)){for(const[t,A]of Object.entries(r))n[t]={open:`[${A[0]}m`,close:`[${A[1]}m`},r[t]=n[t],e.set(A[0],A[1]);Object.defineProperty(n,t,{value:r,enumerable:!1})}return Object.defineProperty(n,"codes",{value:e,enumerable:!1}),n.color.close="",n.bgColor.close="",s(n.color,"ansi",()=>c(t,"ansi16",i,!1)),s(n.color,"ansi256",()=>c(r,"ansi256",i,!1)),s(n.color,"ansi16m",()=>c(A,"rgb",o,!1)),s(n.bgColor,"ansi",()=>c(t,"ansi16",i,!0)),s(n.bgColor,"ansi256",()=>c(r,"ansi256",i,!0)),s(n.bgColor,"ansi16m",()=>c(A,"rgb",o,!0)),n}})}).call(this,n(29)(e))},function(e,t,n){const r=n(293),A=n(627),i={};Object.keys(r).forEach(e=>{i[e]={},Object.defineProperty(i[e],"channels",{value:r[e].channels}),Object.defineProperty(i[e],"labels",{value:r[e].labels});const t=A(e);Object.keys(t).forEach(n=>{const r=t[n];i[e][n]=function(e){const t=function(...t){const n=t[0];if(null==n)return n;n.length>1&&(t=n);const r=e(t);if("object"==typeof r)for(let e=r.length,t=0;t1&&(t=n),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}(r)})}),e.exports=i},function(e,t,n){"use strict";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},function(e,t,n){const r=n(293);function A(e){const t=function(){const e={},t=Object.keys(r);for(let n=t.length,r=0;r=2,has16m:e>=3}}function c(e,t){if(0===s)return 0;if(i("color=16m")||i("color=full")||i("color=truecolor"))return 3;if(i("color=256"))return 2;if(e&&!t&&void 0===s)return 0;const n=s||0;if("dumb"===o.TERM)return n;if("win32"===process.platform){const e=r.release().split(".");return Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in o)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in o)||"codeship"===o.CI_NAME?1:n;if("TEAMCITY_VERSION"in o)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(o.TEAMCITY_VERSION)?1:0;if("GITHUB_ACTIONS"in o)return 1;if("truecolor"===o.COLORTERM)return 3;if("TERM_PROGRAM"in o){const e=parseInt((o.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(o.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(o.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(o.TERM)?1:"COLORTERM"in o?1:n}i("no-color")||i("no-colors")||i("color=false")||i("color=never")?s=0:(i("color")||i("colors")||i("color=true")||i("color=always"))&&(s=1),"FORCE_COLOR"in o&&(s="true"===o.FORCE_COLOR?1:"false"===o.FORCE_COLOR?0:0===o.FORCE_COLOR.length?1:Math.min(parseInt(o.FORCE_COLOR,10),3)),e.exports={supportsColor:function(e){return a(c(e,e&&e.isTTY))},stdout:a(c(!0,A.isatty(1))),stderr:a(c(!0,A.isatty(2)))}},function(e,t,n){"use strict";e.exports=(e,t=process.argv)=>{const n=e.startsWith("-")?"":1===e.length?"-":"--",r=t.indexOf(n+e),A=t.indexOf("--");return-1!==r&&(-1===A||r{let r=e.indexOf(t);if(-1===r)return e;const A=t.length;let i=0,o="";do{o+=e.substr(i,r-i)+t+n,i=r+A,r=e.indexOf(t,i)}while(-1!==r);return o+=e.substr(i)},stringEncaseCRLFWithFirstIndex:(e,t,n,r)=>{let A=0,i="";do{const o="\r"===e[r-1];i+=e.substr(A,(o?r-1:r)-A)+t+(o?"\r\n":"\n")+n,A=r+1,r=e.indexOf("\n",A)}while(-1!==r);return i+=e.substr(A)}}},function(e,t,n){"use strict";const r=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,A=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,i=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,o=/\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.)|([^\\])/gi,s=new Map([["n","\n"],["r","\r"],["t","\t"],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a",""]]);function a(e){const t="u"===e[0],n="{"===e[1];return t&&!n&&5===e.length||"x"===e[0]&&3===e.length?String.fromCharCode(parseInt(e.slice(1),16)):t&&n?String.fromCodePoint(parseInt(e.slice(2,-1),16)):s.get(e)||e}function c(e,t){const n=[],r=t.trim().split(/\s*,\s*/g);let A;for(const t of r){const r=Number(t);if(Number.isNaN(r)){if(!(A=t.match(i)))throw new Error(`Invalid Chalk template style argument: ${t} (in style '${e}')`);n.push(A[2].replace(o,(e,t,n)=>t?a(t):n))}else n.push(r)}return n}function u(e){A.lastIndex=0;const t=[];let n;for(;null!==(n=A.exec(e));){const e=n[1];if(n[2]){const r=c(e,n[2]);t.push([e].concat(r))}else t.push([e])}return t}function g(e,t){const n={};for(const e of t)for(const t of e.styles)n[t[0]]=e.inverse?null:t.slice(1);let r=e;for(const[e,t]of Object.entries(n))if(Array.isArray(t)){if(!(e in r))throw new Error(`Unknown Chalk style: ${e}`);r=t.length>0?r[e](...t):r[e]}return r}e.exports=(e,t)=>{const n=[],A=[];let i=[];if(t.replace(r,(t,r,o,s,c,l)=>{if(r)i.push(a(r));else if(s){const t=i.join("");i=[],A.push(0===n.length?t:g(e,n)(t)),n.push({inverse:o,styles:u(s)})}else if(c){if(0===n.length)throw new Error("Found extraneous } in Chalk template literal");A.push(g(e,n)(i.join(""))),i=[],n.pop()}else i.push(l)}),A.push(i.join("")),n.length>0){const e=`Chalk template literal is missing ${n.length} closing bracket${1===n.length?"":"s"} (\`}\`)`;throw new Error(e)}return A.join("")}},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const A=r(n(25)),i=n(196),o=n(196),s=n(640),a=n(641);class c{constructor({binaryLabel:e,binaryName:t="...",binaryVersion:n}={}){this.registrations=new Map,this.builder=new o.CliBuilder({binaryName:t}),this.binaryLabel=e,this.binaryName=t,this.binaryVersion=n}static from(e){const t=new c;for(const n of e)t.register(n);return t}register(e){const t=this.builder.command();this.registrations.set(e,t.cliIndex);const{definitions:n}=e.resolveMeta(e.prototype);for(const e of n)e(t);t.setContext({commandClass:e})}process(e){const{contexts:t,process:n}=this.builder.compile(),r=n(e);switch(r.selectedIndex){case i.HELP_COMMAND_INDEX:return a.HelpCommand.from(r,this,t);default:{const{commandClass:e}=t[r.selectedIndex],n=new e;n.path=r.path;const{transformers:A}=e.resolveMeta(e.prototype);for(const e of A)e(r,n);return n}}}async run(e,t){let n,r;if(Array.isArray(e))try{n=this.process(e)}catch(e){return t.stdout.write(this.error(e)),1}else n=e;if(n.help)return t.stdout.write(this.usage(n,{detailed:!0})),0;n.context=t,n.cli={definitions:()=>this.definitions(),error:(e,t)=>this.error(e,t),process:e=>this.process(e),run:(e,n)=>this.run(e,Object.assign({},t,n)),usage:(e,t)=>this.usage(e,t)};try{r=await n.validateAndExecute()}catch(e){return t.stdout.write(this.error(e,{command:n})),1}return r}async runExit(e,t){process.exitCode=await this.run(e,t)}async suggestFor(e){const{contexts:t,process:n,suggest:r}=this.builder.compile();return r(e)}definitions(){const e=[];for(const[t,n]of this.registrations){if(void 0===t.usage)continue;const r=this.getUsageByIndex(n,{detailed:!1}),A=this.getUsageByIndex(n,{detailed:!0}),i=void 0!==t.usage.category?s.formatMarkdownish(t.usage.category,!1):void 0,o=void 0!==t.usage.description?s.formatMarkdownish(t.usage.description,!1):void 0,a=void 0!==t.usage.details?s.formatMarkdownish(t.usage.details,!0):void 0,c=void 0!==t.usage.examples?t.usage.examples.map(([e,t])=>[s.formatMarkdownish(e,!1),t.replace(/\$0/g,this.binaryName)]):void 0;e.push({path:r,usage:A,category:i,description:o,details:a,examples:c})}return e}usage(e=null,{detailed:t=!1,prefix:n="$ "}={}){const r=null!==e&&void 0===e.getMeta?e.constructor:e;let i="";if(r)if(t){const{description:e="",details:t="",examples:o=[]}=r.usage||{};if(""!==e&&(i+=s.formatMarkdownish(e,!1).replace(/^./,e=>e.toUpperCase()),i+="\n"),(""!==t||o.length>0)&&(i+=`${A.default.bold("Usage:")}\n`,i+="\n"),i+=`${A.default.bold(n)}${this.getUsageByRegistration(r)}\n`,""!==t&&(i+="\n",i+=`${A.default.bold("Details:")}\n`,i+="\n",i+=s.formatMarkdownish(t,!0)),o.length>0){i+="\n",i+=`${A.default.bold("Examples:")}\n`;for(let[e,t]of o)i+="\n",i+=s.formatMarkdownish(e,!1),i+=t.replace(/^/m,` ${A.default.bold(n)}`).replace(/\$0/g,this.binaryName)+"\n"}}else i+=`${A.default.bold(n)}${this.getUsageByRegistration(r)}\n`;else{const e=new Map;for(const[t,n]of this.registrations.entries()){if(void 0===t.usage)continue;const r=void 0!==t.usage.category?s.formatMarkdownish(t.usage.category,!1):null;let A=e.get(r);void 0===A&&e.set(r,A=[]);const i=this.getUsageByIndex(n);A.push({commandClass:t,usage:i})}const t=Array.from(e.keys()).sort((e,t)=>null===e?-1:null===t?1:e.localeCompare(t,"en",{usage:"sort",caseFirst:"upper"})),r=void 0!==this.binaryLabel,o=void 0!==this.binaryVersion;r||o?(i+=r&&o?`${A.default.bold(`${this.binaryLabel} - ${this.binaryVersion}`)}\n\n`:r?`${A.default.bold(`${this.binaryLabel}`)}\n`:`${A.default.bold(`${this.binaryVersion}`)}\n`,i+=` ${A.default.bold(n)}${this.binaryName} \n`):i+=`${A.default.bold(n)}${this.binaryName} \n`;for(let n of t){const t=e.get(n).slice().sort((e,t)=>e.usage.localeCompare(t.usage,"en",{usage:"sort",caseFirst:"upper"})),r=null!==n?n.trim():"Where is one of";i+="\n",i+=`${A.default.bold(`${r}:`)}\n`;for(let{commandClass:e,usage:n}of t){const t=e.usage.description||"undocumented";i+="\n",i+=` ${A.default.bold(n)}\n`,i+=` ${s.formatMarkdownish(t,!1)}`}}i+="\n",i+=s.formatMarkdownish("You can also print more details about any of these commands by calling them after adding the `-h,--help` flag right after the command name.",!0)}return i}error(e,{command:t=null}={}){let n="",r=e.name.replace(/([a-z])([A-Z])/g,"$1 $2");"Error"===r&&(r="Internal Error"),n+=`${A.default.red.bold(r)}: ${e.message}\n`;const i=e.clipanion;return void 0!==i?"usage"===i.type&&(n+="\n",n+=this.usage(t)):e.stack&&(n+=`${e.stack.replace(/^.*\n/,"")}\n`),n}getUsageByRegistration(e,t){const n=this.registrations.get(e);if(void 0===n)throw new Error("Assertion failed: Unregistered command");return this.getUsageByIndex(n,t)}getUsageByIndex(e,t){return this.builder.getBuilderByIndex(e).usage(t)}}t.Cli=c},function(e,t,n){"use strict";(function(e){const t=n(634),r=(e,n)=>(function(){const r=e.apply(t,arguments);return`[${r+n}m`}),A=(e,n)=>(function(){const r=e.apply(t,arguments);return`[${38+n};5;${r}m`}),i=(e,n)=>(function(){const r=e.apply(t,arguments);return`[${38+n};2;${r[0]};${r[1]};${r[2]}m`});Object.defineProperty(e,"exports",{enumerable:!0,get:function(){const e=new Map,n={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};n.color.grey=n.color.gray;for(const t of Object.keys(n)){const r=n[t];for(const t of Object.keys(r)){const A=r[t];n[t]={open:`[${A[0]}m`,close:`[${A[1]}m`},r[t]=n[t],e.set(A[0],A[1])}Object.defineProperty(n,t,{value:r,enumerable:!1}),Object.defineProperty(n,"codes",{value:e,enumerable:!1})}const o=e=>e,s=(e,t,n)=>[e,t,n];n.color.close="",n.bgColor.close="",n.color.ansi={ansi:r(o,0)},n.color.ansi256={ansi256:A(o,0)},n.color.ansi16m={rgb:i(s,0)},n.bgColor.ansi={ansi:r(o,10)},n.bgColor.ansi256={ansi256:A(o,10)},n.bgColor.ansi16m={rgb:i(s,10)};for(let e of Object.keys(t)){if("object"!=typeof t[e])continue;const o=t[e];"ansi16"===e&&(e="ansi"),"ansi16"in o&&(n.color.ansi[e]=r(o.ansi16,0),n.bgColor.ansi[e]=r(o.ansi16,10)),"ansi256"in o&&(n.color.ansi256[e]=A(o.ansi256,0),n.bgColor.ansi256[e]=A(o.ansi256,10)),"rgb"in o&&(n.color.ansi16m[e]=i(o.rgb,0),n.bgColor.ansi16m[e]=i(o.rgb,10))}return n}})}).call(this,n(29)(e))},function(e,t,n){var r=n(296),A=n(636),i={};Object.keys(r).forEach((function(e){i[e]={},Object.defineProperty(i[e],"channels",{value:r[e].channels}),Object.defineProperty(i[e],"labels",{value:r[e].labels});var t=A(e);Object.keys(t).forEach((function(n){var r=t[n];i[e][n]=function(e){var t=function(t){if(null==t)return t;arguments.length>1&&(t=Array.prototype.slice.call(arguments));var n=e(t);if("object"==typeof n)for(var r=n.length,A=0;A1&&(t=Array.prototype.slice.call(arguments)),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}(r)}))})),e.exports=i},function(e,t,n){"use strict";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},function(e,t,n){var r=n(296);function A(e){var t=function(){for(var e={},t=Object.keys(r),n=t.length,A=0;A=2,has16m:e>=3}}(function(e){if(!1===o)return 0;if(A("color=16m")||A("color=full")||A("color=truecolor"))return 3;if(A("color=256"))return 2;if(e&&!e.isTTY&&!0!==o)return 0;const t=o?1:0;if("win32"===process.platform){const e=r.release().split(".");return Number(process.versions.node.split(".")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in i)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in i)||"codeship"===i.CI_NAME?1:t;if("TEAMCITY_VERSION"in i)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(i.TEAMCITY_VERSION)?1:0;if("truecolor"===i.COLORTERM)return 3;if("TERM_PROGRAM"in i){const e=parseInt((i.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(i.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(i.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(i.TERM)?1:"COLORTERM"in i?1:(i.TERM,t)}(e))}A("no-color")||A("no-colors")||A("color=false")?o=!1:(A("color")||A("colors")||A("color=true")||A("color=always"))&&(o=!0),"FORCE_COLOR"in i&&(o=0===i.FORCE_COLOR.length||0!==parseInt(i.FORCE_COLOR,10)),e.exports={supportsColor:s,stdout:s(process.stdout),stderr:s(process.stderr)}},function(e,t,n){"use strict";e.exports=(e,t)=>{t=t||process.argv;const n=e.startsWith("-")?"":1===e.length?"-":"--",r=t.indexOf(n+e),A=t.indexOf("--");return-1!==r&&(-1===A||rt?a(t):n))}else n.push(Number(t));return n}function u(e){A.lastIndex=0;const t=[];let n;for(;null!==(n=A.exec(e));){const e=n[1];if(n[2]){const r=c(e,n[2]);t.push([e].concat(r))}else t.push([e])}return t}function g(e,t){const n={};for(const e of t)for(const t of e.styles)n[t[0]]=e.inverse?null:t.slice(1);let r=e;for(const e of Object.keys(n))if(Array.isArray(n[e])){if(!(e in r))throw new Error(`Unknown Chalk style: ${e}`);r=n[e].length>0?r[e].apply(r,n[e]):r[e]}return r}e.exports=(e,t)=>{const n=[],A=[];let i=[];if(t.replace(r,(t,r,o,s,c,l)=>{if(r)i.push(a(r));else if(s){const t=i.join("");i=[],A.push(0===n.length?t:g(e,n)(t)),n.push({inverse:o,styles:u(s)})}else if(c){if(0===n.length)throw new Error("Found extraneous } in Chalk template literal");A.push(g(e,n)(i.join(""))),i=[],n.pop()}else i.push(l)}),A.push(i.join("")),n.length>0){const e=`Chalk template literal is missing ${n.length} closing bracket${1===n.length?"":"s"} (\`}\`)`;throw new Error(e)}return A.join("")}},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const A=r(n(25));t.formatMarkdownish=function(e,t){return e=(e=(e=(e=(e=e.replace(/\r\n?/g,"\n")).replace(/^[\t ]+|[\t ]+$/gm,"")).replace(/^\n+|\n+$/g,"")).replace(/^-([^\n]*?)\n+/gm,"-$1\n\n")).replace(/\n(\n)?\n*/g,"$1"),t&&(e=e.split(/\n/).map((function(e){let t=e.match(/^[*-][\t ]+(.*)/);return t?t[1].match(/(.{1,78})(?: |$)/g).map((e,t)=>(0===t?"- ":" ")+e).join("\n"):e.match(/(.{1,80})(?: |$)/g).join("\n")})).join("\n\n")),(e=e.replace(/(`+)((?:.|[\n])*?)\1/g,(function(e,t,n){return A.default.cyan(t+n+t)})))?e+"\n":""}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(298);class A extends r.Command{constructor(e,t){super(),this.realCli=e,this.contexts=t,this.commands=[]}static from(e,t,n){const r=new A(t,n);for(const t of e.options)switch(t.name){case"-c":r.commands.push(Number(t.value));break;case"-i":r.index=Number(t.value)}return r}async execute(){let e=this.commands;if(void 0!==this.index&&this.index>=0&&this.index1){this.context.stdout.write("Multiple commands match your selection:\n"),this.context.stdout.write("\n");let e=0;for(const t of this.commands)this.context.stdout.write(this.realCli.usage(this.contexts[t].commandClass,{prefix:`${e++}. `.padStart(5)}));this.context.stdout.write("\n"),this.context.stdout.write("Run again with -h= to see the longer details of any of those commands.\n")}}}t.HelpCommand=A},function(e,t,n){"use strict";e.exports=n(643).isCI},function(e,t,n){"use strict";var r=n(644),A=process.env;function i(e){return"string"==typeof e?!!A[e]:Object.keys(e).every((function(t){return A[t]===e[t]}))}Object.defineProperty(t,"_vendors",{value:r.map((function(e){return e.constant}))}),t.name=null,t.isPR=null,r.forEach((function(e){var n=(Array.isArray(e.env)?e.env:[e.env]).every((function(e){return i(e)}));if(t[e.constant]=n,n)switch(t.name=e.name,typeof e.pr){case"string":t.isPR=!!A[e.pr];break;case"object":"env"in e.pr?t.isPR=e.pr.env in A&&A[e.pr.env]!==e.pr.ne:"any"in e.pr?t.isPR=e.pr.any.some((function(e){return!!A[e]})):t.isPR=i(e.pr);break;default:t.isPR=null}})),t.isCI=!!(A.CI||A.CONTINUOUS_INTEGRATION||A.BUILD_NUMBER||A.RUN_ID||t.name)},function(e){e.exports=JSON.parse('[{"name":"AppVeyor","constant":"APPVEYOR","env":"APPVEYOR","pr":"APPVEYOR_PULL_REQUEST_NUMBER"},{"name":"Azure Pipelines","constant":"AZURE_PIPELINES","env":"SYSTEM_TEAMFOUNDATIONCOLLECTIONURI","pr":"SYSTEM_PULLREQUEST_PULLREQUESTID"},{"name":"Bamboo","constant":"BAMBOO","env":"bamboo_planKey"},{"name":"Bitbucket Pipelines","constant":"BITBUCKET","env":"BITBUCKET_COMMIT","pr":"BITBUCKET_PR_ID"},{"name":"Bitrise","constant":"BITRISE","env":"BITRISE_IO","pr":"BITRISE_PULL_REQUEST"},{"name":"Buddy","constant":"BUDDY","env":"BUDDY_WORKSPACE_ID","pr":"BUDDY_EXECUTION_PULL_REQUEST_ID"},{"name":"Buildkite","constant":"BUILDKITE","env":"BUILDKITE","pr":{"env":"BUILDKITE_PULL_REQUEST","ne":"false"}},{"name":"CircleCI","constant":"CIRCLE","env":"CIRCLECI","pr":"CIRCLE_PULL_REQUEST"},{"name":"Cirrus CI","constant":"CIRRUS","env":"CIRRUS_CI","pr":"CIRRUS_PR"},{"name":"AWS CodeBuild","constant":"CODEBUILD","env":"CODEBUILD_BUILD_ARN"},{"name":"Codeship","constant":"CODESHIP","env":{"CI_NAME":"codeship"}},{"name":"Drone","constant":"DRONE","env":"DRONE","pr":{"DRONE_BUILD_EVENT":"pull_request"}},{"name":"dsari","constant":"DSARI","env":"DSARI"},{"name":"GitLab CI","constant":"GITLAB","env":"GITLAB_CI"},{"name":"GoCD","constant":"GOCD","env":"GO_PIPELINE_LABEL"},{"name":"Hudson","constant":"HUDSON","env":"HUDSON_URL"},{"name":"Jenkins","constant":"JENKINS","env":["JENKINS_URL","BUILD_ID"],"pr":{"any":["ghprbPullId","CHANGE_ID"]}},{"name":"Magnum CI","constant":"MAGNUM","env":"MAGNUM"},{"name":"Netlify CI","constant":"NETLIFY","env":"NETLIFY_BUILD_BASE","pr":{"env":"PULL_REQUEST","ne":"false"}},{"name":"Sail CI","constant":"SAIL","env":"SAILCI","pr":"SAIL_PULL_REQUEST_NUMBER"},{"name":"Semaphore","constant":"SEMAPHORE","env":"SEMAPHORE","pr":"PULL_REQUEST_NUMBER"},{"name":"Shippable","constant":"SHIPPABLE","env":"SHIPPABLE","pr":{"IS_PULL_REQUEST":"true"}},{"name":"Solano CI","constant":"SOLANO","env":"TDDIUM","pr":"TDDIUM_PR_ID"},{"name":"Strider CD","constant":"STRIDER","env":"STRIDER"},{"name":"TaskCluster","constant":"TASKCLUSTER","env":["TASK_ID","RUN_ID"]},{"name":"TeamCity","constant":"TEAMCITY","env":"TEAMCITY_VERSION"},{"name":"Travis CI","constant":"TRAVIS","env":"TRAVIS","pr":{"env":"TRAVIS_PULL_REQUEST","ne":"false"}}]')},function(e,t,n){"use strict";var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const A=n(35),i=r(n(20));t.CorePlugin={hooks:{reduceDependency:(e,t,n,r,{resolver:A,resolveOptions:o})=>{for(const{pattern:r,reference:s}of t.topLevelWorkspace.manifest.resolutions){if(r.from&&r.from.fullName!==i.requirableIdent(n))continue;if(r.from&&r.from.description&&r.from.description!==n.reference)continue;if(r.descriptor.fullName!==i.requirableIdent(e))continue;if(r.descriptor.description&&r.descriptor.description!==e.range)continue;return A.bindDescriptor(i.makeDescriptor(e,s),t.topLevelWorkspace.anchoredLocator,o)}return e},validateProject:async(e,t)=>{for(const n of e.workspaces){const r=i.prettyWorkspace(e.configuration,n);await e.configuration.triggerHook(e=>e.validateWorkspace,n,{reportWarning:(e,n)=>t.reportWarning(e,`${r}: ${n}`),reportError:(e,n)=>t.reportError(e,`${r}: ${n}`)})}},validateWorkspace:async(e,t)=>{const{manifest:n}=e;n.resolutions.length&&e.cwd!==e.project.cwd&&n.errors.push(new Error("Resolutions field will be ignored"));for(const e of n.errors)t.reportWarning(A.MessageName.INVALID_MANIFEST,e.message)}}}},function(e,t,n){"use strict";var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const A=n(35),i=n(43),o=r(n(20));t.MultiFetcher=class{constructor(e){this.fetchers=e}supports(e,t){return!!this.tryFetcher(e,t)}getLocalPath(e,t){return this.getFetcher(e,t).getLocalPath(e,t)}async fetch(e,t){const n=this.getFetcher(e,t);return await n.fetch(e,t)}tryFetcher(e,t){const n=this.fetchers.find(n=>n.supports(e,t));return n||null}getFetcher(e,t){const n=this.fetchers.find(n=>n.supports(e,t));if(!n)throw new i.ReportError(A.MessageName.FETCHER_NOT_FOUND,`${o.prettyLocator(t.project.configuration,e)} isn't supported by any available fetcher`);return n}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class r{static isVirtualDescriptor(e){return!!e.range.startsWith(r.protocol)}static isVirtualLocator(e){return!!e.reference.startsWith(r.protocol)}supportsDescriptor(e,t){return r.isVirtualDescriptor(e)}supportsLocator(e,t){return r.isVirtualLocator(e)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,n){throw new Error('Assertion failed: calling "bindDescriptor" on a virtual descriptor is unsupported')}getResolutionDependencies(e,t){throw new Error('Assertion failed: calling "getResolutionDependencies" on a virtual descriptor is unsupported')}async getCandidates(e,t,n){throw new Error('Assertion failed: calling "getCandidates" on a virtual descriptor is unsupported')}async resolve(e,t){throw new Error('Assertion failed: calling "resolve" on a virtual locator is unsupported')}}t.VirtualResolver=r,r.protocol="virtual:"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1),A=n(133);t.WorkspaceFetcher=class{supports(e){return!!e.reference.startsWith(A.WorkspaceResolver.protocol)}getLocalPath(e,t){return this.getWorkspace(e,t).cwd}async fetch(e,t){const n=this.getWorkspace(e,t).cwd;return{packageFs:new r.JailFS(n),prefixPath:r.PortablePath.root,localPath:n}}getWorkspace(e,t){return t.project.getWorkspaceByCwd(e.reference.slice(A.WorkspaceResolver.protocol.length))}}},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const A=r(n(302));t.dynamicRequire=function(e){return("undefined"!=typeof require?require:n(275))(e)},t.builtinModules=function(){return new Set(A.default.builtinModules||Object.keys(process.binding("natives")))}},function(e,t,n){"use strict";var r=this&&this.__rest||function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var A=0;for(r=Object.getOwnPropertySymbols(e);A{if(function(e){if("/"===e[0])return!0;const t=e.path.split(/\//g);return!!t.some(e=>".."===e)||t.length<=n}(e))return void e.resume();const i=A.ppath.normalize(A.npath.toPortablePath(e.path)).replace(/\/$/,"").split(/\//g);if(i.length<=n)return void e.resume();const o=i.slice(n).join("/"),s=A.ppath.join(r,o),a=[];let c=420;"Directory"!==e.type&&0==(73&e.mode)||(c|=73),e.on("data",e=>{a.push(e)}),e.on("end",()=>{switch(e.type){case"Directory":t.mkdirpSync(A.ppath.dirname(s),{chmod:493,utimes:[315532800,315532800]}),t.mkdirSync(s),t.chmodSync(s,c),t.utimesSync(s,315532800,315532800);break;case"OldFile":case"File":t.mkdirpSync(A.ppath.dirname(s),{chmod:493,utimes:[315532800,315532800]}),t.writeFileSync(s,Buffer.concat(a)),t.chmodSync(s,c),t.utimesSync(s,315532800,315532800);break;case"SymbolicLink":t.mkdirpSync(A.ppath.dirname(s),{chmod:493,utimes:[315532800,315532800]}),t.symlinkSync(e.linkpath,s),t.lutimesSync(s,315532800,315532800)}})}),await new Promise((n,r)=>{i.on("error",e=>{r(e)}),i.on("close",()=>{n(t)}),i.end(e)})}t.makeArchiveFromDirectory=async function(e,{baseFs:t=new A.NodeFS,prefixPath:n=A.PortablePath.root,compressionLevel:r}={}){const o=await A.xfs.mktempPromise(),s=A.ppath.join(o,"archive.zip"),a=new A.ZipFS(s,{create:!0,libzip:await i.getLibzipPromise(),level:r}),c=A.ppath.resolve(A.PortablePath.root,n);return await a.copyPromise(c,e,{baseFs:t}),a},t.convertToZip=async function(e,t){const n=await A.xfs.mktempPromise(),o=A.ppath.join(n,"archive.zip"),{compressionLevel:a}=t,c=r(t,["compressionLevel"]);return await s(e,new A.ZipFS(o,{create:!0,libzip:await i.getLibzipPromise(),level:a}),c)},t.extractArchiveTo=s},function(e,t,n){"use strict";t.c=t.create=n(652),t.r=t.replace=n(308),t.t=t.list=n(204),t.u=t.update=n(657),t.x=t.extract=n(658),t.Pack=n(199),t.Unpack=n(309),t.Parse=n(136),t.ReadEntry=n(134),t.WriteEntry=n(306),t.Header=n(96),t.Pax=n(202),t.types=n(135)},function(e,t,n){"use strict";const r=n(94),A=n(199),i=(n(3),n(97)),o=n(204),s=n(4),a=(e.exports=(e,t,n)=>{if("function"==typeof t&&(n=t),Array.isArray(e)&&(t=e,e={}),!t||!Array.isArray(t)||!t.length)throw new TypeError("no files or directories specified");t=Array.from(t);const A=r(e);if(A.sync&&"function"==typeof n)throw new TypeError("callback not supported for sync tar functions");if(!A.file&&"function"==typeof n)throw new TypeError("callback only supported with file option");return A.file&&A.sync?a(A,t):A.file?c(A,t,n):A.sync?l(A,t):h(A,t)},(e,t)=>{const n=new A.Sync(e),r=new i.WriteStreamSync(e.file,{mode:e.mode||438});n.pipe(r),u(n,t)}),c=(e,t,n)=>{const r=new A(e),o=new i.WriteStream(e.file,{mode:e.mode||438});r.pipe(o);const s=new Promise((e,t)=>{o.on("error",t),o.on("close",e),r.on("error",t)});return g(r,t),n?s.then(n,n):s},u=(e,t)=>{t.forEach(t=>{"@"===t.charAt(0)?o({file:s.resolve(e.cwd,t.substr(1)),sync:!0,noResume:!0,onentry:t=>e.add(t)}):e.add(t)}),e.end()},g=(e,t)=>{for(;t.length;){const n=t.shift();if("@"===n.charAt(0))return o({file:s.resolve(e.cwd,n.substr(1)),noResume:!0,onentry:t=>e.add(t)}).then(n=>g(e,t));e.add(n)}e.end()},l=(e,t)=>{const n=new A.Sync(e);return u(n,t),n},h=(e,t)=>{const n=new A(e);return g(n,t),n}},function(e,t,n){"use strict";e.exports=function(e){e.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}},function(e,t){e.exports=Object.freeze({Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,ZLIB_VERNUM:4736,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1})},function(e,t,n){"use strict";t.encode=(e,t)=>(t[t.length-1]=32,e<0?A(e,t):r(e,t),t);const r=(e,t)=>{t[0]=128;for(var n=t.length-2;n>0;n--)0===e?t[n]=0:(t[n]=e%256,e=Math.floor(e/256))},A=(e,t)=>{t[0]=255;var n=!1;e*=-1;for(var r=t.length-2;r>0;r--){var A;0===e?A=0:(A=e%256,e=Math.floor(e/256)),n?t[r]=s(A):0===A?t[r]=0:(n=!0,t[r]=a(A))}},i=(t.parse=e=>{e[e.length-1];return 128===e[0]?o(e.slice(1,e.length-1)):i(e.slice(1,e.length-1))},e=>{for(var t=e.length,n=0,r=!1,A=t-1;A>-1;A--){var i,o=e[A];r?i=s(o):0===o?i=o:(r=!0,i=a(o)),0!==i&&(n+=i*Math.pow(256,t-A-1))}return-1*n}),o=e=>{for(var t=e.length,n=0,r=t-1;r>-1;r--){var A=e[r];0!==A&&(n+=A*Math.pow(256,t-r-1))}return n},s=e=>255&(255^e),a=e=>1+(255^e)&255},function(e,t,n){"use strict";e.exports=(e,t)=>(e&=4095,t&&(256&e&&(e|=64),32&e&&(e|=8),4&e&&(e|=1)),e)},function(e,t,n){"use strict";const r=n(94),A=n(308),i=(e.exports=(e,t,n)=>{const o=r(e);if(!o.file)throw new TypeError("file is required");if(o.gzip)throw new TypeError("cannot append to compressed archives");if(!t||!Array.isArray(t)||!t.length)throw new TypeError("no files or directories specified");return t=Array.from(t),i(o),A(o,t,n)},e=>{const t=e.filter;e.mtimeCache||(e.mtimeCache=new Map),e.filter=t?(n,r)=>t(n,r)&&!(e.mtimeCache.get(n)>r.mtime):(t,n)=>!(e.mtimeCache.get(t)>n.mtime)})},function(e,t,n){"use strict";const r=n(94),A=n(309),i=n(3),o=n(97),s=n(4),a=(e.exports=(e,t,n)=>{"function"==typeof e?(n=e,t=null,e={}):Array.isArray(e)&&(t=e,e={}),"function"==typeof t&&(n=t,t=null),t=t?Array.from(t):[];const A=r(e);if(A.sync&&"function"==typeof n)throw new TypeError("callback not supported for sync tar functions");if(!A.file&&"function"==typeof n)throw new TypeError("callback only supported with file option");return t.length&&a(A,t),A.file&&A.sync?c(A):A.file?u(A,n):A.sync?g(A):l(A)},(e,t)=>{const n=new Map(t.map(e=>[e.replace(/\/+$/,""),!0])),r=e.filter,A=(e,t)=>{const r=t||s.parse(e).root||".",i=e!==r&&(n.has(e)?n.get(e):A(s.dirname(e),r));return n.set(e,i),i};e.filter=r?(e,t)=>r(e,t)&&A(e.replace(/\/+$/,"")):e=>A(e.replace(/\/+$/,""))}),c=e=>{const t=new A.Sync(e),n=e.file;const r=i.statSync(n),s=e.maxReadSize||16777216;new o.ReadStreamSync(n,{readSize:s,size:r.size}).pipe(t)},u=(e,t)=>{const n=new A(e),r=e.maxReadSize||16777216,s=e.file,a=new Promise((e,t)=>{n.on("error",t),n.on("close",e),i.stat(s,(e,A)=>{if(e)t(e);else{const e=new o.ReadStream(s,{readSize:r,size:A.size});e.on("error",t),e.pipe(n)}})});return t?a.then(t,t):a},g=e=>new A.Sync(e),l=e=>new A(e)},function(e,t,n){"use strict";const r=n(660),A=n(3),i=n(4),o=n(661);class s extends Error{constructor(e,t){super("Cannot extract through symbolic link"),this.path=t,this.symlink=e}get name(){return"SylinkError"}}class a extends Error{constructor(e,t){super(t+": Cannot cd into '"+e+"'"),this.path=e,this.code=t}get name(){return"CwdError"}}e.exports=(e,t,n)=>{const s=t.umask,u=448|t.mode,g=0!=(u&s),l=t.uid,h=t.gid,p="number"==typeof l&&"number"==typeof h&&(l!==t.processUid||h!==t.processGid),f=t.preserve,C=t.unlink,d=t.cache,I=t.cwd,E=(t,r)=>{t?n(t):(d.set(e,!0),r&&p?o(r,l,h,e=>E(e)):g?A.chmod(e,u,n):n())};if(d&&!0===d.get(e))return E();if(e===I)return A.lstat(e,(t,n)=>{!t&&n.isDirectory()||(t=new a(e,t&&t.code||"ENOTDIR")),E(t)});if(f)return r(e,u,E);const B=i.relative(I,e).split(/\/|\\/);c(I,B,u,d,C,I,null,E)};const c=(e,t,n,r,i,o,s,a)=>{if(!t.length)return a(null,s);const g=e+"/"+t.shift();if(r.get(g))return c(g,t,n,r,i,o,s,a);A.mkdir(g,n,u(g,t,n,r,i,o,s,a))},u=(e,t,n,r,o,g,l,h)=>p=>{if(p){if(p.path&&i.dirname(p.path)===g&&("ENOTDIR"===p.code||"ENOENT"===p.code))return h(new a(g,p.code));A.lstat(e,(i,a)=>{if(i)h(i);else if(a.isDirectory())c(e,t,n,r,o,g,l,h);else if(o)A.unlink(e,i=>{if(i)return h(i);A.mkdir(e,n,u(e,t,n,r,o,g,l,h))});else{if(a.isSymbolicLink())return h(new s(e,e+"/"+t.join("/")));h(p)}})}else c(e,t,n,r,o,g,l=l||e,h)};e.exports.sync=(e,t)=>{const n=t.umask,c=448|t.mode,u=0!=(c&n),g=t.uid,l=t.gid,h="number"==typeof g&&"number"==typeof l&&(g!==t.processUid||l!==t.processGid),p=t.preserve,f=t.unlink,C=t.cache,d=t.cwd,I=t=>{C.set(e,!0),t&&h&&o.sync(t,g,l),u&&A.chmodSync(e,c)};if(C&&!0===C.get(e))return I();if(e===d){let t=!1,n="ENOTDIR";try{t=A.lstatSync(e).isDirectory()}catch(e){n=e.code}finally{if(!t)throw new a(e,n)}return void I()}if(p)return I(r.sync(e,c));const E=i.relative(d,e).split(/\/|\\/);let B=null;for(let e=E.shift(),t=d;e&&(t+="/"+e);e=E.shift())if(!C.get(t))try{A.mkdirSync(t,c),B=B||t,C.set(t,!0)}catch(e){if(e.path&&i.dirname(e.path)===d&&("ENOTDIR"===e.code||"ENOENT"===e.code))return new a(d,e.code);const n=A.lstatSync(t);if(n.isDirectory()){C.set(t,!0);continue}if(f){A.unlinkSync(t),A.mkdirSync(t,c),B=B||t,C.set(t,!0);continue}if(n.isSymbolicLink())return new s(t,t+"/"+E.join("/"))}return I(B)}},function(e,t,n){var r=n(4),A=n(3),i=parseInt("0777",8);function o(e,t,n,s){"function"==typeof t?(n=t,t={}):t&&"object"==typeof t||(t={mode:t});var a=t.mode,c=t.fs||A;void 0===a&&(a=i&~process.umask()),s||(s=null);var u=n||function(){};e=r.resolve(e),c.mkdir(e,a,(function(n){if(!n)return u(null,s=s||e);switch(n.code){case"ENOENT":o(r.dirname(e),t,(function(n,r){n?u(n,r):o(e,t,u,r)}));break;default:c.stat(e,(function(e,t){e||!t.isDirectory()?u(n,s):u(null,s)}))}}))}e.exports=o.mkdirp=o.mkdirP=o,o.sync=function e(t,n,o){n&&"object"==typeof n||(n={mode:n});var s=n.mode,a=n.fs||A;void 0===s&&(s=i&~process.umask()),o||(o=null),t=r.resolve(t);try{a.mkdirSync(t,s),o=o||t}catch(A){switch(A.code){case"ENOENT":o=e(r.dirname(t),n,o),e(t,n,o);break;default:var c;try{c=a.statSync(t)}catch(e){throw A}if(!c.isDirectory())throw A}}return o}},function(e,t,n){"use strict";const r=n(3),A=n(4),i=r.lchown?"lchown":"chown",o=r.lchownSync?"lchownSync":"chownSync",s=process.version;let a=(e,t,n)=>r.readdir(e,t,n);/^v4\./.test(s)&&(a=(e,t,n)=>r.readdir(e,n));const c=(e,t,n,o,s)=>{if("string"==typeof t)return r.lstat(A.resolve(e,t),(r,A)=>{if(r)return s(r);A.name=t,c(e,A,n,o,s)});t.isDirectory()?u(A.resolve(e,t.name),n,o,a=>{if(a)return s(a);r[i](A.resolve(e,t.name),n,o,s)}):r[i](A.resolve(e,t.name),n,o,s)},u=(e,t,n,A)=>{a(e,{withFileTypes:!0},(o,s)=>{if(o&&"ENOTDIR"!==o.code&&"ENOTSUP"!==o.code)return A(o);if(o||!s.length)return r[i](e,t,n,A);let a=s.length,u=null;const g=o=>{if(!u)return o?A(u=o):0==--a?r[i](e,t,n,A):void 0};s.forEach(r=>c(e,r,t,n,g))})},g=(e,t,n)=>{let i;try{i=((e,t)=>r.readdirSync(e,t))(e,{withFileTypes:!0})}catch(A){if(A&&"ENOTDIR"===A.code&&"ENOTSUP"!==A.code)return r[o](e,t,n);throw A}return i.length&&i.forEach(i=>((e,t,n,i)=>{if("string"==typeof t){const n=r.lstatSync(A.resolve(e,t));n.name=t,t=n}t.isDirectory()&&g(A.resolve(e,t.name),n,i),r[o](A.resolve(e,t.name),n,i)})(e,i,t,n)),r[o](e,t,n)};e.exports=u,u.sync=g},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},A=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const i=n(1),o=n(1),s=n(59),a=r(n(3)),c=n(35),u=n(43),g=A(n(88)),l=A(n(58)),h=A(n(20)),p=3;class f{constructor(e,{configuration:t,immutable:n=t.get("enableImmutableCache"),check:r=!1}){this.markedFiles=new Set,this.mutexes=new Map;const A=t.get("compressionLevel");this.compressionLevelSuffix=A===o.DEFAULT_COMPRESSION_LEVEL?"":`-c${A}`,this.configuration=t,this.cwd=e,this.immutable=n,this.check=r}static async find(e,{immutable:t,check:n}={}){const r=new f(e.get("cacheFolder"),{configuration:e,immutable:t,check:n});return await r.setup(),r}get mirrorCwd(){if(!this.configuration.get("enableMirror"))return null;const e=`${this.configuration.get("globalFolder")}/cache`;return e!==this.cwd?e:null}getLocatorFilename(e){return`${h.slugifyLocator(e)}${this.compressionLevelSuffix}-${p}.zip`}getLocatorPath(e){return o.ppath.resolve(this.cwd,this.getLocatorFilename(e))}getLocatorMirrorPath(e){const t=this.mirrorCwd;return null!==t?o.ppath.resolve(t,this.getLocatorFilename(e)):null}async setup(){if(!this.configuration.get("enableGlobalCache")){await o.xfs.mkdirpPromise(this.cwd);const e=o.ppath.resolve(this.cwd,o.toFilename(".gitignore"));await o.xfs.existsPromise(e)||await o.xfs.writeFilePromise(e,"/.gitignore\n*.lock\n")}}async fetchPackageFromCache(e,t,{onHit:n,onMiss:r,loader:A}){const f=this.getLocatorPath(e),C=this.getLocatorMirrorPath(e),d=new i.NodeFS;this.markedFiles.add(f);const I=async(e,n=null)=>{const r=`${p}/${await g.checksumFile(e)}`;if(null!==n){if(r!==`${p}/${await g.checksumFile(n)}`)throw new u.ReportError(c.MessageName.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the local checksum - has the local cache been corrupted?")}if(null!==t&&r!==t){let e;switch(e=this.check?"throw":null===t.match(/^[0-9]+\//)||t.replace(/\/.*/,"")!==r.replace(/\/.*/,"")?"update":this.configuration.get("checksumBehavior")){case"ignore":return t;case"update":return r;default:case"throw":throw new u.ReportError(c.MessageName.CACHE_CHECKSUM_MISMATCH,"The remote archive doesn't match the expected checksum")}}return r},E=async()=>{if(null===C||!o.xfs.existsSync(C))return await A();const t=await o.xfs.mktempPromise(),n=o.ppath.join(t,this.getLocatorFilename(e));return await o.xfs.copyFilePromise(C,n,a.default.constants.COPYFILE_FICLONE),new i.ZipFS(n,{libzip:await s.getLibzipPromise()})},B=async()=>{if(!A)throw new Error(`Cache entry required but missing for ${h.prettyLocator(this.configuration,e)}`);if(this.immutable)throw new u.ReportError(c.MessageName.IMMUTABLE_CACHE,`Cache entry required but missing for ${h.prettyLocator(this.configuration,e)}`);return await this.writeFileWithLock(f,async()=>await this.writeFileWithLock(C,async()=>{const e=await E(),t=e.getRealPath();e.saveAndClose(),await o.xfs.chmodPromise(t,420);const n=await I(t);return await o.xfs.movePromise(t,f),null!==C&&await o.xfs.copyFilePromise(f,C,a.default.constants.COPYFILE_FICLONE),n}))};for(let t;t=this.mutexes.get(e.locatorHash);)await t;const y=d.existsSync(f),m=y?n:r;m&&m();const Q=y?this.check?await(async t=>{if(!A)throw new Error(`Cache check required but no loader configured for ${h.prettyLocator(this.configuration,e)}`);const n=await A(),r=n.getRealPath();return n.saveAndClose(),await o.xfs.chmodPromise(r,420),await I(t,r)})(f):await I(f):await(async()=>{const t=B();this.mutexes.set(e.locatorHash,t);try{return await t}finally{this.mutexes.delete(e.locatorHash)}})();let w=null;const v=await s.getLibzipPromise();return[new i.LazyFS(()=>l.prettifySyncErrors(()=>w=new i.ZipFS(f,{baseFs:d,libzip:v,readOnly:!0}),t=>`Failed to open the cache entry for ${h.prettyLocator(this.configuration,e)}: ${t}`),o.ppath),()=>{null!==w&&w.discardAndClose()},Q]}async writeFileWithLock(e,t){return null===e?await t():(await o.xfs.mkdirpPromise(o.ppath.dirname(e)),await o.xfs.lockPromise(e,async()=>await t()))}}t.Cache=f},function(e,t,n){"use strict";var r=this&&this.__asyncValues||function(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e="function"==typeof __values?__values(e):e[Symbol.iterator](),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise((function(r,A){(function(e,t,n,r){Promise.resolve(r).then((function(t){e({value:t,done:n})}),t)})(r,A,(t=e[n](t)).done,t.value)}))}}};Object.defineProperty(t,"__esModule",{value:!0});const A=n(43);class i extends A.Report{constructor({configuration:e,stdout:t,suggestInstall:n=!0}){super(),this.errorCount=0,this.configuration=e,this.stdout=t,this.suggestInstall=n}static async start(e,t){const n=new this(e);try{await t(n)}catch(e){n.reportExceptionOnce(e)}finally{await n.finalize()}return n}hasErrors(){return this.errorCount>0}exitCode(){return this.hasErrors()?1:0}reportCacheHit(e){}reportCacheMiss(e){}startTimerSync(e,t){return t()}async startTimerPromise(e,t){return await t()}async startCacheReport(e){return await e()}reportSeparator(){}reportInfo(e,t){}reportWarning(e,t){}reportError(e,t){this.errorCount+=1,this.stdout.write(`${this.configuration.format("➤","redBright")} ${this.formatName(e)}: ${t}\n`)}reportProgress(e){const t=Promise.resolve().then(async()=>{var t,n;try{for(var A,i=r(e);!(A=await i.next()).done;){const{}=A.value}}catch(e){t={error:e}}finally{try{A&&!A.done&&(n=i.return)&&await n.call(i)}finally{if(t)throw t.error}}});return Object.assign(Object.assign({},t),{stop:()=>{}})}reportJson(e){}async finalize(){this.errorCount>0&&(this.stdout.write(`${this.configuration.format("➤","redBright")} Errors happened when preparing the environment required to run this command.\n`),this.suggestInstall&&this.stdout.write(`${this.configuration.format("➤","redBright")} This might be caused by packages being missing from the lockfile, in which case running "yarn install" might help.\n`))}formatName(e){return`BR${e.toString(10).padStart(4,"0")}`}}t.LightReport=i},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},A=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const i=n(1),o=n(33),s=n(2),a=n(54),c=n(665),u=r(n(678)),g=r(n(274)),l=r(n(15)),h=n(6),p=r(n(681)),f=r(n(123)),C=n(131),d=n(310),I=n(682),E=n(683),B=n(93),y=n(35),m=n(299),Q=n(43),w=n(684),v=n(314),b=n(315),D=n(173),S=A(n(88)),k=A(n(58)),_=A(n(276)),F=A(n(198)),M=A(n(20)),N=n(197),R=4,K=1,x=/ *, */g,P=32,L=h.promisify(f.default.gzip),O=h.promisify(f.default.gunzip);class T{constructor(e,{configuration:t}){this.resolutionAliases=new Map,this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map,this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.storedChecksums=new Map,this.accessibleLocators=new Set,this.originalPackages=new Map,this.optionalBuilds=new Set,this.lockFileChecksum=null,this.configuration=t,this.cwd=e}static async find(e,t){if(!e.projectCwd)throw new s.UsageError(`No project found in ${t}`);let n=e.projectCwd,r=t,A=null;for(;A!==e.projectCwd;){if(A=r,i.xfs.existsSync(i.ppath.join(A,i.toFilename("package.json")))){n=A;break}r=i.ppath.dirname(A)}const o=new T(e.projectCwd,{configuration:e});await o.setupResolutions(),await o.setupWorkspaces();const a=o.tryWorkspaceByCwd(n);if(a)return{project:o,workspace:a,locator:a.anchoredLocator};const c=await o.findLocatorForLocation(`${n}/`);if(c)return{project:o,locator:c,workspace:null};throw new s.UsageError(`The nearest package directory (${n}) doesn't seem to be part of the project declared at ${o.cwd}. If the project directory is right, it might be that you forgot to list a workspace. If it isn't, it's likely because you have a yarn.lock file at the detected location, confusing the project detection.`)}static generateBuildStateFile(e,t){let n="# Warning: This file is automatically generated. Removing it is fine, but will\n# cause all your builds to become invalidated.\n";const r=[...e].map(([e,n])=>{const r=t.get(e);if(void 0===r)throw new Error("Assertion failed: The locator should have been registered");return[M.stringifyLocator(r),r.locatorHash,n]});for(const[e,t,A]of k.sortMap(r,[e=>e[0],e=>e[1]]))n+="\n",n+=`# ${e}\n`,n+=`${JSON.stringify(t)}:\n`,n+=` ${A}\n`;return n}async setupResolutions(){this.storedResolutions=new Map,this.storedDescriptors=new Map,this.storedPackages=new Map,this.lockFileChecksum=null;const e=i.ppath.join(this.cwd,this.configuration.get("lockfileFilename")),t=this.configuration.get("defaultLanguageName");if(i.xfs.existsSync(e)){const n=await i.xfs.readFilePromise(e,"utf8");this.lockFileChecksum=S.makeHash(`${K}`,n);const r=o.parseSyml(n);if(r.__metadata){const e=r.__metadata.version;for(const n of Object.keys(r)){if("__metadata"===n)continue;const A=r[n];if(void 0===A.resolution)throw new Error(`Assertion failed: Expected the lockfile entry to have a resolution field (${n})`);const i=M.parseLocator(A.resolution,!0),o=new B.Manifest;o.load(A);const s=o.version,a=o.languageName||t,c=A.linkType.toUpperCase(),u=o.dependencies,g=o.peerDependencies,l=o.dependenciesMeta,h=o.peerDependenciesMeta,p=o.bin;if(null!=A.checksum&&this.storedChecksums.set(i.locatorHash,A.checksum),e>=R){const e=Object.assign(Object.assign({},i),{version:s,languageName:a,linkType:c,dependencies:u,peerDependencies:g,dependenciesMeta:l,peerDependenciesMeta:h,bin:p});this.originalPackages.set(e.locatorHash,e)}for(const t of n.split(x)){const n=M.parseDescriptor(t);if(this.storedDescriptors.set(n.descriptorHash,n),e>=R)this.storedResolutions.set(n.descriptorHash,i.locatorHash);else{const e=M.convertLocatorToDescriptor(i);e.descriptorHash!==n.descriptorHash&&(this.storedDescriptors.set(e.descriptorHash,e),this.resolutionAliases.set(n.descriptorHash,e.descriptorHash))}}}}}}async setupWorkspaces(){this.workspaces=[],this.workspacesByCwd=new Map,this.workspacesByIdent=new Map;let e=[this.cwd];for(;e.length>0;){const t=e;e=[];for(const n of t){if(this.workspacesByCwd.has(n))continue;const t=await this.addWorkspace(n),r=this.storedPackages.get(t.anchoredLocator.locatorHash);r&&(t.dependencies=r.dependencies);for(const n of t.workspacesCwds)e.push(n)}}}async addWorkspace(e){const t=new b.Workspace(e,{project:this});await t.setup();const n=this.workspacesByIdent.get(t.locator.identHash);if(void 0!==n)throw new Error(`Duplicate workspace name ${M.prettyIdent(this.configuration,t.locator)}: ${e} conflicts with ${n.cwd}`);return this.workspaces.push(t),this.workspacesByCwd.set(e,t),this.workspacesByIdent.set(t.locator.identHash,t),t}get topLevelWorkspace(){return this.getWorkspaceByCwd(this.cwd)}tryWorkspaceByCwd(e){i.ppath.isAbsolute(e)||(e=i.ppath.resolve(this.cwd,e));const t=this.workspacesByCwd.get(e);return t||null}getWorkspaceByCwd(e){const t=this.tryWorkspaceByCwd(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByFilePath(e){let t=null;for(const n of this.workspaces){i.ppath.relative(n.cwd,e).startsWith("../")||(t&&t.cwd.length>=n.cwd.length||(t=n))}return t||null}getWorkspaceByFilePath(e){const t=this.tryWorkspaceByFilePath(e);if(!t)throw new Error(`Workspace not found (${e})`);return t}tryWorkspaceByIdent(e){const t=this.workspacesByIdent.get(e.identHash);return void 0===t?null:t}getWorkspaceByIdent(e){const t=this.tryWorkspaceByIdent(e);if(!t)throw new Error(`Workspace not found (${M.prettyIdent(this.configuration,e)})`);return t}tryWorkspaceByDescriptor(e){const t=this.tryWorkspaceByIdent(e);return null!==t&&t.accepts(e.range)?t:null}getWorkspaceByDescriptor(e){const t=this.tryWorkspaceByDescriptor(e);if(null===t)throw new Error(`Workspace not found (${M.prettyDescriptor(this.configuration,e)})`);return t}tryWorkspaceByLocator(e){M.isVirtualLocator(e)&&(e=M.devirtualizeLocator(e));const t=this.tryWorkspaceByIdent(e);return null===t||t.locator.locatorHash!==e.locatorHash&&t.anchoredLocator.locatorHash!==e.locatorHash?null:t}getWorkspaceByLocator(e){const t=this.tryWorkspaceByLocator(e);if(!t)throw new Error(`Workspace not found (${M.prettyLocator(this.configuration,e)})`);return t}refreshWorkspaceDependencies(){for(const e of this.workspaces){const t=this.storedPackages.get(e.anchoredLocator.locatorHash);if(!t)throw new Error("Assertion failed: Expected workspace to have been resolved");e.dependencies=new Map(t.dependencies)}}forgetTransientResolutions(){const e=this.configuration.makeResolver(),t=new Set;for(const n of this.originalPackages.values()){let r;try{r=e.shouldPersistResolution(n,{project:this,resolver:e})}catch(e){r=!1}r||(this.originalPackages.delete(n.locatorHash),t.add(n.locatorHash))}for(const[e,n]of this.storedResolutions)t.has(n)&&(this.storedResolutions.delete(e),this.storedDescriptors.delete(e))}forgetVirtualResolutions(){for(const e of this.storedPackages.values())for(const[t,n]of e.dependencies)M.isVirtualDescriptor(n)&&e.dependencies.set(t,M.devirtualizeDescriptor(n))}getDependencyMeta(e,t){const n={},r=this.topLevelWorkspace.manifest.dependenciesMeta.get(M.stringifyIdent(e));if(!r)return n;const A=r.get(null);if(A&&Object.assign(n,A),null===t||!l.default.valid(t))return n;for(const[e,A]of r)null!==e&&e===t&&Object.assign(n,A);return n}async findLocatorForLocation(e){const t=new v.ThrowReport,n=this.configuration.getLinkers(),r={project:this,report:t};for(const t of n){const n=await t.findPackageLocator(e,r);if(n)return n}return null}async validateEverything(e){for(const t of e.validationWarnings)e.report.reportWarning(t.name,t.text);for(const t of e.validationErrors)e.report.reportError(t.name,t.text)}async resolveEverything(e){if(!this.workspacesByCwd||!this.workspacesByIdent)throw new Error("Workspaces must have been setup before calling this function");this.forgetVirtualResolutions(),e.lockfileOnly||this.forgetTransientResolutions();const t=e.resolver||this.configuration.makeResolver(),n=new I.LegacyMigrationResolver;await n.setup(this,{report:e.report});const r=e.lockfileOnly?new m.MultiResolver([new E.LockfileResolver,new w.RunInstallPleaseResolver(t)]):new m.MultiResolver([new E.LockfileResolver,n,t]),A=this.configuration.makeFetcher(),o=e.lockfileOnly?{project:this,report:e.report,resolver:r}:{project:this,report:e.report,resolver:r,fetchOptions:{project:this,cache:e.cache,checksums:this.storedChecksums,report:e.report,fetcher:A}},s=new Map,a=new Map,c=new Map,l=new Map,h=new Map,p=new Set;let f=new Set;for(const e of this.workspaces){const t=e.anchoredDescriptor;s.set(t.descriptorHash,t),f.add(t.descriptorHash)}const C=g.default(10);for(;0!==f.size;){const e=f;f=new Set;for(const t of e)c.has(t)&&e.delete(t);if(0===e.size)break;const t=new Set,n=new Map;for(const A of e){const i=s.get(A);if(!i)throw new Error("Assertion failed: The descriptor should have been registered");let u=h.get(A);if(void 0===u){h.set(A,u=new Set);for(const e of r.getResolutionDependencies(i,o))s.set(e.descriptorHash,e),u.add(e.descriptorHash)}const g=k.getMapWithDefault(n,A);for(const n of u){const r=c.get(n);if(void 0!==r){const e=a.get(r);if(void 0===e)throw new Error("Assertion failed: The package should have been registered");g.set(n,e)}else t.add(A),e.add(n)}}for(const n of t)e.delete(n),f.add(n);if(0===e.size)throw new Error("Assertion failed: Descriptors should not have cyclic dependencies");const A=new Map(await Promise.all(Array.from(e).map(e=>C(async()=>{const t=s.get(e);if(void 0===t)throw new Error("Assertion failed: The descriptor should have been registered");const A=n.get(t.descriptorHash);if(void 0===A)throw new Error("Assertion failed: The descriptor dependencies should have been registered");let i;try{i=await r.getCandidates(t,A,o)}catch(e){throw e.message=`${M.prettyDescriptor(this.configuration,t)}: ${e.message}`,e}if(0===i.length)throw new Error(`No candidate found for ${M.prettyDescriptor(this.configuration,t)}`);return[t.descriptorHash,i]})))),i=new Map;for(const[e,t]of A)1===t.length&&(i.set(e,t[0]),A.delete(e));for(const[e,t]of A){const n=t.find(e=>a.has(e.locatorHash));n&&(i.set(e,n),A.delete(e))}if(A.size>0){const e=new u.default.Solver;for(const t of A.values())e.require(u.default.or(...t.map(e=>e.locatorHash)));let t,n=100,r=null,o=1/0;for(;n>0&&null!==(t=e.solve());){const A=t.getTrueVars();e.forbid(t.getFormula()),A.lengths.has(e.locatorHash));if(!n)throw new Error("Assertion failed: The descriptor should have been solved during the previous step");i.set(e,n),A.delete(e)}}const g=Array.from(i.values()).filter(e=>!a.has(e.locatorHash)),d=new Map(await Promise.all(g.map(async e=>{const t=await k.prettifyAsyncErrors(async()=>await r.resolve(e,o),t=>`${M.prettyLocator(this.configuration,e)}: ${t}`);if(!M.areLocatorsEqual(e,t))throw new Error(`Assertion failed: The locator cannot be changed by the resolver (went from ${M.prettyLocator(this.configuration,e)} to ${M.prettyLocator(this.configuration,t)})`);const n=this.configuration.normalizePackage(t);for(const[t,A]of n.dependencies){const i=await this.configuration.reduceHook(e=>e.reduceDependency,A,this,n,A,{resolver:r,resolveOptions:o});if(!M.areIdentsEqual(A,i))throw new Error("Assertion failed: The descriptor ident cannot be changed through aliases");const s=r.bindDescriptor(i,e,o);n.dependencies.set(t,s)}return[n.locatorHash,{original:t,pkg:n}]})));for(const t of e){const e=i.get(t);if(!e)throw new Error("Assertion failed: The locator should have been registered");c.set(t,e.locatorHash);const n=d.get(e.locatorHash);if(void 0===n)continue;const{original:r,pkg:A}=n;l.set(r.locatorHash,r),a.set(A.locatorHash,A);for(const e of A.dependencies.values()){s.set(e.descriptorHash,e),f.add(e.descriptorHash);const t=this.resolutionAliases.get(e.descriptorHash);if(void 0===t)continue;if(e.descriptorHash===t)continue;const n=this.storedDescriptors.get(t);if(!n)throw new Error("Assertion failed: The alias should have been registered");c.has(e.descriptorHash)||(c.set(e.descriptorHash,"temporary"),f.delete(e.descriptorHash),f.add(t),s.set(t,n),p.add(e.descriptorHash))}}}for(;p.size>0;){let e=!1;for(const t of p){if(!s.get(t))throw new Error("Assertion failed: The descriptor should have been registered");const n=this.resolutionAliases.get(t);if(void 0===n)throw new Error("Assertion failed: The descriptor should have an alias");const r=c.get(n);if(void 0===r)throw new Error("Assertion failed: The resolution should have been registered");"temporary"!==r&&(p.delete(t),c.set(t,r),e=!0)}if(!e)throw new Error("Alias loop detected")}const d=new Set(this.resolutionAliases.values()),B=new Set(a.keys()),v=new Set;!function({project:e,allDescriptors:t,allResolutions:n,allPackages:r,accessibleLocators:A=new Set,optionalBuilds:o=new Set,volatileDescriptors:s=new Set,report:a,tolerateMissingPackages:c=!1}){const u=new Map,g=[],l=new Map,h=new Map,p=new Map(e.workspaces.map(e=>{const t=e.anchoredLocator.locatorHash,n=r.get(t);if(void 0===n){if(c)return[t,null];throw new Error("Assertion failed: The workspace should have an associated package")}return[t,M.copyPackage(n)]})),f=()=>{const e=i.xfs.mktempSync(),t=i.ppath.join(e,"stacktrace.log"),n=String(g.length+1).length,r=g.map((e,t)=>{return`${`${t+1}.`.padStart(n," ")} ${M.stringifyLocator(e)}\n`}).join("");throw i.xfs.writeFileSync(t,r),new Q.ReportError(y.MessageName.STACK_OVERFLOW_RESOLUTION,`Encountered a stack overflow when resolving peer dependencies; cf ${t}`)},C=e=>{const t=n.get(e.descriptorHash);if(void 0===t)throw new Error("Assertion failed: The resolution should have been registered");const A=r.get(t);if(!A)throw new Error("Assertion failed: The package could not be found");return A},d=(e,t,n)=>{g.length>1e3&&f(),g.push(e);const r=I(e,t,n);return g.pop(),r},I=(i,g,I)=>{if(A.has(i.locatorHash))return;A.add(i.locatorHash),I||o.delete(i.locatorHash);const E=r.get(i.locatorHash);if(!E){if(c)return;throw new Error(`Assertion failed: The package (${M.prettyLocator(e.configuration,i)}) should have been registered`)}const B=[],m=[],Q=[],w=[],v=[];for(const A of Array.from(E.dependencies.values())){if(E.peerDependencies.has(A.identHash)&&!g)continue;if(M.isVirtualDescriptor(A))throw new Error("Assertion failed: Virtual packages shouldn't be encountered when virtualizing a branch");s.delete(A.descriptorHash);let o=I;if(!o){const e=E.dependenciesMeta.get(M.stringifyIdent(A));if(void 0!==e){const t=e.get(null);void 0!==t&&t.optional&&(o=!0)}}const l=n.get(A.descriptorHash);if(!l){if(c)continue;throw new Error(`Assertion failed: The resolution (${M.prettyDescriptor(e.configuration,A)}) should have been registered`)}const b=p.get(l)||r.get(l);if(!b)throw new Error(`Assertion failed: The package (${l}, resolved from ${M.prettyDescriptor(e.configuration,A)}) should have been registered`);if(0===b.peerDependencies.size){d(b,!1,o);continue}const D=u.get(b.locatorHash);let S,_;"number"==typeof D&&D>=2&&f();const N=new Set;m.push(()=>{S=M.virtualizeDescriptor(A,i.locatorHash),_=M.virtualizePackage(b,i.locatorHash),E.dependencies.delete(A.identHash),E.dependencies.set(S.identHash,S),n.set(S.descriptorHash,_.locatorHash),t.set(S.descriptorHash,S),r.set(_.locatorHash,_),B.push([b,S,_])}),Q.push(()=>{for(const r of _.peerDependencies.values()){let A=E.dependencies.get(r.identHash);if(!A&&M.areIdentsEqual(i,r)&&(A=M.convertLocatorToDescriptor(i),t.set(A.descriptorHash,A),n.set(A.descriptorHash,i.locatorHash),s.delete(A.descriptorHash)),A||!_.dependencies.has(r.identHash)){if(!A){if(!E.peerDependencies.has(r.identHash)){const t=_.peerDependenciesMeta.get(M.stringifyIdent(r));null===a||t&&t.optional||a.reportWarning(y.MessageName.MISSING_PEER_DEPENDENCY,`${M.prettyLocator(e.configuration,i)} doesn't provide ${M.prettyDescriptor(e.configuration,r)} requested by ${M.prettyLocator(e.configuration,b)}`)}A=M.makeDescriptor(r,"missing:")}if(_.dependencies.set(A.identHash,A),M.isVirtualDescriptor(A)){k.getSetWithDefault(h,A.descriptorHash).add(_.locatorHash)}if("missing:"===A.range)N.add(A.identHash);else if(null!==a){const t=C(A);F.satisfiesWithPrereleases(t.version,r.range)||a.reportWarning(y.MessageName.INCOMPATIBLE_PEER_DEPENDENCY,`${M.prettyLocator(e.configuration,i)} provides ${M.prettyLocator(e.configuration,t)} with version ${t.version} which doesn't satisfy ${M.prettyRange(e.configuration,r.range)} requested by ${M.prettyLocator(e.configuration,b)}`)}}else _.peerDependencies.delete(r.identHash)}_.dependencies=new Map(k.sortMap(_.dependencies,([e,t])=>M.stringifyIdent(t)))}),w.push(()=>{if(!r.has(_.locatorHash))return;const e=u.get(b.locatorHash),t=void 0!==e?e+1:1;u.set(b.locatorHash,t),d(_,!1,o),u.set(b.locatorHash,t-1)}),v.push(()=>{if(r.has(_.locatorHash))for(const e of N)_.dependencies.delete(e)})}for(const e of[...m,...Q])e();for(const[e,i,o]of B){const s=k.getMapWithDefault(l,e.locatorHash),a=S.makeHash(...[...o.dependencies.values()].map(e=>{const t="missing:"!==e.range?n.get(e.descriptorHash):"missing:";if(void 0===t)throw new Error("Assertion failed: Expected the resolution to have been registered");return t})),c=s.get(a);if(void 0===c){s.set(a,i);continue}r.delete(o.locatorHash),t.delete(i.descriptorHash),n.delete(i.descriptorHash),A.delete(o.locatorHash);const u=h.get(i.descriptorHash)||[],g=[E.locatorHash,...u];for(const e of g){const t=r.get(e);void 0!==t&&t.dependencies.set(i.identHash,c)}}for(const e of[...w,...v])e()};for(const t of e.workspaces)s.delete(t.anchoredDescriptor.descriptorHash),d(t.anchoredLocator,!0,!1)}({project:this,report:e.report,accessibleLocators:v,volatileDescriptors:d,optionalBuilds:B,allDescriptors:s,allResolutions:c,allPackages:a});for(const e of d)s.delete(e),c.delete(e);this.storedResolutions=c,this.storedDescriptors=s,this.storedPackages=a,this.accessibleLocators=v,this.originalPackages=l,this.optionalBuilds=B,this.refreshWorkspaceDependencies()}async fetchEverything({cache:e,report:t,fetcher:n}){const r=n||this.configuration.makeFetcher(),A={checksums:this.storedChecksums,project:this,cache:e,fetcher:r,report:t},i=k.sortMap(this.storedResolutions.values(),[e=>{const t=this.storedPackages.get(e);if(!t)throw new Error("Assertion failed: The locator should have been registered");return M.stringifyLocator(t)}]);let o=!1;const s=Q.Report.progressViaCounter(i.length);t.reportProgress(s);const a=g.default(P);if(await t.startCacheReport(async()=>{await Promise.all(i.map(e=>a(async()=>{const n=this.storedPackages.get(e);if(!n)throw new Error("Assertion failed: The locator should have been registered");if(M.isVirtualLocator(n))return;let i;try{i=await r.fetch(n,A)}catch(e){return e.message=`${M.prettyLocator(this.configuration,n)}: ${e.message}`,t.reportExceptionOnce(e),void(o=e)}i.checksum?this.storedChecksums.set(n.locatorHash,i.checksum):this.storedChecksums.delete(n.locatorHash),i.releaseFs&&i.releaseFs()}).finally(()=>{s.tick()})))}),o)throw o}async linkEverything({cache:e,report:t,fetcher:n}){const r=n||this.configuration.makeFetcher(),A={checksums:this.storedChecksums,project:this,cache:e,fetcher:r,report:t},s=this.configuration.getLinkers(),c={project:this,report:t},u=new Map(s.map(e=>[e,e.makeInstaller(c)])),g=new Map,l=new Map,h=new Map;for(const e of this.accessibleLocators){const t=this.storedPackages.get(e);if(!t)throw new Error("Assertion failed: The locator should have been registered");const n=await r.fetch(t,A);if(null!==this.tryWorkspaceByLocator(t)){const e=[],{scripts:r}=await B.Manifest.find(n.prefixPath,{baseFs:n.packageFs});for(const t of["preinstall","install","postinstall"])r.has(t)&&e.push([d.BuildType.SCRIPT,t]);try{for(const e of u.values())await e.installPackage(t,n)}finally{n.releaseFs&&n.releaseFs()}const A=i.ppath.join(n.packageFs.getRealPath(),n.prefixPath);l.set(t.locatorHash,A),e.length>0&&h.set(t.locatorHash,{directives:e,buildLocations:[A]})}else{const e=s.find(e=>e.supportsPackage(t,c));if(!e)throw new Q.ReportError(y.MessageName.LINKER_NOT_FOUND,`${M.prettyLocator(this.configuration,t)} isn't supported by any available linker`);const r=u.get(e);if(!r)throw new Error("Assertion failed: The installer should have been registered");let A;try{A=await r.installPackage(t,n)}finally{n.releaseFs&&n.releaseFs()}g.set(t.locatorHash,e),l.set(t.locatorHash,A.packageLocation),A.buildDirective&&h.set(t.locatorHash,{directives:A.buildDirective,buildLocations:[A.packageLocation]})}}const p=new Map;for(const e of this.accessibleLocators){const t=this.storedPackages.get(e);if(!t)throw new Error("Assertion failed: The locator should have been registered");const n=null!==this.tryWorkspaceByLocator(t),r=async(e,r)=>{const A=l.get(t.locatorHash);if(!A)throw new Error(`Assertion failed: The package (${M.prettyLocator(this.configuration,t)}) should have been registered`);const i=[];for(const r of t.dependencies.values()){const o=this.storedResolutions.get(r.descriptorHash);if(void 0===o)throw new Error(`Assertion failed: The resolution (${M.prettyDescriptor(this.configuration,r)}, from ${M.prettyLocator(this.configuration,t)})should have been registered`);const s=this.storedPackages.get(o);if(void 0===s)throw new Error(`Assertion failed: The package (${o}, resolved from ${M.prettyDescriptor(this.configuration,r)}) should have been registered`);const a=null===this.tryWorkspaceByLocator(s)?g.get(o):null;if(void 0===a)throw new Error(`Assertion failed: The package (${o}, resolved from ${M.prettyDescriptor(this.configuration,r)}) should have been registered`);const c=null===a;if(a===e||n||c)i.push([r,s]);else{k.getArrayWithDefault(p,o).push(A)}}await r.attachInternalDependencies(t,i)};if(n)for(const[e,t]of u)await r(e,t);else{const e=g.get(t.locatorHash);if(!e)throw new Error("Assertion failed: The linker should have been found");const n=u.get(e);if(!n)throw new Error("Assertion failed: The installer should have been registered");await r(e,n)}}for(const[e,t]of p){const n=this.storedPackages.get(e);if(!n)throw new Error("Assertion failed: The package should have been registered");const r=g.get(n.locatorHash);if(!r)throw new Error("Assertion failed: The linker should have been found");const A=u.get(r);if(!A)throw new Error("Assertion failed: The installer should have been registered");await A.attachExternalDependents(n,t)}for(const e of u.values()){const t=await e.finalizeInstall();if(t)for(const e of t)e.buildDirective&&h.set(e.locatorHash,{directives:e.buildDirective,buildLocations:e.buildLocations})}const f=new Set(this.storedPackages.keys()),I=new Set(h.keys());for(const e of I)f.delete(e);const E=a.createHash("sha512");E.update(process.versions.node),this.configuration.triggerHook(e=>e.globalHashGeneration,this,e=>{E.update("\0"),E.update(e)});const m=E.digest("hex"),w=new Map,v=e=>{let t=w.get(e.locatorHash);if(void 0!==t)return t;const n=this.storedPackages.get(e.locatorHash);if(void 0===n)throw new Error("Assertion failed: The package should have been registered");const r=a.createHash("sha512");r.update(e.locatorHash),w.set(e.locatorHash,"");for(const e of n.dependencies.values()){const t=this.storedResolutions.get(e.descriptorHash);if(void 0===t)throw new Error(`Assertion failed: The resolution (${M.prettyDescriptor(this.configuration,e)}) should have been registered`);if(void 0===this.storedPackages.get(t))throw new Error("Assertion failed: The package should have been registered");r.update(v(n))}return t=r.digest("hex"),w.set(e.locatorHash,t),t},b=(e,t)=>{const n=a.createHash("sha512");n.update(m),n.update(v(e));for(const e of t)n.update(e);return n.digest("hex")},D=this.configuration.get("bstatePath"),S=i.xfs.existsSync(D)?o.parseSyml(await i.xfs.readFilePromise(D,"utf8")):{},F=new Map;for(;I.size>0;){const e=I.size,n=[];for(const e of I){const r=this.storedPackages.get(e);if(!r)throw new Error("Assertion failed: The package should have been registered");let A=!0;for(const e of r.dependencies.values()){const t=this.storedResolutions.get(e.descriptorHash);if(!t)throw new Error(`Assertion failed: The resolution (${M.prettyDescriptor(this.configuration,e)}) should have been registered`);if(I.has(t)){A=!1;break}}if(!A)continue;I.delete(e);const o=h.get(r.locatorHash);if(!o)throw new Error("Assertion failed: The build directive should have been registered");const s=b(r,o.buildLocations);if(Object.prototype.hasOwnProperty.call(S,r.locatorHash)&&S[r.locatorHash]===s)F.set(r.locatorHash,s);else{Object.prototype.hasOwnProperty.call(S,r.locatorHash)?t.reportInfo(y.MessageName.MUST_REBUILD,`${M.prettyLocator(this.configuration,r)} must be rebuilt because its dependency tree changed`):t.reportInfo(y.MessageName.MUST_BUILD,`${M.prettyLocator(this.configuration,r)} must be built because it never did before or the last one failed`);for(const e of o.buildLocations){if(!i.ppath.isAbsolute(e))throw new Error(`Assertion failed: Expected the build location to be absolute (not ${e})`);n.push((async()=>{for(const[n,A]of o.directives){let o=`# This file contains the result of Yarn building a package (${M.stringifyLocator(r)})\n`;switch(n){case d.BuildType.SCRIPT:o+=`# Script name: ${A}\n`;break;case d.BuildType.SHELLCODE:o+=`# Script code: ${A}\n`}const a=null;await i.xfs.mktempPromise(async c=>{const u=i.ppath.join(c,"build.log"),{stdout:g,stderr:l}=this.configuration.getSubprocessStreams(u,{header:o,prefix:M.prettyLocator(this.configuration,r),report:t});let h;try{switch(n){case d.BuildType.SCRIPT:h=await _.executePackageScript(r,A,[],{cwd:e,project:this,stdin:a,stdout:g,stderr:l});break;case d.BuildType.SHELLCODE:h=await _.executePackageShellcode(r,A,[],{cwd:e,project:this,stdin:a,stdout:g,stderr:l})}}catch(e){l.write(e.stack),h=1}if(0===h)return F.set(r.locatorHash,s),!0;i.xfs.detachTemp(c);const p=`${M.prettyLocator(this.configuration,r)} couldn't be built successfully (exit code ${this.configuration.format(String(h),C.FormatType.NUMBER)}, logs can be found here: ${this.configuration.format(u,C.FormatType.PATH)})`;return t.reportInfo(y.MessageName.BUILD_FAILED,p),this.optionalBuilds.has(r.locatorHash)?(F.set(r.locatorHash,s),!0):(t.reportError(y.MessageName.BUILD_FAILED,p),!1)})}})())}}}if(await Promise.all(n),e===I.size){const e=Array.from(I).map(e=>{const t=this.storedPackages.get(e);if(!t)throw new Error("Assertion failed: The package should have been registered");return M.prettyLocator(this.configuration,t)}).join(", ");t.reportError(y.MessageName.CYCLIC_DEPENDENCIES,`Some packages have circular dependencies that make their build order unsatisfiable - as a result they won't be built (affected packages are: ${e})`);break}}if(F.size>0){const e=this.configuration.get("bstatePath"),t=T.generateBuildStateFile(F,this.storedPackages);await i.xfs.mkdirpPromise(i.ppath.dirname(e)),await i.xfs.changeFilePromise(e,t,{automaticNewlines:!0})}else await i.xfs.removePromise(D)}async install(e){const t=[],n=[];await this.configuration.triggerHook(e=>e.validateProject,this,{reportWarning:(e,n)=>t.push({name:e,text:n}),reportError:(e,t)=>n.push({name:e,text:t})}),t.length+n.length>0&&await e.report.startTimerPromise("Validation step",async()=>{await this.validateEverything({validationWarnings:t,validationErrors:n,report:e.report})}),await e.report.startTimerPromise("Resolution step",async()=>{const t=i.ppath.join(this.cwd,this.configuration.get("lockfileFilename"));let n=null;if(e.immutable)try{n=await i.xfs.readFilePromise(t,"utf8")}catch(e){throw"ENOENT"===e.code?new Q.ReportError(y.MessageName.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been created by this install, which is explicitly forbidden."):e}if(await this.resolveEverything(e),null!==n){const r=i.normalizeLineEndings(n,this.generateLockfile());if(r!==n){const A=c.structuredPatch(t,t,n,r);e.report.reportSeparator();for(const t of A.hunks){e.report.reportInfo(null,`@@ -${t.oldStart},${t.oldLines} +${t.newStart},${t.newLines} @@`);for(const n of t.lines)n.startsWith("+")?e.report.reportError(y.MessageName.FROZEN_LOCKFILE_EXCEPTION,this.configuration.format(n,C.FormatType.ADDED)):n.startsWith("-")?e.report.reportError(y.MessageName.FROZEN_LOCKFILE_EXCEPTION,this.configuration.format(n,C.FormatType.REMOVED)):e.report.reportInfo(null,this.configuration.format(n,"grey"))}throw e.report.reportSeparator(),new Q.ReportError(y.MessageName.FROZEN_LOCKFILE_EXCEPTION,"The lockfile would have been modified by this install, which is explicitly forbidden.")}}}),await e.report.startTimerPromise("Fetch step",async()=>{await this.fetchEverything(e),(void 0===e.persistProject||e.persistProject)&&await this.cacheCleanup(e)}),(void 0===e.persistProject||e.persistProject)&&await this.persist(),await e.report.startTimerPromise("Link step",async()=>{await this.linkEverything(e)}),await this.configuration.triggerHook(e=>e.afterAllInstalled,this)}generateLockfile(){const e=new Map;for(const[t,n]of this.storedResolutions.entries()){let r=e.get(n);r||e.set(n,r=new Set),r.add(t)}const t={};t.__metadata={version:R};for(const[n,r]of e.entries()){const e=this.originalPackages.get(n);if(!e)continue;const A=[];for(const e of r){const t=this.storedDescriptors.get(e);if(!t)throw new Error("Assertion failed: The descriptor should have been registered");A.push(t)}const i=A.map(e=>M.stringifyDescriptor(e)).sort().join(", "),o=new B.Manifest;o.version=e.linkType===N.LinkType.HARD?e.version:"0.0.0-use.local",o.languageName=e.languageName,o.dependencies=new Map(e.dependencies),o.peerDependencies=new Map(e.peerDependencies),o.dependenciesMeta=new Map(e.dependenciesMeta),o.peerDependenciesMeta=new Map(e.peerDependenciesMeta),o.bin=new Map(e.bin),t[i]=Object.assign(Object.assign({},o.exportTo({},{compatibilityMode:!1})),{linkType:e.linkType.toLowerCase(),resolution:M.stringifyLocator(e),checksum:this.storedChecksums.get(e.locatorHash)})}return`${['# This file is generated by running "yarn install" inside your project.\n',"# Manual changes might be lost - proceed with caution!\n"].join("")}\n`+o.stringifySyml(t)}async persistLockfile(){const e=i.ppath.join(this.cwd,this.configuration.get("lockfileFilename")),t=this.generateLockfile();await i.xfs.changeFilePromise(e,t,{automaticNewlines:!0})}async persistInstallStateFile(){const{accessibleLocators:e,optionalBuilds:t,storedDescriptors:n,storedResolutions:r,storedPackages:A,lockFileChecksum:o}=this,s={accessibleLocators:e,optionalBuilds:t,storedDescriptors:n,storedResolutions:r,storedPackages:A,lockFileChecksum:o},a=await L(p.default.serialize(s)),c=this.configuration.get("installStatePath");await i.xfs.mkdirpPromise(i.ppath.dirname(c)),await i.xfs.writeFilePromise(c,a)}async restoreInstallState(){const e=this.configuration.get("installStatePath");if(!i.xfs.existsSync(e))return await this.applyLightResolution();const t=await i.xfs.readFilePromise(e),n=p.default.deserialize(await O(t));if(n.lockFileChecksum!==this.lockFileChecksum)return await this.applyLightResolution();Object.assign(this,n),this.refreshWorkspaceDependencies()}async applyLightResolution(){await this.resolveEverything({lockfileOnly:!0,report:new v.ThrowReport}),await this.persistInstallStateFile()}async persist(){await this.persistLockfile(),await this.persistInstallStateFile();for(const e of this.workspacesByCwd.values())await e.persistManifest()}async cacheCleanup({cache:e,report:t}){const n=new Set([".gitignore"]);if(i.xfs.existsSync(e.cwd)&&D.isFolderInside(e.cwd,this.cwd)){for(const r of await i.xfs.readdirPromise(e.cwd)){if(n.has(r))continue;const A=i.ppath.resolve(e.cwd,r);e.markedFiles.has(A)||(e.immutable?t.reportError(y.MessageName.IMMUTABLE_CACHE,`${this.configuration.format(i.ppath.basename(A),"magenta")} appears to be unused and would marked for deletion, but the cache is immutable`):(t.reportInfo(y.MessageName.UNUSED_CACHE_ENTRY,`${this.configuration.format(i.ppath.basename(A),"magenta")} appears to be unused - removing`),await i.xfs.unlinkPromise(A)))}e.markedFiles.clear()}}}t.Project=T},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Diff",{enumerable:!0,get:function(){return A.default}}),Object.defineProperty(t,"diffChars",{enumerable:!0,get:function(){return i.diffChars}}),Object.defineProperty(t,"diffWords",{enumerable:!0,get:function(){return o.diffWords}}),Object.defineProperty(t,"diffWordsWithSpace",{enumerable:!0,get:function(){return o.diffWordsWithSpace}}),Object.defineProperty(t,"diffLines",{enumerable:!0,get:function(){return s.diffLines}}),Object.defineProperty(t,"diffTrimmedLines",{enumerable:!0,get:function(){return s.diffTrimmedLines}}),Object.defineProperty(t,"diffSentences",{enumerable:!0,get:function(){return a.diffSentences}}),Object.defineProperty(t,"diffCss",{enumerable:!0,get:function(){return c.diffCss}}),Object.defineProperty(t,"diffJson",{enumerable:!0,get:function(){return u.diffJson}}),Object.defineProperty(t,"canonicalize",{enumerable:!0,get:function(){return u.canonicalize}}),Object.defineProperty(t,"diffArrays",{enumerable:!0,get:function(){return g.diffArrays}}),Object.defineProperty(t,"applyPatch",{enumerable:!0,get:function(){return l.applyPatch}}),Object.defineProperty(t,"applyPatches",{enumerable:!0,get:function(){return l.applyPatches}}),Object.defineProperty(t,"parsePatch",{enumerable:!0,get:function(){return h.parsePatch}}),Object.defineProperty(t,"merge",{enumerable:!0,get:function(){return p.merge}}),Object.defineProperty(t,"structuredPatch",{enumerable:!0,get:function(){return f.structuredPatch}}),Object.defineProperty(t,"createTwoFilesPatch",{enumerable:!0,get:function(){return f.createTwoFilesPatch}}),Object.defineProperty(t,"createPatch",{enumerable:!0,get:function(){return f.createPatch}}),Object.defineProperty(t,"convertChangesToDMP",{enumerable:!0,get:function(){return C.convertChangesToDMP}}),Object.defineProperty(t,"convertChangesToXML",{enumerable:!0,get:function(){return d.convertChangesToXML}});var r,A=(r=n(45))&&r.__esModule?r:{default:r},i=n(666),o=n(667),s=n(205),a=n(668),c=n(669),u=n(670),g=n(671),l=n(672),h=n(206),p=n(674),f=n(312),C=n(676),d=n(677)},function(e,t,n){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),t.diffChars=function(e,t,n){return A.diff(e,t,n)},t.characterDiff=void 0;var A=new(((r=n(45))&&r.__esModule?r:{default:r}).default);t.characterDiff=A},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.diffWords=function(e,t,n){return n=(0,i.generateOptions)(n,{ignoreWhitespace:!0}),a.diff(e,t,n)},t.diffWordsWithSpace=function(e,t,n){return a.diff(e,t,n)},t.wordDiff=void 0;var r,A=(r=n(45))&&r.__esModule?r:{default:r},i=n(311);var o=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,s=/\S/,a=new A.default;t.wordDiff=a,a.equals=function(e,t){return this.options.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e===t||this.options.ignoreWhitespace&&!s.test(e)&&!s.test(t)},a.tokenize=function(e){for(var t=e.split(/(\s+|[()[\]{}'"]|\b)/),n=0;n2&&void 0!==arguments[2]?arguments[2]:{};if("string"==typeof t&&(t=(0,A.parsePatch)(t)),Array.isArray(t)){if(t.length>1)throw new Error("applyPatch only works with a single input.");t=t[0]}var r,o,s=e.split(/\r\n|[\n\v\f\r\x85]/),a=e.match(/\r\n|[\n\v\f\r\x85]/g)||[],c=t.hunks,u=n.compareLine||function(e,t,n,r){return t===r},g=0,l=n.fuzzFactor||0,h=0,p=0;function f(e,t){for(var n=0;n0?r[0]:" ",i=r.length>0?r.substr(1):r;if(" "===A||"-"===A){if(!u(t+1,s[t],A,i)&&++g>l)return!1;t++}}return!0}for(var C=0;C0?D[0]:" ",k=D.length>0?D.substr(1):D,_=w.linedelimiters[b];if(" "===S)v++;else if("-"===S)s.splice(v,1),a.splice(v,1);else if("+"===S)s.splice(v,0,k),a.splice(v,0,_),v++;else if("\\"===S){var F=w.lines[b-1]?w.lines[b-1][0]:null;"+"===F?r=!0:"-"===F&&(o=!0)}}}if(r)for(;!s[s.length-1];)s.pop(),a.pop();else o&&(s.push(""),a.push("\n"));for(var M=0;Me.length)return!1;for(var n=0;n/g,">")).replace(/"/g,""")}Object.defineProperty(t,"__esModule",{value:!0}),t.convertChangesToXML=function(e){for(var t=[],n=0;n"):A.removed&&t.push(""),t.push(r(A.value)),A.added?t.push(""):A.removed&&t.push("")}return t.join("")}},function(e,t,n){var r,A=n(679),i=n(313),o=function(e,t){return t.description=e,t},s=function(e,t,n){return o(e,(function(e){return e instanceof t[n]}))};(r={}).isNumTerm=o("a NumTerm (non-zero integer)",(function(e){return e===(0|e)&&0!==e})),r.isNameTerm=o("a NameTerm (string)",(function(e){return"string"==typeof e&&!/^-*[0-9]*$/.test(e)})),r.isTerm=o("a Term (appropriate string or number)",(function(e){return r.isNumTerm(e)||r.isNameTerm(e)})),r.isWholeNumber=o("a whole number (integer >= 0)",(function(e){return e===(0|e)&&e>=0})),r.isFormula=s("a Formula",r,"Formula"),r.isClause=s("a Clause",r,"Clause"),r.isBits=s("a Bits",r,"Bits"),r._isInteger=o("an integer",(function(e){return e===(0|e)})),r._isFunction=o("a Function",(function(e){return"function"==typeof e})),r._isString=o("a String",(function(e){return"string"==typeof e})),r._isArrayWhere=function(e){var t="an array";return e.description&&(t+=" of "+e.description),o(t,(function(t){if(i.isArray(t)){for(var n=0;n=t.length)throw new Error("Bad variable num: "+e);return t[e]},r.Solver.prototype.toNumTerm=function(e,t){if(f&&f(e,r.isTerm),"number"==typeof e)return e;for(var n=!1;"-"===e.charAt(0);)e=e.slice(1),n=!n;var A=this.getVarNum(e,t);return A?n?-A:A:0},r.Solver.prototype.toNameTerm=function(e){if(f&&f(e,r.isTerm),"string"==typeof e){for(;"--"===e.slice(0,2);)e=e.slice(2);return e}var t=!1;return e<0&&(t=!0,e=-e),e=this.getVarName(e),t&&(e="-"+e),e},r.Solver.prototype._addClause=function(e,t,n){f&&f(e,r.isClause);var A=null;t&&(A=t,f&&f(A,g(r.isNumTerm)));var i=!1,o=!1,s=e.terms.length;A&&(e=e.append(A));for(var a=0;a=this._num2name.length)throw new Error("Bad variable number: "+u);a0,u=null;if(t?o=t:(u=[],o=function(e,t){u.push({clauses:e,extraTerms:t})}),c&&!a.occursPositively){a.occursPositively=!0;var g=n._generateFormula(!0,s);o(g,[-A])}else if(!c&&!a.occursNegatively){a.occursNegatively=!0;g=n._generateFormula(!1,s);o(g,[A])}if(a.occursPositively&&a.occursNegatively&&delete n._ungeneratedFormulas[A],u&&u.length)for(var l=function(e){n._useFormulaTerm(e,o)};u.length;){var h=u.pop();n._addClauses(h.clauses,h.extraTerms,l)}}},r.Solver.prototype._addClauses=function(e,t,n){f&&f(e,g(r.isClause));var A=this;i.each(e,(function(e){A._addClause(e,t,n)}))},r.Solver.prototype.require=function(){this._requireForbidImpl(!0,i.flatten(arguments))},r.Solver.prototype.forbid=function(){this._requireForbidImpl(!1,i.flatten(arguments))},r.Solver.prototype._requireForbidImpl=function(e,t){var n=this;f&&f(t,g(l)),i.each(t,(function(t){if(t instanceof r.NotFormula)n._requireForbidImpl(!e,[t.operand]);else if(t instanceof r.Formula){var A=n._getFormulaInfo(t);if(null!==A.varNum){var i=e?1:-1;n._addClause(new r.Clause(i*A.varNum))}else n._addClauses(n._generateFormula(e,t));e?A.isRequired=!0:A.isForbidden=!0}else n._addClauses(n._generateFormula(e,t))}))},r.Solver.prototype._generateFormula=function(e,t,n){if(f&&f(t,l),t instanceof r.NotFormula)return this._generateFormula(!e,t.operand);if(t instanceof r.Formula){var A=this._getFormulaInfo(t);if(e&&A.isRequired||!e&&A.isForbidden)return[];if(e&&A.isForbidden||!e&&A.isRequired)return[new r.Clause];var o=t.generateClauses(e,n||this._termifier);return i.isArray(o)?o:[o]}var s=this.toNumTerm(t),a=e?1:-1;return s===a*r.NUM_TRUE||s===-a*r.NUM_FALSE?[]:s===a*r.NUM_FALSE||s===-a*r.NUM_TRUE?[new r.Clause]:[new r.Clause(a*s)]},r.Solver.prototype._clauseData=function(){var e=i.pluck(this.clauses,"terms");return this._T_used||e.splice(1,1),this._F_used||e.splice(0,1),e},r.Solver.prototype._clauseStrings=function(){var e=this,t=e._clauseData();return i.map(t,(function(t){return i.map(t,(function(t){var n=e.toNameTerm(t);if(/\s/.test(n)){var r="";"-"===n.charAt(0)&&(r="-",n=n.slice(1)),n=r+'"'+n+'"'}return n})).join(" v ")}))},r.Solver.prototype._getFormulaInfo=function(e,t){var n=e.guid();if(!this._formulaInfo[n]){if(t)return null;this._formulaInfo[n]=new C}return this._formulaInfo[n]},r.Solver.prototype._formulaToTerm=function(e){if(i.isArray(e))return f&&f(e,g(l)),i.map(e,i.bind(this._formulaToTerm,this));if(f&&f(e,l),e instanceof r.NotFormula)return r.not(this._formulaToTerm(e.operand));if(e instanceof r.Formula){var t=this._getFormulaInfo(e);if(t.isRequired)return r.NUM_TRUE;if(t.isForbidden)return r.NUM_FALSE;if(null===t.varNum){var n=e.type;this._nextFormulaNumByType[n]||(this._nextFormulaNumByType[n]=1);var A=this._nextFormulaNumByType[n]++;t.varName="$"+e.type+A,t.varNum=this.getVarNum(t.varName,!1,!0),this._ungeneratedFormulas[t.varNum]=e}return t.varNum}return this.toNumTerm(e)},r.or=function(){var e=i.flatten(arguments);return 0===e.length?r.FALSE:1===e.length?(f&&f(e[0],l),e[0]):new r.OrFormula(e)},r.OrFormula=function(e){f&&f(e,g(l)),this.operands=e},r._defineFormula(r.OrFormula,"or",{generateClauses:function(e,t){if(e)return t.clause(this.operands);var n=[];return i.each(this.operands,(function(e){n.push.apply(n,t.generate(!1,e))})),n}}),r.NotFormula=function(e){f&&f(e,l),this.operand=e},r._defineFormula(r.NotFormula,"not"),r.and=function(){var e=i.flatten(arguments);return 0===e.length?r.TRUE:1===e.length?(f&&f(e[0],l),e[0]):new r.AndFormula(e)},r.AndFormula=function(e){f&&f(e,g(l)),this.operands=e},r._defineFormula(r.AndFormula,"and",{generateClauses:function(e,t){if(e){var n=[];return i.each(this.operands,(function(e){n.push.apply(n,t.generate(!0,e))})),n}return t.clause(i.map(this.operands,r.not))}});var d=function(e,t){for(var n=[],r=0;r3)return t.generate(e,r.xor(i.map(d(this.operands,3),(function(e){return r.xor(e)}))));if(e){if(0===n.length)return t.clause();if(1===n.length)return t.clause(n[0]);if(2===n.length){var o=n[0],s=n[1];return[t.clause(o,s),t.clause(A(o),A(s))]}if(3===n.length){o=n[0],s=n[1];var a=n[2];return[t.clause(o,s,a),t.clause(o,A(s),A(a)),t.clause(A(o),s,A(a)),t.clause(A(o),A(s),a)]}}else{if(0===n.length)return[];if(1===n.length)return t.clause(A(n[0]));if(2===n.length){o=n[0],s=n[1];return[t.clause(o,A(s)),t.clause(A(o),s)]}if(3===n.length){o=n[0],s=n[1],a=n[2];return[t.clause(A(o),A(s),A(a)),t.clause(A(o),s,a),t.clause(o,A(s),a),t.clause(o,s,A(a))]}}}}),r.atMostOne=function(){var e=i.flatten(arguments);return e.length<=1?r.TRUE:new r.AtMostOneFormula(e)},r.AtMostOneFormula=function(e){f&&f(e,g(l)),this.operands=e},r._defineFormula(r.AtMostOneFormula,"atMostOne",{generateClauses:function(e,t){var n=this.operands,A=r.not;if(n.length<=1)return[];if(2===n.length)return t.generate(e,r.not(r.and(n)));if(e&&3===n.length){for(var o=[],s=0;s>>=1;return new r.Bits(t)},r.variableBits=function(e,t){f&&f(t,r.isWholeNumber);for(var n=[],A=0;Aa.length;){var c=s.pop();o.push(n.clause(r.not(c)))}for(var u=i.map(a,(function(e,t){return t=0;g--)o.push(n.clause(u.slice(g+1),r.not(s[g]),a[g]));return A&&o.push.apply(o,n.generate(!0,r.or(u))),o};r._defineFormula(r.LessThanOrEqualFormula,"lte",{generateClauses:function(e,t){return e?I(this.bits1,this.bits2,t,!1):I(this.bits2,this.bits1,t,!0)}}),r.lessThan=function(e,t){return new r.LessThanFormula(e,t)},r.LessThanFormula=function(e,t){f&&f(e,r.isBits),f&&f(t,r.isBits),f&&p(arguments.length,2,"Bits comparison function"),this.bits1=e,this.bits2=t},r._defineFormula(r.LessThanFormula,"lt",{generateClauses:function(e,t){return e?I(this.bits1,this.bits2,t,!0):I(this.bits2,this.bits1,t,!1)}}),r.greaterThan=function(e,t){return r.lessThan(t,e)},r.greaterThanOrEqual=function(e,t){return r.lessThanOrEqual(t,e)},r.equalBits=function(e,t){return new r.EqualBitsFormula(e,t)},r.EqualBitsFormula=function(e,t){f&&f(e,r.isBits),f&&f(t,r.isBits),f&&p(arguments.length,2,"Logic.equalBits"),this.bits1=e,this.bits2=t},r._defineFormula(r.EqualBitsFormula,"equalBits",{generateClauses:function(e,t){for(var n=this.bits1.bits,A=this.bits2.bits,i=Math.max(n.length,A.length),o=[],s=0;s=n.length?o.push(r.not(A[s])):s>=A.length?o.push(r.not(n[s])):o.push(r.equiv(n[s],A[s]));return t.generate(e,r.and(o))}}),r.HalfAdderSum=function(e,t){f&&f(e,l),f&&f(t,l),f&&p(arguments.length,2,"Logic.HalfAdderSum"),this.a=e,this.b=t},r._defineFormula(r.HalfAdderSum,"hsum",{generateClauses:function(e,t){return t.generate(e,r.xor(this.a,this.b))}}),r.HalfAdderCarry=function(e,t){f&&f(e,l),f&&f(t,l),f&&p(arguments.length,2,"Logic.HalfAdderCarry"),this.a=e,this.b=t},r._defineFormula(r.HalfAdderCarry,"hcarry",{generateClauses:function(e,t){return t.generate(e,r.and(this.a,this.b))}}),r.FullAdderSum=function(e,t,n){f&&f(e,l),f&&f(t,l),f&&f(n,l),f&&p(arguments.length,3,"Logic.FullAdderSum"),this.a=e,this.b=t,this.c=n},r._defineFormula(r.FullAdderSum,"fsum",{generateClauses:function(e,t){return t.generate(e,r.xor(this.a,this.b,this.c))}}),r.FullAdderCarry=function(e,t,n){f&&f(e,l),f&&f(t,l),f&&f(n,l),f&&p(arguments.length,3,"Logic.FullAdderCarry"),this.a=e,this.b=t,this.c=n},r._defineFormula(r.FullAdderCarry,"fcarry",{generateClauses:function(e,t){return t.generate(!e,r.atMostOne(this.a,this.b,this.c))}});var E=function(e){f&&f(e,g(g(l)));for(var t=i.map(e,i.clone),n=0,A=[];n=e.length;)e.push([]);e[t].push(n)},y=function(e,t){if(f&&f(e,g(l)),"number"==typeof t)f&&f(t,r.isWholeNumber);else if(f&&f(t,g(r.isWholeNumber)),e.length!==t.length)throw new Error("Formula array and weight array must be same length; they are "+e.length+" and "+t.length)};r.weightedSum=function(e,t){if(y(e,t),0===e.length)return new r.Bits([]);"number"==typeof t&&(t=i.map(e,(function(){return t})));var n=[];return i.each(e,(function(e,r){for(var A=t[r],i=0;A;)1&A&&B(n,i,e),A>>>=1,i++})),new r.Bits(E(n))},r.sum=function(){var e=i.flatten(arguments);f&&f(e,g(h));var t=[];return i.each(e,(function(e){e instanceof r.Bits?i.each(e.bits,(function(e,n){B(t,n,e)})):B(t,0,e)})),new r.Bits(E(t))},r.Solver.prototype.solve=function(e){if(void 0!==e&&!(e>=1))throw new Error("_assumpVar must be a variable number");if(this._unsat)return null;for(;this._numClausesAddedToMiniSat0))throw new Error("Assertion failure: not a positive numeric term");this._useFormulaTerm(n);var A=this.solve(n);return this._minisat.retireVar(n),A},r.Assumption=function(e){f&&f(e,l),this.formula=e},r._defineFormula(r.Assumption,"assump",{generateClauses:function(e,t){return e?t.clause(this.formula):t.clause(r.not(this.formula))}}),r.Solution=function(e,t){var n=this;n._solver=e,n._assignment=t,n._ungeneratedFormulas=i.clone(e._ungeneratedFormulas),n._formulaValueCache={},n._termifier=new r.Termifier(n._solver),n._termifier.term=function(e){return n.evaluate(e)?r.NUM_TRUE:r.NUM_FALSE},n._ignoreUnknownVariables=!1},r.Solution.prototype.ignoreUnknownVariables=function(){this._ignoreUnknownVariables=!0},r.Solution.prototype.getMap=function(){for(var e=this._solver,t=this._assignment,n={},r=1;r=s.length){C=d;if(d>=1&&d0){u&&u("trying",0);var h=null;l=m(n,A),(h=e.solveAssuming(r.not(r.or(l))))&&(s=h,a=0)}if(o&&"bottom-up"===g)for(var p=1;p0;){u&&u("improving",a);var C,d=(o?r.lessThan:r.greaterThan)(c,r.constantBits(a));if(!(C=e.solveAssuming(d)))break;e.require(d),a=(s=C).getWeightedSum(n,A)}return o&&0===a?(l||(l=m(n,A)),e.forbid(l)):e.require(r.equalBits(c,r.constantBits(a))),u&&u("finished",a),s};r.Solver.prototype.minimizeWeightedSum=function(e,t,n,r){return Q(this,e,t,n,r,!0)},r.Solver.prototype.maximizeWeightedSum=function(e,t,n,r){return Q(this,e,t,n,r,!1)},e.exports=r},function(e,t,n){var r,A=n(680),i=n(313);(r=function(){var e=this._C=A();this._native={getStackPointer:function(){return e.Runtime.stackSave()},setStackPointer:function(t){e.Runtime.stackRestore(t)},allocateBytes:function(t){return e.allocate(t,"i8",e.ALLOC_STACK)},pushString:function(t){return this.allocateBytes(e.intArrayFromString(t))},savingStack:function(t){var n=this.getStackPointer();try{return t(this,e)}finally{this.setStackPointer(n)}}},e._createTheSolver(),this._clauses=[]}).prototype.ensureVar=function(e){this._C._ensureVar(e)},r.prototype.addClause=function(e){return this._clauses.push(e),this._native.savingStack((function(t,n){var r=n.allocate(4*(e.length+1),"i32",n.ALLOC_STACK);return i.each(e,(function(e,t){n.setValue(r+4*t,e,"i32")})),n.setValue(r+4*e.length,0,"i32"),!!n._addClause(r)}))},r.prototype.solve=function(){return!!this._C._solve()},r.prototype.solveAssuming=function(e){return!!this._C._solveAssuming(e)},r.prototype.getSolution=function(){for(var e=[null],t=this._C,n=t._getNumVars(),r=t._getSolution(),A=0;A>>1,s=1&i?-1:1;r[A]=o*s}return r},e.exports=r},function(module,exports,__webpack_require__){var C_MINISAT;C_MINISAT=function(){var module={},require=function(){},process={argv:["node","minisat"],on:function(){},stdout:{write:function(e){console.log("MINISAT-out:",e.replace(/\n$/,""))}},stderr:{write:function(e){console.log("MINISAT-err:",e.replace(/\n$/,""))}}},window=0,Module;Module||(Module=(void 0!==Module?Module:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_NODE="object"==typeof process&&"function"==typeof require,ENVIRONMENT_IS_WEB="object"==typeof window,ENVIRONMENT_IS_WORKER="function"==typeof importScripts,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=function(e){process.stdout.write(e+"\n")}),Module.printErr||(Module.printErr=function(e){process.stderr.write(e+"\n")});var nodeFS=require("fs"),nodePath=require("path");Module.read=function(e,t){e=nodePath.normalize(e);var n=nodeFS.readFileSync(e);return n||e==nodePath.resolve(e)||(e=path.join(__dirname,"..","src",e),n=nodeFS.readFileSync(e)),n&&!t&&(n=n.toString()),n},Module.readBinary=function(e){return Module.read(e,!0)},Module.load=function(e){globalEval(read(e))},process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program",Module.arguments=process.argv.slice(2),void 0!==module&&(module.exports=Module),process.on("uncaughtException",(function(e){if(!(e instanceof ExitStatus))throw e}))}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),"undefined"!=typeof printErr&&(Module.printErr=printErr),"undefined"!=typeof read?Module.read=read:Module.read=function(){throw"no read() available (jsc?)"},Module.readBinary=function(e){if("function"==typeof readbuffer)return new Uint8Array(readbuffer(e));var t=read(e,"binary");return assert("object"==typeof t),t},"undefined"!=typeof scriptArgs?Module.arguments=scriptArgs:void 0!==arguments&&(Module.arguments=arguments),this.Module=Module;else{if(!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER)throw"Unknown runtime environment. Where are we?";if(Module.read=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},void 0!==arguments&&(Module.arguments=arguments),"undefined"!=typeof console)Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.log(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=TRY_USE_DUMP&&"undefined"!=typeof dump?function(e){dump(e)}:function(e){})}ENVIRONMENT_IS_WEB?window.Module=Module:Module.load=importScripts}function globalEval(e){eval.call(null,e)}for(var key in!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[],moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);var Runtime={setTempRet0:function(e){tempRet0=e},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(e){STACKTOP=e},getNativeTypeSize:function(e){switch(e){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:if("*"===e[e.length-1])return Runtime.QUANTUM_SIZE;if("i"===e[0]){var t=parseInt(e.substr(1));return assert(t%8==0),t/8}return 0}},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,getAlignSize:function(e,t,n){return n||"i64"!=e&&"double"!=e?e?Math.min(t||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE):Math.min(t,8):8},dynCall:function(e,t,n){return n&&n.length?(n.splice||(n=Array.prototype.slice.call(n)),n.splice(0,0,t),Module["dynCall_"+e].apply(null,n)):Module["dynCall_"+e].call(null,t)},functionPointers:[],addFunction:function(e){for(var t=0;t0))return"";var r,A=e[0],i=e[1],o=e[2],s=e[3];if(2==e.length)r=String.fromCharCode((31&A)<<6|63&i);else if(3==e.length)r=String.fromCharCode((15&A)<<12|(63&i)<<6|63&o);else{var a=(7&A)<<18|(63&i)<<12|(63&o)<<6|63&s;r=String.fromCharCode(55296+((a-65536)/1024|0),(a-65536)%1024+56320)}return e.length=0,r},this.processJSString=function(e){e=unescape(encodeURIComponent(e));for(var t=[],n=0;n=TOTAL_MEMORY&&enlargeMemory(),t},alignMemory:function(e,t){return e=Math.ceil(e/(t||16))*(t||16)},makeBigInt:function(e,t,n){return n?+(e>>>0)+4294967296*+(t>>>0):+(e>>>0)+4294967296*+(0|t)},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var __THREW__=0,ABORT=!1,EXITSTATUS=0,undef=0,tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat,tempI64,tempI64b,tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(e,t){e||abort("Assertion failed: "+t)}var globalScope=this,cwrap,ccall;function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(e){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}function setValue(e,t,n,r){switch("*"===(n=n||"i8").charAt(n.length-1)&&(n="i32"),n){case"i1":case"i8":HEAP8[e>>0]=t;break;case"i16":HEAP16[e>>1]=t;break;case"i32":HEAP32[e>>2]=t;break;case"i64":tempI64=[t>>>0,(tempDouble=t,+Math_abs(tempDouble)>=1?tempDouble>0?(0|Math_min(+Math_floor(tempDouble/4294967296),4294967295))>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=t;break;case"double":HEAPF64[e>>3]=t;break;default:abort("invalid type for setValue: "+n)}}function getValue(e,t,n){switch("*"===(t=t||"i8").charAt(t.length-1)&&(t="i32"),t){case"i1":case"i8":return HEAP8[e>>0];case"i16":return HEAP16[e>>1];case"i32":case"i64":return HEAP32[e>>2];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];default:abort("invalid type for setValue: "+t)}return null}!function(){var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(e){var t=Runtime.stackAlloc(e.length);return writeArrayToMemory(e,t),t},stringToC:function(e){var t=0;return null!=e&&0!==e&&writeStringToMemory(e,t=Runtime.stackAlloc(1+(e.length<<2))),t}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,t,n,r){var A=getCFunc(e),i=[],o=0;if(r)for(var s=0;s>2]=0;for(a=o+i;r>0]=0;return o}if("i8"===s)return e.subarray||e.slice?HEAPU8.set(e,o):HEAPU8.set(new Uint8Array(e),o),o;for(var c,u,g,l=0;l>0])>=128)r=!0;else if(0==n&&!t)break;if(A++,t&&A==t)break}t||(t=A);var i="";if(!r){for(var o;t>0;)o=String.fromCharCode.apply(String,HEAPU8.subarray(e,e+Math.min(t,1024))),i=i?i+o:o,e+=1024,t-=1024;return i}var s=new Runtime.UTF8Processor;for(A=0;A>0],i+=s.processCChar(n);return i}function UTF16ToString(e){for(var t=0,n="";;){var r=HEAP16[e+2*t>>1];if(0==r)return n;++t,n+=String.fromCharCode(r)}}function stringToUTF16(e,t){for(var n=0;n>1]=r}HEAP16[t+2*e.length>>1]=0}function UTF32ToString(e){for(var t=0,n="";;){var r=HEAP32[e+4*t>>2];if(0==r)return n;if(++t,r>=65536){var A=r-65536;n+=String.fromCharCode(55296|A>>10,56320|1023&A)}else n+=String.fromCharCode(r)}}function stringToUTF32(e,t){for(var n=0,r=0;r=55296&&A<=57343)A=65536+((1023&A)<<10)|1023&e.charCodeAt(++r);HEAP32[t+4*n>>2]=A,++n}HEAP32[t+4*n>>2]=0}function demangle(e){var t=!!Module.___cxa_demangle;if(t)try{var n=_malloc(e.length);writeStringToMemory(e.substr(1),n);var r=_malloc(4),A=Module.___cxa_demangle(n,0,0,r);if(0===getValue(r,"i32")&&A)return Pointer_stringify(A)}catch(e){}finally{n&&_free(n),r&&_free(r),A&&_free(A)}var i=3,o={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},s=[],a=!0;var c=e;try{if("Object._main"==e||"_main"==e)return"main()";if("number"==typeof e&&(e=Pointer_stringify(e)),"_"!==e[0])return e;if("_"!==e[1])return e;if("Z"!==e[2])return e;switch(e[3]){case"n":return"operator new()";case"d":return"operator delete()"}c=function t(n,r,A){r=r||1/0;var c,u="",g=[];if("N"===e[i]){if(c=function(){"K"===e[++i]&&i++;for(var t=[];"E"!==e[i];)if("S"!==e[i])if("C"!==e[i]){var n=parseInt(e.substr(i)),r=n.toString().length;if(!n||!r){i--;break}var A=e.substr(i+r,n);t.push(A),s.push(A),i+=r+n}else t.push(t[t.length-1]),i+=2;else{i++;var o=e.indexOf("_",i),a=e.substring(i,o)||0;t.push(s[a]||"?"),i=o+1}return i++,t}().join("::"),0===--r)return n?[c]:c}else if(("K"===e[i]||a&&"L"===e[i])&&i++,f=parseInt(e.substr(i))){var l=f.toString().length;c=e.substr(i+l,f),i+=l+f}if(a=!1,"I"===e[i]){i++;var h=t(!0);u+=t(!0,1,!0)[0]+" "+c+"<"+h.join(", ")+">"}else u=c;e:for(;i0;){var p=e[i++];if(p in o)g.push(o[p]);else switch(p){case"P":g.push(t(!0,1,!0)[0]+"*");break;case"R":g.push(t(!0,1,!0)[0]+"&");break;case"L":i++;var f=e.indexOf("E",i)-i;g.push(e.substr(i,f)),i+=f+2;break;case"A":f=parseInt(e.substr(i));if(i+=f.toString().length,"_"!==e[i])throw"?";i++,g.push(t(!0,1,!0)[0]+" ["+f+"]");break;case"E":break e;default:u+="?"+p;break e}}return A||1!==g.length||"void"!==g[0]||(g=[]),n?(u&&g.push(u+"?"),g):u+"("+g.join(", ")+")"}()}catch(e){c+="?"}return c.indexOf("?")>=0&&!t&&Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),c}function demangleAll(e){return e.replace(/__Z[\w\d_]+/g,(function(e){var t=demangle(e);return e===t?e:e+" ["+t+"]"}))}function jsStackTrace(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(t){e=t}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module.ALLOC_NORMAL=ALLOC_NORMAL,Module.ALLOC_STACK=ALLOC_STACK,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=ALLOC_DYNAMIC,Module.ALLOC_NONE=ALLOC_NONE,Module.allocate=allocate,Module.Pointer_stringify=Pointer_stringify,Module.UTF16ToString=UTF16ToString,Module.stringToUTF16=stringToUTF16,Module.UTF32ToString=UTF32ToString,Module.stringToUTF32=stringToUTF32,Module.stackTrace=stackTrace;var PAGE_SIZE=4096,HEAP,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function alignMemoryPage(e){return e+4095&-4096}var STATIC_BASE=0,STATICTOP=0,staticSealed=!1,STACK_BASE=0,STACKTOP=0,STACK_MAX=0,DYNAMIC_BASE=0,DYNAMICTOP=0;function enlargeMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}for(var TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||67108864,FAST_MEMORY=Module.FAST_MEMORY||2097152,totalMemory=65536;totalMemory0;){var t=e.shift();if("function"!=typeof t){var n=t.func;"number"==typeof n?void 0===t.arg?Runtime.dynCall("v",n):Runtime.dynCall("vi",n,[t.arg]):n(void 0===t.arg?null:t.arg)}else t()}}HEAP8=new Int8Array(buffer),HEAP16=new Int16Array(buffer),HEAP32=new Int32Array(buffer),HEAPU8=new Uint8Array(buffer),HEAPU16=new Uint16Array(buffer),HEAPU32=new Uint32Array(buffer),HEAPF32=new Float32Array(buffer),HEAPF64=new Float64Array(buffer),HEAP32[0]=255,assert(255===HEAPU8[0]&&0===HEAPU8[3],"Typed arrays 2 must be run on a little-endian system"),Module.HEAP=HEAP,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPreMain(e){__ATMAIN__.unshift(e)}function addOnExit(e){__ATEXIT__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}function intArrayFromString(e,t,n){var r=(new Runtime.UTF8Processor).processJSString(e);return n&&(r.length=n),t||r.push(0),r}function intArrayToString(e){for(var t=[],n=0;n255&&(r&=255),t.push(String.fromCharCode(r))}return t.join("")}function writeStringToMemory(e,t,n){for(var r=intArrayFromString(e,n),A=0;A>0]=i,A+=1}}function writeArrayToMemory(e,t){for(var n=0;n>0]=e[n]}function writeAsciiToMemory(e,t,n){for(var r=0;r>0]=e.charCodeAt(r);n||(HEAP8[t+e.length>>0]=0)}function unSign(e,t,n){return e>=0?e:t<=32?2*Math.abs(1<=r&&(t<=32||e>r)&&(e=-2*r+e),e}Module.addOnPreRun=Module.addOnPreRun=addOnPreRun,Module.addOnInit=Module.addOnInit=addOnInit,Module.addOnPreMain=Module.addOnPreMain=addOnPreMain,Module.addOnExit=Module.addOnExit=addOnExit,Module.addOnPostRun=Module.addOnPostRun=addOnPostRun,Module.intArrayFromString=intArrayFromString,Module.intArrayToString=intArrayToString,Module.writeStringToMemory=writeStringToMemory,Module.writeArrayToMemory=writeArrayToMemory,Module.writeAsciiToMemory=writeAsciiToMemory,Math.imul&&-5===Math.imul(4294967295,5)||(Math.imul=function(e,t){var n=65535&e,r=65535&t;return n*r+((e>>>16)*r+n*(t>>>16)<<16)|0}),Math.imul=Math.imul;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_min=Math.min,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&(null!==runDependencyWatcher&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var t=dependenciesFulfilled;dependenciesFulfilled=null,t()}}Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var memoryInitializer=null;STATIC_BASE=8,STATICTOP=STATIC_BASE+5664,__ATINIT__.push({func:function(){__GLOBAL__I_a()}},{func:function(){__GLOBAL__I_a127()}}),allocate([78,55,77,105,110,105,115,97,116,50,48,79,117,116,79,102,77,101,109,111,114,121,69,120,99,101,112,116,105,111,110,69,0,0,0,0,0,0,0,0,88,18,0,0,8,0,0,0,78,55,77,105,110,105,115,97,116,54,79,112,116,105,111,110,69,0,0,0,0,0,0,0,88,18,0,0,56,0,0,0,10,32,32,32,32,32,32,32,32,37,115,10,0,0,0,0,0,0,0,0,80,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,1,0,0,0,78,55,77,105,110,105,115,97,116,49,48,66,111,111,108,79,112,116,105,111,110,69,0,0,128,18,0,0,176,0,0,0,80,0,0,0,0,0,0,0,32,32,45,37,115,44,32,45,110,111,45,37,115,0,0,0,40,100,101,102,97,117,108,116,58,32,37,115,41,10,0,0,111,110,0,0,0,0,0,0,111,102,102,0,0,0,0,0,110,111,45,0,0,0,0,0,0,0,0,0,64,1,0,0,1,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,78,55,77,105,110,105,115,97,116,57,73,110,116,79,112,116,105,111,110,69,0,0,0,0,128,18,0,0,40,1,0,0,80,0,0,0,0,0,0,0,32,32,45,37,45,49,50,115,32,61,32,37,45,56,115,32,91,0,0,0,0,0,0,0,105,109,105,110,0,0,0,0,37,52,100,0,0,0,0,0,32,46,46,32,0,0,0,0,105,109,97,120,0,0,0,0,93,32,40,100,101,102,97,117,108,116,58,32,37,100,41,10,0,0,0,0,0,0,0,0,69,82,82,79,82,33,32,118,97,108,117,101,32,60,37,115,62,32,105,115,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,111,112,116,105,111,110,32,34,37,115,34,46,10,0,0,0,0,0,0,0,0,69,82,82,79,82,33,32,118,97,108,117,101,32,60,37,115,62,32,105,115,32,116,111,111,32,115,109,97,108,108,32,102,111,114,32,111,112,116,105,111,110,32,34,37,115,34,46,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,118,97,114,45,100,101,99,97,121,0,0,0,0,0,0,0,84,104,101,32,118,97,114,105,97,98,108,101,32,97,99,116,105,118,105,116,121,32,100,101,99,97,121,32,102,97,99,116,111,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,108,97,45,100,101,99,97,121,0,0,0,0,0,0,0,84,104,101,32,99,108,97,117,115,101,32,97,99,116,105,118,105,116,121,32,100,101,99,97,121,32,102,97,99,116,111,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,110,100,45,102,114,101,113,0,0,0,0,0,0,0,0,84,104,101,32,102,114,101,113,117,101,110,99,121,32,119,105,116,104,32,119,104,105,99,104,32,116,104,101,32,100,101,99,105,115,105,111,110,32,104,101,117,114,105,115,116,105,99,32,116,114,105,101,115,32,116,111,32,99,104,111,111,115,101,32,97,32,114,97,110,100,111,109,32,118,97,114,105,97,98,108,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,110,100,45,115,101,101,100,0,0,0,0,0,0,0,0,85,115,101,100,32,98,121,32,116,104,101,32,114,97,110,100,111,109,32,118,97,114,105,97,98,108,101,32,115,101,108,101,99,116,105,111,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,99,109,105,110,45,109,111,100,101,0,0,0,0,0,0,67,111,110,116,114,111,108,115,32,99,111,110,102,108,105,99,116,32,99,108,97,117,115,101,32,109,105,110,105,109,105,122,97,116,105,111,110,32,40,48,61,110,111,110,101,44,32,49,61,98,97,115,105,99,44,32,50,61,100,101,101,112,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,104,97,115,101,45,115,97,118,105,110,103,0,0,0,0,67,111,110,116,114,111,108,115,32,116,104,101,32,108,101,118,101,108,32,111,102,32,112,104,97,115,101,32,115,97,118,105,110,103,32,40,48,61,110,111,110,101,44,32,49,61,108,105,109,105,116,101,100,44,32,50,61,102,117,108,108,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,110,100,45,105,110,105,116,0,0,0,0,0,0,0,0,82,97,110,100,111,109,105,122,101,32,116,104,101,32,105,110,105,116,105,97,108,32,97,99,116,105,118,105,116,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,117,98,121,0,0,0,0,85,115,101,32,116,104,101,32,76,117,98,121,32,114,101,115,116,97,114,116,32,115,101,113,117,101,110,99,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,102,105,114,115,116,0,0,84,104,101,32,98,97,115,101,32,114,101,115,116,97,114,116,32,105,110,116,101,114,118,97,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,105,110,99,0,0,0,0,82,101,115,116,97,114,116,32,105,110,116,101,114,118,97,108,32,105,110,99,114,101,97,115,101,32,102,97,99,116,111,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,99,45,102,114,97,99,0,84,104,101,32,102,114,97,99,116,105,111,110,32,111,102,32,119,97,115,116,101,100,32,109,101,109,111,114,121,32,97,108,108,111,119,101,100,32,98,101,102,111,114,101,32,97,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,116,114,105,103,103,101,114,101,100,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,109,105,110,45,108,101,97,114,110,116,115,0,0,0,0,0,77,105,110,105,109,117,109,32,108,101,97,114,110,116,32,99,108,97,117,115,101,32,108,105,109,105,116,0,0,0,0,0,0,0,0,0,192,7,0,0,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,124,32,37,57,100,32,124,32,37,55,100,32,37,56,100,32,37,56,100,32,124,32,37,56,100,32,37,56,100,32,37,54,46,48,102,32,124,32,37,54,46,51,102,32,37,37,32,124,10,0,0,0,0,0,0,0,124,32,32,71,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,58,32,32,32,37,49,50,100,32,98,121,116,101,115,32,61,62,32,37,49,50,100,32,98,121,116,101,115,32,32,32,32,32,32,32,32,32,32,32,32,32,124,10,0,0,0,0,0,0,0,0,78,55,77,105,110,105,115,97,116,54,83,111,108,118,101,114,69,0,0,0,0,0,0,0,88,18,0,0,168,7,0,0,60,98,111,111,108,62,0,0,10,32,32,32,32,32,32,32,32,37,115,10,0,0,0,0,60,105,110,116,51,50,62,0,69,82,82,79,82,33,32,118,97,108,117,101,32,60,37,115,62,32,105,115,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,111,112,116,105,111,110,32,34,37,115,34,46,10,0,0,0,0,0,0,0,0,69,82,82,79,82,33,32,118,97,108,117,101,32,60,37,115,62,32,105,115,32,116,111,111,32,115,109,97,108,108,32,102,111,114,32,111,112,116,105,111,110,32,34,37,115,34,46,10,0,0,0,0,0,0,0,0,67,79,82,69,0,0,0,0,60,100,111,117,98,108,101,62,0,0,0,0,0,0,0,0,0,0,0,0,168,8,0,0,1,0,0,0,8,0,0,0,3,0,0,0,3,0,0,0,78,55,77,105,110,105,115,97,116,49,50,68,111,117,98,108,101,79,112,116,105,111,110,69,0,0,0,0,0,0,0,0,128,18,0,0,136,8,0,0,80,0,0,0,0,0,0,0,32,32,45,37,45,49,50,115,32,61,32,37,45,56,115,32,37,99,37,52,46,50,103,32,46,46,32,37,52,46,50,103,37,99,32,40,100,101,102,97,117,108,116,58,32,37,103,41,10,0,0,0,0,0,0,0,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,91,32,83,101,97,114,99,104,32,83,116,97,116,105,115,116,105,99,115,32,93,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,0,124,32,67,111,110,102,108,105,99,116,115,32,124,32,32,32,32,32,32,32,32,32,32,79,82,73,71,73,78,65,76,32,32,32,32,32,32,32,32,32,124,32,32,32,32,32,32,32,32,32,32,76,69,65,82,78,84,32,32,32,32,32,32,32,32,32,32,124,32,80,114,111,103,114,101,115,115,32,124,0,124,32,32,32,32,32,32,32,32,32,32,32,124,32,32,32,32,86,97,114,115,32,32,67,108,97,117,115,101,115,32,76,105,116,101,114,97,108,115,32,124,32,32,32,32,76,105,109,105,116,32,32,67,108,97,117,115,101,115,32,76,105,116,47,67,108,32,124,32,32,32,32,32,32,32,32,32,32,124,0,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,97,115,121,109,109,0,0,0,83,104,114,105,110,107,32,99,108,97,117,115,101,115,32,98,121,32,97,115,121,109,109,101,116,114,105,99,32,98,114,97,110,99,104,105,110,103,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,114,99,104,101,99,107,0,0,67,104,101,99,107,32,105,102,32,97,32,99,108,97,117,115,101,32,105,115,32,97,108,114,101,97,100,121,32,105,109,112,108,105,101,100,46,32,40,99,111,115,116,108,121,41,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,101,108,105,109,0,0,0,0,80,101,114,102,111,114,109,32,118,97,114,105,97,98,108,101,32,101,108,105,109,105,110,97,116,105,111,110,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,114,111,119,0,0,0,0,65,108,108,111,119,32,97,32,118,97,114,105,97,98,108,101,32,101,108,105,109,105,110,97,116,105,111,110,32,115,116,101,112,32,116,111,32,103,114,111,119,32,98,121,32,97,32,110,117,109,98,101,114,32,111,102,32,99,108,97,117,115,101,115,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,108,45,108,105,109,0,0,86,97,114,105,97,98,108,101,115,32,97,114,101,32,110,111,116,32,101,108,105,109,105,110,97,116,101,100,32,105,102,32,105,116,32,112,114,111,100,117,99,101,115,32,97,32,114,101,115,111,108,118,101,110,116,32,119,105,116,104,32,97,32,108,101,110,103,116,104,32,97,98,111,118,101,32,116,104,105,115,32,108,105,109,105,116,46,32,45,49,32,109,101,97,110,115,32,110,111,32,108,105,109,105,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,117,98,45,108,105,109,0,68,111,32,110,111,116,32,99,104,101,99,107,32,105,102,32,115,117,98,115,117,109,112,116,105,111,110,32,97,103,97,105,110,115,116,32,97,32,99,108,97,117,115,101,32,108,97,114,103,101,114,32,116,104,97,110,32,116,104,105,115,46,32,45,49,32,109,101,97,110,115,32,110,111,32,108,105,109,105,116,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,115,105,109,112,45,103,99,45,102,114,97,99,0,0,0,0,84,104,101,32,102,114,97,99,116,105,111,110,32,111,102,32,119,97,115,116,101,100,32,109,101,109,111,114,121,32,97,108,108,111,119,101,100,32,98,101,102,111,114,101,32,97,32,103,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,32,105,115,32,116,114,105,103,103,101,114,101,100,32,100,117,114,105,110,103,32,115,105,109,112,108,105,102,105,99,97,116,105,111,110,46,0,0,0,0,0,0,0,120,14,0,0,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,115,117,98,115,117,109,112,116,105,111,110,32,108,101,102,116,58,32,37,49,48,100,32,40,37,49,48,100,32,115,117,98,115,117,109,101,100,44,32,37,49,48,100,32,100,101,108,101,116,101,100,32,108,105,116,101,114,97,108,115,41,13,0,0,101,108,105,109,105,110,97,116,105,111,110,32,108,101,102,116,58,32,37,49,48,100,13,0,124,32,32,69,108,105,109,105,110,97,116,101,100,32,99,108,97,117,115,101,115,58,32,32,32,32,32,37,49,48,46,50,102,32,77,98,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,124,10,0,0,0,0,124,32,32,71,97,114,98,97,103,101,32,99,111,108,108,101,99,116,105,111,110,58,32,32,32,37,49,50,100,32,98,121,116,101,115,32,61,62,32,37,49,50,100,32,98,121,116,101,115,32,32,32,32,32,32,32,32,32,32,32,32,32,124,10,0,0,0,0,0,0,0,0,78,55,77,105,110,105,115,97,116,49,48,83,105,109,112,83,111,108,118,101,114,69,0,0,128,18,0,0,96,14,0,0,192,7,0,0,0,0,0,0,60,100,111,117,98,108,101,62,0,0,0,0,0,0,0,0,60,105,110,116,51,50,62,0,83,73,77,80,0,0,0,0,60,98,111,111,108,62,0,0,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,89,79,33,0,0,0,0,0,2,0,0,0,0,0,0,0,48,15,0,0,0,0,0,0,117,110,99,97,117,103,104,116,0,0,0,0,0,0,0,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,0,0,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,0,0,0,0,0,0,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,0,0,116,101,114,109,105,110,97,116,105,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,0,0,0,0,0,0,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,0,0,0,0,0,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,0,0,0,0,0,0,0,200,16,0,0,12,0,0,0,13,0,0,0,1,0,0,0,0,0,0,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,0,83,116,57,98,97,100,95,97,108,108,111,99,0,0,0,0,128,18,0,0,184,16,0,0,80,17,0,0,0,0,0,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,116,104,114,101,119,32,97,110,32,101,120,99,101,112,116,105,111,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,116,57,101,120,99,101,112,116,105,111,110,0,0,0,0,88,18,0,0,64,17,0,0,83,116,57,116,121,112,101,95,105,110,102,111,0,0,0,0,88,18,0,0,88,17,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,0,0,0,0,128,18,0,0,112,17,0,0,104,17,0,0,0,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,0,0,0,128,18,0,0,168,17,0,0,152,17,0,0,0,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,0,0,0,128,18,0,0,8,18,0,0,152,17,0,0,0,0,0,0,128,18,0,0,224,17,0,0,48,18,0,0,0,0,0,0,0,0,0,0,208,17,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,200,18,0,0,14,0,0,0,18,0,0,0,16,0,0,0,17,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,128,18,0,0,160,18,0,0,208,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,2,4,7,3,6,5,0,0,0,0,0,0,0,0,105,110,102,105,110,105,116,121,0,0,0,0,0,0,0,0,110,97,110,0,0,0,0,0,95,112,137,0,255,9,47,15,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);function copyTempFloat(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3]}function copyTempDouble(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3],HEAP8[tempDoublePtr+4]=HEAP8[e+4],HEAP8[tempDoublePtr+5]=HEAP8[e+5],HEAP8[tempDoublePtr+6]=HEAP8[e+6],HEAP8[tempDoublePtr+7]=HEAP8[e+7]}function _atexit(e,t){__ATEXIT__.unshift({func:e,arg:t})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}assert(tempDoublePtr%8==0),Module._i64Subtract=_i64Subtract;var ___errno_state=0;function ___setErrNo(e){return HEAP32[___errno_state>>2]=e,e}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _sysconf(e){switch(e){case 30:return PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 79:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"==typeof navigator&&navigator.hardwareConcurrency||1}return ___setErrNo(ERRNO_CODES.EINVAL),-1}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:function(e){if(!e||EXCEPTIONS.infos[e])return e;for(var t in EXCEPTIONS.infos){if(EXCEPTIONS.infos[t].adjusted===e)return t}return e},addRef:function(e){e&&EXCEPTIONS.infos[e].refcount++},decRef:function(e){if(e){var t=EXCEPTIONS.infos[e];assert(t.refcount>0),t.refcount--,0===t.refcount&&(t.destructor&&Runtime.dynCall("vi",t.destructor,[e]),delete EXCEPTIONS.infos[e],___cxa_free_exception(e))}},clearRef:function(e){e&&(EXCEPTIONS.infos[e].refcount=0)}};function ___resumeException(e){throw EXCEPTIONS.last||(EXCEPTIONS.last=e),EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(e)),e+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var e=EXCEPTIONS.last;if(!e)return 0|(asm.setTempRet0(0),0);var t=EXCEPTIONS.infos[e],n=t.type;if(!n)return 0|(asm.setTempRet0(0),e);var r=Array.prototype.slice.call(arguments);Module.___cxa_is_pointer_type(n);___cxa_find_matching_catch.buffer||(___cxa_find_matching_catch.buffer=_malloc(4)),HEAP32[___cxa_find_matching_catch.buffer>>2]=e,e=___cxa_find_matching_catch.buffer;for(var A=0;A>2],t.adjusted=e,0|(asm.setTempRet0(r[A]),e);return e=HEAP32[e>>2],0|(asm.setTempRet0(n),e)}function ___cxa_throw(e,t,n){throw EXCEPTIONS.infos[e]={ptr:e,adjusted:e,type:t,destructor:n,refcount:0},EXCEPTIONS.last=e,"uncaught_exception"in __ZSt18uncaught_exceptionv?__ZSt18uncaught_exceptionv.uncaught_exception++:__ZSt18uncaught_exceptionv.uncaught_exception=1,e+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function _abort(){Module.abort()}Module._memset=_memset,Module._bitshift64Shl=_bitshift64Shl;var FS=void 0,SOCKFS=void 0;function _send(e,t,n,r){return SOCKFS.getSocket(e)?_write(e,t,n):(___setErrNo(ERRNO_CODES.EBADF),-1)}function _pwrite(e,t,n,r){var A=FS.getStream(e);if(!A)return ___setErrNo(ERRNO_CODES.EBADF),-1;try{var i=HEAP8;return FS.write(A,i,t,n,r)}catch(e){return FS.handleFSError(e),-1}}function _write(e,t,n){var r=FS.getStream(e);if(!r)return ___setErrNo(ERRNO_CODES.EBADF),-1;try{var A=HEAP8;return FS.write(r,A,t,n)}catch(e){return FS.handleFSError(e),-1}}function _fileno(e){return(e=FS.getStreamFromPtr(e))?e.fd:-1}function _fwrite(e,t,n,r){var A=n*t;if(0==A)return 0;var i=_write(_fileno(r),e,A);if(-1==i){var o=FS.getStreamFromPtr(r);return o&&(o.error=!0),0}return i/t|0}function __reallyNegative(e){return e<0||0===e&&1/e==-1/0}function __formatString(e,t){var n=e,r=0;function A(e){var n;return"double"===e?(HEAP32[tempDoublePtr>>2]=HEAP32[t+r>>2],HEAP32[tempDoublePtr+4>>2]=HEAP32[t+(r+4)>>2],n=+HEAPF64[tempDoublePtr>>3]):"i64"==e?n=[HEAP32[t+r>>2],HEAP32[t+(r+4)>>2]]:(e="i32",n=HEAP32[t+r>>2]),r+=Runtime.getNativeFieldSize(e),n}for(var i,o,s=[];;){var a=n;if(0===(i=HEAP8[n>>0]))break;if(o=HEAP8[n+1>>0],37==i){var c=!1,u=!1,g=!1,l=!1,h=!1;e:for(;;){switch(o){case 43:c=!0;break;case 45:u=!0;break;case 35:g=!0;break;case 48:if(l)break e;l=!0;break;case 32:h=!0;break;default:break e}o=HEAP8[++n+1>>0]}var p=0;if(42==o)p=A("i32"),o=HEAP8[++n+1>>0];else for(;o>=48&&o<=57;)p=10*p+(o-48),o=HEAP8[++n+1>>0];var f,C=!1,d=-1;if(46==o){if(d=0,C=!0,42==(o=HEAP8[++n+1>>0]))d=A("i32"),n++;else for(;;){var I=HEAP8[n+1>>0];if(I<48||I>57)break;d=10*d+(I-48),n++}o=HEAP8[n+1>>0]}switch(d<0&&(d=6,C=!1),String.fromCharCode(o)){case"h":104==HEAP8[n+2>>0]?(n++,f=1):f=2;break;case"l":108==HEAP8[n+2>>0]?(n++,f=8):f=4;break;case"L":case"q":case"j":f=8;break;case"z":case"t":case"I":f=4;break;default:f=null}switch(f&&n++,o=HEAP8[n+1>>0],String.fromCharCode(o)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":var E=100==o||105==o,B=D=A("i"+8*(f=f||4));if(8==f&&(D=Runtime.makeBigInt(D[0],D[1],117==o)),f<=4)D=(E?reSign:unSign)(D&Math.pow(256,f)-1,8*f);var y=Math.abs(D),m="";if(100==o||105==o)b=8==f&&i64Math?i64Math.stringify(B[0],B[1],null):reSign(D,8*f,1).toString(10);else if(117==o)b=8==f&&i64Math?i64Math.stringify(B[0],B[1],!0):unSign(D,8*f,1).toString(10),D=Math.abs(D);else if(111==o)b=(g?"0":"")+y.toString(8);else if(120==o||88==o){if(m=g&&0!=D?"0x":"",8==f&&i64Math)if(B[1]){b=(B[1]>>>0).toString(16);for(var Q=(B[0]>>>0).toString(16);Q.length<8;)Q="0"+Q;b+=Q}else b=(B[0]>>>0).toString(16);else if(D<0){D=-D,b=(y-1).toString(16);for(var w=[],v=0;v=0&&(c?m="+"+m:h&&(m=" "+m)),"-"==b.charAt(0)&&(m="-"+m,b=b.substr(1));m.length+b.length_&&_>=-4?(o=(103==o?"f":"F").charCodeAt(0),d-=_+1):(o=(103==o?"e":"E").charCodeAt(0),d--),k=Math.min(d,20)}101==o||69==o?(b=D.toExponential(k),/[eE][-+]\d$/.test(b)&&(b=b.slice(0,-1)+"0"+b.slice(-1))):102!=o&&70!=o||(b=D.toFixed(k),0===D&&__reallyNegative(D)&&(b="-"+b));var F=b.split("e");if(S&&!g)for(;F[0].length>1&&-1!=F[0].indexOf(".")&&("0"==F[0].slice(-1)||"."==F[0].slice(-1));)F[0]=F[0].slice(0,-1);else for(g&&-1==b.indexOf(".")&&(F[0]+=".");d>k++;)F[0]+="0";b=F[0]+(F.length>1?"e"+F[1]:""),69==o&&(b=b.toUpperCase()),D>=0&&(c?b="+"+b:h&&(b=" "+b))}else b=(D<0?"-":"")+"inf",l=!1;for(;b.length>0]);else s=s.concat(intArrayFromString("(null)".substr(0,N),!0));if(u)for(;N0;)s.push(32);u||s.push(A("i8"));break;case"n":var R=A("i32*");HEAP32[R>>2]=s.length;break;case"%":s.push(i);break;default:for(v=a;v>0])}n+=2}else s.push(i),n+=1}return s}function _fprintf(e,t,n){var r=__formatString(t,n),A=Runtime.stackSave(),i=_fwrite(allocate(r,"i8",ALLOC_STACK),1,r.length,e);return Runtime.stackRestore(A),i}function _printf(e,t){var n=__formatString(e,t),r=intArrayToString(n);return"\n"===r[r.length-1]&&(r=r.substr(0,r.length-1)),Module.print(r),n.length}function _pthread_once(e,t){_pthread_once.seen||(_pthread_once.seen={}),e in _pthread_once.seen||(Runtime.dynCall("v",t),_pthread_once.seen[e]=1)}function _fputc(e,t){var n=unSign(255&e);if(HEAP8[_fputc.ret>>0]=n,-1==_write(_fileno(t),_fputc.ret,1)){var r=FS.getStreamFromPtr(t);return r&&(r.error=!0),-1}return n}Module._strlen=_strlen;var PTHREAD_SPECIFIC={};function _pthread_getspecific(e){return PTHREAD_SPECIFIC[e]||0}function _fputs(e,t){return _write(_fileno(t),e,_strlen(e))}Module._i64Add=_i64Add;var _stdout=allocate(1,"i32*",ALLOC_STATIC);function _puts(e){var t=Pointer_stringify(e),n=t.substr(0);return"\n"===n[n.length-1]&&(n=n.substr(0,n.length-1)),Module.print(n),t.length}function _pthread_setspecific(e,t){return e in PTHREAD_SPECIFIC?(PTHREAD_SPECIFIC[e]=t,0):ERRNO_CODES.EINVAL}function __exit(e){Module.exit(e)}function _exit(e){__exit(e)}var _UItoD=!0;function _malloc(e){return Runtime.dynamicAlloc(e+8)+8&4294967288}function ___cxa_allocate_exception(e){return _malloc(e)}function _fmod(e,t){return e%t}function _fmodl(){return _fmod.apply(null,arguments)}function ___cxa_pure_virtual(){throw ABORT=!0,"Pure virtual function called!"}function _time(e){var t=Date.now()/1e3|0;return e&&(HEAP32[e>>2]=t),t}Module._malloc=_malloc,Module._bitshift64Lshr=_bitshift64Lshr;var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(e,t){return 0==e?ERRNO_CODES.EINVAL:(HEAP32[e>>2]=PTHREAD_SPECIFIC_NEXT_KEY,PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0,PTHREAD_SPECIFIC_NEXT_KEY++,0)}function ___cxa_guard_acquire(e){return HEAP8[e>>0]?0:(HEAP8[e>>0]=1,1)}function ___cxa_guard_release(){}function _vfprintf(e,t,n){return _fprintf(e,t,HEAP32[n>>2])}function ___cxa_begin_catch(e){return __ZSt18uncaught_exceptionv.uncaught_exception--,EXCEPTIONS.caught.push(e),EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(e)),e}function _emscripten_memcpy_big(e,t,n){return HEAPU8.set(HEAPU8.subarray(t,t+n),e),e}Module._memcpy=_memcpy;var _llvm_pow_f64=Math_pow;function _sbrk(e){var t=_sbrk;t.called||(DYNAMICTOP=alignMemoryPage(DYNAMICTOP),t.called=!0,assert(Runtime.dynamicAlloc),t.alloc=Runtime.dynamicAlloc,Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")});var n=DYNAMICTOP;return 0!=e&&t.alloc(e),n}var _fabs=Math_abs;function ___errno_location(){return ___errno_state}var _BItoD=!0;function _copysign(e,t){return __reallyNegative(e)===__reallyNegative(t)?e:-e}function _copysignl(){return _copysign.apply(null,arguments)}var ___dso_handle=allocate(1,"i32*",ALLOC_STATIC),_stderr=allocate(1,"i32*",ALLOC_STATIC);___errno_state=Runtime.staticAlloc(4),HEAP32[___errno_state>>2]=0,_fputc.ret=allocate([0],"i8",ALLOC_STATIC),STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP),staticSealed=!0,STACK_MAX=STACK_BASE+TOTAL_STACK,DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX),assert(DYNAMIC_BASE>0]=r[e>>0];r[h+1>>0]=r[e+1>>0];r[h+2>>0]=r[e+2>>0];r[h+3>>0]=r[e+3>>0]}function lt(e){e=e|0;r[h>>0]=r[e>>0];r[h+1>>0]=r[e+1>>0];r[h+2>>0]=r[e+2>>0];r[h+3>>0]=r[e+3>>0];r[h+4>>0]=r[e+4>>0];r[h+5>>0]=r[e+5>>0];r[h+6>>0]=r[e+6>>0];r[h+7>>0]=r[e+7>>0]}function ht(e){e=e|0;R=e}function pt(){return R|0}function ft(e){e=e|0;_e(e|0)|0;fr()}function Ct(e){e=e|0;return}function dt(e,t,n,A,o){e=e|0;t=t|0;n=n|0;A=A|0;o=o|0;var s=0;s=g;i[e>>2]=112;i[e+4>>2]=t;i[e+8>>2]=n;i[e+12>>2]=A;i[e+16>>2]=o;if((r[144]|0)==0?(ye(144)|0)!=0:0){i[32]=0;i[33]=0;i[34]=0;Je(19,128,d|0)|0;be(144)}o=i[33]|0;if((o|0)==(i[34]|0)){A=(o>>1)+2&-2;A=(A|0)<2?2:A;if((A|0)>(2147483647-o|0)){t=we(1)|0;ze(t|0,48,0)}n=i[32]|0;t=A+o|0;i[34]=t;t=Ur(n,t<<2)|0;i[32]=t;if((t|0)==0?(i[(je()|0)>>2]|0)==12:0){t=we(1)|0;ze(t|0,48,0)}o=i[33]|0}i[33]=o+1;o=(i[32]|0)+(o<<2)|0;if(!o){g=s;return}i[o>>2]=e;g=s;return}function It(e){e=e|0;var t=0;t=g;ur(e);g=t;return}function Et(e){e=e|0;var t=0,n=0;t=g;n=i[e>>2]|0;if(!n){g=t;return}i[e+4>>2]=0;Tr(n);i[e>>2]=0;i[e+8>>2]=0;g=t;return}function Bt(e){e=e|0;var t=0;t=g;ur(e);g=t;return}function yt(e,t){e=e|0;t=t|0;var n=0,A=0,o=0,s=0,a=0,c=0;n=g;if((r[t>>0]|0)!=45){c=0;g=n;return c|0}A=t+1|0;o=110;a=A;c=0;while(1){s=c+1|0;if((r[a>>0]|0)!=o<<24>>24){o=1;break}a=t+(c+2)|0;if((s|0)==3){o=0;A=a;break}else{o=r[264+s>>0]|0;c=s}}if(Zr(A,i[e+4>>2]|0)|0){c=0;g=n;return c|0}r[e+20>>0]=o;c=1;g=n;return c|0}function mt(e,t){e=e|0;t=t|0;var n=0,A=0,o=0,s=0,a=0,c=0;s=g;g=g+16|0;n=s;A=i[I>>2]|0;o=e+4|0;a=i[o>>2]|0;i[n>>2]=a;i[n+4>>2]=a;et(A|0,216,n|0)|0;a=0;while(1){c=a>>>0<(32-((sA(i[o>>2]|0)|0)<<1)|0)>>>0;qe(32,A|0)|0;if(c)a=a+1|0;else break}i[n>>2]=(r[e+20>>0]|0)!=0?248:256;et(A|0,232,n|0)|0;if(!t){g=s;return}i[n>>2]=i[e+8>>2];et(A|0,88,n|0)|0;qe(10,A|0)|0;g=s;return}function Qt(e){e=e|0;var t=0;t=g;ur(e);g=t;return}function wt(e,t){e=e|0;t=t|0;var n=0,A=0,o=0,s=0,a=0,c=0,u=0,l=0,h=0;n=g;g=g+16|0;s=n;o=n+8|0;if((r[t>>0]|0)!=45){h=0;g=n;return h|0}u=t+1|0;A=e+4|0;a=i[A>>2]|0;c=r[a>>0]|0;e:do{if(c<<24>>24){l=0;while(1){h=l;l=l+1|0;if((r[u>>0]|0)!=c<<24>>24){e=0;break}c=r[a+l>>0]|0;u=t+(h+2)|0;if(!(c<<24>>24))break e}g=n;return e|0}}while(0);if((r[u>>0]|0)!=61){h=0;g=n;return h|0}t=u+1|0;a=$r(t,o,10)|0;if(!(i[o>>2]|0)){h=0;g=n;return h|0}if((a|0)>(i[e+24>>2]|0)){h=i[I>>2]|0;l=i[A>>2]|0;i[s>>2]=t;i[s+4>>2]=l;et(h|0,416,s|0)|0;rt(1)}if((a|0)<(i[e+20>>2]|0)){h=i[I>>2]|0;l=i[A>>2]|0;i[s>>2]=t;i[s+4>>2]=l;et(h|0,472,s|0)|0;rt(1)}i[e+28>>2]=a;h=1;g=n;return h|0}function vt(e,t){e=e|0;t=t|0;var n=0,r=0,A=0,o=0;n=g;g=g+16|0;r=n;A=i[I>>2]|0;o=i[e+16>>2]|0;i[r>>2]=i[e+4>>2];i[r+4>>2]=o;et(A|0,336,r|0)|0;o=i[e+20>>2]|0;if((o|0)==-2147483648)$e(360,4,1,A|0)|0;else{i[r>>2]=o;et(A|0,368,r|0)|0}$e(376,4,1,A|0)|0;o=i[e+24>>2]|0;if((o|0)==2147483647)$e(384,4,1,A|0)|0;else{i[r>>2]=o;et(A|0,368,r|0)|0}i[r>>2]=i[e+28>>2];et(A|0,392,r|0)|0;if(!t){g=n;return}i[r>>2]=i[e+8>>2];et(A|0,88,r|0)|0;qe(10,A|0)|0;g=n;return}function bt(e){e=e|0;var t=0,n=0,A=0,o=0,s=0;o=g;i[e>>2]=1816;A=e+4|0;n=e+32|0;s=e+48|0;i[A+0>>2]=0;i[A+4>>2]=0;i[A+8>>2]=0;i[A+12>>2]=0;i[A+16>>2]=0;i[A+20>>2]=0;i[n+0>>2]=0;i[n+4>>2]=0;i[n+8>>2]=0;i[n+12>>2]=0;u[s>>3]=+u[75];u[e+56>>3]=+u[89];u[e+64>>3]=+u[103];u[e+72>>3]=+u[123];r[e+80>>0]=r[1364]|0;i[e+84>>2]=i[269];i[e+88>>2]=i[297];r[e+92>>0]=0;r[e+93>>0]=r[1292]|0;u[e+96>>3]=+u[204];i[e+104>>2]=i[439];i[e+108>>2]=i[359];u[e+112>>3]=+u[191];u[e+120>>3]=.3333333333333333;u[e+128>>3]=1.1;i[e+136>>2]=100;u[e+144>>3]=1.5;s=e+316|0;i[e+332>>2]=0;i[e+336>>2]=0;i[e+340>>2]=0;i[e+348>>2]=0;i[e+352>>2]=0;i[e+356>>2]=0;i[e+364>>2]=0;i[e+368>>2]=0;i[e+372>>2]=0;i[e+380>>2]=0;i[e+384>>2]=0;i[e+388>>2]=0;i[e+396>>2]=0;i[e+400>>2]=0;i[e+404>>2]=0;n=e+544|0;i[e+412>>2]=0;i[e+416>>2]=0;i[e+420>>2]=0;i[e+428>>2]=0;i[e+432>>2]=0;i[e+436>>2]=0;i[e+444>>2]=0;i[e+448>>2]=0;i[e+452>>2]=0;iA(e+152|0,0,176)|0;i[e+456>>2]=n;A=e+460|0;i[A+0>>2]=0;i[A+4>>2]=0;i[A+8>>2]=0;i[A+12>>2]=0;i[A+16>>2]=0;i[A+20>>2]=0;i[e+488>>2]=s;r[e+492>>0]=1;u[e+496>>3]=1.0;u[e+504>>3]=1.0;i[e+512>>2]=0;i[e+516>>2]=-1;s=e+520|0;A=e+536|0;i[s+0>>2]=0;i[s+4>>2]=0;i[s+8>>2]=0;i[s+12>>2]=0;r[A>>0]=1;A=e+540|0;i[A+0>>2]=0;i[A+4>>2]=0;i[A+8>>2]=0;i[A+12>>2]=0;i[A+16>>2]=0;en(n,1048576);r[e+560>>0]=0;n=e+604|0;A=e+664|0;s=e+564|0;t=s+36|0;do{i[s>>2]=0;s=s+4|0}while((s|0)<(t|0));s=n+0|0;t=s+36|0;do{i[s>>2]=0;s=s+4|0}while((s|0)<(t|0));s=e+680|0;i[A+0>>2]=-1;i[A+4>>2]=-1;i[A+8>>2]=-1;i[A+12>>2]=-1;r[s>>0]=0;g=o;return}function Dt(e){e=e|0;var t=0;t=g;St(e);ur(e);g=t;return}function St(e){e=e|0;var t=0,n=0,r=0;t=g;i[e>>2]=1816;n=e+628|0;r=i[n>>2]|0;if(r){i[e+632>>2]=0;Tr(r);i[n>>2]=0;i[e+636>>2]=0}n=e+616|0;r=i[n>>2]|0;if(r){i[e+620>>2]=0;Tr(r);i[n>>2]=0;i[e+624>>2]=0}n=e+604|0;r=i[n>>2]|0;if(r){i[e+608>>2]=0;Tr(r);i[n>>2]=0;i[e+612>>2]=0}n=e+588|0;r=i[n>>2]|0;if(r){i[e+592>>2]=0;Tr(r);i[n>>2]=0;i[e+596>>2]=0}n=e+576|0;r=i[n>>2]|0;if(r){i[e+580>>2]=0;Tr(r);i[n>>2]=0;i[e+584>>2]=0}n=e+564|0;r=i[n>>2]|0;if(r){i[e+568>>2]=0;Tr(r);i[n>>2]=0;i[e+572>>2]=0}n=i[e+544>>2]|0;if(n)Tr(n);n=e+472|0;r=i[n>>2]|0;if(r){i[e+476>>2]=0;Tr(r);i[n>>2]=0;i[e+480>>2]=0}n=e+460|0;r=i[n>>2]|0;if(r){i[e+464>>2]=0;Tr(r);i[n>>2]=0;i[e+468>>2]=0}tn(e+412|0);n=e+396|0;r=i[n>>2]|0;if(r){i[e+400>>2]=0;Tr(r);i[n>>2]=0;i[e+404>>2]=0}n=e+380|0;r=i[n>>2]|0;if(r){i[e+384>>2]=0;Tr(r);i[n>>2]=0;i[e+388>>2]=0}r=e+364|0;n=i[r>>2]|0;if(n){i[e+368>>2]=0;Tr(n);i[r>>2]=0;i[e+372>>2]=0}n=e+348|0;r=i[n>>2]|0;if(r){i[e+352>>2]=0;Tr(r);i[n>>2]=0;i[e+356>>2]=0}n=e+332|0;r=i[n>>2]|0;if(r){i[e+336>>2]=0;Tr(r);i[n>>2]=0;i[e+340>>2]=0}n=e+316|0;r=i[n>>2]|0;if(r){i[e+320>>2]=0;Tr(r);i[n>>2]=0;i[e+324>>2]=0}n=e+304|0;r=i[n>>2]|0;if(r){i[e+308>>2]=0;Tr(r);i[n>>2]=0;i[e+312>>2]=0}n=e+292|0;r=i[n>>2]|0;if(r){i[e+296>>2]=0;Tr(r);i[n>>2]=0;i[e+300>>2]=0}n=e+280|0;r=i[n>>2]|0;if(r){i[e+284>>2]=0;Tr(r);i[n>>2]=0;i[e+288>>2]=0}n=e+268|0;r=i[n>>2]|0;if(r){i[e+272>>2]=0;Tr(r);i[n>>2]=0;i[e+276>>2]=0}n=e+256|0;r=i[n>>2]|0;if(r){i[e+260>>2]=0;Tr(r);i[n>>2]=0;i[e+264>>2]=0}n=e+32|0;r=i[n>>2]|0;if(r){i[e+36>>2]=0;Tr(r);i[n>>2]=0;i[e+40>>2]=0}n=e+16|0;r=i[n>>2]|0;if(r){i[e+20>>2]=0;Tr(r);i[n>>2]=0;i[e+24>>2]=0}r=e+4|0;n=i[r>>2]|0;if(!n){g=t;return}i[e+8>>2]=0;Tr(n);i[r>>2]=0;i[e+12>>2]=0;g=t;return}function kt(e,t,n){e=e|0;t=t|0;n=n|0;var A=0,o=0,s=0,a=0,c=0.0,l=0,h=0,p=0,f=0,C=0,d=0;A=g;g=g+16|0;a=A+4|0;s=A;o=e+580|0;l=i[o>>2]|0;if((l|0)>0){p=l+-1|0;f=i[(i[e+576>>2]|0)+(p<<2)>>2]|0;i[o>>2]=p;o=f}else{f=e+540|0;o=i[f>>2]|0;i[f>>2]=o+1}l=e+412|0;f=o<<1;i[a>>2]=f;nn(l,a);i[s>>2]=f|1;nn(l,s);a=e+332|0;l=r[544]|0;s=o+1|0;rn(a,s);r[(i[a>>2]|0)+o>>0]=l;a=e+396|0;l=e+400|0;if((i[l>>2]|0)<(s|0)){p=e+404|0;f=i[p>>2]|0;if((f|0)<(s|0)){C=o+2-f&-2;h=(f>>1)+2&-2;h=(C|0)>(h|0)?C:h;if((h|0)>(2147483647-f|0)){C=we(1)|0;ze(C|0,48,0)}d=i[a>>2]|0;C=h+f|0;i[p>>2]=C;C=Ur(d,C<<3)|0;i[a>>2]=C;if((C|0)==0?(i[(je()|0)>>2]|0)==12:0){d=we(1)|0;ze(d|0,48,0)}}p=i[l>>2]|0;if((p|0)<(s|0))do{h=(i[a>>2]|0)+(p<<3)|0;if(h){d=h;i[d>>2]=0;i[d+4>>2]=0}p=p+1|0}while((p|0)!=(s|0));i[l>>2]=s}l=(i[a>>2]|0)+(o<<3)|0;i[l>>2]=-1;i[l+4>>2]=0;l=e+316|0;if(!(r[e+93>>0]|0))c=0.0;else{d=e+72|0;c=+u[d>>3]*1389796.0;c=c-+(~~(c/2147483647.0)|0)*2147483647.0;u[d>>3]=c;c=c/2147483647.0*1.0e-5}a=e+320|0;if((i[a>>2]|0)<(s|0)){h=e+324|0;p=i[h>>2]|0;if((p|0)<(s|0)){d=o+2-p&-2;f=(p>>1)+2&-2;f=(d|0)>(f|0)?d:f;if((f|0)>(2147483647-p|0)){d=we(1)|0;ze(d|0,48,0)}C=i[l>>2]|0;d=f+p|0;i[h>>2]=d;d=Ur(C,d<<3)|0;i[l>>2]=d;if((d|0)==0?(i[(je()|0)>>2]|0)==12:0){d=we(1)|0;ze(d|0,48,0)}}f=i[a>>2]|0;if((f|0)<(s|0)){h=i[l>>2]|0;do{p=h+(f<<3)|0;if(p)u[p>>3]=0.0;f=f+1|0}while((f|0)!=(s|0))}i[a>>2]=s}u[(i[l>>2]|0)+(o<<3)>>3]=c;An(e+588|0,o,0);An(e+348|0,o,1);a=e+364|0;t=r[t>>0]|0;rn(a,s);r[(i[a>>2]|0)+o>>0]=t;a=e+380|0;t=e+384|0;if((i[t>>2]|0)<(s|0)){l=e+388|0;p=i[l>>2]|0;if((p|0)<(s|0)){d=o+2-p&-2;h=(p>>1)+2&-2;h=(d|0)>(h|0)?d:h;if((h|0)>(2147483647-p|0)){d=we(1)|0;ze(d|0,48,0)}C=i[a>>2]|0;d=h+p|0;i[l>>2]=d;d=Ur(C,d)|0;i[a>>2]=d;if((d|0)==0?(i[(je()|0)>>2]|0)==12:0){d=we(1)|0;ze(d|0,48,0)}}l=i[t>>2]|0;if((l|0)<(s|0))do{h=(i[a>>2]|0)+l|0;if(h)r[h>>0]=0;l=l+1|0}while((l|0)!=(s|0));i[t>>2]=s}t=e+288|0;a=i[t>>2]|0;if((a|0)<(s|0)){d=o+2-a&-2;s=(a>>1)+2&-2;s=(d|0)>(s|0)?d:s;if((s|0)>(2147483647-a|0)){d=we(1)|0;ze(d|0,48,0)}C=e+280|0;f=i[C>>2]|0;d=s+a|0;i[t>>2]=d;d=Ur(f,d<<2)|0;i[C>>2]=d;if((d|0)==0?(i[(je()|0)>>2]|0)==12:0){d=we(1)|0;ze(d|0,48,0)}}s=e+380|0;t=(i[s>>2]|0)+o|0;a=(r[t>>0]|0)==0;if(n){if(a){d=e+200|0;C=d;C=aA(i[C>>2]|0,i[C+4>>2]|0,1,0)|0;i[d>>2]=C;i[d+4>>2]=R}}else if(!a){d=e+200|0;C=d;C=aA(i[C>>2]|0,i[C+4>>2]|0,-1,-1)|0;i[d>>2]=C;i[d+4>>2]=R}r[t>>0]=n&1;n=e+460|0;if((i[e+476>>2]|0)>(o|0)?(i[(i[e+472>>2]|0)+(o<<2)>>2]|0)>-1:0){g=A;return o|0}if(!(r[(i[s>>2]|0)+o>>0]|0)){g=A;return o|0}on(n,o);g=A;return o|0}function _t(e,t){e=e|0;t=t|0;var n=0,A=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0,d=0,I=0,E=0,B=0;n=g;g=g+16|0;c=n+1|0;a=n;A=e+492|0;if(!(r[A>>0]|0)){I=0;g=n;return I|0}I=i[t>>2]|0;s=t+4|0;u=i[s>>2]|0;r[c+0>>0]=r[a+0>>0]|0;cn(I,u,c);u=i[s>>2]|0;e:do{if((u|0)>0){c=e+332|0;a=r[528]|0;l=0;h=0;f=-2;while(1){I=i[t>>2]|0;p=i[I+(l<<2)>>2]|0;d=o[(i[c>>2]|0)+(p>>1)>>0]|0;E=d^p&1;C=E&255;B=a&255;if((p|0)==(f^1|0)?1:(C<<24>>24==a<<24>>24&(B>>>1^1)|B&2&E|0)!=0){e=1;break}E=r[536]|0;B=E&255;if((p|0)!=(f|0)?((B>>>1^1)&C<<24>>24==E<<24>>24|d&2&B|0)==0:0){i[I+(h<<2)>>2]=p;u=i[s>>2]|0;h=h+1|0}else p=f;l=l+1|0;if((l|0)<(u|0))f=p;else break e}g=n;return e|0}else{l=0;h=0}}while(0);a=l-h|0;if((a|0)>0){u=u-a|0;i[s>>2]=u}if(!u){r[A>>0]=0;B=0;g=n;return B|0}else if((u|0)==1){E=i[i[t>>2]>>2]|0;I=E>>1;r[(i[e+332>>2]|0)+I>>0]=(E&1^1)&255^1;B=i[e+296>>2]|0;I=(i[e+396>>2]|0)+(I<<3)|0;i[I>>2]=-1;i[I+4>>2]=B;I=e+284|0;B=i[I>>2]|0;i[I>>2]=B+1;i[(i[e+280>>2]|0)+(B<<2)>>2]=E;B=(Mt(e)|0)==-1;r[A>>0]=B&1;g=n;return B|0}else{t=un(e+544|0,t,0)|0;s=e+256|0;A=e+260|0;c=i[A>>2]|0;a=e+264|0;if((c|0)==(i[a>>2]|0)){u=(c>>1)+2&-2;u=(u|0)<2?2:u;if((u|0)>(2147483647-c|0)){B=we(1)|0;ze(B|0,48,0)}E=i[s>>2]|0;B=u+c|0;i[a>>2]=B;B=Ur(E,B<<2)|0;i[s>>2]=B;if((B|0)==0?(i[(je()|0)>>2]|0)==12:0){B=we(1)|0;ze(B|0,48,0)}c=i[A>>2]|0}i[A>>2]=c+1;A=(i[s>>2]|0)+(c<<2)|0;if(A)i[A>>2]=t;Nt(e,t);B=1;g=n;return B|0}return 0}function Ft(e,t,n){e=e|0;t=t|0;n=n|0;var A=0,o=0;A=i[t>>2]|0;t=A>>1;r[(i[e+332>>2]|0)+t>>0]=(A&1^1)&255^1;o=i[e+296>>2]|0;t=(i[e+396>>2]|0)+(t<<3)|0;i[t>>2]=n;i[t+4>>2]=o;n=e+284|0;t=i[n>>2]|0;i[n>>2]=t+1;i[(i[e+280>>2]|0)+(t<<2)>>2]=A;return}function Mt(e){e=e|0;var t=0,n=0,A=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0,d=0,I=0,E=0,B=0,y=0,m=0,Q=0,w=0,v=0,b=0,D=0,S=0,k=0,_=0,F=0,M=0,N=0,K=0,x=0,P=0,L=0,O=0,T=0,U=0;c=g;g=g+16|0;d=c;s=e+512|0;E=i[s>>2]|0;C=e+284|0;if((E|0)>=(i[C>>2]|0)){L=0;x=0;T=-1;O=e+184|0;N=O;P=N;P=i[P>>2]|0;N=N+4|0;N=i[N>>2]|0;N=aA(P|0,N|0,L|0,x|0)|0;P=R;K=O;i[K>>2]=N;O=O+4|0;i[O>>2]=P;O=e+520|0;P=O;K=P;K=i[K>>2]|0;P=P+4|0;P=i[P>>2]|0;x=AA(K|0,P|0,L|0,x|0)|0;L=R;P=O;i[P>>2]=x;O=O+4|0;i[O>>2]=L;g=c;return T|0}p=e+280|0;a=e+428|0;A=e+412|0;u=e+332|0;l=e+544|0;h=d+4|0;t=e+396|0;f=e+296|0;n=e+456|0;v=-1;I=0;do{i[s>>2]=E+1;m=i[(i[p>>2]|0)+(E<<2)>>2]|0;if(r[(i[a>>2]|0)+m>>0]|0){B=i[A>>2]|0;E=B+(m*12|0)+4|0;w=i[E>>2]|0;if((w|0)>0){B=B+(m*12|0)|0;y=0;Q=0;do{D=i[B>>2]|0;b=D+(y<<3)|0;if((i[(i[i[n>>2]>>2]|0)+(i[b>>2]<<2)>>2]&3|0)!=1){O=b;T=i[O+4>>2]|0;w=D+(Q<<3)|0;i[w>>2]=i[O>>2];i[w+4>>2]=T;w=i[E>>2]|0;Q=Q+1|0}y=y+1|0}while((y|0)<(w|0))}else{y=0;Q=0}B=y-Q|0;if((B|0)>0)i[E>>2]=w-B;r[(i[a>>2]|0)+m>>0]=0}E=i[A>>2]|0;I=I+1|0;B=i[E+(m*12|0)>>2]|0;E=E+(m*12|0)+4|0;Q=i[E>>2]|0;y=B+(Q<<3)|0;e:do{if(!Q){y=B;w=B}else{m=m^1;Q=(Q<<3)+-1|0;D=B;w=B;while(1){while(1){t:while(1){M=i[D+4>>2]|0;T=o[(i[u>>2]|0)+(M>>1)>>0]^M&1;K=r[528]|0;N=K&255;x=N&2;N=N>>>1^1;if((T&255)<<24>>24==K<<24>>24&N|x&T){_=19;break}b=i[D>>2]|0;_=i[l>>2]|0;F=_+(b<<2)|0;S=_+(b+1<<2)|0;k=i[S>>2]|0;if((k|0)==(m|0)){T=_+(b+2<<2)|0;k=i[T>>2]|0;i[S>>2]=k;i[T>>2]=m}S=D+8|0;i[d>>2]=b;i[h>>2]=k;if((k|0)!=(M|0)?(T=o[(i[u>>2]|0)+(k>>1)>>0]^k&1,((T&255)<<24>>24==K<<24>>24&N|x&T|0)!=0):0){_=27;break}x=i[F>>2]|0;if(x>>>0<=95){_=31;break}N=i[u>>2]|0;K=r[536]|0;M=K&255;T=M&2;M=M>>>1^1;O=2;while(1){P=F+(O<<2)+4|0;L=i[P>>2]|0;U=o[N+(L>>1)>>0]^L&1;O=O+1|0;if(!((U&255)<<24>>24==K<<24>>24&M|T&U))break;if((O|0)>=(x>>>5|0)){_=32;break t}}U=_+(b+2<<2)|0;i[U>>2]=L;i[P>>2]=m;gn((i[A>>2]|0)+((i[U>>2]^1)*12|0)|0,d);if((S|0)==(y|0))break e;else D=S}if((_|0)==19){_=0;O=D;T=i[O+4>>2]|0;U=w;i[U>>2]=i[O>>2];i[U+4>>2]=T;D=D+8|0;w=w+8|0}else if((_|0)==27){_=0;T=d;U=i[T+4>>2]|0;D=w;i[D>>2]=i[T>>2];i[D+4>>2]=U;D=S;w=w+8|0}else if((_|0)==31){K=r[536]|0;_=32}if((_|0)==32){_=w+8|0;F=d;N=i[F+4>>2]|0;M=w;i[M>>2]=i[F>>2];i[M+4>>2]=N;M=k>>1;N=k&1;F=(i[u>>2]|0)+M|0;U=o[F>>0]^N;T=K&255;if((U&255)<<24>>24==K<<24>>24&(T>>>1^1)|T&2&U)break;r[F>>0]=(N^1)&255^1;w=i[f>>2]|0;D=(i[t>>2]|0)+(M<<3)|0;i[D>>2]=b;i[D+4>>2]=w;D=i[C>>2]|0;i[C>>2]=D+1;i[(i[p>>2]|0)+(D<<2)>>2]=k;D=S;w=_}if((D|0)==(y|0))break e}i[s>>2]=i[C>>2];if(S>>>0>>0){v=(B+(Q-S)|0)>>>3;while(1){O=S;S=S+8|0;T=i[O+4>>2]|0;U=_;i[U>>2]=i[O>>2];i[U+4>>2]=T;if(S>>>0>=y>>>0)break;else _=_+8|0}D=D+(v+2<<3)|0;w=w+(v+2<<3)|0}else{D=S;w=_}if((D|0)==(y|0)){v=b;break}else v=b}}}while(0);B=y-w|0;if((B|0)>0)i[E>>2]=(i[E>>2]|0)-(B>>3);E=i[s>>2]|0}while((E|0)<(i[C>>2]|0));O=I;P=((I|0)<0)<<31>>31;U=v;T=e+184|0;K=T;L=K;L=i[L>>2]|0;K=K+4|0;K=i[K>>2]|0;K=aA(L|0,K|0,O|0,P|0)|0;L=R;x=T;i[x>>2]=K;T=T+4|0;i[T>>2]=L;T=e+520|0;L=T;x=L;x=i[x>>2]|0;L=L+4|0;L=i[L>>2]|0;P=AA(x|0,L|0,O|0,P|0)|0;O=R;L=T;i[L>>2]=P;T=T+4|0;i[T>>2]=O;g=c;return U|0}function Nt(e,t){e=e|0;t=t|0;var n=0,r=0,A=0,o=0,s=0,a=0,c=0,u=0,l=0;n=g;g=g+16|0;c=n+8|0;A=n;o=i[e+544>>2]|0;r=o+(t<<2)|0;s=o+(t+1<<2)|0;a=e+412|0;u=(i[a>>2]|0)+((i[s>>2]^1)*12|0)|0;o=o+(t+2<<2)|0;l=i[o>>2]|0;i[c>>2]=t;i[c+4>>2]=l;gn(u,c);o=(i[a>>2]|0)+((i[o>>2]^1)*12|0)|0;s=i[s>>2]|0;i[A>>2]=t;i[A+4>>2]=s;gn(o,A);if(!(i[r>>2]&4)){l=e+208|0;u=l;u=aA(i[u>>2]|0,i[u+4>>2]|0,1,0)|0;i[l>>2]=u;i[l+4>>2]=R;l=e+224|0;u=l;u=aA((i[r>>2]|0)>>>5|0,0,i[u>>2]|0,i[u+4>>2]|0)|0;i[l>>2]=u;i[l+4>>2]=R;g=n;return}else{l=e+216|0;u=l;u=aA(i[u>>2]|0,i[u+4>>2]|0,1,0)|0;i[l>>2]=u;i[l+4>>2]=R;l=e+232|0;u=l;u=aA((i[r>>2]|0)>>>5|0,0,i[u>>2]|0,i[u+4>>2]|0)|0;i[l>>2]=u;i[l+4>>2]=R;g=n;return}}function Rt(e,t,n){e=e|0;t=t|0;n=n|0;var A=0,o=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0;o=g;g=g+16|0;u=o+4|0;a=o;s=i[e+544>>2]|0;A=s+(t<<2)|0;c=i[s+(t+1<<2)>>2]^1;if(!n){i[u>>2]=c;n=e+428|0;l=i[n>>2]|0;c=l+c|0;if(!(r[c>>0]|0)){r[c>>0]=1;sn(e+444|0,u);l=i[n>>2]|0}t=i[s+(t+2<<2)>>2]^1;i[a>>2]=t;t=l+t|0;if(!(r[t>>0]|0)){r[t>>0]=1;sn(e+444|0,a)}}else{a=e+412|0;n=i[a>>2]|0;u=n+(c*12|0)|0;s=s+(t+2<<2)|0;c=n+(c*12|0)+4|0;l=i[c>>2]|0;e:do{if((l|0)>0){f=i[u>>2]|0;p=0;while(1){h=p+1|0;if((i[f+(p<<3)>>2]|0)==(t|0)){h=p;break e}if((h|0)<(l|0))p=h;else break}}else h=0}while(0);l=l+-1|0;if((h|0)<(l|0)){do{n=i[u>>2]|0;l=h;h=h+1|0;p=n+(h<<3)|0;f=i[p+4>>2]|0;l=n+(l<<3)|0;i[l>>2]=i[p>>2];i[l+4>>2]=f;l=(i[c>>2]|0)+-1|0}while((h|0)<(l|0));n=i[a>>2]|0}i[c>>2]=l;a=i[s>>2]^1;s=n+(a*12|0)|0;a=n+(a*12|0)+4|0;c=i[a>>2]|0;e:do{if((c|0)>0){n=i[s>>2]|0;l=0;while(1){u=l+1|0;if((i[n+(l<<3)>>2]|0)==(t|0)){u=l;break e}if((u|0)<(c|0))l=u;else break}}else u=0}while(0);t=c+-1|0;if((u|0)<(t|0))do{h=i[s>>2]|0;t=u;u=u+1|0;p=h+(u<<3)|0;f=i[p+4>>2]|0;t=h+(t<<3)|0;i[t>>2]=i[p>>2];i[t+4>>2]=f;t=(i[a>>2]|0)+-1|0}while((u|0)<(t|0));i[a>>2]=t}if(!(i[A>>2]&4)){f=e+208|0;p=f;p=aA(i[p>>2]|0,i[p+4>>2]|0,-1,-1)|0;i[f>>2]=p;i[f+4>>2]=R;f=e+224|0;p=f;p=AA(i[p>>2]|0,i[p+4>>2]|0,(i[A>>2]|0)>>>5|0,0)|0;i[f>>2]=p;i[f+4>>2]=R;g=o;return}else{f=e+216|0;p=f;p=aA(i[p>>2]|0,i[p+4>>2]|0,-1,-1)|0;i[f>>2]=p;i[f+4>>2]=R;f=e+232|0;p=f;p=AA(i[p>>2]|0,i[p+4>>2]|0,(i[A>>2]|0)>>>5|0,0)|0;i[f>>2]=p;i[f+4>>2]=R;g=o;return}}function Kt(e,t){e=e|0;t=t|0;var n=0,A=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0;s=g;A=e+544|0;l=i[A>>2]|0;n=l+(t<<2)|0;Rt(e,t,0);l=i[l+(t+1<<2)>>2]|0;a=l>>1;l=(o[(i[e+332>>2]|0)+a>>0]|0)^l&1;p=r[528]|0;h=p&255;if((((l&255)<<24>>24==p<<24>>24&(h>>>1^1)|h&2&l|0)!=0?(c=(i[e+396>>2]|0)+(a<<3)|0,u=i[c>>2]|0,(u|0)!=-1):0)?((i[A>>2]|0)+(u<<2)|0)==(n|0):0)i[c>>2]=-1;i[n>>2]=i[n>>2]&-4|1;h=i[(i[A>>2]|0)+(t<<2)>>2]|0;p=e+556|0;i[p>>2]=((((h>>>3&1)+(h>>>5)<<2)+4|0)>>>2)+(i[p>>2]|0);g=s;return}function xt(e,t){e=e|0;t=t|0;var n=0,A=0,s=0,a=0,c=0,u=0,l=0;n=g;A=i[t>>2]|0;if(A>>>0<=31){u=0;g=n;return u|0}s=i[e+332>>2]|0;a=r[528]|0;c=a&255;u=c&2;c=c>>>1^1;e=0;while(1){l=i[t+(e<<2)+4>>2]|0;l=(o[s+(l>>1)>>0]|0)^l&1;e=e+1|0;if((l&255)<<24>>24==a<<24>>24&c|u&l){A=1;t=5;break}if((e|0)>=(A>>>5|0)){A=0;t=5;break}}if((t|0)==5){g=n;return A|0}return 0}function Pt(e,t){e=e|0;t=t|0;var n=0,A=0,o=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0,d=0,I=0,E=0,B=0;o=g;n=e+296|0;if((i[n>>2]|0)<=(t|0)){g=o;return}A=e+284|0;I=i[A>>2]|0;a=e+292|0;E=i[a>>2]|0;B=i[E+(t<<2)>>2]|0;if((I|0)>(B|0)){d=e+280|0;l=e+332|0;u=e+88|0;c=e+348|0;h=e+460|0;f=e+476|0;C=e+472|0;p=e+380|0;do{I=I+-1|0;B=i[(i[d>>2]|0)+(I<<2)>>2]>>1;r[(i[l>>2]|0)+B>>0]=r[544]|0;E=i[u>>2]|0;if((E|0)<=1){if((E|0)==1?(I|0)>(i[(i[a>>2]|0)+((i[n>>2]|0)+-1<<2)>>2]|0):0)s=7}else s=7;if((s|0)==7){s=0;r[(i[c>>2]|0)+B>>0]=i[(i[d>>2]|0)+(I<<2)>>2]&1}if(!((i[f>>2]|0)>(B|0)?(i[(i[C>>2]|0)+(B<<2)>>2]|0)>-1:0))s=11;if((s|0)==11?(s=0,(r[(i[p>>2]|0)+B>>0]|0)!=0):0)on(h,B);E=i[a>>2]|0;B=i[E+(t<<2)>>2]|0}while((I|0)>(B|0));I=i[A>>2]|0}i[e+512>>2]=B;e=i[E+(t<<2)>>2]|0;if((I-e|0)>0)i[A>>2]=e;if(((i[n>>2]|0)-t|0)<=0){g=o;return}i[n>>2]=t;g=o;return}function Lt(e){e=e|0;var t=0,n=0,A=0,o=0,s=0,a=0,c=0,l=0,h=0,p=0,f=0,C=0.0,d=0;t=g;A=e+72|0;C=+u[A>>3]*1389796.0;C=C-+(~~(C/2147483647.0)|0)*2147483647.0;u[A>>3]=C;c=e+464|0;if(C/2147483647.0<+u[e+64>>3]?(l=i[c>>2]|0,(l|0)!=0):0){C=C*1389796.0;C=C-+(~~(C/2147483647.0)|0)*2147483647.0;u[A>>3]=C;l=i[(i[e+460>>2]|0)+(~~(+(l|0)*(C/2147483647.0))<<2)>>2]|0;p=r[(i[e+332>>2]|0)+l>>0]|0;h=r[544]|0;f=h&255;if(((f>>>1^1)&p<<24>>24==h<<24>>24|p&2&f|0)!=0?(r[(i[e+380>>2]|0)+l>>0]|0)!=0:0){f=e+176|0;p=f;p=aA(i[p>>2]|0,i[p+4>>2]|0,1,0)|0;i[f>>2]=p;i[f+4>>2]=R}}else l=-1;h=e+460|0;f=e+332|0;p=e+380|0;while(1){if(((l|0)!=-1?(d=r[(i[f>>2]|0)+l>>0]|0,s=r[544]|0,n=s&255,o=n>>>1^1,(o&d<<24>>24==s<<24>>24|d&2&n|0)!=0):0)?(r[(i[p>>2]|0)+l>>0]|0)!=0:0)break;if(!(i[c>>2]|0)){n=-2;a=17;break}l=ln(h)|0}if((a|0)==17){g=t;return n|0}c=r[(i[e+364>>2]|0)+l>>0]|0;a=c&255;if(!(o&c<<24>>24==s<<24>>24|n&2&a)){f=r[528]|0;d=f&255;d=((d>>>1^1)&c<<24>>24==f<<24>>24|a&2&d|0)!=0|l<<1;g=t;return d|0}if(!(r[e+92>>0]|0)){d=(r[(i[e+348>>2]|0)+l>>0]|0)!=0|l<<1;g=t;return d|0}else{C=+u[A>>3]*1389796.0;C=C-+(~~(C/2147483647.0)|0)*2147483647.0;u[A>>3]=C;d=C/2147483647.0<.5|l<<1;g=t;return d|0}return 0}function Ot(e,t,n,A){e=e|0;t=t|0;n=n|0;A=A|0;var o=0,s=0,a=0,l=0,h=0,p=0,f=0,C=0,d=0.0,I=0,E=0,B=0,y=0,m=0,Q=0,w=0,v=0,b=0,D=0,S=0,k=0,_=0,F=0,M=0,N=0,K=0,x=0,P=0,L=0,O=0,T=0,U=0,Y=0,j=0,G=0,J=0.0,H=0;o=g;g=g+16|0;f=o+8|0;E=o+4|0;h=o;l=n+4|0;s=i[l>>2]|0;a=n+8|0;if((s|0)==(i[a>>2]|0)){C=(s>>1)+2&-2;C=(C|0)<2?2:C;if((C|0)>(2147483647-s|0)){G=we(1)|0;ze(G|0,48,0)}j=i[n>>2]|0;G=C+s|0;i[a>>2]=G;G=Ur(j,G<<2)|0;i[n>>2]=G;if((G|0)==0?(i[(je()|0)>>2]|0)==12:0){G=we(1)|0;ze(G|0,48,0)}s=i[l>>2]|0}a=(i[n>>2]|0)+(s<<2)|0;if(a){i[a>>2]=0;s=i[l>>2]|0}i[l>>2]=s+1;C=e+544|0;M=e+280|0;s=e+588|0;a=e+396|0;S=e+504|0;_=e+316|0;k=e+540|0;D=e+476|0;b=e+472|0;v=e+460|0;w=e+488|0;Q=e+296|0;y=e+496|0;m=e+272|0;F=e+268|0;K=-2;N=(i[e+284>>2]|0)+-1|0;x=0;do{P=i[C>>2]|0;t=P+(t<<2)|0;L=i[t>>2]|0;if((L&4|0)!=0?(d=+u[y>>3],G=t+(L>>>5<<2)+4|0,J=d+ +c[G>>2],c[G>>2]=J,J>1.0e20):0){T=i[m>>2]|0;if((T|0)>0){O=i[F>>2]|0;L=0;do{G=P+(i[O+(L<<2)>>2]<<2)|0;G=G+((i[G>>2]|0)>>>5<<2)+4|0;c[G>>2]=+c[G>>2]*1.0e-20;L=L+1|0}while((L|0)!=(T|0))}u[y>>3]=d*1.0e-20}K=(K|0)!=-2&1;if(K>>>0<(i[t>>2]|0)>>>5>>>0)do{L=i[t+(K<<2)+4>>2]|0;i[E>>2]=L;L=L>>1;P=(i[s>>2]|0)+L|0;do{if((r[P>>0]|0)==0?(i[(i[a>>2]|0)+(L<<3)+4>>2]|0)>0:0){T=i[_>>2]|0;G=T+(L<<3)|0;J=+u[S>>3]+ +u[G>>3];u[G>>3]=J;if(J>1.0e+100){U=i[k>>2]|0;if((U|0)>0){O=0;do{G=T+(O<<3)|0;u[G>>3]=+u[G>>3]*1.0e-100;O=O+1|0}while((O|0)!=(U|0))}u[S>>3]=+u[S>>3]*1.0e-100}if((i[D>>2]|0)>(L|0)?(B=i[b>>2]|0,I=i[B+(L<<2)>>2]|0,(I|0)>-1):0){O=i[v>>2]|0;T=i[O+(I<<2)>>2]|0;e:do{if(!I)j=0;else{G=I;while(1){j=G;G=G+-1>>1;Y=O+(G<<2)|0;U=i[Y>>2]|0;H=i[i[w>>2]>>2]|0;if(!(+u[H+(T<<3)>>3]>+u[H+(U<<3)>>3]))break e;i[O+(j<<2)>>2]=U;i[B+(i[Y>>2]<<2)>>2]=j;if(!G){j=0;break}}}}while(0);i[O+(j<<2)>>2]=T;i[B+(T<<2)>>2]=j}r[P>>0]=1;if((i[(i[a>>2]|0)+(L<<3)+4>>2]|0)<(i[Q>>2]|0)){sn(n,E);break}else{x=x+1|0;break}}}while(0);K=K+1|0}while((K|0)<((i[t>>2]|0)>>>5|0));t=i[M>>2]|0;P=i[s>>2]|0;do{K=N;N=N+-1|0;K=i[t+(K<<2)>>2]|0;O=K>>1;L=P+O|0}while((r[L>>0]|0)==0);t=i[(i[a>>2]|0)+(O<<3)>>2]|0;r[L>>0]=0;x=x+-1|0}while((x|0)>0);i[i[n>>2]>>2]=K^1;E=e+616|0;y=i[E>>2]|0;I=e+620|0;if(!y)m=i[I>>2]|0;else{i[I>>2]=0;m=0}B=i[l>>2]|0;if((m|0)<(B|0)){w=e+624|0;Q=i[w>>2]|0;if((Q|0)<(B|0)){H=B+1-Q&-2;m=(Q>>1)+2&-2;m=(H|0)>(m|0)?H:m;if((m|0)>(2147483647-Q|0)){H=we(1)|0;ze(H|0,48,0)}H=m+Q|0;i[w>>2]=H;y=Ur(y,H<<2)|0;i[E>>2]=y;if((y|0)==0?(i[(je()|0)>>2]|0)==12:0){H=we(1)|0;ze(H|0,48,0)}}m=i[I>>2]|0;e:do{if((m|0)<(B|0))while(1){y=y+(m<<2)|0;if(y)i[y>>2]=0;m=m+1|0;if((m|0)==(B|0))break e;y=i[E>>2]|0}}while(0);i[I>>2]=B;B=i[l>>2]|0}if((B|0)>0){m=i[E>>2]|0;y=i[n>>2]|0;Q=0;do{i[m+(Q<<2)>>2]=i[y+(Q<<2)>>2];Q=Q+1|0;B=i[l>>2]|0}while((Q|0)<(B|0))}y=i[e+84>>2]|0;if((y|0)==1)if((B|0)>1){h=i[n>>2]|0;p=1;y=1;while(1){B=i[h+(p<<2)>>2]|0;f=i[a>>2]|0;m=i[f+(B>>1<<3)>>2]|0;e:do{if((m|0)!=-1){Q=(i[C>>2]|0)+(m<<2)|0;w=i[Q>>2]|0;if(w>>>0>63){m=i[s>>2]|0;v=1;while(1){H=i[Q+(v<<2)+4>>2]>>1;if((r[m+H>>0]|0)==0?(i[f+(H<<3)+4>>2]|0)>0:0)break;v=v+1|0;if((v|0)>=(w>>>5|0))break e}i[h+(y<<2)>>2]=B;y=y+1|0}}else{i[h+(y<<2)>>2]=B;y=y+1|0}}while(0);p=p+1|0;f=i[l>>2]|0;if((p|0)>=(f|0)){h=f;break}}}else{h=B;p=1;y=1}else if((y|0)==2)if((B|0)>1){C=1;y=1;do{m=i[n>>2]|0;B=i[m+(C<<2)>>2]|0;if((i[(i[a>>2]|0)+(B>>1<<3)>>2]|0)!=-1){i[h>>2]=B;i[f+0>>2]=i[h+0>>2];if(!(Tt(e,f)|0)){B=i[n>>2]|0;m=B;B=i[B+(C<<2)>>2]|0;p=62}}else p=62;if((p|0)==62){p=0;i[m+(y<<2)>>2]=B;y=y+1|0}C=C+1|0;B=i[l>>2]|0}while((C|0)<(B|0));h=B;p=C}else{h=B;p=1;y=1}else{h=B;p=B;y=B}H=e+240|0;G=H;G=aA(i[G>>2]|0,i[G+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;i[H>>2]=G;i[H+4>>2]=R;p=p-y|0;if((p|0)>0){h=h-p|0;i[l>>2]=h}H=e+248|0;G=H;G=aA(i[G>>2]|0,i[G+4>>2]|0,h|0,((h|0)<0)<<31>>31|0)|0;i[H>>2]=G;i[H+4>>2]=R;if((h|0)==1)n=0;else{n=i[n>>2]|0;if((h|0)>2){e=i[a>>2]|0;l=2;p=1;do{p=(i[e+(i[n+(l<<2)>>2]>>1<<3)+4>>2]|0)>(i[e+(i[n+(p<<2)>>2]>>1<<3)+4>>2]|0)?l:p;l=l+1|0}while((l|0)<(h|0))}else p=1;G=n+(p<<2)|0;H=i[G>>2]|0;n=n+4|0;i[G>>2]=i[n>>2];i[n>>2]=H;n=i[(i[a>>2]|0)+(H>>1<<3)+4>>2]|0}i[A>>2]=n;if((i[I>>2]|0)>0)A=0;else{g=o;return}do{r[(i[s>>2]|0)+(i[(i[E>>2]|0)+(A<<2)>>2]>>1)>>0]=0;A=A+1|0}while((A|0)<(i[I>>2]|0));g=o;return}function Tt(e,t){e=e|0;t=t|0;var n=0,A=0,o=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0,d=0,I=0,E=0,B=0;n=g;h=i[t>>2]|0;u=e+396|0;C=i[u>>2]|0;c=e+544|0;I=(i[c>>2]|0)+(i[C+(h>>1<<3)>>2]<<2)|0;s=e+604|0;A=e+608|0;if(i[s>>2]|0)i[A>>2]=0;o=e+588|0;a=e+612|0;e=e+616|0;p=1;while(1){if(p>>>0<(i[I>>2]|0)>>>5>>>0){d=i[I+(p<<2)+4>>2]|0;f=d>>1;if((i[C+(f<<3)+4>>2]|0)!=0?(l=r[(i[o>>2]|0)+f>>0]|0,(l+-1<<24>>24&255)>=2):0){I=i[A>>2]|0;E=(I|0)==(i[a>>2]|0);if(l<<24>>24==3?1:(i[C+(f<<3)>>2]|0)==-1){c=8;break}if(E){C=(I>>1)+2&-2;C=(C|0)<2?2:C;if((C|0)>(2147483647-I|0)){c=24;break}B=i[s>>2]|0;E=C+I|0;i[a>>2]=E;E=Ur(B,E<<3)|0;i[s>>2]=E;if((E|0)==0?(i[(je()|0)>>2]|0)==12:0){c=24;break}I=i[A>>2]|0}i[A>>2]=I+1;C=(i[s>>2]|0)+(I<<3)|0;if(C){B=C;i[B>>2]=p;i[B+4>>2]=h}i[t>>2]=d;I=i[u>>2]|0;h=d;C=I;I=(i[c>>2]|0)+(i[I+(f<<3)>>2]<<2)|0;p=0}}else{h=(i[o>>2]|0)+(h>>1)|0;if(!(r[h>>0]|0)){r[h>>0]=2;sn(e,t)}h=i[A>>2]|0;if(!h){A=1;c=34;break}B=h+-1|0;h=i[s>>2]|0;p=i[h+(B<<3)>>2]|0;h=i[h+(B<<3)+4>>2]|0;i[t>>2]=h;C=i[u>>2]|0;I=(i[c>>2]|0)+(i[C+(h>>1<<3)>>2]<<2)|0;i[A>>2]=B}p=p+1|0}if((c|0)==8){if(E){c=(I>>1)+2&-2;c=(c|0)<2?2:c;if((c|0)>(2147483647-I|0)){B=we(1)|0;ze(B|0,48,0)}E=i[s>>2]|0;B=c+I|0;i[a>>2]=B;B=Ur(E,B<<3)|0;i[s>>2]=B;if((B|0)==0?(i[(je()|0)>>2]|0)==12:0){B=we(1)|0;ze(B|0,48,0)}I=i[A>>2]|0}a=I+1|0;i[A>>2]=a;c=(i[s>>2]|0)+(I<<3)|0;if(c){a=c;i[a>>2]=0;i[a+4>>2]=h;a=i[A>>2]|0}if((a|0)>0)c=0;else{B=0;g=n;return B|0}do{u=(i[o>>2]|0)+(i[(i[s>>2]|0)+(c<<3)+4>>2]>>1)|0;if(!(r[u>>0]|0)){r[u>>0]=3;sn(e,(i[s>>2]|0)+(c<<3)+4|0);a=i[A>>2]|0}c=c+1|0}while((c|0)<(a|0));A=0;g=n;return A|0}else if((c|0)==24)ze(we(1)|0,48,0);else if((c|0)==34){g=n;return A|0}return 0}function Ut(e,t,n){e=e|0;t=t|0;n=n|0;var A=0,o=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0,d=0,I=0,E=0,B=0,y=0;a=g;g=g+32|0;s=a+16|0;o=a+12|0;c=a+8|0;A=a;h=n+20|0;u=n+16|0;if((i[h>>2]|0)>0){l=0;do{r[(i[n>>2]|0)+(i[(i[u>>2]|0)+(l<<2)>>2]|0)>>0]=0;l=l+1|0}while((l|0)<(i[h>>2]|0))}if(i[u>>2]|0)i[h>>2]=0;l=i[t>>2]|0;i[c>>2]=l;i[o>>2]=l;i[s+0>>2]=i[o+0>>2];hn(n,s,0);u=(i[n>>2]|0)+l|0;if(!(r[u>>0]|0)){r[u>>0]=1;sn(n+16|0,c)}if(!(i[e+296>>2]|0)){g=a;return}t=l>>1;p=e+588|0;r[(i[p>>2]|0)+t>>0]=1;f=i[e+284>>2]|0;h=e+292|0;I=i[i[h>>2]>>2]|0;if((f|0)>(I|0)){c=e+280|0;u=e+396|0;l=n+16|0;e=e+544|0;do{f=f+-1|0;d=i[(i[c>>2]|0)+(f<<2)>>2]|0;C=d>>1;if(r[(i[p>>2]|0)+C>>0]|0){I=i[u>>2]|0;E=i[I+(C<<3)>>2]|0;e:do{if((E|0)==-1){d=d^1;i[A>>2]=d;i[o>>2]=d;i[s+0>>2]=i[o+0>>2];hn(n,s,0);d=(i[n>>2]|0)+d|0;if(!(r[d>>0]|0)){r[d>>0]=1;sn(l,A)}}else{d=(i[e>>2]|0)+(E<<2)|0;E=i[d>>2]|0;if(E>>>0>63){B=1;while(1){y=i[d+(B<<2)+4>>2]>>1;if((i[I+(y<<3)+4>>2]|0)>0){r[(i[p>>2]|0)+y>>0]=1;E=i[d>>2]|0}B=B+1|0;if((B|0)>=(E>>>5|0))break e;I=i[u>>2]|0}}}}while(0);r[(i[p>>2]|0)+C>>0]=0;I=i[i[h>>2]>>2]|0}}while((f|0)>(I|0))}r[(i[p>>2]|0)+t>>0]=0;g=a;return}function Yt(e){e=e|0;var t=0,n=0,A=0,s=0,a=0,l=0,h=0.0,p=0,f=0,C=0,d=0,I=0,E=0,B=0,y=0,m=0,Q=0,w=0,v=0;n=g;g=g+16|0;f=n+4|0;B=n;t=e+272|0;m=i[t>>2]|0;h=+u[e+496>>3]/+(m|0);s=e+544|0;a=e+268|0;y=i[a>>2]|0;i[B>>2]=s;i[f+0>>2]=i[B+0>>2];pn(y,m,f);f=i[t>>2]|0;if((f|0)>0){l=e+332|0;p=e+396|0;C=0;y=0;do{E=i[a>>2]|0;B=i[E+(C<<2)>>2]|0;m=i[s>>2]|0;d=m+(B<<2)|0;I=i[d>>2]|0;do{if(I>>>0>95){Q=i[m+(B+1<<2)>>2]|0;m=Q>>1;Q=(o[(i[l>>2]|0)+m>>0]|0)^Q&1;v=r[528]|0;w=v&255;if(((Q&255)<<24>>24==v<<24>>24&(w>>>1^1)|w&2&Q|0)!=0?(v=i[(i[p>>2]|0)+(m<<3)>>2]|0,(v|0)!=-1&(v|0)==(B|0)):0){A=9;break}if((C|0)>=((f|0)/2|0|0)?!(+c[d+(I>>>5<<2)+4>>2]>2]=B;y=y+1|0}C=C+1|0;f=i[t>>2]|0}while((C|0)<(f|0))}else{C=0;y=0}A=C-y|0;if((A|0)>0)i[t>>2]=f-A;if(!(+((i[e+556>>2]|0)>>>0)>+u[e+96>>3]*+((i[e+548>>2]|0)>>>0))){g=n;return}YA[i[(i[e>>2]|0)+8>>2]&31](e);g=n;return}function jt(e,t){e=e|0;t=t|0;var n=0,A=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0,d=0,I=0,E=0,B=0,y=0,m=0,Q=0;n=g;A=t+4|0;l=i[A>>2]|0;if((l|0)>0){a=e+544|0;s=e+332|0;c=0;u=0;do{B=i[t>>2]|0;f=i[B+(c<<2)>>2]|0;l=(i[a>>2]|0)+(f<<2)|0;p=i[l>>2]|0;do{if(p>>>0>31){y=i[s>>2]|0;d=r[528]|0;C=d&255;m=C&2;C=C>>>1^1;I=p>>>5;E=0;do{Q=i[l+(E<<2)+4>>2]|0;Q=(o[y+(Q>>1)>>0]|0)^Q&1;E=E+1|0;if((Q&255)<<24>>24==d<<24>>24&C|m&Q){h=7;break}}while((E|0)<(I|0));if((h|0)==7){h=0;Kt(e,f);break}if(p>>>0>95){h=r[536]|0;C=p>>>5;f=2;do{d=l+(f<<2)+4|0;Q=i[d>>2]|0;Q=(o[(i[s>>2]|0)+(Q>>1)>>0]|0)^Q&1;m=h&255;if((Q&255)<<24>>24==h<<24>>24&(m>>>1^1)|m&2&Q){i[d>>2]=i[l+(C+-1<<2)+4>>2];p=i[l>>2]|0;if(p&8){p=p>>>5;i[l+(p+-1<<2)+4>>2]=i[l+(p<<2)+4>>2];p=i[l>>2]|0}p=p+-32|0;i[l>>2]=p;f=f+-1|0}f=f+1|0;C=p>>>5}while((f|0)<(C|0));f=i[t>>2]|0;B=f;f=i[f+(c<<2)>>2]|0;h=16}else h=16}else h=16}while(0);if((h|0)==16){h=0;i[B+(u<<2)>>2]=f;u=u+1|0}c=c+1|0;l=i[A>>2]|0}while((c|0)<(l|0))}else{c=0;u=0}t=c-u|0;if((t|0)<=0){g=n;return}i[A>>2]=l-t;g=n;return}function Gt(e){e=e|0;var t=0,n=0,A=0,o=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0;o=g;g=g+16|0;n=o+4|0;s=o;i[n>>2]=0;t=n+4|0;i[t>>2]=0;A=n+8|0;i[A>>2]=0;i[s>>2]=0;a=e+540|0;h=i[a>>2]|0;if((h|0)>0){u=e+380|0;c=e+332|0;l=0;do{if((r[(i[u>>2]|0)+l>>0]|0)!=0?(f=r[(i[c>>2]|0)+l>>0]|0,C=r[544]|0,p=C&255,((p>>>1^1)&f<<24>>24==C<<24>>24|f&2&p|0)!=0):0){an(n,s);h=i[a>>2]|0}l=l+1|0;i[s>>2]=l}while((l|0)<(h|0))}fn(e+460|0,n);e=i[n>>2]|0;if(!e){g=o;return}i[t>>2]=0;Tr(e);i[n>>2]=0;i[A>>2]=0;g=o;return}function Jt(e){e=e|0;var t=0,n=0,A=0,o=0,s=0,a=0,c=0,l=0,h=0,p=0,f=0,C=0,d=0,I=0;t=g;A=e+492|0;if((r[A>>0]|0)!=0?(Mt(e)|0)==-1:0){A=e+284|0;o=e+516|0;if((i[A>>2]|0)==(i[o>>2]|0)){I=1;g=t;return I|0}s=e+520|0;I=s;d=i[I+4>>2]|0;if((d|0)>0|(d|0)==0&(i[I>>2]|0)>>>0>0){I=1;g=t;return I|0}jt(e,e+268|0);if(r[e+536>>0]|0){jt(e,e+256|0);c=e+564|0;a=e+568|0;if((i[a>>2]|0)>0){h=e+588|0;l=0;do{r[(i[h>>2]|0)+(i[(i[c>>2]|0)+(l<<2)>>2]|0)>>0]=1;l=l+1|0}while((l|0)<(i[a>>2]|0))}f=i[A>>2]|0;if((f|0)>0){l=i[e+280>>2]|0;h=i[e+588>>2]|0;C=0;p=0;do{d=i[l+(C<<2)>>2]|0;if(!(r[h+(d>>1)>>0]|0)){i[l+(p<<2)>>2]=d;f=i[A>>2]|0;p=p+1|0}C=C+1|0}while((C|0)<(f|0))}else{C=0;p=0}l=C-p|0;if((l|0)>0){f=f-l|0;i[A>>2]=f}i[e+512>>2]=f;e:do{if((i[a>>2]|0)>0){p=e+588|0;l=0;do{r[(i[p>>2]|0)+(i[(i[c>>2]|0)+(l<<2)>>2]|0)>>0]=0;l=l+1|0;h=i[a>>2]|0}while((l|0)<(h|0));if((h|0)>0){h=e+580|0;p=e+584|0;l=e+576|0;f=0;while(1){d=i[h>>2]|0;if((d|0)==(i[p>>2]|0)){C=(d>>1)+2&-2;C=(C|0)<2?2:C;if((C|0)>(2147483647-d|0)){n=28;break}I=i[l>>2]|0;C=C+d|0;i[p>>2]=C;C=Ur(I,C<<2)|0;i[l>>2]=C;if((C|0)==0?(i[(je()|0)>>2]|0)==12:0){n=28;break}d=i[h>>2]|0}else C=i[l>>2]|0;I=C+(d<<2)|0;if(I){i[I>>2]=0;d=i[h>>2]|0}i[h>>2]=d+1;I=i[c>>2]|0;i[C+(d<<2)>>2]=i[I+(f<<2)>>2];f=f+1|0;if((f|0)>=(i[a>>2]|0))break e}if((n|0)==28)ze(we(1)|0,48,0)}else n=21}else n=21}while(0);if((n|0)==21)I=i[c>>2]|0;if(I)i[a>>2]=0}if(+((i[e+556>>2]|0)>>>0)>+u[e+96>>3]*+((i[e+548>>2]|0)>>>0))YA[i[(i[e>>2]|0)+8>>2]&31](e);Gt(e);i[o>>2]=i[A>>2];d=e+224|0;I=e+232|0;d=aA(i[I>>2]|0,i[I+4>>2]|0,i[d>>2]|0,i[d+4>>2]|0)|0;I=s;i[I>>2]=d;i[I+4>>2]=R;I=1;g=t;return I|0}r[A>>0]=0;I=0;g=t;return I|0}function Ht(e,t,n){e=e|0;t=t|0;n=n|0;var A=0,s=0,a=0,l=0,p=0,f=0,C=0,d=0,I=0,E=0,B=0,y=0,m=0,Q=0,w=0,v=0,b=0,D=0,S=0,k=0,_=0,F=0,M=0,N=0,K=0,x=0,P=0,L=0,O=0,T=0,U=0,Y=0,j=0,G=0,J=0,H=0,z=0,W=0,X=0,V=0,$=0,Z=0,ee=0,te=0,ne=0,re=0,Ae=0,ie=0.0,oe=0,se=0,ae=0,ce=0.0,ue=0,ge=0,le=0,he=0,pe=0,fe=0,Ce=0.0,de=0,Ie=0,Ee=0.0;l=g;g=g+64|0;$=l;F=l+60|0;D=l+56|0;A=l+44|0;Z=l+40|0;i[A>>2]=0;a=A+4|0;i[a>>2]=0;s=A+8|0;i[s>>2]=0;O=t+160|0;L=O;L=aA(i[L>>2]|0,i[L+4>>2]|0,1,0)|0;i[O>>2]=L;i[O+4>>2]=R;O=(n|0)<0;L=t+680|0;P=t+664|0;x=t+672|0;C=t+296|0;m=t+272|0;p=t+284|0;N=t+640|0;_=t+308|0;k=t+304|0;d=t+332|0;M=t+292|0;te=t+168|0;E=t+396|0;y=t+280|0;K=t+184|0;S=t+192|0;B=t+48|0;J=t+504|0;X=t+56|0;ee=t+496|0;ne=t+656|0;T=t+144|0;U=t+648|0;Y=t+128|0;j=t+44|0;G=t+200|0;H=t+208|0;z=t+224|0;W=t+216|0;I=t+232|0;V=t+540|0;f=t+292|0;Q=t+544|0;v=t+276|0;w=t+268|0;b=t+268|0;re=0;e:while(1){Ae=O|(re|0)<(n|0);while(1){oe=Mt(t)|0;if((oe|0)!=-1)break;if(!Ae){oe=41;break e}if(r[L>>0]|0){oe=41;break e}oe=P;se=i[oe+4>>2]|0;if((se|0)>=0?(Ie=S,de=i[Ie+4>>2]|0,!(de>>>0>>0|((de|0)==(se|0)?(i[Ie>>2]|0)>>>0<(i[oe>>2]|0)>>>0:0))):0){oe=41;break e}oe=x;se=i[oe+4>>2]|0;if((se|0)>=0?(Ie=K,de=i[Ie+4>>2]|0,!(de>>>0>>0|((de|0)==(se|0)?(i[Ie>>2]|0)>>>0<(i[oe>>2]|0)>>>0:0))):0){oe=41;break e}if((i[C>>2]|0)==0?!(Jt(t)|0):0){oe=50;break e}if(+((i[m>>2]|0)-(i[p>>2]|0)|0)>=+u[N>>3])Yt(t);while(1){oe=i[C>>2]|0;if((oe|0)>=(i[_>>2]|0)){oe=59;break}ue=i[(i[k>>2]|0)+(oe<<2)>>2]|0;se=o[(i[d>>2]|0)+(ue>>1)>>0]|0;Ie=se^ue&1;ae=Ie&255;fe=r[528]|0;de=fe&255;if(!(ae<<24>>24==fe<<24>>24&(de>>>1^1)|de&2&Ie)){oe=56;break}i[F>>2]=i[p>>2];an(M,F)}if((oe|0)==56){oe=0;de=r[536]|0;Ie=de&255;if((Ie>>>1^1)&ae<<24>>24==de<<24>>24|se&2&Ie){oe=57;break e}if((ue|0)==-2)oe=59}if((oe|0)==59){Ie=te;Ie=aA(i[Ie>>2]|0,i[Ie+4>>2]|0,1,0)|0;ue=te;i[ue>>2]=Ie;i[ue+4>>2]=R;ue=Lt(t)|0;if((ue|0)==-2){oe=60;break e}}i[$>>2]=i[p>>2];an(M,$);Ie=ue>>1;r[(i[d>>2]|0)+Ie>>0]=(ue&1^1)&255^1;de=i[C>>2]|0;Ie=(i[E>>2]|0)+(Ie<<3)|0;i[Ie>>2]=-1;i[Ie+4>>2]=de;Ie=i[p>>2]|0;i[p>>2]=Ie+1;i[(i[y>>2]|0)+(Ie<<2)>>2]=ue}de=S;de=aA(i[de>>2]|0,i[de+4>>2]|0,1,0)|0;Ie=S;i[Ie>>2]=de;i[Ie+4>>2]=R;re=re+1|0;if(!(i[C>>2]|0)){oe=5;break}if(i[A>>2]|0)i[a>>2]=0;Ot(t,oe,A,D);Pt(t,i[D>>2]|0);if((i[a>>2]|0)==1){de=i[i[A>>2]>>2]|0;Ie=de>>1;r[(i[d>>2]|0)+Ie>>0]=(de&1^1)&255^1;fe=i[C>>2]|0;Ie=(i[E>>2]|0)+(Ie<<3)|0;i[Ie>>2]=-1;i[Ie+4>>2]=fe;Ie=i[p>>2]|0;i[p>>2]=Ie+1;i[(i[y>>2]|0)+(Ie<<2)>>2]=de}else{Ae=un(Q,A,1)|0;oe=i[m>>2]|0;if((oe|0)==(i[v>>2]|0)){se=(oe>>1)+2&-2;se=(se|0)<2?2:se;if((se|0)>(2147483647-oe|0)){oe=14;break}de=i[w>>2]|0;Ie=se+oe|0;i[v>>2]=Ie;Ie=Ur(de,Ie<<2)|0;i[w>>2]=Ie;if((Ie|0)==0?(i[(je()|0)>>2]|0)==12:0){oe=14;break}oe=i[m>>2]|0}i[m>>2]=oe+1;oe=(i[w>>2]|0)+(oe<<2)|0;if(oe)i[oe>>2]=Ae;Nt(t,Ae);ae=i[Q>>2]|0;Ie=ae+(Ae<<2)|0;ie=+u[ee>>3];Ie=Ie+((i[Ie>>2]|0)>>>5<<2)+4|0;Ee=ie+ +c[Ie>>2];c[Ie>>2]=Ee;if(Ee>1.0e20){se=i[m>>2]|0;if((se|0)>0){oe=i[b>>2]|0;ue=0;do{Ie=ae+(i[oe+(ue<<2)>>2]<<2)|0;Ie=Ie+((i[Ie>>2]|0)>>>5<<2)+4|0;c[Ie>>2]=+c[Ie>>2]*1.0e-20;ue=ue+1|0}while((ue|0)!=(se|0))}u[ee>>3]=ie*1.0e-20}de=i[i[A>>2]>>2]|0;Ie=de>>1;r[(i[d>>2]|0)+Ie>>0]=(de&1^1)&255^1;fe=i[C>>2]|0;Ie=(i[E>>2]|0)+(Ie<<3)|0;i[Ie>>2]=Ae;i[Ie+4>>2]=fe;Ie=i[p>>2]|0;i[p>>2]=Ie+1;i[(i[y>>2]|0)+(Ie<<2)>>2]=de}u[J>>3]=1.0/+u[B>>3]*+u[J>>3];u[ee>>3]=1.0/+u[X>>3]*+u[ee>>3];Ie=(i[ne>>2]|0)+-1|0;i[ne>>2]=Ie;if(Ie)continue;ie=+u[T>>3]*+u[U>>3];u[U>>3]=ie;i[ne>>2]=~~ie;ie=+u[Y>>3]*+u[N>>3];u[N>>3]=ie;if((i[j>>2]|0)<=0)continue;oe=i[S>>2]|0;Ae=i[G>>2]|0;pe=i[C>>2]|0;if(!pe)se=p;else se=i[f>>2]|0;se=i[se>>2]|0;he=i[H>>2]|0;le=i[z>>2]|0;ge=i[W>>2]|0;ue=I;ae=i[ue>>2]|0;ue=i[ue+4>>2]|0;ce=+(i[V>>2]|0);Ce=1.0/ce;if((pe|0)<0)Ee=0.0;else{fe=0;Ee=0.0;while(1){if(!fe)de=0;else de=i[(i[f>>2]|0)+(fe+-1<<2)>>2]|0;if((fe|0)==(pe|0))Ie=p;else Ie=(i[f>>2]|0)+(fe<<2)|0;Ee=Ee+ +q(+Ce,+ +(fe|0))*+((i[Ie>>2]|0)-de|0);if((fe|0)==(pe|0))break;else fe=fe+1|0}}i[$>>2]=oe;i[$+4>>2]=Ae-se;i[$+8>>2]=he;i[$+12>>2]=le;i[$+16>>2]=~~ie;i[$+20>>2]=ge;Ie=$+24|0;u[h>>3]=(+(ae>>>0)+4294967296.0*+(ue>>>0))/+(ge|0);i[Ie>>2]=i[h>>2];i[Ie+4>>2]=i[h+4>>2];Ie=$+32|0;u[h>>3]=Ee/ce*100.0;i[Ie>>2]=i[h>>2];i[Ie+4>>2]=i[h+4>>2];Te(1832,$|0)|0}if((oe|0)==5)r[e>>0]=r[536]|0;else if((oe|0)==14)ze(we(1)|0,48,0);else if((oe|0)==41){ie=+(i[V>>2]|0);ce=1.0/ie;d=i[C>>2]|0;if((d|0)<0)Ce=0.0;else{C=0;Ce=0.0;while(1){if(!C)I=0;else I=i[(i[f>>2]|0)+(C+-1<<2)>>2]|0;if((C|0)==(d|0))E=p;else E=(i[f>>2]|0)+(C<<2)|0;Ce=Ce+ +q(+ce,+ +(C|0))*+((i[E>>2]|0)-I|0);if((C|0)==(d|0))break;else C=C+1|0}}u[t+528>>3]=Ce/ie;Pt(t,0);r[e>>0]=r[544]|0}else if((oe|0)==50)r[e>>0]=r[536]|0;else if((oe|0)==57){i[Z>>2]=ue^1;Ie=t+16|0;i[$+0>>2]=i[Z+0>>2];Ut(t,$,Ie);r[e>>0]=r[536]|0}else if((oe|0)==60)r[e>>0]=r[528]|0;e=i[A>>2]|0;if(!e){g=l;return}i[a>>2]=0;Tr(e);i[A>>2]=0;i[s>>2]=0;g=l;return}function qt(e,t){e=e|0;t=t|0;var n=0,A=0,o=0,s=0,a=0,c=0,l=0,h=0,p=0,f=0,C=0,d=0,I=0,E=0,B=0,y=0.0,m=0,Q=0,w=0,v=0.0,b=0,D=0;A=g;g=g+16|0;s=A;n=t+4|0;if(i[n>>2]|0)i[t+8>>2]=0;o=t+36|0;a=t+32|0;if((i[o>>2]|0)>0){c=t+16|0;l=0;do{r[(i[c>>2]|0)+(i[(i[a>>2]|0)+(l<<2)>>2]|0)>>0]=0;l=l+1|0}while((l|0)<(i[o>>2]|0))}if(i[a>>2]|0)i[o>>2]=0;a=t+492|0;if(!(r[a>>0]|0)){r[e>>0]=r[536]|0;g=A;return}c=t+152|0;w=c;w=aA(i[w>>2]|0,i[w+4>>2]|0,1,0)|0;i[c>>2]=w;i[c+4>>2]=R;v=+u[t+120>>3]*+(i[t+208>>2]|0);c=t+640|0;u[c>>3]=v;y=+(i[t+104>>2]|0);if(v>3]=y;m=i[t+136>>2]|0;u[t+648>>3]=+(m|0);i[t+656>>2]=m;m=r[544]|0;c=t+44|0;if((i[c>>2]|0)>0){Oe(2288)|0;Oe(2368)|0;Oe(2448)|0;Oe(2528)|0;p=r[544]|0}else p=m;h=t+192|0;l=t+184|0;w=p&255;e:do{if((w>>>1^1)&m<<24>>24==p<<24>>24|m&2&w){C=t+80|0;E=t+112|0;f=t+108|0;p=t+680|0;d=t+664|0;I=t+672|0;B=0;while(1){y=+u[E>>3];if(!(r[C>>0]|0))y=+q(+y,+ +(B|0));else{w=B+1|0;if((B|0)>0){Q=0;m=1;do{Q=Q+1|0;m=m<<1|1}while((m|0)<(w|0));w=m+-1|0}else{Q=0;w=0}if((w|0)!=(B|0)){m=B;do{b=w>>1;Q=Q+-1|0;m=(m|0)%(b|0)|0;w=b+-1|0}while((w|0)!=(m|0))}y=+q(+y,+ +(Q|0))}Ht(s,t,~~(y*+(i[f>>2]|0)));m=r[s>>0]|0;if(r[p>>0]|0)break e;w=d;Q=i[w+4>>2]|0;if((Q|0)>=0?(b=h,D=i[b+4>>2]|0,!(D>>>0>>0|((D|0)==(Q|0)?(i[b>>2]|0)>>>0<(i[w>>2]|0)>>>0:0))):0)break e;w=I;Q=i[w+4>>2]|0;if((Q|0)>=0?(D=l,b=i[D+4>>2]|0,!(b>>>0>>0|((b|0)==(Q|0)?(i[D>>2]|0)>>>0<(i[w>>2]|0)>>>0:0))):0)break e;b=r[544]|0;D=b&255;if(!((D>>>1^1)&m<<24>>24==b<<24>>24|m&2&D))break;else B=B+1|0}}}while(0);if((i[c>>2]|0)>0)Oe(2528)|0;b=r[528]|0;D=b&255;s=m&2;if(!((D>>>1^1)&m<<24>>24==b<<24>>24|s&D)){b=r[536]|0;D=b&255;if(((D>>>1^1)&m<<24>>24==b<<24>>24|s&D|0)!=0?(i[o>>2]|0)==0:0)r[a>>0]=0}else{o=t+540|0;rn(n,i[o>>2]|0);if((i[o>>2]|0)>0){s=t+332|0;a=0;do{r[(i[n>>2]|0)+a>>0]=r[(i[s>>2]|0)+a>>0]|0;a=a+1|0}while((a|0)<(i[o>>2]|0))}}Pt(t,0);r[e>>0]=m;g=A;return}function zt(e,t){e=e|0;t=t|0;var n=0,A=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0,d=0,I=0,E=0,B=0,y=0,m=0;n=g;s=e+412|0;Cn(s);c=e+540|0;if((i[c>>2]|0)>0){a=e+544|0;A=0;do{u=A<<1;h=i[s>>2]|0;l=h+(u*12|0)+4|0;if((i[l>>2]|0)>0){f=h+(u*12|0)|0;p=0;do{I=(i[f>>2]|0)+(p<<3)|0;h=i[I>>2]|0;C=i[a>>2]|0;d=C+(h<<2)|0;if(!(i[d>>2]&16)){E=dn(t,d)|0;i[I>>2]=E;i[d>>2]=i[d>>2]|16;i[C+(h+1<<2)>>2]=E}else i[I>>2]=i[C+(h+1<<2)>>2];p=p+1|0}while((p|0)<(i[l>>2]|0));l=i[s>>2]|0}else l=h;h=u|1;u=l+(h*12|0)+4|0;if((i[u>>2]|0)>0){d=l+(h*12|0)|0;C=0;do{l=(i[d>>2]|0)+(C<<3)|0;f=i[l>>2]|0;p=i[a>>2]|0;h=p+(f<<2)|0;if(!(i[h>>2]&16)){E=dn(t,h)|0;i[l>>2]=E;i[h>>2]=i[h>>2]|16;i[p+(f+1<<2)>>2]=E}else i[l>>2]=i[p+(f+1<<2)>>2];C=C+1|0}while((C|0)<(i[u>>2]|0))}A=A+1|0}while((A|0)<(i[c>>2]|0))}A=e+284|0;if((i[A>>2]|0)>0){u=e+280|0;c=e+396|0;a=e+544|0;s=e+332|0;l=0;do{d=i[c>>2]|0;f=d+(i[(i[u>>2]|0)+(l<<2)>>2]>>1<<3)|0;C=i[f>>2]|0;do{if((C|0)!=-1){E=i[a>>2]|0;I=E+(C<<2)|0;p=(i[I>>2]&16|0)==0;if(p){B=i[E+(C+1<<2)>>2]|0;h=B>>1;B=(o[(i[s>>2]|0)+h>>0]|0)^B&1;m=r[528]|0;y=m&255;if(!((B&255)<<24>>24==m<<24>>24&(y>>>1^1)|y&2&B))break;m=i[d+(h<<3)>>2]|0;if(!((m|0)!=-1&(m|0)==(C|0)))break;if(p){m=dn(t,I)|0;i[f>>2]=m;i[I>>2]=i[I>>2]|16;i[E+(C+1<<2)>>2]=m;break}}i[f>>2]=i[E+(C+1<<2)>>2]}}while(0);l=l+1|0}while((l|0)<(i[A>>2]|0))}A=e+272|0;h=i[A>>2]|0;if((h|0)>0){a=e+268|0;s=e+544|0;l=i[a>>2]|0;c=0;u=0;do{f=l+(c<<2)|0;p=i[f>>2]|0;d=i[s>>2]|0;C=d+(p<<2)|0;I=i[C>>2]|0;if((I&3|0)!=1){if(!(I&16)){h=dn(t,C)|0;i[f>>2]=h;i[C>>2]=i[C>>2]|16;i[d+(p+1<<2)>>2]=h;h=i[a>>2]|0;l=h;h=i[h+(c<<2)>>2]|0}else{h=i[d+(p+1<<2)>>2]|0;i[f>>2]=h}i[l+(u<<2)>>2]=h;h=i[A>>2]|0;u=u+1|0}c=c+1|0}while((c|0)<(h|0))}else{c=0;u=0}s=c-u|0;if((s|0)>0)i[A>>2]=h-s;A=e+260|0;l=i[A>>2]|0;if((l|0)>0){s=e+256|0;e=e+544|0;u=i[s>>2]|0;a=0;c=0;do{h=u+(a<<2)|0;f=i[h>>2]|0;p=i[e>>2]|0;d=p+(f<<2)|0;C=i[d>>2]|0;if((C&3|0)!=1){if(!(C&16)){l=dn(t,d)|0;i[h>>2]=l;i[d>>2]=i[d>>2]|16;i[p+(f+1<<2)>>2]=l;l=i[s>>2]|0;u=l;l=i[l+(a<<2)>>2]|0}else{l=i[p+(f+1<<2)>>2]|0;i[h>>2]=l}i[u+(c<<2)>>2]=l;l=i[A>>2]|0;c=c+1|0}a=a+1|0}while((a|0)<(l|0))}else{a=0;c=0}t=a-c|0;if((t|0)<=0){g=n;return}i[A>>2]=l-t;g=n;return}function Wt(e){e=e|0;var t=0,n=0,A=0,o=0,s=0,a=0,c=0;o=g;g=g+32|0;a=o;t=o+8|0;n=e+548|0;A=e+556|0;s=(i[n>>2]|0)-(i[A>>2]|0)|0;i[t+0>>2]=0;i[t+4>>2]=0;i[t+8>>2]=0;i[t+12>>2]=0;en(t,s);s=t+16|0;r[s>>0]=0;zt(e,t);if((i[e+44>>2]|0)>1){c=i[t+4>>2]<<2;i[a>>2]=i[n>>2]<<2;i[a+4>>2]=c;Te(1888,a|0)|0}r[e+560>>0]=r[s>>0]|0;s=e+544|0;a=i[s>>2]|0;if(a)Tr(a);i[s>>2]=i[t>>2];i[n>>2]=i[t+4>>2];i[e+552>>2]=i[t+8>>2];i[A>>2]=i[t+12>>2];g=o;return}function Xt(){var e=0,t=0,n=0;e=g;g=g+16|0;t=e;r[528]=0;r[536]=1;r[544]=2;dt(552,608,624,2136,2144);i[138]=2168;u[72]=0.0;u[73]=1.0;r[592]=0;r[593]=0;A[297]=A[t+0>>1]|0;A[298]=A[t+2>>1]|0;A[299]=A[t+4>>1]|0;u[75]=.95;dt(664,720,736,2136,2144);i[166]=2168;u[86]=0.0;u[87]=1.0;r[704]=0;r[705]=0;A[353]=A[t+0>>1]|0;A[354]=A[t+2>>1]|0;A[355]=A[t+4>>1]|0;u[89]=.999;dt(776,832,848,2136,2144);i[194]=2168;u[100]=0.0;u[101]=1.0;r[816]=1;r[817]=1;A[409]=A[t+0>>1]|0;A[410]=A[t+2>>1]|0;A[411]=A[t+4>>1]|0;u[103]=0.0;dt(936,992,1008,2136,2144);i[234]=2168;u[120]=0.0;u[121]=w;r[976]=0;r[977]=0;A[489]=A[t+0>>1]|0;A[490]=A[t+2>>1]|0;A[491]=A[t+4>>1]|0;u[123]=91648253.0;dt(1048,1080,1096,2136,2016);i[262]=280;n=1068|0;i[n>>2]=0;i[n+4>>2]=2;i[269]=2;dt(1160,1192,1208,2136,2016);i[290]=280;n=1180|0;i[n>>2]=0;i[n+4>>2]=2;i[297]=2;dt(1272,1296,1312,2136,1992);i[318]=160;r[1292]=0;dt(1344,1368,1376,2136,1992);i[336]=160;r[1364]=1;dt(1408,1440,1448,2136,2016);i[352]=280;n=1428|0;i[n>>2]=1;i[n+4>>2]=2147483647;i[359]=100;dt(1480,1536,1544,2136,2144);i[370]=2168;u[188]=1.0;u[189]=w;r[1520]=0;r[1521]=0;A[761]=A[t+0>>1]|0;A[762]=A[t+2>>1]|0;A[763]=A[t+4>>1]|0;u[191]=2.0;dt(1584,1640,1648,2136,2144);i[396]=2168;u[201]=0.0;u[202]=w;r[1624]=0;r[1625]=0;A[813]=A[t+0>>1]|0;A[814]=A[t+2>>1]|0;A[815]=A[t+4>>1]|0;u[204]=.2;dt(1728,1760,1776,2136,2016);i[432]=280;t=1748|0;i[t>>2]=0;i[t+4>>2]=2147483647;i[439]=0;g=e;return}function Vt(e){e=e|0;var t=0;t=g;ur(e);g=t;return}function $t(e,t){e=e|0;t=t|0;var n=0,A=0,o=0,s=0,a=0,c=0,l=0,h=0,p=0,f=0.0,C=0.0;n=g;g=g+16|0;s=n;o=n+8|0;if((r[t>>0]|0)!=45){p=0;g=n;return p|0}l=t+1|0;A=e+4|0;a=i[A>>2]|0;c=r[a>>0]|0;e:do{if(c<<24>>24){h=0;while(1){p=h;h=h+1|0;if((r[l>>0]|0)!=c<<24>>24){e=0;break}c=r[a+h>>0]|0;l=t+(p+2)|0;if(!(c<<24>>24))break e}g=n;return e|0}}while(0);if((r[l>>0]|0)!=61){p=0;g=n;return p|0}a=l+1|0;f=+Vr(a,o);if(!(i[o>>2]|0)){p=0;g=n;return p|0}C=+u[e+32>>3];if(f>=C?(r[e+41>>0]|0)==0|f!=C:0){p=i[I>>2]|0;h=i[A>>2]|0;i[s>>2]=a;i[s+4>>2]=h;et(p|0,2024,s|0)|0;rt(1)}C=+u[e+24>>3];if(f<=C?(r[e+40>>0]|0)==0|f!=C:0){p=i[I>>2]|0;h=i[A>>2]|0;i[s>>2]=a;i[s+4>>2]=h;et(p|0,2080,s|0)|0;rt(1)}u[e+48>>3]=f;p=1;g=n;return p|0}function Zt(e,t){e=e|0;t=t|0;var n=0,A=0,o=0,s=0,a=0.0,c=0,l=0.0,p=0.0,f=0;n=g;g=g+48|0;A=n;o=i[I>>2]|0;f=i[e+16>>2]|0;c=(r[e+40>>0]|0)!=0?91:40;p=+u[e+24>>3];l=+u[e+32>>3];s=(r[e+41>>0]|0)!=0?93:41;a=+u[e+48>>3];i[A>>2]=i[e+4>>2];i[A+4>>2]=f;i[A+8>>2]=c;c=A+12|0;u[h>>3]=p;i[c>>2]=i[h>>2];i[c+4>>2]=i[h+4>>2];c=A+20|0;u[h>>3]=l;i[c>>2]=i[h>>2];i[c+4>>2]=i[h+4>>2];i[A+28>>2]=s;s=A+32|0;u[h>>3]=a;i[s>>2]=i[h>>2];i[s+4>>2]=i[h+4>>2];et(o|0,2232,A|0)|0;if(!t){g=n;return}i[A>>2]=i[e+8>>2];et(o|0,2e3,A|0)|0;qe(10,o|0)|0;g=n;return}function en(e,t){e=e|0;t=t|0;var n=0,r=0,A=0,o=0,s=0;n=g;r=e+8|0;A=i[r>>2]|0;if(A>>>0>>0)s=A;else{g=n;return}while(1){if(s>>>0>=t>>>0)break;s=((s>>>3)+2+(s>>>1)&-2)+s|0;i[r>>2]=s;if(s>>>0<=A>>>0){o=4;break}}if((o|0)==4)ze(we(1)|0,48,0);r=Ur(i[e>>2]|0,s<<2)|0;if((r|0)==0?(i[(je()|0)>>2]|0)==12:0)ze(we(1)|0,48,0);i[e>>2]=r;g=n;return}function tn(e){e=e|0;var t=0,n=0,r=0,A=0,o=0,s=0,a=0;t=g;r=e+32|0;n=i[r>>2]|0;if(n){i[e+36>>2]=0;Tr(n);i[r>>2]=0;i[e+40>>2]=0}r=e+16|0;n=i[r>>2]|0;if(n){i[e+20>>2]=0;Tr(n);i[r>>2]=0;i[e+24>>2]=0}r=i[e>>2]|0;if(!r){g=t;return}n=e+4|0;o=i[n>>2]|0;if((o|0)>0){A=0;do{a=r+(A*12|0)|0;s=i[a>>2]|0;if(s){i[r+(A*12|0)+4>>2]=0;Tr(s);i[a>>2]=0;i[r+(A*12|0)+8>>2]=0;r=i[e>>2]|0;o=i[n>>2]|0}A=A+1|0}while((A|0)<(o|0))}i[n>>2]=0;Tr(r);i[e>>2]=0;i[e+8>>2]=0;g=t;return}function nn(e,t){e=e|0;t=t|0;var n=0,r=0,A=0,o=0,s=0,a=0,c=0,u=0,l=0,h=0;A=g;g=g+16|0;r=A+4|0;n=A;u=i[t>>2]|0;s=u+1|0;o=e+4|0;if((i[o>>2]|0)<(s|0)){c=e+8|0;a=i[c>>2]|0;if((a|0)<(s|0)){l=u+2-a&-2;u=(a>>1)+2&-2;u=(l|0)>(u|0)?l:u;if((u|0)>(2147483647-a|0)){l=we(1)|0;ze(l|0,48,0)}h=i[e>>2]|0;l=u+a|0;i[c>>2]=l;l=Ur(h,l*12|0)|0;i[e>>2]=l;if((l|0)==0?(i[(je()|0)>>2]|0)==12:0){h=we(1)|0;ze(h|0,48,0)}}c=i[o>>2]|0;if((c|0)<(s|0)){a=i[e>>2]|0;do{u=a+(c*12|0)|0;if(u){i[u>>2]=0;i[a+(c*12|0)+4>>2]=0;i[a+(c*12|0)+8>>2]=0}c=c+1|0}while((c|0)!=(s|0))}i[o>>2]=s;u=i[t>>2]|0}o=i[e>>2]|0;if(!(i[o+(u*12|0)>>2]|0)){l=u;h=e+16|0;i[n>>2]=l;i[r+0>>2]=i[n+0>>2];hn(h,r,0);g=A;return}i[o+(u*12|0)+4>>2]=0;l=i[t>>2]|0;h=e+16|0;i[n>>2]=l;i[r+0>>2]=i[n+0>>2];hn(h,r,0);g=A;return}function rn(e,t){e=e|0;t=t|0;var n=0,A=0,o=0,s=0,a=0,c=0,u=0;A=g;n=e+4|0;if((i[n>>2]|0)>=(t|0)){g=A;return}s=e+8|0;o=i[s>>2]|0;if((o|0)<(t|0)){c=t+1-o&-2;a=(o>>1)+2&-2;a=(c|0)>(a|0)?c:a;if((a|0)>(2147483647-o|0)){c=we(1)|0;ze(c|0,48,0)}u=i[e>>2]|0;c=a+o|0;i[s>>2]=c;c=Ur(u,c)|0;i[e>>2]=c;if((c|0)==0?(i[(je()|0)>>2]|0)==12:0){u=we(1)|0;ze(u|0,48,0)}}o=i[n>>2]|0;if((o|0)<(t|0)){e=i[e>>2]|0;do{s=e+o|0;if(s)r[s>>0]=0;o=o+1|0}while((o|0)!=(t|0))}i[n>>2]=t;g=A;return}function An(e,t,n){e=e|0;t=t|0;n=n|0;var A=0,o=0,s=0,a=0,c=0,u=0,l=0,h=0;s=g;o=t+1|0;A=e+4|0;if((i[A>>2]|0)>=(o|0)){u=i[e>>2]|0;u=u+t|0;r[u>>0]=n;g=s;return}c=e+8|0;a=i[c>>2]|0;if((a|0)<(o|0)){l=t+2-a&-2;u=(a>>1)+2&-2;u=(l|0)>(u|0)?l:u;if((u|0)>(2147483647-a|0)){l=we(1)|0;ze(l|0,48,0)}h=i[e>>2]|0;l=u+a|0;i[c>>2]=l;l=Ur(h,l)|0;i[e>>2]=l;if((l|0)==0?(i[(je()|0)>>2]|0)==12:0){h=we(1)|0;ze(h|0,48,0)}}a=i[A>>2]|0;if((a|0)<(o|0))do{c=(i[e>>2]|0)+a|0;if(c)r[c>>0]=0;a=a+1|0}while((a|0)!=(o|0));i[A>>2]=o;h=i[e>>2]|0;h=h+t|0;r[h>>0]=n;g=s;return}function on(e,t){e=e|0;t=t|0;var n=0,r=0,A=0,o=0,s=0,a=0,c=0,l=0,h=0,p=0;n=g;g=g+16|0;o=n;i[o>>2]=t;s=e+12|0;A=t+1|0;r=e+16|0;if((i[r>>2]|0)<(A|0)){c=e+20|0;a=i[c>>2]|0;if((a|0)<(A|0)){h=t+2-a&-2;l=(a>>1)+2&-2;l=(h|0)>(l|0)?h:l;if((l|0)>(2147483647-a|0)){h=we(1)|0;ze(h|0,48,0)}p=i[s>>2]|0;h=l+a|0;i[c>>2]=h;h=Ur(p,h<<2)|0;i[s>>2]=h;if((h|0)==0?(i[(je()|0)>>2]|0)==12:0){p=we(1)|0;ze(p|0,48,0)}}a=i[r>>2]|0;if((A|0)>(a|0))iA((i[s>>2]|0)+(a<<2)|0,-1,A-a<<2|0)|0;i[r>>2]=A}i[(i[s>>2]|0)+(t<<2)>>2]=i[e+4>>2];an(e,o);r=i[s>>2]|0;o=i[r+(t<<2)>>2]|0;t=i[e>>2]|0;A=i[t+(o<<2)>>2]|0;if(!o){h=0;p=t+(h<<2)|0;i[p>>2]=A;p=r+(A<<2)|0;i[p>>2]=h;g=n;return}e=e+28|0;while(1){s=o;o=o+-1>>1;a=t+(o<<2)|0;c=i[a>>2]|0;p=i[i[e>>2]>>2]|0;if(!(+u[p+(A<<3)>>3]>+u[p+(c<<3)>>3])){e=14;break}i[t+(s<<2)>>2]=c;i[r+(i[a>>2]<<2)>>2]=s;if(!o){s=0;e=14;break}}if((e|0)==14){p=t+(s<<2)|0;i[p>>2]=A;p=r+(A<<2)|0;i[p>>2]=s;g=n;return}}function sn(e,t){e=e|0;t=t|0;var n=0,r=0,A=0,o=0,s=0,a=0;n=g;r=e+4|0;A=i[r>>2]|0;o=e+8|0;s=i[o>>2]|0;if((A|0)==(s|0)&(s|0)<(A+1|0)){s=(A>>1)+2&-2;s=(s|0)<2?2:s;if((s|0)>(2147483647-A|0)){s=we(1)|0;ze(s|0,48,0)}a=i[e>>2]|0;A=s+A|0;i[o>>2]=A;A=Ur(a,A<<2)|0;i[e>>2]=A;if((A|0)==0?(i[(je()|0)>>2]|0)==12:0){a=we(1)|0;ze(a|0,48,0)}}else A=i[e>>2]|0;a=i[r>>2]|0;i[r>>2]=a+1;r=A+(a<<2)|0;if(!r){g=n;return}i[r>>2]=i[t>>2];g=n;return}function an(e,t){e=e|0;t=t|0;var n=0,r=0,A=0,o=0,s=0,a=0;n=g;r=e+4|0;A=i[r>>2]|0;o=e+8|0;s=i[o>>2]|0;if((A|0)==(s|0)&(s|0)<(A+1|0)){s=(A>>1)+2&-2;s=(s|0)<2?2:s;if((s|0)>(2147483647-A|0)){s=we(1)|0;ze(s|0,48,0)}a=i[e>>2]|0;A=s+A|0;i[o>>2]=A;A=Ur(a,A<<2)|0;i[e>>2]=A;if((A|0)==0?(i[(je()|0)>>2]|0)==12:0){a=we(1)|0;ze(a|0,48,0)}}else A=i[e>>2]|0;a=i[r>>2]|0;i[r>>2]=a+1;r=A+(a<<2)|0;if(!r){g=n;return}i[r>>2]=i[t>>2];g=n;return}function cn(e,t,n){e=e|0;t=t|0;n=n|0;var A=0,o=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0;n=g;g=g+16|0;A=n+2|0;s=n+1|0;o=n;if((t|0)<16){o=t+-1|0;if((o|0)>0)s=0;else{g=n;return}do{A=s;s=s+1|0;if((s|0)<(t|0)){c=A;a=s;do{c=(i[e+(a<<2)>>2]|0)<(i[e+(c<<2)>>2]|0)?a:c;a=a+1|0}while((a|0)!=(t|0))}else c=A;h=e+(A<<2)|0;p=i[h>>2]|0;f=e+(c<<2)|0;i[h>>2]=i[f>>2];i[f>>2]=p}while((s|0)!=(o|0));g=n;return}a=i[e+(((t|0)/2|0)<<2)>>2]|0;l=-1;h=t;while(1){do{l=l+1|0;u=e+(l<<2)|0;c=i[u>>2]|0}while((c|0)<(a|0));do{h=h+-1|0;p=e+(h<<2)|0;f=i[p>>2]|0}while((a|0)<(f|0));if((l|0)>=(h|0))break;i[u>>2]=f;i[p>>2]=c}r[A+0>>0]=r[s+0>>0]|0;cn(e,l,A);f=t-l|0;r[A+0>>0]=r[o+0>>0]|0;cn(u,f,A);g=n;return}function un(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,A=0,s=0,a=0,u=0,l=0;r=g;a=n&1;s=o[e+16>>0]|0|a;A=t+4|0;u=((s+(i[A>>2]|0)<<2)+4|0)>>>2;l=e+4|0;en(e,u+(i[l>>2]|0)|0);n=i[l>>2]|0;u=u+n|0;i[l>>2]=u;if(u>>>0>>0)ze(we(1)|0,48,0);e=(i[e>>2]|0)+(n<<2)|0;if(!e){g=r;return n|0}s=s<<3|a<<2;i[e>>2]=i[e>>2]&-32|s;s=i[A>>2]<<5|s;i[e>>2]=s;if((i[A>>2]|0)>0){s=i[t>>2]|0;t=0;do{i[e+(t<<2)+4>>2]=i[s+(t<<2)>>2];t=t+1|0}while((t|0)<(i[A>>2]|0));s=i[e>>2]|0}if(!(s&8)){g=r;return n|0}A=s>>>5;if(s&4){c[e+(A<<2)+4>>2]=0.0;g=r;return n|0}if(!A){A=0;s=0}else{s=0;t=0;do{s=1<<((i[e+(t<<2)+4>>2]|0)>>>1&31)|s;t=t+1|0}while((t|0)<(A|0))}i[e+(A<<2)+4>>2]=s;g=r;return n|0}function gn(e,t){e=e|0;t=t|0;var n=0,r=0,A=0,o=0,s=0,a=0;n=g;r=e+4|0;A=i[r>>2]|0;o=e+8|0;s=i[o>>2]|0;if((A|0)==(s|0)&(s|0)<(A+1|0)){s=(A>>1)+2&-2;s=(s|0)<2?2:s;if((s|0)>(2147483647-A|0)){s=we(1)|0;ze(s|0,48,0)}a=i[e>>2]|0;A=s+A|0;i[o>>2]=A;A=Ur(a,A<<3)|0;i[e>>2]=A;if((A|0)==0?(i[(je()|0)>>2]|0)==12:0){a=we(1)|0;ze(a|0,48,0)}}else A=i[e>>2]|0;a=i[r>>2]|0;i[r>>2]=a+1;r=A+(a<<3)|0;if(!r){g=n;return}o=t;s=i[o+4>>2]|0;a=r;i[a>>2]=i[o>>2];i[a+4>>2]=s;g=n;return}function ln(e){e=e|0;var t=0,n=0,r=0,A=0,o=0,s=0,a=0,c=0,l=0,h=0,p=0,f=0,C=0.0,d=0.0,I=0;t=g;n=i[e>>2]|0;A=i[n>>2]|0;a=e+4|0;p=i[n+((i[a>>2]|0)+-1<<2)>>2]|0;i[n>>2]=p;r=i[e+12>>2]|0;i[r+(p<<2)>>2]=0;i[r+(A<<2)>>2]=-1;p=(i[a>>2]|0)+-1|0;i[a>>2]=p;if((p|0)<=1){g=t;return A|0}o=i[n>>2]|0;c=e+28|0;e=0;l=1;while(1){h=(e<<1)+2|0;if((h|0)<(p|0)){f=i[n+(h<<2)>>2]|0;I=i[n+(l<<2)>>2]|0;p=i[i[c>>2]>>2]|0;C=+u[p+(f<<3)>>3];d=+u[p+(I<<3)>>3];if(!(C>d)){f=I;C=d;s=6}}else{p=i[i[c>>2]>>2]|0;s=i[n+(l<<2)>>2]|0;f=s;C=+u[p+(s<<3)>>3];s=6}if((s|0)==6){s=0;h=l}if(!(C>+u[p+(o<<3)>>3]))break;i[n+(e<<2)>>2]=f;i[r+(f<<2)>>2]=e;l=h<<1|1;p=i[a>>2]|0;if((l|0)>=(p|0)){e=h;break}else e=h}i[n+(e<<2)>>2]=o;i[r+(o<<2)>>2]=e;g=t;return A|0}function hn(e,t,n){e=e|0;t=t|0;n=n|0;var A=0,o=0,s=0,a=0,c=0,u=0,l=0;A=g;c=i[t>>2]|0;t=c+1|0;o=e+4|0;if((i[o>>2]|0)>=(t|0)){g=A;return}a=e+8|0;s=i[a>>2]|0;if((s|0)<(t|0)){u=c+2-s&-2;c=(s>>1)+2&-2;c=(u|0)>(c|0)?u:c;if((c|0)>(2147483647-s|0)){u=we(1)|0;ze(u|0,48,0)}l=i[e>>2]|0;u=c+s|0;i[a>>2]=u;u=Ur(l,u)|0;i[e>>2]=u;if((u|0)==0?(i[(je()|0)>>2]|0)==12:0){l=we(1)|0;ze(l|0,48,0)}}s=i[o>>2]|0;if((s|0)<(t|0))do{r[(i[e>>2]|0)+s>>0]=n;s=s+1|0}while((s|0)!=(t|0));i[o>>2]=t;g=A;return}function pn(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,A=0,o=0,s=0,a=0,u=0,l=0,h=0,p=0,f=0,C=0,d=0,I=0,E=0,B=0,y=0;r=g;g=g+16|0;o=r+8|0;A=r+4|0;s=r;if((t|0)<16){A=t+-1|0;if((A|0)<=0){g=r;return}o=i[n>>2]|0;n=0;do{s=n;n=n+1|0;if((n|0)<(t|0)){a=i[o>>2]|0;l=s;u=n;do{h=a+(i[e+(u<<2)>>2]<<2)|0;B=i[h>>2]|0;C=B>>>5;if(B>>>0>95){p=a+(i[e+(l<<2)>>2]<<2)|0;f=(i[p>>2]|0)>>>5;if((f|0)==2)l=u;else l=+c[h+(C<<2)+4>>2]<+c[p+(f<<2)+4>>2]?u:l}u=u+1|0}while((u|0)!=(t|0))}else l=s;I=e+(s<<2)|0;E=i[I>>2]|0;B=e+(l<<2)|0;i[I>>2]=i[B>>2];i[B>>2]=E}while((n|0)!=(A|0));g=r;return}a=i[e+(((t|0)/2|0)<<2)>>2]|0;C=-1;p=t;while(1){E=C+1|0;f=e+(E<<2)|0;B=i[f>>2]|0;u=i[n>>2]|0;l=i[u>>2]|0;I=l+(B<<2)|0;d=i[I>>2]|0;C=l+(a<<2)|0;h=i[C>>2]|0;e:do{if(d>>>0>95)while(1){y=h>>>5;if((y|0)!=2?!(+c[I+(d>>>5<<2)+4>>2]<+c[C+(y<<2)+4>>2]):0){C=E;break e}E=E+1|0;f=e+(E<<2)|0;B=i[f>>2]|0;I=l+(B<<2)|0;d=i[I>>2]|0;if(d>>>0<=95){C=E;break}}else C=E}while(0);p=p+-1|0;I=e+(p<<2)|0;d=l+(a<<2)|0;e:do{if(h>>>0>95)while(1){E=l+(i[I>>2]<<2)|0;y=(i[E>>2]|0)>>>5;if((y|0)!=2?!(+c[d+(h>>>5<<2)+4>>2]<+c[E+(y<<2)+4>>2]):0)break e;y=p+-1|0;I=e+(y<<2)|0;p=y}}while(0);if((C|0)>=(p|0))break;i[f>>2]=i[I>>2];i[I>>2]=B}i[A>>2]=u;i[o+0>>2]=i[A+0>>2];pn(e,C,o);y=t-C|0;i[s>>2]=u;i[o+0>>2]=i[s+0>>2];pn(f,y,o);g=r;return}function fn(e,t){e=e|0;t=t|0;var n=0,r=0,A=0,o=0,s=0,a=0,c=0,l=0,h=0,p=0,f=0,C=0.0,d=0.0,I=0;r=g;A=e+4|0;s=i[A>>2]|0;o=i[e>>2]|0;if((s|0)>0){c=i[e+12>>2]|0;a=0;do{i[c+(i[o+(a<<2)>>2]<<2)>>2]=-1;a=a+1|0;s=i[A>>2]|0}while((a|0)<(s|0))}if(o){i[A>>2]=0;s=0}o=t+4|0;if((i[o>>2]|0)>0){a=e+12|0;s=0;do{I=(i[t>>2]|0)+(s<<2)|0;i[(i[a>>2]|0)+(i[I>>2]<<2)>>2]=s;an(e,I);s=s+1|0}while((s|0)<(i[o>>2]|0));s=i[A>>2]|0}if((s|0)<=1){g=r;return}o=i[e>>2]|0;t=e+28|0;e=e+12|0;p=s;a=(s|0)/2|0;while(1){a=a+-1|0;s=i[o+(a<<2)>>2]|0;l=a<<1|1;e:do{if((l|0)<(p|0)){c=a;while(1){h=(c<<1)+2|0;if((h|0)<(p|0)){f=i[o+(h<<2)>>2]|0;I=i[o+(l<<2)>>2]|0;p=i[i[t>>2]>>2]|0;C=+u[p+(f<<3)>>3];d=+u[p+(I<<3)>>3];if(!(C>d)){f=I;C=d;n=16}}else{p=i[i[t>>2]>>2]|0;n=i[o+(l<<2)>>2]|0;f=n;C=+u[p+(n<<3)>>3];n=16}if((n|0)==16){n=0;h=l}if(!(C>+u[p+(s<<3)>>3]))break e;i[o+(c<<2)>>2]=f;i[(i[e>>2]|0)+(f<<2)>>2]=c;l=h<<1|1;p=i[A>>2]|0;if((l|0)>=(p|0)){c=h;break}else c=h}}else c=a}while(0);i[o+(c<<2)>>2]=s;i[(i[e>>2]|0)+(s<<2)>>2]=c;if((a|0)<=0)break;p=i[A>>2]|0}g=r;return}function Cn(e){e=e|0;var t=0,n=0,A=0,o=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0,d=0,I=0;n=g;t=e+36|0;u=i[t>>2]|0;A=e+32|0;h=i[A>>2]|0;if((u|0)>0){s=e+16|0;o=e+44|0;a=0;do{c=h+(a<<2)|0;l=i[c>>2]|0;if(r[(i[s>>2]|0)+l>>0]|0){h=i[e>>2]|0;u=h+(l*12|0)+4|0;f=i[u>>2]|0;if((f|0)>0){l=h+(l*12|0)|0;h=0;p=0;do{C=i[l>>2]|0;d=C+(h<<3)|0;if((i[(i[i[o>>2]>>2]|0)+(i[d>>2]<<2)>>2]&3|0)!=1){I=d;d=i[I+4>>2]|0;f=C+(p<<3)|0;i[f>>2]=i[I>>2];i[f+4>>2]=d;f=i[u>>2]|0;p=p+1|0}h=h+1|0}while((h|0)<(f|0))}else{h=0;p=0}l=h-p|0;if((l|0)>0)i[u>>2]=f-l;r[(i[s>>2]|0)+(i[c>>2]|0)>>0]=0;u=i[t>>2]|0;h=i[A>>2]|0}a=a+1|0}while((a|0)<(u|0))}if(!h){g=n;return}i[t>>2]=0;g=n;return}function dn(e,t){e=e|0;t=t|0;var n=0,r=0,A=0,s=0,a=0;r=g;s=i[t>>2]|0;A=s>>>2&1|(o[e+16>>0]|0);s=((A+(s>>>5)<<2)+4|0)>>>2;a=e+4|0;en(e,s+(i[a>>2]|0)|0);n=i[a>>2]|0;s=s+n|0;i[a>>2]=s;if(s>>>0>>0)ze(we(1)|0,48,0);e=(i[e>>2]|0)+(n<<2)|0;if(!e){g=r;return n|0}A=i[t>>2]&-9|A<<3;i[e>>2]=A;if((i[t>>2]|0)>>>0>31){A=0;do{i[e+(A<<2)+4>>2]=i[t+(A<<2)+4>>2];A=A+1|0}while((A|0)<((i[t>>2]|0)>>>5|0));A=i[e>>2]|0}if(!(A&8)){g=r;return n|0}s=A>>>5;t=t+(s<<2)+4|0;if(!(A&4)){i[e+(s<<2)+4>>2]=i[t>>2];g=r;return n|0}else{c[e+(s<<2)+4>>2]=+c[t>>2];g=r;return n|0}return 0}function In(e){e=e|0;var t=0,n=0,A=0,o=0,s=0,a=0;t=g;g=g+16|0;o=t;bt(e);i[e>>2]=3424;i[e+684>>2]=i[719];i[e+688>>2]=i[747];i[e+692>>2]=i[785];u[e+696>>3]=+u[411];r[e+704>>0]=r[2652]|0;r[e+705>>0]=r[2724]|0;r[e+706>>0]=r[2804]|0;r[e+707>>0]=1;i[e+708>>2]=0;i[e+712>>2]=0;i[e+716>>2]=0;i[e+720>>2]=1;r[e+724>>0]=1;n=e+732|0;a=e+544|0;i[e+760>>2]=0;i[e+764>>2]=0;i[e+768>>2]=0;i[e+776>>2]=0;i[e+780>>2]=0;i[e+784>>2]=0;i[e+792>>2]=0;i[e+796>>2]=0;i[e+800>>2]=0;s=e+804|0;i[n+0>>2]=0;i[n+4>>2]=0;i[n+8>>2]=0;i[n+12>>2]=0;i[n+16>>2]=0;i[n+20>>2]=0;i[s>>2]=a;s=e+808|0;i[s>>2]=0;i[e+812>>2]=0;i[e+816>>2]=0;n=e+824|0;i[n+0>>2]=0;i[n+4>>2]=0;i[n+8>>2]=0;i[n+12>>2]=0;i[n+16>>2]=0;i[n+20>>2]=0;i[e+852>>2]=s;Pn(e+856|0,1);s=e+868|0;n=e+892|0;i[e+920>>2]=0;i[e+924>>2]=0;i[s+0>>2]=0;i[s+4>>2]=0;i[s+8>>2]=0;i[s+12>>2]=0;i[s+16>>2]=0;i[n+0>>2]=0;i[n+4>>2]=0;i[n+8>>2]=0;i[n+12>>2]=0;i[n+16>>2]=0;i[n+20>>2]=0;n=o+4|0;i[n>>2]=0;s=o+8|0;i[s>>2]=2;A=Ur(0,8)|0;i[o>>2]=A;if((A|0)==0?(i[(je()|0)>>2]|0)==12:0)ze(we(1)|0,48,0);i[A>>2]=-2;i[n>>2]=1;r[e+560>>0]=1;i[e+928>>2]=un(a,o,0)|0;r[e+536>>0]=0;if(!A){g=t;return}i[n>>2]=0;Tr(A);i[o>>2]=0;i[s>>2]=0;g=t;return}function En(e){e=e|0;var t=0;t=g;Bn(e);ur(e);g=t;return}function Bn(e){e=e|0;var t=0,n=0,r=0;t=g;i[e>>2]=3424;n=e+904|0;r=i[n>>2]|0;if(r){i[e+908>>2]=0;Tr(r);i[n>>2]=0;i[e+912>>2]=0}n=e+892|0;r=i[n>>2]|0;if(r){i[e+896>>2]=0;Tr(r);i[n>>2]=0;i[e+900>>2]=0}n=e+876|0;r=i[n>>2]|0;if(r){i[e+880>>2]=0;Tr(r);i[n>>2]=0;i[e+884>>2]=0}n=e+856|0;r=i[n>>2]|0;if(r){i[e+860>>2]=0;Tr(r);i[n>>2]=0;i[e+864>>2]=0}r=e+836|0;n=i[r>>2]|0;if(n){i[e+840>>2]=0;Tr(n);i[r>>2]=0;i[e+844>>2]=0}n=e+824|0;r=i[n>>2]|0;if(r){i[e+828>>2]=0;Tr(r);i[n>>2]=0;i[e+832>>2]=0}n=e+808|0;r=i[n>>2]|0;if(r){i[e+812>>2]=0;Tr(r);i[n>>2]=0;i[e+816>>2]=0}Ln(e+760|0);n=e+744|0;r=i[n>>2]|0;if(r){i[e+748>>2]=0;Tr(r);i[n>>2]=0;i[e+752>>2]=0}n=e+732|0;r=i[n>>2]|0;if(!r){St(e);g=t;return}i[e+736>>2]=0;Tr(r);i[n>>2]=0;i[e+740>>2]=0;St(e);g=t;return}function yn(e,t,n){e=e|0;t=t|0;n=n|0;var A=0,o=0,s=0,a=0,c=0,u=0;A=g;g=g+32|0;s=A+12|0;c=A+8|0;u=A+16|0;o=A+4|0;a=A;r[u>>0]=r[t>>0]|0;r[s+0>>0]=r[u+0>>0]|0;n=kt(e,s,n)|0;i[c>>2]=n;An(e+876|0,n,0);An(e+904|0,n,0);if(!(r[e+724>>0]|0)){g=A;return n|0}u=e+808|0;t=n<<1;i[o>>2]=t;i[s+0>>2]=i[o+0>>2];On(u,s,0);i[a>>2]=t|1;i[s+0>>2]=i[a+0>>2];On(u,s,0);Tn(e+760|0,c);An(e+744|0,n,0);Un(e+824|0,n);g=A;return n|0}function mn(e,t,n,A){e=e|0;t=t|0;n=n|0;A=A|0;var s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0,d=0,I=0,E=0,B=0,y=0,m=0,Q=0;c=g;g=g+32|0;s=c+4|0;d=c;f=c+16|0;i[s>>2]=0;a=s+4|0;i[a>>2]=0;u=s+8|0;i[u>>2]=0;I=r[2608]|0;r[e>>0]=I;l=t+724|0;n=(o[l>>0]&(n&1)|0)!=0;if(n){B=t+308|0;Q=i[B>>2]|0;if((Q|0)>0){E=t+304|0;I=t+876|0;y=0;do{m=i[(i[E>>2]|0)+(y<<2)>>2]>>1;i[d>>2]=m;m=(i[I>>2]|0)+m|0;if(!(r[m>>0]|0)){r[m>>0]=1;an(s,d);Q=i[B>>2]|0}y=y+1|0}while((y|0)<(Q|0))}d=(Qn(t,A)|0)&1^1;r[e>>0]=d;A=r[2608]|0}else{A=I;d=I}Q=A&255;if(!((Q>>>1^1)&d<<24>>24==A<<24>>24|Q&2&(d&255))){if((i[t+44>>2]|0)>0)Oe(3760)|0}else{qt(f,t);d=r[f>>0]|0;r[e>>0]=d}m=r[2608]|0;Q=m&255;if((((Q>>>1^1)&d<<24>>24==m<<24>>24|Q&2&(d&255)|0)!=0?(r[t+707>>0]|0)!=0:0)?(C=(i[t+736>>2]|0)+-1|0,(C|0)>0):0){e=t+732|0;f=t+4|0;do{A=i[e>>2]|0;B=i[A+(C<<2)>>2]|0;y=C+-1|0;m=i[A+(y<<2)>>2]|0;C=i[f>>2]|0;e:do{if((B|0)>1){I=r[2616]|0;d=I&255;E=d&2;d=d>>>1^1;Q=y;while(1){m=o[C+(m>>1)>>0]^m&1;y=B+-1|0;if(!((m&255)<<24>>24==I<<24>>24&d|E&m))break e;B=Q+-1|0;m=i[A+(B<<2)>>2]|0;if((y|0)>1){Q=B;B=y}else{Q=B;B=y;p=20;break}}}else{Q=y;p=20}}while(0);if((p|0)==20){p=0;r[C+(m>>1)>>0]=(m&1^1)&255^1}C=Q-B|0}while((C|0)>0)}if(n?(h=i[a>>2]|0,(h|0)>0):0){p=i[s>>2]|0;n=t+876|0;f=0;do{e=i[p+(f<<2)>>2]|0;r[(i[n>>2]|0)+e>>0]=0;if(r[l>>0]|0)Yn(t,e);f=f+1|0}while((f|0)<(h|0))}t=i[s>>2]|0;if(!t){g=c;return}i[a>>2]=0;Tr(t);i[s>>2]=0;i[u>>2]=0;g=c;return}function Qn(e,t){e=e|0;t=t|0;var n=0,A=0,o=0,s=0,a=0,c=0,l=0,p=0,f=0,C=0,d=0,I=0,E=0,B=0,y=0,m=0,Q=0,w=0,v=0,b=0,D=0,S=0,k=0,_=0,F=0,M=0,N=0,R=0,K=0;c=g;g=g+16|0;s=c;if(!(Jt(e)|0)){N=0;g=c;return N|0}a=e+724|0;if(!(r[a>>0]|0)){N=1;g=c;return N|0}Q=e+924|0;y=e+872|0;m=e+868|0;B=e+860|0;d=e+680|0;w=e+824|0;o=e+828|0;p=e+836|0;v=e+904|0;b=e+332|0;n=e+44|0;D=e+704|0;k=e+706|0;_=e+696|0;f=e+556|0;C=e+548|0;S=e+876|0;I=e+920|0;E=e+284|0;e:while(1){if(((i[Q>>2]|0)<=0?(i[I>>2]|0)>=(i[E>>2]|0):0)?(i[o>>2]|0)<=0:0)break;kn(e);M=i[y>>2]|0;N=i[m>>2]|0;F=M-N|0;if((M|0)<(N|0))F=(i[B>>2]|0)+F|0;if(!((F|0)<=0?(i[I>>2]|0)>=(i[E>>2]|0):0))l=11;if((l|0)==11?(l=0,!(_n(e,1)|0)):0){l=12;break}N=i[o>>2]|0;if(r[d>>0]|0){l=15;break}if(!N)continue;else F=0;while(1){K=i[w>>2]|0;M=i[K>>2]|0;R=i[K+(N+-1<<2)>>2]|0;i[K>>2]=R;N=i[p>>2]|0;i[N+(R<<2)>>2]=0;i[N+(M<<2)>>2]=-1;N=(i[o>>2]|0)+-1|0;i[o>>2]=N;if((N|0)>1)jn(w,0);if(r[d>>0]|0)continue e;if((r[(i[v>>2]|0)+M>>0]|0)==0?(R=r[(i[b>>2]|0)+M>>0]|0,N=r[2624]|0,K=N&255,((K>>>1^1)&R<<24>>24==N<<24>>24|R&2&K|0)!=0):0){if((i[n>>2]|0)>1&((F|0)%100|0|0)==0){i[s>>2]=i[o>>2];Te(3504,s|0)|0}if(r[D>>0]|0){K=(i[S>>2]|0)+M|0;N=r[K>>0]|0;r[K>>0]=1;if(!(Mn(e,M)|0)){l=29;break e}r[(i[S>>2]|0)+M>>0]=N<<24>>24!=0&1}if((((r[k>>0]|0)!=0?(R=r[(i[b>>2]|0)+M>>0]|0,N=r[2624]|0,K=N&255,((K>>>1^1)&R<<24>>24==N<<24>>24|R&2&K|0)!=0):0)?(r[(i[S>>2]|0)+M>>0]|0)==0:0)?!(Nn(e,M)|0):0){l=35;break e}if(+((i[f>>2]|0)>>>0)>+u[_>>3]*+((i[C>>2]|0)>>>0))YA[i[(i[e>>2]|0)+8>>2]&31](e)}N=i[o>>2]|0;if(!N)continue e;else F=F+1|0}}do{if((l|0)==12)r[e+492>>0]=0;else if((l|0)==15){d=i[e+824>>2]|0;if((N|0)<=0){if(!d)break}else{E=i[p>>2]|0;I=0;do{i[E+(i[d+(I<<2)>>2]<<2)>>2]=-1;I=I+1|0}while((I|0)<(i[o>>2]|0))}i[o>>2]=0}else if((l|0)==29)r[e+492>>0]=0;else if((l|0)==35)r[e+492>>0]=0}while(0);if(!t){if(+((i[f>>2]|0)>>>0)>+u[e+96>>3]*+((i[C>>2]|0)>>>0))YA[i[(i[e>>2]|0)+8>>2]&31](e)}else{t=e+744|0;f=i[t>>2]|0;if(f){i[e+748>>2]=0;Tr(f);i[t>>2]=0;i[e+752>>2]=0}Gn(e+760|0,1);t=e+808|0;f=i[t>>2]|0;if(f){i[e+812>>2]=0;Tr(f);i[t>>2]=0;i[e+816>>2]=0}f=e+824|0;t=i[f>>2]|0;if((i[o>>2]|0)<=0){if(t)l=48}else{l=i[p>>2]|0;p=0;do{i[l+(i[t+(p<<2)>>2]<<2)>>2]=-1;p=p+1|0}while((p|0)<(i[o>>2]|0));l=48}if((l|0)==48){i[o>>2]=0;Tr(t);i[f>>2]=0;i[e+832>>2]=0}Jn(e+856|0,1);r[a>>0]=0;r[e+536>>0]=1;r[e+560>>0]=0;i[e+728>>2]=i[e+540>>2];Gt(e);YA[i[(i[e>>2]|0)+8>>2]&31](e)}if((i[n>>2]|0)>0?(A=i[e+736>>2]|0,(A|0)>0):0){u[h>>3]=+(A<<2>>>0)*9.5367431640625e-7;i[s>>2]=i[h>>2];i[s+4>>2]=i[h+4>>2];Te(3528,s|0)|0}K=(r[e+492>>0]|0)!=0;g=c;return K|0}function wn(e,t){e=e|0;t=t|0;var n=0,A=0,o=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0;n=g;g=g+16|0;o=n;a=e+256|0;c=e+260|0;s=i[c>>2]|0;if((r[e+705>>0]|0)!=0?vn(e,t)|0:0){f=1;g=n;return f|0}if(!(_t(e,t)|0)){f=0;g=n;return f|0}if(!(r[e+724>>0]|0)){f=1;g=n;return f|0}t=i[c>>2]|0;if((t|0)!=(s+1|0)){f=1;g=n;return f|0}f=i[(i[a>>2]|0)+(t+-1<<2)>>2]|0;i[o>>2]=f;l=(i[e+544>>2]|0)+(f<<2)|0;Hn(e+856|0,f);if((i[l>>2]|0)>>>0<=31){f=1;g=n;return f|0}u=e+760|0;c=e+808|0;a=e+744|0;s=e+924|0;t=e+824|0;h=e+840|0;e=e+836|0;p=0;do{f=l+(p<<2)+4|0;qn((i[u>>2]|0)+((i[f>>2]>>1)*12|0)|0,o);C=(i[c>>2]|0)+(i[f>>2]<<2)|0;i[C>>2]=(i[C>>2]|0)+1;r[(i[a>>2]|0)+(i[f>>2]>>1)>>0]=1;i[s>>2]=(i[s>>2]|0)+1;f=i[f>>2]>>1;if((i[h>>2]|0)>(f|0)?(A=i[(i[e>>2]|0)+(f<<2)>>2]|0,(A|0)>-1):0)jn(t,A);p=p+1|0}while((p|0)<((i[l>>2]|0)>>>5|0));A=1;g=n;return A|0}function vn(e,t){e=e|0;t=t|0;var n=0,A=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0,d=0,I=0;c=g;g=g+16|0;s=c+8|0;a=c+4|0;A=c;i[a>>2]=i[e+284>>2];an(e+292|0,a);a=t+4|0;l=i[a>>2]|0;e:do{if((l|0)>0){n=e+332|0;u=0;while(1){h=i[(i[t>>2]|0)+(u<<2)>>2]|0;f=o[(i[n>>2]|0)+(h>>1)>>0]|0;C=f^h&1;p=C&255;I=r[2608]|0;d=I&255;if(p<<24>>24==I<<24>>24&(d>>>1^1)|d&2&C)break;d=r[2616]|0;I=d&255;if(!((I>>>1^1)&p<<24>>24==d<<24>>24|f&2&I)){i[A>>2]=h^1;i[s+0>>2]=i[A+0>>2];Ft(e,s,-1);l=i[a>>2]|0}u=u+1|0;if((u|0)>=(l|0))break e}Pt(e,0);I=1;g=c;return I|0}}while(0);I=(Mt(e)|0)!=-1;Pt(e,0);g=c;return I|0}function bn(e,t){e=e|0;t=t|0;var n=0,A=0,o=0,s=0,a=0,c=0,u=0,l=0,h=0;n=g;g=g+16|0;o=n;A=(i[e+544>>2]|0)+(t<<2)|0;if(!(r[e+724>>0]|0)){Kt(e,t);g=n;return}if((i[A>>2]|0)>>>0<=31){Kt(e,t);g=n;return}a=e+808|0;c=e+776|0;s=e+792|0;u=0;do{l=A+(u<<2)+4|0;h=(i[a>>2]|0)+(i[l>>2]<<2)|0;i[h>>2]=(i[h>>2]|0)+-1;Yn(e,i[l>>2]>>1);l=i[l>>2]>>1;i[o>>2]=l;l=(i[c>>2]|0)+l|0;if(!(r[l>>0]|0)){r[l>>0]=1;an(s,o)}u=u+1|0}while((u|0)<((i[A>>2]|0)>>>5|0));Kt(e,t);g=n;return}function Dn(e,t,n){e=e|0;t=t|0;n=n|0;var A=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0,d=0,I=0;A=g;g=g+16|0;a=A+4|0;s=A;u=i[e+544>>2]|0;c=u+(t<<2)|0;Hn(e+856|0,t);if((i[c>>2]&-32|0)==64){bn(e,t);f=i[n>>2]|0;n=i[c>>2]|0;e:do{if(n>>>0>31){l=n>>>5;h=0;while(1){p=h+1|0;if((i[c+(h<<2)+4>>2]|0)==(f|0)){p=h;break e}if((p|0)<(l|0))h=p;else break}}else{l=0;p=0}}while(0);h=l+-1|0;if((p|0)<(h|0))do{n=p;p=p+1|0;i[c+(n<<2)+4>>2]=i[c+(p<<2)+4>>2];n=i[c>>2]|0;l=n>>>5;h=l+-1|0}while((p|0)<(h|0));if(n&8){i[c+(h<<2)+4>>2]=i[c+(l<<2)+4>>2];n=i[c>>2]|0}l=n+-32|0;i[c>>2]=l;l=l>>>5;if(!l){l=0;n=0}else{n=0;h=0;do{n=1<<((i[c+(h<<2)+4>>2]|0)>>>1&31)|n;h=h+1|0}while((h|0)<(l|0))}i[c+(l<<2)+4>>2]=n}else{Rt(e,t,1);n=i[n>>2]|0;h=i[c>>2]|0;e:do{if(h>>>0>31){l=h>>>5;p=0;while(1){f=p+1|0;if((i[c+(p<<2)+4>>2]|0)==(n|0)){f=p;break e}if((f|0)<(l|0))p=f;else break}}else{l=0;f=0}}while(0);p=l+-1|0;if((f|0)<(p|0))do{h=f;f=f+1|0;i[c+(h<<2)+4>>2]=i[c+(f<<2)+4>>2];h=i[c>>2]|0;l=h>>>5;p=l+-1|0}while((f|0)<(p|0));if(h&8){i[c+(p<<2)+4>>2]=i[c+(l<<2)+4>>2];h=i[c>>2]|0}p=h+-32|0;i[c>>2]=p;p=p>>>5;if(!p){p=0;l=0}else{l=0;h=0;do{l=1<<((i[c+(h<<2)+4>>2]|0)>>>1&31)|l;h=h+1|0}while((h|0)<(p|0))}i[c+(p<<2)+4>>2]=l;Nt(e,t);l=n>>1;h=i[e+760>>2]|0;p=h+(l*12|0)|0;h=h+(l*12|0)+4|0;f=i[h>>2]|0;e:do{if((f|0)>0){I=i[p>>2]|0;C=0;while(1){d=C+1|0;if((i[I+(C<<2)>>2]|0)==(t|0))break e;if((d|0)<(f|0))C=d;else{C=d;break}}}else C=0}while(0);f=f+-1|0;if((C|0)<(f|0)){p=i[p>>2]|0;do{f=C;C=C+1|0;i[p+(f<<2)>>2]=i[p+(C<<2)>>2];f=(i[h>>2]|0)+-1|0}while((C|0)<(f|0))}i[h>>2]=f;I=(i[e+808>>2]|0)+(n<<2)|0;i[I>>2]=(i[I>>2]|0)+-1;Yn(e,l)}if((i[c>>2]&-32|0)!=32){I=1;g=A;return I|0}u=i[u+(t+1<<2)>>2]|0;c=o[(i[e+332>>2]|0)+(u>>1)>>0]|0;I=c^u&1;t=I&255;C=r[2624]|0;d=C&255;if(!(t<<24>>24==C<<24>>24&(d>>>1^1)|d&2&I)){d=r[2616]|0;I=d&255;if((I>>>1^1)&t<<24>>24==d<<24>>24|c&2&I){I=0;g=A;return I|0}}else{i[s>>2]=u;i[a+0>>2]=i[s+0>>2];Ft(e,a,-1)}I=(Mt(e)|0)==-1;g=A;return I|0}function Sn(e,t,n,r,A){e=e|0;t=t|0;n=n|0;r=r|0;A=A|0;var o=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0;o=g;g=g+16|0;a=o+4|0;s=o;p=e+708|0;i[p>>2]=(i[p>>2]|0)+1;if(i[A>>2]|0)i[A+4>>2]=0;c=(i[t>>2]|0)>>>5>>>0<(i[n>>2]|0)>>>5>>>0;e=c?n:t;t=c?t:n;c=i[t>>2]|0;e:do{if(c>>>0>31){n=0;t:while(1){u=i[t+(n<<2)+4>>2]|0;n:do{if((u>>1|0)!=(r|0)){l=i[e>>2]|0;r:do{if(l>>>0>31){h=0;while(1){p=i[e+(h<<2)+4>>2]|0;h=h+1|0;if((u^p)>>>0<2)break;if((h|0)>=(l>>>5|0))break r}if((p|0)==(u^1|0)){A=0;break t}else break n}}while(0);i[a>>2]=u;sn(A,a);c=i[t>>2]|0}}while(0);n=n+1|0;if((n|0)>=(c>>>5|0))break e}g=o;return A|0}}while(0);n=i[e>>2]|0;if(n>>>0<=31){p=1;g=o;return p|0}a=0;do{t=i[e+(a<<2)+4>>2]|0;if((t>>1|0)!=(r|0)){i[s>>2]=t;sn(A,s);n=i[e>>2]|0}a=a+1|0}while((a|0)<(n>>>5|0));A=1;g=o;return A|0}function kn(e){e=e|0;var t=0,n=0,A=0,o=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0,d=0,I=0,E=0,B=0,y=0,m=0;t=g;c=e+924|0;if(!(i[c>>2]|0)){g=t;return}s=e+856|0;n=e+872|0;A=e+868|0;a=e+860|0;o=e+544|0;u=0;while(1){m=i[n>>2]|0;l=i[A>>2]|0;h=m-l|0;if((m|0)<(l|0))h=(i[a>>2]|0)+h|0;if((u|0)>=(h|0))break;h=(i[o>>2]|0)+(i[(i[s>>2]|0)+(((l+u|0)%(i[a>>2]|0)|0)<<2)>>2]<<2)|0;l=i[h>>2]|0;if(!(l&3))i[h>>2]=l&-4|2;u=u+1|0}u=e+540|0;C=i[u>>2]|0;if((C|0)>0){h=e+744|0;p=e+776|0;l=e+760|0;e=e+804|0;f=0;do{if(r[(i[h>>2]|0)+f>>0]|0){d=(i[p>>2]|0)+f|0;if(r[d>>0]|0){I=i[l>>2]|0;C=I+(f*12|0)+4|0;B=i[C>>2]|0;if((B|0)>0){I=i[I+(f*12|0)>>2]|0;y=0;E=0;do{m=i[I+(y<<2)>>2]|0;if((i[(i[i[e>>2]>>2]|0)+(m<<2)>>2]&3|0)!=1){i[I+(E<<2)>>2]=m;B=i[C>>2]|0;E=E+1|0}y=y+1|0}while((y|0)<(B|0))}else{y=0;E=0}I=y-E|0;if((I|0)>0)i[C>>2]=B-I;r[d>>0]=0}d=i[l>>2]|0;C=d+(f*12|0)+4|0;E=i[C>>2]|0;if((E|0)>0){d=d+(f*12|0)|0;I=0;do{B=i[(i[d>>2]|0)+(I<<2)>>2]|0;if(!(i[(i[o>>2]|0)+(B<<2)>>2]&3)){Hn(s,B);E=(i[o>>2]|0)+(i[(i[d>>2]|0)+(I<<2)>>2]<<2)|0;i[E>>2]=i[E>>2]&-4|2;E=i[C>>2]|0}I=I+1|0}while((I|0)<(E|0))}r[(i[h>>2]|0)+f>>0]=0;C=i[u>>2]|0}f=f+1|0}while((f|0)<(C|0));u=0}else u=0;while(1){m=i[n>>2]|0;l=i[A>>2]|0;h=m-l|0;if((m|0)<(l|0))h=(i[a>>2]|0)+h|0;if((u|0)>=(h|0))break;l=(i[o>>2]|0)+(i[(i[s>>2]|0)+(((l+u|0)%(i[a>>2]|0)|0)<<2)>>2]<<2)|0;h=i[l>>2]|0;if((h&3|0)==2)i[l>>2]=h&-4;u=u+1|0}i[c>>2]=0;g=t;return}function _n(e,t){e=e|0;t=t|0;var n=0,A=0,o=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0,d=0,I=0,E=0,B=0,y=0,m=0,Q=0,w=0,v=0,b=0,D=0,S=0,k=0,_=0,F=0,M=0,N=0,R=0,K=0,x=0,P=0,L=0,O=0,T=0,U=0;n=g;g=g+16|0;l=n;Q=n+12|0;o=e+856|0;u=e+872|0;C=e+868|0;a=e+860|0;B=e+680|0;A=e+920|0;s=e+284|0;E=e+280|0;d=e+544|0;I=e+928|0;p=e+44|0;h=e+776|0;y=e+692|0;f=e+804|0;c=e+760|0;S=0;F=0;k=0;e:while(1){_=i[C>>2]|0;do{b=i[u>>2]|0;D=(b|0)<(_|0);b=b-_|0;if(D)M=(i[a>>2]|0)+b|0;else M=b;if((M|0)<=0?(i[A>>2]|0)>=(i[s>>2]|0):0){A=1;a=53;break e}if(r[B>>0]|0){a=8;break e}if(D)b=(i[a>>2]|0)+b|0;if((b|0)==0?(v=i[A>>2]|0,(v|0)<(i[s>>2]|0)):0){i[A>>2]=v+1;i[(i[d>>2]|0)+((i[I>>2]|0)+1<<2)>>2]=i[(i[E>>2]|0)+(v<<2)>>2];b=(i[d>>2]|0)+(i[I>>2]<<2)|0;D=(i[b>>2]|0)>>>5;if(!D){D=0;M=0}else{M=0;_=0;do{M=1<<((i[b+(_<<2)+4>>2]|0)>>>1&31)|M;_=_+1|0}while((_|0)<(D|0))}i[b+(D<<2)+4>>2]=M;Hn(o,i[I>>2]|0);_=i[C>>2]|0}b=i[(i[o>>2]|0)+(_<<2)>>2]|0;_=_+1|0;K=i[a>>2]|0;_=(_|0)==(K|0)?0:_;i[C>>2]=_;M=i[d>>2]|0;D=M+(b<<2)|0;R=i[D>>2]|0}while((R&3|0)!=0);if(t?(i[p>>2]|0)>1:0){N=S+1|0;if(!((S|0)%1e3|0)){R=i[u>>2]|0;i[l>>2]=R-_+((R|0)<(_|0)?K:0);i[l+4>>2]=k;i[l+8>>2]=F;Te(3440,l|0)|0;R=i[D>>2]|0;S=N}else S=N}_=M+(b+1<<2)|0;M=i[_>>2]>>1;if(R>>>0>63){N=i[c>>2]|0;R=R>>>5;K=1;do{U=i[D+(K<<2)+4>>2]>>1;M=(i[N+(U*12|0)+4>>2]|0)<(i[N+(M*12|0)+4>>2]|0)?U:M;K=K+1|0}while((K|0)<(R|0))}R=(i[h>>2]|0)+M|0;if(r[R>>0]|0){K=i[c>>2]|0;N=K+(M*12|0)+4|0;L=i[N>>2]|0;if((L|0)>0){K=i[K+(M*12|0)>>2]|0;P=0;x=0;do{O=i[K+(P<<2)>>2]|0;if((i[(i[i[f>>2]>>2]|0)+(O<<2)>>2]&3|0)!=1){i[K+(x<<2)>>2]=O;L=i[N>>2]|0;x=x+1|0}P=P+1|0}while((P|0)<(L|0))}else{P=0;x=0}K=P-x|0;if((K|0)>0)i[N>>2]=L-K;r[R>>0]=0}R=i[c>>2]|0;N=i[R+(M*12|0)>>2]|0;R=R+(M*12|0)+4|0;if((i[R>>2]|0)>0)K=0;else continue;while(1){O=i[D>>2]|0;if(O&3)continue e;x=i[N+(K<<2)>>2]|0;P=i[d>>2]|0;T=P+(x<<2)|0;L=i[T>>2]|0;t:do{if(((!((L&3|0)!=0|(x|0)==(b|0))?(U=i[y>>2]|0,w=L>>>5,(U|0)==-1|(w|0)<(U|0)):0)?(m=O>>>5,w>>>0>=m>>>0):0)?(i[D+(m<<2)+4>>2]&~i[T+(w<<2)+4>>2]|0)==0:0){P=P+(x+1<<2)|0;do{if(O>>>0>31){if(L>>>0>31){T=-2;L=0}else break t;while(1){O=i[_+(L<<2)>>2]|0;n:do{if((T|0)==-2){U=0;while(1){T=i[P+(U<<2)>>2]|0;if((O|0)==(T|0)){O=-2;break n}U=U+1|0;if((O|0)==(T^1|0))break n;if(U>>>0>=w>>>0)break t}}else{U=0;while(1){if((O|0)==(i[P+(U<<2)>>2]|0)){O=T;break n}U=U+1|0;if(U>>>0>=w>>>0)break t}}}while(0);L=L+1|0;if(L>>>0>=m>>>0)break;else T=O}if((O|0)==-2)break;else if((O|0)==-1)break t;i[Q>>2]=O^1;i[l+0>>2]=i[Q+0>>2];if(!(Dn(e,x,l)|0)){A=0;a=53;break e}F=F+1|0;K=(((O>>1|0)==(M|0))<<31>>31)+K|0;break t}}while(0);bn(e,x);k=k+1|0}}while(0);K=K+1|0;if((K|0)>=(i[R>>2]|0))continue e}}if((a|0)==8){Jn(o,0);i[A>>2]=i[s>>2];U=1;g=n;return U|0}else if((a|0)==53){g=n;return A|0}return 0}function Fn(e,t,n){e=e|0;t=t|0;n=n|0;var A=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0,d=0,I=0,E=0;s=g;g=g+16|0;A=s+12|0;l=s+8|0;c=s+4|0;a=s;u=(i[e+544>>2]|0)+(n<<2)|0;if(i[u>>2]&3){d=1;g=s;return d|0}if(xt(e,u)|0){d=1;g=s;return d|0}i[l>>2]=i[e+284>>2];an(e+292|0,l);f=i[u>>2]|0;if(f>>>0>31){l=e+332|0;h=0;p=-2;do{C=i[u+(h<<2)+4>>2]|0;d=C>>1;if((d|0)!=(t|0)?(d=(o[(i[l>>2]|0)+d>>0]|0)^C&1,E=r[2616]|0,I=E&255,((d&255)<<24>>24==E<<24>>24&(I>>>1^1)|I&2&d|0)==0):0){i[c>>2]=C^1;i[A+0>>2]=i[c+0>>2];Ft(e,A,-1);f=i[u>>2]|0}else p=C;h=h+1|0}while((h|0)<(f>>>5|0))}else p=-2;E=(Mt(e)|0)==-1;Pt(e,0);if(!E){E=e+712|0;i[E>>2]=(i[E>>2]|0)+1;i[a>>2]=p;i[A+0>>2]=i[a+0>>2];if(!(Dn(e,n,A)|0)){E=0;g=s;return E|0}}E=1;g=s;return E|0}function Mn(e,t){e=e|0;t=t|0;var n=0,A=0,o=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0;n=g;s=(i[e+776>>2]|0)+t|0;A=e+760|0;if(r[s>>0]|0){c=i[A>>2]|0;o=c+(t*12|0)+4|0;h=i[o>>2]|0;if((h|0)>0){a=e+804|0;c=i[c+(t*12|0)>>2]|0;l=0;u=0;do{p=i[c+(l<<2)>>2]|0;if((i[(i[i[a>>2]>>2]|0)+(p<<2)>>2]&3|0)!=1){i[c+(u<<2)>>2]=p;h=i[o>>2]|0;u=u+1|0}l=l+1|0}while((l|0)<(h|0))}else{l=0;u=0}a=l-u|0;if((a|0)>0)i[o>>2]=h-a;r[s>>0]=0}o=i[A>>2]|0;h=r[(i[e+332>>2]|0)+t>>0]|0;l=r[2624]|0;p=l&255;if(!((p>>>1^1)&h<<24>>24==l<<24>>24|h&2&p)){p=1;g=n;return p|0}A=o+(t*12|0)+4|0;s=i[A>>2]|0;if(!s){p=1;g=n;return p|0}e:do{if((s|0)>0){o=o+(t*12|0)|0;s=0;while(1){if(!(Fn(e,t,i[(i[o>>2]|0)+(s<<2)>>2]|0)|0)){e=0;break}s=s+1|0;if((s|0)>=(i[A>>2]|0))break e}g=n;return e|0}}while(0);p=_n(e,0)|0;g=n;return p|0}function Nn(e,t){e=e|0;t=t|0;var n=0,A=0,o=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0,d=0,I=0,E=0,B=0,y=0,m=0,Q=0,w=0,v=0,b=0,D=0,S=0,k=0,_=0,F=0,M=0,N=0,K=0,x=0,P=0,L=0,O=0,T=0,U=0,Y=0,j=0,G=0,J=0,H=0,q=0,z=0,W=0,X=0,V=0;n=g;g=g+48|0;I=n+36|0;d=n+32|0;E=n+28|0;B=n+24|0;A=n+12|0;o=n;h=(i[e+776>>2]|0)+t|0;l=e+760|0;if(r[h>>0]|0){C=i[l>>2]|0;p=C+(t*12|0)+4|0;w=i[p>>2]|0;if((w|0)>0){f=e+804|0;C=i[C+(t*12|0)>>2]|0;m=0;y=0;do{v=i[C+(m<<2)>>2]|0;if((i[(i[i[f>>2]>>2]|0)+(v<<2)>>2]&3|0)!=1){i[C+(y<<2)>>2]=v;w=i[p>>2]|0;y=y+1|0}m=m+1|0}while((m|0)<(w|0))}else{m=0;y=0}f=m-y|0;if((f|0)>0)i[p>>2]=w-f;r[h>>0]=0}y=i[l>>2]|0;m=y+(t*12|0)|0;i[A>>2]=0;h=A+4|0;i[h>>2]=0;p=A+8|0;i[p>>2]=0;i[o>>2]=0;C=o+4|0;i[C>>2]=0;f=o+8|0;i[f>>2]=0;y=y+(t*12|0)+4|0;e:do{if((i[y>>2]|0)>0){w=e+544|0;D=t<<1;b=0;do{S=(i[m>>2]|0)+(b<<2)|0;_=(i[w>>2]|0)+(i[S>>2]<<2)|0;V=i[_>>2]|0;v=V>>>5;t:do{if(V>>>0>31){F=0;while(1){k=F+1|0;if((i[_+(F<<2)+4>>2]|0)==(D|0)){k=F;break t}if((k|0)<(v|0))F=k;else break}}else k=0}while(0);qn((k|0)<(v|0)?A:o,S);b=b+1|0;v=i[y>>2]|0}while((b|0)<(v|0));w=i[h>>2]|0;D=(w|0)>0;if(D){S=i[C>>2]|0;x=(S|0)>0;K=e+544|0;k=i[A>>2]|0;b=i[o>>2]|0;_=e+708|0;N=e+684|0;M=e+688|0;U=0;F=0;while(1){if(x){L=k+(F<<2)|0;P=i[K>>2]|0;O=i[_>>2]|0;T=0;do{G=P+(i[L>>2]<<2)|0;H=P+(i[b+(T<<2)>>2]<<2)|0;O=O+1|0;i[_>>2]=O;Y=(i[G>>2]|0)>>>5>>>0<(i[H>>2]|0)>>>5>>>0;j=Y?H:G;H=Y?G:H;G=j+4|0;Y=H+4|0;j=i[j>>2]|0;J=j>>>5;z=J+-1|0;H=i[H>>2]|0;t:do{if(H>>>0>31){q=0;while(1){V=i[Y+(q<<2)>>2]|0;n:do{if((V>>1|0)!=(t|0)){r:do{if(j>>>0>31){X=0;while(1){W=i[G+(X<<2)>>2]|0;X=X+1|0;if((W^V)>>>0<2)break;if((X|0)>=(J|0))break r}if((W|0)==(V^1|0))break t;else break n}}while(0);z=z+1|0}}while(0);q=q+1|0;if((q|0)>=(H>>>5|0)){Q=28;break}}}else Q=28}while(0);if((Q|0)==28){Q=0;if((U|0)>=((i[N>>2]|0)+v|0)){e=1;break e}V=i[M>>2]|0;if((V|0)!=-1&(z|0)>(V|0)){e=1;break e}else U=U+1|0}T=T+1|0}while((T|0)<(S|0))}F=F+1|0;if((F|0)>=(w|0)){Q=32;break}}}else{D=0;Q=32}}else{w=0;D=0;Q=32}}while(0);e:do{if((Q|0)==32){r[(i[e+904>>2]|0)+t>>0]=1;v=e+380|0;b=(i[v>>2]|0)+t|0;if(r[b>>0]|0){V=e+200|0;X=V;X=aA(i[X>>2]|0,i[X+4>>2]|0,-1,-1)|0;i[V>>2]=X;i[V+4>>2]=R}r[b>>0]=0;b=e+460|0;if(!((i[e+476>>2]|0)>(t|0)?(i[(i[e+472>>2]|0)+(t<<2)>>2]|0)>-1:0))Q=36;if((Q|0)==36?(r[(i[v>>2]|0)+t>>0]|0)!=0:0)on(b,t);Q=e+716|0;i[Q>>2]=(i[Q>>2]|0)+1;Q=i[C>>2]|0;if((w|0)>(Q|0)){b=e+732|0;if((Q|0)>0){B=e+544|0;E=i[o>>2]|0;_=e+736|0;k=0;do{S=(i[B>>2]|0)+(i[E+(k<<2)>>2]<<2)|0;v=i[_>>2]|0;if((i[S>>2]|0)>>>0>31){F=0;M=-1;do{V=S+(F<<2)+4|0;i[I>>2]=i[V>>2];qn(b,I);M=(i[V>>2]>>1|0)==(t|0)?F+v|0:M;F=F+1|0}while((F|0)<((i[S>>2]|0)>>>5|0))}else M=-1;V=i[b>>2]|0;W=V+(M<<2)|0;X=i[W>>2]|0;V=V+(v<<2)|0;i[W>>2]=i[V>>2];i[V>>2]=X;i[d>>2]=(i[S>>2]|0)>>>5;qn(b,d);k=k+1|0}while((k|0)<(Q|0))}i[I>>2]=t<<1;qn(b,I);i[d>>2]=1;qn(b,d)}else{k=e+732|0;if(D){F=e+544|0;_=i[A>>2]|0;v=e+736|0;M=0;do{S=(i[F>>2]|0)+(i[_+(M<<2)>>2]<<2)|0;b=i[v>>2]|0;if((i[S>>2]|0)>>>0>31){N=0;K=-1;do{V=S+(N<<2)+4|0;i[I>>2]=i[V>>2];qn(k,I);K=(i[V>>2]>>1|0)==(t|0)?N+b|0:K;N=N+1|0}while((N|0)<((i[S>>2]|0)>>>5|0))}else K=-1;V=i[k>>2]|0;W=V+(K<<2)|0;X=i[W>>2]|0;V=V+(b<<2)|0;i[W>>2]=i[V>>2];i[V>>2]=X;i[d>>2]=(i[S>>2]|0)>>>5;qn(k,d);M=M+1|0}while((M|0)<(w|0))}i[E>>2]=t<<1|1;qn(k,E);i[B>>2]=1;qn(k,B)}if((i[y>>2]|0)>0){d=0;do{bn(e,i[(i[m>>2]|0)+(d<<2)>>2]|0);d=d+1|0}while((d|0)<(i[y>>2]|0))}d=e+628|0;t:do{if(D){I=e+544|0;m=i[A>>2]|0;b=i[o>>2]|0;if((Q|0)>0)y=0;else{d=0;while(1){d=d+1|0;if((d|0)>=(w|0))break t}}do{B=m+(y<<2)|0;E=0;do{V=i[I>>2]|0;if(Sn(e,V+(i[B>>2]<<2)|0,V+(i[b+(E<<2)>>2]<<2)|0,t,d)|0?!(wn(e,d)|0):0){e=0;break e}E=E+1|0}while((E|0)<(Q|0));y=y+1|0}while((y|0)<(w|0))}}while(0);d=i[l>>2]|0;l=d+(t*12|0)|0;I=i[l>>2]|0;if(I){i[d+(t*12|0)+4>>2]=0;Tr(I);i[l>>2]=0;i[d+(t*12|0)+8>>2]=0}l=e+412|0;t=t<<1;I=i[l>>2]|0;d=I+(t*12|0)+4|0;if((i[d>>2]|0)==0?(u=I+(t*12|0)|0,c=i[u>>2]|0,(c|0)!=0):0){i[d>>2]=0;Tr(c);i[u>>2]=0;i[I+(t*12|0)+8>>2]=0;I=i[l>>2]|0}c=t|1;u=I+(c*12|0)+4|0;if((i[u>>2]|0)==0?(a=I+(c*12|0)|0,s=i[a>>2]|0,(s|0)!=0):0){i[u>>2]=0;Tr(s);i[a>>2]=0;i[I+(c*12|0)+8>>2]=0}e=_n(e,0)|0;b=i[o>>2]|0}}while(0);if(b){i[C>>2]=0;Tr(b);i[o>>2]=0;i[f>>2]=0}o=i[A>>2]|0;if(!o){g=n;return e|0}i[h>>2]=0;Tr(o);i[A>>2]=0;i[p>>2]=0;g=n;return e|0}function Rn(e,t){e=e|0;t=t|0;var n=0,A=0,o=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0,d=0,I=0,E=0;n=g;if(!(r[e+724>>0]|0)){g=n;return}u=e+540|0;if((i[u>>2]|0)>0){a=e+760|0;A=e+804|0;o=e+776|0;c=e+544|0;s=0;do{h=i[a>>2]|0;l=h+(s*12|0)+4|0;f=i[l>>2]|0;if((f|0)>0){h=i[h+(s*12|0)>>2]|0;C=0;p=0;do{d=i[h+(C<<2)>>2]|0;if((i[(i[i[A>>2]>>2]|0)+(d<<2)>>2]&3|0)!=1){i[h+(p<<2)>>2]=d;f=i[l>>2]|0;p=p+1|0}C=C+1|0}while((C|0)<(f|0))}else{C=0;p=0}h=C-p|0;if((h|0)>0)i[l>>2]=f-h;r[(i[o>>2]|0)+s>>0]=0;h=i[a>>2]|0;l=h+(s*12|0)+4|0;if((i[l>>2]|0)>0){d=h+(s*12|0)|0;f=0;do{h=(i[d>>2]|0)+(f<<2)|0;p=i[h>>2]|0;C=i[c>>2]|0;I=C+(p<<2)|0;if(!(i[I>>2]&16)){E=dn(t,I)|0;i[h>>2]=E;i[I>>2]=i[I>>2]|16;i[C+(p+1<<2)>>2]=E}else i[h>>2]=i[C+(p+1<<2)>>2];f=f+1|0}while((f|0)<(i[l>>2]|0))}s=s+1|0}while((s|0)<(i[u>>2]|0))}A=e+856|0;E=i[e+872>>2]|0;o=e+868|0;l=i[o>>2]|0;c=E-l|0;if((E|0)<(l|0))c=(i[e+860>>2]|0)+c|0;e:do{if((c|0)>0){s=e+860|0;a=e+544|0;while(1){u=i[(i[A>>2]|0)+(l<<2)>>2]|0;h=l+1|0;i[o>>2]=(h|0)==(i[s>>2]|0)?0:h;h=i[a>>2]|0;p=h+(u<<2)|0;l=i[p>>2]|0;if(!(l&3)){if(!(l&16)){E=dn(t,p)|0;i[p>>2]=i[p>>2]|16;i[h+(u+1<<2)>>2]=E;u=E}else u=i[h+(u+1<<2)>>2]|0;Hn(A,u)}c=c+-1|0;if((c|0)<=0)break e;l=i[o>>2]|0}}else a=e+544|0}while(0);e=e+928|0;A=i[e>>2]|0;s=i[a>>2]|0;o=s+(A<<2)|0;if(!(i[o>>2]&16)){E=dn(t,o)|0;i[e>>2]=E;i[o>>2]=i[o>>2]|16;i[s+(A+1<<2)>>2]=E;g=n;return}else{i[e>>2]=i[s+(A+1<<2)>>2];g=n;return}}function Kn(e){e=e|0;var t=0,n=0,A=0,o=0,s=0,a=0,c=0,u=0,l=0;s=g;g=g+32|0;u=s;t=s+8|0;n=e+544|0;A=e+548|0;o=e+556|0;a=(i[A>>2]|0)-(i[o>>2]|0)|0;i[t+0>>2]=0;i[t+4>>2]=0;i[t+8>>2]=0;i[t+12>>2]=0;en(t,a);a=t+16|0;c=e+560|0;r[a>>0]=r[c>>0]|0;Rn(e,t);zt(e,t);if((i[e+44>>2]|0)>1){l=i[t+4>>2]<<2;i[u>>2]=i[A>>2]<<2;i[u+4>>2]=l;Te(3608,u|0)|0}r[c>>0]=r[a>>0]|0;a=i[n>>2]|0;if(a)Tr(a);i[n>>2]=i[t>>2];i[A>>2]=i[t+4>>2];i[e+552>>2]=i[t+8>>2];i[o>>2]=i[t+12>>2];g=s;return}function xn(){var e=0,t=0,n=0;e=g;g=g+16|0;t=e;r[2608]=0;r[2616]=1;r[2624]=2;dt(2632,2656,2664,3744,3752);i[658]=160;r[2652]=0;dt(2704,2728,2736,3744,3752);i[676]=160;r[2724]=0;dt(2784,2808,2816,3744,3752);i[696]=160;r[2804]=1;dt(2848,2880,2888,3744,3736);i[712]=280;n=2868|0;i[n>>2]=-2147483648;i[n+4>>2]=2147483647;i[719]=0;dt(2960,2992,3e3,3744,3736);i[740]=280;n=2980|0;i[n>>2]=-1;i[n+4>>2]=2147483647;i[747]=20;dt(3112,3144,3152,3744,3736);i[778]=280;n=3132|0;i[n>>2]=-1;i[n+4>>2]=2147483647;i[785]=1e3;dt(3240,3296,3312,3744,3720);i[810]=2168;u[408]=0.0;u[409]=w;r[3280]=0;r[3281]=0;A[1641]=A[t+0>>1]|0;A[1642]=A[t+2>>1]|0;A[1643]=A[t+4>>1]|0;u[411]=.5;g=e;return}function Pn(e,t){e=e|0;t=t|0;var n=0,r=0,A=0,o=0;n=g;i[e>>2]=0;r=e+4|0;i[r>>2]=0;A=e+8|0;i[A>>2]=0;if((t|0)<=0){g=n;return}o=t+1&-2;o=(o|0)>2?o:2;i[A>>2]=o;A=Ur(0,o<<2)|0;i[e>>2]=A;if((A|0)==0?(i[(je()|0)>>2]|0)==12:0)ze(we(1)|0,48,0);e=i[r>>2]|0;if((e|0)<(t|0))do{o=A+(e<<2)|0;if(o)i[o>>2]=0;e=e+1|0}while((e|0)!=(t|0));i[r>>2]=t;g=n;return}function Ln(e){e=e|0;var t=0,n=0,r=0,A=0,o=0,s=0,a=0;t=g;r=e+32|0;n=i[r>>2]|0;if(n){i[e+36>>2]=0;Tr(n);i[r>>2]=0;i[e+40>>2]=0}r=e+16|0;n=i[r>>2]|0;if(n){i[e+20>>2]=0;Tr(n);i[r>>2]=0;i[e+24>>2]=0}r=i[e>>2]|0;if(!r){g=t;return}n=e+4|0;o=i[n>>2]|0;if((o|0)>0){A=0;do{a=r+(A*12|0)|0;s=i[a>>2]|0;if(s){i[r+(A*12|0)+4>>2]=0;Tr(s);i[a>>2]=0;i[r+(A*12|0)+8>>2]=0;r=i[e>>2]|0;o=i[n>>2]|0}A=A+1|0}while((A|0)<(o|0))}i[n>>2]=0;Tr(r);i[e>>2]=0;i[e+8>>2]=0;g=t;return}function On(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,A=0,o=0,s=0,a=0,c=0,u=0,l=0;r=g;t=i[t>>2]|0;o=t+1|0;A=e+4|0;if((i[A>>2]|0)>=(o|0)){c=i[e>>2]|0;c=c+(t<<2)|0;i[c>>2]=n;g=r;return}s=e+8|0;c=i[s>>2]|0;if((c|0)<(o|0)){u=t+2-c&-2;a=(c>>1)+2&-2;a=(u|0)>(a|0)?u:a;if((a|0)>(2147483647-c|0)){u=we(1)|0;ze(u|0,48,0)}l=i[e>>2]|0;u=a+c|0;i[s>>2]=u;u=Ur(l,u<<2)|0;i[e>>2]=u;if((u|0)==0?(i[(je()|0)>>2]|0)==12:0){l=we(1)|0;ze(l|0,48,0)}}c=i[A>>2]|0;if((c|0)<(o|0)){s=i[e>>2]|0;do{a=s+(c<<2)|0;if(a)i[a>>2]=0;c=c+1|0}while((c|0)!=(o|0))}i[A>>2]=o;l=i[e>>2]|0;l=l+(t<<2)|0;i[l>>2]=n;g=r;return}function Tn(e,t){e=e|0;t=t|0;var n=0,A=0,o=0,s=0,a=0,c=0,u=0,l=0;n=g;c=i[t>>2]|0;o=c+1|0;A=e+4|0;if((i[A>>2]|0)<(o|0)){a=e+8|0;s=i[a>>2]|0;if((s|0)<(o|0)){u=c+2-s&-2;c=(s>>1)+2&-2;c=(u|0)>(c|0)?u:c;if((c|0)>(2147483647-s|0)){u=we(1)|0;ze(u|0,48,0)}l=i[e>>2]|0;u=c+s|0;i[a>>2]=u;u=Ur(l,u*12|0)|0;i[e>>2]=u;if((u|0)==0?(i[(je()|0)>>2]|0)==12:0){l=we(1)|0;ze(l|0,48,0)}}a=i[A>>2]|0;if((a|0)<(o|0)){s=i[e>>2]|0;do{c=s+(a*12|0)|0;if(c){i[c>>2]=0;i[s+(a*12|0)+4>>2]=0;i[s+(a*12|0)+8>>2]=0}a=a+1|0}while((a|0)!=(o|0))}i[A>>2]=o;s=i[t>>2]|0}else s=c;A=i[e>>2]|0;if(i[A+(s*12|0)>>2]|0){i[A+(s*12|0)+4>>2]=0;s=i[t>>2]|0}t=e+16|0;A=s+1|0;o=e+20|0;if((i[o>>2]|0)>=(A|0)){g=n;return}a=e+24|0;e=i[a>>2]|0;if((e|0)<(A|0)){l=s+2-e&-2;s=(e>>1)+2&-2;s=(l|0)>(s|0)?l:s;if((s|0)>(2147483647-e|0)){l=we(1)|0;ze(l|0,48,0)}u=i[t>>2]|0;l=s+e|0;i[a>>2]=l;l=Ur(u,l)|0;i[t>>2]=l;if((l|0)==0?(i[(je()|0)>>2]|0)==12:0){l=we(1)|0;ze(l|0,48,0)}}e=i[o>>2]|0;if((e|0)<(A|0))do{r[(i[t>>2]|0)+e>>0]=0;e=e+1|0}while((e|0)!=(A|0));i[o>>2]=A;g=n;return}function Un(e,t){e=e|0;t=t|0;var n=0,r=0,A=0,o=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0,d=0;n=g;g=g+16|0;o=n;i[o>>2]=t;A=e+12|0;r=t+1|0;s=e+16|0;if((i[s>>2]|0)<(r|0)){c=e+20|0;a=i[c>>2]|0;if((a|0)<(r|0)){l=t+2-a&-2;u=(a>>1)+2&-2;u=(l|0)>(u|0)?l:u;if((u|0)>(2147483647-a|0)){l=we(1)|0;ze(l|0,48,0)}h=i[A>>2]|0;l=u+a|0;i[c>>2]=l;l=Ur(h,l<<2)|0;i[A>>2]=l;if((l|0)==0?(i[(je()|0)>>2]|0)==12:0){h=we(1)|0;ze(h|0,48,0)}}a=i[s>>2]|0;if((r|0)>(a|0))iA((i[A>>2]|0)+(a<<2)|0,-1,r-a<<2|0)|0;i[s>>2]=r}i[(i[A>>2]|0)+(t<<2)>>2]=i[e+4>>2];an(e,o);r=i[A>>2]|0;a=i[r+(t<<2)>>2]|0;t=i[e>>2]|0;A=i[t+(a<<2)>>2]|0;if(!a){l=0;h=t+(l<<2)|0;i[h>>2]=A;h=r+(A<<2)|0;i[h>>2]=l;g=n;return}e=e+28|0;o=A<<1;s=o|1;while(1){l=a;a=a+-1>>1;u=t+(a<<2)|0;c=i[u>>2]|0;d=i[i[e>>2]>>2]|0;p=i[d+(o<<2)>>2]|0;C=i[d+(s<<2)>>2]|0;p=dA(C|0,((C|0)<0)<<31>>31|0,p|0,((p|0)<0)<<31>>31|0)|0;C=R;f=c<<1;h=i[d+(f<<2)>>2]|0;f=i[d+((f|1)<<2)>>2]|0;h=dA(f|0,((f|0)<0)<<31>>31|0,h|0,((h|0)<0)<<31>>31|0)|0;f=R;if(!(C>>>0>>0|(C|0)==(f|0)&p>>>0>>0)){e=14;break}i[t+(l<<2)>>2]=c;i[r+(i[u>>2]<<2)>>2]=l;if(!a){l=0;e=14;break}}if((e|0)==14){d=t+(l<<2)|0;i[d>>2]=A;d=r+(A<<2)|0;i[d>>2]=l;g=n;return}}function Yn(e,t){e=e|0;t=t|0;var n=0,A=0,o=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0,d=0,I=0,E=0,B=0;n=g;s=e+824|0;u=(i[e+840>>2]|0)>(t|0);if(u?(i[(i[e+836>>2]|0)+(t<<2)>>2]|0)>-1:0)a=7;else a=3;do{if((a|0)==3){if(r[(i[e+876>>2]|0)+t>>0]|0){g=n;return}if(r[(i[e+904>>2]|0)+t>>0]|0){g=n;return}p=r[(i[e+332>>2]|0)+t>>0]|0;h=r[2624]|0;f=h&255;if((f>>>1^1)&p<<24>>24==h<<24>>24|p&2&f)if(u){a=7;break}else break;else{g=n;return}}}while(0);if((a|0)==7?(A=i[e+836>>2]|0,o=A+(t<<2)|0,c=i[o>>2]|0,(c|0)>-1):0){t=i[s>>2]|0;a=i[t+(c<<2)>>2]|0;e:do{if(!c)p=0;else{u=e+852|0;l=a<<1;e=l|1;while(1){p=c;c=c+-1>>1;f=t+(c<<2)|0;h=i[f>>2]|0;B=i[i[u>>2]>>2]|0;d=i[B+(l<<2)>>2]|0;E=i[B+(e<<2)>>2]|0;d=dA(E|0,((E|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;E=R;I=h<<1;C=i[B+(I<<2)>>2]|0;I=i[B+((I|1)<<2)>>2]|0;C=dA(I|0,((I|0)<0)<<31>>31|0,C|0,((C|0)<0)<<31>>31|0)|0;I=R;if(!(E>>>0>>0|(E|0)==(I|0)&d>>>0>>0))break e;i[t+(p<<2)>>2]=h;i[A+(i[f>>2]<<2)>>2]=p;if(!c){p=0;break}}}}while(0);i[t+(p<<2)>>2]=a;i[A+(a<<2)>>2]=p;jn(s,i[o>>2]|0);g=n;return}Un(s,t);g=n;return}function jn(e,t){e=e|0;t=t|0;var n=0,r=0,A=0,o=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0,d=0,I=0,E=0,B=0;n=g;r=i[e>>2]|0;A=i[r+(t<<2)>>2]|0;l=t<<1|1;u=e+4|0;p=i[u>>2]|0;if((l|0)>=(p|0)){f=t;C=e+12|0;p=r+(f<<2)|0;i[p>>2]=A;C=i[C>>2]|0;C=C+(A<<2)|0;i[C>>2]=f;g=n;return}s=e+28|0;c=A<<1;a=c|1;e=e+12|0;while(1){h=(t<<1)+2|0;if((h|0)<(p|0)){f=i[r+(h<<2)>>2]|0;C=i[r+(l<<2)>>2]|0;B=f<<1;p=i[i[s>>2]>>2]|0;I=i[p+(B<<2)>>2]|0;B=i[p+((B|1)<<2)>>2]|0;I=dA(B|0,((B|0)<0)<<31>>31|0,I|0,((I|0)<0)<<31>>31|0)|0;B=R;E=C<<1;d=i[p+(E<<2)>>2]|0;E=i[p+((E|1)<<2)>>2]|0;d=dA(E|0,((E|0)<0)<<31>>31|0,d|0,((d|0)<0)<<31>>31|0)|0;E=R;if(!(B>>>0>>0|(B|0)==(E|0)&I>>>0>>0)){f=C;o=7}}else{f=i[r+(l<<2)>>2]|0;p=i[i[s>>2]>>2]|0;o=7}if((o|0)==7){o=0;h=l}d=f<<1;E=i[p+(d<<2)>>2]|0;d=i[p+((d|1)<<2)>>2]|0;E=dA(d|0,((d|0)<0)<<31>>31|0,E|0,((E|0)<0)<<31>>31|0)|0;d=R;B=i[p+(c<<2)>>2]|0;I=i[p+(a<<2)>>2]|0;B=dA(I|0,((I|0)<0)<<31>>31|0,B|0,((B|0)<0)<<31>>31|0)|0;I=R;if(!(d>>>0>>0|(d|0)==(I|0)&E>>>0>>0)){o=10;break}i[r+(t<<2)>>2]=f;i[(i[e>>2]|0)+(f<<2)>>2]=t;l=h<<1|1;p=i[u>>2]|0;if((l|0)>=(p|0)){t=h;o=10;break}else t=h}if((o|0)==10){B=r+(t<<2)|0;i[B>>2]=A;B=i[e>>2]|0;B=B+(A<<2)|0;i[B>>2]=t;g=n;return}}function Gn(e,t){e=e|0;t=t|0;var n=0,r=0,A=0,o=0,s=0,a=0,c=0;n=g;s=i[e>>2]|0;if(s){r=e+4|0;A=i[r>>2]|0;e:do{if((A|0)>0){o=0;while(1){a=s+(o*12|0)|0;c=i[a>>2]|0;if(c){i[s+(o*12|0)+4>>2]=0;Tr(c);i[a>>2]=0;i[s+(o*12|0)+8>>2]=0;A=i[r>>2]|0}o=o+1|0;if((o|0)>=(A|0))break e;s=i[e>>2]|0}}}while(0);i[r>>2]=0;if(t){Tr(i[e>>2]|0);i[e>>2]=0;i[e+8>>2]=0}}r=e+16|0;A=i[r>>2]|0;if((A|0)!=0?(i[e+20>>2]=0,t):0){Tr(A);i[r>>2]=0;i[e+24>>2]=0}A=e+32|0;r=i[A>>2]|0;if(!r){g=n;return}i[e+36>>2]=0;if(!t){g=n;return}Tr(r);i[A>>2]=0;i[e+40>>2]=0;g=n;return}function Jn(e,t){e=e|0;t=t|0;var n=0,r=0,A=0,o=0,s=0,a=0;r=g;A=i[e>>2]|0;n=e+4|0;if(A){i[n>>2]=0;if(t){Tr(A);i[e>>2]=0;i[e+8>>2]=0;A=0}}else A=0;if((i[n>>2]|0)>=1){s=e+16|0;i[s>>2]=0;s=e+12|0;i[s>>2]=0;g=r;return}s=e+8|0;o=i[s>>2]|0;if((o|0)<1){a=2-o&-2;t=(o>>1)+2&-2;t=(a|0)>(t|0)?a:t;if((t|0)>(2147483647-o|0)){a=we(1)|0;ze(a|0,48,0)}a=t+o|0;i[s>>2]=a;A=Ur(A,a<<2)|0;i[e>>2]=A;if((A|0)==0?(i[(je()|0)>>2]|0)==12:0){a=we(1)|0;ze(a|0,48,0)}}t=i[n>>2]|0;if((t|0)<1)while(1){o=A+(t<<2)|0;if(o)i[o>>2]=0;if(!t)break;else t=t+1|0}i[n>>2]=1;a=e+16|0;i[a>>2]=0;a=e+12|0;i[a>>2]=0;g=r;return}function Hn(e,t){e=e|0;t=t|0;var n=0,r=0,A=0,o=0,s=0,a=0,c=0,u=0,l=0;r=g;g=g+16|0;n=r;A=e+16|0;a=i[A>>2]|0;i[A>>2]=a+1;i[(i[e>>2]|0)+(a<<2)>>2]=t;a=i[A>>2]|0;t=e+4|0;s=i[t>>2]|0;if((a|0)==(s|0)){i[A>>2]=0;a=0}o=e+12|0;if((i[o>>2]|0)!=(a|0)){g=r;return}Pn(n,(s*3|0)+1>>1);u=i[o>>2]|0;l=i[t>>2]|0;if((u|0)<(l|0)){a=i[e>>2]|0;c=i[n>>2]|0;l=0;while(1){s=l+1|0;i[c+(l<<2)>>2]=i[a+(u<<2)>>2];u=u+1|0;l=i[t>>2]|0;if((u|0)>=(l|0)){c=s;break}else l=s}}else c=0;s=i[e>>2]|0;if((i[A>>2]|0)>0){a=i[n>>2]|0;u=0;while(1){i[a+(c<<2)>>2]=i[s+(u<<2)>>2];u=u+1|0;if((u|0)>=(i[A>>2]|0))break;else c=c+1|0}l=i[t>>2]|0}i[o>>2]=0;i[A>>2]=l;if(!s)A=e+8|0;else{i[t>>2]=0;Tr(s);i[e>>2]=0;A=e+8|0;i[A>>2]=0}i[e>>2]=i[n>>2];u=n+4|0;i[t>>2]=i[u>>2];l=n+8|0;i[A>>2]=i[l>>2];i[n>>2]=0;i[u>>2]=0;i[l>>2]=0;g=r;return}function qn(e,t){e=e|0;t=t|0;var n=0,r=0,A=0,o=0,s=0,a=0;n=g;r=e+4|0;A=i[r>>2]|0;o=e+8|0;s=i[o>>2]|0;if((A|0)==(s|0)&(s|0)<(A+1|0)){s=(A>>1)+2&-2;s=(s|0)<2?2:s;if((s|0)>(2147483647-A|0)){s=we(1)|0;ze(s|0,48,0)}a=i[e>>2]|0;A=s+A|0;i[o>>2]=A;A=Ur(a,A<<2)|0;i[e>>2]=A;if((A|0)==0?(i[(je()|0)>>2]|0)==12:0){a=we(1)|0;ze(a|0,48,0)}}else A=i[e>>2]|0;a=i[r>>2]|0;i[r>>2]=a+1;r=A+(a<<2)|0;if(!r){g=n;return}i[r>>2]=i[t>>2];g=n;return}function zn(){var e=0,t=0;t=g;Oe(3864)|0;e=cr(936)|0;In(e);g=t;return e|0}function Wn(e){e=e|0;var t=0;t=g;if(!e){g=t;return}YA[i[(i[e>>2]|0)+4>>2]&31](e);g=t;return}function Xn(){var e=0,t=0,n=0;e=g;g=g+16|0;t=e;n=cr(936)|0;In(n);i[964]=n;Qn(n,1)|0;n=i[964]|0;r[t+0>>0]=r[3840]|0;yn(n,t,1)|0;g=e;return}function Vn(e){e=e|0;var t=0,n=0,A=0;t=g;g=g+16|0;n=t;if((i[962]|0)>=(e|0)){g=t;return}do{A=i[964]|0;r[n+0>>0]=r[3840]|0;yn(A,n,1)|0;A=(i[962]|0)+1|0;i[962]=A}while((A|0)<(e|0));g=t;return}function $n(e){e=e|0;var t=0,n=0,A=0,o=0,s=0,a=0,c=0,u=0,l=0;o=g;g=g+32|0;s=o+16|0;n=o+4|0;a=o;i[n>>2]=0;A=n+4|0;i[A>>2]=0;t=n+8|0;i[t>>2]=0;c=i[e>>2]|0;if(c)do{u=(c|0)<0?0-c|0:c;if((i[962]|0)<(u|0))do{l=i[964]|0;r[s+0>>0]=r[3840]|0;yn(l,s,1)|0;l=(i[962]|0)+1|0;i[962]=l}while((l|0)<(u|0));i[a>>2]=u<<1|c>>>31;sn(n,a);e=e+4|0;c=i[e>>2]|0}while((c|0)!=0);a=i[964]|0;s=a+628|0;or(n,s);s=wn(a,s)|0;a=i[n>>2]|0;if(!a){g=o;return s|0}i[A>>2]=0;Tr(a);i[n>>2]=0;i[t>>2]=0;g=o;return s|0}function Zn(){var e=0,t=0,n=0,A=0;t=g;g=g+16|0;e=t;n=i[964]|0;A=n+664|0;i[A+0>>2]=-1;i[A+4>>2]=-1;i[A+8>>2]=-1;i[A+12>>2]=-1;if(i[n+304>>2]|0)i[n+308>>2]=0;mn(e,n,1,0);g=t;return(r[e>>0]|0)==0|0}function er(){return(i[(i[964]|0)+4>>2]|0)+1|0}function tr(){return i[962]|0}function nr(e){e=e|0;var t=0,n=0,A=0,o=0,s=0,a=0;t=g;g=g+32|0;s=t+16|0;A=t+4|0;a=t;i[A>>2]=0;n=A+4|0;i[n>>2]=0;o=A+8|0;i[o>>2]=0;i[a>>2]=e<<1;sn(A,a);e=i[964]|0;a=e+664|0;i[a+0>>2]=-1;i[a+4>>2]=-1;i[a+8>>2]=-1;i[a+12>>2]=-1;or(A,e+304|0);mn(s,e,1,0);e=(r[s>>0]|0)==0;s=i[A>>2]|0;if(!s){g=t;return e|0}i[n>>2]=0;Tr(s);i[A>>2]=0;i[o>>2]=0;g=t;return e|0}function rr(e){e=e|0;var t=0,n=0,r=0;t=g;g=g+16|0;r=t;n=i[964]|0;i[r>>2]=e<<1|1;e=n+628|0;if(i[e>>2]|0)i[n+632>>2]=0;sn(e,r);wn(n,e)|0;g=t;return}function Ar(){return i[(i[964]|0)+36>>2]|0}function ir(){return i[(i[964]|0)+32>>2]|0}function or(e,t){e=e|0;t=t|0;var n=0,r=0,A=0,o=0,s=0,a=0,c=0,u=0,l=0;n=g;s=i[t>>2]|0;r=t+4|0;if(!s)a=i[r>>2]|0;else{i[r>>2]=0;a=0}r=e+4|0;A=i[r>>2]|0;o=t+4|0;if((a|0)<(A|0)){c=t+8|0;a=i[c>>2]|0;if((a|0)<(A|0)){l=A+1-a&-2;u=(a>>1)+2&-2;u=(l|0)>(u|0)?l:u;if((u|0)>(2147483647-a|0)){l=we(1)|0;ze(l|0,48,0)}l=u+a|0;i[c>>2]=l;s=Ur(s,l<<2)|0;i[t>>2]=s;if((s|0)==0?(i[(je()|0)>>2]|0)==12:0){l=we(1)|0;ze(l|0,48,0)}}a=i[o>>2]|0;e:do{if((a|0)<(A|0))while(1){s=s+(a<<2)|0;if(s)i[s>>2]=0;a=a+1|0;if((a|0)==(A|0))break e;s=i[t>>2]|0}}while(0);i[o>>2]=A;A=i[r>>2]|0}if((A|0)<=0){g=n;return}t=i[t>>2]|0;e=i[e>>2]|0;A=0;do{i[t+(A<<2)>>2]=i[e+(A<<2)>>2];A=A+1|0}while((A|0)<(i[r>>2]|0));g=n;return}function sr(e,t){e=e|0;t=t|0;var n=0;n=g;g=g+16|0;i[n>>2]=t;t=i[I>>2]|0;Qe(t|0,e|0,n|0)|0;qe(10,t|0)|0;Ve()}function ar(){var e=0,t=0;e=g;g=g+16|0;if(!(Le(4064,3)|0)){t=xe(i[1014]|0)|0;g=e;return t|0}else sr(4072,e);return 0}function cr(e){e=e|0;var t=0,n=0;t=g;e=(e|0)==0?1:e;n=Or(e)|0;if(n){g=t;return n|0}while(1){n=Cr()|0;if(!n){e=4;break}JA[n&3]();n=Or(e)|0;if(n){e=5;break}}if((e|0)==4){n=we(4)|0;i[n>>2]=4248;ze(n|0,4296,12)}else if((e|0)==5){g=t;return n|0}return 0}function ur(e){e=e|0;var t=0;t=g;Tr(e);g=t;return}function gr(e){e=e|0;var t=0;t=g;ur(e);g=t;return}function lr(e){e=e|0;return}function hr(e){e=e|0;return 4264}function pr(e){e=e|0;var t=0;t=g;g=g+16|0;JA[e&3]();sr(4312,t)}function fr(){var e=0,t=0;t=ar()|0;if(((t|0)!=0?(e=i[t>>2]|0,(e|0)!=0):0)?(t=e+48|0,(i[t>>2]&-256|0)==1126902528?(i[t+4>>2]|0)==1129074247:0):0)pr(i[e+12>>2]|0);t=i[968]|0;i[968]=t+0;pr(t)}function Cr(){var e=0;e=i[1102]|0;i[1102]=e+0;return e|0}function dr(e){e=e|0;return}function Ir(e){e=e|0;return}function Er(e){e=e|0;return}function Br(e){e=e|0;return}function yr(e){e=e|0;return}function mr(e){e=e|0;var t=0;t=g;ur(e);g=t;return}function Qr(e){e=e|0;var t=0;t=g;ur(e);g=t;return}function wr(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,A=0,o=0,s=0;r=g;g=g+64|0;A=r;if((e|0)==(t|0)){s=1;g=r;return s|0}if(!t){s=0;g=r;return s|0}t=Sr(t,4504,4560,0)|0;if(!t){s=0;g=r;return s|0}s=A+0|0;o=s+56|0;do{i[s>>2]=0;s=s+4|0}while((s|0)<(o|0));i[A>>2]=t;i[A+8>>2]=e;i[A+12>>2]=-1;i[A+48>>2]=1;zA[i[(i[t>>2]|0)+28>>2]&3](t,A,i[n>>2]|0,1);if((i[A+24>>2]|0)!=1){s=0;g=r;return s|0}i[n>>2]=i[A+16>>2];s=1;g=r;return s|0}function vr(e,t,n,A){e=e|0;t=t|0;n=n|0;A=A|0;var o=0,s=0;e=g;o=t+16|0;s=i[o>>2]|0;if(!s){i[o>>2]=n;i[t+24>>2]=A;i[t+36>>2]=1;g=e;return}if((s|0)!=(n|0)){s=t+36|0;i[s>>2]=(i[s>>2]|0)+1;i[t+24>>2]=2;r[t+54>>0]=1;g=e;return}n=t+24|0;if((i[n>>2]|0)!=2){g=e;return}i[n>>2]=A;g=e;return}function br(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var A=0;A=g;if((i[t+8>>2]|0)!=(e|0)){g=A;return}vr(0,t,n,r);g=A;return}function Dr(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var A=0;A=g;if((e|0)==(i[t+8>>2]|0)){vr(0,t,n,r);g=A;return}else{e=i[e+8>>2]|0;zA[i[(i[e>>2]|0)+28>>2]&3](e,t,n,r);g=A;return}}function Sr(e,t,n,o){e=e|0;t=t|0;n=n|0;o=o|0;var s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0;s=g;g=g+64|0;a=s;c=i[e>>2]|0;u=e+(i[c+-8>>2]|0)|0;c=i[c+-4>>2]|0;i[a>>2]=n;i[a+4>>2]=e;i[a+8>>2]=t;i[a+12>>2]=o;h=a+16|0;p=a+20|0;t=a+24|0;l=a+28|0;o=a+32|0;e=a+40|0;f=(c|0)==(n|0);C=h+0|0;n=C+36|0;do{i[C>>2]=0;C=C+4|0}while((C|0)<(n|0));A[h+36>>1]=0;r[h+38>>0]=0;if(f){i[a+48>>2]=1;HA[i[(i[c>>2]|0)+20>>2]&3](c,a,u,u,1,0);C=(i[t>>2]|0)==1?u:0;g=s;return C|0}UA[i[(i[c>>2]|0)+24>>2]&3](c,a,u,1,0);a=i[a+36>>2]|0;if(!a){C=(i[e>>2]|0)==1&(i[l>>2]|0)==1&(i[o>>2]|0)==1?i[p>>2]|0:0;g=s;return C|0}else if((a|0)==1){if((i[t>>2]|0)!=1?!((i[e>>2]|0)==0&(i[l>>2]|0)==1&(i[o>>2]|0)==1):0){C=0;g=s;return C|0}C=i[h>>2]|0;g=s;return C|0}else{C=0;g=s;return C|0}return 0}function kr(e,t,n,A,o){e=e|0;t=t|0;n=n|0;A=A|0;o=o|0;var s=0;e=g;r[t+53>>0]=1;if((i[t+4>>2]|0)!=(A|0)){g=e;return}r[t+52>>0]=1;A=t+16|0;s=i[A>>2]|0;if(!s){i[A>>2]=n;i[t+24>>2]=o;i[t+36>>2]=1;if(!((o|0)==1?(i[t+48>>2]|0)==1:0)){g=e;return}r[t+54>>0]=1;g=e;return}if((s|0)!=(n|0)){s=t+36|0;i[s>>2]=(i[s>>2]|0)+1;r[t+54>>0]=1;g=e;return}n=t+24|0;A=i[n>>2]|0;if((A|0)==2)i[n>>2]=o;else o=A;if(!((o|0)==1?(i[t+48>>2]|0)==1:0)){g=e;return}r[t+54>>0]=1;g=e;return}function _r(e,t,n,A,o){e=e|0;t=t|0;n=n|0;A=A|0;o=o|0;var s=0,a=0,c=0,u=0,l=0;s=g;if((e|0)==(i[t+8>>2]|0)){if((i[t+4>>2]|0)!=(n|0)){g=s;return}a=t+28|0;if((i[a>>2]|0)==1){g=s;return}i[a>>2]=A;g=s;return}if((e|0)!=(i[t>>2]|0)){u=i[e+8>>2]|0;UA[i[(i[u>>2]|0)+24>>2]&3](u,t,n,A,o);g=s;return}if((i[t+16>>2]|0)!=(n|0)?(c=t+20|0,(i[c>>2]|0)!=(n|0)):0){i[t+32>>2]=A;A=t+44|0;if((i[A>>2]|0)==4){g=s;return}u=t+52|0;r[u>>0]=0;l=t+53|0;r[l>>0]=0;e=i[e+8>>2]|0;HA[i[(i[e>>2]|0)+20>>2]&3](e,t,n,n,1,o);if(r[l>>0]|0){if(!(r[u>>0]|0)){e=1;a=13}}else{e=0;a=13}do{if((a|0)==13){i[c>>2]=n;l=t+40|0;i[l>>2]=(i[l>>2]|0)+1;if((i[t+36>>2]|0)==1?(i[t+24>>2]|0)==2:0){r[t+54>>0]=1;if(e)break}else a=16;if((a|0)==16?e:0)break;i[A>>2]=4;g=s;return}}while(0);i[A>>2]=3;g=s;return}if((A|0)!=1){g=s;return}i[t+32>>2]=1;g=s;return}function Fr(e,t,n,A,o){e=e|0;t=t|0;n=n|0;A=A|0;o=o|0;var s=0;o=g;if((i[t+8>>2]|0)==(e|0)){if((i[t+4>>2]|0)!=(n|0)){g=o;return}t=t+28|0;if((i[t>>2]|0)==1){g=o;return}i[t>>2]=A;g=o;return}if((i[t>>2]|0)!=(e|0)){g=o;return}if((i[t+16>>2]|0)!=(n|0)?(s=t+20|0,(i[s>>2]|0)!=(n|0)):0){i[t+32>>2]=A;i[s>>2]=n;e=t+40|0;i[e>>2]=(i[e>>2]|0)+1;if((i[t+36>>2]|0)==1?(i[t+24>>2]|0)==2:0)r[t+54>>0]=1;i[t+44>>2]=4;g=o;return}if((A|0)!=1){g=o;return}i[t+32>>2]=1;g=o;return}function Mr(e,t,n,r,A,o){e=e|0;t=t|0;n=n|0;r=r|0;A=A|0;o=o|0;var s=0;s=g;if((e|0)==(i[t+8>>2]|0)){kr(0,t,n,r,A);g=s;return}else{e=i[e+8>>2]|0;HA[i[(i[e>>2]|0)+20>>2]&3](e,t,n,r,A,o);g=s;return}}function Nr(e,t,n,r,A,o){e=e|0;t=t|0;n=n|0;r=r|0;A=A|0;o=o|0;o=g;if((i[t+8>>2]|0)!=(e|0)){g=o;return}kr(0,t,n,r,A);g=o;return}function Rr(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,A=0;r=g;g=g+16|0;A=r;i[A>>2]=i[n>>2];e=TA[i[(i[e>>2]|0)+16>>2]&1](e,t,A)|0;t=e&1;if(!e){g=r;return t|0}i[n>>2]=i[A>>2];g=r;return t|0}function Kr(e){e=e|0;var t=0;t=g;if(!e)e=0;else e=(Sr(e,4504,4672,0)|0)!=0;g=t;return e&1|0}function xr(){var e=0,t=0,n=0,r=0,A=0;e=g;g=g+16|0;t=e;e=e+12|0;n=ar()|0;if(!n)sr(4040,t);n=i[n>>2]|0;if(!n)sr(4040,t);A=n+48|0;r=i[A>>2]|0;A=i[A+4>>2]|0;if(!((r&-256|0)==1126902528&(A|0)==1129074247)){i[t>>2]=i[970];sr(4e3,t)}if((r|0)==1126902529&(A|0)==1129074247)r=i[n+44>>2]|0;else r=n+80|0;i[e>>2]=r;A=i[n>>2]|0;n=i[A+4>>2]|0;if(TA[i[(i[4432>>2]|0)+16>>2]&1](4432,A,e)|0){A=i[e>>2]|0;r=i[970]|0;A=GA[i[(i[A>>2]|0)+8>>2]&1](A)|0;i[t>>2]=r;i[t+4>>2]=n;i[t+8>>2]=A;sr(3904,t)}else{i[t>>2]=i[970];i[t+4>>2]=n;sr(3952,t)}}function Pr(){var e=0;e=g;g=g+16|0;if(!(Ue(4056,20)|0)){g=e;return}else sr(4128,e)}function Lr(e){e=e|0;var t=0;t=g;g=g+16|0;Tr(e);if(!(Ge(i[1014]|0,0)|0)){g=t;return}else sr(4184,t)}function Or(e){e=e|0;var t=0,n=0,r=0,A=0,o=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0,d=0,I=0,E=0,B=0,y=0,m=0,Q=0,w=0,v=0,b=0,D=0,S=0,k=0,_=0,F=0,M=0,N=0;t=g;do{if(e>>>0<245){if(e>>>0<11)e=16;else e=e+11&-8;Q=e>>>3;f=i[1206]|0;m=f>>>Q;if(m&3){o=(m&1^1)+Q|0;A=o<<1;n=4864+(A<<2)|0;A=4864+(A+2<<2)|0;s=i[A>>2]|0;a=s+8|0;r=i[a>>2]|0;do{if((n|0)!=(r|0)){if(r>>>0<(i[1210]|0)>>>0)Ve();c=r+12|0;if((i[c>>2]|0)==(s|0)){i[c>>2]=n;i[A>>2]=r;break}else Ve()}else i[1206]=f&~(1<>2]=N|3;N=s+(N|4)|0;i[N>>2]=i[N>>2]|1;N=a;g=t;return N|0}y=i[1208]|0;if(e>>>0>y>>>0){if(m){s=2<>>12&16;s=s>>>n;a=s>>>5&8;s=s>>>a;A=s>>>2&4;s=s>>>A;o=s>>>1&2;s=s>>>o;r=s>>>1&1;r=(a|n|A|o|r)+(s>>>r)|0;s=r<<1;o=4864+(s<<2)|0;s=4864+(s+2<<2)|0;A=i[s>>2]|0;n=A+8|0;a=i[n>>2]|0;do{if((o|0)!=(a|0)){if(a>>>0<(i[1210]|0)>>>0)Ve();c=a+12|0;if((i[c>>2]|0)==(A|0)){i[c>>2]=o;i[s>>2]=a;_=i[1208]|0;break}else Ve()}else{i[1206]=f&~(1<>2]=e|3;o=A+e|0;i[A+(e|4)>>2]=r|1;i[A+N>>2]=r;if(_){A=i[1211]|0;u=_>>>3;a=u<<1;s=4864+(a<<2)|0;c=i[1206]|0;u=1<>2]|0;if(c>>>0<(i[1210]|0)>>>0)Ve();else{k=a;S=c}}else{i[1206]=c|u;k=4864+(a+2<<2)|0;S=s}i[k>>2]=A;i[S+12>>2]=A;i[A+8>>2]=S;i[A+12>>2]=s}i[1208]=r;i[1211]=o;N=n;g=t;return N|0}f=i[1207]|0;if(f){n=(f&0-f)+-1|0;M=n>>>12&16;n=n>>>M;F=n>>>5&8;n=n>>>F;N=n>>>2&4;n=n>>>N;A=n>>>1&2;n=n>>>A;r=n>>>1&1;r=i[5128+((F|M|N|A|r)+(n>>>r)<<2)>>2]|0;n=(i[r+4>>2]&-8)-e|0;A=r;while(1){o=i[A+16>>2]|0;if(!o){o=i[A+20>>2]|0;if(!o)break}A=(i[o+4>>2]&-8)-e|0;N=A>>>0>>0;n=N?A:n;A=o;r=N?o:r}s=i[1210]|0;if(r>>>0>>0)Ve();A=r+e|0;if(r>>>0>=A>>>0)Ve();o=i[r+24>>2]|0;c=i[r+12>>2]|0;do{if((c|0)==(r|0)){c=r+20|0;a=i[c>>2]|0;if(!a){c=r+16|0;a=i[c>>2]|0;if(!a){D=0;break}}while(1){u=a+20|0;l=i[u>>2]|0;if(l){a=l;c=u;continue}u=a+16|0;l=i[u>>2]|0;if(!l)break;else{a=l;c=u}}if(c>>>0>>0)Ve();else{i[c>>2]=0;D=a;break}}else{a=i[r+8>>2]|0;if(a>>>0>>0)Ve();s=a+12|0;if((i[s>>2]|0)!=(r|0))Ve();u=c+8|0;if((i[u>>2]|0)==(r|0)){i[s>>2]=c;i[u>>2]=a;D=c;break}else Ve()}}while(0);do{if(o){a=i[r+28>>2]|0;s=5128+(a<<2)|0;if((r|0)==(i[s>>2]|0)){i[s>>2]=D;if(!D){i[1207]=i[1207]&~(1<>>0<(i[1210]|0)>>>0)Ve();s=o+16|0;if((i[s>>2]|0)==(r|0))i[s>>2]=D;else i[o+20>>2]=D;if(!D)break}s=i[1210]|0;if(D>>>0>>0)Ve();i[D+24>>2]=o;o=i[r+16>>2]|0;do{if(o)if(o>>>0>>0)Ve();else{i[D+16>>2]=o;i[o+24>>2]=D;break}}while(0);o=i[r+20>>2]|0;if(o)if(o>>>0<(i[1210]|0)>>>0)Ve();else{i[D+20>>2]=o;i[o+24>>2]=D;break}}}while(0);if(n>>>0<16){N=n+e|0;i[r+4>>2]=N|3;N=r+(N+4)|0;i[N>>2]=i[N>>2]|1}else{i[r+4>>2]=e|3;i[r+(e|4)>>2]=n|1;i[r+(n+e)>>2]=n;s=i[1208]|0;if(s){o=i[1211]|0;c=s>>>3;u=c<<1;s=4864+(u<<2)|0;a=i[1206]|0;c=1<>2]|0;if(c>>>0<(i[1210]|0)>>>0)Ve();else{b=a;v=c}}else{i[1206]=a|c;b=4864+(u+2<<2)|0;v=s}i[b>>2]=o;i[v+12>>2]=o;i[o+8>>2]=v;i[o+12>>2]=s}i[1208]=n;i[1211]=A}N=r+8|0;g=t;return N|0}}}else if(e>>>0<=4294967231){v=e+11|0;e=v&-8;D=i[1207]|0;if(D){b=0-e|0;v=v>>>8;if(v)if(e>>>0>16777215)S=31;else{M=(v+1048320|0)>>>16&8;N=v<>>16&4;N=N<>>16&2;S=14-(F|M|S)+(N<>>15)|0;S=e>>>(S+7|0)&1|S<<1}else S=0;k=i[5128+(S<<2)>>2]|0;e:do{if(!k){F=0;v=0}else{if((S|0)==31)v=0;else v=25-(S>>>1)|0;F=0;_=e<>2]&-8;N=M-e|0;if(N>>>0>>0)if((M|0)==(e|0)){b=N;F=k;v=k;break e}else{b=N;v=k}N=i[k+20>>2]|0;k=i[k+(_>>>31<<2)+16>>2]|0;F=(N|0)==0|(N|0)==(k|0)?F:N;if(!k)break;else _=_<<1}}}while(0);if((F|0)==0&(v|0)==0){N=2<>>12&16;N=N>>>k;S=N>>>5&8;N=N>>>S;_=N>>>2&4;N=N>>>_;M=N>>>1&2;N=N>>>M;F=N>>>1&1;F=i[5128+((S|k|_|M|F)+(N>>>F)<<2)>>2]|0}if(F)while(1){N=(i[F+4>>2]&-8)-e|0;D=N>>>0>>0;b=D?N:b;v=D?F:v;D=i[F+16>>2]|0;if(D){F=D;continue}F=i[F+20>>2]|0;if(!F)break}if((v|0)!=0?b>>>0<((i[1208]|0)-e|0)>>>0:0){A=i[1210]|0;if(v>>>0>>0)Ve();n=v+e|0;if(v>>>0>=n>>>0)Ve();r=i[v+24>>2]|0;o=i[v+12>>2]|0;do{if((o|0)==(v|0)){s=v+20|0;o=i[s>>2]|0;if(!o){s=v+16|0;o=i[s>>2]|0;if(!o){Q=0;break}}while(1){a=o+20|0;c=i[a>>2]|0;if(c){o=c;s=a;continue}a=o+16|0;c=i[a>>2]|0;if(!c)break;else{o=c;s=a}}if(s>>>0>>0)Ve();else{i[s>>2]=0;Q=o;break}}else{s=i[v+8>>2]|0;if(s>>>0>>0)Ve();a=s+12|0;if((i[a>>2]|0)!=(v|0))Ve();A=o+8|0;if((i[A>>2]|0)==(v|0)){i[a>>2]=o;i[A>>2]=s;Q=o;break}else Ve()}}while(0);do{if(r){A=i[v+28>>2]|0;o=5128+(A<<2)|0;if((v|0)==(i[o>>2]|0)){i[o>>2]=Q;if(!Q){i[1207]=i[1207]&~(1<>>0<(i[1210]|0)>>>0)Ve();A=r+16|0;if((i[A>>2]|0)==(v|0))i[A>>2]=Q;else i[r+20>>2]=Q;if(!Q)break}A=i[1210]|0;if(Q>>>0>>0)Ve();i[Q+24>>2]=r;r=i[v+16>>2]|0;do{if(r)if(r>>>0>>0)Ve();else{i[Q+16>>2]=r;i[r+24>>2]=Q;break}}while(0);r=i[v+20>>2]|0;if(r)if(r>>>0<(i[1210]|0)>>>0)Ve();else{i[Q+20>>2]=r;i[r+24>>2]=Q;break}}}while(0);e:do{if(b>>>0>=16){i[v+4>>2]=e|3;i[v+(e|4)>>2]=b|1;i[v+(b+e)>>2]=b;A=b>>>3;if(b>>>0<256){s=A<<1;r=4864+(s<<2)|0;o=i[1206]|0;A=1<>2]|0;if(o>>>0>=(i[1210]|0)>>>0){m=A;y=o;break}Ve()}}while(0);i[m>>2]=n;i[y+12>>2]=n;i[v+(e+8)>>2]=y;i[v+(e+12)>>2]=r;break}r=b>>>8;if(r)if(b>>>0>16777215)r=31;else{M=(r+1048320|0)>>>16&8;N=r<>>16&4;N=N<>>16&2;r=14-(F|M|r)+(N<>>15)|0;r=b>>>(r+7|0)&1|r<<1}else r=0;A=5128+(r<<2)|0;i[v+(e+28)>>2]=r;i[v+(e+20)>>2]=0;i[v+(e+16)>>2]=0;o=i[1207]|0;s=1<>2]=n;i[v+(e+24)>>2]=A;i[v+(e+12)>>2]=n;i[v+(e+8)>>2]=n;break}s=i[A>>2]|0;if((r|0)==31)r=0;else r=25-(r>>>1)|0;t:do{if((i[s+4>>2]&-8|0)!=(b|0)){r=b<>>31<<2)+16|0;A=i[o>>2]|0;if(!A)break;if((i[A+4>>2]&-8|0)==(b|0)){f=A;break t}else{r=r<<1;s=A}}if(o>>>0<(i[1210]|0)>>>0)Ve();else{i[o>>2]=n;i[v+(e+24)>>2]=s;i[v+(e+12)>>2]=n;i[v+(e+8)>>2]=n;break e}}else f=s}while(0);A=f+8|0;r=i[A>>2]|0;N=i[1210]|0;if(f>>>0>=N>>>0&r>>>0>=N>>>0){i[r+12>>2]=n;i[A>>2]=n;i[v+(e+8)>>2]=r;i[v+(e+12)>>2]=f;i[v+(e+24)>>2]=0;break}else Ve()}else{N=b+e|0;i[v+4>>2]=N|3;N=v+(N+4)|0;i[N>>2]=i[N>>2]|1}}while(0);N=v+8|0;g=t;return N|0}}}else e=-1}while(0);f=i[1208]|0;if(f>>>0>=e>>>0){r=f-e|0;n=i[1211]|0;if(r>>>0>15){i[1211]=n+e;i[1208]=r;i[n+(e+4)>>2]=r|1;i[n+f>>2]=r;i[n+4>>2]=e|3}else{i[1208]=0;i[1211]=0;i[n+4>>2]=f|3;N=n+(f+4)|0;i[N>>2]=i[N>>2]|1}N=n+8|0;g=t;return N|0}f=i[1209]|0;if(f>>>0>e>>>0){M=f-e|0;i[1209]=M;N=i[1212]|0;i[1212]=N+e;i[N+(e+4)>>2]=M|1;i[N+4>>2]=e|3;N=N+8|0;g=t;return N|0}do{if(!(i[1324]|0)){f=Ke(30)|0;if(!(f+-1&f)){i[1326]=f;i[1325]=f;i[1327]=-1;i[1328]=-1;i[1329]=0;i[1317]=0;i[1324]=(Ze(0)|0)&-16^1431655768;break}else Ve()}}while(0);Q=e+48|0;f=i[1326]|0;m=e+47|0;b=f+m|0;f=0-f|0;y=b&f;if(y>>>0<=e>>>0){N=0;g=t;return N|0}v=i[1316]|0;if((v|0)!=0?(M=i[1314]|0,N=M+y|0,N>>>0<=M>>>0|N>>>0>v>>>0):0){N=0;g=t;return N|0}e:do{if(!(i[1317]&4)){D=i[1212]|0;t:do{if(D){v=5272|0;while(1){S=i[v>>2]|0;if(S>>>0<=D>>>0?(w=v+4|0,(S+(i[w>>2]|0)|0)>>>0>D>>>0):0)break;v=i[v+8>>2]|0;if(!v){p=181;break t}}if(v){b=b-(i[1209]|0)&f;if(b>>>0<2147483647){f=ke(b|0)|0;if((f|0)==((i[v>>2]|0)+(i[w>>2]|0)|0)){v=b;p=190}else{v=b;p=191}}else v=0}else p=181}else p=181}while(0);do{if((p|0)==181){w=ke(0)|0;if((w|0)!=(-1|0)){b=w;v=i[1325]|0;f=v+-1|0;if(!(f&b))v=y;else v=y-b+(f+b&0-v)|0;f=i[1314]|0;b=f+v|0;if(v>>>0>e>>>0&v>>>0<2147483647){N=i[1316]|0;if((N|0)!=0?b>>>0<=f>>>0|b>>>0>N>>>0:0){v=0;break}f=ke(v|0)|0;if((f|0)==(w|0)){f=w;p=190}else p=191}else v=0}else v=0}}while(0);t:do{if((p|0)==190){if((f|0)!=(-1|0)){C=v;p=201;break e}}else if((p|0)==191){p=0-v|0;do{if((f|0)!=(-1|0)&v>>>0<2147483647&Q>>>0>v>>>0?(B=i[1326]|0,B=m-v+B&0-B,B>>>0<2147483647):0)if((ke(B|0)|0)==(-1|0)){ke(p|0)|0;v=0;break t}else{v=B+v|0;break}}while(0);if((f|0)==(-1|0))v=0;else{C=v;p=201;break e}}}while(0);i[1317]=i[1317]|4;p=198}else{v=0;p=198}}while(0);if((((p|0)==198?y>>>0<2147483647:0)?(E=ke(y|0)|0,I=ke(0)|0,(E|0)!=(-1|0)&(I|0)!=(-1|0)&E>>>0>>0):0)?(d=I-E|0,C=d>>>0>(e+40|0)>>>0,C):0){f=E;C=C?d:v;p=201}if((p|0)==201){d=(i[1314]|0)+C|0;i[1314]=d;if(d>>>0>(i[1315]|0)>>>0)i[1315]=d;d=i[1212]|0;e:do{if(d){E=5272|0;while(1){I=i[E>>2]|0;y=E+4|0;m=i[y>>2]|0;if((f|0)==(I+m|0)){p=213;break}B=i[E+8>>2]|0;if(!B)break;else E=B}if(((p|0)==213?(i[E+12>>2]&8|0)==0:0)?d>>>0>=I>>>0&d>>>0>>0:0){i[y>>2]=m+C;n=(i[1209]|0)+C|0;r=d+8|0;if(!(r&7))r=0;else r=0-r&7;N=n-r|0;i[1212]=d+r;i[1209]=N;i[d+(r+4)>>2]=N|1;i[d+(n+4)>>2]=40;i[1213]=i[1328];break}I=i[1210]|0;if(f>>>0>>0){i[1210]=f;I=f}y=f+C|0;E=5272|0;while(1){if((i[E>>2]|0)==(y|0)){p=223;break}B=i[E+8>>2]|0;if(!B)break;else E=B}if((p|0)==223?(i[E+12>>2]&8|0)==0:0){i[E>>2]=f;s=E+4|0;i[s>>2]=(i[s>>2]|0)+C;s=f+8|0;if(!(s&7))s=0;else s=0-s&7;a=f+(C+8)|0;if(!(a&7))h=0;else h=0-a&7;p=f+(h+C)|0;c=s+e|0;a=f+c|0;l=p-(f+s)-e|0;i[f+(s+4)>>2]=e|3;t:do{if((p|0)!=(d|0)){if((p|0)==(i[1211]|0)){N=(i[1208]|0)+l|0;i[1208]=N;i[1211]=a;i[f+(c+4)>>2]=N|1;i[f+(N+c)>>2]=N;break}d=C+4|0;B=i[f+(d+h)>>2]|0;if((B&3|0)==1){e=B&-8;E=B>>>3;n:do{if(B>>>0>=256){u=i[f+((h|24)+C)>>2]|0;E=i[f+(C+12+h)>>2]|0;do{if((E|0)==(p|0)){y=h|16;B=f+(d+y)|0;E=i[B>>2]|0;if(!E){B=f+(y+C)|0;E=i[B>>2]|0;if(!E){o=0;break}}while(1){m=E+20|0;y=i[m>>2]|0;if(y){E=y;B=m;continue}m=E+16|0;y=i[m>>2]|0;if(!y)break;else{E=y;B=m}}if(B>>>0>>0)Ve();else{i[B>>2]=0;o=E;break}}else{B=i[f+((h|8)+C)>>2]|0;if(B>>>0>>0)Ve();y=B+12|0;if((i[y>>2]|0)!=(p|0))Ve();I=E+8|0;if((i[I>>2]|0)==(p|0)){i[y>>2]=E;i[I>>2]=B;o=E;break}else Ve()}}while(0);if(!u)break;I=i[f+(C+28+h)>>2]|0;E=5128+(I<<2)|0;do{if((p|0)!=(i[E>>2]|0)){if(u>>>0<(i[1210]|0)>>>0)Ve();I=u+16|0;if((i[I>>2]|0)==(p|0))i[I>>2]=o;else i[u+20>>2]=o;if(!o)break n}else{i[E>>2]=o;if(o)break;i[1207]=i[1207]&~(1<>>0

>>0)Ve();i[o+24>>2]=u;I=h|16;u=i[f+(I+C)>>2]|0;do{if(u)if(u>>>0

>>0)Ve();else{i[o+16>>2]=u;i[u+24>>2]=o;break}}while(0);u=i[f+(d+I)>>2]|0;if(!u)break;if(u>>>0<(i[1210]|0)>>>0)Ve();else{i[o+20>>2]=u;i[u+24>>2]=o;break}}else{o=i[f+((h|8)+C)>>2]|0;d=i[f+(C+12+h)>>2]|0;B=4864+(E<<1<<2)|0;do{if((o|0)!=(B|0)){if(o>>>0>>0)Ve();if((i[o+12>>2]|0)==(p|0))break;Ve()}}while(0);if((d|0)==(o|0)){i[1206]=i[1206]&~(1<>>0>>0)Ve();I=d+8|0;if((i[I>>2]|0)==(p|0)){u=I;break}Ve()}}while(0);i[o+12>>2]=d;i[u>>2]=o}}while(0);p=f+((e|h)+C)|0;l=e+l|0}o=p+4|0;i[o>>2]=i[o>>2]&-2;i[f+(c+4)>>2]=l|1;i[f+(l+c)>>2]=l;o=l>>>3;if(l>>>0<256){u=o<<1;n=4864+(u<<2)|0;l=i[1206]|0;o=1<>2]|0;if(o>>>0>=(i[1210]|0)>>>0){A=u;r=o;break}Ve()}}while(0);i[A>>2]=a;i[r+12>>2]=a;i[f+(c+8)>>2]=r;i[f+(c+12)>>2]=n;break}r=l>>>8;do{if(!r)r=0;else{if(l>>>0>16777215){r=31;break}M=(r+1048320|0)>>>16&8;N=r<>>16&4;N=N<>>16&2;r=14-(F|M|r)+(N<>>15)|0;r=l>>>(r+7|0)&1|r<<1}}while(0);u=5128+(r<<2)|0;i[f+(c+28)>>2]=r;i[f+(c+20)>>2]=0;i[f+(c+16)>>2]=0;o=i[1207]|0;A=1<>2]=a;i[f+(c+24)>>2]=u;i[f+(c+12)>>2]=a;i[f+(c+8)>>2]=a;break}A=i[u>>2]|0;if((r|0)==31)r=0;else r=25-(r>>>1)|0;n:do{if((i[A+4>>2]&-8|0)!=(l|0)){r=l<>>31<<2)+16|0;u=i[o>>2]|0;if(!u)break;if((i[u+4>>2]&-8|0)==(l|0)){n=u;break n}else{r=r<<1;A=u}}if(o>>>0<(i[1210]|0)>>>0)Ve();else{i[o>>2]=a;i[f+(c+24)>>2]=A;i[f+(c+12)>>2]=a;i[f+(c+8)>>2]=a;break t}}else n=A}while(0);r=n+8|0;A=i[r>>2]|0;N=i[1210]|0;if(n>>>0>=N>>>0&A>>>0>=N>>>0){i[A+12>>2]=a;i[r>>2]=a;i[f+(c+8)>>2]=A;i[f+(c+12)>>2]=n;i[f+(c+24)>>2]=0;break}else Ve()}else{N=(i[1209]|0)+l|0;i[1209]=N;i[1212]=a;i[f+(c+4)>>2]=N|1}}while(0);N=f+(s|8)|0;g=t;return N|0}r=5272|0;while(1){n=i[r>>2]|0;if(n>>>0<=d>>>0?(h=i[r+4>>2]|0,l=n+h|0,l>>>0>d>>>0):0)break;r=i[r+8>>2]|0}r=n+(h+-39)|0;if(!(r&7))r=0;else r=0-r&7;n=n+(h+-47+r)|0;n=n>>>0<(d+16|0)>>>0?d:n;r=n+8|0;A=f+8|0;if(!(A&7))A=0;else A=0-A&7;N=C+-40-A|0;i[1212]=f+A;i[1209]=N;i[f+(A+4)>>2]=N|1;i[f+(C+-36)>>2]=40;i[1213]=i[1328];i[n+4>>2]=27;i[r+0>>2]=i[1318];i[r+4>>2]=i[1319];i[r+8>>2]=i[1320];i[r+12>>2]=i[1321];i[1318]=f;i[1319]=C;i[1321]=0;i[1320]=r;r=n+28|0;i[r>>2]=7;if((n+32|0)>>>0>>0)do{N=r;r=r+4|0;i[r>>2]=7}while((N+8|0)>>>0>>0);if((n|0)!=(d|0)){n=n-d|0;r=d+(n+4)|0;i[r>>2]=i[r>>2]&-2;i[d+4>>2]=n|1;i[d+n>>2]=n;r=n>>>3;if(n>>>0<256){A=r<<1;n=4864+(A<<2)|0;o=i[1206]|0;r=1<>2]|0;if(r>>>0>=(i[1210]|0)>>>0){c=A;a=r;break}Ve()}}while(0);i[c>>2]=d;i[a+12>>2]=d;i[d+8>>2]=a;i[d+12>>2]=n;break}r=n>>>8;if(r)if(n>>>0>16777215)r=31;else{M=(r+1048320|0)>>>16&8;N=r<>>16&4;N=N<>>16&2;r=14-(F|M|r)+(N<>>15)|0;r=n>>>(r+7|0)&1|r<<1}else r=0;a=5128+(r<<2)|0;i[d+28>>2]=r;i[d+20>>2]=0;i[d+16>>2]=0;A=i[1207]|0;o=1<>2]=d;i[d+24>>2]=a;i[d+12>>2]=d;i[d+8>>2]=d;break}A=i[a>>2]|0;if((r|0)==31)r=0;else r=25-(r>>>1)|0;t:do{if((i[A+4>>2]&-8|0)!=(n|0)){r=n<>>31<<2)+16|0;o=i[A>>2]|0;if(!o)break;if((i[o+4>>2]&-8|0)==(n|0)){s=o;break t}else{r=r<<1;a=o}}if(A>>>0<(i[1210]|0)>>>0)Ve();else{i[A>>2]=d;i[d+24>>2]=a;i[d+12>>2]=d;i[d+8>>2]=d;break e}}else s=A}while(0);r=s+8|0;n=i[r>>2]|0;N=i[1210]|0;if(s>>>0>=N>>>0&n>>>0>=N>>>0){i[n+12>>2]=d;i[r>>2]=d;i[d+8>>2]=n;i[d+12>>2]=s;i[d+24>>2]=0;break}else Ve()}}else{N=i[1210]|0;if((N|0)==0|f>>>0>>0)i[1210]=f;i[1318]=f;i[1319]=C;i[1321]=0;i[1215]=i[1324];i[1214]=-1;n=0;do{N=n<<1;M=4864+(N<<2)|0;i[4864+(N+3<<2)>>2]=M;i[4864+(N+2<<2)>>2]=M;n=n+1|0}while((n|0)!=32);n=f+8|0;if(!(n&7))n=0;else n=0-n&7;N=C+-40-n|0;i[1212]=f+n;i[1209]=N;i[f+(n+4)>>2]=N|1;i[f+(C+-36)>>2]=40;i[1213]=i[1328]}}while(0);n=i[1209]|0;if(n>>>0>e>>>0){M=n-e|0;i[1209]=M;N=i[1212]|0;i[1212]=N+e;i[N+(e+4)>>2]=M|1;i[N+4>>2]=e|3;N=N+8|0;g=t;return N|0}}i[(je()|0)>>2]=12;N=0;g=t;return N|0}function Tr(e){e=e|0;var t=0,n=0,r=0,A=0,o=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0,d=0,I=0,E=0,B=0,y=0,m=0;t=g;if(!e){g=t;return}C=e+-8|0;d=i[1210]|0;if(C>>>0>>0)Ve();h=i[e+-4>>2]|0;l=h&3;if((l|0)==1)Ve();a=h&-8;s=e+(a+-8)|0;do{if(!(h&1)){B=i[C>>2]|0;if(!l){g=t;return}C=-8-B|0;h=e+C|0;l=B+a|0;if(h>>>0>>0)Ve();if((h|0)==(i[1211]|0)){r=e+(a+-4)|0;p=i[r>>2]|0;if((p&3|0)!=3){r=h;p=l;break}i[1208]=l;i[r>>2]=p&-2;i[e+(C+4)>>2]=l|1;i[s>>2]=l;g=t;return}E=B>>>3;if(B>>>0<256){r=i[e+(C+8)>>2]|0;p=i[e+(C+12)>>2]|0;f=4864+(E<<1<<2)|0;if((r|0)!=(f|0)){if(r>>>0>>0)Ve();if((i[r+12>>2]|0)!=(h|0))Ve()}if((p|0)==(r|0)){i[1206]=i[1206]&~(1<>>0>>0)Ve();f=p+8|0;if((i[f>>2]|0)==(h|0))I=f;else Ve()}else I=p+8|0;i[r+12>>2]=p;i[I>>2]=r;r=h;p=l;break}I=i[e+(C+24)>>2]|0;E=i[e+(C+12)>>2]|0;do{if((E|0)==(h|0)){B=e+(C+20)|0;E=i[B>>2]|0;if(!E){B=e+(C+16)|0;E=i[B>>2]|0;if(!E){f=0;break}}while(1){y=E+20|0;m=i[y>>2]|0;if(m){E=m;B=y;continue}y=E+16|0;m=i[y>>2]|0;if(!m)break;else{E=m;B=y}}if(B>>>0>>0)Ve();else{i[B>>2]=0;f=E;break}}else{B=i[e+(C+8)>>2]|0;if(B>>>0>>0)Ve();d=B+12|0;if((i[d>>2]|0)!=(h|0))Ve();y=E+8|0;if((i[y>>2]|0)==(h|0)){i[d>>2]=E;i[y>>2]=B;f=E;break}else Ve()}}while(0);if(I){d=i[e+(C+28)>>2]|0;E=5128+(d<<2)|0;if((h|0)==(i[E>>2]|0)){i[E>>2]=f;if(!f){i[1207]=i[1207]&~(1<>>0<(i[1210]|0)>>>0)Ve();d=I+16|0;if((i[d>>2]|0)==(h|0))i[d>>2]=f;else i[I+20>>2]=f;if(!f){r=h;p=l;break}}d=i[1210]|0;if(f>>>0>>0)Ve();i[f+24>>2]=I;I=i[e+(C+16)>>2]|0;do{if(I)if(I>>>0>>0)Ve();else{i[f+16>>2]=I;i[I+24>>2]=f;break}}while(0);C=i[e+(C+20)>>2]|0;if(C)if(C>>>0<(i[1210]|0)>>>0)Ve();else{i[f+20>>2]=C;i[C+24>>2]=f;r=h;p=l;break}else{r=h;p=l}}else{r=h;p=l}}else{r=C;p=a}}while(0);if(r>>>0>=s>>>0)Ve();l=e+(a+-4)|0;h=i[l>>2]|0;if(!(h&1))Ve();if(!(h&2)){if((s|0)==(i[1212]|0)){m=(i[1209]|0)+p|0;i[1209]=m;i[1212]=r;i[r+4>>2]=m|1;if((r|0)!=(i[1211]|0)){g=t;return}i[1211]=0;i[1208]=0;g=t;return}if((s|0)==(i[1211]|0)){m=(i[1208]|0)+p|0;i[1208]=m;i[1211]=r;i[r+4>>2]=m|1;i[r+m>>2]=m;g=t;return}p=(h&-8)+p|0;l=h>>>3;do{if(h>>>0>=256){u=i[e+(a+16)>>2]|0;l=i[e+(a|4)>>2]|0;do{if((l|0)==(s|0)){h=e+(a+12)|0;l=i[h>>2]|0;if(!l){h=e+(a+8)|0;l=i[h>>2]|0;if(!l){c=0;break}}while(1){C=l+20|0;f=i[C>>2]|0;if(f){l=f;h=C;continue}f=l+16|0;C=i[f>>2]|0;if(!C)break;else{l=C;h=f}}if(h>>>0<(i[1210]|0)>>>0)Ve();else{i[h>>2]=0;c=l;break}}else{h=i[e+a>>2]|0;if(h>>>0<(i[1210]|0)>>>0)Ve();f=h+12|0;if((i[f>>2]|0)!=(s|0))Ve();C=l+8|0;if((i[C>>2]|0)==(s|0)){i[f>>2]=l;i[C>>2]=h;c=l;break}else Ve()}}while(0);if(u){l=i[e+(a+20)>>2]|0;h=5128+(l<<2)|0;if((s|0)==(i[h>>2]|0)){i[h>>2]=c;if(!c){i[1207]=i[1207]&~(1<>>0<(i[1210]|0)>>>0)Ve();l=u+16|0;if((i[l>>2]|0)==(s|0))i[l>>2]=c;else i[u+20>>2]=c;if(!c)break}s=i[1210]|0;if(c>>>0>>0)Ve();i[c+24>>2]=u;u=i[e+(a+8)>>2]|0;do{if(u)if(u>>>0>>0)Ve();else{i[c+16>>2]=u;i[u+24>>2]=c;break}}while(0);s=i[e+(a+12)>>2]|0;if(s)if(s>>>0<(i[1210]|0)>>>0)Ve();else{i[c+20>>2]=s;i[s+24>>2]=c;break}}}else{c=i[e+a>>2]|0;a=i[e+(a|4)>>2]|0;e=4864+(l<<1<<2)|0;if((c|0)!=(e|0)){if(c>>>0<(i[1210]|0)>>>0)Ve();if((i[c+12>>2]|0)!=(s|0))Ve()}if((a|0)==(c|0)){i[1206]=i[1206]&~(1<>>0<(i[1210]|0)>>>0)Ve();e=a+8|0;if((i[e>>2]|0)==(s|0))u=e;else Ve()}else u=a+8|0;i[c+12>>2]=a;i[u>>2]=c}}while(0);i[r+4>>2]=p|1;i[r+p>>2]=p;if((r|0)==(i[1211]|0)){i[1208]=p;g=t;return}}else{i[l>>2]=h&-2;i[r+4>>2]=p|1;i[r+p>>2]=p}s=p>>>3;if(p>>>0<256){a=s<<1;n=4864+(a<<2)|0;c=i[1206]|0;s=1<>2]|0;if(s>>>0<(i[1210]|0)>>>0)Ve();else{A=a;o=s}}else{i[1206]=c|s;A=4864+(a+2<<2)|0;o=n}i[A>>2]=r;i[o+12>>2]=r;i[r+8>>2]=o;i[r+12>>2]=n;g=t;return}A=p>>>8;if(A)if(p>>>0>16777215)A=31;else{y=(A+1048320|0)>>>16&8;m=A<>>16&4;m=m<>>16&2;A=14-(B|y|A)+(m<>>15)|0;A=p>>>(A+7|0)&1|A<<1}else A=0;o=5128+(A<<2)|0;i[r+28>>2]=A;i[r+20>>2]=0;i[r+16>>2]=0;a=i[1207]|0;s=1<>2]|0;if((A|0)==31)A=0;else A=25-(A>>>1)|0;t:do{if((i[o+4>>2]&-8|0)!=(p|0)){A=p<>>31<<2)+16|0;s=i[a>>2]|0;if(!s)break;if((i[s+4>>2]&-8|0)==(p|0)){n=s;break t}else{A=A<<1;o=s}}if(a>>>0<(i[1210]|0)>>>0)Ve();else{i[a>>2]=r;i[r+24>>2]=o;i[r+12>>2]=r;i[r+8>>2]=r;break e}}else n=o}while(0);o=n+8|0;A=i[o>>2]|0;m=i[1210]|0;if(n>>>0>=m>>>0&A>>>0>=m>>>0){i[A+12>>2]=r;i[o>>2]=r;i[r+8>>2]=A;i[r+12>>2]=n;i[r+24>>2]=0;break}else Ve()}else{i[1207]=a|s;i[o>>2]=r;i[r+24>>2]=o;i[r+12>>2]=r;i[r+8>>2]=r}}while(0);m=(i[1214]|0)+-1|0;i[1214]=m;if(!m)n=5280|0;else{g=t;return}while(1){n=i[n>>2]|0;if(!n)break;else n=n+8|0}i[1214]=-1;g=t;return}function Ur(e,t){e=e|0;t=t|0;var n=0,r=0,A=0;n=g;do{if(e){if(t>>>0>4294967231){i[(je()|0)>>2]=12;r=0;break}if(t>>>0<11)r=16;else r=t+11&-8;r=eA(e+-8|0,r)|0;if(r){r=r+8|0;break}r=Or(t)|0;if(!r)r=0;else{A=i[e+-4>>2]|0;A=(A&-8)-((A&3|0)==0?8:4)|0;uA(r|0,e|0,(A>>>0>>0?A:t)|0)|0;Tr(e)}}else r=Or(t)|0}while(0);g=n;return r|0}function Yr(e){e=e|0;if((e|0)==32)e=1;else e=(e+-9|0)>>>0<5;return e&1|0}function jr(e,t,n,A,s){e=e|0;t=t|0;n=n|0;A=A|0;s=s|0;var a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0,d=0,I=0,E=0;a=g;if(t>>>0>36){i[(je()|0)>>2]=22;I=0;E=0;R=I;g=a;return E|0}c=e+4|0;u=e+100|0;do{l=i[c>>2]|0;if(l>>>0<(i[u>>2]|0)>>>0){i[c>>2]=l+1;p=o[l>>0]|0}else p=Hr(e)|0}while((Yr(p)|0)!=0);do{if((p|0)==43|(p|0)==45){l=((p|0)==45)<<31>>31;h=i[c>>2]|0;if(h>>>0<(i[u>>2]|0)>>>0){i[c>>2]=h+1;p=o[h>>0]|0;break}else{p=Hr(e)|0;break}}else l=0}while(0);h=(t|0)==0;do{if((t&-17|0)==0&(p|0)==48){p=i[c>>2]|0;if(p>>>0<(i[u>>2]|0)>>>0){i[c>>2]=p+1;p=o[p>>0]|0}else p=Hr(e)|0;if((p|32|0)!=120)if(h){t=8;n=46;break}else{n=32;break}t=i[c>>2]|0;if(t>>>0<(i[u>>2]|0)>>>0){i[c>>2]=t+1;p=o[t>>0]|0}else p=Hr(e)|0;if((o[p+5321>>0]|0)>15){A=(i[u>>2]|0)==0;if(!A)i[c>>2]=(i[c>>2]|0)+-1;if(!n){Jr(e,0);I=0;E=0;R=I;g=a;return E|0}if(A){I=0;E=0;R=I;g=a;return E|0}i[c>>2]=(i[c>>2]|0)+-1;I=0;E=0;R=I;g=a;return E|0}else{t=16;n=46}}else{t=h?10:t;if((o[p+5321>>0]|0)>>>0>>0)n=32;else{if(i[u>>2]|0)i[c>>2]=(i[c>>2]|0)+-1;Jr(e,0);i[(je()|0)>>2]=22;I=0;E=0;R=I;g=a;return E|0}}}while(0);if((n|0)==32)if((t|0)==10){t=p+-48|0;if(t>>>0<10){h=0;do{h=(h*10|0)+t|0;t=i[c>>2]|0;if(t>>>0<(i[u>>2]|0)>>>0){i[c>>2]=t+1;p=o[t>>0]|0}else p=Hr(e)|0;t=p+-48|0}while(t>>>0<10&h>>>0<429496729);f=0}else{h=0;f=0}t=p+-48|0;if(t>>>0<10){do{C=dA(h|0,f|0,10,0)|0;d=R;I=((t|0)<0)<<31>>31;E=~I;if(d>>>0>E>>>0|(d|0)==(E|0)&C>>>0>~t>>>0)break;h=aA(C|0,d|0,t|0,I|0)|0;f=R;t=i[c>>2]|0;if(t>>>0<(i[u>>2]|0)>>>0){i[c>>2]=t+1;p=o[t>>0]|0}else p=Hr(e)|0;t=p+-48|0}while(t>>>0<10&(f>>>0<429496729|(f|0)==429496729&h>>>0<2576980378));if(t>>>0<=9){t=10;n=72}}}else n=46;e:do{if((n|0)==46){if(!(t+-1&t)){n=r[5584+((t*23|0)>>>5&7)>>0]|0;d=r[p+5321>>0]|0;h=d&255;if(h>>>0>>0){p=h;h=0;do{h=p|h<>2]|0;if(p>>>0<(i[u>>2]|0)>>>0){i[c>>2]=p+1;I=o[p>>0]|0}else I=Hr(e)|0;d=r[I+5321>>0]|0;p=d&255}while(p>>>0>>0&h>>>0<134217728);f=0}else{f=0;h=0;I=p}p=cA(-1,-1,n|0)|0;C=R;if((d&255)>>>0>=t>>>0|(f>>>0>C>>>0|(f|0)==(C|0)&h>>>0>p>>>0)){p=I;n=72;break}while(1){h=oA(h|0,f|0,n|0)|0;f=R;h=d&255|h;d=i[c>>2]|0;if(d>>>0<(i[u>>2]|0)>>>0){i[c>>2]=d+1;I=o[d>>0]|0}else I=Hr(e)|0;d=r[I+5321>>0]|0;if((d&255)>>>0>=t>>>0|(f>>>0>C>>>0|(f|0)==(C|0)&h>>>0>p>>>0)){p=I;n=72;break e}}}d=r[p+5321>>0]|0;n=d&255;if(n>>>0>>0){h=0;do{h=n+(Ae(h,t)|0)|0;n=i[c>>2]|0;if(n>>>0<(i[u>>2]|0)>>>0){i[c>>2]=n+1;C=o[n>>0]|0}else C=Hr(e)|0;d=r[C+5321>>0]|0;n=d&255}while(n>>>0>>0&h>>>0<119304647);f=0}else{h=0;f=0;C=p}if((d&255)>>>0>>0){n=IA(-1,-1,t|0,0)|0;p=R;while(1){if(f>>>0>p>>>0|(f|0)==(p|0)&h>>>0>n>>>0){p=C;n=72;break e}I=dA(h|0,f|0,t|0,0)|0;E=R;d=d&255;if(E>>>0>4294967295|(E|0)==-1&I>>>0>~d>>>0){p=C;n=72;break e}h=aA(d|0,0,I|0,E|0)|0;f=R;C=i[c>>2]|0;if(C>>>0<(i[u>>2]|0)>>>0){i[c>>2]=C+1;C=o[C>>0]|0}else C=Hr(e)|0;d=r[C+5321>>0]|0;if((d&255)>>>0>=t>>>0){p=C;n=72;break}}}else{p=C;n=72}}}while(0);if((n|0)==72)if((o[p+5321>>0]|0)>>>0>>0){do{n=i[c>>2]|0;if(n>>>0<(i[u>>2]|0)>>>0){i[c>>2]=n+1;n=o[n>>0]|0}else n=Hr(e)|0}while((o[n+5321>>0]|0)>>>0>>0);i[(je()|0)>>2]=34;f=s;h=A}if(i[u>>2]|0)i[c>>2]=(i[c>>2]|0)+-1;if(!(f>>>0>>0|(f|0)==(s|0)&h>>>0>>0)){if(!((A&1|0)!=0|0!=0|(l|0)!=0)){i[(je()|0)>>2]=34;E=aA(A|0,s|0,-1,-1)|0;I=R;R=I;g=a;return E|0}if(f>>>0>s>>>0|(f|0)==(s|0)&h>>>0>A>>>0){i[(je()|0)>>2]=34;I=s;E=A;R=I;g=a;return E|0}}E=((l|0)<0)<<31>>31;E=AA(h^l|0,f^E|0,l|0,E|0)|0;I=R;R=I;g=a;return E|0}function Gr(e,t,n){e=e|0;t=t|0;n=n|0;var A=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0.0,d=0,I=0,E=0,B=0,y=0,m=0,v=0,b=0,D=0,S=0,k=0,_=0,F=0.0,M=0,N=0.0,K=0.0,x=0.0,P=0.0;A=g;g=g+512|0;c=A;if(!t){t=24;a=-149}else if((t|0)==2){t=53;a=-1074}else if((t|0)==1){t=53;a=-1074}else{K=0.0;g=A;return+K}h=e+4|0;p=e+100|0;do{s=i[h>>2]|0;if(s>>>0<(i[p>>2]|0)>>>0){i[h>>2]=s+1;B=o[s>>0]|0}else B=Hr(e)|0}while((Yr(B)|0)!=0);do{if((B|0)==43|(B|0)==45){s=1-(((B|0)==45&1)<<1)|0;l=i[h>>2]|0;if(l>>>0<(i[p>>2]|0)>>>0){i[h>>2]=l+1;B=o[l>>0]|0;break}else{B=Hr(e)|0;break}}else s=1}while(0);d=0;do{if((B|32|0)!=(r[5600+d>>0]|0))break;do{if(d>>>0<7){l=i[h>>2]|0;if(l>>>0<(i[p>>2]|0)>>>0){i[h>>2]=l+1;B=o[l>>0]|0;break}else{B=Hr(e)|0;break}}}while(0);d=d+1|0}while(d>>>0<8);do{if((d|0)==3)f=23;else if((d|0)!=8){l=(n|0)!=0;if(d>>>0>3&l)if((d|0)==8)break;else{f=23;break}e:do{if(!d){d=0;do{if((B|32|0)!=(r[5616+d>>0]|0))break e;do{if(d>>>0<2){I=i[h>>2]|0;if(I>>>0<(i[p>>2]|0)>>>0){i[h>>2]=I+1;B=o[I>>0]|0;break}else{B=Hr(e)|0;break}}}while(0);d=d+1|0}while(d>>>0<3)}}while(0);if(!d){do{if((B|0)==48){l=i[h>>2]|0;if(l>>>0<(i[p>>2]|0)>>>0){i[h>>2]=l+1;l=o[l>>0]|0}else l=Hr(e)|0;if((l|32|0)!=120){if(!(i[p>>2]|0)){B=48;break}i[h>>2]=(i[h>>2]|0)+-1;B=48;break}c=i[h>>2]|0;if(c>>>0<(i[p>>2]|0)>>>0){i[h>>2]=c+1;v=o[c>>0]|0;y=0}else{v=Hr(e)|0;y=0}while(1){if((v|0)==46){f=70;break}else if((v|0)!=48){c=0;l=0;I=0;d=0;B=0;m=0;F=1.0;E=0;C=0.0;break}c=i[h>>2]|0;if(c>>>0<(i[p>>2]|0)>>>0){i[h>>2]=c+1;v=o[c>>0]|0;y=1;continue}else{v=Hr(e)|0;y=1;continue}}if((f|0)==70){c=i[h>>2]|0;if(c>>>0<(i[p>>2]|0)>>>0){i[h>>2]=c+1;v=o[c>>0]|0}else v=Hr(e)|0;if((v|0)==48){I=0;d=0;do{c=i[h>>2]|0;if(c>>>0<(i[p>>2]|0)>>>0){i[h>>2]=c+1;v=o[c>>0]|0}else v=Hr(e)|0;I=aA(I|0,d|0,-1,-1)|0;d=R}while((v|0)==48);c=0;l=0;y=1;B=1;m=0;F=1.0;E=0;C=0.0}else{c=0;l=0;I=0;d=0;B=1;m=0;F=1.0;E=0;C=0.0}}e:while(1){D=v+-48|0;do{if(D>>>0>=10){b=v|32;S=(v|0)==46;if(!((b+-97|0)>>>0<6|S))break e;if(S)if(!B){I=l;d=c;B=1;break}else{v=46;break e}else{D=(v|0)>57?b+-87|0:D;f=83;break}}else f=83}while(0);if((f|0)==83){f=0;do{if(!((c|0)<0|(c|0)==0&l>>>0<8)){if((c|0)<0|(c|0)==0&l>>>0<14){K=F*.0625;N=K;C=C+K*+(D|0);break}if((D|0)==0|(m|0)!=0)N=F;else{m=1;N=F;C=C+F*.5}}else{N=F;E=D+(E<<4)|0}}while(0);l=aA(l|0,c|0,1,0)|0;c=R;y=1;F=N}v=i[h>>2]|0;if(v>>>0<(i[p>>2]|0)>>>0){i[h>>2]=v+1;v=o[v>>0]|0;continue}else{v=Hr(e)|0;continue}}if(!y){t=(i[p>>2]|0)==0;if(!t)i[h>>2]=(i[h>>2]|0)+-1;if(n){if(!t?(u=i[h>>2]|0,i[h>>2]=u+-1,(B|0)!=0):0)i[h>>2]=u+-2}else Jr(e,0);K=+(s|0)*0.0;g=A;return+K}f=(B|0)==0;u=f?l:I;f=f?c:d;if((c|0)<0|(c|0)==0&l>>>0<8)do{E=E<<4;l=aA(l|0,c|0,1,0)|0;c=R}while((c|0)<0|(c|0)==0&l>>>0<8);do{if((v|32|0)==112){l=nA(e,n)|0;c=R;if((l|0)==0&(c|0)==-2147483648)if(!n){Jr(e,0);K=0.0;g=A;return+K}else{if(!(i[p>>2]|0)){l=0;c=0;break}i[h>>2]=(i[h>>2]|0)+-1;l=0;c=0;break}}else if(!(i[p>>2]|0)){l=0;c=0}else{i[h>>2]=(i[h>>2]|0)+-1;l=0;c=0}}while(0);u=oA(u|0,f|0,2)|0;u=aA(u|0,R|0,-32,-1)|0;c=aA(u|0,R|0,l|0,c|0)|0;u=R;if(!E){K=+(s|0)*0.0;g=A;return+K}if((u|0)>0|(u|0)==0&c>>>0>(0-a|0)>>>0){i[(je()|0)>>2]=34;K=+(s|0)*1.7976931348623157e+308*1.7976931348623157e+308;g=A;return+K}M=a+-106|0;_=((M|0)<0)<<31>>31;if((u|0)<(_|0)|(u|0)==(_|0)&c>>>0>>0){i[(je()|0)>>2]=34;K=+(s|0)*2.2250738585072014e-308*2.2250738585072014e-308;g=A;return+K}if((E|0)>-1)do{E=E<<1;if(!(C>=.5))F=C;else{F=C+-1.0;E=E|1}C=C+F;c=aA(c|0,u|0,-1,-1)|0;u=R}while((E|0)>-1);a=AA(32,0,a|0,((a|0)<0)<<31>>31|0)|0;a=aA(c|0,u|0,a|0,R|0)|0;M=R;if(0>(M|0)|0==(M|0)&t>>>0>a>>>0)if((a|0)<0){t=0;f=126}else{t=a;f=124}else f=124;if((f|0)==124)if((t|0)<53)f=126;else{a=t;F=+(s|0);N=0.0}if((f|0)==126){N=+(s|0);a=t;F=N;N=+Xe(+ +qr(1.0,84-t|0),+N)}M=(a|0)<32&C!=0.0&(E&1|0)==0;C=F*(M?0.0:C)+(N+F*+(((M&1)+E|0)>>>0))-N;if(!(C!=0.0))i[(je()|0)>>2]=34;K=+zr(C,c);g=A;return+K}}while(0);l=a+t|0;u=0-l|0;D=0;while(1){if((B|0)==46){f=137;break}else if((B|0)!=48){k=0;S=0;b=0;break}d=i[h>>2]|0;if(d>>>0<(i[p>>2]|0)>>>0){i[h>>2]=d+1;B=o[d>>0]|0;D=1;continue}else{B=Hr(e)|0;D=1;continue}}if((f|0)==137){f=i[h>>2]|0;if(f>>>0<(i[p>>2]|0)>>>0){i[h>>2]=f+1;B=o[f>>0]|0}else B=Hr(e)|0;if((B|0)==48){k=0;S=0;do{k=aA(k|0,S|0,-1,-1)|0;S=R;f=i[h>>2]|0;if(f>>>0<(i[p>>2]|0)>>>0){i[h>>2]=f+1;B=o[f>>0]|0}else B=Hr(e)|0}while((B|0)==48);D=1;b=1}else{k=0;S=0;b=1}}i[c>>2]=0;v=B+-48|0;_=(B|0)==46;e:do{if(v>>>0<10|_){f=c+496|0;m=0;y=0;E=0;I=0;d=0;t:while(1){do{if(_)if(!b){k=m;S=y;b=1}else break t;else{_=aA(m|0,y|0,1,0)|0;y=R;M=(B|0)!=48;if((I|0)>=125){if(!M){m=_;break}i[f>>2]=i[f>>2]|1;m=_;break}m=c+(I<<2)|0;if(E)v=B+-48+((i[m>>2]|0)*10|0)|0;i[m>>2]=v;E=E+1|0;v=(E|0)==9;m=_;D=1;E=v?0:E;I=(v&1)+I|0;d=M?_:d}}while(0);B=i[h>>2]|0;if(B>>>0<(i[p>>2]|0)>>>0){i[h>>2]=B+1;B=o[B>>0]|0}else B=Hr(e)|0;v=B+-48|0;_=(B|0)==46;if(!(v>>>0<10|_)){f=160;break e}}v=(D|0)!=0;f=168}else{m=0;y=0;E=0;I=0;d=0;f=160}}while(0);do{if((f|0)==160){v=(b|0)==0;k=v?m:k;S=v?y:S;v=(D|0)!=0;if(!(v&(B|32|0)==101))if((B|0)>-1){f=168;break}else{f=170;break}v=nA(e,n)|0;B=R;do{if((v|0)==0&(B|0)==-2147483648)if(!n){Jr(e,0);K=0.0;g=A;return+K}else{if(!(i[p>>2]|0)){v=0;B=0;break}i[h>>2]=(i[h>>2]|0)+-1;v=0;B=0;break}}while(0);e=aA(v|0,B|0,k|0,S|0)|0;S=R}}while(0);if((f|0)==168)if(i[p>>2]|0){i[h>>2]=(i[h>>2]|0)+-1;if(v)e=k;else f=171}else f=170;if((f|0)==170)if(v)e=k;else f=171;if((f|0)==171){i[(je()|0)>>2]=22;Jr(e,0);K=0.0;g=A;return+K}h=i[c>>2]|0;if(!h){K=+(s|0)*0.0;g=A;return+K}if((e|0)==(m|0)&(S|0)==(y|0)&((y|0)<0|(y|0)==0&m>>>0<10)?t>>>0>30|(h>>>t|0)==0:0){K=+(s|0)*+(h>>>0);g=A;return+K}M=(a|0)/-2|0;_=((M|0)<0)<<31>>31;if((S|0)>(_|0)|(S|0)==(_|0)&e>>>0>M>>>0){i[(je()|0)>>2]=34;K=+(s|0)*1.7976931348623157e+308*1.7976931348623157e+308;g=A;return+K}M=a+-106|0;_=((M|0)<0)<<31>>31;if((S|0)<(_|0)|(S|0)==(_|0)&e>>>0>>0){i[(je()|0)>>2]=34;K=+(s|0)*2.2250738585072014e-308*2.2250738585072014e-308;g=A;return+K}if(E){if((E|0)<9){h=c+(I<<2)|0;p=i[h>>2]|0;do{p=p*10|0;E=E+1|0}while((E|0)!=9);i[h>>2]=p}I=I+1|0}if((d|0)<9?(d|0)<=(e|0)&(e|0)<18:0){if((e|0)==9){K=+(s|0)*+((i[c>>2]|0)>>>0);g=A;return+K}if((e|0)<9){K=+(s|0)*+((i[c>>2]|0)>>>0)/+(i[5632+(8-e<<2)>>2]|0);g=A;return+K}M=t+27+(Ae(e,-3)|0)|0;h=i[c>>2]|0;if((M|0)>30|(h>>>M|0)==0){K=+(s|0)*+(h>>>0)*+(i[5632+(e+-10<<2)>>2]|0);g=A;return+K}}h=(e|0)%9|0;if(!h){h=0;p=0}else{n=(e|0)>-1?h:h+9|0;f=i[5632+(8-n<<2)>>2]|0;if(I){d=1e9/(f|0)|0;h=0;p=0;E=0;do{k=c+(E<<2)|0;_=i[k>>2]|0;M=((_>>>0)/(f>>>0)|0)+p|0;i[k>>2]=M;p=Ae((_>>>0)%(f>>>0)|0,d)|0;_=E;E=E+1|0;if((_|0)==(h|0)&(M|0)==0){h=E&127;e=e+-9|0}}while((E|0)!=(I|0));if(p){i[c+(I<<2)>>2]=p;I=I+1|0}}else{h=0;I=0}p=0;e=9-n+e|0}e:while(1){n=c+(h<<2)|0;if((e|0)<18){do{d=0;n=I+127|0;while(1){n=n&127;f=c+(n<<2)|0;E=oA(i[f>>2]|0,0,29)|0;E=aA(E|0,R|0,d|0,0)|0;d=R;if(d>>>0>0|(d|0)==0&E>>>0>1e9){M=IA(E|0,d|0,1e9,0)|0;E=EA(E|0,d|0,1e9,0)|0;d=M}else d=0;i[f>>2]=E;f=(n|0)==(h|0);if(!((n|0)!=(I+127&127|0)|f))I=(E|0)==0?n:I;if(f)break;else n=n+-1|0}p=p+-29|0}while((d|0)==0)}else{if((e|0)!=18)break;do{if((i[n>>2]|0)>>>0>=9007199){e=18;break e}d=0;f=I+127|0;while(1){f=f&127;E=c+(f<<2)|0;B=oA(i[E>>2]|0,0,29)|0;B=aA(B|0,R|0,d|0,0)|0;d=R;if(d>>>0>0|(d|0)==0&B>>>0>1e9){M=IA(B|0,d|0,1e9,0)|0;B=EA(B|0,d|0,1e9,0)|0;d=M}else d=0;i[E>>2]=B;E=(f|0)==(h|0);if(!((f|0)!=(I+127&127|0)|E))I=(B|0)==0?f:I;if(E)break;else f=f+-1|0}p=p+-29|0}while((d|0)==0)}h=h+127&127;if((h|0)==(I|0)){M=I+127&127;I=c+((I+126&127)<<2)|0;i[I>>2]=i[I>>2]|i[c+(M<<2)>>2];I=M}i[c+(h<<2)>>2]=d;e=e+9|0}e:while(1){n=I+1&127;f=c+((I+127&127)<<2)|0;while(1){E=(e|0)==18;d=(e|0)>27?9:1;while(1){B=0;while(1){y=B+h&127;if((y|0)==(I|0)){B=2;break}m=i[c+(y<<2)>>2]|0;v=i[5624+(B<<2)>>2]|0;if(m>>>0>>0){B=2;break}y=B+1|0;if(m>>>0>v>>>0)break;if((y|0)<2)B=y;else{B=y;break}}if((B|0)==2&E)break e;p=d+p|0;if((h|0)==(I|0))h=I;else break}E=(1<>>d;y=h;m=0;do{k=c+(h<<2)|0;_=i[k>>2]|0;M=(_>>>d)+m|0;i[k>>2]=M;m=Ae(_&E,B)|0;M=(h|0)==(y|0)&(M|0)==0;h=h+1&127;e=M?e+-9|0:e;y=M?h:y}while((h|0)!=(I|0));if(!m){h=y;continue}if((n|0)!=(y|0))break;i[f>>2]=i[f>>2]|1;h=y}i[c+(I<<2)>>2]=m;h=y;I=n}e=h&127;if((e|0)==(I|0)){i[c+(n+-1<<2)>>2]=0;I=n}F=+((i[c+(e<<2)>>2]|0)>>>0);e=h+1&127;if((e|0)==(I|0)){I=I+1&127;i[c+(I+-1<<2)>>2]=0}C=+(s|0);N=C*(F*1.0e9+ +((i[c+(e<<2)>>2]|0)>>>0));s=p+53|0;a=s-a|0;if((a|0)<(t|0))if((a|0)<0){t=0;e=1;f=244}else{t=a;e=1;f=243}else{e=0;f=243}if((f|0)==243)if((t|0)<53)f=244;else{F=0.0;K=0.0}if((f|0)==244){P=+Xe(+ +qr(1.0,105-t|0),+N);x=+it(+N,+ +qr(1.0,53-t|0));F=P;K=x;N=P+(N-x)}n=h+2&127;do{if((n|0)!=(I|0)){c=i[c+(n<<2)>>2]|0;do{if(c>>>0>=5e8){if(c>>>0>5e8){K=C*.75+K;break}if((h+3&127|0)==(I|0)){K=C*.5+K;break}else{K=C*.75+K;break}}else{if((c|0)==0?(h+3&127|0)==(I|0):0)break;K=C*.25+K}}while(0);if((53-t|0)<=1)break;if(+it(+K,1.0)!=0.0)break;K=K+1.0}}while(0);C=N+K-F;do{if((s&2147483647|0)>(-2-l|0)){if(+J(+C)>=9007199254740992.0){e=(e|0)!=0&(t|0)==(a|0)?0:e;p=p+1|0;C=C*.5}if((p+50|0)<=(u|0)?!((e|0)!=0&K!=0.0):0)break;i[(je()|0)>>2]=34}}while(0);P=+zr(C,p);g=A;return+P}else if((d|0)==3){t=i[h>>2]|0;if(t>>>0<(i[p>>2]|0)>>>0){i[h>>2]=t+1;t=o[t>>0]|0}else t=Hr(e)|0;if((t|0)==40)t=1;else{if(!(i[p>>2]|0)){P=Q;g=A;return+P}i[h>>2]=(i[h>>2]|0)+-1;P=Q;g=A;return+P}while(1){s=i[h>>2]|0;if(s>>>0<(i[p>>2]|0)>>>0){i[h>>2]=s+1;s=o[s>>0]|0}else s=Hr(e)|0;if(!((s+-48|0)>>>0<10|(s+-65|0)>>>0<26)?!((s+-97|0)>>>0<26|(s|0)==95):0)break;t=t+1|0}if((s|0)==41){P=Q;g=A;return+P}s=(i[p>>2]|0)==0;if(!s)i[h>>2]=(i[h>>2]|0)+-1;if(!l){i[(je()|0)>>2]=22;Jr(e,0);P=0.0;g=A;return+P}if((t|0)==0|s){P=Q;g=A;return+P}do{t=t+-1|0;i[h>>2]=(i[h>>2]|0)+-1}while((t|0)!=0);C=Q;g=A;return+C}else{if(i[p>>2]|0)i[h>>2]=(i[h>>2]|0)+-1;i[(je()|0)>>2]=22;Jr(e,0);P=0.0;g=A;return+P}}}while(0);if((f|0)==23){t=(i[p>>2]|0)==0;if(!t)i[h>>2]=(i[h>>2]|0)+-1;if(!(d>>>0<4|(n|0)==0|t))do{i[h>>2]=(i[h>>2]|0)+-1;d=d+-1|0}while(d>>>0>3)}P=+(s|0)*w;g=A;return+P}function Jr(e,t){e=e|0;t=t|0;var n=0,r=0,A=0,o=0;n=g;i[e+104>>2]=t;A=i[e+8>>2]|0;r=i[e+4>>2]|0;o=A-r|0;i[e+108>>2]=o;if((t|0)!=0&(o|0)>(t|0)){i[e+100>>2]=r+t;g=n;return}else{i[e+100>>2]=A;g=n;return}}function Hr(e){e=e|0;var t=0,n=0,A=0,s=0,a=0,c=0,u=0;n=g;a=e+104|0;u=i[a>>2]|0;if(!((u|0)!=0?(i[e+108>>2]|0)>=(u|0):0))c=3;if((c|0)==3?(t=Xr(e)|0,(t|0)>=0):0){c=i[a>>2]|0;a=i[e+8>>2]|0;if((c|0)!=0?(A=i[e+4>>2]|0,s=c-(i[e+108>>2]|0)+-1|0,(a-A|0)>(s|0)):0)i[e+100>>2]=A+s;else i[e+100>>2]=a;A=i[e+4>>2]|0;if(a){u=e+108|0;i[u>>2]=a+1-A+(i[u>>2]|0)}e=A+-1|0;if((o[e>>0]|0|0)==(t|0)){u=t;g=n;return u|0}r[e>>0]=t;u=t;g=n;return u|0}i[e+100>>2]=0;u=-1;g=n;return u|0}function qr(e,t){e=+e;t=t|0;var n=0,r=0;n=g;if((t|0)>1023){e=e*8.98846567431158e+307;r=t+-1023|0;if((r|0)>1023){t=t+-2046|0;t=(t|0)>1023?1023:t;e=e*8.98846567431158e+307}else t=r}else if((t|0)<-1022){e=e*2.2250738585072014e-308;r=t+1022|0;if((r|0)<-1022){t=t+2044|0;t=(t|0)<-1022?-1022:t;e=e*2.2250738585072014e-308}else t=r}t=oA(t+1023|0,0,52)|0;r=R;i[h>>2]=t;i[h+4>>2]=r;e=e*+u[h>>3];g=n;return+e}function zr(e,t){e=+e;t=t|0;var n=0;n=g;e=+qr(e,t);g=n;return+e}function Wr(e){e=e|0;var t=0,n=0,A=0;n=g;A=e+74|0;t=r[A>>0]|0;r[A>>0]=t+255|t;A=e+20|0;t=e+44|0;if((i[A>>2]|0)>>>0>(i[t>>2]|0)>>>0)TA[i[e+36>>2]&1](e,0,0)|0;i[e+16>>2]=0;i[e+28>>2]=0;i[A>>2]=0;A=i[e>>2]|0;if(!(A&20)){A=i[t>>2]|0;i[e+8>>2]=A;i[e+4>>2]=A;A=0;g=n;return A|0}if(!(A&4)){A=-1;g=n;return A|0}i[e>>2]=A|32;A=-1;g=n;return A|0}function Xr(e){e=e|0;var t=0,n=0;t=g;g=g+16|0;n=t;if((i[e+8>>2]|0)==0?(Wr(e)|0)!=0:0)e=-1;else if((TA[i[e+32>>2]&1](e,n,1)|0)==1)e=o[n>>0]|0;else e=-1;g=t;return e|0}function Vr(e,t){e=e|0;t=t|0;var n=0,r=0,A=0.0,o=0,s=0;n=g;g=g+112|0;r=n;s=r+0|0;o=s+112|0;do{i[s>>2]=0;s=s+4|0}while((s|0)<(o|0));o=r+4|0;i[o>>2]=e;s=r+8|0;i[s>>2]=-1;i[r+44>>2]=e;i[r+76>>2]=-1;Jr(r,0);A=+Gr(r,1,1);r=(i[o>>2]|0)-(i[s>>2]|0)+(i[r+108>>2]|0)|0;if(!t){g=n;return+A}if(r)e=e+r|0;i[t>>2]=e;g=n;return+A}function $r(e,t,n){e=e|0;t=t|0;n=n|0;var r=0,A=0,o=0;r=g;g=g+112|0;o=r;i[o>>2]=0;A=o+4|0;i[A>>2]=e;i[o+44>>2]=e;if((e|0)<0)i[o+8>>2]=-1;else i[o+8>>2]=e+2147483647;i[o+76>>2]=-1;Jr(o,0);n=jr(o,n,1,-2147483648,0)|0;if(!t){g=r;return n|0}i[t>>2]=e+((i[A>>2]|0)+(i[o+108>>2]|0)-(i[o+8>>2]|0));g=r;return n|0}function Zr(e,t){e=e|0;t=t|0;var n=0,A=0,i=0;n=g;i=r[e>>0]|0;A=r[t>>0]|0;if(i<<24>>24==0?1:i<<24>>24!=A<<24>>24)t=i;else{do{e=e+1|0;t=t+1|0;i=r[e>>0]|0;A=r[t>>0]|0}while(!(i<<24>>24==0?1:i<<24>>24!=A<<24>>24));t=i}g=n;return(t&255)-(A&255)|0}function eA(e,t){e=e|0;t=t|0;var n=0,r=0,A=0,o=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0,d=0;n=g;A=e+4|0;r=i[A>>2]|0;u=r&-8;a=e+u|0;l=i[1210]|0;s=r&3;if(!((s|0)!=1&e>>>0>=l>>>0&e>>>0>>0))Ve();o=e+(u|4)|0;f=i[o>>2]|0;if(!(f&1))Ve();if(!s){if(t>>>0<256){d=0;g=n;return d|0}if(u>>>0>=(t+4|0)>>>0?(u-t|0)>>>0<=i[1326]<<1>>>0:0){d=e;g=n;return d|0}d=0;g=n;return d|0}if(u>>>0>=t>>>0){s=u-t|0;if(s>>>0<=15){d=e;g=n;return d|0}i[A>>2]=r&1|t|2;i[e+(t+4)>>2]=s|3;i[o>>2]=i[o>>2]|1;tA(e+t|0,s);d=e;g=n;return d|0}if((a|0)==(i[1212]|0)){o=(i[1209]|0)+u|0;if(o>>>0<=t>>>0){d=0;g=n;return d|0}d=o-t|0;i[A>>2]=r&1|t|2;i[e+(t+4)>>2]=d|1;i[1212]=e+t;i[1209]=d;d=e;g=n;return d|0}if((a|0)==(i[1211]|0)){s=(i[1208]|0)+u|0;if(s>>>0>>0){d=0;g=n;return d|0}o=s-t|0;if(o>>>0>15){i[A>>2]=r&1|t|2;i[e+(t+4)>>2]=o|1;i[e+s>>2]=o;r=e+(s+4)|0;i[r>>2]=i[r>>2]&-2;r=e+t|0}else{i[A>>2]=r&1|s|2;r=e+(s+4)|0;i[r>>2]=i[r>>2]|1;r=0;o=0}i[1208]=o;i[1211]=r;d=e;g=n;return d|0}if(f&2){d=0;g=n;return d|0}o=(f&-8)+u|0;if(o>>>0>>0){d=0;g=n;return d|0}s=o-t|0;p=f>>>3;do{if(f>>>0>=256){h=i[e+(u+24)>>2]|0;p=i[e+(u+12)>>2]|0;do{if((p|0)==(a|0)){f=e+(u+20)|0;p=i[f>>2]|0;if(!p){f=e+(u+16)|0;p=i[f>>2]|0;if(!p){c=0;break}}while(1){d=p+20|0;C=i[d>>2]|0;if(C){p=C;f=d;continue}C=p+16|0;d=i[C>>2]|0;if(!d)break;else{p=d;f=C}}if(f>>>0>>0)Ve();else{i[f>>2]=0;c=p;break}}else{f=i[e+(u+8)>>2]|0;if(f>>>0>>0)Ve();l=f+12|0;if((i[l>>2]|0)!=(a|0))Ve();C=p+8|0;if((i[C>>2]|0)==(a|0)){i[l>>2]=p;i[C>>2]=f;c=p;break}else Ve()}}while(0);if(h){l=i[e+(u+28)>>2]|0;p=5128+(l<<2)|0;if((a|0)==(i[p>>2]|0)){i[p>>2]=c;if(!c){i[1207]=i[1207]&~(1<>>0<(i[1210]|0)>>>0)Ve();l=h+16|0;if((i[l>>2]|0)==(a|0))i[l>>2]=c;else i[h+20>>2]=c;if(!c)break}a=i[1210]|0;if(c>>>0>>0)Ve();i[c+24>>2]=h;l=i[e+(u+16)>>2]|0;do{if(l)if(l>>>0>>0)Ve();else{i[c+16>>2]=l;i[l+24>>2]=c;break}}while(0);a=i[e+(u+20)>>2]|0;if(a)if(a>>>0<(i[1210]|0)>>>0)Ve();else{i[c+20>>2]=a;i[a+24>>2]=c;break}}}else{c=i[e+(u+8)>>2]|0;u=i[e+(u+12)>>2]|0;f=4864+(p<<1<<2)|0;if((c|0)!=(f|0)){if(c>>>0>>0)Ve();if((i[c+12>>2]|0)!=(a|0))Ve()}if((u|0)==(c|0)){i[1206]=i[1206]&~(1<>>0>>0)Ve();l=u+8|0;if((i[l>>2]|0)==(a|0))h=l;else Ve()}else h=u+8|0;i[c+12>>2]=u;i[h>>2]=c}}while(0);if(s>>>0<16){i[A>>2]=o|r&1|2;d=e+(o|4)|0;i[d>>2]=i[d>>2]|1;d=e;g=n;return d|0}else{i[A>>2]=r&1|t|2;i[e+(t+4)>>2]=s|3;d=e+(o|4)|0;i[d>>2]=i[d>>2]|1;tA(e+t|0,s);d=e;g=n;return d|0}return 0}function tA(e,t){e=e|0;t=t|0;var n=0,r=0,A=0,o=0,s=0,a=0,c=0,u=0,l=0,h=0,p=0,f=0,C=0,d=0,I=0,E=0,B=0,y=0;n=g;s=e+t|0;u=i[e+4>>2]|0;do{if(!(u&1)){f=i[e>>2]|0;if(!(u&3)){g=n;return}u=e+(0-f)|0;l=f+t|0;d=i[1210]|0;if(u>>>0>>0)Ve();if((u|0)==(i[1211]|0)){r=e+(t+4)|0;h=i[r>>2]|0;if((h&3|0)!=3){r=u;h=l;break}i[1208]=l;i[r>>2]=h&-2;i[e+(4-f)>>2]=l|1;i[s>>2]=l;g=n;return}I=f>>>3;if(f>>>0<256){r=i[e+(8-f)>>2]|0;h=i[e+(12-f)>>2]|0;p=4864+(I<<1<<2)|0;if((r|0)!=(p|0)){if(r>>>0>>0)Ve();if((i[r+12>>2]|0)!=(u|0))Ve()}if((h|0)==(r|0)){i[1206]=i[1206]&~(1<>>0>>0)Ve();p=h+8|0;if((i[p>>2]|0)==(u|0))C=p;else Ve()}else C=h+8|0;i[r+12>>2]=h;i[C>>2]=r;r=u;h=l;break}C=i[e+(24-f)>>2]|0;I=i[e+(12-f)>>2]|0;do{if((I|0)==(u|0)){B=16-f|0;E=e+(B+4)|0;I=i[E>>2]|0;if(!I){E=e+B|0;I=i[E>>2]|0;if(!I){p=0;break}}while(1){y=I+20|0;B=i[y>>2]|0;if(B){I=B;E=y;continue}B=I+16|0;y=i[B>>2]|0;if(!y)break;else{I=y;E=B}}if(E>>>0>>0)Ve();else{i[E>>2]=0;p=I;break}}else{E=i[e+(8-f)>>2]|0;if(E>>>0>>0)Ve();d=E+12|0;if((i[d>>2]|0)!=(u|0))Ve();B=I+8|0;if((i[B>>2]|0)==(u|0)){i[d>>2]=I;i[B>>2]=E;p=I;break}else Ve()}}while(0);if(C){I=i[e+(28-f)>>2]|0;d=5128+(I<<2)|0;if((u|0)==(i[d>>2]|0)){i[d>>2]=p;if(!p){i[1207]=i[1207]&~(1<>>0<(i[1210]|0)>>>0)Ve();d=C+16|0;if((i[d>>2]|0)==(u|0))i[d>>2]=p;else i[C+20>>2]=p;if(!p){r=u;h=l;break}}d=i[1210]|0;if(p>>>0>>0)Ve();i[p+24>>2]=C;f=16-f|0;C=i[e+f>>2]|0;do{if(C)if(C>>>0>>0)Ve();else{i[p+16>>2]=C;i[C+24>>2]=p;break}}while(0);f=i[e+(f+4)>>2]|0;if(f)if(f>>>0<(i[1210]|0)>>>0)Ve();else{i[p+20>>2]=f;i[f+24>>2]=p;r=u;h=l;break}else{r=u;h=l}}else{r=u;h=l}}else{r=e;h=t}}while(0);u=i[1210]|0;if(s>>>0>>0)Ve();l=e+(t+4)|0;p=i[l>>2]|0;if(!(p&2)){if((s|0)==(i[1212]|0)){y=(i[1209]|0)+h|0;i[1209]=y;i[1212]=r;i[r+4>>2]=y|1;if((r|0)!=(i[1211]|0)){g=n;return}i[1211]=0;i[1208]=0;g=n;return}if((s|0)==(i[1211]|0)){y=(i[1208]|0)+h|0;i[1208]=y;i[1211]=r;i[r+4>>2]=y|1;i[r+y>>2]=y;g=n;return}h=(p&-8)+h|0;l=p>>>3;do{if(p>>>0>=256){c=i[e+(t+24)>>2]|0;p=i[e+(t+12)>>2]|0;do{if((p|0)==(s|0)){p=e+(t+20)|0;l=i[p>>2]|0;if(!l){p=e+(t+16)|0;l=i[p>>2]|0;if(!l){a=0;break}}while(1){f=l+20|0;C=i[f>>2]|0;if(C){l=C;p=f;continue}C=l+16|0;f=i[C>>2]|0;if(!f)break;else{l=f;p=C}}if(p>>>0>>0)Ve();else{i[p>>2]=0;a=l;break}}else{l=i[e+(t+8)>>2]|0;if(l>>>0>>0)Ve();f=l+12|0;if((i[f>>2]|0)!=(s|0))Ve();u=p+8|0;if((i[u>>2]|0)==(s|0)){i[f>>2]=p;i[u>>2]=l;a=p;break}else Ve()}}while(0);if(c){l=i[e+(t+28)>>2]|0;u=5128+(l<<2)|0;if((s|0)==(i[u>>2]|0)){i[u>>2]=a;if(!a){i[1207]=i[1207]&~(1<>>0<(i[1210]|0)>>>0)Ve();u=c+16|0;if((i[u>>2]|0)==(s|0))i[u>>2]=a;else i[c+20>>2]=a;if(!a)break}s=i[1210]|0;if(a>>>0>>0)Ve();i[a+24>>2]=c;c=i[e+(t+16)>>2]|0;do{if(c)if(c>>>0>>0)Ve();else{i[a+16>>2]=c;i[c+24>>2]=a;break}}while(0);s=i[e+(t+20)>>2]|0;if(s)if(s>>>0<(i[1210]|0)>>>0)Ve();else{i[a+20>>2]=s;i[s+24>>2]=a;break}}}else{a=i[e+(t+8)>>2]|0;e=i[e+(t+12)>>2]|0;t=4864+(l<<1<<2)|0;if((a|0)!=(t|0)){if(a>>>0>>0)Ve();if((i[a+12>>2]|0)!=(s|0))Ve()}if((e|0)==(a|0)){i[1206]=i[1206]&~(1<>>0>>0)Ve();t=e+8|0;if((i[t>>2]|0)==(s|0))c=t;else Ve()}else c=e+8|0;i[a+12>>2]=e;i[c>>2]=a}}while(0);i[r+4>>2]=h|1;i[r+h>>2]=h;if((r|0)==(i[1211]|0)){i[1208]=h;g=n;return}}else{i[l>>2]=p&-2;i[r+4>>2]=h|1;i[r+h>>2]=h}t=h>>>3;if(h>>>0<256){e=t<<1;s=4864+(e<<2)|0;a=i[1206]|0;t=1<>2]|0;if(a>>>0<(i[1210]|0)>>>0)Ve();else{o=e;A=a}}else{i[1206]=a|t;o=4864+(e+2<<2)|0;A=s}i[o>>2]=r;i[A+12>>2]=r;i[r+8>>2]=A;i[r+12>>2]=s;g=n;return}A=h>>>8;if(A)if(h>>>0>16777215)A=31;else{B=(A+1048320|0)>>>16&8;y=A<>>16&4;y=y<>>16&2;A=14-(E|B|A)+(y<>>15)|0;A=h>>>(A+7|0)&1|A<<1}else A=0;o=5128+(A<<2)|0;i[r+28>>2]=A;i[r+20>>2]=0;i[r+16>>2]=0;e=i[1207]|0;s=1<>2]=r;i[r+24>>2]=o;i[r+12>>2]=r;i[r+8>>2]=r;g=n;return}o=i[o>>2]|0;if((A|0)==31)A=0;else A=25-(A>>>1)|0;e:do{if((i[o+4>>2]&-8|0)!=(h|0)){A=h<>>31<<2)+16|0;o=i[s>>2]|0;if(!o)break;if((i[o+4>>2]&-8|0)==(h|0))break e;else{A=A<<1;e=o}}if(s>>>0<(i[1210]|0)>>>0)Ve();i[s>>2]=r;i[r+24>>2]=e;i[r+12>>2]=r;i[r+8>>2]=r;g=n;return}}while(0);A=o+8|0;s=i[A>>2]|0;y=i[1210]|0;if(!(o>>>0>=y>>>0&s>>>0>=y>>>0))Ve();i[s+12>>2]=r;i[A>>2]=r;i[r+8>>2]=s;i[r+12>>2]=o;i[r+24>>2]=0;g=n;return}function nA(e,t){e=e|0;t=t|0;var n=0,r=0,A=0,s=0,a=0,c=0;n=g;A=e+4|0;s=i[A>>2]|0;r=e+100|0;if(s>>>0<(i[r>>2]|0)>>>0){i[A>>2]=s+1;a=o[s>>0]|0}else a=Hr(e)|0;if((a|0)==43|(a|0)==45){c=i[A>>2]|0;s=(a|0)==45&1;if(c>>>0<(i[r>>2]|0)>>>0){i[A>>2]=c+1;a=o[c>>0]|0}else a=Hr(e)|0;if((a+-48|0)>>>0>9&(t|0)!=0?(i[r>>2]|0)!=0:0)i[A>>2]=(i[A>>2]|0)+-1}else s=0;if((a+-48|0)>>>0>9){if(!(i[r>>2]|0)){a=-2147483648;c=0;R=a;g=n;return c|0}i[A>>2]=(i[A>>2]|0)+-1;a=-2147483648;c=0;R=a;g=n;return c|0}else t=0;do{t=a+-48+(t*10|0)|0;a=i[A>>2]|0;if(a>>>0<(i[r>>2]|0)>>>0){i[A>>2]=a+1;a=o[a>>0]|0}else a=Hr(e)|0}while((a+-48|0)>>>0<10&(t|0)<214748364);c=((t|0)<0)<<31>>31;if((a+-48|0)>>>0<10)do{c=dA(t|0,c|0,10,0)|0;t=R;a=aA(a|0,((a|0)<0)<<31>>31|0,-48,-1)|0;t=aA(a|0,R|0,c|0,t|0)|0;c=R;a=i[A>>2]|0;if(a>>>0<(i[r>>2]|0)>>>0){i[A>>2]=a+1;a=o[a>>0]|0}else a=Hr(e)|0}while((a+-48|0)>>>0<10&((c|0)<21474836|(c|0)==21474836&t>>>0<2061584302));if((a+-48|0)>>>0<10)do{a=i[A>>2]|0;if(a>>>0<(i[r>>2]|0)>>>0){i[A>>2]=a+1;a=o[a>>0]|0}else a=Hr(e)|0}while((a+-48|0)>>>0<10);if(i[r>>2]|0)i[A>>2]=(i[A>>2]|0)+-1;A=(s|0)!=0;s=AA(0,0,t|0,c|0)|0;a=A?R:c;c=A?s:t;R=a;g=n;return c|0}function rA(){}function AA(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;t=t-r-(n>>>0>e>>>0|0)>>>0;return(R=t,e-n>>>0|0)|0}function iA(e,t,n){e=e|0;t=t|0;n=n|0;var A=0,o=0,s=0,a=0;A=e+n|0;if((n|0)>=20){t=t&255;a=e&3;s=t|t<<8|t<<16|t<<24;o=A&~3;if(a){a=e+4-a|0;while((e|0)<(a|0)){r[e>>0]=t;e=e+1|0}}while((e|0)<(o|0)){i[e>>2]=s;e=e+4|0}}while((e|0)<(A|0)){r[e>>0]=t;e=e+1|0}return e-n|0}function oA(e,t,n){e=e|0;t=t|0;n=n|0;if((n|0)<32){R=t<>>32-n;return e<>0]|0)t=t+1|0;return t-e|0}function aA(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;n=e+n>>>0;return(R=t+r+(n>>>0>>0|0)>>>0,n|0)|0}function cA(e,t,n){e=e|0;t=t|0;n=n|0;if((n|0)<32){R=t>>>n;return e>>>n|(t&(1<>>n-32|0}function uA(e,t,n){e=e|0;t=t|0;n=n|0;var A=0;if((n|0)>=4096)return Fe(e|0,t|0,n|0)|0;A=e|0;if((e&3)==(t&3)){while(e&3){if(!n)return A|0;r[e>>0]=r[t>>0]|0;e=e+1|0;t=t+1|0;n=n-1|0}while((n|0)>=4){i[e>>2]=i[t>>2];e=e+4|0;t=t+4|0;n=n-4|0}}while((n|0)>0){r[e>>0]=r[t>>0]|0;e=e+1|0;t=t+1|0;n=n-1|0}return A|0}function gA(e,t,n){e=e|0;t=t|0;n=n|0;if((n|0)<32){R=t>>n;return e>>>n|(t&(1<>n-32|0}function lA(e){e=e|0;var t=0;t=r[C+(e>>>24)>>0]|0;if((t|0)<8)return t|0;t=r[C+(e>>16&255)>>0]|0;if((t|0)<8)return t+8|0;t=r[C+(e>>8&255)>>0]|0;if((t|0)<8)return t+16|0;return(r[C+(e&255)>>0]|0)+24|0}function hA(e){e=e|0;var t=0;t=r[f+(e&255)>>0]|0;if((t|0)<8)return t|0;t=r[f+(e>>8&255)>>0]|0;if((t|0)<8)return t+8|0;t=r[f+(e>>16&255)>>0]|0;if((t|0)<8)return t+16|0;return(r[f+(e>>>24)>>0]|0)+24|0}function pA(e,t){e=e|0;t=t|0;var n=0,r=0,A=0,i=0;i=e&65535;r=t&65535;n=Ae(r,i)|0;A=e>>>16;r=(n>>>16)+(Ae(r,A)|0)|0;t=t>>>16;e=Ae(t,i)|0;return(R=(r>>>16)+(Ae(t,A)|0)+(((r&65535)+e|0)>>>16)|0,r+e<<16|n&65535|0)|0}function fA(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var A=0,i=0,o=0,s=0,a=0,c=0;c=t>>31|((t|0)<0?-1:0)<<1;a=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;i=r>>31|((r|0)<0?-1:0)<<1;A=((r|0)<0?-1:0)>>31|((r|0)<0?-1:0)<<1;s=AA(c^e,a^t,c,a)|0;o=R;t=i^c;e=A^a;e=AA((BA(s,o,AA(i^n,A^r,i,A)|0,R,0)|0)^t,R^e,t,e)|0;return e|0}function CA(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var A=0,o=0,s=0,a=0,c=0,u=0;A=g;g=g+8|0;a=A|0;s=t>>31|((t|0)<0?-1:0)<<1;o=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;u=r>>31|((r|0)<0?-1:0)<<1;c=((r|0)<0?-1:0)>>31|((r|0)<0?-1:0)<<1;t=AA(s^e,o^t,s,o)|0;e=R;BA(t,e,AA(u^n,c^r,u,c)|0,R,a)|0;e=AA(i[a>>2]^s,i[a+4>>2]^o,s,o)|0;t=R;g=A;return(R=t,e)|0}function dA(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var A=0,i=0;A=e;i=n;e=pA(A,i)|0;n=R;return(R=(Ae(t,i)|0)+(Ae(r,A)|0)+n|n&0,e|0|0)|0}function IA(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;e=BA(e,t,n,r,0)|0;return e|0}function EA(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;var A=0,o=0;o=g;g=g+8|0;A=o|0;BA(e,t,n,r,A)|0;g=o;return(R=i[A+4>>2]|0,i[A>>2]|0)|0}function BA(e,t,n,r,A){e=e|0;t=t|0;n=n|0;r=r|0;A=A|0;var o=0,s=0,a=0,c=0,u=0,g=0,l=0,h=0,p=0,f=0;s=e;c=t;a=c;g=n;o=r;u=o;if(!a){o=(A|0)!=0;if(!u){if(o){i[A>>2]=(s>>>0)%(g>>>0);i[A+4>>2]=0}u=0;l=(s>>>0)/(g>>>0)>>>0;return(R=u,l)|0}else{if(!o){g=0;l=0;return(R=g,l)|0}i[A>>2]=e|0;i[A+4>>2]=t&0;g=0;l=0;return(R=g,l)|0}}l=(u|0)==0;do{if(g){if(!l){u=(lA(u|0)|0)-(lA(a|0)|0)|0;if(u>>>0<=31){l=u+1|0;g=31-u|0;e=u-31>>31;c=l;t=s>>>(l>>>0)&e|a<>>(l>>>0)&e;u=0;g=s<>2]=e|0;i[A+4>>2]=c|t&0;g=0;l=0;return(R=g,l)|0}u=g-1|0;if(u&g){g=(lA(g|0)|0)+33-(lA(a|0)|0)|0;f=64-g|0;l=32-g|0;h=l>>31;p=g-32|0;e=p>>31;c=g;t=l-1>>31&a>>>(p>>>0)|(a<>>(g>>>0))&e;e=e&a>>>(g>>>0);u=s<>>(p>>>0))&h|s<>31;break}if(A){i[A>>2]=u&s;i[A+4>>2]=0}if((g|0)==1){p=c|t&0;f=e|0|0;return(R=p,f)|0}else{f=hA(g|0)|0;p=a>>>(f>>>0)|0;f=a<<32-f|s>>>(f>>>0)|0;return(R=p,f)|0}}else{if(l){if(A){i[A>>2]=(a>>>0)%(g>>>0);i[A+4>>2]=0}p=0;f=(a>>>0)/(g>>>0)>>>0;return(R=p,f)|0}if(!s){if(A){i[A>>2]=0;i[A+4>>2]=(a>>>0)%(u>>>0)}p=0;f=(a>>>0)/(u>>>0)>>>0;return(R=p,f)|0}g=u-1|0;if(!(g&u)){if(A){i[A>>2]=e|0;i[A+4>>2]=g&a|t&0}p=0;f=a>>>((hA(u|0)|0)>>>0);return(R=p,f)|0}u=(lA(u|0)|0)-(lA(a|0)|0)|0;if(u>>>0<=30){e=u+1|0;g=31-u|0;c=e;t=a<>>(e>>>0);e=a>>>(e>>>0);u=0;g=s<>2]=e|0;i[A+4>>2]=c|t&0;p=0;f=0;return(R=p,f)|0}}while(0);if(!c){o=g;r=0;a=0}else{s=n|0|0;o=o|r&0;r=aA(s,o,-1,-1)|0;n=R;a=0;do{l=g;g=u>>>31|g<<1;u=a|u<<1;l=t<<1|l>>>31|0;h=t>>>31|e<<1|0;AA(r,n,l,h)|0;f=R;p=f>>31|((f|0)<0?-1:0)<<1;a=p&1;t=AA(l,h,p&s,(((f|0)<0?-1:0)>>31|((f|0)<0?-1:0)<<1)&o)|0;e=R;c=c-1|0}while((c|0)!=0);o=g;r=0}s=0;if(A){i[A>>2]=t;i[A+4>>2]=e}p=(u|0)>>>31|(o|s)<<1|(s<<1|u>>>31)&0|r;f=(u<<1|0>>>31)&-2|a;return(R=p,f)|0}function yA(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;return TA[e&1](t|0,n|0,r|0)|0}function mA(e,t,n,r,A,i){e=e|0;t=t|0;n=n|0;r=r|0;A=A|0;i=i|0;UA[e&3](t|0,n|0,r|0,A|0,i|0)}function QA(e,t){e=e|0;t=t|0;YA[e&31](t|0)}function wA(e,t,n){e=e|0;t=t|0;n=n|0;jA[e&3](t|0,n|0)}function vA(e,t){e=e|0;t=t|0;return GA[e&1](t|0)|0}function bA(e){e=e|0;JA[e&3]()}function DA(e,t,n,r,A,i,o){e=e|0;t=t|0;n=n|0;r=r|0;A=A|0;i=i|0;o=o|0;HA[e&3](t|0,n|0,r|0,A|0,i|0,o|0)}function SA(e,t,n){e=e|0;t=t|0;n=n|0;return qA[e&3](t|0,n|0)|0}function kA(e,t,n,r,A){e=e|0;t=t|0;n=n|0;r=r|0;A=A|0;zA[e&3](t|0,n|0,r|0,A|0)}function _A(e,t,n){e=e|0;t=t|0;n=n|0;ie(0);return 0}function FA(e,t,n,r,A){e=e|0;t=t|0;n=n|0;r=r|0;A=A|0;ie(1)}function MA(e){e=e|0;ie(2)}function NA(e,t){e=e|0;t=t|0;ie(3)}function RA(e){e=e|0;ie(4);return 0}function KA(){ie(5)}function xA(){At()}function PA(e,t,n,r,A,i){e=e|0;t=t|0;n=n|0;r=r|0;A=A|0;i=i|0;ie(6)}function LA(e,t){e=e|0;t=t|0;ie(7);return 0}function OA(e,t,n,r){e=e|0;t=t|0;n=n|0;r=r|0;ie(8)}var TA=[_A,wr];var UA=[FA,Fr,_r,FA];var YA=[MA,Ct,It,Bt,Qt,St,Dt,Wt,Vt,Bn,En,Kn,lr,gr,Er,mr,Br,yr,Qr,Et,Lr,MA,MA,MA,MA,MA,MA,MA,MA,MA,MA,MA];var jA=[NA,mt,vt,Zt];var GA=[RA,hr];var JA=[KA,xA,xr,Pr];var HA=[PA,Nr,Mr,PA];var qA=[LA,yt,wt,$t];var zA=[OA,br,Dr,OA];return{_yo:zn,_strlen:sA,_retireVar:rr,_bitshift64Lshr:cA,_unyo:Wn,_solve:Zn,_bitshift64Shl:oA,_getSolution:er,___cxa_is_pointer_type:Kr,_memset:iA,_getNumVars:tr,_memcpy:uA,_getConflictClauseSize:Ar,_addClause:$n,_i64Subtract:AA,_createTheSolver:Xn,_realloc:Ur,_i64Add:aA,_solveAssuming:nr,___cxa_can_catch:Rr,_ensureVar:Vn,_getConflictClause:ir,_free:Tr,_malloc:Or,__GLOBAL__I_a:Xt,__GLOBAL__I_a127:xn,runPostSets:rA,stackAlloc:st,stackSave:at,stackRestore:ct,setThrew:ut,setTempRet0:ht,getTempRet0:pt,dynCall_iiii:yA,dynCall_viiiii:mA,dynCall_vi:QA,dynCall_vii:wA,dynCall_ii:vA,dynCall_v:bA,dynCall_viiiiii:DA,dynCall_iii:SA,dynCall_viiii:kA}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_yo=Module._yo=asm._yo,_strlen=Module._strlen=asm._strlen,_retireVar=Module._retireVar=asm._retireVar,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_unyo=Module._unyo=asm._unyo,_solve=Module._solve=asm._solve,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_getSolution=Module._getSolution=asm._getSolution,___cxa_is_pointer_type=Module.___cxa_is_pointer_type=asm.___cxa_is_pointer_type,_memset=Module._memset=asm._memset,_getNumVars=Module._getNumVars=asm._getNumVars,_memcpy=Module._memcpy=asm._memcpy,_getConflictClauseSize=Module._getConflictClauseSize=asm._getConflictClauseSize,_addClause=Module._addClause=asm._addClause,_i64Subtract=Module._i64Subtract=asm._i64Subtract,_createTheSolver=Module._createTheSolver=asm._createTheSolver,_realloc=Module._realloc=asm._realloc,_i64Add=Module._i64Add=asm._i64Add,_solveAssuming=Module._solveAssuming=asm._solveAssuming,___cxa_can_catch=Module.___cxa_can_catch=asm.___cxa_can_catch,_ensureVar=Module._ensureVar=asm._ensureVar,_getConflictClause=Module._getConflictClause=asm._getConflictClause,_free=Module._free=asm._free,_malloc=Module._malloc=asm._malloc,__GLOBAL__I_a=Module.__GLOBAL__I_a=asm.__GLOBAL__I_a,__GLOBAL__I_a127=Module.__GLOBAL__I_a127=asm.__GLOBAL__I_a127,runPostSets=Module.runPostSets=asm.runPostSets,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_viiiii=Module.dynCall_viiiii=asm.dynCall_viiiii,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_v=Module.dynCall_v=asm.dynCall_v,dynCall_viiiiii=Module.dynCall_viiiiii=asm.dynCall_viiiiii,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;Runtime.stackAlloc=asm.stackAlloc,Runtime.stackSave=asm.stackSave,Runtime.stackRestore=asm.stackRestore,Runtime.setTempRet0=asm.setTempRet0,Runtime.getTempRet0=asm.getTempRet0;var i64Math=function(){var e={math:{}};e.math.Long=function(e,t){this.low_=0|e,this.high_=0|t},e.math.Long.IntCache_={},e.math.Long.fromInt=function(t){if(-128<=t&&t<128){var n=e.math.Long.IntCache_[t];if(n)return n}var r=new e.math.Long(0|t,t<0?-1:0);return-128<=t&&t<128&&(e.math.Long.IntCache_[t]=r),r},e.math.Long.fromNumber=function(t){return isNaN(t)||!isFinite(t)?e.math.Long.ZERO:t<=-e.math.Long.TWO_PWR_63_DBL_?e.math.Long.MIN_VALUE:t+1>=e.math.Long.TWO_PWR_63_DBL_?e.math.Long.MAX_VALUE:t<0?e.math.Long.fromNumber(-t).negate():new e.math.Long(t%e.math.Long.TWO_PWR_32_DBL_|0,t/e.math.Long.TWO_PWR_32_DBL_|0)},e.math.Long.fromBits=function(t,n){return new e.math.Long(t,n)},e.math.Long.fromString=function(t,n){if(0==t.length)throw Error("number format error: empty string");var r=n||10;if(r<2||36=0)throw Error('number format error: interior "-" character: '+t);for(var A=e.math.Long.fromNumber(Math.pow(r,8)),i=e.math.Long.ZERO,o=0;o=0?this.low_:e.math.Long.TWO_PWR_32_DBL_+this.low_},e.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(e.math.Long.MIN_VALUE)?64:this.negate().getNumBitsAbs();for(var t=0!=this.high_?this.high_:this.low_,n=31;n>0&&0==(t&1<0},e.math.Long.prototype.greaterThanOrEqual=function(e){return this.compare(e)>=0},e.math.Long.prototype.compare=function(e){if(this.equals(e))return 0;var t=this.isNegative(),n=e.isNegative();return t&&!n?-1:!t&&n?1:this.subtract(e).isNegative()?-1:1},e.math.Long.prototype.negate=function(){return this.equals(e.math.Long.MIN_VALUE)?e.math.Long.MIN_VALUE:this.not().add(e.math.Long.ONE)},e.math.Long.prototype.add=function(t){var n=this.high_>>>16,r=65535&this.high_,A=this.low_>>>16,i=65535&this.low_,o=t.high_>>>16,s=65535&t.high_,a=t.low_>>>16,c=0,u=0,g=0,l=0;return g+=(l+=i+(65535&t.low_))>>>16,l&=65535,u+=(g+=A+a)>>>16,g&=65535,c+=(u+=r+s)>>>16,u&=65535,c+=n+o,c&=65535,e.math.Long.fromBits(g<<16|l,c<<16|u)},e.math.Long.prototype.subtract=function(e){return this.add(e.negate())},e.math.Long.prototype.multiply=function(t){if(this.isZero())return e.math.Long.ZERO;if(t.isZero())return e.math.Long.ZERO;if(this.equals(e.math.Long.MIN_VALUE))return t.isOdd()?e.math.Long.MIN_VALUE:e.math.Long.ZERO;if(t.equals(e.math.Long.MIN_VALUE))return this.isOdd()?e.math.Long.MIN_VALUE:e.math.Long.ZERO;if(this.isNegative())return t.isNegative()?this.negate().multiply(t.negate()):this.negate().multiply(t).negate();if(t.isNegative())return this.multiply(t.negate()).negate();if(this.lessThan(e.math.Long.TWO_PWR_24_)&&t.lessThan(e.math.Long.TWO_PWR_24_))return e.math.Long.fromNumber(this.toNumber()*t.toNumber());var n=this.high_>>>16,r=65535&this.high_,A=this.low_>>>16,i=65535&this.low_,o=t.high_>>>16,s=65535&t.high_,a=t.low_>>>16,c=65535&t.low_,u=0,g=0,l=0,h=0;return l+=(h+=i*c)>>>16,h&=65535,g+=(l+=A*c)>>>16,l&=65535,g+=(l+=i*a)>>>16,l&=65535,u+=(g+=r*c)>>>16,g&=65535,u+=(g+=A*a)>>>16,g&=65535,u+=(g+=i*s)>>>16,g&=65535,u+=n*c+r*a+A*s+i*o,u&=65535,e.math.Long.fromBits(l<<16|h,u<<16|g)},e.math.Long.prototype.div=function(t){if(t.isZero())throw Error("division by zero");if(this.isZero())return e.math.Long.ZERO;if(this.equals(e.math.Long.MIN_VALUE)){if(t.equals(e.math.Long.ONE)||t.equals(e.math.Long.NEG_ONE))return e.math.Long.MIN_VALUE;if(t.equals(e.math.Long.MIN_VALUE))return e.math.Long.ONE;if((A=this.shiftRight(1).div(t).shiftLeft(1)).equals(e.math.Long.ZERO))return t.isNegative()?e.math.Long.ONE:e.math.Long.NEG_ONE;var n=this.subtract(t.multiply(A));return A.add(n.div(t))}if(t.equals(e.math.Long.MIN_VALUE))return e.math.Long.ZERO;if(this.isNegative())return t.isNegative()?this.negate().div(t.negate()):this.negate().div(t).negate();if(t.isNegative())return this.div(t.negate()).negate();var r=e.math.Long.ZERO;for(n=this;n.greaterThanOrEqual(t);){for(var A=Math.max(1,Math.floor(n.toNumber()/t.toNumber())),i=Math.ceil(Math.log(A)/Math.LN2),o=i<=48?1:Math.pow(2,i-48),s=e.math.Long.fromNumber(A),a=s.multiply(t);a.isNegative()||a.greaterThan(n);)A-=o,a=(s=e.math.Long.fromNumber(A)).multiply(t);s.isZero()&&(s=e.math.Long.ONE),r=r.add(s),n=n.subtract(a)}return r},e.math.Long.prototype.modulo=function(e){return this.subtract(this.div(e).multiply(e))},e.math.Long.prototype.not=function(){return e.math.Long.fromBits(~this.low_,~this.high_)},e.math.Long.prototype.and=function(t){return e.math.Long.fromBits(this.low_&t.low_,this.high_&t.high_)},e.math.Long.prototype.or=function(t){return e.math.Long.fromBits(this.low_|t.low_,this.high_|t.high_)},e.math.Long.prototype.xor=function(t){return e.math.Long.fromBits(this.low_^t.low_,this.high_^t.high_)},e.math.Long.prototype.shiftLeft=function(t){if(0==(t&=63))return this;var n=this.low_;if(t<32){var r=this.high_;return e.math.Long.fromBits(n<>>32-t)}return e.math.Long.fromBits(0,n<>>t|n<<32-t,n>>t)}return e.math.Long.fromBits(n>>t-32,n>=0?0:-1)},e.math.Long.prototype.shiftRightUnsigned=function(t){if(0==(t&=63))return this;var n=this.high_;if(t<32){var r=this.low_;return e.math.Long.fromBits(r>>>t|n<<32-t,n>>>t)}return 32==t?e.math.Long.fromBits(n,0):e.math.Long.fromBits(n>>>t-32,0)};var t,n="Modern Browser";function r(e,t,n){null!=e&&("number"==typeof e?this.fromNumber(e,t,n):null==t&&"string"!=typeof e?this.fromString(e,256):this.fromString(e,t))}function A(){return new r(null)}"Microsoft Internet Explorer"==n?(r.prototype.am=function(e,t,n,r,A,i){for(var o=32767&t,s=t>>15;--i>=0;){var a=32767&this[e],c=this[e++]>>15,u=s*a+c*o;A=((a=o*a+((32767&u)<<15)+n[r]+(1073741823&A))>>>30)+(u>>>15)+s*c+(A>>>30),n[r++]=1073741823&a}return A},t=30):"Netscape"!=n?(r.prototype.am=function(e,t,n,r,A,i){for(;--i>=0;){var o=t*this[e++]+n[r]+A;A=Math.floor(o/67108864),n[r++]=67108863&o}return A},t=26):(r.prototype.am=function(e,t,n,r,A,i){for(var o=16383&t,s=t>>14;--i>=0;){var a=16383&this[e],c=this[e++]>>14,u=s*a+c*o;A=((a=o*a+((16383&u)<<14)+n[r]+A)>>28)+(u>>14)+s*c,n[r++]=268435455&a}return A},t=28),r.prototype.DB=t,r.prototype.DM=(1<>>16)&&(e=t,n+=16),0!=(t=e>>8)&&(e=t,n+=8),0!=(t=e>>4)&&(e=t,n+=4),0!=(t=e>>2)&&(e=t,n+=2),0!=(t=e>>1)&&(e=t,n+=1),n}function h(e){this.m=e}function p(e){this.m=e,this.mp=e.invDigit(),this.mpl=32767&this.mp,this.mph=this.mp>>15,this.um=(1<=0?e.mod(this.m):e},h.prototype.revert=function(e){return e},h.prototype.reduce=function(e){e.divRemTo(this.m,null,e)},h.prototype.mulTo=function(e,t,n){e.multiplyTo(t,n),this.reduce(n)},h.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},p.prototype.convert=function(e){var t=A();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(r.ZERO)>0&&this.m.subTo(t,t),t},p.prototype.revert=function(e){var t=A();return e.copyTo(t),this.reduce(t),t},p.prototype.reduce=function(e){for(;e.t<=this.mt2;)e[e.t++]=0;for(var t=0;t>15)*this.mpl&this.um)<<15)&e.DM;for(e[n=t+this.m.t]+=this.m.am(0,r,e,t,0,this.m.t);e[n]>=e.DV;)e[n]-=e.DV,e[++n]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)},p.prototype.mulTo=function(e,t,n){e.multiplyTo(t,n),this.reduce(n)},p.prototype.sqrTo=function(e,t){e.squareTo(t),this.reduce(t)},r.prototype.copyTo=function(e){for(var t=this.t-1;t>=0;--t)e[t]=this[t];e.t=this.t,e.s=this.s},r.prototype.fromInt=function(e){this.t=1,this.s=e<0?-1:0,e>0?this[0]=e:e<-1?this[0]=e+DV:this.t=0},r.prototype.fromString=function(e,t){var n;if(16==t)n=4;else if(8==t)n=3;else if(256==t)n=8;else if(2==t)n=1;else if(32==t)n=5;else{if(4!=t)return void this.fromRadix(e,t);n=2}this.t=0,this.s=0;for(var A=e.length,i=!1,o=0;--A>=0;){var s=8==n?255&e[A]:u(e,A);s<0?"-"==e.charAt(A)&&(i=!0):(i=!1,0==o?this[this.t++]=s:o+n>this.DB?(this[this.t-1]|=(s&(1<>this.DB-o):this[this.t-1]|=s<=this.DB&&(o-=this.DB))}8==n&&0!=(128&e[0])&&(this.s=-1,o>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==e;)--this.t},r.prototype.dlShiftTo=function(e,t){var n;for(n=this.t-1;n>=0;--n)t[n+e]=this[n];for(n=e-1;n>=0;--n)t[n]=0;t.t=this.t+e,t.s=this.s},r.prototype.drShiftTo=function(e,t){for(var n=e;n=0;--n)t[n+o+1]=this[n]>>A|s,s=(this[n]&i)<=0;--n)t[n]=0;t[o]=s,t.t=this.t+o+1,t.s=this.s,t.clamp()},r.prototype.rShiftTo=function(e,t){t.s=this.s;var n=Math.floor(e/this.DB);if(n>=this.t)t.t=0;else{var r=e%this.DB,A=this.DB-r,i=(1<>r;for(var o=n+1;o>r;r>0&&(t[this.t-n-1]|=(this.s&i)<>=this.DB;if(e.t>=this.DB;r+=this.s}else{for(r+=this.s;n>=this.DB;r-=e.s}t.s=r<0?-1:0,r<-1?t[n++]=this.DV+r:r>0&&(t[n++]=r),t.t=n,t.clamp()},r.prototype.multiplyTo=function(e,t){var n=this.abs(),A=e.abs(),i=n.t;for(t.t=i+A.t;--i>=0;)t[i]=0;for(i=0;i=0;)e[n]=0;for(n=0;n=t.DV&&(e[n+t.t]-=t.DV,e[n+t.t+1]=1)}e.t>0&&(e[e.t-1]+=t.am(n,t[n],e,2*n,0,1)),e.s=0,e.clamp()},r.prototype.divRemTo=function(e,t,n){var i=e.abs();if(!(i.t<=0)){var o=this.abs();if(o.t0?(i.lShiftTo(u,s),o.lShiftTo(u,n)):(i.copyTo(s),o.copyTo(n));var g=s.t,h=s[g-1];if(0!=h){var p=h*(1<1?s[g-2]>>this.F2:0),f=this.FV/p,C=(1<=0&&(n[n.t++]=1,n.subTo(B,n)),r.ONE.dlShiftTo(g,B),B.subTo(s,s);s.t=0;){var y=n[--I]==h?this.DM:Math.floor(n[I]*f+(n[I-1]+d)*C);if((n[I]+=s.am(0,y,n,E,0,g))0&&n.rShiftTo(u,n),a<0&&r.ZERO.subTo(n,n)}}},r.prototype.invDigit=function(){if(this.t<1)return 0;var e=this[0];if(0==(1&e))return 0;var t=3&e;return(t=(t=(t=(t=t*(2-(15&e)*t)&15)*(2-(255&e)*t)&255)*(2-((65535&e)*t&65535))&65535)*(2-e*t%this.DV)%this.DV)>0?this.DV-t:-t},r.prototype.isEven=function(){return 0==(this.t>0?1&this[0]:this.s)},r.prototype.exp=function(e,t){if(e>4294967295||e<1)return r.ONE;var n=A(),i=A(),o=t.convert(this),s=l(e)-1;for(o.copyTo(n);--s>=0;)if(t.sqrTo(n,i),(e&1<0)t.mulTo(i,o,n);else{var a=n;n=i,i=a}return t.revert(n)},r.prototype.toString=function(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(16==e)t=4;else if(8==e)t=3;else if(2==e)t=1;else if(32==e)t=5;else{if(4!=e)return this.toRadix(e);t=2}var n,r=(1<0)for(s>s)>0&&(A=!0,i=c(n));o>=0;)s>(s+=this.DB-t)):(n=this[o]>>(s-=t)&r,s<=0&&(s+=this.DB,--o)),n>0&&(A=!0),A&&(i+=c(n));return A?i:"0"},r.prototype.negate=function(){var e=A();return r.ZERO.subTo(this,e),e},r.prototype.abs=function(){return this.s<0?this.negate():this},r.prototype.compareTo=function(e){var t=this.s-e.s;if(0!=t)return t;var n=this.t;if(0!=(t=n-e.t))return this.s<0?-t:t;for(;--n>=0;)if(0!=(t=this[n]-e[n]))return t;return 0},r.prototype.bitLength=function(){return this.t<=0?0:this.DB*(this.t-1)+l(this[this.t-1]^this.s&this.DM)},r.prototype.mod=function(e){var t=A();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(r.ZERO)>0&&e.subTo(t,t),t},r.prototype.modPowInt=function(e,t){var n;return n=e<256||t.isEven()?new h(t):new p(t),this.exp(e,n)},r.ZERO=g(0),r.ONE=g(1),r.prototype.fromRadix=function(e,t){this.fromInt(0),null==t&&(t=10);for(var n=this.chunkSize(t),A=Math.pow(t,n),i=!1,o=0,s=0,a=0;a=n&&(this.dMultiply(A),this.dAddOffset(s,0),o=0,s=0))}o>0&&(this.dMultiply(Math.pow(t,o)),this.dAddOffset(s,0)),i&&r.ZERO.subTo(this,this)},r.prototype.chunkSize=function(e){return Math.floor(Math.LN2*this.DB/Math.log(e))},r.prototype.signum=function(){return this.s<0?-1:this.t<=0||1==this.t&&this[0]<=0?0:1},r.prototype.dMultiply=function(e){this[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()},r.prototype.dAddOffset=function(e,t){if(0!=e){for(;this.t<=t;)this[this.t++]=0;for(this[t]+=e;this[t]>=this.DV;)this[t]-=this.DV,++t>=this.t&&(this[this.t++]=0),++this[t]}},r.prototype.toRadix=function(e){if(null==e&&(e=10),0==this.signum()||e<2||e>36)return"0";var t=this.chunkSize(e),n=Math.pow(e,t),r=g(n),i=A(),o=A(),s="";for(this.divRemTo(r,i,o);i.signum()>0;)s=(n+o.intValue()).toString(e).substr(1)+s,i.divRemTo(r,i,o);return o.intValue().toString(e)+s},r.prototype.intValue=function(){if(this.s<0){if(1==this.t)return this[0]-this.DV;if(0==this.t)return-1}else{if(1==this.t)return this[0];if(0==this.t)return 0}return(this[1]&(1<<32-this.DB)-1)<>=this.DB;if(e.t>=this.DB;r+=this.s}else{for(r+=this.s;n>=this.DB;r+=e.s}t.s=r<0?-1:0,r>0?t[n++]=r:r<-1&&(t[n++]=this.DV+r),t.t=n,t.clamp()};var f={abs:function(t,n){var r,A=new e.math.Long(t,n);r=A.isNegative()?A.negate():A,HEAP32[tempDoublePtr>>2]=r.low_,HEAP32[tempDoublePtr+4>>2]=r.high_},ensureTemps:function(){f.ensuredTemps||(f.ensuredTemps=!0,f.two32=new r,f.two32.fromString("4294967296",10),f.two64=new r,f.two64.fromString("18446744073709551616",10),f.temp1=new r,f.temp2=new r)},lh2bignum:function(e,t){var n=new r;n.fromString(t.toString(),10);var A=new r;n.multiplyTo(f.two32,A);var i=new r;i.fromString(e.toString(),10);var o=new r;return i.addTo(A,o),o},stringify:function(t,n,A){var i=new e.math.Long(t,n).toString();if(A&&"-"==i[0]){f.ensureTemps();var o=new r;o.fromString(i,10),i=new r,f.two64.addTo(o,i),i=i.toString(10)}return i},fromString:function(t,n,A,i,o){f.ensureTemps();var s=new r;s.fromString(t,n);var a=new r;a.fromString(A,10);var c=new r;if(c.fromString(i,10),o&&s.compareTo(r.ZERO)<0){var u=new r;s.addTo(f.two64,u),s=u}var g=!1;s.compareTo(a)<0?(s=a,g=!0):s.compareTo(c)>0&&(s=c,g=!0);var l=e.math.Long.fromString(s.toString());if(HEAP32[tempDoublePtr>>2]=l.low_,HEAP32[tempDoublePtr+4>>2]=l.high_,g)throw"range error"}};return f}(),initialStackTop;if(memoryInitializer)if("function"==typeof Module.locateFile?memoryInitializer=Module.locateFile(memoryInitializer):Module.memoryInitializerPrefixURL&&(memoryInitializer=Module.memoryInitializerPrefixURL+memoryInitializer),ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module.readBinary(memoryInitializer);HEAPU8.set(data,STATIC_BASE)}else addRunDependency("memory initializer"),Browser.asyncLoad(memoryInitializer,(function(e){HEAPU8.set(e,STATIC_BASE),removeRunDependency("memory initializer")}),(function(e){throw"could not load memory initializer "+memoryInitializer}));function ExitStatus(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var preloadStartTime=null,calledMain=!1;function run(e){function t(){Module.calledRun||(Module.calledRun=!0,ABORT||(ensureInitRuntime(),preMain(),ENVIRONMENT_IS_WEB&&null!==preloadStartTime&&Module.printErr("pre-main prep time: "+(Date.now()-preloadStartTime)+" ms"),Module._main&&shouldRunNow&&Module.callMain(e),postRun()))}e=e||Module.arguments,null===preloadStartTime&&(preloadStartTime=Date.now()),runDependencies>0||(preRun(),runDependencies>0||Module.calledRun||(Module.setStatus?(Module.setStatus("Running..."),setTimeout((function(){setTimeout((function(){Module.setStatus("")}),1),t()}),1)):t()))}function exit(e){if(!Module.noExitRuntime)throw ABORT=!0,EXITSTATUS=e,STACKTOP=initialStackTop,exitRuntime(),ENVIRONMENT_IS_NODE?(process.stdout.once("drain",(function(){process.exit(e)})),console.log(" "),setTimeout((function(){process.exit(e)}),500)):ENVIRONMENT_IS_SHELL&&"function"==typeof quit&&quit(e),new ExitStatus(e)}function abort(e){e&&(Module.print(e),Module.printErr(e)),ABORT=!0,EXITSTATUS=1;throw"abort() at "+stackTrace()+"\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information."}if(dependenciesFulfilled=function e(){!Module.calledRun&&shouldRunNow&&run(),Module.calledRun||(dependenciesFulfilled=e)},Module.callMain=Module.callMain=function(e){assert(0==runDependencies,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),assert(0==__ATPRERUN__.length,"cannot call main when preRun functions remain to be called"),e=e||[],ensureInitRuntime();var t=e.length+1;function n(){for(var e=0;e<3;e++)r.push(0)}var r=[allocate(intArrayFromString(Module.thisProgram),"i8",ALLOC_NORMAL)];n();for(var A=0;A0;)Module.preInit.pop()();var shouldRunNow=!0;Module.noInitialRun&&(shouldRunNow=!1),run();var origMalloc=Module._malloc,origFree=Module._free,MEMSTATS={totalMemory:Module.HEAPU8.length,heapUsed:0},MEMSTATS_DATA={pointerToSizeMap:{},getSizeOfPointer:function(e){return MEMSTATS_DATA.pointerToSizeMap[e]}};Module.MEMSTATS=MEMSTATS,Module.MEMSTATS_DATA=MEMSTATS_DATA;var hookedMalloc=function(e){var t=origMalloc(e);return t?(MEMSTATS.heapUsed+=e,MEMSTATS_DATA.pointerToSizeMap[t]=e,t):0},hookedFree=function(e){return e&&(MEMSTATS.heapUsed-=MEMSTATS_DATA.getSizeOfPointer(e)||0,delete MEMSTATS_DATA.pointerToSizeMap[e]),origFree(e)},setInnerMalloc,setInnerFree;return Module._malloc=hookedMalloc,Module._free=hookedFree,_malloc=hookedMalloc,_free=hookedFree,setInnerMalloc&&(setInnerMalloc(hookedMalloc),setInnerFree(hookedFree)),module.exports},module.exports=C_MINISAT},function(e,t){e.exports=require("v8")},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},A=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const i=n(1),o=n(33),s=r(n(15)),a=n(35),c=A(n(20)),u=[[/^(git(?:\+(?:https|ssh))?:\/\/.*\.git)#(.*)$/,(e,t,n,r)=>`${n}#commit:${r}`],[/^https:\/\/((?:[^/]+?)@)?codeload\.github\.com\/([^\/]+\/[^\/]+)\/tar\.gz\/([0-9a-f]+)$/,(e,t,n="",r,A)=>`https://${n}github.com/${r}.git#commit:${A}`],[/^https:\/\/((?:[^/]+?)@)?github\.com\/([^\/]+\/[^\/]+?)(?:\.git)?#([0-9a-f]+)$/,(e,t,n="",r,A)=>`https://${n}github.com/${r}.git#commit:${A}`],[/^https?:\/\/[^\/]+\/(?:@[^\/]+\/)?([^\/]+)\/-\/\1-[^\/]+\.tgz(?:#|$)/,e=>`npm:${e}`],[/^[^\/]+\.tgz#[0-9a-f]+$/,e=>`npm:${e}`]];t.LegacyMigrationResolver=class{constructor(){this.resolutions=null}async setup(e,{report:t}){const n=i.ppath.join(e.cwd,e.configuration.get("lockfileFilename"));if(!i.xfs.existsSync(n))return;const r=await i.xfs.readFilePromise(n,"utf8"),A=o.parseSyml(r);if(Object.prototype.hasOwnProperty.call(A,"__metadata"))return;const g=this.resolutions=new Map;for(const n of Object.keys(A)){let r=c.tryParseDescriptor(n);if(!r){t.reportWarning(a.MessageName.YARN_IMPORT_FAILED,`Failed to parse the string "${n}" into a proper descriptor`);continue}s.default.validRange(r.range)&&(r=c.makeDescriptor(r,`npm:${r.range}`));const{version:i,resolved:o}=A[n];if(!o)continue;let l;for(const[e,t]of u){const n=o.match(e);if(n){l=t(i,...n);break}}if(!l){t.reportWarning(a.MessageName.YARN_IMPORT_FAILED,`${c.prettyDescriptor(e.configuration,r)}: Only some patterns can be imported from legacy lockfiles (not "${o}")`);continue}const h=c.makeLocator(r,l);g.set(r.descriptorHash,h)}}supportsDescriptor(e,t){return!!this.resolutions&&this.resolutions.has(e.descriptorHash)}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}bindDescriptor(e,t,n){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,n){if(!this.resolutions)throw new Error("Assertion failed: The resolution store should have been setup");const r=this.resolutions.get(e.descriptorHash);if(!r)throw new Error("Assertion failed: The resolution should have been registered");return[r]}async resolve(e,t){throw new Error("Assertion failed: This resolver doesn't support resolving locators to packages")}}},function(e,t,n){"use strict";var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const A=r(n(20));t.LockfileResolver=class{supportsDescriptor(e,t){return!!t.project.storedResolutions.get(e.descriptorHash)||!!t.project.originalPackages.has(A.convertDescriptorToLocator(e).locatorHash)}supportsLocator(e,t){return!!t.project.originalPackages.has(e.locatorHash)}shouldPersistResolution(e,t){throw new Error("The shouldPersistResolution method shouldn't be called on the lockfile resolver, which would always answer yes")}bindDescriptor(e,t,n){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,n){let r=n.project.originalPackages.get(A.convertDescriptorToLocator(e).locatorHash);if(r)return[r];const i=n.project.storedResolutions.get(e.descriptorHash);if(!i)throw new Error("Expected the resolution to have been successful - resolution not found");if(!(r=n.project.originalPackages.get(i)))throw new Error("Expected the resolution to have been successful - package not found");return[r]}async resolve(e,t){const n=t.project.originalPackages.get(e.locatorHash);if(!n)throw new Error("The lockfile resolver isn't meant to resolve packages - they should already have been stored into a cache");return n}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(35),A=n(43);t.RunInstallPleaseResolver=class{constructor(e){this.resolver=e}supportsDescriptor(e,t){return this.resolver.supportsDescriptor(e,t)}supportsLocator(e,t){return this.resolver.supportsLocator(e,t)}shouldPersistResolution(e,t){return this.resolver.shouldPersistResolution(e,t)}bindDescriptor(e,t,n){return this.resolver.bindDescriptor(e,t,n)}getResolutionDependencies(e,t){return this.resolver.getResolutionDependencies(e,t)}async getCandidates(e,t,n){throw new A.ReportError(r.MessageName.MISSING_LOCKFILE_ENTRY,"This package doesn't seem to be present in your lockfile; try to make an install to update your resolutions")}async resolve(e,t){throw new A.ReportError(r.MessageName.MISSING_LOCKFILE_ENTRY,"This package doesn't seem to be present in your lockfile; try to make an install to update your resolutions")}}},function(e,t,n){"use strict";const r=n(3),A=n(686),i=n(687),o=n(316),s=n(319),a=n(711),c=n(713),{FilterStream:u,UniqueStream:g}=n(716),l=()=>!1,h=e=>"!"===e[0],p=(e,t)=>{(e=>{if(!e.every(e=>"string"==typeof e))throw new TypeError("Patterns must be a string or an array of strings")})(e=A([].concat(e))),((e={})=>{if(!e.cwd)return;let t;try{t=r.statSync(e.cwd)}catch(e){return}if(!t.isDirectory())throw new Error("The `cwd` option must be a path to a directory")})(t);const n=[];t={ignore:[],expandDirectories:!0,...t};for(const[r,A]of e.entries()){if(h(A))continue;const i=e.slice(r).filter(h).map(e=>e.slice(1)),o={...t,ignore:t.ignore.concat(i)};n.push({pattern:A,options:o})}return n},f=(e,t)=>e.options.expandDirectories?((e,t)=>{let n={};return e.options.cwd&&(n.cwd=e.options.cwd),Array.isArray(e.options.expandDirectories)?n={...n,files:e.options.expandDirectories}:"object"==typeof e.options.expandDirectories&&(n={...n,...e.options.expandDirectories}),t(e.pattern,n)})(e,t):[e.pattern],C=e=>e&&e.gitignore?c.sync({cwd:e.cwd,ignore:e.ignore}):l,d=e=>t=>{const{options:n}=e;return n.ignore&&Array.isArray(n.ignore)&&n.expandDirectories&&(n.ignore=a.sync(n.ignore)),{pattern:t,options:n}};e.exports=async(e,t)=>{const n=p(e,t),[i,o]=await Promise.all([(async()=>t&&t.gitignore?c({cwd:t.cwd,ignore:t.ignore}):l)(),(async()=>{const e=await Promise.all(n.map(async e=>{const t=await f(e,a);return Promise.all(t.map(d(e)))}));return A(...e)})()]),u=await Promise.all(o.map(e=>s(e.pattern,e.options)));return A(...u).filter(e=>!i((e=>e.stats instanceof r.Stats?e.path:e)(e)))},e.exports.sync=(e,t)=>{const n=p(e,t).reduce((e,t)=>{const n=f(t,a.sync).map(d(t));return e.concat(n)},[]),r=C(t);return n.reduce((e,t)=>A(e,s.sync(t.pattern,t.options)),[]).filter(e=>!r(e))},e.exports.stream=(e,t)=>{const n=p(e,t).reduce((e,t)=>{const n=f(t,a.sync).map(d(t));return e.concat(n)},[]),r=C(t),A=new u(e=>!r(e)),o=new g;return i(n.map(e=>s.stream(e.pattern,e.options))).pipe(A).pipe(o)},e.exports.generateGlobTasks=p,e.exports.hasMagic=(e,t)=>[].concat(e).some(e=>o.hasMagic(e,t)),e.exports.gitignore=c},function(e,t,n){"use strict";e.exports=(...e)=>[...new Set([].concat(...e))]},function(e,t,n){"use strict";const r=n(8).PassThrough,A=Array.prototype.slice;function i(e,t){if(Array.isArray(e))for(let n=0,r=e.length;n0||(t=!1,n())}function o(e){function t(){e.removeListener("merge2UnpipeEnd",t),e.removeListener("end",t),i()}if(e._readableState.endEmitted)return i();e.on("merge2UnpipeEnd",t),e.on("end",t),e.pipe(a,{end:!1}),e.resume()}for(let e=0;e=e.length)return t&&(t[h]=e),n(null,e);a.lastIndex=o;var r=a.exec(e);return l=u,u+=r[0],g=l+r[1],o=a.lastIndex,f[g]||t&&t[g]===g?process.nextTick(d):t&&Object.prototype.hasOwnProperty.call(t,g)?B(t[g]):i.lstat(g,I)}function I(e,r){if(e)return n(e);if(!r.isSymbolicLink())return f[g]=!0,t&&(t[g]=g),process.nextTick(d);if(!A){var o=r.dev.toString(32)+":"+r.ino.toString(32);if(p.hasOwnProperty(o))return E(null,p[o],g)}i.stat(g,(function(e){if(e)return n(e);i.readlink(g,(function(e,t){A||(p[o]=t),E(e,t)}))}))}function E(e,A,i){if(e)return n(e);var o=r.resolve(l,A);t&&(t[i]=o),B(o)}function B(t){e=r.resolve(t,e.slice(o)),C()}C()}},function(e,t,n){var r=n(690),A=n(691);e.exports=function(e){if(!e)return[];"{}"===e.substr(0,2)&&(e="\\{\\}"+e.substr(2));return function e(t,n){var i=[];var o=A("{","}",t);if(!o||/\$$/.test(o.pre))return[t];var a=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(o.body);var c=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(o.body);var g=a||c;var C=o.body.indexOf(",")>=0;if(!g&&!C)return o.post.match(/,.*\}/)?(t=o.pre+"{"+o.body+s+o.post,e(t)):[t];var d;if(g)d=o.body.split(/\.\./);else{if(1===(d=function e(t){if(!t)return[""];var n=[];var r=A("{","}",t);if(!r)return t.split(",");var i=r.pre;var o=r.body;var s=r.post;var a=i.split(",");a[a.length-1]+="{"+o+"}";var c=e(s);s.length&&(a[a.length-1]+=c.shift(),a.push.apply(a,c));n.push.apply(n,a);return n}(o.body)).length)if(1===(d=e(d[0],!1).map(l)).length)return(E=o.post.length?e(o.post,!1):[""]).map((function(e){return o.pre+d[0]+e}))}var I=o.pre;var E=o.post.length?e(o.post,!1):[""];var B;if(g){var y=u(d[0]),m=u(d[1]),Q=Math.max(d[0].length,d[1].length),w=3==d.length?Math.abs(u(d[2])):1,v=p;m0){var _=new Array(k+1).join("0");S=D<0?"-"+_+S.slice(1):_+S}}B.push(S)}}else B=r(d,(function(t){return e(t,!1)}));for(var F=0;F=t}},function(e,t){e.exports=function(e,t){for(var r=[],A=0;A=0&&c>0){for(r=[],i=n.length;u>=0&&!s;)u==a?(r.push(u),a=n.indexOf(e,u+1)):1==r.length?s=[r.pop(),c]:((A=r.pop())=0?a:c;r.length&&(s=[i,o])}return s}e.exports=r,r.range=i},function(e,t){"function"==typeof Object.create?e.exports=function(e,t){e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}})}:e.exports=function(e,t){e.super_=t;var n=function(){};n.prototype=t.prototype,e.prototype=new n,e.prototype.constructor=e}},function(e,t,n){e.exports=p,p.GlobSync=f;var r=n(3),A=n(317),i=n(207),o=(i.Minimatch,n(316).Glob,n(6),n(4)),s=n(57),a=n(208),c=n(318),u=(c.alphasort,c.alphasorti,c.setopts),g=c.ownProp,l=c.childrenIgnored,h=c.isIgnored;function p(e,t){if("function"==typeof t||3===arguments.length)throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167");return new f(e,t).found}function f(e,t){if(!e)throw new Error("must provide pattern");if("function"==typeof t||3===arguments.length)throw new TypeError("callback provided to sync glob\nSee: https://github.com/isaacs/node-glob/issues/167");if(!(this instanceof f))return new f(e,t);if(u(this,e,t),this.noprocess)return this;var n=this.minimatch.set.length;this.matches=new Array(n);for(var r=0;rthis.maxLength)return!1;if(!this.stat&&g(this.cache,t)){var A=this.cache[t];if(Array.isArray(A)&&(A="DIR"),!n||"DIR"===A)return A;if(n&&"FILE"===A)return!1}var i=this.statCache[t];if(!i){var o;try{o=r.lstatSync(t)}catch(e){if(e&&("ENOENT"===e.code||"ENOTDIR"===e.code))return this.statCache[t]=!1,!1}if(o&&o.isSymbolicLink())try{i=r.statSync(t)}catch(e){i=o}else i=o}this.statCache[t]=i;A=!0;return i&&(A=i.isDirectory()?"DIR":"FILE"),this.cache[t]=this.cache[t]||A,(!n||"FILE"!==A)&&A},f.prototype._mark=function(e){return c.mark(this,e)},f.prototype._makeAbs=function(e){return c.makeAbs(this,e)}},function(e,t,n){var r=n(176),A=Object.create(null),i=n(119);function o(e){for(var t=e.length,n=[],r=0;rr?(n.splice(0,r),process.nextTick((function(){t.apply(null,i)}))):delete A[e]}}))}(e))}))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(62);function A(e,t,n){const r=s(e);if("."in r){return[c(".",e,t,n)]}return a(r,t,n)}function i(e){return r.pattern.getPositivePatterns(e)}function o(e,t){return r.pattern.getNegativePatterns(e).concat(t).map(r.pattern.convertToPositivePattern)}function s(e){return e.reduce((e,t)=>{const n=r.pattern.getBaseDirectory(t);return n in e?e[n].push(t):e[n]=[t],e},{})}function a(e,t,n){return Object.keys(e).map(r=>c(r,e[r],t,n))}function c(e,t,n,A){return{dynamic:A,positive:t,negative:n,base:e,patterns:[].concat(t,n.map(r.pattern.convertToNegativePattern))}}t.generate=function(e,t){const n=i(e),s=o(e,t.ignore),a=n.filter(e=>r.pattern.isStaticPattern(e,t)),c=n.filter(e=>r.pattern.isDynamicPattern(e,t)),u=A(a,s,!1),g=A(c,s,!0);return u.concat(g)},t.convertPatternsToTasks=A,t.getPositivePatterns=i,t.getNegativePatternsAsPositive=o,t.groupPatternsByBaseDirectory=s,t.convertPatternGroupsToTasks=a,t.convertPatternGroupToTask=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.flatten=function(e){return e.reduce((e,t)=>[].concat(e,t),[])}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.isEnoentCodeError=function(e){return"ENOENT"===e.code}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class r{constructor(e,t){this.name=e,this.isBlockDevice=t.isBlockDevice.bind(t),this.isCharacterDevice=t.isCharacterDevice.bind(t),this.isDirectory=t.isDirectory.bind(t),this.isFIFO=t.isFIFO.bind(t),this.isFile=t.isFile.bind(t),this.isSocket=t.isSocket.bind(t),this.isSymbolicLink=t.isSymbolicLink.bind(t)}}t.createDirentFromStats=function(e,t){return new r(e,t)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(4),A=/(\\?)([*?|(){}[\]]|^!|[@+!](?=\())/g;t.unixify=function(e){return e.replace(/\\/g,"/")},t.makeAbsolute=function(e,t){return r.resolve(e,t)},t.escape=function(e){return e.replace(A,"\\$2")}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(4),A=n(280),i=n(90),o="**",s="\\",a=/[*?]|^!/,c=/\[.*]/,u=/(?:^|[^@!*?+])\(.*\|.*\)/,g=/[@!*?+]\(.*\)/,l=/{.*(?:,|\.\.).*}/;function h(e,t={}){return!p(e,t)}function p(e,t={}){return!(!1!==t.caseSensitiveMatch&&!e.includes(s))||(!!(a.test(e)||c.test(e)||u.test(e))||(!(!1===t.extglob||!g.test(e))||!(!1===t.braceExpansion||!l.test(e))))}function f(e){return e.startsWith("!")&&"("!==e[1]}function C(e){return!f(e)}function d(e){return A(e,{flipBackslashes:!1})}function I(e){return e.endsWith("/"+o)}function E(e){const t=d(e),n=e.split("/").length,r=t.split("/").length;return"."===t?n-r:n-r-1}function B(e,t){return i.makeRe(e,t)}t.isStaticPattern=h,t.isDynamicPattern=p,t.convertToPositivePattern=function(e){return f(e)?e.slice(1):e},t.convertToNegativePattern=function(e){return"!"+e},t.isNegativePattern=f,t.isPositivePattern=C,t.getNegativePatterns=function(e){return e.filter(f)},t.getPositivePatterns=function(e){return e.filter(C)},t.getBaseDirectory=d,t.hasGlobStar=function(e){return e.includes(o)},t.endsWithSlashGlobStar=I,t.isAffectDepthOfReadingPattern=function(e){const t=r.basename(e);return I(e)||h(t)},t.getNaiveDepth=E,t.getMaxNaivePatternsDepth=function(e){return e.reduce((e,t)=>{const n=E(t);return n>e?n:e},0)},t.makeRe=B,t.convertPatternsToRe=function(e,t){return e.map(e=>B(e,t))},t.matchAny=function(e,t){const n=e.replace(/^\.[\\/]/,"");return t.some(e=>e.test(n))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(281);t.merge=function(e){const t=r(e);return e.forEach(e=>{e.once("error",e=>t.emit("error",e))}),t}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(320),A=n(209);class i extends A.default{constructor(){super(...arguments),this._reader=new r.default(this._settings)}read(e){const t=this._getRootDirectory(e),n=this._getReaderOptions(e),r=[];return new Promise((A,i)=>{const o=this.api(t,e,n);o.once("error",i),o.on("data",e=>r.push(n.transform(e))),o.once("end",()=>A(r))})}api(e,t,n){return t.dynamic?this._reader.dynamic(e,n):this._reader.static(t.patterns,n)}}t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(62);t.default=class{constructor(e,t){this._settings=e,this._micromatchOptions=t}getFilter(e,t,n){const r=this._getMaxPatternDepth(t),A=this._getNegativePatternsRe(n);return t=>this._filter(e,t,A,r)}_getMaxPatternDepth(e){return e.some(r.pattern.hasGlobStar)?1/0:r.pattern.getMaxNaivePatternsDepth(e)}_getNegativePatternsRe(e){const t=e.filter(r.pattern.isAffectDepthOfReadingPattern);return r.pattern.convertPatternsToRe(t,this._micromatchOptions)}_filter(e,t,n,r){const A=this._getEntryDepth(e,t.path);return!this._isSkippedByDeep(A)&&(!this._isSkippedByMaxPatternDepth(A,r)&&(!this._isSkippedSymbolicLink(t)&&this._isSkippedByNegativePatterns(t,n)))}_getEntryDepth(e,t){const n=e.split("/").length;return t.split("/").length-(""===e?0:n)}_isSkippedByDeep(e){return e>=this._settings.deep}_isSkippedByMaxPatternDepth(e,t){return!this._settings.baseNameMatch&&t!==1/0&&e>t}_isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.dirent.isSymbolicLink()}_isSkippedByNegativePatterns(e,t){return!r.pattern.matchAny(e.path,t)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(62);t.default=class{constructor(e,t){this._settings=e,this._micromatchOptions=t,this.index=new Map}getFilter(e,t){const n=r.pattern.convertPatternsToRe(e,this._micromatchOptions),A=r.pattern.convertPatternsToRe(t,this._micromatchOptions);return e=>this._filter(e,n,A)}_filter(e,t,n){if(this._settings.unique){if(this._isDuplicateEntry(e))return!1;this._createIndexRecord(e)}if(this._onlyFileFilter(e)||this._onlyDirectoryFilter(e))return!1;if(this._isSkippedByAbsoluteNegativePatterns(e,n))return!1;const r=this._settings.baseNameMatch?e.name:e.path;return this._isMatchToPatterns(r,t)&&!this._isMatchToPatterns(e.path,n)}_isDuplicateEntry(e){return this.index.has(e.path)}_createIndexRecord(e){this.index.set(e.path,void 0)}_onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}_onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(e,t){if(!this._settings.absolute)return!1;const n=r.path.makeAbsolute(this._settings.cwd,e.path);return this._isMatchToPatterns(n,t)}_isMatchToPatterns(e,t){return r.pattern.matchAny(e,t)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(62);t.default=class{constructor(e){this._settings=e}getFilter(){return e=>this._isNonFatalError(e)}_isNonFatalError(e){return r.errno.isEnoentCodeError(e)||this._settings.suppressErrors}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(62);t.default=class{constructor(e){this._settings=e}getTransformer(){return e=>this._transform(e)}_transform(e){let t=e.path;return this._settings.absolute&&(t=r.path.makeAbsolute(this._settings.cwd,t),t=r.path.unixify(t)),this._settings.markDirectories&&e.dirent.isDirectory()&&(t+="/"),this._settings.objectMode?Object.assign(Object.assign({},e),{path:t}):t}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(8),A=n(320),i=n(209);class o extends i.default{constructor(){super(...arguments),this._reader=new A.default(this._settings)}read(e){const t=this._getRootDirectory(e),n=this._getReaderOptions(e),A=this.api(t,e,n),i=new r.Readable({objectMode:!0,read:()=>{}});return A.once("error",e=>i.emit("error",e)).on("data",e=>i.emit("data",n.transform(e))).once("end",()=>i.emit("end")),i}api(e,t,n){return t.dynamic?this._reader.dynamic(e,n):this._reader.static(t.patterns,n)}}t.default=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(709),A=n(209);class i extends A.default{constructor(){super(...arguments),this._reader=new r.default(this._settings)}read(e){const t=this._getRootDirectory(e),n=this._getReaderOptions(e);return this.api(t,e,n).map(n.transform)}api(e,t,n){return t.dynamic?this._reader.dynamic(e,n):this._reader.static(t.patterns,n)}}t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(41),A=n(127),i=n(321);class o extends i.default{constructor(){super(...arguments),this._walkSync=A.walkSync,this._statSync=r.statSync}dynamic(e,t){return this._walkSync(e,t)}static(e,t){const n=[];for(const r of e){const e=this._getFullEntryPath(r),A=this._getEntry(e,r,t);null!==A&&t.entryFilter(A)&&n.push(A)}return n}_getEntry(e,t,n){try{const n=this._getStat(e);return this._makeEntry(n,t)}catch(e){if(n.errorFilter(e))return null;throw e}}_getStat(e){return this._statSync(e,this._fsStatSettings)}}t.default=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(3),A=n(32).cpus().length;t.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:r.lstat,lstatSync:r.lstatSync,stat:r.stat,statSync:r.statSync,readdir:r.readdir,readdirSync:r.readdirSync};t.default=class{constructor(e={}){this._options=e,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,A),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,1/0),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0)}_getValue(e,t){return void 0===e?t:e}_getFileSystemMethods(e={}){return Object.assign(Object.assign({},t.DEFAULT_FILE_SYSTEM_ADAPTER),e)}}},function(e,t,n){"use strict";const r=n(4),A=n(712),i=e=>e.length>1?`{${e.join(",")}}`:e[0],o=(e,t)=>{const n="!"===e[0]?e.slice(1):e;return r.isAbsolute(n)?n:r.join(t,n)},s=(e,t)=>{if(t.files&&!Array.isArray(t.files))throw new TypeError(`Expected \`files\` to be of type \`Array\` but received type \`${typeof t.files}\``);if(t.extensions&&!Array.isArray(t.extensions))throw new TypeError(`Expected \`extensions\` to be of type \`Array\` but received type \`${typeof t.extensions}\``);return t.files&&t.extensions?t.files.map(n=>r.posix.join(e,((e,t)=>r.extname(e)?`**/${e}`:`**/${e}.${i(t)}`)(n,t.extensions))):t.files?t.files.map(t=>r.posix.join(e,`**/${t}`)):t.extensions?[r.posix.join(e,`**/*.${i(t.extensions)}`)]:[r.posix.join(e,"**")]};e.exports=async(e,t)=>{if("string"!=typeof(t={cwd:process.cwd(),...t}).cwd)throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof t.cwd}\``);const n=await Promise.all([].concat(e).map(async e=>{return await A.isDirectory(o(e,t.cwd))?s(e,t):e}));return[].concat.apply([],n)},e.exports.sync=(e,t)=>{if("string"!=typeof(t={cwd:process.cwd(),...t}).cwd)throw new TypeError(`Expected \`cwd\` to be of type \`string\` but received type \`${typeof t.cwd}\``);const n=[].concat(e).map(e=>A.isDirectorySync(o(e,t.cwd))?s(e,t):e);return[].concat.apply([],n)}},function(e,t,n){"use strict";const{promisify:r}=n(6),A=n(3);async function i(e,t,n){if("string"!=typeof n)throw new TypeError(`Expected a string, got ${typeof n}`);try{return(await r(A[e])(n))[t]()}catch(e){if("ENOENT"===e.code)return!1;throw e}}function o(e,t,n){if("string"!=typeof n)throw new TypeError(`Expected a string, got ${typeof n}`);try{return A[e](n)[t]()}catch(e){if("ENOENT"===e.code)return!1;throw e}}t.isFile=i.bind(null,"stat","isFile"),t.isDirectory=i.bind(null,"stat","isDirectory"),t.isSymlink=i.bind(null,"lstat","isSymbolicLink"),t.isFileSync=o.bind(null,"statSync","isFile"),t.isDirectorySync=o.bind(null,"statSync","isDirectory"),t.isSymlinkSync=o.bind(null,"lstatSync","isSymbolicLink")},function(e,t,n){"use strict";const{promisify:r}=n(6),A=n(3),i=n(4),o=n(319),s=n(714),a=n(715),c=["**/node_modules/**","**/flow-typed/**","**/coverage/**","**/.git"],u=r(A.readFile),g=(e,t)=>{const n=a(i.relative(t.cwd,i.dirname(t.fileName)));return e.split(/\r?\n/).filter(Boolean).filter(e=>!e.startsWith("#")).map((e=>t=>t.startsWith("!")?"!"+i.posix.join(e,t.slice(1)):i.posix.join(e,t))(n))},l=e=>e.reduce((e,t)=>(e.add(g(t.content,{cwd:t.cwd,fileName:t.filePath})),e),s()),h=(e,t)=>n=>e.ignores(a(i.relative(t,((e,t)=>{if(i.isAbsolute(t)){if(t.startsWith(e))return t;throw new Error(`Path ${t} is not in cwd ${e}`)}return i.join(e,t)})(t,n)))),p=({ignore:e=[],cwd:t=process.cwd()}={})=>({ignore:e,cwd:t});e.exports=async e=>{e=p(e);const t=await o("**/.gitignore",{ignore:c.concat(e.ignore),cwd:e.cwd}),n=await Promise.all(t.map(t=>(async(e,t)=>{const n=i.join(t,e);return{cwd:t,filePath:n,content:await u(n,"utf8")}})(t,e.cwd))),r=l(n);return h(r,e.cwd)},e.exports.sync=e=>{e=p(e);const t=o.sync("**/.gitignore",{ignore:c.concat(e.ignore),cwd:e.cwd}).map(t=>((e,t)=>{const n=i.join(t,e);return{cwd:t,filePath:n,content:A.readFileSync(n,"utf8")}})(t,e.cwd)),n=l(t);return h(n,e.cwd)}},function(e,t){function n(e){return Array.isArray(e)?e:[e]}const r=/^\s+$/,A=/^\\!/,i=/^\\#/,o=/\r?\n/g,s=/^\.*\/|^\.+$/,a="/",c="undefined"!=typeof Symbol?Symbol.for("node-ignore"):"node-ignore",u=(e,t,n)=>Object.defineProperty(e,t,{value:n}),g=/([0-z])-([0-z])/g,l=[[/\\?\s+$/,e=>0===e.indexOf("\\")?" ":""],[/\\\s/g,()=>" "],[/[\\^$.|*+(){]/g,e=>`\\${e}`],[/\[([^\]/]*)($|\])/g,(e,t,n)=>"]"===n?`[${(e=>e.replace(g,(e,t,n)=>t.charCodeAt(0)<=n.charCodeAt(0)?e:""))(t)}]`:`\\${e}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/(?:[^*])$/,e=>/\/$/.test(e)?`${e}$`:`${e}(?=$|\\/$)`],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(e,t,n)=>t+6`${t}[^\\/]*`],[/(\^|\\\/)?\\\*$/,(e,t)=>{return`${t?`${t}[^/]+`:"[^/]*"}(?=$|\\/$)`}],[/\\\\\\/g,()=>"\\"]],h=Object.create(null),p=e=>"string"==typeof e,f=e=>e&&p(e)&&!r.test(e)&&0!==e.indexOf("#"),C=e=>e.split(o);class d{constructor(e,t,n,r){this.origin=e,this.pattern=t,this.negative=n,this.regex=r}}const I=(e,t)=>{const n=e;let r=!1;0===e.indexOf("!")&&(r=!0,e=e.substr(1));const o=((e,t,n)=>{const r=h[e];if(r)return r;const A=l.reduce((t,n)=>t.replace(n[0],n[1].bind(e)),e);return h[e]=n?new RegExp(A,"i"):new RegExp(A)})(e=e.replace(A,"!").replace(i,"#"),0,t);return new d(n,e,r,o)},E=(e,t)=>{throw new t(e)},B=(e,t,n)=>{if(!p(e))return n(`path must be a string, but got \`${t}\``,TypeError);if(!e)return n("path must not be empty",TypeError);if(B.isNotRelative(e)){return n(`path should be a ${"`path.relative()`d"} string, but got "${t}"`,RangeError)}return!0},y=e=>s.test(e);B.isNotRelative=y,B.convert=e=>e;class m{constructor({ignorecase:e=!0}={}){this._rules=[],this._ignorecase=e,u(this,c,!0),this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[c])return this._rules=this._rules.concat(e._rules),void(this._added=!0);if(f(e)){const t=I(e,this._ignorecase);this._added=!0,this._rules.push(t)}}add(e){return this._added=!1,n(p(e)?C(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,t){let n=!1,r=!1;return this._rules.forEach(A=>{const{negative:i}=A;r===i&&n!==r||i&&!n&&!r&&!t||A.regex.test(e)&&(n=!i,r=i)}),{ignored:n,unignored:r}}_test(e,t,n,r){const A=e&&B.convert(e);return B(A,e,E),this._t(A,t,n,r)}_t(e,t,n,r){if(e in t)return t[e];if(r||(r=e.split(a)),r.pop(),!r.length)return t[e]=this._testOne(e,n);const A=this._t(r.join(a)+a,t,n,r);return t[e]=A.ignored?A:this._testOne(e,n)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return n(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}}const Q=e=>new m(e),w=()=>!1;if(Q.isPathValid=e=>B(e&&B.convert(e),e,w),Q.default=Q,e.exports=Q,"undefined"!=typeof process&&(process.env&&process.env.IGNORE_TEST_WIN32||"win32"===process.platform)){const e=e=>/^\\\\\?\\/.test(e)||/["<>|\u0000-\u001F]+/u.test(e)?e:e.replace(/\\/g,"/");B.convert=e;const t=/^[a-z]:\//i;B.isNotRelative=e=>t.test(e)||y(e)}},function(e,t,n){"use strict";e.exports=e=>{const t=/^\\\\\?\\/.test(e),n=/[^\u0000-\u0080]+/.test(e);return t||n?e:e.replace(/\\/g,"/")}},function(e,t,n){"use strict";const{Transform:r}=n(8);class A extends r{constructor(){super({objectMode:!0})}}e.exports={FilterStream:class extends A{constructor(e){super(),this._filter=e}_transform(e,t,n){this._filter(e)&&this.push(e),n()}},UniqueStream:class extends A{constructor(){super(),this._pushed=new Set}_transform(e,t,n){this._pushed.has(e)||(this.push(e),this._pushed.add(e)),n()}}}},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(0),i=n(2),o=n(323),s=e=>`\n${e.format("Welcome on Yarn 2!","bold")} 🎉 Thanks for helping us shape our vision of how projects\nshould be managed going forward.\n\nBeing still in RC, Yarn 2 isn't completely stable yet. Some features might be\nmissing, and some behaviors may have received major overhaul. In case of doubt,\nuse the following URLs to get some insight:\n\n - The changelog:\n ${e.format("https://github.com/yarnpkg/berry/tree/CHANGELOG.md","cyan")}\n\n - Our issue tracker:\n ${e.format("https://github.com/yarnpkg/berry","cyan")}\n\n - Our Discord server:\n ${e.format("https://discord.gg/yarnpkg","cyan")}\n\nWe're hoping you will enjoy the experience. For now, a good start is to run\nthe two following commands:\n\n ${e.format("find . -name node_modules -prune -exec rm -r {} \\;","magenta")}\n ${e.format("yarn install","magenta")}\n\nOne last trick! If you need at some point to upgrade Yarn to a nightly build,\nthe following command will install the CLI straight from master:\n\n ${e.format("yarn set version from sources","magenta")}\n\nSee you later 👋\n`;class a extends o.BaseCommand{async execute(){const e=await A.Configuration.find(this.context.cwd,this.context.plugins);this.context.stdout.write(`${s(e).trim()}\n`)}}r([i.Command.Path("--welcome")],a.prototype,"execute",null),t.WelcomeCommand=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=["@yarnpkg/cli","@yarnpkg/core","@yarnpkg/fslib","@yarnpkg/libzip","@yarnpkg/parsers","@yarnpkg/shell","clipanion","semver","yup"];t.getDynamicLibs=()=>new Map(r.map(e=>[e,n(719)(e)]))},function(e,t){function n(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}n.keys=function(){return[]},n.resolve=n,e.exports=n,n.id=719},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(0),A=n(326);t.openWorkspace=async function(e,t){const{project:n,workspace:i}=await r.Project.find(e,t);if(!i)throw new A.WorkspaceRequiredError(n.cwd,t);return i}},function(e){e.exports=JSON.parse('{"name":"@yarnpkg/core","version":"2.0.0-rc.27","main":"./sources/index.ts","sideEffects":false,"dependencies":{"@yarnpkg/fslib":"workspace:^2.0.0-rc.19","@yarnpkg/json-proxy":"workspace:^2.0.0-rc.7","@yarnpkg/libzip":"workspace:^2.0.0-rc.11","@yarnpkg/parsers":"workspace:^2.0.0-rc.11","@yarnpkg/pnp":"workspace:^2.0.0-rc.20","@yarnpkg/shell":"workspace:^2.0.0-rc.11","camelcase":"^5.3.1","chalk":"^3.0.0","clipanion":"^2.1.5","cross-spawn":"6.0.5","diff":"^4.0.1","globby":"^10.0.1","got":"^11.0.0-beta.1","is-ci":"^2.0.0","json-file-plus":"^3.3.1","logic-solver":"^2.0.1","micromatch":"^4.0.2","mkdirp":"^0.5.1","p-limit":"^2.2.0","pluralize":"^7.0.0","pretty-bytes":"^5.1.0","semver":"^7.1.2","stream-to-promise":"^2.2.0","tar":"^4.4.6","tunnel":"^0.0.6"},"devDependencies":{"@types/cross-spawn":"6.0.0","@types/diff":"^4.0.2","@types/got":"^8.3.4","@types/is-ci":"^2.0.0","@types/micromatch":"^3.1.0","@types/node":"^13.7.0","@types/semver":"^7.1.0","@types/tar":"^4.0.0","@types/tunnel":"^0.0.0","@yarnpkg/cli":"workspace:^2.0.0-rc.33","@yarnpkg/plugin-link":"workspace:^2.0.0-rc.11","@yarnpkg/plugin-npm":"workspace:^2.0.0-rc.19","@yarnpkg/plugin-pnp":"workspace:^2.0.0-rc.21"},"scripts":{"postpack":"rm -rf lib","prepack":"run build:compile \\"$(pwd)\\""},"publishConfig":{"main":"./lib/index.js","types":"./lib/index.d.ts"},"files":["/lib/**/*"],"repository":{"type":"git","url":"ssh://git@github.com/yarnpkg/berry.git"}}')},function(e){e.exports=JSON.parse('{"name":"@yarnpkg/fslib","version":"2.0.0-rc.19","main":"./sources/index.ts","sideEffects":false,"dependencies":{"@yarnpkg/libzip":"workspace:^2.0.0-rc.11"},"scripts":{"postpack":"rm -rf lib","prepack":"run build:compile \\"$(pwd)\\"","release":"yarn npm publish","test:fslib":"run test:unit packages/yarnpkg-fslib","test:watch:fslib":"run test:unit --watch packages/yarnpkg-fslib"},"publishConfig":{"main":"./lib/index.js","typings":"./lib/index.d.ts"},"files":["/lib/**/*"],"repository":{"type":"git","url":"ssh://git@github.com/yarnpkg/berry.git"}}')},function(e){e.exports=JSON.parse('{"name":"@yarnpkg/libzip","version":"2.0.0-rc.11","main":"./sources/sync.ts","browser":"./sources/async.ts","scripts":{"build:libzip:wasm":"cd ./artifacts && ./build.sh","postpack":"rm -rf lib","prepack":"run build:compile \\"$(pwd)\\"","release":"yarn npm publish"},"publishConfig":{"main":"./lib/sync.js","browser":"./lib/async.js"},"files":["/lib/**/*"],"repository":{"type":"git","url":"ssh://git@github.com/yarnpkg/berry.git"},"devDependencies":{"@types/prettier":"1.19.0","prettier":"^1.19.1"},"dependencies":{"@types/emscripten":"^1.38.0"}}')},function(e){e.exports=JSON.parse('{"name":"@yarnpkg/parsers","version":"2.0.0-rc.11","main":"./sources/index.ts","dependencies":{"js-yaml":"^3.10.0"},"devDependencies":{"pegjs":"^0.10.0"},"scripts":{"grammar:shell":"run pegjs -o sources/grammars/shell.js sources/grammars/shell.pegjs","grammar:resolution":"run pegjs -o sources/grammars/resolution.js sources/grammars/resolution.pegjs","grammar:syml":"run pegjs -o sources/grammars/syml.js sources/grammars/syml.pegjs","postpack":"rm -rf lib","prepack":"run build:compile \\"$(pwd)\\"","release":"yarn npm publish","test:parsers":"run test:unit packages/yarnpkg-parsers"},"publishConfig":{"main":"./lib/index.js","typings":"./lib/index.d.ts"},"files":["/lib/**/*"],"repository":{"type":"git","url":"ssh://git@github.com/yarnpkg/berry.git"}}')},function(e){e.exports=JSON.parse('{"name":"@yarnpkg/shell","version":"2.0.0-rc.11","main":"./sources/index.ts","dependencies":{"@yarnpkg/fslib":"workspace:^2.0.0-rc.19","@yarnpkg/parsers":"workspace:^2.0.0-rc.11","cross-spawn":"6.0.5","fast-glob":"^3.2.2","stream-buffers":"^3.0.2"},"devDependencies":{"@types/cross-spawn":"6.0.0"},"scripts":{"postpack":"rm -rf lib","prepack":"run build:compile \\"$(pwd)\\"","release":"yarn npm publish","test:shell":"run test:unit packages/yarnpkg-shell"},"publishConfig":{"main":"./lib/index.js","typings":"./lib/index.d.ts"},"files":["/lib/**/*"],"repository":{"type":"git","url":"ssh://git@github.com/yarnpkg/berry.git"}}')},function(e){e.exports=JSON.parse('{"name":"clipanion","version":"2.1.5","main":"lib/advanced","license":"MIT","dependencies":{"chalk":"^2.4.2"},"devDependencies":{"@berry/pnpify":"^0.0.6","@types/chai":"^4.1.7","@types/chai-as-promised":"^7.1.0","@types/chalk":"^2.2.0","@types/mocha":"^5.2.7","@types/node":"^12.6.2","@types/yup":"^0.26.21","chai":"^4.2.0","chai-as-promised":"^7.1.1","get-stream":"^5.1.0","mocha":"^6.1.4","ts-node":"^8.3.0","typescript":"^3.5.3","yup":"^0.27.0"},"scripts":{"prepack":"rm -rf lib && yarn pnpify tsc","postpack":"rm -rf lib","test":"yarn pnpify mocha --require ts-node/register --extension ts tests"},"publishConfig":{"main":"lib/advanced"},"files":["/lib/**/*","!/lib/demos/**/*"]}')},function(e){e.exports=JSON.parse('{"name":"semver","version":"7.1.2","description":"The semantic version parser used by npm.","main":"index.js","scripts":{"test":"tap","snap":"tap","preversion":"npm test","postversion":"npm publish","postpublish":"git push origin --follow-tags"},"devDependencies":{"tap":"^14.10.2"},"license":"ISC","repository":"https://github.com/npm/node-semver","bin":{"semver":"./bin/semver.js"},"files":["bin","range.bnf","classes","functions","internal","ranges","index.js","preload.js"],"tap":{"check-coverage":true,"coverage-map":"map.js"},"engines":{"node":">=10"}}')},function(e){e.exports=JSON.parse('{"name":"yup","version":"0.27.0","description":"Dead simple Object schema validation","main":"lib/index.js","runkitExampleFilename":"./runkit-example.js","scripts":{"test":"npm run lint && npm run test-all -- --runInBand","testonly":"jest","test-all":"npm run testonly -- --projects ./jest-sync.config.json --projects ./package.json","tdd":"jest --watch","lint":"eslint src test","precommit":"lint-staged","toc":"doctoc README.md --github","release":"rollout","build":"babel src --out-dir lib --delete-dir-on-start && npm run toc","prepublishOnly":"npm run build"},"files":["lib"],"repository":{"type":"git","url":"https://github.com/jquense/yup.git"},"author":"@monasticpanic Jason Quense","license":"MIT","bugs":{"url":"https://github.com/jquense/yup/issues"},"homepage":"https://github.com/jquense/yup","release":{"conventional-commits":true},"prettier":{"singleQuote":true,"trailingComma":"all"},"lint-staged":{"*.{js,json,css,md}":["prettier --write","git add"]},"jest":{"globals":{"YUP_USE_SYNC":true},"testEnvironment":"node","setupTestFrameworkScriptFile":"./test-setup.js","roots":["test"],"testRegex":"\\\\.js","testPathIgnorePatterns":["helpers\\\\.js"]},"devDependencies":{"@4c/rollout":"^1.3.3","@babel/cli":"7.2.3","@babel/core":"7.3.4","babel-core":"^7.0.0-bridge.0","babel-eslint":"^9.0.0","babel-jest":"^22.4.3","babel-preset-jason":"^6.0.1","benchmark":"^2.0.0","chai":"^4.2.0","chai-as-promised":"^7.1.1","dirty-chai":"^2.0.1","doctoc":"^1.4.0","eslint":"^4.19.1","eslint-config-jason":"^4.0.1","eslint-config-prettier":"^3.0.1","eslint-plugin-import":"^2.16.0","eslint-plugin-jest":"^21.22.0","eslint-plugin-react":"^7.12.4","husky":"^0.14.3","jest":"^22.4.3","lint-staged":"^7.2.2","prettier":"^1.13.7","rollup":"^0.65.0","rollup-plugin-babel":"^4.0.2","rollup-plugin-filesize":"^4.0.1","rollup-plugin-node-resolve":"^3.3.0","rollup-plugin-size-snapshot":"^0.6.1","sinon":"^6.1.5","sinon-chai":"^3.3.0"},"dependencies":{"@babel/runtime":"^7.0.0","fn-name":"~2.0.1","lodash":"^4.17.11","property-expr":"^1.5.0","synchronous-promise":"^2.0.6","toposort":"^2.0.2"}}')},function(e,t,n){"use strict";var r=n(12);t.__esModule=!0,t.addMethod=function(e,t,n){if(!e||!(0,f.default)(e.prototype))throw new TypeError("You must provide a yup schema constructor function");if("string"!=typeof t)throw new TypeError("A Method name must be provided");if("function"!=typeof n)throw new TypeError("Method function must be provided");e.prototype[t]=n},t.lazy=t.ref=t.boolean=void 0;var A=r(n(63));t.mixed=A.default;var i=r(n(829));t.bool=i.default;var o=r(n(830));t.string=o.default;var s=r(n(831));t.number=s.default;var a=r(n(832));t.date=a.default;var c=r(n(834));t.object=c.default;var u=r(n(854));t.array=u.default;var g=r(n(100)),l=r(n(855)),h=r(n(225));t.ValidationError=h.default;var p=r(n(362));t.reach=p.default;var f=r(n(66));t.isSchema=f.default;var C=r(n(856));t.setLocale=C.default;var d=i.default;t.boolean=d;t.ref=function(e,t){return new g.default(e,t)};t.lazy=function(e){return new l.default(e)}},function(e,t){var n=Object.prototype.hasOwnProperty;e.exports=function(e,t){return null!=e&&n.call(e,t)}},function(e,t,n){var r=n(75),A=Object.prototype,i=A.hasOwnProperty,o=A.toString,s=r?r.toStringTag:void 0;e.exports=function(e){var t=i.call(e,s),n=e[s];try{e[s]=void 0;var r=!0}catch(e){}var A=o.call(e);return r&&(t?e[s]=n:delete e[s]),A}},function(e,t){var n=Object.prototype.toString;e.exports=function(e){return n.call(e)}},function(e,t,n){var r=n(734),A=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,i=/\\(\\)?/g,o=r((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(A,(function(e,n,r,A){t.push(r?A.replace(i,"$1"):n||e)})),t}));e.exports=o},function(e,t,n){var r=n(735),A=500;e.exports=function(e){var t=r(e,(function(e){return n.size===A&&n.clear(),e})),n=t.cache;return t}},function(e,t,n){var r=n(212),A="Expected a function";function i(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError(A);var n=function(){var r=arguments,A=t?t.apply(this,r):r[0],i=n.cache;if(i.has(A))return i.get(A);var o=e.apply(this,r);return n.cache=i.set(A,o)||i,o};return n.cache=new(i.Cache||r),n}i.Cache=r,e.exports=i},function(e,t,n){var r=n(737),A=n(138),i=n(214);e.exports=function(){this.size=0,this.__data__={hash:new r,map:new(i||A),string:new r}}},function(e,t,n){var r=n(738),A=n(743),i=n(744),o=n(745),s=n(746);function a(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1}},function(e,t,n){var r=n(139);e.exports=function(e,t){var n=this.__data__,A=r(n,e);return A<0?(++this.size,n.push([e,t])):n[A][1]=t,this}},function(e,t,n){var r=n(140);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},function(e,t){e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},function(e,t,n){var r=n(140);e.exports=function(e){return r(this,e).get(e)}},function(e,t,n){var r=n(140);e.exports=function(e){return r(this,e).has(e)}},function(e,t,n){var r=n(140);e.exports=function(e,t){var n=r(this,e),A=n.size;return n.set(e,t),this.size+=n.size==A?0:1,this}},function(e,t,n){var r=n(75),A=n(332),i=n(36),o=n(211),s=1/0,a=r?r.prototype:void 0,c=a?a.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(i(t))return A(t,e)+"";if(o(t))return c?c.call(t):"";var n=t+"";return"0"==n&&1/t==-s?"-0":n}},function(e,t,n){var r=n(74),A=n(46),i="[object Arguments]";e.exports=function(e){return A(e)&&r(e)==i}},function(e,t,n){var r=n(760),A=1,i=4;e.exports=function(e,t){return r(e,A|i,t="function"==typeof t?t:void 0)}},function(e,t,n){var r=n(216),A=n(766),i=n(335),o=n(768),s=n(774),a=n(777),c=n(340),u=n(778),g=n(780),l=n(345),h=n(781),p=n(99),f=n(786),C=n(787),d=n(792),I=n(36),E=n(217),B=n(794),y=n(76),m=n(796),Q=n(77),w=1,v=2,b=4,D="[object Arguments]",S="[object Function]",k="[object GeneratorFunction]",_="[object Object]",F={};F[D]=F["[object Array]"]=F["[object ArrayBuffer]"]=F["[object DataView]"]=F["[object Boolean]"]=F["[object Date]"]=F["[object Float32Array]"]=F["[object Float64Array]"]=F["[object Int8Array]"]=F["[object Int16Array]"]=F["[object Int32Array]"]=F["[object Map]"]=F["[object Number]"]=F[_]=F["[object RegExp]"]=F["[object Set]"]=F["[object String]"]=F["[object Symbol]"]=F["[object Uint8Array]"]=F["[object Uint8ClampedArray]"]=F["[object Uint16Array]"]=F["[object Uint32Array]"]=!0,F["[object Error]"]=F[S]=F["[object WeakMap]"]=!1,e.exports=function e(t,n,M,N,R,K){var x,P=n&w,L=n&v,O=n&b;if(M&&(x=R?M(t,N,R,K):M(t)),void 0!==x)return x;if(!y(t))return t;var T=I(t);if(T){if(x=f(t),!P)return c(t,x)}else{var U=p(t),Y=U==S||U==k;if(E(t))return a(t,P);if(U==_||U==D||Y&&!R){if(x=L||Y?{}:d(t),!P)return L?g(t,s(x,t)):u(t,o(x,t))}else{if(!F[U])return R?t:{};x=C(t,U,P)}}K||(K=new r);var j=K.get(t);if(j)return j;if(K.set(t,x),m(t))return t.forEach((function(r){x.add(e(r,n,M,r,t,K))})),x;if(B(t))return t.forEach((function(r,A){x.set(A,e(r,n,M,A,t,K))})),x;var G=O?L?h:l:L?keysIn:Q,J=T?void 0:G(t);return A(J||t,(function(r,A){J&&(r=t[A=r]),i(x,A,e(r,n,M,A,t,K))})),x}},function(e,t,n){var r=n(138);e.exports=function(){this.__data__=new r,this.size=0}},function(e,t){e.exports=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}},function(e,t){e.exports=function(e){return this.__data__.get(e)}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t,n){var r=n(138),A=n(214),i=n(212),o=200;e.exports=function(e,t){var n=this.__data__;if(n instanceof r){var s=n.__data__;if(!A||s.length0},length:function(e,t){return void 0===t&&(t=o.string.length),this.test({message:t,name:"length",exclusive:!0,params:{length:e},test:function(t){return(0,s.default)(t)||t.length===this.resolve(e)}})},min:function(e,t){return void 0===t&&(t=o.string.min),this.test({message:t,name:"min",exclusive:!0,params:{min:e},test:function(t){return(0,s.default)(t)||t.length>=this.resolve(e)}})},max:function(e,t){return void 0===t&&(t=o.string.max),this.test({name:"max",exclusive:!0,message:t,params:{max:e},test:function(t){return(0,s.default)(t)||t.length<=this.resolve(e)}})},matches:function(e,t){var n,r=!1;return t&&(t.message||t.hasOwnProperty("excludeEmptyString")?(r=t.excludeEmptyString,n=t.message):n=t),this.test({message:n||o.string.matches,params:{regex:e},test:function(t){return(0,s.default)(t)||""===t&&r||e.test(t)}})},email:function(e){return void 0===e&&(e=o.string.email),this.matches(a,{message:e,excludeEmptyString:!0})},url:function(e){return void 0===e&&(e=o.string.url),this.matches(c,{message:e,excludeEmptyString:!0})},ensure:function(){return this.default("").transform((function(e){return null===e?"":e}))},trim:function(e){return void 0===e&&(e=o.string.trim),this.transform((function(e){return null!=e?e.trim():e})).test({message:e,name:"trim",test:u})},lowercase:function(e){return void 0===e&&(e=o.string.lowercase),this.transform((function(e){return(0,s.default)(e)?e:e.toLowerCase()})).test({message:e,name:"string_case",exclusive:!0,test:function(e){return(0,s.default)(e)||e===e.toLowerCase()}})},uppercase:function(e){return void 0===e&&(e=o.string.uppercase),this.transform((function(e){return(0,s.default)(e)?e:e.toUpperCase()})).test({message:e,name:"string_case",exclusive:!0,test:function(e){return(0,s.default)(e)||e===e.toUpperCase()}})}}),e.exports=t.default},function(e,t,n){"use strict";var r=n(12);t.__esModule=!0,t.default=c;var A=r(n(78)),i=r(n(63)),o=n(65),s=r(n(146)),a=function(e){return(0,s.default)(e)||e===(0|e)};function c(){var e=this;if(!(this instanceof c))return new c;i.default.call(this,{type:"number"}),this.withMutation((function(){e.transform((function(e){var t=e;if("string"==typeof t){if(""===(t=t.replace(/\s/g,"")))return NaN;t=+t}return this.isType(t)?t:parseFloat(t)}))}))}(0,A.default)(c,i.default,{_typeCheck:function(e){return e instanceof Number&&(e=e.valueOf()),"number"==typeof e&&!function(e){return e!=+e}(e)},min:function(e,t){return void 0===t&&(t=o.number.min),this.test({message:t,name:"min",exclusive:!0,params:{min:e},test:function(t){return(0,s.default)(t)||t>=this.resolve(e)}})},max:function(e,t){return void 0===t&&(t=o.number.max),this.test({message:t,name:"max",exclusive:!0,params:{max:e},test:function(t){return(0,s.default)(t)||t<=this.resolve(e)}})},lessThan:function(e,t){return void 0===t&&(t=o.number.lessThan),this.test({message:t,name:"max",exclusive:!0,params:{less:e},test:function(t){return(0,s.default)(t)||tthis.resolve(e)}})},positive:function(e){return void 0===e&&(e=o.number.positive),this.moreThan(0,e)},negative:function(e){return void 0===e&&(e=o.number.negative),this.lessThan(0,e)},integer:function(e){return void 0===e&&(e=o.number.integer),this.test({name:"integer",message:e,test:a})},truncate:function(){return this.transform((function(e){return(0,s.default)(e)?e:0|e}))},round:function(e){var t=["ceil","floor","round","trunc"];if("trunc"===(e=e&&e.toLowerCase()||"round"))return this.truncate();if(-1===t.indexOf(e.toLowerCase()))throw new TypeError("Only valid options for round() are: "+t.join(", "));return this.transform((function(t){return(0,s.default)(t)?t:Math[e](t)}))}}),e.exports=t.default},function(e,t,n){"use strict";var r=n(12);t.__esModule=!0,t.default=void 0;var A=r(n(63)),i=r(n(78)),o=r(n(833)),s=n(65),a=r(n(146)),c=r(n(100)),u=new Date(""),g=l;function l(){var e=this;if(!(this instanceof l))return new l;A.default.call(this,{type:"date"}),this.withMutation((function(){e.transform((function(e){return this.isType(e)?e:(e=(0,o.default)(e))?new Date(e):u}))}))}t.default=g,(0,i.default)(l,A.default,{_typeCheck:function(e){return t=e,"[object Date]"===Object.prototype.toString.call(t)&&!isNaN(e.getTime());var t},min:function(e,t){void 0===t&&(t=s.date.min);var n=e;if(!c.default.isRef(n)&&(n=this.cast(e),!this._typeCheck(n)))throw new TypeError("`min` must be a Date or a value that can be `cast()` to a Date");return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test:function(e){return(0,a.default)(e)||e>=this.resolve(n)}})},max:function(e,t){void 0===t&&(t=s.date.max);var n=e;if(!c.default.isRef(n)&&(n=this.cast(e),!this._typeCheck(n)))throw new TypeError("`max` must be a Date or a value that can be `cast()` to a Date");return this.test({message:t,name:"max",exclusive:!0,params:{max:e},test:function(e){return(0,a.default)(e)||e<=this.resolve(n)}})}}),e.exports=t.default},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e){var t,n,A=[1,4,5,6,7,10,11],i=0;if(n=r.exec(e)){for(var o,s=0;o=A[s];++s)n[o]=+n[o]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,void 0!==n[8]&&""!==n[8]||void 0!==n[9]&&""!==n[9]?("Z"!==n[8]&&void 0!==n[9]&&(i=60*n[10]+n[11],"+"===n[9]&&(i=0-i)),t=Date.UTC(n[1],n[2],n[3],n[4],n[5]+i,n[6],n[7])):t=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7])}else t=Date.parse?Date.parse(e):NaN;return t};var r=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;e.exports=t.default},function(e,t,n){"use strict";var r=n(363),A=n(12);t.__esModule=!0,t.default=Q;var i=A(n(364)),o=A(n(72)),s=A(n(73)),a=A(n(835)),c=A(n(844)),u=A(n(850)),g=A(n(354)),l=n(145),h=A(n(63)),p=n(65),f=A(n(851)),C=A(n(853)),d=A(n(78)),I=A(n(366)),E=r(n(224));function B(){var e=(0,i.default)(["",".",""]);return B=function(){return e},e}function y(){var e=(0,i.default)(["",".",""]);return y=function(){return e},e}var m=function(e){return"[object Object]"===Object.prototype.toString.call(e)};function Q(e){var t=this;if(!(this instanceof Q))return new Q(e);h.default.call(this,{type:"object",default:function(){var e=this;if(this._nodes.length){var t={};return this._nodes.forEach((function(n){t[n]=e.fields[n].default?e.fields[n].default():void 0})),t}}}),this.fields=Object.create(null),this._nodes=[],this._excludedEdges=[],this.withMutation((function(){t.transform((function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(t){e=null}return this.isType(e)?e:null})),e&&t.shape(e)}))}(0,d.default)(Q,h.default,{_typeCheck:function(e){return m(e)||"function"==typeof e},_cast:function(e,t){var n=this;void 0===t&&(t={});var r=h.default.prototype._cast.call(this,e,t);if(void 0===r)return this.default();if(!this._typeCheck(r))return r;var A=this.fields,i=!0===this._option("stripUnknown",t),a=this._nodes.concat(Object.keys(r).filter((function(e){return-1===n._nodes.indexOf(e)}))),c={},u=(0,o.default)({},t,{parent:c,__validating:!1}),g=!1;return a.forEach((function(e){var n=A[e],o=(0,s.default)(r,e);if(n){var a,l=n._options&&n._options.strict;if(u.path=(0,I.default)(y(),t.path,e),u.value=r[e],!0===(n=n.resolve(u))._strip)return void(g=g||e in r);void 0!==(a=t.__validating&&l?r[e]:n.cast(r[e],u))&&(c[e]=a)}else o&&!i&&(c[e]=r[e]);c[e]!==r[e]&&(g=!0)})),g?c:r},_validate:function(e,t){var n,r,A=this;void 0===t&&(t={});var i=t.sync,s=[],a=null!=t.originalValue?t.originalValue:e;return n=this._option("abortEarly",t),r=this._option("recursive",t),t=(0,o.default)({},t,{__validating:!0,originalValue:a}),h.default.prototype._validate.call(this,e,t).catch((0,E.propagateErrors)(n,s)).then((function(e){if(!r||!m(e)){if(s.length)throw s[0];return e}a=a||e;var c=A._nodes.map((function(n){var r=(0,I.default)(B(),t.path,n),i=A.fields[n],s=(0,o.default)({},t,{path:r,parent:e,originalValue:a[n]});return i&&i.validate?(s.strict=!0,i.validate(e[n],s)):Promise.resolve(!0)}));return(0,E.default)({sync:i,validations:c,value:e,errors:s,endEarly:n,path:t.path,sort:(0,C.default)(A.fields)})}))},concat:function(e){var t=h.default.prototype.concat.call(this,e);return t._nodes=(0,f.default)(t.fields,t._excludedEdges),t},shape:function(e,t){void 0===t&&(t=[]);var n=this.clone(),r=(0,o.default)(n.fields,e);if(n.fields=r,t.length){Array.isArray(t[0])||(t=[t]);var A=t.map((function(e){return e[0]+"-"+e[1]}));n._excludedEdges=n._excludedEdges.concat(A)}return n._nodes=(0,f.default)(r,n._excludedEdges),n},from:function(e,t,n){var r=(0,l.getter)(e,!0);return this.transform((function(A){if(null==A)return A;var i=A;return(0,s.default)(A,e)&&(i=(0,o.default)({},A),n||delete i[e],i[t]=r(A)),i}))},noUnknown:function(e,t){void 0===e&&(e=!0),void 0===t&&(t=p.object.noUnknown),"string"==typeof e&&(t=e,e=!0);var n=this.test({name:"noUnknown",exclusive:!0,message:t,test:function(t){return null==t||!e||0===function(e,t){var n=Object.keys(e.fields);return Object.keys(t).filter((function(e){return-1===n.indexOf(e)}))}(this.schema,t).length}});return n._options.stripUnknown=e,n},unknown:function(e,t){return void 0===e&&(e=!0),void 0===t&&(t=p.object.noUnknown),this.noUnknown(!e,t)},transformKeys:function(e){return this.transform((function(t){return t&&(0,u.default)(t,(function(t,n){return e(n)}))}))},camelCase:function(){return this.transformKeys(c.default)},snakeCase:function(){return this.transformKeys(a.default)},constantCase:function(){return this.transformKeys((function(e){return(0,a.default)(e).toUpperCase()}))},describe:function(){var e=h.default.prototype.describe.call(this);return e.fields=(0,g.default)(this.fields,(function(e){return e.describe()})),e}}),e.exports=t.default},function(e,t,n){var r=n(365)((function(e,t,n){return e+(n?"_":"")+t.toLowerCase()}));e.exports=r},function(e,t){e.exports=function(e,t,n,r){var A=-1,i=null==e?0:e.length;for(r&&i&&(n=e[++A]);++A=A?e:r(e,t,n)}},function(e,t){e.exports=function(e,t,n){var r=-1,A=e.length;t<0&&(t=-t>A?0:A+t),(n=n>A?A:n)<0&&(n+=A),A=t>n?0:n-t>>>0,t>>>=0;for(var i=Array(A);++r0},of:function(e){var t=this.clone();if(!1!==e&&!(0,c.default)(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema, or `false` to negate a current sub-schema. not: "+(0,g.default)(e));return t._subType=e,t},min:function(e,t){return t=t||h.array.min,this.test({message:t,name:"min",exclusive:!0,params:{min:e},test:function(t){return(0,a.default)(t)||t.length>=this.resolve(e)}})},max:function(e,t){return t=t||h.array.max,this.test({message:t,name:"max",exclusive:!0,params:{max:e},test:function(t){return(0,a.default)(t)||t.length<=this.resolve(e)}})},ensure:function(){var e=this;return this.default((function(){return[]})).transform((function(t){return e.isType(t)?t:null===t?[]:[].concat(t)}))},compact:function(e){var t=e?function(t,n,r){return!e(t,n,r)}:function(e){return!!e};return this.transform((function(e){return null!=e?e.filter(t):e}))},describe:function(){var e=l.default.prototype.describe.call(this);return this._subType&&(e.innerType=this._subType.describe()),e}}),e.exports=t.default},function(e,t,n){"use strict";var r=n(12);t.__esModule=!0,t.default=void 0;var A=r(n(66)),i=function(){function e(e){this._resolve=function(t,n){var r=e(t,n);if(!(0,A.default)(r))throw new TypeError("lazy() functions must return a valid schema");return r.resolve(n)}}var t=e.prototype;return t.resolve=function(e){return this._resolve(e.value,e)},t.cast=function(e,t){return this._resolve(e,t).cast(e,t)},t.validate=function(e,t){return this._resolve(e,t).validate(e,t)},t.validateSync=function(e,t){return this._resolve(e,t).validateSync(e,t)},t.validateAt=function(e,t,n){return this._resolve(t,n).validateAt(e,t,n)},t.validateSyncAt=function(e,t,n){return this._resolve(t,n).validateSyncAt(e,t,n)},e}();i.prototype.__isYupSchema__=!0;var o=i;t.default=o,e.exports=t.default},function(e,t,n){"use strict";var r=n(12);t.__esModule=!0,t.default=function(e){Object.keys(e).forEach((function(t){Object.keys(e[t]).forEach((function(n){A.default[t][n]=e[t][n]}))}))};var A=r(n(65));e.exports=t.default},function(e){e.exports=JSON.parse('{"name":"@yarnpkg/plugin-essentials","version":"2.0.0-rc.27","main":"./sources/index.ts","dependencies":{"@yarnpkg/fslib":"workspace:^2.0.0-rc.19","@yarnpkg/json-proxy":"workspace:^2.0.0-rc.7","@yarnpkg/parsers":"workspace:^2.0.0-rc.11","clipanion":"^2.1.5","inquirer":"^6.2.0","lodash":"^4.17.15","semver":"^7.1.2","treeify":"^1.1.0","yup":"^0.27.0"},"peerDependencies":{"@yarnpkg/cli":"^2.0.0-rc.33","@yarnpkg/core":"^2.0.0-rc.27"},"devDependencies":{"@types/inquirer":"^0.0.43","@types/lodash":"^4.14.136","@types/semver":"^7.1.0","@types/treeify":"^1.0.0","@yarnpkg/cli":"workspace:^2.0.0-rc.33","@yarnpkg/core":"workspace:^2.0.0-rc.27"},"repository":{"type":"git","url":"ssh://git@github.com/yarnpkg/berry.git"},"scripts":{"postpack":"rm -rf lib","prepack":"run build:compile \\"$(pwd)\\""},"publishConfig":{"main":"./lib/index.js","typings":"./lib/index.d.ts"},"files":["/lib/**/*"]}')},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},A=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const i=n(0),o=r(n(859)),s=r(n(1033)),a=r(n(1034)),c=r(n(405)),u=r(n(1066)),g=r(n(1115)),l=r(n(1116)),h=r(n(1117)),p=r(n(1118)),f=r(n(1119)),C=r(n(1120)),d=r(n(1121)),I=r(n(1122)),E=r(n(1123)),B=r(n(427)),y=r(n(1125)),m=r(n(1126)),Q=r(n(1127)),w=r(n(1128)),v=r(n(1129)),b=r(n(1131)),D=r(n(1132)),S=r(n(428)),k=r(n(1133)),_=r(n(1134)),F=r(n(1136)),M=r(n(1137)),N=A(n(161));t.suggestUtils=N;const R={configuration:{enableImmutableInstalls:{description:"If true, prevents the install command from modifying the lockfile",type:i.SettingsType.BOOLEAN,default:!1},defaultSemverRangePrefix:{description:"The default save prefix: '^', '~' or ''",type:i.SettingsType.STRING,default:N.Modifier.CARET}},commands:[a.default,c.default,u.default,b.default,D.default,S.default,F.default,l.default,h.default,p.default,f.default,o.default,s.default,g.default,C.default,d.default,I.default,E.default,B.default,y.default,m.default,Q.default,w.default,v.default,k.default,_.default,M.default]};t.default=R},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o},A=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const o=n(7),s=n(0),a=n(0),c=n(0),u=n(2),g=A(n(147)),l=i(n(161));class h extends o.BaseCommand{constructor(){super(...arguments),this.packages=[],this.json=!1,this.exact=!1,this.tilde=!1,this.caret=!1,this.dev=!1,this.peer=!1,this.optional=!1,this.preferDev=!1,this.interactive=!1,this.cached=!1}async execute(){const e=await s.Configuration.find(this.context.cwd,this.context.plugins),{project:t,workspace:n}=await a.Project.find(e,this.context.cwd),r=await s.Cache.find(e);if(!n)throw new o.WorkspaceRequiredError(t.cwd,this.context.cwd);const A=g.default.createPromptModule({input:this.context.stdin,output:this.context.stdout}),i=l.getModifier(this,t),h=[...this.interactive?[l.Strategy.REUSE]:[],l.Strategy.PROJECT,...this.cached?[l.Strategy.CACHE]:[],l.Strategy.LATEST],p=this.interactive?1/0:1,f=await Promise.all(this.packages.map(async e=>{const A=e.match(/^\.{0,2}\//)?await l.extractDescriptorFromPath(e,{cache:r,cwd:this.context.cwd,workspace:n}):c.structUtils.parseDescriptor(e),o=function(e,t,{dev:n,peer:r,preferDev:A,optional:i}){const o=e.manifest[l.Target.REGULAR].has(t.identHash),s=e.manifest[l.Target.DEVELOPMENT].has(t.identHash),a=e.manifest[l.Target.PEER].has(t.identHash);if((n||r)&&o)throw new u.UsageError(`Package "${c.structUtils.prettyIdent(e.project.configuration,t)}" is already listed as a regular dependency - remove the -D,-P flags or remove it from your dependencies first`);if(!n&&!r&&a)throw new u.UsageError(`Package "${c.structUtils.prettyIdent(e.project.configuration,t)}" is already listed as a peer dependency - use either of -D or -P, or remove it from your peer dependencies first`);if(i&&s)throw new u.UsageError(`Package "${c.structUtils.prettyIdent(e.project.configuration,t)}" is already listed as a dev dependency - remove the -O flag or remove it from your dev dependencies first`);if(i&&!r&&a)throw new u.UsageError(`Package "${c.structUtils.prettyIdent(e.project.configuration,t)}" is already listed as a peer dependency - remove the -O flag or add the -P flag or remove it from your peer dependencies first`);if((n||A)&&i)throw new u.UsageError(`Package "${c.structUtils.prettyIdent(e.project.configuration,t)}" cannot simultaneously be a dev dependency and an optional dependency`);return r?l.Target.PEER:n||A?l.Target.DEVELOPMENT:o?l.Target.REGULAR:s?l.Target.DEVELOPMENT:l.Target.REGULAR}(n,A,{dev:this.dev,peer:this.peer,preferDev:this.preferDev,optional:this.optional});return[A,await l.getSuggestedDescriptors(A,{project:t,workspace:n,cache:r,target:o,modifier:i,strategies:h,maxResults:p}),o]})),C=await s.LightReport.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async n=>{for(const[r,A]of f){0===A.filter(e=>null!==e.descriptor).length&&(t.configuration.get("enableNetwork")?n.reportError(s.MessageName.CANT_SUGGEST_RESOLUTIONS,`${c.structUtils.prettyDescriptor(e,r)} can't be resolved to a satisfying range`):n.reportError(s.MessageName.CANT_SUGGEST_RESOLUTIONS,`${c.structUtils.prettyDescriptor(e,r)} can't be resolved to a satisfying range (note: network resolution has been disabled)`))}});if(C.hasErrors())return C.exitCode();let d=!1;const I=[],E=[];for(const[,e,r]of f){let i;const o=e.filter(e=>null!==e.descriptor);1===o.length?i=o[0].descriptor:(d=!0,({answer:i}=await A({type:"list",name:"answer",message:"Which range do you want to use?",choices:e.map(({descriptor:e,reason:n})=>e?{name:n,value:e,short:c.structUtils.prettyDescriptor(t.configuration,e)}:{name:n,disabled:()=>!0})})));const s=n.manifest[r].get(i.identHash);void 0!==s&&s.descriptorHash===i.descriptorHash||(n.manifest[r].set(i.identHash,i),this.optional&&("dependencies"===r?n.manifest.ensureDependencyMeta(Object.assign(Object.assign({},i),{range:"unknown"})).optional=!0:"peerDependencies"===r&&(n.manifest.ensurePeerDependencyMeta(Object.assign(Object.assign({},i),{range:"unknown"})).optional=!0)),void 0===s?I.push([n,r,i]):E.push([n,r,s,i]))}return await e.triggerMultipleHooks(e=>e.afterWorkspaceDependencyAddition,I),await e.triggerMultipleHooks(e=>e.afterWorkspaceDependencyReplacement,E),d&&this.context.stdout.write("\n"),(await a.StreamReport.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!this.context.quiet},async e=>{await t.install({cache:r,report:e})})).exitCode()}}h.usage=u.Command.Usage({description:"add dependencies to the project",details:"\n This command adds a package to the package.json for the nearest workspace.\n\n - If it didn't exist before, the package will by default be added to the regular `dependencies` field, but this behavior can be overriden thanks to the `-D,--dev` flag (which will cause the dependency to be added to the `devDependencies` field instead) and the `-P,--peer` flag (which will do the same but for `peerDependencies`).\n\n - If the package was already listed in your dependencies, it will by default be upgraded whether it's part of your `dependencies` or `devDependencies` (it won't ever update `peerDependencies`, though).\n\n - If set, the `--prefer-dev` flag will operate as a more flexible `-D,--dev` in that it will add the package to your `devDependencies` if it isn't already listed in either `dependencies` or `devDependencies`, but it will also happily upgrade your `dependencies` if that's what you already use (whereas `-D,--dev` would throw an exception).\n\n - If set, the `-O,--optional` flag will add the package to the `optionalDependencies` field and, in combination with the `-P,--peer` flag, it will add the package as an optional peer dependency. If the package was already listed in your `dependencies`, it will be upgraded to `optionalDependencies`. If the package was already listed in your `peerDependencies`, in combination with the `-P,--peer` flag, it will be upgraded to an optional peer dependency: `\"peerDependenciesMeta\": { \"\": { \"optional\": true } }`\n\n - If the added package doesn't specify a range at all its `latest` tag will be resolved and the returned version will be used to generate a new semver range (using the `^` modifier by default unless otherwise configured via the `savePrefix` configuration, or the `~` modifier if `-T,--tilde` is specified, or no modifier at all if `-E,--exact` is specified). Two exceptions to this rule: the first one is that if the package is a workspace then its local version will be used, and the second one is that if you use `-P,--peer` the default range will be `*` and won't be resolved at all.\n\n - If the added package specifies a tag range (such as `latest` or `rc`), Yarn will resolve this tag to a semver version and use that in the resulting package.json entry (meaning that `yarn add foo@latest` will have exactly the same effect as `yarn add foo`).\n\n If the `--cached` option is used, Yarn will preferably reuse the highest version already used somewhere within the project, even if through a transitive dependency.\n\n If the `-i,--interactive` option is used (or if the `preferInteractive` settings is toggled on) the command will first try to check whether other workspaces in the project use the specified package and, if so, will offer to reuse them.\n\n If the `--json` flag is set the output will follow a JSON-stream output also known as NDJSON (https://github.com/ndjson/ndjson-spec).\n\n For a compilation of all the supported protocols, please consult the dedicated page from our website: .\n ",examples:[["Add a regular package to the current workspace","$0 add lodash"],["Add a specific version for a package to the current workspace","$0 add lodash@1.2.3"],["Add a package from a GitHub repository (the master branch) to the current workspace using a URL","$0 add lodash@https://github.com/lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol","$0 add lodash@github:lodash/lodash"],["Add a package from a GitHub repository (the master branch) to the current workspace using the GitHub protocol (shorthand)","$0 add lodash@lodash/lodash"],["Add a package from a specific branch of a GitHub repository to the current workspace using the GitHub protocol (shorthand)","$0 add lodash-es@lodash/lodash#es"]]}),r([u.Command.Rest()],h.prototype,"packages",void 0),r([u.Command.Boolean("--json")],h.prototype,"json",void 0),r([u.Command.Boolean("-E,--exact")],h.prototype,"exact",void 0),r([u.Command.Boolean("-T,--tilde")],h.prototype,"tilde",void 0),r([u.Command.Boolean("-C,--caret")],h.prototype,"caret",void 0),r([u.Command.Boolean("-D,--dev")],h.prototype,"dev",void 0),r([u.Command.Boolean("-P,--peer")],h.prototype,"peer",void 0),r([u.Command.Boolean("-O,--optional")],h.prototype,"optional",void 0),r([u.Command.Boolean("--prefer-dev")],h.prototype,"preferDev",void 0),r([u.Command.Boolean("-i,--interactive")],h.prototype,"interactive",void 0),r([u.Command.Boolean("--cached")],h.prototype,"cached",void 0),r([u.Command.Path("add")],h.prototype,"execute",null),t.default=h},function(e,t,n){"use strict";var r=n(861),A=n(367),i=n(368),o=n(21);e.exports=class extends A{constructor(e){super(e=e||{}),this.log=r(this.writeLog.bind(this)),this.bottomBar=e.bottomBar||"",this.render()}render(){return this.write(this.bottomBar),this}clean(){return i.clearLine(this.rl,this.bottomBar.split("\n").length),this}updateBottomBar(e){return i.clearLine(this.rl,1),this.rl.output.unmute(),this.clean(),this.bottomBar=e,this.render(),this.rl.output.mute(),this}writeLog(e){return this.rl.output.unmute(),this.clean(),this.rl.output.write(this.enforceLF(e.toString())),this.render(),this.rl.output.mute(),this}enforceLF(e){return e.match(/[\r\n]$/)?e:e+"\n"}write(e){var t=e.split(/\n/);this.height=t.length,this.rl.setPrompt(o.last(t)),0===this.rl.output.rows&&0===this.rl.output.columns&&i.left(this.rl,e.length+this.rl.line.length),this.rl.output.write(e)}}},function(e,t,n){var r=n(8);function A(e,t,n){e=e||function(e){this.queue(e)},t=t||function(){this.queue(null)};var A=!1,i=!1,o=[],s=!1,a=new r;function c(){for(;o.length&&!a.paused;){var e=o.shift();if(null===e)return a.emit("end");a.emit("data",e)}}function u(){a.writable=!1,t.call(a),!a.readable&&a.autoDestroy&&a.destroy()}return a.readable=a.writable=!0,a.paused=!1,a.autoDestroy=!(n&&!1===n.autoDestroy),a.write=function(t){return e.call(this,t),!a.paused},a.queue=a.push=function(e){return s?a:(null===e&&(s=!0),o.push(e),c(),a)},a.on("end",(function(){a.readable=!1,!a.writable&&a.autoDestroy&&process.nextTick((function(){a.destroy()}))})),a.end=function(e){if(!A)return A=!0,arguments.length&&a.write(e),u(),a},a.destroy=function(){if(!i)return i=!0,A=!0,o.length=0,a.writable=a.readable=!1,a.emit("close"),a},a.pause=function(){if(!a.paused)return a.paused=!0,a},a.resume=function(){return a.paused&&(a.paused=!1,a.emit("resume")),c(),a.paused||a.emit("drain"),a},a}e.exports=A,A.through=A},function(e,t,n){var r=n(8);function A(e){r.apply(this),e=e||{},this.writable=this.readable=!0,this.muted=!1,this.on("pipe",this._onpipe),this.replace=e.replace,this._prompt=e.prompt||null,this._hadControl=!1}function i(e){return function(){var t=this._dest,n=this._src;t&&t[e]&&t[e].apply(t,arguments),n&&n[e]&&n[e].apply(n,arguments)}}e.exports=A,A.prototype=Object.create(r.prototype),Object.defineProperty(A.prototype,"constructor",{value:A,enumerable:!1}),A.prototype.mute=function(){this.muted=!0},A.prototype.unmute=function(){this.muted=!1},Object.defineProperty(A.prototype,"_onpipe",{value:function(e){this._src=e},enumerable:!1,writable:!0,configurable:!0}),Object.defineProperty(A.prototype,"isTTY",{get:function(){return this._dest?this._dest.isTTY:!!this._src&&this._src.isTTY},set:function(e){Object.defineProperty(this,"isTTY",{value:e,enumerable:!0,writable:!0,configurable:!0})},enumerable:!0,configurable:!0}),Object.defineProperty(A.prototype,"rows",{get:function(){return this._dest?this._dest.rows:this._src?this._src.rows:void 0},enumerable:!0,configurable:!0}),Object.defineProperty(A.prototype,"columns",{get:function(){return this._dest?this._dest.columns:this._src?this._src.columns:void 0},enumerable:!0,configurable:!0}),A.prototype.pipe=function(e,t){return this._dest=e,r.prototype.pipe.call(this,e,t)},A.prototype.pause=function(){if(this._src)return this._src.pause()},A.prototype.resume=function(){if(this._src)return this._src.resume()},A.prototype.write=function(e){if(this.muted){if(!this.replace)return!0;if(e.match(/^\u001b/))return 0===e.indexOf(this._prompt)&&(e=(e=e.substr(this._prompt.length)).replace(/./g,this.replace),e=this._prompt+e),this._hadControl=!0,this.emit("data",e);this._prompt&&this._hadControl&&0===e.indexOf(this._prompt)&&(this._hadControl=!1,this.emit("data",this._prompt),e=e.substr(this._prompt.length)),e=e.toString().replace(/./g,this.replace)}this.emit("data",e)},A.prototype.end=function(e){this.muted&&(e=e&&this.replace?e.toString().replace(/./g,this.replace):null),e&&this.emit("data",e),this.emit("end")},A.prototype.destroy=i("destroy"),A.prototype.destroySoon=i("destroySoon"),A.prototype.close=i("close")},function(e,t){e.exports=require("readline")},function(e,t,n){"use strict";const r=e.exports,A="[",i="]",o="",s=";",a="Apple_Terminal"===process.env.TERM_PROGRAM;r.cursorTo=(e,t)=>{if("number"!=typeof e)throw new TypeError("The `x` argument is required");return"number"!=typeof t?A+(e+1)+"G":A+(t+1)+";"+(e+1)+"H"},r.cursorMove=(e,t)=>{if("number"!=typeof e)throw new TypeError("The `x` argument is required");let n="";return e<0?n+=A+-e+"D":e>0&&(n+=A+e+"C"),t<0?n+=A+-t+"A":t>0&&(n+=A+t+"B"),n},r.cursorUp=e=>A+("number"==typeof e?e:1)+"A",r.cursorDown=e=>A+("number"==typeof e?e:1)+"B",r.cursorForward=e=>A+("number"==typeof e?e:1)+"C",r.cursorBackward=e=>A+("number"==typeof e?e:1)+"D",r.cursorLeft="",r.cursorSavePosition=A+(a?"7":"s"),r.cursorRestorePosition=A+(a?"8":"u"),r.cursorGetPosition="",r.cursorNextLine="",r.cursorPrevLine="",r.cursorHide="[?25l",r.cursorShow="[?25h",r.eraseLines=e=>{let t="";for(let n=0;n[i,"8",s,s,t,o,e,i,"8",s,s,o].join(""),r.image=(e,t)=>{let n=i+"1337;File=inline=1";return(t=t||{}).width&&(n+=`;width=${t.width}`),t.height&&(n+=`;height=${t.height}`),!1===t.preserveAspectRatio&&(n+=";preserveAspectRatio=0"),n+":"+e.toString("base64")+o},r.iTerm={},r.iTerm.setCwd=e=>i+"50;CurrentDir="+(e||process.cwd())+o},function(e,t,n){"use strict";var r=n(21),{defer:A,empty:i,from:o,of:s}=n(149),{concatMap:a,filter:c,publish:u,reduce:g}=n(39),l=n(159),h=n(978),p=n(367);e.exports=class extends p{constructor(e,t){super(t),this.prompts=e}run(e){this.answers={},r.isPlainObject(e)&&(e=[e]);var t=r.isArray(e)?o(e):e;return this.process=t.pipe(a(this.processQuestion.bind(this)),u()),this.process.connect(),this.process.pipe(g((e,t)=>(r.set(this.answers,t.name,t.answer),this.answers),{})).toPromise(Promise).then(this.onCompletion.bind(this))}onCompletion(){return this.close(),this.answers}processQuestion(e){return e=r.clone(e),A(()=>{return s(e).pipe(a(this.setDefaultType.bind(this)),a(this.filterIfRunnable.bind(this)),a(()=>h.fetchAsyncQuestionProperty(e,"message",this.answers)),a(()=>h.fetchAsyncQuestionProperty(e,"default",this.answers)),a(()=>h.fetchAsyncQuestionProperty(e,"choices",this.answers)),a(this.fetchAnswer.bind(this)))})}fetchAnswer(e){var t=this.prompts[e.type];return this.activePrompt=new t(e,this.rl,this.answers),A(()=>o(this.activePrompt.run().then(t=>({name:e.name,answer:t}))))}setDefaultType(e){return this.prompts[e.type]||(e.type="input"),A(()=>s(e))}filterIfRunnable(e){if(!1===e.when)return i();if(!r.isFunction(e.when))return s(e);var t=this.answers;return A(()=>o(l(e.when)(t).then(t=>{if(t)return e})).pipe(c(e=>null!=e)))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(5),A=n(229),i=n(369);t.toSubscriber=function(e,t,n){if(e){if(e instanceof r.Subscriber)return e;if(e[A.rxSubscriber])return e[A.rxSubscriber]()}return e||t||n?new r.Subscriber(e,t,n):new r.Subscriber(i.empty)}},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r}return A(t,e),t.prototype.schedule=function(t,n){return void 0===n&&(n=0),n>0?e.prototype.schedule.call(this,t,n):(this.delay=n,this.state=t,this.scheduler.flush(this),this)},t.prototype.execute=function(t,n){return n>0||this.closed?e.prototype.execute.call(this,t,n):this._execute(t,n)},t.prototype.requestAsyncId=function(t,n,r){return void 0===r&&(r=0),null!==r&&r>0||null===r&&this.delay>0?e.prototype.requestAsyncId.call(this,t,n,r):t.flush(this)},t}(n(102).AsyncAction);t.QueueAction=i},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=function(e){function t(t,n){return e.call(this)||this}return A(t,e),t.prototype.schedule=function(e,t){return void 0===t&&(t=0),this},t}(n(14).Subscription);t.Action=i},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return A(t,e),t}(n(103).AsyncScheduler);t.QueueScheduler=i},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(871),o=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r}return A(t,e),t.prototype.requestAsyncId=function(t,n,r){return void 0===r&&(r=0),null!==r&&r>0?e.prototype.requestAsyncId.call(this,t,n,r):(t.actions.push(this),t.scheduled||(t.scheduled=i.Immediate.setImmediate(t.flush.bind(t,null))))},t.prototype.recycleAsyncId=function(t,n,r){if(void 0===r&&(r=0),null!==r&&r>0||null===r&&this.delay>0)return e.prototype.recycleAsyncId.call(this,t,n,r);0===t.actions.length&&(i.Immediate.clearImmediate(n),t.scheduled=void 0)},t}(n(102).AsyncAction);t.AsapAction=o},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=1,A={};t.Immediate={setImmediate:function(e){var t=r++;return A[t]=e,Promise.resolve().then((function(){return function(e){var t=A[e];t&&t()}(t)})),t},clearImmediate:function(e){delete A[e]}}},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return A(t,e),t.prototype.flush=function(e){this.active=!0,this.scheduled=void 0;var t,n=this.actions,r=-1,A=n.length;e=e||n.shift();do{if(t=e.execute(e.state,e.delay))break}while(++r0?e.prototype.requestAsyncId.call(this,t,n,r):(t.actions.push(this),t.scheduled||(t.scheduled=requestAnimationFrame((function(){return t.flush(null)}))))},t.prototype.recycleAsyncId=function(t,n,r){if(void 0===r&&(r=0),null!==r&&r>0||null===r&&this.delay>0)return e.prototype.recycleAsyncId.call(this,t,n,r);0===t.actions.length&&(cancelAnimationFrame(n),t.scheduled=void 0)},t}(n(102).AsyncAction);t.AnimationFrameAction=i},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return A(t,e),t.prototype.flush=function(e){this.active=!0,this.scheduled=void 0;var t,n=this.actions,r=-1,A=n.length;e=e||n.shift();do{if(t=e.execute(e.state,e.delay))break}while(++rt.index?1:-1:e.delay>t.delay?1:-1},t}(i.AsyncAction);t.VirtualAction=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(9);t.isObservable=function(e){return!!e&&(e instanceof r.Observable||"function"==typeof e.lift&&"function"==typeof e.subscribe)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(9),A=n(154),i=n(28),o=n(227),s=n(22),a=n(27);function c(e){var t=this,n=e.args,r=e.subscriber,i=e.params,o=i.callbackFunc,s=i.context,a=i.scheduler,c=i.subject;if(!c){c=i.subject=new A.AsyncSubject;try{o.apply(s,n.concat([function(){for(var e=[],n=0;n1?e.next(Array.prototype.slice.call(arguments)):e.next(t)}),e,s)}))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(9),A=n(22),i=n(101),o=n(28);t.fromEventPattern=function e(t,n,s){return s?e(t,n).pipe(o.map((function(e){return A.isArray(e)?s.apply(void 0,e):s(e)}))):new r.Observable((function(e){var r,A=function(){for(var t=[],n=0;n=r?A.complete():(A.next(t),A.closed||(e.index=n+1,e.start=t+1,this.schedule(e)))}t.range=function(e,t,n){return void 0===e&&(e=0),void 0===t&&(t=0),new r.Observable((function(r){var i=0,o=e;if(n)return n.schedule(A,0,{index:i,count:t,start:e,subscriber:r});for(;;){if(i++>=t){r.complete();break}if(r.next(o++),r.closed)break}}))},t.dispatch=A},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(9),A=n(38),i=n(23);t.using=function(e,t){return new r.Observable((function(n){var r,o;try{r=e()}catch(e){return void n.error(e)}try{o=t(r)}catch(e){return void n.error(e)}var s=(o?A.from(o):i.EMPTY).subscribe(n);return function(){s.unsubscribe(),r&&r.unsubscribe()}}))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(24),A=n(393),i=n(392);t.auditTime=function(e,t){return void 0===t&&(t=r.async),A.audit((function(){return i.timer(e,t)}))}},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=n(11);t.buffer=function(e){return function(t){return t.lift(new s(e))}};var s=function(){function e(e){this.closingNotifier=e}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.closingNotifier))},e}(),a=function(e){function t(t,n){var r=e.call(this,t)||this;return r.buffer=[],r.add(o.subscribeToResult(r,n)),r}return A(t,e),t.prototype._next=function(e){this.buffer.push(e)},t.prototype.notifyNext=function(e,t,n,r,A){var i=this.buffer;this.buffer=[],this.destination.next(i)},t}(i.OuterSubscriber)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(5);t.bufferCount=function(e,t){return void 0===t&&(t=null),function(n){return n.lift(new o(e,t))}};var o=function(){function e(e,t){this.bufferSize=e,this.startBufferEvery=t,this.subscriberClass=t&&e!==t?a:s}return e.prototype.call=function(e,t){return t.subscribe(new this.subscriberClass(e,this.bufferSize,this.startBufferEvery))},e}(),s=function(e){function t(t,n){var r=e.call(this,t)||this;return r.bufferSize=n,r.buffer=[],r}return A(t,e),t.prototype._next=function(e){var t=this.buffer;t.push(e),t.length==this.bufferSize&&(this.destination.next(t),this.buffer=[])},t.prototype._complete=function(){var t=this.buffer;t.length>0&&this.destination.next(t),e.prototype._complete.call(this)},t}(i.Subscriber),a=function(e){function t(t,n,r){var A=e.call(this,t)||this;return A.bufferSize=n,A.startBufferEvery=r,A.buffers=[],A.count=0,A}return A(t,e),t.prototype._next=function(e){var t=this.bufferSize,n=this.startBufferEvery,r=this.buffers,A=this.count;this.count++,A%n==0&&r.push([]);for(var i=r.length;i--;){var o=r[i];o.push(e),o.length===t&&(r.splice(i,1),this.destination.next(o))}},t.prototype._complete=function(){for(var t=this.buffers,n=this.destination;t.length>0;){var r=t.shift();r.length>0&&n.next(r)}e.prototype._complete.call(this)},t}(i.Subscriber)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(24),o=n(5),s=n(27);t.bufferTime=function(e){var t=arguments.length,n=i.async;s.isScheduler(arguments[arguments.length-1])&&(n=arguments[arguments.length-1],t--);var r=null;t>=2&&(r=arguments[1]);var A=Number.POSITIVE_INFINITY;return t>=3&&(A=arguments[2]),function(t){return t.lift(new a(e,r,A,n))}};var a=function(){function e(e,t,n,r){this.bufferTimeSpan=e,this.bufferCreationInterval=t,this.maxBufferSize=n,this.scheduler=r}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.bufferTimeSpan,this.bufferCreationInterval,this.maxBufferSize,this.scheduler))},e}(),c=function(){this.buffer=[]},u=function(e){function t(t,n,r,A,i){var o=e.call(this,t)||this;o.bufferTimeSpan=n,o.bufferCreationInterval=r,o.maxBufferSize=A,o.scheduler=i,o.contexts=[];var s=o.openContext();if(o.timespanOnly=null==r||r<0,o.timespanOnly){var a={subscriber:o,context:s,bufferTimeSpan:n};o.add(s.closeAction=i.schedule(g,n,a))}else{var c={subscriber:o,context:s},u={bufferTimeSpan:n,bufferCreationInterval:r,subscriber:o,scheduler:i};o.add(s.closeAction=i.schedule(h,n,c)),o.add(i.schedule(l,r,u))}return o}return A(t,e),t.prototype._next=function(e){for(var t,n=this.contexts,r=n.length,A=0;A0;){var r=t.shift();n.next(r.buffer)}e.prototype._complete.call(this)},t.prototype._unsubscribe=function(){this.contexts=null},t.prototype.onBufferFull=function(e){this.closeContext(e);var t=e.closeAction;if(t.unsubscribe(),this.remove(t),!this.closed&&this.timespanOnly){e=this.openContext();var n=this.bufferTimeSpan,r={subscriber:this,context:e,bufferTimeSpan:n};this.add(e.closeAction=this.scheduler.schedule(g,n,r))}},t.prototype.openContext=function(){var e=new c;return this.contexts.push(e),e},t.prototype.closeContext=function(e){this.destination.next(e.buffer);var t=this.contexts;(t?t.indexOf(e):-1)>=0&&t.splice(t.indexOf(e),1)},t}(o.Subscriber);function g(e){var t=e.subscriber,n=e.context;n&&t.closeContext(n),t.closed||(e.context=t.openContext(),e.context.closeAction=this.schedule(e,e.bufferTimeSpan))}function l(e){var t=e.bufferCreationInterval,n=e.bufferTimeSpan,r=e.subscriber,A=e.scheduler,i=r.openContext();r.closed||(r.add(i.closeAction=A.schedule(h,n,{subscriber:r,context:i})),this.schedule(e,t))}function h(e){var t=e.subscriber,n=e.context;t.closeContext(n)}},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(14),o=n(11),s=n(10);t.bufferToggle=function(e,t){return function(n){return n.lift(new a(e,t))}};var a=function(){function e(e,t){this.openings=e,this.closingSelector=t}return e.prototype.call=function(e,t){return t.subscribe(new c(e,this.openings,this.closingSelector))},e}(),c=function(e){function t(t,n,r){var A=e.call(this,t)||this;return A.openings=n,A.closingSelector=r,A.contexts=[],A.add(o.subscribeToResult(A,n)),A}return A(t,e),t.prototype._next=function(e){for(var t=this.contexts,n=t.length,r=0;r0;){var r=n.shift();r.subscription.unsubscribe(),r.buffer=null,r.subscription=null}this.contexts=null,e.prototype._error.call(this,t)},t.prototype._complete=function(){for(var t=this.contexts;t.length>0;){var n=t.shift();this.destination.next(n.buffer),n.subscription.unsubscribe(),n.buffer=null,n.subscription=null}this.contexts=null,e.prototype._complete.call(this)},t.prototype.notifyNext=function(e,t,n,r,A){e?this.closeBuffer(e):this.openBuffer(t)},t.prototype.notifyComplete=function(e){this.closeBuffer(e.context)},t.prototype.openBuffer=function(e){try{var t=this.closingSelector.call(this,e);t&&this.trySubscribe(t)}catch(e){this._error(e)}},t.prototype.closeBuffer=function(e){var t=this.contexts;if(t&&e){var n=e.buffer,r=e.subscription;this.destination.next(n),t.splice(t.indexOf(e),1),this.remove(r),r.unsubscribe()}},t.prototype.trySubscribe=function(e){var t=this.contexts,n=new i.Subscription,r={buffer:[],subscription:n};t.push(r);var A=o.subscribeToResult(this,e,r);!A||A.closed?this.closeBuffer(r):(A.context=r,this.add(A),n.add(A))},t}(s.OuterSubscriber)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(14),o=n(31),s=n(26),a=n(10),c=n(11);t.bufferWhen=function(e){return function(t){return t.lift(new u(e))}};var u=function(){function e(e){this.closingSelector=e}return e.prototype.call=function(e,t){return t.subscribe(new g(e,this.closingSelector))},e}(),g=function(e){function t(t,n){var r=e.call(this,t)||this;return r.closingSelector=n,r.subscribing=!1,r.openBuffer(),r}return A(t,e),t.prototype._next=function(e){this.buffer.push(e)},t.prototype._complete=function(){var t=this.buffer;t&&this.destination.next(t),e.prototype._complete.call(this)},t.prototype._unsubscribe=function(){this.buffer=null,this.subscribing=!1},t.prototype.notifyNext=function(e,t,n,r,A){this.openBuffer()},t.prototype.notifyComplete=function(){this.subscribing?this.complete():this.openBuffer()},t.prototype.openBuffer=function(){var e=this.closingSubscription;e&&(this.remove(e),e.unsubscribe());var t=this.buffer;this.buffer&&this.destination.next(t),this.buffer=[];var n=o.tryCatch(this.closingSelector)();n===s.errorObject?this.error(s.errorObject.e):(e=new i.Subscription,this.closingSubscription=e,this.add(e),this.subscribing=!0,e.add(c.subscribeToResult(this,n)),this.subscribing=!1)},t}(a.OuterSubscriber)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=n(48),s=n(11);t.catchError=function(e){return function(t){var n=new a(e),r=t.lift(n);return n.caught=r}};var a=function(){function e(e){this.selector=e}return e.prototype.call=function(e,t){return t.subscribe(new c(e,this.selector,this.caught))},e}(),c=function(e){function t(t,n,r){var A=e.call(this,t)||this;return A.selector=n,A.caught=r,A}return A(t,e),t.prototype.error=function(t){if(!this.isStopped){var n=void 0;try{n=this.selector(t,this.caught)}catch(t){return void e.prototype.error.call(this,t)}this._unsubscribeAndRecycle();var r=new o.InnerSubscriber(this,void 0,void 0);this.add(r),s.subscribeToResult(this,n,void 0,void 0,r)}},t}(i.OuterSubscriber)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(236);t.combineAll=function(e){return function(t){return t.lift(new r.CombineLatestOperator(e))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(22),A=n(236),i=n(38);t.combineLatest=function(){for(var e=[],t=0;t0&&n[0].time-r.now()<=0;)n.shift().notification.observe(A);if(n.length>0){var i=Math.max(0,n[0].time-r.now());this.schedule(e,i)}else this.unsubscribe(),t.active=!1},t.prototype._schedule=function(e){this.active=!0,this.destination.add(e.schedule(t.dispatch,this.delay,{source:this,destination:this.destination,scheduler:e}))},t.prototype.scheduleNotification=function(e){if(!0!==this.errored){var t=this.scheduler,n=new g(t.now()+this.delay,e);this.queue.push(n),!1===this.active&&this._schedule(t)}},t.prototype._next=function(e){this.scheduleNotification(a.Notification.createNext(e))},t.prototype._error=function(e){this.errored=!0,this.queue=[],this.destination.error(e),this.unsubscribe()},t.prototype._complete=function(){this.scheduleNotification(a.Notification.createComplete()),this.unsubscribe()},t}(s.Subscriber),g=function(e,t){this.time=e,this.notification=t}},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(5),o=n(9),s=n(10),a=n(11);t.delayWhen=function(e,t){return t?function(n){return new g(n,t).lift(new c(e))}:function(t){return t.lift(new c(e))}};var c=function(){function e(e){this.delayDurationSelector=e}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.delayDurationSelector))},e}(),u=function(e){function t(t,n){var r=e.call(this,t)||this;return r.delayDurationSelector=n,r.completed=!1,r.delayNotifierSubscriptions=[],r.index=0,r}return A(t,e),t.prototype.notifyNext=function(e,t,n,r,A){this.destination.next(e),this.removeSubscription(A),this.tryComplete()},t.prototype.notifyError=function(e,t){this._error(e)},t.prototype.notifyComplete=function(e){var t=this.removeSubscription(e);t&&this.destination.next(t),this.tryComplete()},t.prototype._next=function(e){var t=this.index++;try{var n=this.delayDurationSelector(e,t);n&&this.tryDelay(n,e)}catch(e){this.destination.error(e)}},t.prototype._complete=function(){this.completed=!0,this.tryComplete(),this.unsubscribe()},t.prototype.removeSubscription=function(e){e.unsubscribe();var t=this.delayNotifierSubscriptions.indexOf(e);return-1!==t&&this.delayNotifierSubscriptions.splice(t,1),e.outerValue},t.prototype.tryDelay=function(e,t){var n=a.subscribeToResult(this,e,t);n&&!n.closed&&(this.destination.add(n),this.delayNotifierSubscriptions.push(n))},t.prototype.tryComplete=function(){this.completed&&0===this.delayNotifierSubscriptions.length&&this.destination.complete()},t}(s.OuterSubscriber),g=function(e){function t(t,n){var r=e.call(this)||this;return r.source=t,r.subscriptionDelay=n,r}return A(t,e),t.prototype._subscribe=function(e){this.subscriptionDelay.subscribe(new l(e,this.source))},t}(o.Observable),l=function(e){function t(t,n){var r=e.call(this)||this;return r.parent=t,r.source=n,r.sourceSubscribed=!1,r}return A(t,e),t.prototype._next=function(e){this.subscribeToSource()},t.prototype._error=function(e){this.unsubscribe(),this.parent.error(e)},t.prototype._complete=function(){this.unsubscribe(),this.subscribeToSource()},t.prototype.subscribeToSource=function(){this.sourceSubscribed||(this.sourceSubscribed=!0,this.unsubscribe(),this.source.subscribe(this.parent))},t}(i.Subscriber)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(5);t.dematerialize=function(){return function(e){return e.lift(new o)}};var o=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new s(e))},e}(),s=function(e){function t(t){return e.call(this,t)||this}return A(t,e),t.prototype._next=function(e){e.observe(this.destination)},t}(i.Subscriber)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=n(11);t.distinct=function(e,t){return function(n){return n.lift(new s(e,t))}};var s=function(){function e(e,t){this.keySelector=e,this.flushes=t}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.keySelector,this.flushes))},e}(),a=function(e){function t(t,n,r){var A=e.call(this,t)||this;return A.keySelector=n,A.values=new Set,r&&A.add(o.subscribeToResult(A,r)),A}return A(t,e),t.prototype.notifyNext=function(e,t,n,r,A){this.values.clear()},t.prototype.notifyError=function(e,t){this._error(e)},t.prototype._next=function(e){this.keySelector?this._useKeySelector(e):this._finalizeNext(e,e)},t.prototype._useKeySelector=function(e){var t,n=this.destination;try{t=this.keySelector(e)}catch(e){return void n.error(e)}this._finalizeNext(t,e)},t.prototype._finalizeNext=function(e,t){var n=this.values;n.has(e)||(n.add(e),this.destination.next(t))},t}(i.OuterSubscriber);t.DistinctSubscriber=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(396);t.distinctUntilKeyChanged=function(e,t){return r.distinctUntilChanged((function(n,r){return t?t(n[e],r[e]):n[e]===r[e]}))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(104),A=n(109),i=n(157),o=n(108),s=n(240);t.elementAt=function(e,t){if(e<0)throw new r.ArgumentOutOfRangeError;var n=arguments.length>=2;return function(a){return a.pipe(A.filter((function(t,n){return n===e})),s.take(1),n?o.defaultIfEmpty(t):i.throwIfEmpty((function(){return new r.ArgumentOutOfRangeError})))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(47),A=n(234),i=n(23),o=n(155),s=n(27);t.endWith=function(){for(var e=[],t=0;t0?o.concat(t,r.fromArray(e,n)):o.concat(t,i.empty(n)):o.concat(t,A.scalar(e[0]))}}},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(5);t.every=function(e,t){return function(n){return n.lift(new o(e,t,n))}};var o=function(){function e(e,t,n){this.predicate=e,this.thisArg=t,this.source=n}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.predicate,this.thisArg,this.source))},e}(),s=function(e){function t(t,n,r,A){var i=e.call(this,t)||this;return i.predicate=n,i.thisArg=r,i.source=A,i.index=0,i.thisArg=r||i,i}return A(t,e),t.prototype.notifyComplete=function(e){this.destination.next(e),this.destination.complete()},t.prototype._next=function(e){var t=!1;try{t=this.predicate.call(this.thisArg,e,this.index++,this.source)}catch(e){return void this.destination.error(e)}t||this.notifyComplete(!1)},t.prototype._complete=function(){this.notifyComplete(!0)},t}(i.Subscriber)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=n(11);t.exhaust=function(){return function(e){return e.lift(new s)}};var s=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new a(e))},e}(),a=function(e){function t(t){var n=e.call(this,t)||this;return n.hasCompleted=!1,n.hasSubscription=!1,n}return A(t,e),t.prototype._next=function(e){this.hasSubscription||(this.hasSubscription=!0,this.add(o.subscribeToResult(this,e)))},t.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete()},t.prototype.notifyComplete=function(e){this.remove(e),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},t}(i.OuterSubscriber)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=n(48),s=n(11),a=n(28),c=n(38);t.exhaustMap=function e(t,n){return n?function(r){return r.pipe(e((function(e,r){return c.from(t(e,r)).pipe(a.map((function(t,A){return n(e,t,r,A)})))})))}:function(e){return e.lift(new u(t))}};var u=function(){function e(e){this.project=e}return e.prototype.call=function(e,t){return t.subscribe(new g(e,this.project))},e}(),g=function(e){function t(t,n){var r=e.call(this,t)||this;return r.project=n,r.hasSubscription=!1,r.hasCompleted=!1,r.index=0,r}return A(t,e),t.prototype._next=function(e){this.hasSubscription||this.tryNext(e)},t.prototype.tryNext=function(e){var t,n=this.index++;try{t=this.project(e,n)}catch(e){return void this.destination.error(e)}this.hasSubscription=!0,this._innerSub(t,e,n)},t.prototype._innerSub=function(e,t,n){var r=new o.InnerSubscriber(this,void 0,void 0);this.destination.add(r),s.subscribeToResult(this,e,t,n,r)},t.prototype._complete=function(){this.hasCompleted=!0,this.hasSubscription||this.destination.complete(),this.unsubscribe()},t.prototype.notifyNext=function(e,t,n,r,A){this.destination.next(t)},t.prototype.notifyError=function(e){this.destination.error(e)},t.prototype.notifyComplete=function(e){this.destination.remove(e),this.hasSubscription=!1,this.hasCompleted&&this.destination.complete()},t}(i.OuterSubscriber)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(31),o=n(26),s=n(10),a=n(11);t.expand=function(e,t,n){return void 0===t&&(t=Number.POSITIVE_INFINITY),void 0===n&&(n=void 0),t=(t||0)<1?Number.POSITIVE_INFINITY:t,function(r){return r.lift(new c(e,t,n))}};var c=function(){function e(e,t,n){this.project=e,this.concurrent=t,this.scheduler=n}return e.prototype.call=function(e,t){return t.subscribe(new u(e,this.project,this.concurrent,this.scheduler))},e}();t.ExpandOperator=c;var u=function(e){function t(t,n,r,A){var i=e.call(this,t)||this;return i.project=n,i.concurrent=r,i.scheduler=A,i.index=0,i.active=0,i.hasCompleted=!1,r0&&this._next(t.shift()),this.hasCompleted&&0===this.active&&this.destination.complete()},t}(s.OuterSubscriber);t.ExpandSubscriber=u},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(5),o=n(14);t.finalize=function(e){return function(t){return t.lift(new s(e))}};var s=function(){function e(e){this.callback=e}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.callback))},e}(),a=function(e){function t(t,n){var r=e.call(this,t)||this;return r.add(new o.Subscription(n)),r}return A(t,e),t}(i.Subscriber)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(398);t.findIndex=function(e,t){return function(n){return n.lift(new r.FindValueOperator(e,n,!0,t))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(105),A=n(109),i=n(240),o=n(108),s=n(157),a=n(80);t.first=function(e,t){var n=arguments.length>=2;return function(c){return c.pipe(e?A.filter((function(t,n){return e(t,n,c)})):a.identity,i.take(1),n?o.defaultIfEmpty(t):s.throwIfEmpty((function(){return new r.EmptyError})))}}},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(5);t.ignoreElements=function(){return function(e){return e.lift(new o)}};var o=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new s(e))},e}(),s=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return A(t,e),t.prototype._next=function(e){},t}(i.Subscriber)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(5);t.isEmpty=function(){return function(e){return e.lift(new o)}};var o=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new s(e))},e}(),s=function(e){function t(t){return e.call(this,t)||this}return A(t,e),t.prototype.notifyComplete=function(e){var t=this.destination;t.next(e),t.complete()},t.prototype._next=function(e){this.notifyComplete(!1)},t.prototype._complete=function(){this.notifyComplete(!0)},t}(i.Subscriber)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(105),A=n(109),i=n(241),o=n(157),s=n(108),a=n(80);t.last=function(e,t){var n=arguments.length>=2;return function(c){return c.pipe(e?A.filter((function(t,n){return e(t,n,c)})):a.identity,i.takeLast(1),n?s.defaultIfEmpty(t):o.throwIfEmpty((function(){return new r.EmptyError})))}}},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(5);t.mapTo=function(e){return function(t){return t.lift(new o(e))}};var o=function(){function e(e){this.value=e}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.value))},e}(),s=function(e){function t(t,n){var r=e.call(this,t)||this;return r.value=n,r}return A(t,e),t.prototype._next=function(e){this.destination.next(this.value)},t}(i.Subscriber)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(5),o=n(153);t.materialize=function(){return function(e){return e.lift(new s)}};var s=function(){function e(){}return e.prototype.call=function(e,t){return t.subscribe(new a(e))},e}(),a=function(e){function t(t){return e.call(this,t)||this}return A(t,e),t.prototype._next=function(e){this.destination.next(o.Notification.createNext(e))},t.prototype._error=function(e){var t=this.destination;t.next(o.Notification.createError(e)),t.complete()},t.prototype._complete=function(){var e=this.destination;e.next(o.Notification.createComplete()),e.complete()},t}(i.Subscriber)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(158);t.max=function(e){var t="function"==typeof e?function(t,n){return e(t,n)>0?t:n}:function(e,t){return e>t?e:t};return r.reduce(t)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(389);t.merge=function(){for(var e=[],t=0;t0?this._next(t.shift()):0===this.active&&this.hasCompleted&&(!1===this.hasValue&&this.destination.next(this.acc),this.destination.complete())},t}(a.OuterSubscriber);t.MergeScanSubscriber=g},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(158);t.min=function(e){var t="function"==typeof e?function(t,n){return e(t,n)<0?t:n}:function(e,t){return e-1&&(this.count=n-1),t.subscribe(this._unsubscribeAndRecycle())}},t}(i.Subscriber)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(17),o=n(31),s=n(26),a=n(10),c=n(11);t.repeatWhen=function(e){return function(t){return t.lift(new u(e))}};var u=function(){function e(e){this.notifier=e}return e.prototype.call=function(e,t){return t.subscribe(new g(e,this.notifier,t))},e}(),g=function(e){function t(t,n,r){var A=e.call(this,t)||this;return A.notifier=n,A.source=r,A.sourceIsBeingSubscribedTo=!0,A}return A(t,e),t.prototype.notifyNext=function(e,t,n,r,A){this.sourceIsBeingSubscribedTo=!0,this.source.subscribe(this)},t.prototype.notifyComplete=function(t){if(!1===this.sourceIsBeingSubscribedTo)return e.prototype.complete.call(this)},t.prototype.complete=function(){if(this.sourceIsBeingSubscribedTo=!1,!this.isStopped){if(this.retries||this.subscribeToRetries(),!this.retriesSubscription||this.retriesSubscription.closed)return e.prototype.complete.call(this);this._unsubscribeAndRecycle(),this.notifications.next()}},t.prototype._unsubscribe=function(){var e=this.notifications,t=this.retriesSubscription;e&&(e.unsubscribe(),this.notifications=null),t&&(t.unsubscribe(),this.retriesSubscription=null),this.retries=null},t.prototype._unsubscribeAndRecycle=function(){var t=this._unsubscribe;return this._unsubscribe=null,e.prototype._unsubscribeAndRecycle.call(this),this._unsubscribe=t,this},t.prototype.subscribeToRetries=function(){this.notifications=new i.Subject;var t=o.tryCatch(this.notifier)(this.notifications);if(t===s.errorObject)return e.prototype.complete.call(this);this.retries=t,this.retriesSubscription=c.subscribeToResult(this,t)},t}(a.OuterSubscriber)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(5);t.retry=function(e){return void 0===e&&(e=-1),function(t){return t.lift(new o(e,t))}};var o=function(){function e(e,t){this.count=e,this.source=t}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.count,this.source))},e}(),s=function(e){function t(t,n,r){var A=e.call(this,t)||this;return A.count=n,A.source=r,A}return A(t,e),t.prototype.error=function(t){if(!this.isStopped){var n=this.source,r=this.count;if(0===r)return e.prototype.error.call(this,t);r>-1&&(this.count=r-1),n.subscribe(this._unsubscribeAndRecycle())}},t}(i.Subscriber)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(17),o=n(31),s=n(26),a=n(10),c=n(11);t.retryWhen=function(e){return function(t){return t.lift(new u(e,t))}};var u=function(){function e(e,t){this.notifier=e,this.source=t}return e.prototype.call=function(e,t){return t.subscribe(new g(e,this.notifier,this.source))},e}(),g=function(e){function t(t,n,r){var A=e.call(this,t)||this;return A.notifier=n,A.source=r,A}return A(t,e),t.prototype.error=function(t){if(!this.isStopped){var n=this.errors,r=this.retries,A=this.retriesSubscription;if(r)this.errors=null,this.retriesSubscription=null;else{if(n=new i.Subject,(r=o.tryCatch(this.notifier)(n))===s.errorObject)return e.prototype.error.call(this,s.errorObject.e);A=c.subscribeToResult(this,r)}this._unsubscribeAndRecycle(),this.errors=n,this.retries=r,this.retriesSubscription=A,n.next(t)}},t.prototype._unsubscribe=function(){var e=this.errors,t=this.retriesSubscription;e&&(e.unsubscribe(),this.errors=null),t&&(t.unsubscribe(),this.retriesSubscription=null),this.retries=null},t.prototype.notifyNext=function(e,t,n,r,A){var i=this._unsubscribe;this._unsubscribe=null,this._unsubscribeAndRecycle(),this._unsubscribe=i,this.source.subscribe(this)},t}(a.OuterSubscriber)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=n(11);t.sample=function(e){return function(t){return t.lift(new s(e))}};var s=function(){function e(e){this.notifier=e}return e.prototype.call=function(e,t){var n=new a(e),r=t.subscribe(n);return r.add(o.subscribeToResult(n,this.notifier)),r},e}(),a=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.hasValue=!1,t}return A(t,e),t.prototype._next=function(e){this.value=e,this.hasValue=!0},t.prototype.notifyNext=function(e,t,n,r,A){this.emitValue()},t.prototype.notifyComplete=function(){this.emitValue()},t.prototype.emitValue=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.value))},t}(i.OuterSubscriber)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(5),o=n(24);t.sampleTime=function(e,t){return void 0===t&&(t=o.async),function(n){return n.lift(new s(e,t))}};var s=function(){function e(e,t){this.period=e,this.scheduler=t}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.period,this.scheduler))},e}(),a=function(e){function t(t,n,r){var A=e.call(this,t)||this;return A.period=n,A.scheduler=r,A.hasValue=!1,A.add(r.schedule(c,n,{subscriber:A,period:n})),A}return A(t,e),t.prototype._next=function(e){this.lastValue=e,this.hasValue=!0},t.prototype.notifyNext=function(){this.hasValue&&(this.hasValue=!1,this.destination.next(this.lastValue))},t}(i.Subscriber);function c(e){var t=e.subscriber,n=e.period;t.notifyNext(),this.schedule(e,n)}},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(5),o=n(31),s=n(26);t.sequenceEqual=function(e,t){return function(n){return n.lift(new a(e,t))}};var a=function(){function e(e,t){this.compareTo=e,this.comparor=t}return e.prototype.call=function(e,t){return t.subscribe(new c(e,this.compareTo,this.comparor))},e}();t.SequenceEqualOperator=a;var c=function(e){function t(t,n,r){var A=e.call(this,t)||this;return A.compareTo=n,A.comparor=r,A._a=[],A._b=[],A._oneComplete=!1,A.destination.add(n.subscribe(new u(t,A))),A}return A(t,e),t.prototype._next=function(e){this._oneComplete&&0===this._b.length?this.emit(!1):(this._a.push(e),this.checkValues())},t.prototype._complete=function(){this._oneComplete?this.emit(0===this._a.length&&0===this._b.length):this._oneComplete=!0,this.unsubscribe()},t.prototype.checkValues=function(){for(var e=this._a,t=this._b,n=this.comparor;e.length>0&&t.length>0;){var r=e.shift(),A=t.shift(),i=!1;n?(i=o.tryCatch(n)(r,A))===s.errorObject&&this.destination.error(s.errorObject.e):i=r===A,i||this.emit(!1)}},t.prototype.emit=function(e){var t=this.destination;t.next(e),t.complete()},t.prototype.nextB=function(e){this._oneComplete&&0===this._a.length?this.emit(!1):(this._b.push(e),this.checkValues())},t.prototype.completeB=function(){this._oneComplete?this.emit(0===this._a.length&&0===this._b.length):this._oneComplete=!0},t}(i.Subscriber);t.SequenceEqualSubscriber=c;var u=function(e){function t(t,n){var r=e.call(this,t)||this;return r.parent=n,r}return A(t,e),t.prototype._next=function(e){this.parent.nextB(e)},t.prototype._error=function(e){this.parent.error(e),this.unsubscribe()},t.prototype._complete=function(){this.parent.completeB(),this.unsubscribe()},t}(i.Subscriber)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(81),A=n(231),i=n(17);function o(){return new i.Subject}t.share=function(){return function(e){return A.refCount()(r.multicast(o)(e))}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(232);t.shareReplay=function(e,t,n){return void 0===e&&(e=Number.POSITIVE_INFINITY),void 0===t&&(t=Number.POSITIVE_INFINITY),function(A){return A.lift(function(e,t,n){var A,i,o=0,s=!1,a=!1;return function(c){o++,A&&!s||(s=!1,A=new r.ReplaySubject(e,t,n),i=c.subscribe({next:function(e){A.next(e)},error:function(e){s=!0,A.error(e)},complete:function(){a=!0,A.complete()}}));var u=A.subscribe(this);return function(){o--,u.unsubscribe(),i&&0===o&&a&&i.unsubscribe()}}}(e,t,n))}}},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(5),o=n(105);t.single=function(e){return function(t){return t.lift(new s(e,t))}};var s=function(){function e(e,t){this.predicate=e,this.source=t}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.predicate,this.source))},e}(),a=function(e){function t(t,n,r){var A=e.call(this,t)||this;return A.predicate=n,A.source=r,A.seenValue=!1,A.index=0,A}return A(t,e),t.prototype.applySingleValue=function(e){this.seenValue?this.destination.error("Sequence contains more than one element"):(this.seenValue=!0,this.singleValue=e)},t.prototype._next=function(e){var t=this.index++;this.predicate?this.tryNext(e,t):this.applySingleValue(e)},t.prototype.tryNext=function(e,t){try{this.predicate(e,t,this.source)&&this.applySingleValue(e)}catch(e){this.destination.error(e)}},t.prototype._complete=function(){var e=this.destination;this.index>0?(e.next(this.seenValue?this.singleValue:void 0),e.complete()):e.error(new o.EmptyError)},t}(i.Subscriber)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(5);t.skip=function(e){return function(t){return t.lift(new o(e))}};var o=function(){function e(e){this.total=e}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.total))},e}(),s=function(e){function t(t,n){var r=e.call(this,t)||this;return r.total=n,r.count=0,r}return A(t,e),t.prototype._next=function(e){++this.count>this.total&&this.destination.next(e)},t}(i.Subscriber)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(5),o=n(104);t.skipLast=function(e){return function(t){return t.lift(new s(e))}};var s=function(){function e(e){if(this._skipCount=e,this._skipCount<0)throw new o.ArgumentOutOfRangeError}return e.prototype.call=function(e,t){return 0===this._skipCount?t.subscribe(new i.Subscriber(e)):t.subscribe(new a(e,this._skipCount))},e}(),a=function(e){function t(t,n){var r=e.call(this,t)||this;return r._skipCount=n,r._count=0,r._ring=new Array(n),r}return A(t,e),t.prototype._next=function(e){var t=this._skipCount,n=this._count++;if(n0?o.concat(r.fromArray(e,n),t):o.concat(i.empty(n),t):o.concat(A.scalar(e[0]),t)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(959);t.subscribeOn=function(e,t){return void 0===t&&(t=0),function(n){return n.lift(new A(e,t))}};var A=function(){function e(e,t){this.scheduler=e,this.delay=t}return e.prototype.call=function(e,t){return new r.SubscribeOnObservable(t,this.delay,this.scheduler).subscribe(e)},e}()},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(9),o=n(380),s=n(156),a=function(e){function t(t,n,r){void 0===n&&(n=0),void 0===r&&(r=o.asap);var A=e.call(this)||this;return A.source=t,A.delayTime=n,A.scheduler=r,(!s.isNumeric(n)||n<0)&&(A.delayTime=0),r&&"function"==typeof r.schedule||(A.scheduler=o.asap),A}return A(t,e),t.create=function(e,n,r){return void 0===n&&(n=0),void 0===r&&(r=o.asap),new t(e,n,r)},t.dispatch=function(e){var t=e.source,n=e.subscriber;return this.add(t.subscribe(n))},t.prototype._subscribe=function(e){var n=this.delayTime,r=this.source;return this.scheduler.schedule(t.dispatch,n,{source:r,subscriber:e})},t}(i.Observable);t.SubscribeOnObservable=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(243),A=n(80);t.switchAll=function(){return r.switchMap(A.identity)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(243);t.switchMapTo=function(e,t){return t?r.switchMap((function(){return e}),t):r.switchMap((function(){return e}))}},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(10),o=n(11);t.takeUntil=function(e){return function(t){return t.lift(new s(e))}};var s=function(){function e(e){this.notifier=e}return e.prototype.call=function(e,t){var n=new a(e),r=o.subscribeToResult(n,this.notifier);return r&&!n.seenValue?(n.add(r),t.subscribe(n)):n},e}(),a=function(e){function t(t){var n=e.call(this,t)||this;return n.seenValue=!1,n}return A(t,e),t.prototype.notifyNext=function(e,t,n,r,A){this.seenValue=!0,this.complete()},t.prototype.notifyComplete=function(){},t}(i.OuterSubscriber)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(5);t.takeWhile=function(e){return function(t){return t.lift(new o(e))}};var o=function(){function e(e){this.predicate=e}return e.prototype.call=function(e,t){return t.subscribe(new s(e,this.predicate))},e}(),s=function(e){function t(t,n){var r=e.call(this,t)||this;return r.predicate=n,r.index=0,r}return A(t,e),t.prototype._next=function(e){var t,n=this.destination;try{t=this.predicate(e,this.index++)}catch(e){return void n.error(e)}this.nextOrComplete(e,t)},t.prototype.nextOrComplete=function(e,t){var n=this.destination;Boolean(t)?n.next(e):n.complete()},t}(i.Subscriber)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(5),o=n(24),s=n(399);t.throttleTime=function(e,t,n){return void 0===t&&(t=o.async),void 0===n&&(n=s.defaultThrottleConfig),function(r){return r.lift(new a(e,t,n.leading,n.trailing))}};var a=function(){function e(e,t,n,r){this.duration=e,this.scheduler=t,this.leading=n,this.trailing=r}return e.prototype.call=function(e,t){return t.subscribe(new c(e,this.duration,this.scheduler,this.leading,this.trailing))},e}(),c=function(e){function t(t,n,r,A,i){var o=e.call(this,t)||this;return o.duration=n,o.scheduler=r,o.leading=A,o.trailing=i,o._hasTrailingValue=!1,o._trailingValue=null,o}return A(t,e),t.prototype._next=function(e){this.throttled?this.trailing&&(this._trailingValue=e,this._hasTrailingValue=!0):(this.add(this.throttled=this.scheduler.schedule(u,this.duration,{subscriber:this})),this.leading&&this.destination.next(e))},t.prototype._complete=function(){this._hasTrailingValue?(this.destination.next(this._trailingValue),this.destination.complete()):this.destination.complete()},t.prototype.clearThrottle=function(){var e=this.throttled;e&&(this.trailing&&this._hasTrailingValue&&(this.destination.next(this._trailingValue),this._trailingValue=null,this._hasTrailingValue=!1),e.unsubscribe(),this.remove(e),this.throttled=null)},t}(i.Subscriber);function u(e){e.subscriber.clearThrottle()}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(24),A=n(242),i=n(238),o=n(28);t.timeInterval=function(e){return void 0===e&&(e=r.async),function(t){return i.defer((function(){return t.pipe(A.scan((function(t,n){var r=t.current;return{value:n,current:e.now(),last:r}}),{current:e.now(),value:void 0,last:void 0}),o.map((function(e){var t=e.current,n=e.last,r=e.value;return new s(r,t-n)})))}))}};var s=function(e,t){this.value=e,this.interval=t};t.TimeInterval=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(24),A=n(381),i=n(400),o=n(235);t.timeout=function(e,t){return void 0===t&&(t=r.async),i.timeoutWith(e,o.throwError(new A.TimeoutError),t)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(24),A=n(28);t.timestamp=function(e){return void 0===e&&(e=r.async),A.map((function(t){return new i(t,e.now())}))};var i=function(e,t){this.value=e,this.timestamp=t};t.Timestamp=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(158);function A(e,t,n){return 0===n?[t]:(e.push(t),e)}t.toArray=function(){return r.reduce(A,[])}},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(17),o=n(10),s=n(11);t.window=function(e){return function(t){return t.lift(new a(e))}};var a=function(){function e(e){this.windowBoundaries=e}return e.prototype.call=function(e,t){var n=new c(e),r=t.subscribe(n);return r.closed||n.add(s.subscribeToResult(n,this.windowBoundaries)),r},e}(),c=function(e){function t(t){var n=e.call(this,t)||this;return n.window=new i.Subject,t.next(n.window),n}return A(t,e),t.prototype.notifyNext=function(e,t,n,r,A){this.openWindow()},t.prototype.notifyError=function(e,t){this._error(e)},t.prototype.notifyComplete=function(e){this._complete()},t.prototype._next=function(e){this.window.next(e)},t.prototype._error=function(e){this.window.error(e),this.destination.error(e)},t.prototype._complete=function(){this.window.complete(),this.destination.complete()},t.prototype._unsubscribe=function(){this.window=null},t.prototype.openWindow=function(){var e=this.window;e&&e.complete();var t=this.destination,n=this.window=new i.Subject;t.next(n)},t}(o.OuterSubscriber)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(5),o=n(17);t.windowCount=function(e,t){return void 0===t&&(t=0),function(n){return n.lift(new s(e,t))}};var s=function(){function e(e,t){this.windowSize=e,this.startWindowEvery=t}return e.prototype.call=function(e,t){return t.subscribe(new a(e,this.windowSize,this.startWindowEvery))},e}(),a=function(e){function t(t,n,r){var A=e.call(this,t)||this;return A.destination=t,A.windowSize=n,A.startWindowEvery=r,A.windows=[new o.Subject],A.count=0,t.next(A.windows[0]),A}return A(t,e),t.prototype._next=function(e){for(var t=this.startWindowEvery>0?this.startWindowEvery:this.windowSize,n=this.destination,r=this.windowSize,A=this.windows,i=A.length,s=0;s=0&&a%t==0&&!this.closed&&A.shift().complete(),++this.count%t==0&&!this.closed){var c=new o.Subject;A.push(c),n.next(c)}},t.prototype._error=function(e){var t=this.windows;if(t)for(;t.length>0&&!this.closed;)t.shift().error(e);this.destination.error(e)},t.prototype._complete=function(){var e=this.windows;if(e)for(;e.length>0&&!this.closed;)e.shift().complete();this.destination.complete()},t.prototype._unsubscribe=function(){this.count=0,this.windows=null},t}(i.Subscriber)},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(17),o=n(24),s=n(5),a=n(156),c=n(27);t.windowTime=function(e){var t=o.async,n=null,r=Number.POSITIVE_INFINITY;return c.isScheduler(arguments[3])&&(t=arguments[3]),c.isScheduler(arguments[2])?t=arguments[2]:a.isNumeric(arguments[2])&&(r=arguments[2]),c.isScheduler(arguments[1])?t=arguments[1]:a.isNumeric(arguments[1])&&(n=arguments[1]),function(A){return A.lift(new u(e,n,r,t))}};var u=function(){function e(e,t,n,r){this.windowTimeSpan=e,this.windowCreationInterval=t,this.maxWindowSize=n,this.scheduler=r}return e.prototype.call=function(e,t){return t.subscribe(new l(e,this.windowTimeSpan,this.windowCreationInterval,this.maxWindowSize,this.scheduler))},e}(),g=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t._numberOfNextedValues=0,t}return A(t,e),t.prototype.next=function(t){this._numberOfNextedValues++,e.prototype.next.call(this,t)},Object.defineProperty(t.prototype,"numberOfNextedValues",{get:function(){return this._numberOfNextedValues},enumerable:!0,configurable:!0}),t}(i.Subject),l=function(e){function t(t,n,r,A,i){var o=e.call(this,t)||this;o.destination=t,o.windowTimeSpan=n,o.windowCreationInterval=r,o.maxWindowSize=A,o.scheduler=i,o.windows=[];var s=o.openWindow();if(null!==r&&r>=0){var a={subscriber:o,window:s,context:null},c={windowTimeSpan:n,windowCreationInterval:r,subscriber:o,scheduler:i};o.add(i.schedule(f,n,a)),o.add(i.schedule(p,r,c))}else{var u={subscriber:o,window:s,windowTimeSpan:n};o.add(i.schedule(h,n,u))}return o}return A(t,e),t.prototype._next=function(e){for(var t=this.windows,n=t.length,r=0;r=this.maxWindowSize&&this.closeWindow(A))}},t.prototype._error=function(e){for(var t=this.windows;t.length>0;)t.shift().error(e);this.destination.error(e)},t.prototype._complete=function(){for(var e=this.windows;e.length>0;){var t=e.shift();t.closed||t.complete()}this.destination.complete()},t.prototype.openWindow=function(){var e=new g;return this.windows.push(e),this.destination.next(e),e},t.prototype.closeWindow=function(e){e.complete();var t=this.windows;t.splice(t.indexOf(e),1)},t}(s.Subscriber);function h(e){var t=e.subscriber,n=e.windowTimeSpan,r=e.window;r&&t.closeWindow(r),e.window=t.openWindow(),this.schedule(e,n)}function p(e){var t=e.windowTimeSpan,n=e.subscriber,r=e.scheduler,A=e.windowCreationInterval,i=n.openWindow(),o={action:this,subscription:null},s={subscriber:n,window:i,context:o};o.subscription=r.schedule(f,t,s),this.add(o.subscription),this.schedule(e,A)}function f(e){var t=e.subscriber,n=e.window,r=e.context;r&&r.action&&r.subscription&&r.action.remove(r.subscription),t.closeWindow(n)}},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=n(17),o=n(14),s=n(31),a=n(26),c=n(10),u=n(11);t.windowToggle=function(e,t){return function(n){return n.lift(new g(e,t))}};var g=function(){function e(e,t){this.openings=e,this.closingSelector=t}return e.prototype.call=function(e,t){return t.subscribe(new l(e,this.openings,this.closingSelector))},e}(),l=function(e){function t(t,n,r){var A=e.call(this,t)||this;return A.openings=n,A.closingSelector=r,A.contexts=[],A.add(A.openSubscription=u.subscribeToResult(A,n,n)),A}return A(t,e),t.prototype._next=function(e){var t=this.contexts;if(t)for(var n=t.length,r=0;r0){var o=i.indexOf(n);-1!==o&&i.splice(o,1)}},t.prototype.notifyComplete=function(){},t.prototype._next=function(e){if(0===this.toRespond.length){var t=[e].concat(this.values);this.project?this._tryProject(t):this.destination.next(t)}},t.prototype._tryProject=function(e){var t;try{t=this.project.apply(this,e)}catch(e){return void this.destination.error(e)}this.destination.next(t)},t}(i.OuterSubscriber)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(239);t.zip=function(){for(var e=[],t=0;t(e[t]=n,e))):i(e)}},function(e,t,n){"use strict";var r=n(21),A=n(25),i=n(226),o=n(401),s=n(159),{flatMap:a,map:c,take:u,takeUntil:g}=n(39),l=n(49),h=n(50),p=n(160);e.exports=class extends l{constructor(e,t,n){super(e,t,n),this.opt.choices||this.throwParamError("choices"),this.firstRender=!0,this.selected=0;var A=this.opt.default;if(r.isNumber(A)&&A>=0&&Ae===A);this.selected=Math.max(e,0)}this.opt.default=null,this.paginator=new p(this.screen)}_run(e){this.done=e;var t=this,n=h(this.rl);return n.normalizedUpKey.pipe(g(n.line)).forEach(this.onUpKey.bind(this)),n.normalizedDownKey.pipe(g(n.line)).forEach(this.onDownKey.bind(this)),n.numberKey.pipe(g(n.line)).forEach(this.onNumberKey.bind(this)),n.line.pipe(u(1),c(this.getCurrentValue.bind(this)),a(e=>s(t.opt.filter)(e).catch(e=>e))).forEach(this.onSubmit.bind(this)),o.hide(),this.render(),this}render(){var e,t,n,o,s=this.getQuestion();if(this.firstRender&&(s+=A.dim("(Use arrow keys)")),"answered"===this.status)s+=A.cyan(this.opt.choices.getChoice(this.selected).short);else{var a=(e=this.opt.choices,t=this.selected,n="",o=0,e.forEach((e,s)=>{if("separator"===e.type)return o++,void(n+=" "+e+"\n");if(e.disabled)return o++,n+=" - "+e.name,n+=" ("+(r.isString(e.disabled)?e.disabled:"Disabled")+")",void(n+="\n");var a=s-o===t,c=(a?i.pointer+" ":" ")+e.name;a&&(c=A.cyan(c)),n+=c+" \n"}),n.replace(/\n$/,"")),c=this.opt.choices.indexOf(this.opt.choices.getChoice(this.selected));s+="\n"+this.paginator.paginate(a,c,this.opt.pageSize)}this.firstRender=!1,this.screen.render(s)}onSubmit(e){this.status="answered",this.render(),this.screen.done(),o.show(),this.done(e)}getCurrentValue(){return this.opt.choices.getChoice(this.selected).value}onUpKey(){var e=this.opt.choices.realLength;this.selected=this.selected>0?this.selected-1:e-1,this.render()}onDownKey(){var e=this.opt.choices.realLength;this.selected=this.selected{A(()=>{process.stderr.write("[?25h")},{alwaysLast:!0})})},function(e,t,n){"use strict";const r=n(982);e.exports=(e,t)=>{if(!0===t)throw new TypeError("The second argument is now an options object");if("function"!=typeof e)throw new TypeError("Expected a function");let n;t=t||{};let A=!1;const i=e.displayName||e.name||"",o=function(){if(A){if(!0===t.throw)throw new Error(`Function \`${i}\` can only be called once`);return n}return A=!0,n=e.apply(this,arguments),e=null,n};return r(o,e),o}},function(e,t,n){"use strict";e.exports=(e,t)=>{for(const n of Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t)))Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n));return e}},function(e,t,n){var r,A=n(57),i=n(984),o=n(19);function s(){u&&(u=!1,i.forEach((function(e){try{process.removeListener(e,c[e])}catch(e){}})),process.emit=p,process.reallyExit=l,r.count-=1)}function a(e,t,n){r.emitted[e]||(r.emitted[e]=!0,r.emit(e,t,n))}"function"!=typeof o&&(o=o.EventEmitter),process.__signal_exit_emitter__?r=process.__signal_exit_emitter__:((r=process.__signal_exit_emitter__=new o).count=0,r.emitted={}),r.infinite||(r.setMaxListeners(1/0),r.infinite=!0),e.exports=function(e,t){A.equal(typeof e,"function","a callback must be provided for exit handler"),!1===u&&g();var n="exit";t&&t.alwaysLast&&(n="afterexit");return r.on(n,e),function(){r.removeListener(n,e),0===r.listeners("exit").length&&0===r.listeners("afterexit").length&&s()}},e.exports.unload=s;var c={};i.forEach((function(e){c[e]=function(){process.listeners(e).length===r.count&&(s(),a("exit",null,e),a("afterexit",null,e),process.kill(process.pid,e))}})),e.exports.signals=function(){return i},e.exports.load=g;var u=!1;function g(){u||(u=!0,r.count+=1,i=i.filter((function(e){try{return process.on(e,c[e]),!0}catch(e){return!1}})),process.emit=f,process.reallyExit=h)}var l=process.reallyExit;function h(e){process.exitCode=e||0,a("exit",process.exitCode,null),a("afterexit",process.exitCode,null),l.call(process,process.exitCode)}var p=process.emit;function f(e,t){if("exit"===e){void 0!==t&&(process.exitCode=t);var n=p.apply(this,arguments);return a("exit",process.exitCode,null),a("afterexit",process.exitCode,null),n}return p.apply(this,arguments)}},function(e,t){e.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"],"win32"!==process.platform&&e.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT"),"linux"===process.platform&&e.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")},function(e,t,n){"use strict";var r=n(57),A=n(21),i=n(148),o=n(986);e.exports=class{constructor(e,t){this.choices=e.map(e=>"separator"===e.type?(e instanceof i||(e=new i(e.line)),e):new o(e,t)),this.realChoices=this.choices.filter(i.exclude).filter(e=>!e.disabled),Object.defineProperty(this,"length",{get(){return this.choices.length},set(e){this.choices.length=e}}),Object.defineProperty(this,"realLength",{get(){return this.realChoices.length},set(){throw new Error("Cannot set `realLength` of a Choices collection")}})}getChoice(e){return r(A.isNumber(e)),this.realChoices[e]}get(e){return r(A.isNumber(e)),this.choices[e]}where(e){return A.filter(this.realChoices,e)}pluck(e){return A.map(this.realChoices,e)}indexOf(){return this.choices.indexOf.apply(this.choices,arguments)}forEach(){return this.choices.forEach.apply(this.choices,arguments)}filter(){return this.choices.filter.apply(this.choices,arguments)}find(e){return A.find(this.choices,e)}push(){var e=A.map(arguments,e=>new o(e));return this.choices.push.apply(this.choices,e),this.realChoices=this.choices.filter(i.exclude),this.choices}}},function(e,t,n){"use strict";var r=n(21);e.exports=class e{constructor(t,n){if(t instanceof e||"separator"===t.type)return t;r.isString(t)?(this.name=t,this.value=t,this.short=t):r.extend(this,t,{name:t.name||t.value,value:"value"in t?t.value:t.name,short:t.short||t.name||t.value}),r.isFunction(t.disabled)?this.disabled=t.disabled(n):this.disabled=t.disabled}}},function(e,t,n){"use strict";var r=n(21),A=n(368),i=n(988),o=n(989),s=n(991);function a(e){return e.split("\n").length}function c(e){return r.last(e.split("\n"))}e.exports=class{constructor(e){this.height=0,this.extraLinesUnderPrompt=0,this.rl=e}render(e,t){this.rl.output.unmute(),this.clean(this.extraLinesUnderPrompt);var n=c(e),r=o(n),i=r;this.rl.line.length&&(i=i.slice(0,-this.rl.line.length)),this.rl.setPrompt(i);var u=this.rl._getCursorPos(),g=this.normalizedCliWidth();e=this.forceLineReturn(e,g),t&&(t=this.forceLineReturn(t,g)),r.length%g==0&&(e+="\n");var l=e+(t?"\n"+t:"");this.rl.output.write(l);var h=Math.floor(r.length/g)-u.rows+(t?a(t):0);h>0&&A.up(this.rl,h),A.left(this.rl,s(c(l))),u.cols>0&&A.right(this.rl,u.cols),this.extraLinesUnderPrompt=h,this.height=a(l),this.rl.output.mute()}clean(e){e>0&&A.down(this.rl,e),A.clearLine(this.rl,this.height)}done(){this.rl.setPrompt(""),this.rl.output.unmute(),this.rl.output.write("\n")}releaseCursor(){this.extraLinesUnderPrompt>0&&A.down(this.rl,this.extraLinesUnderPrompt)}normalizedCliWidth(){return i({defaultWidth:80,output:this.rl.output})}breakLines(e,t){t=t||this.normalizedCliWidth();var n=new RegExp("(?:(?:\\033[[0-9;]*m)*.?){1,"+t+"}","g");return e.map(e=>{var t=e.match(n);return t.pop(),t||""})}forceLineReturn(e,t){return t=t||this.normalizedCliWidth(),r.flatten(this.breakLines(e.split("\n"),t)).join("\n")}}},function(e,t,n){"use strict";e.exports=function(e){var t=function(e){var t={defaultWidth:0,output:process.stdout,tty:n(294)};return e?(Object.keys(t).forEach((function(n){e[n]||(e[n]=t[n])})),e):t}(e);if(t.output.getWindowSize)return t.output.getWindowSize()[0]||t.defaultWidth;if(t.tty.getWindowSize)return t.tty.getWindowSize()[1]||t.defaultWidth;if(t.output.columns)return t.output.columns;if(process.env.CLI_WIDTH){var r=parseInt(process.env.CLI_WIDTH,10);if(!isNaN(r)&&0!==r)return r}return t.defaultWidth}},function(e,t,n){"use strict";const r=n(990);e.exports=e=>"string"==typeof e?e.replace(r(),""):e},function(e,t,n){"use strict";e.exports=e=>{e=Object.assign({onlyFirst:!1},e);const t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e.onlyFirst?void 0:"g")}},function(e,t,n){"use strict";const r=n(992),A=n(994);e.exports=e=>{if("string"!=typeof e||0===e.length)return 0;e=r(e);let t=0;for(let n=0;n=127&&r<=159||(r>=768&&r<=879||(r>65535&&n++,t+=A(r)?2:1))}return t}},function(e,t,n){"use strict";const r=n(993);e.exports=e=>"string"==typeof e?e.replace(r(),""):e},function(e,t,n){"use strict";e.exports=()=>{const e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))"].join("|");return new RegExp(e,"g")}},function(e,t,n){"use strict";e.exports=e=>!Number.isNaN(e)&&(e>=4352&&(e<=4447||9001===e||9002===e||11904<=e&&e<=12871&&12351!==e||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141))},function(e,t,n){"use strict";var r=n(402);e.exports=class extends r{filterInput(e){if(e&&"string"==typeof e){let t=(e=e.trim()).match(/(^-?\d+|^\d+\.\d*|^\d*\.\d+)(e\d+)?$/);if(t)return Number(t[0])}return null==this.opt.default?NaN:this.opt.default}}},function(e,t,n){"use strict";var r=n(21),A=n(25),{take:i,takeUntil:o}=n(39),s=n(49),a=n(50);e.exports=class extends s{constructor(e,t,n){super(e,t,n);var A=!0;return r.extend(this.opt,{filter:function(e){var t=A;return null!=e&&""!==e&&(t=/^y(es)?/i.test(e)),t}}),r.isBoolean(this.opt.default)&&(A=this.opt.default),this.opt.default=A?"Y/n":"y/N",this}_run(e){this.done=e;var t=a(this.rl);return t.keypress.pipe(o(t.line)).forEach(this.onKeypress.bind(this)),t.line.pipe(i(1)).forEach(this.onEnd.bind(this)),this.render(),this}render(e){var t=this.getQuestion();return t+="boolean"==typeof e?A.cyan(e?"Yes":"No"):this.rl.line,this.screen.render(t),this}onEnd(e){this.status="answered";var t=this.opt.filter(e);this.render(t),this.screen.done(),this.done(t)}onKeypress(){this.render()}}},function(e,t,n){"use strict";var r=n(21),A=n(25),{map:i,takeUntil:o}=n(39),s=n(49),a=n(148),c=n(50),u=n(160);e.exports=class extends s{constructor(e,t,n){super(e,t,n),this.opt.choices||this.throwParamError("choices"),this.opt.validChoices=this.opt.choices.filter(a.exclude),this.selected=0,this.rawDefault=0,r.extend(this.opt,{validate:function(e){return null!=e}});var A=this.opt.default;if(r.isNumber(A)&&A>=0&&Ae===A),t=Math.max(e,0);this.selected=t,this.rawDefault=t}this.opt.default=null,this.paginator=new u}_run(e){this.done=e;var t=c(this.rl),n=t.line.pipe(i(this.getCurrentValue.bind(this))),r=this.handleSubmitEvents(n);return r.success.forEach(this.onEnd.bind(this)),r.error.forEach(this.onError.bind(this)),t.keypress.pipe(o(r.success)).forEach(this.onKeypress.bind(this)),t.normalizedUpKey.pipe(o(t.line)).forEach(this.onUpKey.bind(this)),t.normalizedDownKey.pipe(o(t.line)).forEach(this.onDownKey.bind(this)),this.render(),this}render(e){var t,n,r,i,o=this.getQuestion(),s="";if("answered"===this.status)o+=A.cyan(this.answer);else{var a=(t=this.opt.choices,n=this.selected,r="",i=0,t.forEach((function(e,t){if(r+="\n ","separator"===e.type)return i++,void(r+=" "+e);var o=t-i,s=o+1+") "+e.name;o===n&&(s=A.cyan(s)),r+=s})),r);o+=this.paginator.paginate(a,this.selected,this.opt.pageSize),o+="\n Answer: "}o+=this.rl.line,e&&(s="\n"+A.red(">> ")+e),this.screen.render(o,s)}getCurrentValue(e){null==e||""===e?e=this.rawDefault:e-=1;var t=this.opt.choices.getChoice(e);return t?t.value:null}onEnd(e){this.status="answered",this.answer=e.value,this.render(),this.screen.done(),this.done(e.value)}onError(){this.render("Please enter a valid index")}onKeypress(){var e=this.rl.line.length?Number(this.rl.line)-1:0;this.opt.choices.getChoice(e)?this.selected=e:this.selected=void 0,this.render()}onUpKey(){this.onArrowKey("up")}onDownKey(){this.onArrowKey("down")}onArrowKey(e){var t=this.rl.line.length?Number(this.rl.line)-1:0;t+="up"===e?-1:1,this.rl.line=String(t+1),this.onKeypress()}}},function(e,t,n){"use strict";var r=n(21),A=n(25),{map:i,takeUntil:o}=n(39),s=n(49),a=n(148),c=n(50),u=n(160);e.exports=class extends s{constructor(e,t,n){super(e,t,n),this.opt.choices||this.throwParamError("choices"),this.validateChoices(this.opt.choices),this.opt.choices.push({key:"h",name:"Help, list all options",value:"help"}),this.opt.validate=e=>null==e?"Please enter a valid command":"help"!==e,this.opt.default=this.generateChoicesString(this.opt.choices,this.opt.default),this.paginator=new u(this.screen)}_run(e){this.done=e;var t=c(this.rl),n=this.handleSubmitEvents(t.line.pipe(i(this.getCurrentValue.bind(this))));return n.success.forEach(this.onSubmit.bind(this)),n.error.forEach(this.onError.bind(this)),this.keypressObs=t.keypress.pipe(o(n.success)).forEach(this.onKeypress.bind(this)),this.render(),this}render(e,t){var n,r,i,o=this.getQuestion(),s="";if("answered"===this.status)o+=A.cyan(this.answer);else if("expanded"===this.status){var a=(n=this.opt.choices,r=this.selectedKey,i="",n.forEach(e=>{if(i+="\n ","separator"!==e.type){var t=e.key+") "+e.name;r===e.key&&(t=A.cyan(t)),i+=t}else i+=" "+e}),i);o+=this.paginator.paginate(a,this.selectedKey,this.opt.pageSize),o+="\n Answer: "}o+=this.rl.line,e&&(s=A.red(">> ")+e),t&&(s=A.cyan(">> ")+t),this.screen.render(o,s)}getCurrentValue(e){e||(e=this.rawDefault);var t=this.opt.choices.where({key:e.toLowerCase().trim()})[0];return t?t.value:null}getChoices(){var e="";return this.opt.choices.forEach(t=>{if(e+="\n ","separator"!==t.type){var n=t.key+") "+t.name;this.selectedKey===t.key&&(n=A.cyan(n)),e+=n}else e+=" "+t}),e}onError(e){if("help"===e.value)return this.selectedKey="",this.status="expanded",void this.render();this.render(e.isValid)}onSubmit(e){this.status="answered";var t=this.opt.choices.where({value:e.value})[0];this.answer=t.short||t.name,this.render(),this.screen.done(),this.done(e.value)}onKeypress(){this.selectedKey=this.rl.line.toLowerCase();var e=this.opt.choices.where({key:this.selectedKey})[0];"expanded"===this.status?this.render():this.render(null,e?e.name:null)}validateChoices(e){var t,n=[],A={};if(e.filter(a.exclude).forEach(e=>{e.key&&1===e.key.length||(t=!0),A[e.key]&&n.push(e.key),A[e.key]=!0,e.key=String(e.key).toLowerCase()}),t)throw new Error("Format error: `key` param must be a single letter and is required.");if(A.h)throw new Error("Reserved key error: `key` param cannot be `h` - this value is reserved.");if(n.length)throw new Error("Duplicate key error: `key` param must be unique. Duplicates: "+r.uniq(n).join(", "))}generateChoicesString(e,t){var n=e.realLength-1;if(r.isNumber(t)&&this.opt.choices.getChoice(t))n=t;else if(r.isString(t)){let A=r.findIndex(e.realChoices,({value:e})=>e===t);n=-1===A?n:A}var A=this.opt.choices.pluck("key");return this.rawDefault=A[n],A[n]=String(A[n]).toUpperCase(),A.join("")}}},function(e,t,n){"use strict";var r=n(21),A=n(25),i=n(401),o=n(226),{map:s,takeUntil:a}=n(39),c=n(49),u=n(50),g=n(160);e.exports=class extends c{constructor(e,t,n){super(e,t,n),this.opt.choices||this.throwParamError("choices"),r.isArray(this.opt.default)&&this.opt.choices.forEach((function(e){this.opt.default.indexOf(e.value)>=0&&(e.checked=!0)}),this),this.pointer=0,this.opt.default=null,this.paginator=new g(this.screen)}_run(e){this.done=e;var t=u(this.rl),n=this.handleSubmitEvents(t.line.pipe(s(this.getCurrentValue.bind(this))));return n.success.forEach(this.onEnd.bind(this)),n.error.forEach(this.onError.bind(this)),t.normalizedUpKey.pipe(a(n.success)).forEach(this.onUpKey.bind(this)),t.normalizedDownKey.pipe(a(n.success)).forEach(this.onDownKey.bind(this)),t.numberKey.pipe(a(n.success)).forEach(this.onNumberKey.bind(this)),t.spaceKey.pipe(a(n.success)).forEach(this.onSpaceKey.bind(this)),t.aKey.pipe(a(n.success)).forEach(this.onAllKey.bind(this)),t.iKey.pipe(a(n.success)).forEach(this.onInverseKey.bind(this)),i.hide(),this.render(),this.firstRender=!1,this}render(e){var t,n,i,s,a=this.getQuestion(),c="";if(this.spaceKeyPressed||(a+="(Press "+A.cyan.bold("")+" to select, "+A.cyan.bold("")+" to toggle all, "+A.cyan.bold("")+" to invert selection)"),"answered"===this.status)a+=A.cyan(this.selection.join(", "));else{var u=(t=this.opt.choices,n=this.pointer,i="",s=0,t.forEach((function(e,t){if("separator"===e.type)return s++,void(i+=" "+e+"\n");if(e.disabled)s++,i+=" - "+e.name,i+=" ("+(r.isString(e.disabled)?e.disabled:"Disabled")+")";else{var a=(e.checked?A.green(o.radioOn):o.radioOff)+" "+e.name;i+=t-s===n?A.cyan(o.pointer+a):" "+a}i+="\n"})),i.replace(/\n$/,"")),g=this.opt.choices.indexOf(this.opt.choices.getChoice(this.pointer));a+="\n"+this.paginator.paginate(u,g,this.opt.pageSize)}e&&(c=A.red(">> ")+e),this.screen.render(a,c)}onEnd(e){this.status="answered",this.render(),this.screen.done(),i.show(),this.done(e.value)}onError(e){this.render(e.isValid)}getCurrentValue(){var e=this.opt.choices.filter((function(e){return Boolean(e.checked)&&!e.disabled}));return this.selection=r.map(e,"short"),r.map(e,"value")}onUpKey(){var e=this.opt.choices.realLength;this.pointer=this.pointer>0?this.pointer-1:e-1,this.render()}onDownKey(){var e=this.opt.choices.realLength;this.pointer=this.pointer> ")+e),this.screen.render(t,n)}filterInput(e){return e||(null==this.opt.default?"":this.opt.default)}onEnd(e){this.status="answered",this.answer=e.value,this.render(),this.screen.done(),this.done(e.value)}onError(e){this.render(e.isValid)}onKeypress(){this.render()}}},function(e,t,n){"use strict";var r=n(25),A=n(1002).editAsync,i=n(49),o=n(50),{Subject:s}=n(149);e.exports=class extends i{_run(e){this.done=e,this.editorResult=new s;var t=o(this.rl);this.lineSubscription=t.line.subscribe(this.startExternalEditor.bind(this));var n=this.handleSubmitEvents(this.editorResult);return n.success.forEach(this.onEnd.bind(this)),n.error.forEach(this.onError.bind(this)),this.currentText=this.opt.default,this.opt.default=null,this.render(),this}render(e){var t="",n=this.getQuestion();"answered"===this.status?n+=r.dim("Received"):n+=r.dim("Press to launch your preferred editor."),e&&(t=r.red(">> ")+e),this.screen.render(n,t)}startExternalEditor(){this.rl.pause(),A(this.currentText,this.endExternalEditor.bind(this))}endExternalEditor(e,t){this.rl.resume(),e?this.editorResult.error(e):this.editorResult.next(t)}onEnd(e){this.editorResult.unsubscribe(),this.lineSubscription.unsubscribe(),this.answer=e.value,this.status="answered",this.render(),this.screen.done(),this.done(this.answer)}onError(e){this.render(e.isValid)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n(1003),A=n(117),i=n(3),o=n(1009),s=n(1027),a=n(1029);t.CreateFileError=a.CreateFileError;var c=n(1030);t.LaunchEditorError=c.LaunchEditorError;var u=n(1031);t.ReadFileError=u.ReadFileError;var g=n(1032);t.RemoveFileError=g.RemoveFileError,t.edit=function(e){void 0===e&&(e="");var t=new l(e);return t.run(),t.cleanup(),t.text},t.editAsync=function(e,t){void 0===e&&(e="");var n=new l(e);n.runAsync((function(e,r){if(e)setImmediate(t,e,null);else try{n.cleanup(),setImmediate(t,null,r)}catch(e){setImmediate(t,e,null)}}))};var l=function(){function e(e){void 0===e&&(e=""),this.text="",this.text=e,this.determineEditor(),this.createTemporaryFile()}return e.splitStringBySpace=function(e){for(var t=[],n="",r=0;r0&&" "===A&&"\\"!==e[r-1]&&n.length>0?(t.push(n),n=""):n+=A}return n.length>0&&t.push(n),t},Object.defineProperty(e.prototype,"temp_file",{get:function(){return console.log("DEPRECATED: temp_file. Use tempFile moving forward."),this.tempFile},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"last_exit_status",{get:function(){return console.log("DEPRECATED: last_exit_status. Use lastExitStatus moving forward."),this.lastExitStatus},enumerable:!0,configurable:!0}),e.prototype.run=function(){return this.launchEditor(),this.readTemporaryFile(),this.text},e.prototype.runAsync=function(e){var t=this;try{this.launchEditorAsync((function(){try{t.readTemporaryFile(),setImmediate(e,null,t.text)}catch(t){setImmediate(e,t,null)}}))}catch(t){setImmediate(e,t,null)}},e.prototype.cleanup=function(){this.removeTemporaryFile()},e.prototype.determineEditor=function(){var t=process.env.VISUAL?process.env.VISUAL:process.env.EDITOR?process.env.EDITOR:/^win/.test(process.platform)?"notepad":"vim",n=e.splitStringBySpace(t).map((function(e){return e.replace("\\ "," ")})),r=n.shift();this.editor={args:n,bin:r}},e.prototype.createTemporaryFile=function(){try{this.tempFile=s.tmpNameSync({}),i.writeFileSync(this.tempFile,this.text,{encoding:"utf8"})}catch(e){throw new a.CreateFileError(e)}},e.prototype.readTemporaryFile=function(){try{var e=i.readFileSync(this.tempFile);if(0===e.length)this.text="";else{var t=r.detect(e).toString();o.encodingExists(t)||(t="utf8"),this.text=o.decode(e,t)}}catch(e){throw new u.ReadFileError(e)}},e.prototype.removeTemporaryFile=function(){try{i.unlinkSync(this.tempFile)}catch(e){throw new g.RemoveFileError(e)}},e.prototype.launchEditor=function(){try{var e=A.spawnSync(this.editor.bin,this.editor.args.concat([this.tempFile]),{stdio:"inherit"});this.lastExitStatus=e.status}catch(e){throw new c.LaunchEditorError(e)}},e.prototype.launchEditorAsync=function(e){var t=this;try{A.spawn(this.editor.bin,this.editor.args.concat([this.tempFile]),{stdio:"inherit"}).on("exit",(function(n){t.lastExitStatus=n,setImmediate(e)}))}catch(e){throw new c.LaunchEditorError(e)}},e}();t.ExternalEditor=l},function(e,t,n){var r=n(3),A=n(1004),i=n(1005),o=n(1006),s=n(1007),a=n(1008),c=this,u=[new A,new i.UTF_16BE,new i.UTF_16LE,new i.UTF_32BE,new i.UTF_32LE,new o.sjis,new o.big5,new o.euc_jp,new o.euc_kr,new o.gb_18030,new a.ISO_2022_JP,new a.ISO_2022_KR,new a.ISO_2022_CN,new s.ISO_8859_1,new s.ISO_8859_2,new s.ISO_8859_5,new s.ISO_8859_6,new s.ISO_8859_7,new s.ISO_8859_8,new s.ISO_8859_9,new s.windows_1251,new s.windows_1256,new s.KOI8_R];e.exports.detect=function(e,t){for(var n=[],r=0;r<256;r++)n[r]=0;for(r=e.length-1;r>=0;r--)n[255&e[r]]++;var A=!1;for(r=128;r<=159;r+=1)if(0!=n[r]){A=!0;break}var i={fByteStats:n,fC1Bytes:A,fRawInput:e,fRawLength:e.length,fInputBytes:e,fInputLen:e.length},o=u.map((function(e){return e.match(i)})).filter((function(e){return!!e})).sort((function(e,t){return t.confidence-e.confidence}));return t&&!0===t.returnAllMatches?o:o.length>0?o[0].name:null},e.exports.detectFile=function(e,t,n){var A;"function"==typeof t&&(n=t,t=void 0);var i=function(e,i){if(A&&r.closeSync(A),e)return n(e,null);n(null,c.detect(i,t))};if(t&&t.sampleSize)return A=r.openSync(e,"r"),sample=Buffer.allocUnsafe(t.sampleSize),void r.read(A,sample,0,t.sampleSize,null,(function(e){i(e,sample)}));r.readFile(e,i)},e.exports.detectFileSync=function(e,t){if(t&&t.sampleSize){var n=r.openSync(e,"r"),A=Buffer.allocUnsafe(t.sampleSize);return r.readSync(n,A,0,t.sampleSize),r.closeSync(n),c.detect(A,t)}return c.detect(r.readFileSync(e),t)},e.exports.detectAll=function(e,t){return"object"!=typeof t&&(t={}),t.returnAllMatches=!0,c.detect(e,t)},e.exports.detectFileAll=function(e,t,n){"function"==typeof t&&(n=t,t=void 0),"object"!=typeof t&&(t={}),t.returnAllMatches=!0,c.detectFile(e,t,n)},e.exports.detectFileAllSync=function(e,t){return"object"!=typeof t&&(t={}),t.returnAllMatches=!0,c.detectFileSync(e,t)}},function(e,t,n){var r=n(110);e.exports=function(){this.name=function(){return"UTF-8"},this.match=function(e){var t,n=!1,A=0,i=0,o=e.fRawInput,s=0;e.fRawLength>=3&&239==(255&o[0])&&187==(255&o[1])&&191==(255&o[2])&&(n=!0);for(var a=0;a5)break;s=0}for(;!(++a>=e.fRawLength);){if(128!=(192&o[a])){i++;break}if(0==--s){A++;break}}}}if(t=0,n&&0==i)t=100;else if(n&&A>10*i)t=80;else if(A>3&&0==i)t=100;else if(A>0&&0==i)t=80;else if(0==A&&0==i)t=10;else{if(!(A>10*i))return null;t=25}return new r(e,this,t)}}},function(e,t,n){"use strict";var r=n(6),A=n(110);function i(){}e.exports.UTF_16BE=function(){this.name=function(){return"UTF-16BE"},this.match=function(e){var t=e.fRawInput;return t.length>=2&&254==(255&t[0])&&255==(255&t[1])?new A(e,this,100):null}},e.exports.UTF_16LE=function(){this.name=function(){return"UTF-16LE"},this.match=function(e){var t=e.fRawInput;return t.length>=2&&255==(255&t[0])&&254==(255&t[1])?t.length>=4&&0==t[2]&&0==t[3]?null:new A(e,this,100):null}},i.prototype.match=function(e){var t=e.fRawInput,n=e.fRawLength/4*4,r=0,i=0,o=!1,s=0;if(0==n)return null;65279==this.getChar(t,0)&&(o=!0);for(var a=0;a=1114111||c>=55296&&c<=57343?i+=1:r+=1}return o&&0==i?s=100:o&&r>10*i?s=80:r>3&&0==i?s=100:r>0&&0==i?s=80:r>10*i&&(s=25),0==s?null:new A(e,this,s)},e.exports.UTF_32BE=function(){this.name=function(){return"UTF-32BE"},this.getChar=function(e,t){return(255&e[t+0])<<24|(255&e[t+1])<<16|(255&e[t+2])<<8|255&e[t+3]}},r.inherits(e.exports.UTF_32BE,i),e.exports.UTF_32LE=function(){this.name=function(){return"UTF-32LE"},this.getChar=function(e,t){return(255&e[t+3])<<24|(255&e[t+2])<<16|(255&e[t+1])<<8|255&e[t+0]}},r.inherits(e.exports.UTF_32LE,i)},function(e,t,n){var r=n(6),A=n(110);function i(){this.charValue=0,this.index=0,this.nextIndex=0,this.error=!1,this.done=!1,this.reset=function(){this.charValue=0,this.index=-1,this.nextIndex=0,this.error=!1,this.done=!1},this.nextByte=function(e){return this.nextIndex>=e.fRawLength?(this.done=!0,-1):255&e.fRawInput[this.nextIndex++]}}function o(){}function s(e,t){e.index=e.nextIndex,e.error=!1;var n=0,r=0,A=0;return(n=e.charValue=e.nextByte(t))<0?e.done=!0:n<=141||(r=e.nextByte(t),e.charValue=e.charValue<<8|r,n>=161&&n<=254?r<161&&(e.error=!0):142!=n?143==n&&(A=e.nextByte(t),e.charValue=e.charValue<<8|A,A<161&&(e.error=!0)):r<161&&(e.error=!0)),0==e.done}o.prototype.match=function(e){var t,n=0,r=0,o=0,s=0,a=0,c=new i;e:{for(c.reset();this.nextChar(c,e);){if(s++,c.error)o++;else{var u=4294967295&c.charValue;u<=255?0:(n++,null!=this.commonChars&&function e(t,n,r,A){if(A>>1);return n>t[i]?e(t,n,i+1,A):n=0&&r++)}if(o>=2&&5*o>=n)break e}if(n<=10&&0==o)a=0==n&&s<10?0:10;else if(n<20*o)a=0;else if(null==this.commonChars)(a=30+n-20*o)>100&&(a=100);else{var g=90/Math.log(parseFloat(n)/4);a=Math.floor(Math.log(r+1)*g+10),a=Math.min(a,100)}}return 0==a?null:new A(e,this,a)},o.prototype.nextChar=function(e,t){},e.exports.sjis=function(){this.name=function(){return"Shift-JIS"},this.language=function(){return"ja"},this.commonChars=[33088,33089,33090,33093,33115,33129,33130,33141,33142,33440,33442,33444,33449,33450,33451,33453,33455,33457,33459,33461,33463,33469,33470,33473,33476,33477,33478,33480,33481,33484,33485,33500,33504,33511,33512,33513,33514,33520,33521,33601,33603,33614,33615,33624,33630,33634,33639,33653,33654,33673,33674,33675,33677,33683,36502,37882,38314],this.nextChar=function(e,t){var n;if(e.index=e.nextIndex,e.error=!1,(n=e.charValue=e.nextByte(t))<0)return!1;if(n<=127||n>160&&n<=223)return!0;var r=e.nextByte(t);return!(r<0)&&(e.charValue=n<<8|r,r>=64&&r<=127||r>=128&&r<=255||(e.error=!0),!0)}},r.inherits(e.exports.sjis,o),e.exports.big5=function(){this.name=function(){return"Big5"},this.language=function(){return"zh"},this.commonChars=[41280,41281,41282,41283,41287,41289,41333,41334,42048,42054,42055,42056,42065,42068,42071,42084,42090,42092,42103,42147,42148,42151,42177,42190,42193,42207,42216,42237,42304,42312,42328,42345,42445,42471,42583,42593,42594,42600,42608,42664,42675,42681,42707,42715,42726,42738,42816,42833,42841,42970,43171,43173,43181,43217,43219,43236,43260,43456,43474,43507,43627,43706,43710,43724,43772,44103,44111,44208,44242,44377,44745,45024,45290,45423,45747,45764,45935,46156,46158,46412,46501,46525,46544,46552,46705,47085,47207,47428,47832,47940,48033,48593,49860,50105,50240,50271],this.nextChar=function(e,t){e.index=e.nextIndex,e.error=!1;var n=e.charValue=e.nextByte(t);if(n<0)return!1;if(n<=127||255==n)return!0;var r=e.nextByte(t);return!(r<0)&&(e.charValue=e.charValue<<8|r,(r<64||127==r||255==r)&&(e.error=!0),!0)}},r.inherits(e.exports.big5,o),e.exports.euc_jp=function(){this.name=function(){return"EUC-JP"},this.language=function(){return"ja"},this.commonChars=[41377,41378,41379,41382,41404,41418,41419,41430,41431,42146,42148,42150,42152,42154,42155,42156,42157,42159,42161,42163,42165,42167,42169,42171,42173,42175,42176,42177,42179,42180,42182,42183,42184,42185,42186,42187,42190,42191,42192,42206,42207,42209,42210,42212,42216,42217,42218,42219,42220,42223,42226,42227,42402,42403,42404,42406,42407,42410,42413,42415,42416,42419,42421,42423,42424,42425,42431,42435,42438,42439,42440,42441,42443,42448,42453,42454,42455,42462,42464,42465,42469,42473,42474,42475,42476,42477,42483,47273,47572,47854,48072,48880,49079,50410,50940,51133,51896,51955,52188,52689],this.nextChar=s},r.inherits(e.exports.euc_jp,o),e.exports.euc_kr=function(){this.name=function(){return"EUC-KR"},this.language=function(){return"ko"},this.commonChars=[45217,45235,45253,45261,45268,45286,45293,45304,45306,45308,45496,45497,45511,45527,45538,45994,46011,46274,46287,46297,46315,46501,46517,46527,46535,46569,46835,47023,47042,47054,47270,47278,47286,47288,47291,47337,47531,47534,47564,47566,47613,47800,47822,47824,47857,48103,48115,48125,48301,48314,48338,48374,48570,48576,48579,48581,48838,48840,48863,48878,48888,48890,49057,49065,49088,49124,49131,49132,49144,49319,49327,49336,49338,49339,49341,49351,49356,49358,49359,49366,49370,49381,49403,49404,49572,49574,49590,49622,49631,49654,49656,50337,50637,50862,51151,51153,51154,51160,51173,51373],this.nextChar=s},r.inherits(e.exports.euc_kr,o),e.exports.gb_18030=function(){this.name=function(){return"GB18030"},this.language=function(){return"zh"},this.nextChar=function(e,t){e.index=e.nextIndex,e.error=!1;var n=0,r=0,A=0,i=0;e:if((n=e.charValue=e.nextByte(t))<0)e.done=!0;else if(!(n<=128))if(r=e.nextByte(t),e.charValue=e.charValue<<8|r,n>=129&&n<=254){if(r>=64&&r<=126||r>=80&&r<=254)break e;if(r>=48&&r<=57&&(A=e.nextByte(t))>=129&&A<=254&&(i=e.nextByte(t))>=48&&i<=57){e.charValue=e.charValue<<16|A<<8|i;break e}e.error=!0}else;return 0==e.done},this.commonChars=[41377,41378,41379,41380,41392,41393,41457,41459,41889,41900,41914,45480,45496,45502,45755,46025,46070,46323,46525,46532,46563,46767,46804,46816,47010,47016,47037,47062,47069,47284,47327,47350,47531,47561,47576,47610,47613,47821,48039,48086,48097,48122,48316,48347,48382,48588,48845,48861,49076,49094,49097,49332,49389,49611,49883,50119,50396,50410,50636,50935,51192,51371,51403,51413,51431,51663,51706,51889,51893,51911,51920,51926,51957,51965,52460,52728,52906,52932,52946,52965,53173,53186,53206,53442,53445,53456,53460,53671,53930,53938,53941,53947,53972,54211,54224,54269,54466,54490,54754,54992]},r.inherits(e.exports.gb_18030,o)},function(e,t,n){var r=n(6),A=n(110);function i(e,t){this.byteIndex=0,this.ngram=0,this.ngramList=e,this.byteMap=t,this.ngramCount=0,this.hitCount=0,this.spaceChar,this.search=function(e,t){var n=0;return e[n+32]<=t&&(n+=32),e[n+16]<=t&&(n+=16),e[n+8]<=t&&(n+=8),e[n+4]<=t&&(n+=4),e[n+2]<=t&&(n+=2),e[n+1]<=t&&(n+=1),e[n]>t&&(n-=1),n<0||e[n]!=t?-1:n},this.lookup=function(e){this.ngramCount+=1,this.search(this.ngramList,e)>=0&&(this.hitCount+=1)},this.addByte=function(e){this.ngram=(this.ngram<<8)+(255&e)&16777215,this.lookup(this.ngram)},this.nextByte=function(e){return this.byteIndex>=e.fInputLen?-1:255&e.fInputBytes[this.byteIndex++]},this.parse=function(e,t){var n,r=!1;for(this.spaceChar=t;(n=this.nextByte(e))>=0;){var A=this.byteMap[n];0!=A&&(A==this.spaceChar&&r||this.addByte(A),r=A==this.spaceChar)}this.addByte(this.spaceChar);var i=this.hitCount/this.ngramCount;return i>.33?98:Math.floor(300*i)}}function o(e,t){this.fLang=e,this.fNGrams=t}function s(){}s.prototype.spaceChar=32,s.prototype.ngrams=function(){},s.prototype.byteMap=function(){},s.prototype.match=function(e){var t=this.ngrams();if(!(Array.isArray(t)&&t[0]instanceof o))return(a=new i(t,this.byteMap()).parse(e,this.spaceChar))<=0?null:new A(e,this,a);for(var n=-1,r=null,s=t.length-1;s>=0;s--){var a,c=t[s];(a=new i(c.fNGrams,this.byteMap()).parse(e,this.spaceChar))>n&&(n=a,r=c.fLang)}var u=this.name(e);return n<=0?null:new A(e,this,n,u,r)},e.exports.ISO_8859_1=function(){this.byteMap=function(){return[32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,170,32,32,32,32,32,32,32,32,32,32,181,32,32,32,32,186,32,32,32,32,32,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,32,248,249,250,251,252,253,254,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,32,248,249,250,251,252,253,254,255]},this.ngrams=function(){return[new o("da",[2122086,2122100,2122853,2123118,2123122,2123375,2123873,2124064,2125157,2125671,2126053,2126697,2126708,2126953,2127465,6383136,6385184,6385252,6386208,6386720,6579488,6579566,6579570,6579572,6627443,6644768,6644837,6647328,6647396,6648352,6648421,6648608,6648864,6713202,6776096,6776174,6776178,6907749,6908960,6909543,7038240,7039845,7103858,7104871,7105637,7169380,7234661,7234848,7235360,7235429,7300896,7302432,7303712,7398688,7479396,7479397,7479411,7496992,7566437,7610483,7628064,7628146,7629164,7759218]),new o("de",[2122094,2122101,2122341,2122849,2122853,2122857,2123113,2123621,2123873,2124142,2125161,2126691,2126693,2127214,2127461,2127471,2127717,2128501,6448498,6514720,6514789,6514804,6578547,6579566,6579570,6580581,6627428,6627443,6646126,6646132,6647328,6648352,6648608,6776174,6841710,6845472,6906728,6907168,6909472,6909541,6911008,7104867,7105637,7217249,7217252,7217267,7234592,7234661,7234848,7235360,7235429,7238757,7479396,7496805,7497065,7562088,7566437,7610468,7628064,7628142,7628146,7695972,7695975,7759218]),new o("en",[2122016,2122094,2122341,2122607,2123375,2123873,2123877,2124142,2125153,2125670,2125938,2126437,2126689,2126708,2126952,2126959,2127720,6383972,6384672,6385184,6385252,6386464,6386720,6386789,6386793,6561889,6561908,6627425,6627443,6627444,6644768,6647412,6648352,6648608,6713202,6840692,6841632,6841714,6906912,6909472,6909543,6909806,6910752,7217249,7217268,7234592,7235360,7238688,7300640,7302688,7303712,7496992,7500576,7544929,7544948,7561577,7566368,7610484,7628146,7628897,7628901,7629167,7630624,7631648]),new o("es",[2122016,2122593,2122607,2122853,2123116,2123118,2123123,2124142,2124897,2124911,2125921,2125935,2125938,2126197,2126437,2126693,2127214,2128160,6365283,6365284,6365285,6365292,6365296,6382441,6382703,6384672,6386208,6386464,6515187,6516590,6579488,6579564,6582048,6627428,6627429,6627436,6646816,6647328,6647412,6648608,6648692,6907246,6943598,7102752,7106419,7217253,7238757,7282788,7282789,7302688,7303712,7303968,7364978,7435621,7495968,7497075,7544932,7544933,7544944,7562528,7628064,7630624,7693600,15953440]),new o("fr",[2122101,2122607,2122849,2122853,2122869,2123118,2123124,2124897,2124901,2125921,2125935,2125938,2126197,2126693,2126703,2127214,2154528,6385268,6386793,6513952,6516590,6579488,6579571,6583584,6627425,6627427,6627428,6627429,6627436,6627440,6627443,6647328,6647412,6648352,6648608,6648864,6649202,6909806,6910752,6911008,7102752,7103776,7103859,7169390,7217252,7234848,7238432,7238688,7302688,7302772,7304562,7435621,7479404,7496992,7544929,7544932,7544933,7544940,7544944,7610468,7628064,7629167,7693600,7696928]),new o("it",[2122092,2122600,2122607,2122853,2122857,2123040,2124140,2124142,2124897,2125925,2125938,2127214,6365283,6365284,6365296,6365299,6386799,6514789,6516590,6579564,6580512,6627425,6627427,6627428,6627433,6627436,6627440,6627443,6646816,6646892,6647412,6648352,6841632,6889569,6889571,6889572,6889587,6906144,6908960,6909472,6909806,7102752,7103776,7104800,7105633,7234848,7235872,7237408,7238757,7282785,7282788,7282793,7282803,7302688,7302757,7366002,7495968,7496992,7563552,7627040,7628064,7629088,7630624,8022383]),new o("nl",[2122092,2122341,2122849,2122853,2122857,2123109,2123118,2123621,2123877,2124142,2125153,2125157,2125680,2126949,2127457,2127461,2127471,2127717,2128489,6381934,6381938,6385184,6385252,6386208,6386720,6514804,6579488,6579566,6579570,6627426,6627446,6645102,6645106,6647328,6648352,6648435,6648864,6776174,6841716,6907168,6909472,6909543,6910752,7217250,7217252,7217253,7217256,7217263,7217270,7234661,7235360,7302756,7303026,7303200,7303712,7562088,7566437,7610468,7628064,7628142,7628146,7758190,7759218,7761775]),new o("no",[2122100,2122102,2122853,2123118,2123122,2123375,2123873,2124064,2125157,2125671,2126053,2126693,2126699,2126703,2126708,2126953,2127465,2155808,6385252,6386208,6386720,6579488,6579566,6579572,6627443,6644768,6647328,6647397,6648352,6648421,6648864,6648948,6713202,6776174,6908779,6908960,6909543,7038240,7039845,7103776,7105637,7169380,7169390,7217267,7234848,7235360,7235429,7237221,7300896,7302432,7303712,7398688,7479411,7496992,7565165,7566437,7610483,7628064,7628142,7628146,7629164,7631904,7631973,7759218]),new o("pt",[2122016,2122607,2122849,2122853,2122863,2123040,2123123,2125153,2125423,2125600,2125921,2125935,2125938,2126197,2126437,2126693,2127213,6365281,6365283,6365284,6365296,6382693,6382703,6384672,6386208,6386273,6386464,6516589,6516590,6578464,6579488,6582048,6582131,6627425,6627428,6647072,6647412,6648608,6648692,6906144,6906721,7169390,7238757,7238767,7282785,7282787,7282788,7282789,7282800,7303968,7364978,7435621,7495968,7497075,7544929,7544932,7544933,7544944,7566433,7628064,7630624,7693600,14905120,15197039]),new o("sv",[2122100,2122102,2122853,2123118,2123510,2123873,2124064,2124142,2124655,2125157,2125667,2126053,2126699,2126703,2126708,2126953,2127457,2127465,2155634,6382693,6385184,6385252,6386208,6386804,6514720,6579488,6579566,6579570,6579572,6644768,6647328,6648352,6648864,6747762,6776174,6909036,6909543,7037216,7105568,7169380,7217267,7233824,7234661,7235360,7235429,7235950,7299944,7302432,7302688,7398688,7479393,7479411,7495968,7564129,7565165,7610483,7627040,7628064,7628146,7629164,7631904,7758194,14971424,16151072])]},this.name=function(e){return e&&e.fC1Bytes?"windows-1252":"ISO-8859-1"}},r.inherits(e.exports.ISO_8859_1,s),e.exports.ISO_8859_2=function(){this.byteMap=function(){return[32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,177,32,179,32,181,182,32,32,185,186,187,188,32,190,191,32,177,32,179,32,181,182,183,32,185,186,187,188,32,190,191,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,32,248,249,250,251,252,253,254,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,32,248,249,250,251,252,253,254,32]},this.ngrams=function(){return[new o("cs",[2122016,2122361,2122863,2124389,2125409,2125413,2125600,2125668,2125935,2125938,2126072,2126447,2126693,2126703,2126708,2126959,2127392,2127481,2128481,6365296,6513952,6514720,6627440,6627443,6627446,6647072,6647533,6844192,6844260,6910836,6972704,7042149,7103776,7104800,7233824,7268640,7269408,7269664,7282800,7300206,7301737,7304052,7304480,7304801,7368548,7368554,7369327,7403621,7562528,7565173,7566433,7566441,7566446,7628146,7630573,7630624,7676016,12477728,14773997,15296623,15540336,15540339,15559968,16278884]),new o("hu",[2122016,2122106,2122341,2123111,2123116,2123365,2123873,2123887,2124147,2124645,2124649,2124790,2124901,2125153,2125157,2125161,2125413,2126714,2126949,2156915,6365281,6365291,6365293,6365299,6384416,6385184,6388256,6447470,6448494,6645625,6646560,6646816,6646885,6647072,6647328,6648421,6648864,6648933,6648948,6781216,6844263,6909556,6910752,7020641,7075450,7169383,7170414,7217249,7233899,7234923,7234925,7238688,7300985,7544929,7567973,7567988,7568097,7596391,7610465,7631904,7659891,8021362,14773792,15299360]),new o("pl",[2122618,2122863,2124064,2124389,2124655,2125153,2125161,2125409,2125417,2125668,2125935,2125938,2126697,2127648,2127721,2127737,2128416,2128481,6365296,6365303,6385257,6514720,6519397,6519417,6582048,6584937,6627440,6627443,6627447,6627450,6645615,6646304,6647072,6647401,6778656,6906144,6907168,6907242,7037216,7039264,7039333,7170405,7233824,7235937,7235941,7282800,7305057,7305065,7368556,7369313,7369327,7369338,7502437,7502457,7563754,7564137,7566433,7825765,7955304,7957792,8021280,8022373,8026400,15955744]),new o("ro",[2122016,2122083,2122593,2122597,2122607,2122613,2122853,2122857,2124897,2125153,2125925,2125938,2126693,2126819,2127214,2144873,2158190,6365283,6365284,6386277,6386720,6386789,6386976,6513010,6516590,6518048,6546208,6579488,6627425,6627427,6627428,6627440,6627443,6644e3,6646048,6646885,6647412,6648692,6889569,6889571,6889572,6889584,6907168,6908192,6909472,7102752,7103776,7106418,7107945,7234848,7238770,7303712,7365998,7496992,7497057,7501088,7594784,7628064,7631477,7660320,7694624,7695392,12216608,15625760])]},this.name=function(e){return e&&e.fC1Bytes?"windows-1250":"ISO-8859-2"}},r.inherits(e.exports.ISO_8859_2,s),e.exports.ISO_8859_5=function(){this.byteMap=function(){return[32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,241,242,243,244,245,246,247,248,249,250,251,252,32,254,255,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,32,241,242,243,244,245,246,247,248,249,250,251,252,32,254,255]},this.ngrams=function(){return[2150944,2151134,2151646,2152400,2152480,2153168,2153182,2153936,2153941,2154193,2154462,2154464,2154704,2154974,2154978,2155230,2156514,2158050,13688280,13689580,13884960,14015468,14015960,14016994,14017056,14164191,14210336,14211104,14216992,14407133,14407712,14413021,14536736,14538016,14538965,14538991,14540320,14540498,14557394,14557407,14557409,14602784,14602960,14603230,14604576,14605292,14605344,14606818,14671579,14672085,14672088,14672094,14733522,14734804,14803664,14803666,14803672,14806816,14865883,14868e3,14868192,14871584,15196894,15459616]},this.name=function(e){return"ISO-8859-5"},this.language=function(){return"ru"}},r.inherits(e.exports.ISO_8859_5,s),e.exports.ISO_8859_6=function(){this.byteMap=function(){return[32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,32,32,32,32,32,224,225,226,227,228,229,230,231,232,233,234,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32]},this.ngrams=function(){return[2148324,2148326,2148551,2152932,2154986,2155748,2156006,2156743,13050055,13091104,13093408,13095200,13100064,13100227,13100231,13100232,13100234,13100236,13100237,13100239,13100243,13100249,13100258,13100261,13100264,13100266,13100320,13100576,13100746,13115591,13181127,13181153,13181156,13181157,13181160,13246663,13574343,13617440,13705415,13748512,13836487,14229703,14279913,14805536,14950599,14993696,15001888,15002144,15016135,15058720,15059232,15066656,15081671,15147207,15189792,15255524,15263264,15278279,15343815,15343845,15343848,15386912,15388960,15394336]},this.name=function(e){return"ISO-8859-6"},this.language=function(){return"ar"}},r.inherits(e.exports.ISO_8859_6,s),e.exports.ISO_8859_7=function(){this.byteMap=function(){return[32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,161,162,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,220,32,221,222,223,32,252,32,253,254,192,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,32,243,244,245,246,247,248,249,250,251,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,32]},this.ngrams=function(){return[2154989,2154992,2155497,2155753,2156016,2156320,2157281,2157797,2158049,2158368,2158817,2158831,2158833,2159604,2159605,2159847,2159855,14672160,14754017,14754036,14805280,14806304,14807292,14807584,14936545,15067424,15069728,15147252,15199520,15200800,15278324,15327520,15330014,15331872,15393257,15393268,15525152,15540449,15540453,15540464,15589664,15725088,15725856,15790069,15790575,15793184,15868129,15868133,15868138,15868144,15868148,15983904,15984416,15987951,16048416,16048617,16050157,16050162,16050666,16052e3,16052213,16054765,16379168,16706848]},this.name=function(e){return e&&e.fC1Bytes?"windows-1253":"ISO-8859-7"},this.language=function(){return"el"}},r.inherits(e.exports.ISO_8859_7,s),e.exports.ISO_8859_8=function(){this.byteMap=function(){return[32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,181,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,32,32,32,32,32]},this.ngrams=function(){return[new o("he",[2154725,2154727,2154729,2154746,2154985,2154990,2155744,2155749,2155753,2155758,2155762,2155769,2155770,2157792,2157796,2158304,2159340,2161132,14744096,14950624,14950625,14950628,14950636,14950638,14950649,15001056,15065120,15068448,15068960,15071264,15071776,15278308,15328288,15328762,15329773,15330592,15331104,15333408,15333920,15474912,15474916,15523872,15524896,15540448,15540449,15540452,15540460,15540462,15540473,15655968,15671524,15787040,15788320,15788525,15920160,16261348,16312813,16378912,16392416,16392417,16392420,16392428,16392430,16392441]),new o("he",[2154725,2154732,2155753,2155756,2155758,2155760,2157040,2157810,2157817,2158053,2158057,2158565,2158569,2160869,2160873,2161376,2161381,2161385,14688484,14688492,14688493,14688506,14738464,14738916,14740512,14741024,14754020,14754029,14754042,14950628,14950633,14950636,14950637,14950639,14950648,14950650,15002656,15065120,15066144,15196192,15327264,15327520,15328288,15474916,15474925,15474938,15528480,15530272,15591913,15591920,15591928,15605988,15605997,15606010,15655200,15655968,15918112,16326884,16326893,16326906,16376864,16441376,16442400,16442857])]},this.name=function(e){return e&&e.fC1Bytes?"windows-1255":"ISO-8859-8"},this.language=function(){return"he"}},r.inherits(e.exports.ISO_8859_8,s),e.exports.ISO_8859_9=function(){this.byteMap=function(){return[32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,170,32,32,32,32,32,32,32,32,32,32,181,32,32,32,32,186,32,32,32,32,32,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,32,248,249,250,251,252,105,254,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,32,248,249,250,251,252,253,254,255]},this.ngrams=function(){return[2122337,2122345,2122357,2122849,2122853,2123621,2123873,2124140,2124641,2124655,2125153,2125676,2126689,2126945,2127461,2128225,6365282,6384416,6384737,6384993,6385184,6385405,6386208,6386273,6386429,6386685,6388065,6449522,6578464,6579488,6580512,6627426,6627435,6644841,6647328,6648352,6648425,6648681,6909029,6909472,6909545,6910496,7102830,7102834,7103776,7103858,7217249,7217250,7217259,7234657,7234661,7234848,7235872,7235950,7273760,7498094,7535982,7759136,7954720,7958386,16608800,16608868,16609021,16642301]},this.name=function(e){return e&&e.fC1Bytes?"windows-1254":"ISO-8859-9"},this.language=function(){return"tr"}},r.inherits(e.exports.ISO_8859_9,s),e.exports.windows_1251=function(){this.byteMap=function(){return[32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,144,131,32,131,32,32,32,32,32,32,154,32,156,157,158,159,144,32,32,32,32,32,32,32,32,32,154,32,156,157,158,159,32,162,162,188,32,180,32,32,184,32,186,32,32,32,32,191,32,32,179,179,180,181,32,32,184,32,186,32,188,190,190,191,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255]},this.ngrams=function(){return[2155040,2155246,2155758,2156512,2156576,2157280,2157294,2158048,2158053,2158305,2158574,2158576,2158816,2159086,2159090,2159342,2160626,2162162,14740968,14742268,14937632,15068156,15068648,15069682,15069728,15212783,15263008,15263776,15269664,15459821,15460384,15465709,15589408,15590688,15591653,15591679,15592992,15593186,15605986,15605999,15606001,15655456,15655648,15655918,15657248,15657980,15658016,15659506,15724267,15724773,15724776,15724782,15786210,15787492,15856352,15856354,15856360,15859488,15918571,15920672,15920880,15924256,16249582,16512288]},this.name=function(e){return"windows-1251"},this.language=function(){return"ru"}},r.inherits(e.exports.windows_1251,s),e.exports.windows_1256=function(){this.byteMap=function(){return[32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,129,32,131,32,32,32,32,136,32,138,32,156,141,142,143,144,32,32,32,32,32,32,32,152,32,154,32,156,32,32,159,32,32,32,32,32,32,32,32,32,32,170,32,32,32,32,32,32,32,32,32,32,181,32,32,32,32,32,32,32,32,32,32,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,32,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,32,32,32,32,244,32,32,32,32,249,32,251,252,32,32,255]},this.ngrams=function(){return[2148321,2148324,2148551,2153185,2153965,2154977,2155492,2156231,13050055,13091104,13093408,13095200,13099296,13099459,13099463,13099464,13099466,13099468,13099469,13099471,13099475,13099482,13099486,13099491,13099494,13099501,13099808,13100064,13100234,13115591,13181127,13181149,13181153,13181155,13181158,13246663,13574343,13617440,13705415,13748512,13836487,14295239,14344684,14544160,14753991,14797088,14806048,14806304,14885063,14927648,14928160,14935072,14950599,15016135,15058720,15124449,15131680,15474887,15540423,15540451,15540454,15583520,15585568,15590432]},this.name=function(e){return"windows-1256"},this.language=function(){return"ar"}},r.inherits(e.exports.windows_1256,s),e.exports.KOI8_R=function(){this.byteMap=function(){return[32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,163,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,163,32,32,32,32,32,32,32,32,32,32,32,32,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223]},this.ngrams=function(){return[2147535,2148640,2149313,2149327,2150081,2150085,2150338,2150607,2150610,2151105,2151375,2151380,2151631,2152224,2152399,2153153,2153684,2154196,12701385,12702936,12963032,12963529,12964820,12964896,13094688,13181136,13223200,13224224,13226272,13419982,13420832,13424846,13549856,13550880,13552069,13552081,13553440,13553623,13574352,13574355,13574359,13617103,13617696,13618392,13618464,13620180,13621024,13621185,13684684,13685445,13685449,13685455,13812183,13813188,13881632,13882561,13882569,13882583,13944268,13946656,13946834,13948960,14272544,14603471]},this.name=function(e){return"KOI8-R"},this.language=function(){return"ru"}},r.inherits(e.exports.KOI8_R,s)},function(e,t,n){var r=n(6),A=n(110);function i(){}i.prototype.match=function(e){var t,n,r,i,o=0,s=0,a=0,c=e.fInputBytes,u=e.fInputLen;e:for(t=0;t0?r.concat([o,s]):o},i.decode=function(e,t,n){"string"==typeof e&&(i.skipDecodeWarning||(console.error("Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding"),i.skipDecodeWarning=!0),e=r.from(""+(e||""),"binary"));var A=i.getDecoder(t,n),o=A.write(e),s=A.end();return s?o+s:o},i.encodingExists=function(e){try{return i.getCodec(e),!0}catch(e){return!1}},i.toEncoding=i.encode,i.fromEncoding=i.decode,i._codecDataCache={},i.getCodec=function(e){i.encodings||(i.encodings=n(1011));for(var t=i._canonicalizeEncoding(e),r={};;){var A=i._codecDataCache[t];if(A)return A;var o=i.encodings[t];switch(typeof o){case"string":t=o;break;case"object":for(var s in o)r[s]=o[s];r.encodingName||(r.encodingName=t),t=o.type;break;case"function":return r.encodingName||(r.encodingName=t),A=new o(r,i),i._codecDataCache[r.encodingName]=A,A;default:throw new Error("Encoding not recognized: '"+e+"' (searched as: '"+t+"')")}}},i._canonicalizeEncoding=function(e){return(""+e).toLowerCase().replace(/:\d{4}$|[^0-9a-z]/g,"")},i.getEncoder=function(e,t){var n=i.getCodec(e),r=new n.encoder(t,n);return n.bomAware&&t&&t.addBOM&&(r=new A.PrependBOM(r,t)),r},i.getDecoder=function(e,t){var n=i.getCodec(e),r=new n.decoder(t,n);return!n.bomAware||t&&!1===t.stripBOM||(r=new A.StripBOM(r,t)),r};var o="undefined"!=typeof process&&process.versions&&process.versions.node;if(o){var s=o.split(".").map(Number);(s[0]>0||s[1]>=10)&&n(1025)(i),n(1026)(i)}},function(e,t,n){"use strict";function r(e,t){this.encoder=e,this.addBOM=!0}function A(e,t){this.decoder=e,this.pass=!1,this.options=t||{}}t.PrependBOM=r,r.prototype.write=function(e){return this.addBOM&&(e="\ufeff"+e,this.addBOM=!1),this.encoder.write(e)},r.prototype.end=function(){return this.encoder.end()},t.StripBOM=A,A.prototype.write=function(e){var t=this.decoder.write(e);return this.pass||!t?t:("\ufeff"===t[0]&&(t=t.slice(1),"function"==typeof this.options.stripBOM&&this.options.stripBOM()),this.pass=!0,t)},A.prototype.end=function(){return this.decoder.end()}},function(e,t,n){"use strict";for(var r=[n(1012),n(1013),n(1014),n(1015),n(1016),n(1017),n(1018),n(1019)],A=0;A>>6),t[n++]=128+(63&i)):(t[n++]=224+(i>>>12),t[n++]=128+(i>>>6&63),t[n++]=128+(63&i))}return t.slice(0,n)},c.prototype.end=function(){},u.prototype.write=function(e){for(var t=this.acc,n=this.contBytes,r=this.accBytes,A="",i=0;i0&&(A+=this.defaultCharUnicode,n=0),o<128?A+=String.fromCharCode(o):o<224?(t=31&o,n=1,r=1):o<240?(t=15&o,n=2,r=1):A+=this.defaultCharUnicode):n>0?(t=t<<6|63&o,r++,0===--n&&(A+=2===r&&t<128&&t>0?this.defaultCharUnicode:3===r&&t<2048?this.defaultCharUnicode:String.fromCharCode(t))):A+=this.defaultCharUnicode}return this.acc=t,this.contBytes=n,this.accBytes=r,A},u.prototype.end=function(){var e=0;return this.contBytes>0&&(e+=this.defaultCharUnicode),e}},function(e,t,n){"use strict";var r=n(82).Buffer;function A(){}function i(){}function o(){this.overflowByte=-1}function s(e,t){this.iconv=t}function a(e,t){void 0===(e=e||{}).addBOM&&(e.addBOM=!0),this.encoder=t.iconv.getEncoder("utf-16le",e)}function c(e,t){this.decoder=null,this.initialBytes=[],this.initialBytesLen=0,this.options=e||{},this.iconv=t.iconv}function u(e,t){var n=t||"utf-16le";if(e.length>=2)if(254==e[0]&&255==e[1])n="utf-16be";else if(255==e[0]&&254==e[1])n="utf-16le";else{for(var r=0,A=0,i=Math.min(e.length-e.length%2,64),o=0;or?n="utf-16be":A0&&(e=this.iconv.decode(r.from(this.base64Accum,"base64"),"utf16-be")),this.inBase64=!1,this.base64Accum="",e},t.utf7imap=p,p.prototype.encoder=f,p.prototype.decoder=C,p.prototype.bomAware=!0,f.prototype.write=function(e){for(var t=this.inBase64,n=this.base64Accum,A=this.base64AccumIdx,i=r.alloc(5*e.length+10),o=0,s=0;s0&&(o+=i.write(n.slice(0,A).toString("base64").replace(/\//g,",").replace(/=+$/,""),o),A=0),i[o++]=l,t=!1),t||(i[o++]=a,a===h&&(i[o++]=l))):(t||(i[o++]=h,t=!0),t&&(n[A++]=a>>8,n[A++]=255&a,A==n.length&&(o+=i.write(n.toString("base64").replace(/\//g,","),o),A=0)))}return this.inBase64=t,this.base64AccumIdx=A,i.slice(0,o)},f.prototype.end=function(){var e=r.alloc(10),t=0;return this.inBase64&&(this.base64AccumIdx>0&&(t+=e.write(this.base64Accum.slice(0,this.base64AccumIdx).toString("base64").replace(/\//g,",").replace(/=+$/,""),t),this.base64AccumIdx=0),e[t++]=l,this.inBase64=!1),e.slice(0,t)};var d=c.slice();d[",".charCodeAt(0)]=!0,C.prototype.write=function(e){for(var t="",n=0,A=this.inBase64,i=this.base64Accum,o=0;o0&&(e=this.iconv.decode(r.from(this.base64Accum,"base64"),"utf16-be")),this.inBase64=!1,this.base64Accum="",e}},function(e,t,n){"use strict";var r=n(82).Buffer;function A(e,t){if(!e)throw new Error("SBCS codec is called without the data.");if(!e.chars||128!==e.chars.length&&256!==e.chars.length)throw new Error("Encoding '"+e.type+"' has incorrect 'chars' (must be of len 128 or 256)");if(128===e.chars.length){for(var n="",A=0;A<128;A++)n+=String.fromCharCode(A);e.chars=n+e.chars}this.decodeBuf=r.from(e.chars,"ucs2");var i=r.alloc(65536,t.defaultCharSingleByte.charCodeAt(0));for(A=0;A?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~°·∙√▒─│┼┤┬├┴┐┌└┘β∞φ±½¼≈«»ﻷﻸ��ﻻﻼ� ­ﺂ£¤ﺄ��ﺎﺏﺕﺙ،ﺝﺡﺥ٠١٢٣٤٥٦٧٨٩ﻑ؛ﺱﺵﺹ؟¢ﺀﺁﺃﺅﻊﺋﺍﺑﺓﺗﺛﺟﺣﺧﺩﺫﺭﺯﺳﺷﺻﺿﻁﻅﻋﻏ¦¬÷×ﻉـﻓﻗﻛﻟﻣﻧﻫﻭﻯﻳﺽﻌﻎﻍﻡﹽّﻥﻩﻬﻰﻲﻐﻕﻵﻶﻝﻙﻱ■�"},ibm864:"cp864",csibm864:"cp864",cp865:{type:"_sbcs",chars:"ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜø£Ø₧ƒáíóúñѪº¿⌐¬½¼¡«¤░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ "},ibm865:"cp865",csibm865:"cp865",cp866:{type:"_sbcs",chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёЄєЇїЎў°∙·√№¤■ "},ibm866:"cp866",csibm866:"cp866",cp869:{type:"_sbcs",chars:"������Ά�·¬¦‘’Έ―ΉΊΪΌ��ΎΫ©Ώ²³ά£έήίϊΐόύΑΒΓΔΕΖΗ½ΘΙ«»░▒▓│┤ΚΛΜΝ╣║╗╝ΞΟ┐└┴┬├─┼ΠΡ╚╔╩╦╠═╬ΣΤΥΦΧΨΩαβγ┘┌█▄δε▀ζηθικλμνξοπρσςτ΄­±υφχ§ψ΅°¨ωϋΰώ■ "},ibm869:"cp869",csibm869:"cp869",cp922:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®‾°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏŠÑÒÓÔÕÖ×ØÙÚÛÜÝŽßàáâãäåæçèéêëìíîïšñòóôõö÷øùúûüýžÿ"},ibm922:"cp922",csibm922:"cp922",cp1046:{type:"_sbcs",chars:"ﺈ×÷ﹱˆ■│─┐┌└┘ﹹﹻﹽﹿﹷﺊﻰﻳﻲﻎﻏﻐﻶﻸﻺﻼ ¤ﺋﺑﺗﺛﺟﺣ،­ﺧﺳ٠١٢٣٤٥٦٧٨٩ﺷ؛ﺻﺿﻊ؟ﻋءآأؤإئابةتثجحخدذرزسشصضطﻇعغﻌﺂﺄﺎﻓـفقكلمنهوىيًٌٍَُِّْﻗﻛﻟﻵﻷﻹﻻﻣﻧﻬﻩ�"},ibm1046:"cp1046",csibm1046:"cp1046",cp1124:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ЁЂҐЄЅІЇЈЉЊЋЌ­ЎЏАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя№ёђґєѕіїјљњћќ§ўџ"},ibm1124:"cp1124",csibm1124:"cp1124",cp1125:{type:"_sbcs",chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмноп░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀рстуфхцчшщъыьэюяЁёҐґЄєІіЇї·√№¤■ "},ibm1125:"cp1125",csibm1125:"cp1125",cp1129:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§œ©ª«¬­®¯°±²³Ÿµ¶·Œ¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ"},ibm1129:"cp1129",csibm1129:"cp1129",cp1133:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ກຂຄງຈສຊຍດຕຖທນບປຜຝພຟມຢຣລວຫອຮ���ຯະາຳິີຶືຸູຼັົຽ���ເແໂໃໄ່້໊໋໌ໍໆ�ໜໝ₭����������������໐໑໒໓໔໕໖໗໘໙��¢¬¦�"},ibm1133:"cp1133",csibm1133:"cp1133",cp1161:{type:"_sbcs",chars:"��������������������������������่กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู้๊๋€฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛¢¬¦ "},ibm1161:"cp1161",csibm1161:"cp1161",cp1162:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"},ibm1162:"cp1162",csibm1162:"cp1162",cp1163:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£€¥¦§œ©ª«¬­®¯°±²³Ÿµ¶·Œ¹º»¼½¾¿ÀÁÂĂÄÅÆÇÈÉÊË̀ÍÎÏĐÑ̉ÓÔƠÖ×ØÙÚÛÜỮßàáâăäåæçèéêë́íîïđṇ̃óôơö÷øùúûüư₫ÿ"},ibm1163:"cp1163",csibm1163:"cp1163",maccroatian:{type:"_sbcs",chars:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®Š™´¨≠ŽØ∞±≤≥∆µ∂∑∏š∫ªºΩžø¿¡¬√ƒ≈Ć«Č… ÀÃÕŒœĐ—“”‘’÷◊�©⁄¤‹›Æ»–·‚„‰ÂćÁčÈÍÎÏÌÓÔđÒÚÛÙıˆ˜¯πË˚¸Êæˇ"},maccyrillic:{type:"_sbcs",chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°¢£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµ∂ЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤"},macgreek:{type:"_sbcs",chars:"Ĺ²É³ÖÜ΅àâä΄¨çéèê룙î‰ôö¦­ùûü†ΓΔΘΛΞΠß®©ΣΪ§≠°·Α±≤≥¥ΒΕΖΗΙΚΜΦΫΨΩάΝ¬ΟΡ≈Τ«»… ΥΧΆΈœ–―“”‘’÷ΉΊΌΎέήίόΏύαβψδεφγηιξκλμνοπώρστθωςχυζϊϋΐΰ�"},maciceland:{type:"_sbcs",chars:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûüÝ°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤ÐðÞþý·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"},macroman:{type:"_sbcs",chars:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"},macromania:{type:"_sbcs",chars:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ĂŞ∞±≤≥¥µ∂∑∏π∫ªºΩăş¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›Ţţ‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"},macthai:{type:"_sbcs",chars:"«»…“”�•‘’� กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู\ufeff​–—฿เแโใไๅๆ็่้๊๋์ํ™๏๐๑๒๓๔๕๖๗๘๙®©����"},macturkish:{type:"_sbcs",chars:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸĞğİıŞş‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙ�ˆ˜¯˘˙˚¸˝˛ˇ"},macukraine:{type:"_sbcs",chars:"АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ†°Ґ£§•¶І®©™Ђђ≠Ѓѓ∞±≤≥іµґЈЄєЇїЉљЊњјЅ¬√ƒ≈∆«»… ЋћЌќѕ–—“”‘’÷„ЎўЏџ№Ёёяабвгдежзийклмнопрстуфхцчшщъыьэю¤"},koi8r:{type:"_sbcs",chars:"─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ё╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡Ё╢╣╤╥╦╧╨╩╪╫╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"},koi8u:{type:"_sbcs",chars:"─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ёє╔ії╗╘╙╚╛ґ╝╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪Ґ╬©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"},koi8ru:{type:"_sbcs",chars:"─│┌┐└┘├┤┬┴┼▀▄█▌▐░▒▓⌠■∙√≈≤≥ ⌡°²·÷═║╒ёє╔ії╗╘╙╚╛ґў╞╟╠╡ЁЄ╣ІЇ╦╧╨╩╪ҐЎ©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"},koi8t:{type:"_sbcs",chars:"қғ‚Ғ„…†‡�‰ҳ‹ҲҷҶ�Қ‘’“”•–—�™�›�����ӯӮё¤ӣ¦§���«¬­®�°±²Ё�Ӣ¶·�№�»���©юабцдефгхийклмнопярстужвьызшэщчъЮАБЦДЕФГХИЙКЛМНОПЯРСТУЖВЬЫЗШЭЩЧЪ"},armscii8:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ �և։)(»«—.՝,-֊…՜՛՞ԱաԲբԳգԴդԵեԶզԷէԸըԹթԺժԻիԼլԽխԾծԿկՀհՁձՂղՃճՄմՅյՆնՇշՈոՉչՊպՋջՌռՍսՎվՏտՐրՑցՒւՓփՔքՕօՖֆ՚�"},rk1048:{type:"_sbcs",chars:"ЂЃ‚ѓ„…†‡€‰Љ‹ЊҚҺЏђ‘’“”•–—�™љ›њқһџ ҰұӘ¤Ө¦§Ё©Ғ«¬­®Ү°±Ііөµ¶·ё№ғ»әҢңүАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"},tcvn:{type:"_sbcs",chars:"\0ÚỤỪỬỮ\b\t\n\v\f\rỨỰỲỶỸÝỴ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ÀẢÃÁẠẶẬÈẺẼÉẸỆÌỈĨÍỊÒỎÕÓỌỘỜỞỠỚỢÙỦŨ ĂÂÊÔƠƯĐăâêôơưđẶ̀̀̉̃́àảãáạẲằẳẵắẴẮẦẨẪẤỀặầẩẫấậèỂẻẽéẹềểễếệìỉỄẾỒĩíịòỔỏõóọồổỗốộờởỡớợùỖủũúụừửữứựỳỷỹýỵỐ"},georgianacademy:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿აბგდევზთიკლმნოპჟრსტუფქღყშჩცძწჭხჯჰჱჲჳჴჵჶçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},georgianps:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿აბგდევზჱთიკლმნჲოპჟრსტჳუფქღყშჩცძწჭხჴჯჰჵæçèéêëìíîïðñòóôõö÷øùúûüýþÿ"},pt154:{type:"_sbcs",chars:"ҖҒӮғ„…ҶҮҲүҠӢҢҚҺҸҗ‘’“”•–—ҳҷҡӣңқһҹ ЎўЈӨҘҰ§Ё©Ә«¬ӯ®Ҝ°ұІіҙө¶·ё№ә»јҪҫҝАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯабвгдежзийклмнопрстуфхцчшщъыьэюя"},viscii:{type:"_sbcs",chars:"\0ẲẴẪ\b\t\n\v\f\rỶỸỴ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ẠẮẰẶẤẦẨẬẼẸẾỀỂỄỆỐỒỔỖỘỢỚỜỞỊỎỌỈỦŨỤỲÕắằặấầẩậẽẹếềểễệốồổỗỠƠộờởịỰỨỪỬơớƯÀÁÂÃẢĂẳẵÈÉÊẺÌÍĨỳĐứÒÓÔạỷừửÙÚỹỵÝỡưàáâãảăữẫèéêẻìíĩỉđựòóôõỏọụùúũủýợỮ"},iso646cn:{type:"_sbcs",chars:"\0\b\t\n\v\f\r !\"#¥%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������"},iso646jp:{type:"_sbcs",chars:"\0\b\t\n\v\f\r !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[¥]^_`abcdefghijklmnopqrstuvwxyz{|}‾��������������������������������������������������������������������������������������������������������������������������������"},hproman8:{type:"_sbcs",chars:"€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ÀÂÈÊËÎÏ´ˋˆ¨˜ÙÛ₤¯Ýý°ÇçÑñ¡¿¤£¥§ƒ¢âêôûáéóúàèòùäëöüÅîØÆåíøæÄìÖÜÉïßÔÁÃãÐðÍÌÓÒÕõŠšÚŸÿÞþ·µ¶¾—¼½ªº«■»±�"},macintosh:{type:"_sbcs",chars:"ÄÅÇÉÑÖÜáàâäãåçéèêëíìîïñóòôöõúùûü†°¢£§•¶ß®©™´¨≠ÆØ∞±≤≥¥µ∂∑∏π∫ªºΩæø¿¡¬√ƒ≈∆«»… ÀÃÕŒœ–—“”‘’÷◊ÿŸ⁄¤‹›fifl‡·‚„‰ÂÊÁËÈÍÎÏÌÓÔ�ÒÚÛÙıˆ˜¯˘˙˚¸˝˛ˇ"},ascii:{type:"_sbcs",chars:"��������������������������������������������������������������������������������������������������������������������������������"},tis620:{type:"_sbcs",chars:"���������������������������������กขฃคฅฆงจฉชซฌญฎฏฐฑฒณดตถทธนบปผฝพฟภมยรฤลฦวศษสหฬอฮฯะัาำิีึืฺุู����฿เแโใไๅๆ็่้๊๋์ํ๎๏๐๑๒๓๔๕๖๗๘๙๚๛����"}}},function(e,t,n){"use strict";var r=n(82).Buffer;t._dbcs=c;for(var A=-1,i=-2,o=-1e3,s=new Array(256),a=0;a<256;a++)s[a]=A;function c(e,t){if(this.encodingName=e.encodingName,!e)throw new Error("DBCS codec is called without the data.");if(!e.table)throw new Error("Encoding '"+this.encodingName+"' has no data.");var n=e.table();this.decodeTables=[],this.decodeTables[0]=s.slice(0),this.decodeTableSeq=[];for(var r=0;rt)return-1;for(var n=0,r=e.length;n0;e>>=8)t.push(255&e);0==t.length&&t.push(0);for(var n=this.decodeTables[0],r=t.length-1;r>0;r--){var i=n[t[r]];if(i==A)n[t[r]]=o-this.decodeTables.length,this.decodeTables.push(n=s.slice(0));else{if(!(i<=o))throw new Error("Overwrite byte in "+this.encodingName+", addr: "+e.toString(16));n=this.decodeTables[o-i]}}return n},c.prototype._addDecodeChunk=function(e){var t=parseInt(e[0],16),n=this._getDecodeTrieNode(t);t&=255;for(var r=1;r255)throw new Error("Incorrect chunk in "+this.encodingName+" at addr "+e[0]+": too long"+t)},c.prototype._getEncodeBucket=function(e){var t=e>>8;return void 0===this.encodeTable[t]&&(this.encodeTable[t]=s.slice(0)),this.encodeTable[t]},c.prototype._setEncodeChar=function(e,t){var n=this._getEncodeBucket(e),r=255&e;n[r]<=-10?this.encodeTableSeq[-10-n[r]][-1]=t:n[r]==A&&(n[r]=t)},c.prototype._setEncodeSequence=function(e,t){var n,r=e[0],i=this._getEncodeBucket(r),o=255&r;i[o]<=-10?n=this.encodeTableSeq[-10-i[o]]:(n={},i[o]!==A&&(n[-1]=i[o]),i[o]=-10-this.encodeTableSeq.length,this.encodeTableSeq.push(n));for(var s=1;s=0?this._setEncodeChar(i,s):i<=o?this._fillEncodeTable(o-i,s<<8,n):i<=-10&&this._setEncodeSequence(this.decodeTableSeq[-10-i],s))}},u.prototype.write=function(e){for(var t=r.alloc(e.length*(this.gb18030?4:3)),n=this.leadSurrogate,i=this.seqObj,o=-1,s=0,a=0;;){if(-1===o){if(s==e.length)break;var c=e.charCodeAt(s++)}else{c=o;o=-1}if(55296<=c&&c<57344)if(c<56320){if(-1===n){n=c;continue}n=c,c=A}else-1!==n?(c=65536+1024*(n-55296)+(c-56320),n=-1):c=A;else-1!==n&&(o=c,c=A,n=-1);var u=A;if(void 0!==i&&c!=A){var g=i[c];if("object"==typeof g){i=g;continue}"number"==typeof g?u=g:null==g&&void 0!==(g=i[-1])&&(u=g,o=c),i=void 0}else if(c>=0){var h=this.encodeTable[c>>8];if(void 0!==h&&(u=h[255&c]),u<=-10){i=this.encodeTableSeq[-10-u];continue}if(u==A&&this.gb18030){var p=l(this.gb18030.uChars,c);if(-1!=p){u=this.gb18030.gbChars[p]+(c-this.gb18030.uChars[p]);t[a++]=129+Math.floor(u/12600),u%=12600,t[a++]=48+Math.floor(u/1260),u%=1260,t[a++]=129+Math.floor(u/10),u%=10,t[a++]=48+u;continue}}}u===A&&(u=this.defaultCharSingleByte),u<256?t[a++]=u:u<65536?(t[a++]=u>>8,t[a++]=255&u):(t[a++]=u>>16,t[a++]=u>>8&255,t[a++]=255&u)}return this.seqObj=i,this.leadSurrogate=n,t.slice(0,a)},u.prototype.end=function(){if(-1!==this.leadSurrogate||void 0!==this.seqObj){var e=r.alloc(10),t=0;if(this.seqObj){var n=this.seqObj[-1];void 0!==n&&(n<256?e[t++]=n:(e[t++]=n>>8,e[t++]=255&n)),this.seqObj=void 0}return-1!==this.leadSurrogate&&(e[t++]=this.defaultCharSingleByte,this.leadSurrogate=-1),e.slice(0,t)}},u.prototype.findIdx=l,g.prototype.write=function(e){var t=r.alloc(2*e.length),n=this.nodeIdx,s=this.prevBuf,a=this.prevBuf.length,c=-this.prevBuf.length;a>0&&(s=r.concat([s,e.slice(0,10)]));for(var u=0,g=0;u=0?e[u]:s[u+a];if((h=this.decodeTables[n][p])>=0);else if(h===A)u=c,h=this.defaultCharUnicode.charCodeAt(0);else if(h===i){var f=c>=0?e.slice(c,u+1):s.slice(c+a,u+1+a),C=12600*(f[0]-129)+1260*(f[1]-48)+10*(f[2]-129)+(f[3]-48),d=l(this.gb18030.gbChars,C);h=this.gb18030.uChars[d]+C-this.gb18030.gbChars[d]}else{if(h<=o){n=o-h;continue}if(!(h<=-10))throw new Error("iconv-lite internal error: invalid decoding table value "+h+" at "+n+"/"+p);for(var I=this.decodeTableSeq[-10-h],E=0;E>8;h=I[I.length-1]}if(h>65535){h-=65536;var B=55296+Math.floor(h/1024);t[g++]=255&B,t[g++]=B>>8,h=56320+h%1024}t[g++]=255&h,t[g++]=h>>8,n=0,c=u+1}return this.nodeIdx=n,this.prevBuf=c>=0?e.slice(c):s.slice(c+a),t.slice(0,g).toString("ucs2")},g.prototype.end=function(){for(var e="";this.prevBuf.length>0;){e+=this.defaultCharUnicode;var t=this.prevBuf.slice(1);this.prevBuf=r.alloc(0),this.nodeIdx=0,t.length>0&&(e+=this.write(t))}return this.nodeIdx=0,e}},function(e,t,n){"use strict";e.exports={shiftjis:{type:"_dbcs",table:function(){return n(1020)},encodeAdd:{"¥":92,"‾":126},encodeSkipVals:[{from:60736,to:63808}]},csshiftjis:"shiftjis",mskanji:"shiftjis",sjis:"shiftjis",windows31j:"shiftjis",ms31j:"shiftjis",xsjis:"shiftjis",windows932:"shiftjis",ms932:"shiftjis",932:"shiftjis",cp932:"shiftjis",eucjp:{type:"_dbcs",table:function(){return n(1021)},encodeAdd:{"¥":92,"‾":126}},gb2312:"cp936",gb231280:"cp936",gb23121980:"cp936",csgb2312:"cp936",csiso58gb231280:"cp936",euccn:"cp936",windows936:"cp936",ms936:"cp936",936:"cp936",cp936:{type:"_dbcs",table:function(){return n(244)}},gbk:{type:"_dbcs",table:function(){return n(244).concat(n(403))}},xgbk:"gbk",isoir58:"gbk",gb18030:{type:"_dbcs",table:function(){return n(244).concat(n(403))},gb18030:function(){return n(1022)},encodeSkipVals:[128],encodeAdd:{"€":41699}},chinese:"gb18030",windows949:"cp949",ms949:"cp949",949:"cp949",cp949:{type:"_dbcs",table:function(){return n(1023)}},cseuckr:"cp949",csksc56011987:"cp949",euckr:"cp949",isoir149:"cp949",korean:"cp949",ksc56011987:"cp949",ksc56011989:"cp949",ksc5601:"cp949",windows950:"cp950",ms950:"cp950",950:"cp950",cp950:{type:"_dbcs",table:function(){return n(404)}},big5:"big5hkscs",big5hkscs:{type:"_dbcs",table:function(){return n(404).concat(n(1024))},encodeSkipVals:[41676]},cnbig5:"big5hkscs",csbig5:"big5hkscs",xxbig5:"big5hkscs"}},function(e){e.exports=JSON.parse('[["0","\\u0000",128],["a1","。",62],["8140"," 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥‘’“”()〔〕[]{}〈",9,"+-±×"],["8180","÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇◆□■△▲▽▼※〒→←↑↓〓"],["81b8","∈∋⊆⊇⊂⊃∪∩"],["81c8","∧∨¬⇒⇔∀∃"],["81da","∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬"],["81f0","ʼn♯♭♪†‡¶"],["81fc","◯"],["824f","0",9],["8260","A",25],["8281","a",25],["829f","ぁ",82],["8340","ァ",62],["8380","ム",22],["839f","Α",16,"Σ",6],["83bf","α",16,"σ",6],["8440","А",5,"ЁЖ",25],["8470","а",5,"ёж",7],["8480","о",17],["849f","─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂"],["8740","①",19,"Ⅰ",9],["875f","㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡"],["877e","㍻"],["8780","〝〟№㏍℡㊤",4,"㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪"],["889f","亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭"],["8940","院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円"],["8980","園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改"],["8a40","魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫"],["8a80","橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄"],["8b40","機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救"],["8b80","朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈"],["8c40","掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨"],["8c80","劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向"],["8d40","后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降"],["8d80","項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷"],["8e40","察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止"],["8e80","死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周"],["8f40","宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳"],["8f80","準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾"],["9040","拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨"],["9080","逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線"],["9140","繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻"],["9180","操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只"],["9240","叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄"],["9280","逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓"],["9340","邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬"],["9380","凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入"],["9440","如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅"],["9480","楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美"],["9540","鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷"],["9580","斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋"],["9640","法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆"],["9680","摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒"],["9740","諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲"],["9780","沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯"],["9840","蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕"],["989f","弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲"],["9940","僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭"],["9980","凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨"],["9a40","咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸"],["9a80","噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩"],["9b40","奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀"],["9b80","它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏"],["9c40","廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠"],["9c80","怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛"],["9d40","戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫"],["9d80","捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼"],["9e40","曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎"],["9e80","梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣"],["9f40","檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯"],["9f80","麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌"],["e040","漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝"],["e080","烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱"],["e140","瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿"],["e180","痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬"],["e240","磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰"],["e280","窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆"],["e340","紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷"],["e380","縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋"],["e440","隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤"],["e480","艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈"],["e540","蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬"],["e580","蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞"],["e640","襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧"],["e680","諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊"],["e740","蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜"],["e780","轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮"],["e840","錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙"],["e880","閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰"],["e940","顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃"],["e980","騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈"],["ea40","鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯"],["ea80","黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠堯槇遙瑤凜熙"],["ed40","纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏"],["ed80","塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱"],["ee40","犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙"],["ee80","蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"],["eeef","ⅰ",9,"¬¦'""],["f040","",62],["f080","",124],["f140","",62],["f180","",124],["f240","",62],["f280","",124],["f340","",62],["f380","",124],["f440","",62],["f480","",124],["f540","",62],["f580","",124],["f640","",62],["f680","",124],["f740","",62],["f780","",124],["f840","",62],["f880","",124],["f940",""],["fa40","ⅰ",9,"Ⅰ",9,"¬¦'"㈱№℡∵纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊"],["fa80","兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯"],["fb40","涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神"],["fb80","祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙"],["fc40","髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"]]')},function(e){e.exports=JSON.parse('[["0","\\u0000",127],["8ea1","。",62],["a1a1"," 、。,.・:;?!゛゜´`¨^ ̄_ヽヾゝゞ〃仝々〆〇ー―‐/\~∥|…‥‘’“”()〔〕[]{}〈",9,"+-±×÷=≠<>≦≧∞∴♂♀°′″℃¥$¢£%#&*@§☆★○●◎◇"],["a2a1","◆□■△▲▽▼※〒→←↑↓〓"],["a2ba","∈∋⊆⊇⊂⊃∪∩"],["a2ca","∧∨¬⇒⇔∀∃"],["a2dc","∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬"],["a2f2","ʼn♯♭♪†‡¶"],["a2fe","◯"],["a3b0","0",9],["a3c1","A",25],["a3e1","a",25],["a4a1","ぁ",82],["a5a1","ァ",85],["a6a1","Α",16,"Σ",6],["a6c1","α",16,"σ",6],["a7a1","А",5,"ЁЖ",25],["a7d1","а",5,"ёж",25],["a8a1","─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂"],["ada1","①",19,"Ⅰ",9],["adc0","㍉㌔㌢㍍㌘㌧㌃㌶㍑㍗㌍㌦㌣㌫㍊㌻㎜㎝㎞㎎㎏㏄㎡"],["addf","㍻〝〟№㏍℡㊤",4,"㈱㈲㈹㍾㍽㍼≒≡∫∮∑√⊥∠∟⊿∵∩∪"],["b0a1","亜唖娃阿哀愛挨姶逢葵茜穐悪握渥旭葦芦鯵梓圧斡扱宛姐虻飴絢綾鮎或粟袷安庵按暗案闇鞍杏以伊位依偉囲夷委威尉惟意慰易椅為畏異移維緯胃萎衣謂違遺医井亥域育郁磯一壱溢逸稲茨芋鰯允印咽員因姻引飲淫胤蔭"],["b1a1","院陰隠韻吋右宇烏羽迂雨卯鵜窺丑碓臼渦嘘唄欝蔚鰻姥厩浦瓜閏噂云運雲荏餌叡営嬰影映曳栄永泳洩瑛盈穎頴英衛詠鋭液疫益駅悦謁越閲榎厭円園堰奄宴延怨掩援沿演炎焔煙燕猿縁艶苑薗遠鉛鴛塩於汚甥凹央奥往応"],["b2a1","押旺横欧殴王翁襖鴬鴎黄岡沖荻億屋憶臆桶牡乙俺卸恩温穏音下化仮何伽価佳加可嘉夏嫁家寡科暇果架歌河火珂禍禾稼箇花苛茄荷華菓蝦課嘩貨迦過霞蚊俄峨我牙画臥芽蛾賀雅餓駕介会解回塊壊廻快怪悔恢懐戒拐改"],["b3a1","魁晦械海灰界皆絵芥蟹開階貝凱劾外咳害崖慨概涯碍蓋街該鎧骸浬馨蛙垣柿蛎鈎劃嚇各廓拡撹格核殻獲確穫覚角赫較郭閣隔革学岳楽額顎掛笠樫橿梶鰍潟割喝恰括活渇滑葛褐轄且鰹叶椛樺鞄株兜竃蒲釜鎌噛鴨栢茅萱"],["b4a1","粥刈苅瓦乾侃冠寒刊勘勧巻喚堪姦完官寛干幹患感慣憾換敢柑桓棺款歓汗漢澗潅環甘監看竿管簡緩缶翰肝艦莞観諌貫還鑑間閑関陥韓館舘丸含岸巌玩癌眼岩翫贋雁頑顔願企伎危喜器基奇嬉寄岐希幾忌揮机旗既期棋棄"],["b5a1","機帰毅気汽畿祈季稀紀徽規記貴起軌輝飢騎鬼亀偽儀妓宜戯技擬欺犠疑祇義蟻誼議掬菊鞠吉吃喫桔橘詰砧杵黍却客脚虐逆丘久仇休及吸宮弓急救朽求汲泣灸球究窮笈級糾給旧牛去居巨拒拠挙渠虚許距鋸漁禦魚亨享京"],["b6a1","供侠僑兇競共凶協匡卿叫喬境峡強彊怯恐恭挟教橋況狂狭矯胸脅興蕎郷鏡響饗驚仰凝尭暁業局曲極玉桐粁僅勤均巾錦斤欣欽琴禁禽筋緊芹菌衿襟謹近金吟銀九倶句区狗玖矩苦躯駆駈駒具愚虞喰空偶寓遇隅串櫛釧屑屈"],["b7a1","掘窟沓靴轡窪熊隈粂栗繰桑鍬勲君薫訓群軍郡卦袈祁係傾刑兄啓圭珪型契形径恵慶慧憩掲携敬景桂渓畦稽系経継繋罫茎荊蛍計詣警軽頚鶏芸迎鯨劇戟撃激隙桁傑欠決潔穴結血訣月件倹倦健兼券剣喧圏堅嫌建憲懸拳捲"],["b8a1","検権牽犬献研硯絹県肩見謙賢軒遣鍵険顕験鹸元原厳幻弦減源玄現絃舷言諺限乎個古呼固姑孤己庫弧戸故枯湖狐糊袴股胡菰虎誇跨鈷雇顧鼓五互伍午呉吾娯後御悟梧檎瑚碁語誤護醐乞鯉交佼侯候倖光公功効勾厚口向"],["b9a1","后喉坑垢好孔孝宏工巧巷幸広庚康弘恒慌抗拘控攻昂晃更杭校梗構江洪浩港溝甲皇硬稿糠紅紘絞綱耕考肯肱腔膏航荒行衡講貢購郊酵鉱砿鋼閤降項香高鴻剛劫号合壕拷濠豪轟麹克刻告国穀酷鵠黒獄漉腰甑忽惚骨狛込"],["baa1","此頃今困坤墾婚恨懇昏昆根梱混痕紺艮魂些佐叉唆嵯左差査沙瑳砂詐鎖裟坐座挫債催再最哉塞妻宰彩才採栽歳済災采犀砕砦祭斎細菜裁載際剤在材罪財冴坂阪堺榊肴咲崎埼碕鷺作削咋搾昨朔柵窄策索錯桜鮭笹匙冊刷"],["bba1","察拶撮擦札殺薩雑皐鯖捌錆鮫皿晒三傘参山惨撒散桟燦珊産算纂蚕讃賛酸餐斬暫残仕仔伺使刺司史嗣四士始姉姿子屍市師志思指支孜斯施旨枝止死氏獅祉私糸紙紫肢脂至視詞詩試誌諮資賜雌飼歯事似侍児字寺慈持時"],["bca1","次滋治爾璽痔磁示而耳自蒔辞汐鹿式識鴫竺軸宍雫七叱執失嫉室悉湿漆疾質実蔀篠偲柴芝屡蕊縞舎写射捨赦斜煮社紗者謝車遮蛇邪借勺尺杓灼爵酌釈錫若寂弱惹主取守手朱殊狩珠種腫趣酒首儒受呪寿授樹綬需囚収周"],["bda1","宗就州修愁拾洲秀秋終繍習臭舟蒐衆襲讐蹴輯週酋酬集醜什住充十従戎柔汁渋獣縦重銃叔夙宿淑祝縮粛塾熟出術述俊峻春瞬竣舜駿准循旬楯殉淳準潤盾純巡遵醇順処初所暑曙渚庶緒署書薯藷諸助叙女序徐恕鋤除傷償"],["bea1","勝匠升召哨商唱嘗奨妾娼宵将小少尚庄床廠彰承抄招掌捷昇昌昭晶松梢樟樵沼消渉湘焼焦照症省硝礁祥称章笑粧紹肖菖蒋蕉衝裳訟証詔詳象賞醤鉦鍾鐘障鞘上丈丞乗冗剰城場壌嬢常情擾条杖浄状畳穣蒸譲醸錠嘱埴飾"],["bfa1","拭植殖燭織職色触食蝕辱尻伸信侵唇娠寝審心慎振新晋森榛浸深申疹真神秦紳臣芯薪親診身辛進針震人仁刃塵壬尋甚尽腎訊迅陣靭笥諏須酢図厨逗吹垂帥推水炊睡粋翠衰遂酔錐錘随瑞髄崇嵩数枢趨雛据杉椙菅頗雀裾"],["c0a1","澄摺寸世瀬畝是凄制勢姓征性成政整星晴棲栖正清牲生盛精聖声製西誠誓請逝醒青静斉税脆隻席惜戚斥昔析石積籍績脊責赤跡蹟碩切拙接摂折設窃節説雪絶舌蝉仙先千占宣専尖川戦扇撰栓栴泉浅洗染潜煎煽旋穿箭線"],["c1a1","繊羨腺舛船薦詮賎践選遷銭銑閃鮮前善漸然全禅繕膳糎噌塑岨措曾曽楚狙疏疎礎祖租粗素組蘇訴阻遡鼠僧創双叢倉喪壮奏爽宋層匝惣想捜掃挿掻操早曹巣槍槽漕燥争痩相窓糟総綜聡草荘葬蒼藻装走送遭鎗霜騒像増憎"],["c2a1","臓蔵贈造促側則即息捉束測足速俗属賊族続卒袖其揃存孫尊損村遜他多太汰詑唾堕妥惰打柁舵楕陀駄騨体堆対耐岱帯待怠態戴替泰滞胎腿苔袋貸退逮隊黛鯛代台大第醍題鷹滝瀧卓啄宅托択拓沢濯琢託鐸濁諾茸凧蛸只"],["c3a1","叩但達辰奪脱巽竪辿棚谷狸鱈樽誰丹単嘆坦担探旦歎淡湛炭短端箪綻耽胆蛋誕鍛団壇弾断暖檀段男談値知地弛恥智池痴稚置致蜘遅馳築畜竹筑蓄逐秩窒茶嫡着中仲宙忠抽昼柱注虫衷註酎鋳駐樗瀦猪苧著貯丁兆凋喋寵"],["c4a1","帖帳庁弔張彫徴懲挑暢朝潮牒町眺聴脹腸蝶調諜超跳銚長頂鳥勅捗直朕沈珍賃鎮陳津墜椎槌追鎚痛通塚栂掴槻佃漬柘辻蔦綴鍔椿潰坪壷嬬紬爪吊釣鶴亭低停偵剃貞呈堤定帝底庭廷弟悌抵挺提梯汀碇禎程締艇訂諦蹄逓"],["c5a1","邸鄭釘鼎泥摘擢敵滴的笛適鏑溺哲徹撤轍迭鉄典填天展店添纏甜貼転顛点伝殿澱田電兎吐堵塗妬屠徒斗杜渡登菟賭途都鍍砥砺努度土奴怒倒党冬凍刀唐塔塘套宕島嶋悼投搭東桃梼棟盗淘湯涛灯燈当痘祷等答筒糖統到"],["c6a1","董蕩藤討謄豆踏逃透鐙陶頭騰闘働動同堂導憧撞洞瞳童胴萄道銅峠鴇匿得徳涜特督禿篤毒独読栃橡凸突椴届鳶苫寅酉瀞噸屯惇敦沌豚遁頓呑曇鈍奈那内乍凪薙謎灘捺鍋楢馴縄畷南楠軟難汝二尼弐迩匂賑肉虹廿日乳入"],["c7a1","如尿韮任妊忍認濡禰祢寧葱猫熱年念捻撚燃粘乃廼之埜嚢悩濃納能脳膿農覗蚤巴把播覇杷波派琶破婆罵芭馬俳廃拝排敗杯盃牌背肺輩配倍培媒梅楳煤狽買売賠陪這蝿秤矧萩伯剥博拍柏泊白箔粕舶薄迫曝漠爆縛莫駁麦"],["c8a1","函箱硲箸肇筈櫨幡肌畑畠八鉢溌発醗髪伐罰抜筏閥鳩噺塙蛤隼伴判半反叛帆搬斑板氾汎版犯班畔繁般藩販範釆煩頒飯挽晩番盤磐蕃蛮匪卑否妃庇彼悲扉批披斐比泌疲皮碑秘緋罷肥被誹費避非飛樋簸備尾微枇毘琵眉美"],["c9a1","鼻柊稗匹疋髭彦膝菱肘弼必畢筆逼桧姫媛紐百謬俵彪標氷漂瓢票表評豹廟描病秒苗錨鋲蒜蛭鰭品彬斌浜瀕貧賓頻敏瓶不付埠夫婦富冨布府怖扶敷斧普浮父符腐膚芙譜負賦赴阜附侮撫武舞葡蕪部封楓風葺蕗伏副復幅服"],["caa1","福腹複覆淵弗払沸仏物鮒分吻噴墳憤扮焚奮粉糞紛雰文聞丙併兵塀幣平弊柄並蔽閉陛米頁僻壁癖碧別瞥蔑箆偏変片篇編辺返遍便勉娩弁鞭保舗鋪圃捕歩甫補輔穂募墓慕戊暮母簿菩倣俸包呆報奉宝峰峯崩庖抱捧放方朋"],["cba1","法泡烹砲縫胞芳萌蓬蜂褒訪豊邦鋒飽鳳鵬乏亡傍剖坊妨帽忘忙房暴望某棒冒紡肪膨謀貌貿鉾防吠頬北僕卜墨撲朴牧睦穆釦勃没殆堀幌奔本翻凡盆摩磨魔麻埋妹昧枚毎哩槙幕膜枕鮪柾鱒桝亦俣又抹末沫迄侭繭麿万慢満"],["cca1","漫蔓味未魅巳箕岬密蜜湊蓑稔脈妙粍民眠務夢無牟矛霧鵡椋婿娘冥名命明盟迷銘鳴姪牝滅免棉綿緬面麺摸模茂妄孟毛猛盲網耗蒙儲木黙目杢勿餅尤戻籾貰問悶紋門匁也冶夜爺耶野弥矢厄役約薬訳躍靖柳薮鑓愉愈油癒"],["cda1","諭輸唯佑優勇友宥幽悠憂揖有柚湧涌猶猷由祐裕誘遊邑郵雄融夕予余与誉輿預傭幼妖容庸揚揺擁曜楊様洋溶熔用窯羊耀葉蓉要謡踊遥陽養慾抑欲沃浴翌翼淀羅螺裸来莱頼雷洛絡落酪乱卵嵐欄濫藍蘭覧利吏履李梨理璃"],["cea1","痢裏裡里離陸律率立葎掠略劉流溜琉留硫粒隆竜龍侶慮旅虜了亮僚両凌寮料梁涼猟療瞭稜糧良諒遼量陵領力緑倫厘林淋燐琳臨輪隣鱗麟瑠塁涙累類令伶例冷励嶺怜玲礼苓鈴隷零霊麗齢暦歴列劣烈裂廉恋憐漣煉簾練聯"],["cfa1","蓮連錬呂魯櫓炉賂路露労婁廊弄朗楼榔浪漏牢狼篭老聾蝋郎六麓禄肋録論倭和話歪賄脇惑枠鷲亙亘鰐詫藁蕨椀湾碗腕"],["d0a1","弌丐丕个丱丶丼丿乂乖乘亂亅豫亊舒弍于亞亟亠亢亰亳亶从仍仄仆仂仗仞仭仟价伉佚估佛佝佗佇佶侈侏侘佻佩佰侑佯來侖儘俔俟俎俘俛俑俚俐俤俥倚倨倔倪倥倅伜俶倡倩倬俾俯們倆偃假會偕偐偈做偖偬偸傀傚傅傴傲"],["d1a1","僉僊傳僂僖僞僥僭僣僮價僵儉儁儂儖儕儔儚儡儺儷儼儻儿兀兒兌兔兢竸兩兪兮冀冂囘册冉冏冑冓冕冖冤冦冢冩冪冫决冱冲冰况冽凅凉凛几處凩凭凰凵凾刄刋刔刎刧刪刮刳刹剏剄剋剌剞剔剪剴剩剳剿剽劍劔劒剱劈劑辨"],["d2a1","辧劬劭劼劵勁勍勗勞勣勦飭勠勳勵勸勹匆匈甸匍匐匏匕匚匣匯匱匳匸區卆卅丗卉卍凖卞卩卮夘卻卷厂厖厠厦厥厮厰厶參簒雙叟曼燮叮叨叭叺吁吽呀听吭吼吮吶吩吝呎咏呵咎呟呱呷呰咒呻咀呶咄咐咆哇咢咸咥咬哄哈咨"],["d3a1","咫哂咤咾咼哘哥哦唏唔哽哮哭哺哢唹啀啣啌售啜啅啖啗唸唳啝喙喀咯喊喟啻啾喘喞單啼喃喩喇喨嗚嗅嗟嗄嗜嗤嗔嘔嗷嘖嗾嗽嘛嗹噎噐營嘴嘶嘲嘸噫噤嘯噬噪嚆嚀嚊嚠嚔嚏嚥嚮嚶嚴囂嚼囁囃囀囈囎囑囓囗囮囹圀囿圄圉"],["d4a1","圈國圍圓團圖嗇圜圦圷圸坎圻址坏坩埀垈坡坿垉垓垠垳垤垪垰埃埆埔埒埓堊埖埣堋堙堝塲堡塢塋塰毀塒堽塹墅墹墟墫墺壞墻墸墮壅壓壑壗壙壘壥壜壤壟壯壺壹壻壼壽夂夊夐夛梦夥夬夭夲夸夾竒奕奐奎奚奘奢奠奧奬奩"],["d5a1","奸妁妝佞侫妣妲姆姨姜妍姙姚娥娟娑娜娉娚婀婬婉娵娶婢婪媚媼媾嫋嫂媽嫣嫗嫦嫩嫖嫺嫻嬌嬋嬖嬲嫐嬪嬶嬾孃孅孀孑孕孚孛孥孩孰孳孵學斈孺宀它宦宸寃寇寉寔寐寤實寢寞寥寫寰寶寳尅將專對尓尠尢尨尸尹屁屆屎屓"],["d6a1","屐屏孱屬屮乢屶屹岌岑岔妛岫岻岶岼岷峅岾峇峙峩峽峺峭嶌峪崋崕崗嵜崟崛崑崔崢崚崙崘嵌嵒嵎嵋嵬嵳嵶嶇嶄嶂嶢嶝嶬嶮嶽嶐嶷嶼巉巍巓巒巖巛巫已巵帋帚帙帑帛帶帷幄幃幀幎幗幔幟幢幤幇幵并幺麼广庠廁廂廈廐廏"],["d7a1","廖廣廝廚廛廢廡廨廩廬廱廳廰廴廸廾弃弉彝彜弋弑弖弩弭弸彁彈彌彎弯彑彖彗彙彡彭彳彷徃徂彿徊很徑徇從徙徘徠徨徭徼忖忻忤忸忱忝悳忿怡恠怙怐怩怎怱怛怕怫怦怏怺恚恁恪恷恟恊恆恍恣恃恤恂恬恫恙悁悍惧悃悚"],["d8a1","悄悛悖悗悒悧悋惡悸惠惓悴忰悽惆悵惘慍愕愆惶惷愀惴惺愃愡惻惱愍愎慇愾愨愧慊愿愼愬愴愽慂慄慳慷慘慙慚慫慴慯慥慱慟慝慓慵憙憖憇憬憔憚憊憑憫憮懌懊應懷懈懃懆憺懋罹懍懦懣懶懺懴懿懽懼懾戀戈戉戍戌戔戛"],["d9a1","戞戡截戮戰戲戳扁扎扞扣扛扠扨扼抂抉找抒抓抖拔抃抔拗拑抻拏拿拆擔拈拜拌拊拂拇抛拉挌拮拱挧挂挈拯拵捐挾捍搜捏掖掎掀掫捶掣掏掉掟掵捫捩掾揩揀揆揣揉插揶揄搖搴搆搓搦搶攝搗搨搏摧摯摶摎攪撕撓撥撩撈撼"],["daa1","據擒擅擇撻擘擂擱擧舉擠擡抬擣擯攬擶擴擲擺攀擽攘攜攅攤攣攫攴攵攷收攸畋效敖敕敍敘敞敝敲數斂斃變斛斟斫斷旃旆旁旄旌旒旛旙无旡旱杲昊昃旻杳昵昶昴昜晏晄晉晁晞晝晤晧晨晟晢晰暃暈暎暉暄暘暝曁暹曉暾暼"],["dba1","曄暸曖曚曠昿曦曩曰曵曷朏朖朞朦朧霸朮朿朶杁朸朷杆杞杠杙杣杤枉杰枩杼杪枌枋枦枡枅枷柯枴柬枳柩枸柤柞柝柢柮枹柎柆柧檜栞框栩桀桍栲桎梳栫桙档桷桿梟梏梭梔條梛梃檮梹桴梵梠梺椏梍桾椁棊椈棘椢椦棡椌棍"],["dca1","棔棧棕椶椒椄棗棣椥棹棠棯椨椪椚椣椡棆楹楷楜楸楫楔楾楮椹楴椽楙椰楡楞楝榁楪榲榮槐榿槁槓榾槎寨槊槝榻槃榧樮榑榠榜榕榴槞槨樂樛槿權槹槲槧樅榱樞槭樔槫樊樒櫁樣樓橄樌橲樶橸橇橢橙橦橈樸樢檐檍檠檄檢檣"],["dda1","檗蘗檻櫃櫂檸檳檬櫞櫑櫟檪櫚櫪櫻欅蘖櫺欒欖鬱欟欸欷盜欹飮歇歃歉歐歙歔歛歟歡歸歹歿殀殄殃殍殘殕殞殤殪殫殯殲殱殳殷殼毆毋毓毟毬毫毳毯麾氈氓气氛氤氣汞汕汢汪沂沍沚沁沛汾汨汳沒沐泄泱泓沽泗泅泝沮沱沾"],["dea1","沺泛泯泙泪洟衍洶洫洽洸洙洵洳洒洌浣涓浤浚浹浙涎涕濤涅淹渕渊涵淇淦涸淆淬淞淌淨淒淅淺淙淤淕淪淮渭湮渮渙湲湟渾渣湫渫湶湍渟湃渺湎渤滿渝游溂溪溘滉溷滓溽溯滄溲滔滕溏溥滂溟潁漑灌滬滸滾漿滲漱滯漲滌"],["dfa1","漾漓滷澆潺潸澁澀潯潛濳潭澂潼潘澎澑濂潦澳澣澡澤澹濆澪濟濕濬濔濘濱濮濛瀉瀋濺瀑瀁瀏濾瀛瀚潴瀝瀘瀟瀰瀾瀲灑灣炙炒炯烱炬炸炳炮烟烋烝烙焉烽焜焙煥煕熈煦煢煌煖煬熏燻熄熕熨熬燗熹熾燒燉燔燎燠燬燧燵燼"],["e0a1","燹燿爍爐爛爨爭爬爰爲爻爼爿牀牆牋牘牴牾犂犁犇犒犖犢犧犹犲狃狆狄狎狒狢狠狡狹狷倏猗猊猜猖猝猴猯猩猥猾獎獏默獗獪獨獰獸獵獻獺珈玳珎玻珀珥珮珞璢琅瑯琥珸琲琺瑕琿瑟瑙瑁瑜瑩瑰瑣瑪瑶瑾璋璞璧瓊瓏瓔珱"],["e1a1","瓠瓣瓧瓩瓮瓲瓰瓱瓸瓷甄甃甅甌甎甍甕甓甞甦甬甼畄畍畊畉畛畆畚畩畤畧畫畭畸當疆疇畴疊疉疂疔疚疝疥疣痂疳痃疵疽疸疼疱痍痊痒痙痣痞痾痿痼瘁痰痺痲痳瘋瘍瘉瘟瘧瘠瘡瘢瘤瘴瘰瘻癇癈癆癜癘癡癢癨癩癪癧癬癰"],["e2a1","癲癶癸發皀皃皈皋皎皖皓皙皚皰皴皸皹皺盂盍盖盒盞盡盥盧盪蘯盻眈眇眄眩眤眞眥眦眛眷眸睇睚睨睫睛睥睿睾睹瞎瞋瞑瞠瞞瞰瞶瞹瞿瞼瞽瞻矇矍矗矚矜矣矮矼砌砒礦砠礪硅碎硴碆硼碚碌碣碵碪碯磑磆磋磔碾碼磅磊磬"],["e3a1","磧磚磽磴礇礒礑礙礬礫祀祠祗祟祚祕祓祺祿禊禝禧齋禪禮禳禹禺秉秕秧秬秡秣稈稍稘稙稠稟禀稱稻稾稷穃穗穉穡穢穩龝穰穹穽窈窗窕窘窖窩竈窰窶竅竄窿邃竇竊竍竏竕竓站竚竝竡竢竦竭竰笂笏笊笆笳笘笙笞笵笨笶筐"],["e4a1","筺笄筍笋筌筅筵筥筴筧筰筱筬筮箝箘箟箍箜箚箋箒箏筝箙篋篁篌篏箴篆篝篩簑簔篦篥籠簀簇簓篳篷簗簍篶簣簧簪簟簷簫簽籌籃籔籏籀籐籘籟籤籖籥籬籵粃粐粤粭粢粫粡粨粳粲粱粮粹粽糀糅糂糘糒糜糢鬻糯糲糴糶糺紆"],["e5a1","紂紜紕紊絅絋紮紲紿紵絆絳絖絎絲絨絮絏絣經綉絛綏絽綛綺綮綣綵緇綽綫總綢綯緜綸綟綰緘緝緤緞緻緲緡縅縊縣縡縒縱縟縉縋縢繆繦縻縵縹繃縷縲縺繧繝繖繞繙繚繹繪繩繼繻纃緕繽辮繿纈纉續纒纐纓纔纖纎纛纜缸缺"],["e6a1","罅罌罍罎罐网罕罔罘罟罠罨罩罧罸羂羆羃羈羇羌羔羞羝羚羣羯羲羹羮羶羸譱翅翆翊翕翔翡翦翩翳翹飜耆耄耋耒耘耙耜耡耨耿耻聊聆聒聘聚聟聢聨聳聲聰聶聹聽聿肄肆肅肛肓肚肭冐肬胛胥胙胝胄胚胖脉胯胱脛脩脣脯腋"],["e7a1","隋腆脾腓腑胼腱腮腥腦腴膃膈膊膀膂膠膕膤膣腟膓膩膰膵膾膸膽臀臂膺臉臍臑臙臘臈臚臟臠臧臺臻臾舁舂舅與舊舍舐舖舩舫舸舳艀艙艘艝艚艟艤艢艨艪艫舮艱艷艸艾芍芒芫芟芻芬苡苣苟苒苴苳苺莓范苻苹苞茆苜茉苙"],["e8a1","茵茴茖茲茱荀茹荐荅茯茫茗茘莅莚莪莟莢莖茣莎莇莊荼莵荳荵莠莉莨菴萓菫菎菽萃菘萋菁菷萇菠菲萍萢萠莽萸蔆菻葭萪萼蕚蒄葷葫蒭葮蒂葩葆萬葯葹萵蓊葢蒹蒿蒟蓙蓍蒻蓚蓐蓁蓆蓖蒡蔡蓿蓴蔗蔘蔬蔟蔕蔔蓼蕀蕣蕘蕈"],["e9a1","蕁蘂蕋蕕薀薤薈薑薊薨蕭薔薛藪薇薜蕷蕾薐藉薺藏薹藐藕藝藥藜藹蘊蘓蘋藾藺蘆蘢蘚蘰蘿虍乕虔號虧虱蚓蚣蚩蚪蚋蚌蚶蚯蛄蛆蚰蛉蠣蚫蛔蛞蛩蛬蛟蛛蛯蜒蜆蜈蜀蜃蛻蜑蜉蜍蛹蜊蜴蜿蜷蜻蜥蜩蜚蝠蝟蝸蝌蝎蝴蝗蝨蝮蝙"],["eaa1","蝓蝣蝪蠅螢螟螂螯蟋螽蟀蟐雖螫蟄螳蟇蟆螻蟯蟲蟠蠏蠍蟾蟶蟷蠎蟒蠑蠖蠕蠢蠡蠱蠶蠹蠧蠻衄衂衒衙衞衢衫袁衾袞衵衽袵衲袂袗袒袮袙袢袍袤袰袿袱裃裄裔裘裙裝裹褂裼裴裨裲褄褌褊褓襃褞褥褪褫襁襄褻褶褸襌褝襠襞"],["eba1","襦襤襭襪襯襴襷襾覃覈覊覓覘覡覩覦覬覯覲覺覽覿觀觚觜觝觧觴觸訃訖訐訌訛訝訥訶詁詛詒詆詈詼詭詬詢誅誂誄誨誡誑誥誦誚誣諄諍諂諚諫諳諧諤諱謔諠諢諷諞諛謌謇謚諡謖謐謗謠謳鞫謦謫謾謨譁譌譏譎證譖譛譚譫"],["eca1","譟譬譯譴譽讀讌讎讒讓讖讙讚谺豁谿豈豌豎豐豕豢豬豸豺貂貉貅貊貍貎貔豼貘戝貭貪貽貲貳貮貶賈賁賤賣賚賽賺賻贄贅贊贇贏贍贐齎贓賍贔贖赧赭赱赳趁趙跂趾趺跏跚跖跌跛跋跪跫跟跣跼踈踉跿踝踞踐踟蹂踵踰踴蹊"],["eda1","蹇蹉蹌蹐蹈蹙蹤蹠踪蹣蹕蹶蹲蹼躁躇躅躄躋躊躓躑躔躙躪躡躬躰軆躱躾軅軈軋軛軣軼軻軫軾輊輅輕輒輙輓輜輟輛輌輦輳輻輹轅轂輾轌轉轆轎轗轜轢轣轤辜辟辣辭辯辷迚迥迢迪迯邇迴逅迹迺逑逕逡逍逞逖逋逧逶逵逹迸"],["eea1","遏遐遑遒逎遉逾遖遘遞遨遯遶隨遲邂遽邁邀邊邉邏邨邯邱邵郢郤扈郛鄂鄒鄙鄲鄰酊酖酘酣酥酩酳酲醋醉醂醢醫醯醪醵醴醺釀釁釉釋釐釖釟釡釛釼釵釶鈞釿鈔鈬鈕鈑鉞鉗鉅鉉鉤鉈銕鈿鉋鉐銜銖銓銛鉚鋏銹銷鋩錏鋺鍄錮"],["efa1","錙錢錚錣錺錵錻鍜鍠鍼鍮鍖鎰鎬鎭鎔鎹鏖鏗鏨鏥鏘鏃鏝鏐鏈鏤鐚鐔鐓鐃鐇鐐鐶鐫鐵鐡鐺鑁鑒鑄鑛鑠鑢鑞鑪鈩鑰鑵鑷鑽鑚鑼鑾钁鑿閂閇閊閔閖閘閙閠閨閧閭閼閻閹閾闊濶闃闍闌闕闔闖關闡闥闢阡阨阮阯陂陌陏陋陷陜陞"],["f0a1","陝陟陦陲陬隍隘隕隗險隧隱隲隰隴隶隸隹雎雋雉雍襍雜霍雕雹霄霆霈霓霎霑霏霖霙霤霪霰霹霽霾靄靆靈靂靉靜靠靤靦靨勒靫靱靹鞅靼鞁靺鞆鞋鞏鞐鞜鞨鞦鞣鞳鞴韃韆韈韋韜韭齏韲竟韶韵頏頌頸頤頡頷頽顆顏顋顫顯顰"],["f1a1","顱顴顳颪颯颱颶飄飃飆飩飫餃餉餒餔餘餡餝餞餤餠餬餮餽餾饂饉饅饐饋饑饒饌饕馗馘馥馭馮馼駟駛駝駘駑駭駮駱駲駻駸騁騏騅駢騙騫騷驅驂驀驃騾驕驍驛驗驟驢驥驤驩驫驪骭骰骼髀髏髑髓體髞髟髢髣髦髯髫髮髴髱髷"],["f2a1","髻鬆鬘鬚鬟鬢鬣鬥鬧鬨鬩鬪鬮鬯鬲魄魃魏魍魎魑魘魴鮓鮃鮑鮖鮗鮟鮠鮨鮴鯀鯊鮹鯆鯏鯑鯒鯣鯢鯤鯔鯡鰺鯲鯱鯰鰕鰔鰉鰓鰌鰆鰈鰒鰊鰄鰮鰛鰥鰤鰡鰰鱇鰲鱆鰾鱚鱠鱧鱶鱸鳧鳬鳰鴉鴈鳫鴃鴆鴪鴦鶯鴣鴟鵄鴕鴒鵁鴿鴾鵆鵈"],["f3a1","鵝鵞鵤鵑鵐鵙鵲鶉鶇鶫鵯鵺鶚鶤鶩鶲鷄鷁鶻鶸鶺鷆鷏鷂鷙鷓鷸鷦鷭鷯鷽鸚鸛鸞鹵鹹鹽麁麈麋麌麒麕麑麝麥麩麸麪麭靡黌黎黏黐黔黜點黝黠黥黨黯黴黶黷黹黻黼黽鼇鼈皷鼕鼡鼬鼾齊齒齔齣齟齠齡齦齧齬齪齷齲齶龕龜龠"],["f4a1","堯槇遙瑤凜熙"],["f9a1","纊褜鍈銈蓜俉炻昱棈鋹曻彅丨仡仼伀伃伹佖侒侊侚侔俍偀倢俿倞偆偰偂傔僴僘兊兤冝冾凬刕劜劦勀勛匀匇匤卲厓厲叝﨎咜咊咩哿喆坙坥垬埈埇﨏塚增墲夋奓奛奝奣妤妺孖寀甯寘寬尞岦岺峵崧嵓﨑嵂嵭嶸嶹巐弡弴彧德"],["faa1","忞恝悅悊惞惕愠惲愑愷愰憘戓抦揵摠撝擎敎昀昕昻昉昮昞昤晥晗晙晴晳暙暠暲暿曺朎朗杦枻桒柀栁桄棏﨓楨﨔榘槢樰橫橆橳橾櫢櫤毖氿汜沆汯泚洄涇浯涖涬淏淸淲淼渹湜渧渼溿澈澵濵瀅瀇瀨炅炫焏焄煜煆煇凞燁燾犱"],["fba1","犾猤猪獷玽珉珖珣珒琇珵琦琪琩琮瑢璉璟甁畯皂皜皞皛皦益睆劯砡硎硤硺礰礼神祥禔福禛竑竧靖竫箞精絈絜綷綠緖繒罇羡羽茁荢荿菇菶葈蒴蕓蕙蕫﨟薰蘒﨡蠇裵訒訷詹誧誾諟諸諶譓譿賰賴贒赶﨣軏﨤逸遧郞都鄕鄧釚"],["fca1","釗釞釭釮釤釥鈆鈐鈊鈺鉀鈼鉎鉙鉑鈹鉧銧鉷鉸鋧鋗鋙鋐﨧鋕鋠鋓錥錡鋻﨨錞鋿錝錂鍰鍗鎤鏆鏞鏸鐱鑅鑈閒隆﨩隝隯霳霻靃靍靏靑靕顗顥飯飼餧館馞驎髙髜魵魲鮏鮱鮻鰀鵰鵫鶴鸙黑"],["fcf1","ⅰ",9,"¬¦'""],["8fa2af","˘ˇ¸˙˝¯˛˚~΄΅"],["8fa2c2","¡¦¿"],["8fa2eb","ºª©®™¤№"],["8fa6e1","ΆΈΉΊΪ"],["8fa6e7","Ό"],["8fa6e9","ΎΫ"],["8fa6ec","Ώ"],["8fa6f1","άέήίϊΐόςύϋΰώ"],["8fa7c2","Ђ",10,"ЎЏ"],["8fa7f2","ђ",10,"ўџ"],["8fa9a1","ÆĐ"],["8fa9a4","Ħ"],["8fa9a6","IJ"],["8fa9a8","ŁĿ"],["8fa9ab","ŊØŒ"],["8fa9af","ŦÞ"],["8fa9c1","æđðħıijĸłŀʼnŋøœßŧþ"],["8faaa1","ÁÀÄÂĂǍĀĄÅÃĆĈČÇĊĎÉÈËÊĚĖĒĘ"],["8faaba","ĜĞĢĠĤÍÌÏÎǏİĪĮĨĴĶĹĽĻŃŇŅÑÓÒÖÔǑŐŌÕŔŘŖŚŜŠŞŤŢÚÙÜÛŬǓŰŪŲŮŨǗǛǙǕŴÝŸŶŹŽŻ"],["8faba1","áàäâăǎāąåãćĉčçċďéèëêěėēęǵĝğ"],["8fabbd","ġĥíìïîǐ"],["8fabc5","īįĩĵķĺľļńňņñóòöôǒőōõŕřŗśŝšşťţúùüûŭǔűūųůũǘǜǚǖŵýÿŷźžż"],["8fb0a1","丂丄丅丌丒丟丣两丨丫丮丯丰丵乀乁乄乇乑乚乜乣乨乩乴乵乹乿亍亖亗亝亯亹仃仐仚仛仠仡仢仨仯仱仳仵份仾仿伀伂伃伈伋伌伒伕伖众伙伮伱你伳伵伷伹伻伾佀佂佈佉佋佌佒佔佖佘佟佣佪佬佮佱佷佸佹佺佽佾侁侂侄"],["8fb1a1","侅侉侊侌侎侐侒侓侔侗侙侚侞侟侲侷侹侻侼侽侾俀俁俅俆俈俉俋俌俍俏俒俜俠俢俰俲俼俽俿倀倁倄倇倊倌倎倐倓倗倘倛倜倝倞倢倧倮倰倲倳倵偀偁偂偅偆偊偌偎偑偒偓偗偙偟偠偢偣偦偧偪偭偰偱倻傁傃傄傆傊傎傏傐"],["8fb2a1","傒傓傔傖傛傜傞",4,"傪傯傰傹傺傽僀僃僄僇僌僎僐僓僔僘僜僝僟僢僤僦僨僩僯僱僶僺僾儃儆儇儈儋儌儍儎僲儐儗儙儛儜儝儞儣儧儨儬儭儯儱儳儴儵儸儹兂兊兏兓兕兗兘兟兤兦兾冃冄冋冎冘冝冡冣冭冸冺冼冾冿凂"],["8fb3a1","凈减凑凒凓凕凘凞凢凥凮凲凳凴凷刁刂刅划刓刕刖刘刢刨刱刲刵刼剅剉剕剗剘剚剜剟剠剡剦剮剷剸剹劀劂劅劊劌劓劕劖劗劘劚劜劤劥劦劧劯劰劶劷劸劺劻劽勀勄勆勈勌勏勑勔勖勛勜勡勥勨勩勪勬勰勱勴勶勷匀匃匊匋"],["8fb4a1","匌匑匓匘匛匜匞匟匥匧匨匩匫匬匭匰匲匵匼匽匾卂卌卋卙卛卡卣卥卬卭卲卹卾厃厇厈厎厓厔厙厝厡厤厪厫厯厲厴厵厷厸厺厽叀叅叏叒叓叕叚叝叞叠另叧叵吂吓吚吡吧吨吪启吱吴吵呃呄呇呍呏呞呢呤呦呧呩呫呭呮呴呿"],["8fb5a1","咁咃咅咈咉咍咑咕咖咜咟咡咦咧咩咪咭咮咱咷咹咺咻咿哆哊响哎哠哪哬哯哶哼哾哿唀唁唅唈唉唌唍唎唕唪唫唲唵唶唻唼唽啁啇啉啊啍啐啑啘啚啛啞啠啡啤啦啿喁喂喆喈喎喏喑喒喓喔喗喣喤喭喲喿嗁嗃嗆嗉嗋嗌嗎嗑嗒"],["8fb6a1","嗓嗗嗘嗛嗞嗢嗩嗶嗿嘅嘈嘊嘍",5,"嘙嘬嘰嘳嘵嘷嘹嘻嘼嘽嘿噀噁噃噄噆噉噋噍噏噔噞噠噡噢噣噦噩噭噯噱噲噵嚄嚅嚈嚋嚌嚕嚙嚚嚝嚞嚟嚦嚧嚨嚩嚫嚬嚭嚱嚳嚷嚾囅囉囊囋囏囐囌囍囙囜囝囟囡囤",4,"囱囫园"],["8fb7a1","囶囷圁圂圇圊圌圑圕圚圛圝圠圢圣圤圥圩圪圬圮圯圳圴圽圾圿坅坆坌坍坒坢坥坧坨坫坭",4,"坳坴坵坷坹坺坻坼坾垁垃垌垔垗垙垚垜垝垞垟垡垕垧垨垩垬垸垽埇埈埌埏埕埝埞埤埦埧埩埭埰埵埶埸埽埾埿堃堄堈堉埡"],["8fb8a1","堌堍堛堞堟堠堦堧堭堲堹堿塉塌塍塏塐塕塟塡塤塧塨塸塼塿墀墁墇墈墉墊墌墍墏墐墔墖墝墠墡墢墦墩墱墲壄墼壂壈壍壎壐壒壔壖壚壝壡壢壩壳夅夆夋夌夒夓夔虁夝夡夣夤夨夯夰夳夵夶夿奃奆奒奓奙奛奝奞奟奡奣奫奭"],["8fb9a1","奯奲奵奶她奻奼妋妌妎妒妕妗妟妤妧妭妮妯妰妳妷妺妼姁姃姄姈姊姍姒姝姞姟姣姤姧姮姯姱姲姴姷娀娄娌娍娎娒娓娞娣娤娧娨娪娭娰婄婅婇婈婌婐婕婞婣婥婧婭婷婺婻婾媋媐媓媖媙媜媞媟媠媢媧媬媱媲媳媵媸媺媻媿"],["8fbaa1","嫄嫆嫈嫏嫚嫜嫠嫥嫪嫮嫵嫶嫽嬀嬁嬈嬗嬴嬙嬛嬝嬡嬥嬭嬸孁孋孌孒孖孞孨孮孯孼孽孾孿宁宄宆宊宎宐宑宓宔宖宨宩宬宭宯宱宲宷宺宼寀寁寍寏寖",4,"寠寯寱寴寽尌尗尞尟尣尦尩尫尬尮尰尲尵尶屙屚屜屢屣屧屨屩"],["8fbba1","屭屰屴屵屺屻屼屽岇岈岊岏岒岝岟岠岢岣岦岪岲岴岵岺峉峋峒峝峗峮峱峲峴崁崆崍崒崫崣崤崦崧崱崴崹崽崿嵂嵃嵆嵈嵕嵑嵙嵊嵟嵠嵡嵢嵤嵪嵭嵰嵹嵺嵾嵿嶁嶃嶈嶊嶒嶓嶔嶕嶙嶛嶟嶠嶧嶫嶰嶴嶸嶹巃巇巋巐巎巘巙巠巤"],["8fbca1","巩巸巹帀帇帍帒帔帕帘帟帠帮帨帲帵帾幋幐幉幑幖幘幛幜幞幨幪",4,"幰庀庋庎庢庤庥庨庪庬庱庳庽庾庿廆廌廋廎廑廒廔廕廜廞廥廫异弆弇弈弎弙弜弝弡弢弣弤弨弫弬弮弰弴弶弻弽弿彀彄彅彇彍彐彔彘彛彠彣彤彧"],["8fbda1","彯彲彴彵彸彺彽彾徉徍徏徖徜徝徢徧徫徤徬徯徰徱徸忄忇忈忉忋忐",4,"忞忡忢忨忩忪忬忭忮忯忲忳忶忺忼怇怊怍怓怔怗怘怚怟怤怭怳怵恀恇恈恉恌恑恔恖恗恝恡恧恱恾恿悂悆悈悊悎悑悓悕悘悝悞悢悤悥您悰悱悷"],["8fbea1","悻悾惂惄惈惉惊惋惎惏惔惕惙惛惝惞惢惥惲惵惸惼惽愂愇愊愌愐",4,"愖愗愙愜愞愢愪愫愰愱愵愶愷愹慁慅慆慉慞慠慬慲慸慻慼慿憀憁憃憄憋憍憒憓憗憘憜憝憟憠憥憨憪憭憸憹憼懀懁懂懎懏懕懜懝懞懟懡懢懧懩懥"],["8fbfa1","懬懭懯戁戃戄戇戓戕戜戠戢戣戧戩戫戹戽扂扃扄扆扌扐扑扒扔扖扚扜扤扭扯扳扺扽抍抎抏抐抦抨抳抶抷抺抾抿拄拎拕拖拚拪拲拴拼拽挃挄挊挋挍挐挓挖挘挩挪挭挵挶挹挼捁捂捃捄捆捊捋捎捒捓捔捘捛捥捦捬捭捱捴捵"],["8fc0a1","捸捼捽捿掂掄掇掊掐掔掕掙掚掞掤掦掭掮掯掽揁揅揈揎揑揓揔揕揜揠揥揪揬揲揳揵揸揹搉搊搐搒搔搘搞搠搢搤搥搩搪搯搰搵搽搿摋摏摑摒摓摔摚摛摜摝摟摠摡摣摭摳摴摻摽撅撇撏撐撑撘撙撛撝撟撡撣撦撨撬撳撽撾撿"],["8fc1a1","擄擉擊擋擌擎擐擑擕擗擤擥擩擪擭擰擵擷擻擿攁攄攈攉攊攏攓攔攖攙攛攞攟攢攦攩攮攱攺攼攽敃敇敉敐敒敔敟敠敧敫敺敽斁斅斊斒斕斘斝斠斣斦斮斲斳斴斿旂旈旉旎旐旔旖旘旟旰旲旴旵旹旾旿昀昄昈昉昍昑昒昕昖昝"],["8fc2a1","昞昡昢昣昤昦昩昪昫昬昮昰昱昳昹昷晀晅晆晊晌晑晎晗晘晙晛晜晠晡曻晪晫晬晾晳晵晿晷晸晹晻暀晼暋暌暍暐暒暙暚暛暜暟暠暤暭暱暲暵暻暿曀曂曃曈曌曎曏曔曛曟曨曫曬曮曺朅朇朎朓朙朜朠朢朳朾杅杇杈杌杔杕杝"],["8fc3a1","杦杬杮杴杶杻极构枎枏枑枓枖枘枙枛枰枱枲枵枻枼枽柹柀柂柃柅柈柉柒柗柙柜柡柦柰柲柶柷桒栔栙栝栟栨栧栬栭栯栰栱栳栻栿桄桅桊桌桕桗桘桛桫桮",4,"桵桹桺桻桼梂梄梆梈梖梘梚梜梡梣梥梩梪梮梲梻棅棈棌棏"],["8fc4a1","棐棑棓棖棙棜棝棥棨棪棫棬棭棰棱棵棶棻棼棽椆椉椊椐椑椓椖椗椱椳椵椸椻楂楅楉楎楗楛楣楤楥楦楨楩楬楰楱楲楺楻楿榀榍榒榖榘榡榥榦榨榫榭榯榷榸榺榼槅槈槑槖槗槢槥槮槯槱槳槵槾樀樁樃樏樑樕樚樝樠樤樨樰樲"],["8fc5a1","樴樷樻樾樿橅橆橉橊橎橐橑橒橕橖橛橤橧橪橱橳橾檁檃檆檇檉檋檑檛檝檞檟檥檫檯檰檱檴檽檾檿櫆櫉櫈櫌櫐櫔櫕櫖櫜櫝櫤櫧櫬櫰櫱櫲櫼櫽欂欃欆欇欉欏欐欑欗欛欞欤欨欫欬欯欵欶欻欿歆歊歍歒歖歘歝歠歧歫歮歰歵歽"],["8fc6a1","歾殂殅殗殛殟殠殢殣殨殩殬殭殮殰殸殹殽殾毃毄毉毌毖毚毡毣毦毧毮毱毷毹毿氂氄氅氉氍氎氐氒氙氟氦氧氨氬氮氳氵氶氺氻氿汊汋汍汏汒汔汙汛汜汫汭汯汴汶汸汹汻沅沆沇沉沔沕沗沘沜沟沰沲沴泂泆泍泏泐泑泒泔泖"],["8fc7a1","泚泜泠泧泩泫泬泮泲泴洄洇洊洎洏洑洓洚洦洧洨汧洮洯洱洹洼洿浗浞浟浡浥浧浯浰浼涂涇涑涒涔涖涗涘涪涬涴涷涹涽涿淄淈淊淎淏淖淛淝淟淠淢淥淩淯淰淴淶淼渀渄渞渢渧渲渶渹渻渼湄湅湈湉湋湏湑湒湓湔湗湜湝湞"],["8fc8a1","湢湣湨湳湻湽溍溓溙溠溧溭溮溱溳溻溿滀滁滃滇滈滊滍滎滏滫滭滮滹滻滽漄漈漊漌漍漖漘漚漛漦漩漪漯漰漳漶漻漼漭潏潑潒潓潗潙潚潝潞潡潢潨潬潽潾澃澇澈澋澌澍澐澒澓澔澖澚澟澠澥澦澧澨澮澯澰澵澶澼濅濇濈濊"],["8fc9a1","濚濞濨濩濰濵濹濼濽瀀瀅瀆瀇瀍瀗瀠瀣瀯瀴瀷瀹瀼灃灄灈灉灊灋灔灕灝灞灎灤灥灬灮灵灶灾炁炅炆炔",4,"炛炤炫炰炱炴炷烊烑烓烔烕烖烘烜烤烺焃",4,"焋焌焏焞焠焫焭焯焰焱焸煁煅煆煇煊煋煐煒煗煚煜煞煠"],["8fcaa1","煨煹熀熅熇熌熒熚熛熠熢熯熰熲熳熺熿燀燁燄燋燌燓燖燙燚燜燸燾爀爇爈爉爓爗爚爝爟爤爫爯爴爸爹牁牂牃牅牎牏牐牓牕牖牚牜牞牠牣牨牫牮牯牱牷牸牻牼牿犄犉犍犎犓犛犨犭犮犱犴犾狁狇狉狌狕狖狘狟狥狳狴狺狻"],["8fcba1","狾猂猄猅猇猋猍猒猓猘猙猞猢猤猧猨猬猱猲猵猺猻猽獃獍獐獒獖獘獝獞獟獠獦獧獩獫獬獮獯獱獷獹獼玀玁玃玅玆玎玐玓玕玗玘玜玞玟玠玢玥玦玪玫玭玵玷玹玼玽玿珅珆珉珋珌珏珒珓珖珙珝珡珣珦珧珩珴珵珷珹珺珻珽"],["8fcca1","珿琀琁琄琇琊琑琚琛琤琦琨",9,"琹瑀瑃瑄瑆瑇瑋瑍瑑瑒瑗瑝瑢瑦瑧瑨瑫瑭瑮瑱瑲璀璁璅璆璇璉璏璐璑璒璘璙璚璜璟璠璡璣璦璨璩璪璫璮璯璱璲璵璹璻璿瓈瓉瓌瓐瓓瓘瓚瓛瓞瓟瓤瓨瓪瓫瓯瓴瓺瓻瓼瓿甆"],["8fcda1","甒甖甗甠甡甤甧甩甪甯甶甹甽甾甿畀畃畇畈畎畐畒畗畞畟畡畯畱畹",5,"疁疅疐疒疓疕疙疜疢疤疴疺疿痀痁痄痆痌痎痏痗痜痟痠痡痤痧痬痮痯痱痹瘀瘂瘃瘄瘇瘈瘊瘌瘏瘒瘓瘕瘖瘙瘛瘜瘝瘞瘣瘥瘦瘩瘭瘲瘳瘵瘸瘹"],["8fcea1","瘺瘼癊癀癁癃癄癅癉癋癕癙癟癤癥癭癮癯癱癴皁皅皌皍皕皛皜皝皟皠皢",6,"皪皭皽盁盅盉盋盌盎盔盙盠盦盨盬盰盱盶盹盼眀眆眊眎眒眔眕眗眙眚眜眢眨眭眮眯眴眵眶眹眽眾睂睅睆睊睍睎睏睒睖睗睜睞睟睠睢"],["8fcfa1","睤睧睪睬睰睲睳睴睺睽瞀瞄瞌瞍瞔瞕瞖瞚瞟瞢瞧瞪瞮瞯瞱瞵瞾矃矉矑矒矕矙矞矟矠矤矦矪矬矰矱矴矸矻砅砆砉砍砎砑砝砡砢砣砭砮砰砵砷硃硄硇硈硌硎硒硜硞硠硡硣硤硨硪确硺硾碊碏碔碘碡碝碞碟碤碨碬碭碰碱碲碳"],["8fd0a1","碻碽碿磇磈磉磌磎磒磓磕磖磤磛磟磠磡磦磪磲磳礀磶磷磺磻磿礆礌礐礚礜礞礟礠礥礧礩礭礱礴礵礻礽礿祄祅祆祊祋祏祑祔祘祛祜祧祩祫祲祹祻祼祾禋禌禑禓禔禕禖禘禛禜禡禨禩禫禯禱禴禸离秂秄秇秈秊秏秔秖秚秝秞"],["8fd1a1","秠秢秥秪秫秭秱秸秼稂稃稇稉稊稌稑稕稛稞稡稧稫稭稯稰稴稵稸稹稺穄穅穇穈穌穕穖穙穜穝穟穠穥穧穪穭穵穸穾窀窂窅窆窊窋窐窑窔窞窠窣窬窳窵窹窻窼竆竉竌竎竑竛竨竩竫竬竱竴竻竽竾笇笔笟笣笧笩笪笫笭笮笯笰"],["8fd2a1","笱笴笽笿筀筁筇筎筕筠筤筦筩筪筭筯筲筳筷箄箉箎箐箑箖箛箞箠箥箬箯箰箲箵箶箺箻箼箽篂篅篈篊篔篖篗篙篚篛篨篪篲篴篵篸篹篺篼篾簁簂簃簄簆簉簋簌簎簏簙簛簠簥簦簨簬簱簳簴簶簹簺籆籊籕籑籒籓籙",5],["8fd3a1","籡籣籧籩籭籮籰籲籹籼籽粆粇粏粔粞粠粦粰粶粷粺粻粼粿糄糇糈糉糍糏糓糔糕糗糙糚糝糦糩糫糵紃紇紈紉紏紑紒紓紖紝紞紣紦紪紭紱紼紽紾絀絁絇絈絍絑絓絗絙絚絜絝絥絧絪絰絸絺絻絿綁綂綃綅綆綈綋綌綍綑綖綗綝"],["8fd4a1","綞綦綧綪綳綶綷綹緂",4,"緌緍緎緗緙縀緢緥緦緪緫緭緱緵緶緹緺縈縐縑縕縗縜縝縠縧縨縬縭縯縳縶縿繄繅繇繎繐繒繘繟繡繢繥繫繮繯繳繸繾纁纆纇纊纍纑纕纘纚纝纞缼缻缽缾缿罃罄罇罏罒罓罛罜罝罡罣罤罥罦罭"],["8fd5a1","罱罽罾罿羀羋羍羏羐羑羖羗羜羡羢羦羪羭羴羼羿翀翃翈翎翏翛翟翣翥翨翬翮翯翲翺翽翾翿耇耈耊耍耎耏耑耓耔耖耝耞耟耠耤耦耬耮耰耴耵耷耹耺耼耾聀聄聠聤聦聭聱聵肁肈肎肜肞肦肧肫肸肹胈胍胏胒胔胕胗胘胠胭胮"],["8fd6a1","胰胲胳胶胹胺胾脃脋脖脗脘脜脞脠脤脧脬脰脵脺脼腅腇腊腌腒腗腠腡腧腨腩腭腯腷膁膐膄膅膆膋膎膖膘膛膞膢膮膲膴膻臋臃臅臊臎臏臕臗臛臝臞臡臤臫臬臰臱臲臵臶臸臹臽臿舀舃舏舓舔舙舚舝舡舢舨舲舴舺艃艄艅艆"],["8fd7a1","艋艎艏艑艖艜艠艣艧艭艴艻艽艿芀芁芃芄芇芉芊芎芑芔芖芘芚芛芠芡芣芤芧芨芩芪芮芰芲芴芷芺芼芾芿苆苐苕苚苠苢苤苨苪苭苯苶苷苽苾茀茁茇茈茊茋荔茛茝茞茟茡茢茬茭茮茰茳茷茺茼茽荂荃荄荇荍荎荑荕荖荗荰荸"],["8fd8a1","荽荿莀莂莄莆莍莒莔莕莘莙莛莜莝莦莧莩莬莾莿菀菇菉菏菐菑菔菝荓菨菪菶菸菹菼萁萆萊萏萑萕萙莭萯萹葅葇葈葊葍葏葑葒葖葘葙葚葜葠葤葥葧葪葰葳葴葶葸葼葽蒁蒅蒒蒓蒕蒞蒦蒨蒩蒪蒯蒱蒴蒺蒽蒾蓀蓂蓇蓈蓌蓏蓓"],["8fd9a1","蓜蓧蓪蓯蓰蓱蓲蓷蔲蓺蓻蓽蔂蔃蔇蔌蔎蔐蔜蔞蔢蔣蔤蔥蔧蔪蔫蔯蔳蔴蔶蔿蕆蕏",4,"蕖蕙蕜",6,"蕤蕫蕯蕹蕺蕻蕽蕿薁薅薆薉薋薌薏薓薘薝薟薠薢薥薧薴薶薷薸薼薽薾薿藂藇藊藋藎薭藘藚藟藠藦藨藭藳藶藼"],["8fdaa1","藿蘀蘄蘅蘍蘎蘐蘑蘒蘘蘙蘛蘞蘡蘧蘩蘶蘸蘺蘼蘽虀虂虆虒虓虖虗虘虙虝虠",4,"虩虬虯虵虶虷虺蚍蚑蚖蚘蚚蚜蚡蚦蚧蚨蚭蚱蚳蚴蚵蚷蚸蚹蚿蛀蛁蛃蛅蛑蛒蛕蛗蛚蛜蛠蛣蛥蛧蚈蛺蛼蛽蜄蜅蜇蜋蜎蜏蜐蜓蜔蜙蜞蜟蜡蜣"],["8fdba1","蜨蜮蜯蜱蜲蜹蜺蜼蜽蜾蝀蝃蝅蝍蝘蝝蝡蝤蝥蝯蝱蝲蝻螃",6,"螋螌螐螓螕螗螘螙螞螠螣螧螬螭螮螱螵螾螿蟁蟈蟉蟊蟎蟕蟖蟙蟚蟜蟟蟢蟣蟤蟪蟫蟭蟱蟳蟸蟺蟿蠁蠃蠆蠉蠊蠋蠐蠙蠒蠓蠔蠘蠚蠛蠜蠞蠟蠨蠭蠮蠰蠲蠵"],["8fdca1","蠺蠼衁衃衅衈衉衊衋衎衑衕衖衘衚衜衟衠衤衩衱衹衻袀袘袚袛袜袟袠袨袪袺袽袾裀裊",4,"裑裒裓裛裞裧裯裰裱裵裷褁褆褍褎褏褕褖褘褙褚褜褠褦褧褨褰褱褲褵褹褺褾襀襂襅襆襉襏襒襗襚襛襜襡襢襣襫襮襰襳襵襺"],["8fdda1","襻襼襽覉覍覐覔覕覛覜覟覠覥覰覴覵覶覷覼觔",4,"觥觩觫觭觱觳觶觹觽觿訄訅訇訏訑訒訔訕訞訠訢訤訦訫訬訯訵訷訽訾詀詃詅詇詉詍詎詓詖詗詘詜詝詡詥詧詵詶詷詹詺詻詾詿誀誃誆誋誏誐誒誖誗誙誟誧誩誮誯誳"],["8fdea1","誶誷誻誾諃諆諈諉諊諑諓諔諕諗諝諟諬諰諴諵諶諼諿謅謆謋謑謜謞謟謊謭謰謷謼譂",4,"譈譒譓譔譙譍譞譣譭譶譸譹譼譾讁讄讅讋讍讏讔讕讜讞讟谸谹谽谾豅豇豉豋豏豑豓豔豗豘豛豝豙豣豤豦豨豩豭豳豵豶豻豾貆"],["8fdfa1","貇貋貐貒貓貙貛貜貤貹貺賅賆賉賋賏賖賕賙賝賡賨賬賯賰賲賵賷賸賾賿贁贃贉贒贗贛赥赩赬赮赿趂趄趈趍趐趑趕趞趟趠趦趫趬趯趲趵趷趹趻跀跅跆跇跈跊跎跑跔跕跗跙跤跥跧跬跰趼跱跲跴跽踁踄踅踆踋踑踔踖踠踡踢"],["8fe0a1","踣踦踧踱踳踶踷踸踹踽蹀蹁蹋蹍蹎蹏蹔蹛蹜蹝蹞蹡蹢蹩蹬蹭蹯蹰蹱蹹蹺蹻躂躃躉躐躒躕躚躛躝躞躢躧躩躭躮躳躵躺躻軀軁軃軄軇軏軑軔軜軨軮軰軱軷軹軺軭輀輂輇輈輏輐輖輗輘輞輠輡輣輥輧輨輬輭輮輴輵輶輷輺轀轁"],["8fe1a1","轃轇轏轑",4,"轘轝轞轥辝辠辡辤辥辦辵辶辸达迀迁迆迊迋迍运迒迓迕迠迣迤迨迮迱迵迶迻迾适逄逈逌逘逛逨逩逯逪逬逭逳逴逷逿遃遄遌遛遝遢遦遧遬遰遴遹邅邈邋邌邎邐邕邗邘邙邛邠邡邢邥邰邲邳邴邶邽郌邾郃"],["8fe2a1","郄郅郇郈郕郗郘郙郜郝郟郥郒郶郫郯郰郴郾郿鄀鄄鄅鄆鄈鄍鄐鄔鄖鄗鄘鄚鄜鄞鄠鄥鄢鄣鄧鄩鄮鄯鄱鄴鄶鄷鄹鄺鄼鄽酃酇酈酏酓酗酙酚酛酡酤酧酭酴酹酺酻醁醃醅醆醊醎醑醓醔醕醘醞醡醦醨醬醭醮醰醱醲醳醶醻醼醽醿"],["8fe3a1","釂釃釅釓釔釗釙釚釞釤釥釩釪釬",5,"釷釹釻釽鈀鈁鈄鈅鈆鈇鈉鈊鈌鈐鈒鈓鈖鈘鈜鈝鈣鈤鈥鈦鈨鈮鈯鈰鈳鈵鈶鈸鈹鈺鈼鈾鉀鉂鉃鉆鉇鉊鉍鉎鉏鉑鉘鉙鉜鉝鉠鉡鉥鉧鉨鉩鉮鉯鉰鉵",4,"鉻鉼鉽鉿銈銉銊銍銎銒銗"],["8fe4a1","銙銟銠銤銥銧銨銫銯銲銶銸銺銻銼銽銿",4,"鋅鋆鋇鋈鋋鋌鋍鋎鋐鋓鋕鋗鋘鋙鋜鋝鋟鋠鋡鋣鋥鋧鋨鋬鋮鋰鋹鋻鋿錀錂錈錍錑錔錕錜錝錞錟錡錤錥錧錩錪錳錴錶錷鍇鍈鍉鍐鍑鍒鍕鍗鍘鍚鍞鍤鍥鍧鍩鍪鍭鍯鍰鍱鍳鍴鍶"],["8fe5a1","鍺鍽鍿鎀鎁鎂鎈鎊鎋鎍鎏鎒鎕鎘鎛鎞鎡鎣鎤鎦鎨鎫鎴鎵鎶鎺鎩鏁鏄鏅鏆鏇鏉",4,"鏓鏙鏜鏞鏟鏢鏦鏧鏹鏷鏸鏺鏻鏽鐁鐂鐄鐈鐉鐍鐎鐏鐕鐖鐗鐟鐮鐯鐱鐲鐳鐴鐻鐿鐽鑃鑅鑈鑊鑌鑕鑙鑜鑟鑡鑣鑨鑫鑭鑮鑯鑱鑲钄钃镸镹"],["8fe6a1","镾閄閈閌閍閎閝閞閟閡閦閩閫閬閴閶閺閽閿闆闈闉闋闐闑闒闓闙闚闝闞闟闠闤闦阝阞阢阤阥阦阬阱阳阷阸阹阺阼阽陁陒陔陖陗陘陡陮陴陻陼陾陿隁隂隃隄隉隑隖隚隝隟隤隥隦隩隮隯隳隺雊雒嶲雘雚雝雞雟雩雯雱雺霂"],["8fe7a1","霃霅霉霚霛霝霡霢霣霨霱霳靁靃靊靎靏靕靗靘靚靛靣靧靪靮靳靶靷靸靻靽靿鞀鞉鞕鞖鞗鞙鞚鞞鞟鞢鞬鞮鞱鞲鞵鞶鞸鞹鞺鞼鞾鞿韁韄韅韇韉韊韌韍韎韐韑韔韗韘韙韝韞韠韛韡韤韯韱韴韷韸韺頇頊頙頍頎頔頖頜頞頠頣頦"],["8fe8a1","頫頮頯頰頲頳頵頥頾顄顇顊顑顒顓顖顗顙顚顢顣顥顦顪顬颫颭颮颰颴颷颸颺颻颿飂飅飈飌飡飣飥飦飧飪飳飶餂餇餈餑餕餖餗餚餛餜餟餢餦餧餫餱",4,"餹餺餻餼饀饁饆饇饈饍饎饔饘饙饛饜饞饟饠馛馝馟馦馰馱馲馵"],["8fe9a1","馹馺馽馿駃駉駓駔駙駚駜駞駧駪駫駬駰駴駵駹駽駾騂騃騄騋騌騐騑騖騞騠騢騣騤騧騭騮騳騵騶騸驇驁驄驊驋驌驎驑驔驖驝骪骬骮骯骲骴骵骶骹骻骾骿髁髃髆髈髎髐髒髕髖髗髛髜髠髤髥髧髩髬髲髳髵髹髺髽髿",4],["8feaa1","鬄鬅鬈鬉鬋鬌鬍鬎鬐鬒鬖鬙鬛鬜鬠鬦鬫鬭鬳鬴鬵鬷鬹鬺鬽魈魋魌魕魖魗魛魞魡魣魥魦魨魪",4,"魳魵魷魸魹魿鮀鮄鮅鮆鮇鮉鮊鮋鮍鮏鮐鮔鮚鮝鮞鮦鮧鮩鮬鮰鮱鮲鮷鮸鮻鮼鮾鮿鯁鯇鯈鯎鯐鯗鯘鯝鯟鯥鯧鯪鯫鯯鯳鯷鯸"],["8feba1","鯹鯺鯽鯿鰀鰂鰋鰏鰑鰖鰘鰙鰚鰜鰞鰢鰣鰦",4,"鰱鰵鰶鰷鰽鱁鱃鱄鱅鱉鱊鱎鱏鱐鱓鱔鱖鱘鱛鱝鱞鱟鱣鱩鱪鱜鱫鱨鱮鱰鱲鱵鱷鱻鳦鳲鳷鳹鴋鴂鴑鴗鴘鴜鴝鴞鴯鴰鴲鴳鴴鴺鴼鵅鴽鵂鵃鵇鵊鵓鵔鵟鵣鵢鵥鵩鵪鵫鵰鵶鵷鵻"],["8feca1","鵼鵾鶃鶄鶆鶊鶍鶎鶒鶓鶕鶖鶗鶘鶡鶪鶬鶮鶱鶵鶹鶼鶿鷃鷇鷉鷊鷔鷕鷖鷗鷚鷞鷟鷠鷥鷧鷩鷫鷮鷰鷳鷴鷾鸊鸂鸇鸎鸐鸑鸒鸕鸖鸙鸜鸝鹺鹻鹼麀麂麃麄麅麇麎麏麖麘麛麞麤麨麬麮麯麰麳麴麵黆黈黋黕黟黤黧黬黭黮黰黱黲黵"],["8feda1","黸黿鼂鼃鼉鼏鼐鼑鼒鼔鼖鼗鼙鼚鼛鼟鼢鼦鼪鼫鼯鼱鼲鼴鼷鼹鼺鼼鼽鼿齁齃",4,"齓齕齖齗齘齚齝齞齨齩齭",4,"齳齵齺齽龏龐龑龒龔龖龗龞龡龢龣龥"]]')},function(e){e.exports=JSON.parse('{"uChars":[128,165,169,178,184,216,226,235,238,244,248,251,253,258,276,284,300,325,329,334,364,463,465,467,469,471,473,475,477,506,594,610,712,716,730,930,938,962,970,1026,1104,1106,8209,8215,8218,8222,8231,8241,8244,8246,8252,8365,8452,8454,8458,8471,8482,8556,8570,8596,8602,8713,8720,8722,8726,8731,8737,8740,8742,8748,8751,8760,8766,8777,8781,8787,8802,8808,8816,8854,8858,8870,8896,8979,9322,9372,9548,9588,9616,9622,9634,9652,9662,9672,9676,9680,9702,9735,9738,9793,9795,11906,11909,11913,11917,11928,11944,11947,11951,11956,11960,11964,11979,12284,12292,12312,12319,12330,12351,12436,12447,12535,12543,12586,12842,12850,12964,13200,13215,13218,13253,13263,13267,13270,13384,13428,13727,13839,13851,14617,14703,14801,14816,14964,15183,15471,15585,16471,16736,17208,17325,17330,17374,17623,17997,18018,18212,18218,18301,18318,18760,18811,18814,18820,18823,18844,18848,18872,19576,19620,19738,19887,40870,59244,59336,59367,59413,59417,59423,59431,59437,59443,59452,59460,59478,59493,63789,63866,63894,63976,63986,64016,64018,64021,64025,64034,64037,64042,65074,65093,65107,65112,65127,65132,65375,65510,65536],"gbChars":[0,36,38,45,50,81,89,95,96,100,103,104,105,109,126,133,148,172,175,179,208,306,307,308,309,310,311,312,313,341,428,443,544,545,558,741,742,749,750,805,819,820,7922,7924,7925,7927,7934,7943,7944,7945,7950,8062,8148,8149,8152,8164,8174,8236,8240,8262,8264,8374,8380,8381,8384,8388,8390,8392,8393,8394,8396,8401,8406,8416,8419,8424,8437,8439,8445,8482,8485,8496,8521,8603,8936,8946,9046,9050,9063,9066,9076,9092,9100,9108,9111,9113,9131,9162,9164,9218,9219,11329,11331,11334,11336,11346,11361,11363,11366,11370,11372,11375,11389,11682,11686,11687,11692,11694,11714,11716,11723,11725,11730,11736,11982,11989,12102,12336,12348,12350,12384,12393,12395,12397,12510,12553,12851,12962,12973,13738,13823,13919,13933,14080,14298,14585,14698,15583,15847,16318,16434,16438,16481,16729,17102,17122,17315,17320,17402,17418,17859,17909,17911,17915,17916,17936,17939,17961,18664,18703,18814,18962,19043,33469,33470,33471,33484,33485,33490,33497,33501,33505,33513,33520,33536,33550,37845,37921,37948,38029,38038,38064,38065,38066,38069,38075,38076,38078,39108,39109,39113,39114,39115,39116,39265,39394,189000]}')},function(e){e.exports=JSON.parse('[["0","\\u0000",127],["8141","갂갃갅갆갋",4,"갘갞갟갡갢갣갥",6,"갮갲갳갴"],["8161","갵갶갷갺갻갽갾갿걁",9,"걌걎",5,"걕"],["8181","걖걗걙걚걛걝",18,"걲걳걵걶걹걻",4,"겂겇겈겍겎겏겑겒겓겕",6,"겞겢",5,"겫겭겮겱",6,"겺겾겿곀곂곃곅곆곇곉곊곋곍",7,"곖곘",7,"곢곣곥곦곩곫곭곮곲곴곷",4,"곾곿괁괂괃괅괇",4,"괎괐괒괓"],["8241","괔괕괖괗괙괚괛괝괞괟괡",7,"괪괫괮",5],["8261","괶괷괹괺괻괽",6,"굆굈굊",5,"굑굒굓굕굖굗"],["8281","굙",7,"굢굤",7,"굮굯굱굲굷굸굹굺굾궀궃",4,"궊궋궍궎궏궑",10,"궞",5,"궥",17,"궸",7,"귂귃귅귆귇귉",6,"귒귔",7,"귝귞귟귡귢귣귥",18],["8341","귺귻귽귾긂",5,"긊긌긎",5,"긕",7],["8361","긝",18,"긲긳긵긶긹긻긼"],["8381","긽긾긿깂깄깇깈깉깋깏깑깒깓깕깗",4,"깞깢깣깤깦깧깪깫깭깮깯깱",6,"깺깾",5,"꺆",5,"꺍",46,"꺿껁껂껃껅",6,"껎껒",5,"껚껛껝",8],["8441","껦껧껩껪껬껮",5,"껵껶껷껹껺껻껽",8],["8461","꼆꼉꼊꼋꼌꼎꼏꼑",18],["8481","꼤",7,"꼮꼯꼱꼳꼵",6,"꼾꽀꽄꽅꽆꽇꽊",5,"꽑",10,"꽞",5,"꽦",18,"꽺",5,"꾁꾂꾃꾅꾆꾇꾉",6,"꾒꾓꾔꾖",5,"꾝",26,"꾺꾻꾽꾾"],["8541","꾿꿁",5,"꿊꿌꿏",4,"꿕",6,"꿝",4],["8561","꿢",5,"꿪",5,"꿲꿳꿵꿶꿷꿹",6,"뀂뀃"],["8581","뀅",6,"뀍뀎뀏뀑뀒뀓뀕",6,"뀞",9,"뀩",26,"끆끇끉끋끍끏끐끑끒끖끘끚끛끜끞",29,"끾끿낁낂낃낅",6,"낎낐낒",5,"낛낝낞낣낤"],["8641","낥낦낧낪낰낲낶낷낹낺낻낽",6,"냆냊",5,"냒"],["8661","냓냕냖냗냙",6,"냡냢냣냤냦",10],["8681","냱",22,"넊넍넎넏넑넔넕넖넗넚넞",4,"넦넧넩넪넫넭",6,"넶넺",5,"녂녃녅녆녇녉",6,"녒녓녖녗녙녚녛녝녞녟녡",22,"녺녻녽녾녿놁놃",4,"놊놌놎놏놐놑놕놖놗놙놚놛놝"],["8741","놞",9,"놩",15],["8761","놹",18,"뇍뇎뇏뇑뇒뇓뇕"],["8781","뇖",5,"뇞뇠",7,"뇪뇫뇭뇮뇯뇱",7,"뇺뇼뇾",5,"눆눇눉눊눍",6,"눖눘눚",5,"눡",18,"눵",6,"눽",26,"뉙뉚뉛뉝뉞뉟뉡",6,"뉪",4],["8841","뉯",4,"뉶",5,"뉽",6,"늆늇늈늊",4],["8861","늏늒늓늕늖늗늛",4,"늢늤늧늨늩늫늭늮늯늱늲늳늵늶늷"],["8881","늸",15,"닊닋닍닎닏닑닓",4,"닚닜닞닟닠닡닣닧닩닪닰닱닲닶닼닽닾댂댃댅댆댇댉",6,"댒댖",5,"댝",54,"덗덙덚덝덠덡덢덣"],["8941","덦덨덪덬덭덯덲덳덵덶덷덹",6,"뎂뎆",5,"뎍"],["8961","뎎뎏뎑뎒뎓뎕",10,"뎢",5,"뎩뎪뎫뎭"],["8981","뎮",21,"돆돇돉돊돍돏돑돒돓돖돘돚돜돞돟돡돢돣돥돦돧돩",18,"돽",18,"됑",6,"됙됚됛됝됞됟됡",6,"됪됬",7,"됵",15],["8a41","둅",10,"둒둓둕둖둗둙",6,"둢둤둦"],["8a61","둧",4,"둭",18,"뒁뒂"],["8a81","뒃",4,"뒉",19,"뒞",5,"뒥뒦뒧뒩뒪뒫뒭",7,"뒶뒸뒺",5,"듁듂듃듅듆듇듉",6,"듑듒듓듔듖",5,"듞듟듡듢듥듧",4,"듮듰듲",5,"듹",26,"딖딗딙딚딝"],["8b41","딞",5,"딦딫",4,"딲딳딵딶딷딹",6,"땂땆"],["8b61","땇땈땉땊땎땏땑땒땓땕",6,"땞땢",8],["8b81","땫",52,"떢떣떥떦떧떩떬떭떮떯떲떶",4,"떾떿뗁뗂뗃뗅",6,"뗎뗒",5,"뗙",18,"뗭",18],["8c41","똀",15,"똒똓똕똖똗똙",4],["8c61","똞",6,"똦",5,"똭",6,"똵",5],["8c81","똻",12,"뙉",26,"뙥뙦뙧뙩",50,"뚞뚟뚡뚢뚣뚥",5,"뚭뚮뚯뚰뚲",16],["8d41","뛃",16,"뛕",8],["8d61","뛞",17,"뛱뛲뛳뛵뛶뛷뛹뛺"],["8d81","뛻",4,"뜂뜃뜄뜆",33,"뜪뜫뜭뜮뜱",6,"뜺뜼",7,"띅띆띇띉띊띋띍",6,"띖",9,"띡띢띣띥띦띧띩",6,"띲띴띶",5,"띾띿랁랂랃랅",6,"랎랓랔랕랚랛랝랞"],["8e41","랟랡",6,"랪랮",5,"랶랷랹",8],["8e61","럂",4,"럈럊",19],["8e81","럞",13,"럮럯럱럲럳럵",6,"럾렂",4,"렊렋렍렎렏렑",6,"렚렜렞",5,"렦렧렩렪렫렭",6,"렶렺",5,"롁롂롃롅",11,"롒롔",7,"롞롟롡롢롣롥",6,"롮롰롲",5,"롹롺롻롽",7],["8f41","뢅",7,"뢎",17],["8f61","뢠",7,"뢩",6,"뢱뢲뢳뢵뢶뢷뢹",4],["8f81","뢾뢿룂룄룆",5,"룍룎룏룑룒룓룕",7,"룞룠룢",5,"룪룫룭룮룯룱",6,"룺룼룾",5,"뤅",18,"뤙",6,"뤡",26,"뤾뤿륁륂륃륅",6,"륍륎륐륒",5],["9041","륚륛륝륞륟륡",6,"륪륬륮",5,"륶륷륹륺륻륽"],["9061","륾",5,"릆릈릋릌릏",15],["9081","릟",12,"릮릯릱릲릳릵",6,"릾맀맂",5,"맊맋맍맓",4,"맚맜맟맠맢맦맧맩맪맫맭",6,"맶맻",4,"먂",5,"먉",11,"먖",33,"먺먻먽먾먿멁멃멄멅멆"],["9141","멇멊멌멏멐멑멒멖멗멙멚멛멝",6,"멦멪",5],["9161","멲멳멵멶멷멹",9,"몆몈몉몊몋몍",5],["9181","몓",20,"몪몭몮몯몱몳",4,"몺몼몾",5,"뫅뫆뫇뫉",14,"뫚",33,"뫽뫾뫿묁묂묃묅",7,"묎묐묒",5,"묙묚묛묝묞묟묡",6],["9241","묨묪묬",7,"묷묹묺묿",4,"뭆뭈뭊뭋뭌뭎뭑뭒"],["9261","뭓뭕뭖뭗뭙",7,"뭢뭤",7,"뭭",4],["9281","뭲",21,"뮉뮊뮋뮍뮎뮏뮑",18,"뮥뮦뮧뮩뮪뮫뮭",6,"뮵뮶뮸",7,"믁믂믃믅믆믇믉",6,"믑믒믔",35,"믺믻믽믾밁"],["9341","밃",4,"밊밎밐밒밓밙밚밠밡밢밣밦밨밪밫밬밮밯밲밳밵"],["9361","밶밷밹",6,"뱂뱆뱇뱈뱊뱋뱎뱏뱑",8],["9381","뱚뱛뱜뱞",37,"벆벇벉벊벍벏",4,"벖벘벛",4,"벢벣벥벦벩",6,"벲벶",5,"벾벿볁볂볃볅",7,"볎볒볓볔볖볗볙볚볛볝",22,"볷볹볺볻볽"],["9441","볾",5,"봆봈봊",5,"봑봒봓봕",8],["9461","봞",5,"봥",6,"봭",12],["9481","봺",5,"뵁",6,"뵊뵋뵍뵎뵏뵑",6,"뵚",9,"뵥뵦뵧뵩",22,"붂붃붅붆붋",4,"붒붔붖붗붘붛붝",6,"붥",10,"붱",6,"붹",24],["9541","뷒뷓뷖뷗뷙뷚뷛뷝",11,"뷪",5,"뷱"],["9561","뷲뷳뷵뷶뷷뷹",6,"븁븂븄븆",5,"븎븏븑븒븓"],["9581","븕",6,"븞븠",35,"빆빇빉빊빋빍빏",4,"빖빘빜빝빞빟빢빣빥빦빧빩빫",4,"빲빶",4,"빾빿뺁뺂뺃뺅",6,"뺎뺒",5,"뺚",13,"뺩",14],["9641","뺸",23,"뻒뻓"],["9661","뻕뻖뻙",6,"뻡뻢뻦",5,"뻭",8],["9681","뻶",10,"뼂",5,"뼊",13,"뼚뼞",33,"뽂뽃뽅뽆뽇뽉",6,"뽒뽓뽔뽖",44],["9741","뾃",16,"뾕",8],["9761","뾞",17,"뾱",7],["9781","뾹",11,"뿆",5,"뿎뿏뿑뿒뿓뿕",6,"뿝뿞뿠뿢",89,"쀽쀾쀿"],["9841","쁀",16,"쁒",5,"쁙쁚쁛"],["9861","쁝쁞쁟쁡",6,"쁪",15],["9881","쁺",21,"삒삓삕삖삗삙",6,"삢삤삦",5,"삮삱삲삷",4,"삾샂샃샄샆샇샊샋샍샎샏샑",6,"샚샞",5,"샦샧샩샪샫샭",6,"샶샸샺",5,"섁섂섃섅섆섇섉",6,"섑섒섓섔섖",5,"섡섢섥섨섩섪섫섮"],["9941","섲섳섴섵섷섺섻섽섾섿셁",6,"셊셎",5,"셖셗"],["9961","셙셚셛셝",6,"셦셪",5,"셱셲셳셵셶셷셹셺셻"],["9981","셼",8,"솆",5,"솏솑솒솓솕솗",4,"솞솠솢솣솤솦솧솪솫솭솮솯솱",11,"솾",5,"쇅쇆쇇쇉쇊쇋쇍",6,"쇕쇖쇙",6,"쇡쇢쇣쇥쇦쇧쇩",6,"쇲쇴",7,"쇾쇿숁숂숃숅",6,"숎숐숒",5,"숚숛숝숞숡숢숣"],["9a41","숤숥숦숧숪숬숮숰숳숵",16],["9a61","쉆쉇쉉",6,"쉒쉓쉕쉖쉗쉙",6,"쉡쉢쉣쉤쉦"],["9a81","쉧",4,"쉮쉯쉱쉲쉳쉵",6,"쉾슀슂",5,"슊",5,"슑",6,"슙슚슜슞",5,"슦슧슩슪슫슮",5,"슶슸슺",33,"싞싟싡싢싥",5,"싮싰싲싳싴싵싷싺싽싾싿쌁",6,"쌊쌋쌎쌏"],["9b41","쌐쌑쌒쌖쌗쌙쌚쌛쌝",6,"쌦쌧쌪",8],["9b61","쌳",17,"썆",7],["9b81","썎",25,"썪썫썭썮썯썱썳",4,"썺썻썾",5,"쎅쎆쎇쎉쎊쎋쎍",50,"쏁",22,"쏚"],["9c41","쏛쏝쏞쏡쏣",4,"쏪쏫쏬쏮",5,"쏶쏷쏹",5],["9c61","쏿",8,"쐉",6,"쐑",9],["9c81","쐛",8,"쐥",6,"쐭쐮쐯쐱쐲쐳쐵",6,"쐾",9,"쑉",26,"쑦쑧쑩쑪쑫쑭",6,"쑶쑷쑸쑺",5,"쒁",18,"쒕",6,"쒝",12],["9d41","쒪",13,"쒹쒺쒻쒽",8],["9d61","쓆",25],["9d81","쓠",8,"쓪",5,"쓲쓳쓵쓶쓷쓹쓻쓼쓽쓾씂",9,"씍씎씏씑씒씓씕",6,"씝",10,"씪씫씭씮씯씱",6,"씺씼씾",5,"앆앇앋앏앐앑앒앖앚앛앜앟앢앣앥앦앧앩",6,"앲앶",5,"앾앿얁얂얃얅얆얈얉얊얋얎얐얒얓얔"],["9e41","얖얙얚얛얝얞얟얡",7,"얪",9,"얶"],["9e61","얷얺얿",4,"엋엍엏엒엓엕엖엗엙",6,"엢엤엦엧"],["9e81","엨엩엪엫엯엱엲엳엵엸엹엺엻옂옃옄옉옊옋옍옎옏옑",6,"옚옝",6,"옦옧옩옪옫옯옱옲옶옸옺옼옽옾옿왂왃왅왆왇왉",6,"왒왖",5,"왞왟왡",10,"왭왮왰왲",5,"왺왻왽왾왿욁",6,"욊욌욎",5,"욖욗욙욚욛욝",6,"욦"],["9f41","욨욪",5,"욲욳욵욶욷욻",4,"웂웄웆",5,"웎"],["9f61","웏웑웒웓웕",6,"웞웟웢",5,"웪웫웭웮웯웱웲"],["9f81","웳",4,"웺웻웼웾",5,"윆윇윉윊윋윍",6,"윖윘윚",5,"윢윣윥윦윧윩",6,"윲윴윶윸윹윺윻윾윿읁읂읃읅",4,"읋읎읐읙읚읛읝읞읟읡",6,"읩읪읬",7,"읶읷읹읺읻읿잀잁잂잆잋잌잍잏잒잓잕잙잛",4,"잢잧",4,"잮잯잱잲잳잵잶잷"],["a041","잸잹잺잻잾쟂",5,"쟊쟋쟍쟏쟑",6,"쟙쟚쟛쟜"],["a061","쟞",5,"쟥쟦쟧쟩쟪쟫쟭",13],["a081","쟻",4,"젂젃젅젆젇젉젋",4,"젒젔젗",4,"젞젟젡젢젣젥",6,"젮젰젲",5,"젹젺젻젽젾젿졁",6,"졊졋졎",5,"졕",26,"졲졳졵졶졷졹졻",4,"좂좄좈좉좊좎",5,"좕",7,"좞좠좢좣좤"],["a141","좥좦좧좩",18,"좾좿죀죁"],["a161","죂죃죅죆죇죉죊죋죍",6,"죖죘죚",5,"죢죣죥"],["a181","죦",14,"죶",5,"죾죿줁줂줃줇",4,"줎 、。·‥…¨〃­―∥\∼‘’“”〔〕〈",9,"±×÷≠≤≥∞∴°′″℃Å¢£¥♂♀∠⊥⌒∂∇≡≒§※☆★○●◎◇◆□■△▲▽▼→←↑↓↔〓≪≫√∽∝∵∫∬∈∋⊆⊇⊂⊃∪∩∧∨¬"],["a241","줐줒",5,"줙",18],["a261","줭",6,"줵",18],["a281","쥈",7,"쥒쥓쥕쥖쥗쥙",6,"쥢쥤",7,"쥭쥮쥯⇒⇔∀∃´~ˇ˘˝˚˙¸˛¡¿ː∮∑∏¤℉‰◁◀▷▶♤♠♡♥♧♣⊙◈▣◐◑▒▤▥▨▧▦▩♨☏☎☜☞¶†‡↕↗↙↖↘♭♩♪♬㉿㈜№㏇™㏂㏘℡€®"],["a341","쥱쥲쥳쥵",6,"쥽",10,"즊즋즍즎즏"],["a361","즑",6,"즚즜즞",16],["a381","즯",16,"짂짃짅짆짉짋",4,"짒짔짗짘짛!",58,"₩]",32," ̄"],["a441","짞짟짡짣짥짦짨짩짪짫짮짲",5,"짺짻짽짾짿쨁쨂쨃쨄"],["a461","쨅쨆쨇쨊쨎",5,"쨕쨖쨗쨙",12],["a481","쨦쨧쨨쨪",28,"ㄱ",93],["a541","쩇",4,"쩎쩏쩑쩒쩓쩕",6,"쩞쩢",5,"쩩쩪"],["a561","쩫",17,"쩾",5,"쪅쪆"],["a581","쪇",16,"쪙",14,"ⅰ",9],["a5b0","Ⅰ",9],["a5c1","Α",16,"Σ",6],["a5e1","α",16,"σ",6],["a641","쪨",19,"쪾쪿쫁쫂쫃쫅"],["a661","쫆",5,"쫎쫐쫒쫔쫕쫖쫗쫚",5,"쫡",6],["a681","쫨쫩쫪쫫쫭",6,"쫵",18,"쬉쬊─│┌┐┘└├┬┤┴┼━┃┏┓┛┗┣┳┫┻╋┠┯┨┷┿┝┰┥┸╂┒┑┚┙┖┕┎┍┞┟┡┢┦┧┩┪┭┮┱┲┵┶┹┺┽┾╀╁╃",7],["a741","쬋",4,"쬑쬒쬓쬕쬖쬗쬙",6,"쬢",7],["a761","쬪",22,"쭂쭃쭄"],["a781","쭅쭆쭇쭊쭋쭍쭎쭏쭑",6,"쭚쭛쭜쭞",5,"쭥",7,"㎕㎖㎗ℓ㎘㏄㎣㎤㎥㎦㎙",9,"㏊㎍㎎㎏㏏㎈㎉㏈㎧㎨㎰",9,"㎀",4,"㎺",5,"㎐",4,"Ω㏀㏁㎊㎋㎌㏖㏅㎭㎮㎯㏛㎩㎪㎫㎬㏝㏐㏓㏃㏉㏜㏆"],["a841","쭭",10,"쭺",14],["a861","쮉",18,"쮝",6],["a881","쮤",19,"쮹",11,"ÆЪĦ"],["a8a6","IJ"],["a8a8","ĿŁØŒºÞŦŊ"],["a8b1","㉠",27,"ⓐ",25,"①",14,"½⅓⅔¼¾⅛⅜⅝⅞"],["a941","쯅",14,"쯕",10],["a961","쯠쯡쯢쯣쯥쯦쯨쯪",18],["a981","쯽",14,"찎찏찑찒찓찕",6,"찞찟찠찣찤æđðħıijĸŀłøœßþŧŋʼn㈀",27,"⒜",25,"⑴",14,"¹²³⁴ⁿ₁₂₃₄"],["aa41","찥찦찪찫찭찯찱",6,"찺찿",4,"챆챇챉챊챋챍챎"],["aa61","챏",4,"챖챚",5,"챡챢챣챥챧챩",6,"챱챲"],["aa81","챳챴챶",29,"ぁ",82],["ab41","첔첕첖첗첚첛첝첞첟첡",6,"첪첮",5,"첶첷첹"],["ab61","첺첻첽",6,"쳆쳈쳊",5,"쳑쳒쳓쳕",5],["ab81","쳛",8,"쳥",6,"쳭쳮쳯쳱",12,"ァ",85],["ac41","쳾쳿촀촂",5,"촊촋촍촎촏촑",6,"촚촜촞촟촠"],["ac61","촡촢촣촥촦촧촩촪촫촭",11,"촺",4],["ac81","촿",28,"쵝쵞쵟А",5,"ЁЖ",25],["acd1","а",5,"ёж",25],["ad41","쵡쵢쵣쵥",6,"쵮쵰쵲",5,"쵹",7],["ad61","춁",6,"춉",10,"춖춗춙춚춛춝춞춟"],["ad81","춠춡춢춣춦춨춪",5,"춱",18,"췅"],["ae41","췆",5,"췍췎췏췑",16],["ae61","췢",5,"췩췪췫췭췮췯췱",6,"췺췼췾",4],["ae81","츃츅츆츇츉츊츋츍",6,"츕츖츗츘츚",5,"츢츣츥츦츧츩츪츫"],["af41","츬츭츮츯츲츴츶",19],["af61","칊",13,"칚칛칝칞칢",5,"칪칬"],["af81","칮",5,"칶칷칹칺칻칽",6,"캆캈캊",5,"캒캓캕캖캗캙"],["b041","캚",5,"캢캦",5,"캮",12],["b061","캻",5,"컂",19],["b081","컖",13,"컦컧컩컪컭",6,"컶컺",5,"가각간갇갈갉갊감",7,"같",4,"갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆"],["b141","켂켃켅켆켇켉",6,"켒켔켖",5,"켝켞켟켡켢켣"],["b161","켥",6,"켮켲",5,"켹",11],["b181","콅",14,"콖콗콙콚콛콝",6,"콦콨콪콫콬괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸"],["b241","콭콮콯콲콳콵콶콷콹",6,"쾁쾂쾃쾄쾆",5,"쾍"],["b261","쾎",18,"쾢",5,"쾩"],["b281","쾪",5,"쾱",18,"쿅",6,"깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙"],["b341","쿌",19,"쿢쿣쿥쿦쿧쿩"],["b361","쿪",5,"쿲쿴쿶",5,"쿽쿾쿿퀁퀂퀃퀅",5],["b381","퀋",5,"퀒",5,"퀙",19,"끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫",4,"낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝"],["b441","퀮",5,"퀶퀷퀹퀺퀻퀽",6,"큆큈큊",5],["b461","큑큒큓큕큖큗큙",6,"큡",10,"큮큯"],["b481","큱큲큳큵",6,"큾큿킀킂",18,"뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫",4,"닳담답닷",4,"닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥"],["b541","킕",14,"킦킧킩킪킫킭",5],["b561","킳킶킸킺",5,"탂탃탅탆탇탊",5,"탒탖",4],["b581","탛탞탟탡탢탣탥",6,"탮탲",5,"탹",11,"덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸"],["b641","턅",7,"턎",17],["b661","턠",15,"턲턳턵턶턷턹턻턼턽턾"],["b681","턿텂텆",5,"텎텏텑텒텓텕",6,"텞텠텢",5,"텩텪텫텭땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍뗏뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗"],["b741","텮",13,"텽",6,"톅톆톇톉톊"],["b761","톋",20,"톢톣톥톦톧"],["b781","톩",6,"톲톴톶톷톸톹톻톽톾톿퇁",14,"래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩"],["b841","퇐",7,"퇙",17],["b861","퇫",8,"퇵퇶퇷퇹",13],["b881","툈툊",5,"툑",24,"륫륭르륵른를름릅릇릉릊릍릎리릭린릴림립릿링마막만많",4,"맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼"],["b941","툪툫툮툯툱툲툳툵",6,"툾퉀퉂",5,"퉉퉊퉋퉌"],["b961","퉍",14,"퉝",6,"퉥퉦퉧퉨"],["b981","퉩",22,"튂튃튅튆튇튉튊튋튌묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바",4,"받",4,"밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌뱍뱐뱝버벅번벋벌벎범법벗"],["ba41","튍튎튏튒튓튔튖",5,"튝튞튟튡튢튣튥",6,"튭"],["ba61","튮튯튰튲",5,"튺튻튽튾틁틃",4,"틊틌",5],["ba81","틒틓틕틖틗틙틚틛틝",6,"틦",9,"틲틳틵틶틷틹틺벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌빎빔빕빗빙빚빛빠빡빤"],["bb41","틻",4,"팂팄팆",5,"팏팑팒팓팕팗",4,"팞팢팣"],["bb61","팤팦팧팪팫팭팮팯팱",6,"팺팾",5,"퍆퍇퍈퍉"],["bb81","퍊",31,"빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤"],["bc41","퍪",17,"퍾퍿펁펂펃펅펆펇"],["bc61","펈펉펊펋펎펒",5,"펚펛펝펞펟펡",6,"펪펬펮"],["bc81","펯",4,"펵펶펷펹펺펻펽",6,"폆폇폊",5,"폑",5,"샥샨샬샴샵샷샹섀섄섈섐섕서",4,"섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭"],["bd41","폗폙",7,"폢폤",7,"폮폯폱폲폳폵폶폷"],["bd61","폸폹폺폻폾퐀퐂",5,"퐉",13],["bd81","퐗",5,"퐞",25,"숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰"],["be41","퐸",7,"푁푂푃푅",14],["be61","푔",7,"푝푞푟푡푢푣푥",7,"푮푰푱푲"],["be81","푳",4,"푺푻푽푾풁풃",4,"풊풌풎",5,"풕",8,"쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄",6,"엌엎"],["bf41","풞",10,"풪",14],["bf61","풹",18,"퓍퓎퓏퓑퓒퓓퓕"],["bf81","퓖",5,"퓝퓞퓠",7,"퓩퓪퓫퓭퓮퓯퓱",6,"퓹퓺퓼에엑엔엘엠엡엣엥여역엮연열엶엷염",5,"옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨"],["c041","퓾",5,"픅픆픇픉픊픋픍",6,"픖픘",5],["c061","픞",25],["c081","픸픹픺픻픾픿핁핂핃핅",6,"핎핐핒",5,"핚핛핝핞핟핡핢핣웩웬웰웸웹웽위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응",7,"읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊"],["c141","핤핦핧핪핬핮",5,"핶핷핹핺핻핽",6,"햆햊햋"],["c161","햌햍햎햏햑",19,"햦햧"],["c181","햨",31,"점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓"],["c241","헊헋헍헎헏헑헓",4,"헚헜헞",5,"헦헧헩헪헫헭헮"],["c261","헯",4,"헶헸헺",5,"혂혃혅혆혇혉",6,"혒"],["c281","혖",5,"혝혞혟혡혢혣혥",7,"혮",9,"혺혻징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻"],["c341","혽혾혿홁홂홃홄홆홇홊홌홎홏홐홒홓홖홗홙홚홛홝",4],["c361","홢",4,"홨홪",5,"홲홳홵",11],["c381","횁횂횄횆",5,"횎횏횑횒횓횕",7,"횞횠횢",5,"횩횪찼창찾채책챈챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층"],["c441","횫횭횮횯횱",7,"횺횼",7,"훆훇훉훊훋"],["c461","훍훎훏훐훒훓훕훖훘훚",5,"훡훢훣훥훦훧훩",4],["c481","훮훯훱훲훳훴훶",5,"훾훿휁휂휃휅",11,"휒휓휔치칙친칟칠칡침칩칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼"],["c541","휕휖휗휚휛휝휞휟휡",6,"휪휬휮",5,"휶휷휹"],["c561","휺휻휽",6,"흅흆흈흊",5,"흒흓흕흚",4],["c581","흟흢흤흦흧흨흪흫흭흮흯흱흲흳흵",6,"흾흿힀힂",5,"힊힋큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜"],["c641","힍힎힏힑",6,"힚힜힞",5],["c6a1","퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁"],["c7a1","퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠"],["c8a1","혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩희흰흴흼흽힁히힉힌힐힘힙힛힝"],["caa1","伽佳假價加可呵哥嘉嫁家暇架枷柯歌珂痂稼苛茄街袈訶賈跏軻迦駕刻却各恪慤殼珏脚覺角閣侃刊墾奸姦干幹懇揀杆柬桿澗癎看磵稈竿簡肝艮艱諫間乫喝曷渴碣竭葛褐蝎鞨勘坎堪嵌感憾戡敢柑橄減甘疳監瞰紺邯鑑鑒龕"],["cba1","匣岬甲胛鉀閘剛堈姜岡崗康强彊慷江畺疆糠絳綱羌腔舡薑襁講鋼降鱇介价個凱塏愷愾慨改槪漑疥皆盖箇芥蓋豈鎧開喀客坑更粳羹醵倨去居巨拒据據擧渠炬祛距踞車遽鉅鋸乾件健巾建愆楗腱虔蹇鍵騫乞傑杰桀儉劍劒檢"],["cca1","瞼鈐黔劫怯迲偈憩揭擊格檄激膈覡隔堅牽犬甄絹繭肩見譴遣鵑抉決潔結缺訣兼慊箝謙鉗鎌京俓倞傾儆勁勍卿坰境庚徑慶憬擎敬景暻更梗涇炅烱璟璥瓊痙硬磬竟競絅經耕耿脛莖警輕逕鏡頃頸驚鯨係啓堺契季屆悸戒桂械"],["cda1","棨溪界癸磎稽系繫繼計誡谿階鷄古叩告呱固姑孤尻庫拷攷故敲暠枯槁沽痼皐睾稿羔考股膏苦苽菰藁蠱袴誥賈辜錮雇顧高鼓哭斛曲梏穀谷鵠困坤崑昆梱棍滾琨袞鯤汨滑骨供公共功孔工恐恭拱控攻珙空蚣貢鞏串寡戈果瓜"],["cea1","科菓誇課跨過鍋顆廓槨藿郭串冠官寬慣棺款灌琯瓘管罐菅觀貫關館刮恝括适侊光匡壙廣曠洸炚狂珖筐胱鑛卦掛罫乖傀塊壞怪愧拐槐魁宏紘肱轟交僑咬喬嬌嶠巧攪敎校橋狡皎矯絞翹膠蕎蛟較轎郊餃驕鮫丘久九仇俱具勾"],["cfa1","區口句咎嘔坵垢寇嶇廐懼拘救枸柩構歐毆毬求溝灸狗玖球瞿矩究絿耉臼舅舊苟衢謳購軀逑邱鉤銶駒驅鳩鷗龜國局菊鞠鞫麴君窘群裙軍郡堀屈掘窟宮弓穹窮芎躬倦券勸卷圈拳捲權淃眷厥獗蕨蹶闕机櫃潰詭軌饋句晷歸貴"],["d0a1","鬼龜叫圭奎揆槻珪硅窺竅糾葵規赳逵閨勻均畇筠菌鈞龜橘克剋劇戟棘極隙僅劤勤懃斤根槿瑾筋芹菫覲謹近饉契今妗擒昑檎琴禁禽芩衾衿襟金錦伋及急扱汲級給亘兢矜肯企伎其冀嗜器圻基埼夔奇妓寄岐崎己幾忌技旗旣"],["d1a1","朞期杞棋棄機欺氣汽沂淇玘琦琪璂璣畸畿碁磯祁祇祈祺箕紀綺羈耆耭肌記譏豈起錡錤飢饑騎騏驥麒緊佶吉拮桔金喫儺喇奈娜懦懶拏拿癩",5,"那樂",4,"諾酪駱亂卵暖欄煖爛蘭難鸞捏捺南嵐枏楠湳濫男藍襤拉"],["d2a1","納臘蠟衲囊娘廊",4,"乃來內奈柰耐冷女年撚秊念恬拈捻寧寗努勞奴弩怒擄櫓爐瑙盧",5,"駑魯",10,"濃籠聾膿農惱牢磊腦賂雷尿壘",7,"嫩訥杻紐勒",5,"能菱陵尼泥匿溺多茶"],["d3a1","丹亶但單團壇彖斷旦檀段湍短端簞緞蛋袒鄲鍛撻澾獺疸達啖坍憺擔曇淡湛潭澹痰聃膽蕁覃談譚錟沓畓答踏遝唐堂塘幢戇撞棠當糖螳黨代垈坮大對岱帶待戴擡玳臺袋貸隊黛宅德悳倒刀到圖堵塗導屠島嶋度徒悼挑掉搗桃"],["d4a1","棹櫂淘渡滔濤燾盜睹禱稻萄覩賭跳蹈逃途道都鍍陶韜毒瀆牘犢獨督禿篤纛讀墩惇敦旽暾沌焞燉豚頓乭突仝冬凍動同憧東桐棟洞潼疼瞳童胴董銅兜斗杜枓痘竇荳讀豆逗頭屯臀芚遁遯鈍得嶝橙燈登等藤謄鄧騰喇懶拏癩羅"],["d5a1","蘿螺裸邏樂洛烙珞絡落諾酪駱丹亂卵欄欒瀾爛蘭鸞剌辣嵐擥攬欖濫籃纜藍襤覽拉臘蠟廊朗浪狼琅瑯螂郞來崍徠萊冷掠略亮倆兩凉梁樑粮粱糧良諒輛量侶儷勵呂廬慮戾旅櫚濾礪藜蠣閭驢驪麗黎力曆歷瀝礫轢靂憐戀攣漣"],["d6a1","煉璉練聯蓮輦連鍊冽列劣洌烈裂廉斂殮濂簾獵令伶囹寧岺嶺怜玲笭羚翎聆逞鈴零靈領齡例澧禮醴隷勞怒撈擄櫓潞瀘爐盧老蘆虜路輅露魯鷺鹵碌祿綠菉錄鹿麓論壟弄朧瀧瓏籠聾儡瀨牢磊賂賚賴雷了僚寮廖料燎療瞭聊蓼"],["d7a1","遼鬧龍壘婁屢樓淚漏瘻累縷蔞褸鏤陋劉旒柳榴流溜瀏琉瑠留瘤硫謬類六戮陸侖倫崙淪綸輪律慄栗率隆勒肋凜凌楞稜綾菱陵俚利厘吏唎履悧李梨浬犁狸理璃異痢籬罹羸莉裏裡里釐離鯉吝潾燐璘藺躪隣鱗麟林淋琳臨霖砬"],["d8a1","立笠粒摩瑪痲碼磨馬魔麻寞幕漠膜莫邈万卍娩巒彎慢挽晩曼滿漫灣瞞萬蔓蠻輓饅鰻唜抹末沫茉襪靺亡妄忘忙望網罔芒茫莽輞邙埋妹媒寐昧枚梅每煤罵買賣邁魅脈貊陌驀麥孟氓猛盲盟萌冪覓免冕勉棉沔眄眠綿緬面麵滅"],["d9a1","蔑冥名命明暝椧溟皿瞑茗蓂螟酩銘鳴袂侮冒募姆帽慕摸摹暮某模母毛牟牡瑁眸矛耗芼茅謀謨貌木沐牧目睦穆鶩歿沒夢朦蒙卯墓妙廟描昴杳渺猫竗苗錨務巫憮懋戊拇撫无楙武毋無珷畝繆舞茂蕪誣貿霧鵡墨默們刎吻問文"],["daa1","汶紊紋聞蚊門雯勿沕物味媚尾嵋彌微未梶楣渼湄眉米美薇謎迷靡黴岷悶愍憫敏旻旼民泯玟珉緡閔密蜜謐剝博拍搏撲朴樸泊珀璞箔粕縛膊舶薄迫雹駁伴半反叛拌搬攀斑槃泮潘班畔瘢盤盼磐磻礬絆般蟠返頒飯勃拔撥渤潑"],["dba1","發跋醱鉢髮魃倣傍坊妨尨幇彷房放方旁昉枋榜滂磅紡肪膀舫芳蒡蚌訪謗邦防龐倍俳北培徘拜排杯湃焙盃背胚裴裵褙賠輩配陪伯佰帛柏栢白百魄幡樊煩燔番磻繁蕃藩飜伐筏罰閥凡帆梵氾汎泛犯範范法琺僻劈壁擘檗璧癖"],["dca1","碧蘗闢霹便卞弁變辨辯邊別瞥鱉鼈丙倂兵屛幷昞昺柄棅炳甁病秉竝輧餠騈保堡報寶普步洑湺潽珤甫菩補褓譜輔伏僕匐卜宓復服福腹茯蔔複覆輹輻馥鰒本乶俸奉封峯峰捧棒烽熢琫縫蓬蜂逢鋒鳳不付俯傅剖副否咐埠夫婦"],["dda1","孚孵富府復扶敷斧浮溥父符簿缶腐腑膚艀芙莩訃負賦賻赴趺部釜阜附駙鳧北分吩噴墳奔奮忿憤扮昐汾焚盆粉糞紛芬賁雰不佛弗彿拂崩朋棚硼繃鵬丕備匕匪卑妃婢庇悲憊扉批斐枇榧比毖毗毘沸泌琵痺砒碑秕秘粃緋翡肥"],["dea1","脾臂菲蜚裨誹譬費鄙非飛鼻嚬嬪彬斌檳殯浜濱瀕牝玭貧賓頻憑氷聘騁乍事些仕伺似使俟僿史司唆嗣四士奢娑寫寺射巳師徙思捨斜斯柶査梭死沙泗渣瀉獅砂社祀祠私篩紗絲肆舍莎蓑蛇裟詐詞謝賜赦辭邪飼駟麝削數朔索"],["dfa1","傘刪山散汕珊産疝算蒜酸霰乷撒殺煞薩三參杉森渗芟蔘衫揷澁鈒颯上傷像償商喪嘗孀尙峠常床庠廂想桑橡湘爽牀狀相祥箱翔裳觴詳象賞霜塞璽賽嗇塞穡索色牲生甥省笙墅壻嶼序庶徐恕抒捿敍暑曙書栖棲犀瑞筮絮緖署"],["e0a1","胥舒薯西誓逝鋤黍鼠夕奭席惜昔晳析汐淅潟石碩蓆釋錫仙僊先善嬋宣扇敾旋渲煽琁瑄璇璿癬禪線繕羨腺膳船蘚蟬詵跣選銑鐥饍鮮卨屑楔泄洩渫舌薛褻設說雪齧剡暹殲纖蟾贍閃陝攝涉燮葉城姓宬性惺成星晟猩珹盛省筬"],["e1a1","聖聲腥誠醒世勢歲洗稅笹細說貰召嘯塑宵小少巢所掃搔昭梳沼消溯瀟炤燒甦疏疎瘙笑篠簫素紹蔬蕭蘇訴逍遡邵銷韶騷俗屬束涑粟續謖贖速孫巽損蓀遜飡率宋悚松淞訟誦送頌刷殺灑碎鎖衰釗修受嗽囚垂壽嫂守岫峀帥愁"],["e2a1","戍手授搜收數樹殊水洙漱燧狩獸琇璲瘦睡秀穗竪粹綏綬繡羞脩茱蒐蓚藪袖誰讐輸遂邃酬銖銹隋隧隨雖需須首髓鬚叔塾夙孰宿淑潚熟琡璹肅菽巡徇循恂旬栒楯橓殉洵淳珣盾瞬筍純脣舜荀蓴蕣詢諄醇錞順馴戌術述鉥崇崧"],["e3a1","嵩瑟膝蝨濕拾習褶襲丞乘僧勝升承昇繩蠅陞侍匙嘶始媤尸屎屍市弑恃施是時枾柴猜矢示翅蒔蓍視試詩諡豕豺埴寔式息拭植殖湜熄篒蝕識軾食飾伸侁信呻娠宸愼新晨燼申神紳腎臣莘薪藎蜃訊身辛辰迅失室實悉審尋心沁"],["e4a1","沈深瀋甚芯諶什十拾雙氏亞俄兒啞娥峨我牙芽莪蛾衙訝阿雅餓鴉鵝堊岳嶽幄惡愕握樂渥鄂鍔顎鰐齷安岸按晏案眼雁鞍顔鮟斡謁軋閼唵岩巖庵暗癌菴闇壓押狎鴨仰央怏昻殃秧鴦厓哀埃崖愛曖涯碍艾隘靄厄扼掖液縊腋額"],["e5a1","櫻罌鶯鸚也倻冶夜惹揶椰爺耶若野弱掠略約若葯蒻藥躍亮佯兩凉壤孃恙揚攘敭暘梁楊樣洋瀁煬痒瘍禳穰糧羊良襄諒讓釀陽量養圄御於漁瘀禦語馭魚齬億憶抑檍臆偃堰彦焉言諺孼蘖俺儼嚴奄掩淹嶪業円予余勵呂女如廬"],["e6a1","旅歟汝濾璵礖礪與艅茹輿轝閭餘驪麗黎亦力域役易曆歷疫繹譯轢逆驛嚥堧姸娟宴年延憐戀捐挻撚椽沇沿涎涓淵演漣烟然煙煉燃燕璉硏硯秊筵緣練縯聯衍軟輦蓮連鉛鍊鳶列劣咽悅涅烈熱裂說閱厭廉念捻染殮炎焰琰艶苒"],["e7a1","簾閻髥鹽曄獵燁葉令囹塋寧嶺嶸影怜映暎楹榮永泳渶潁濚瀛瀯煐營獰玲瑛瑩瓔盈穎纓羚聆英詠迎鈴鍈零霙靈領乂倪例刈叡曳汭濊猊睿穢芮藝蘂禮裔詣譽豫醴銳隸霓預五伍俉傲午吾吳嗚塢墺奧娛寤悟惡懊敖旿晤梧汚澳"],["e8a1","烏熬獒筽蜈誤鰲鼇屋沃獄玉鈺溫瑥瘟穩縕蘊兀壅擁瓮甕癰翁邕雍饔渦瓦窩窪臥蛙蝸訛婉完宛梡椀浣玩琓琬碗緩翫脘腕莞豌阮頑曰往旺枉汪王倭娃歪矮外嵬巍猥畏了僚僥凹堯夭妖姚寥寮尿嶢拗搖撓擾料曜樂橈燎燿瑤療"],["e9a1","窈窯繇繞耀腰蓼蟯要謠遙遼邀饒慾欲浴縟褥辱俑傭冗勇埇墉容庸慂榕涌湧溶熔瑢用甬聳茸蓉踊鎔鏞龍于佑偶優又友右宇寓尤愚憂旴牛玗瑀盂祐禑禹紆羽芋藕虞迂遇郵釪隅雨雩勖彧旭昱栯煜稶郁頊云暈橒殞澐熉耘芸蕓"],["eaa1","運隕雲韻蔚鬱亐熊雄元原員圓園垣媛嫄寃怨愿援沅洹湲源爰猿瑗苑袁轅遠阮院願鴛月越鉞位偉僞危圍委威尉慰暐渭爲瑋緯胃萎葦蔿蝟衛褘謂違韋魏乳侑儒兪劉唯喩孺宥幼幽庾悠惟愈愉揄攸有杻柔柚柳楡楢油洧流游溜"],["eba1","濡猶猷琉瑜由留癒硫紐維臾萸裕誘諛諭踰蹂遊逾遺酉釉鍮類六堉戮毓肉育陸倫允奫尹崙淪潤玧胤贇輪鈗閏律慄栗率聿戎瀜絨融隆垠恩慇殷誾銀隱乙吟淫蔭陰音飮揖泣邑凝應膺鷹依倚儀宜意懿擬椅毅疑矣義艤薏蟻衣誼"],["eca1","議醫二以伊利吏夷姨履已弛彛怡易李梨泥爾珥理異痍痢移罹而耳肄苡荑裏裡貽貳邇里離飴餌匿溺瀷益翊翌翼謚人仁刃印吝咽因姻寅引忍湮燐璘絪茵藺蚓認隣靭靷鱗麟一佚佾壹日溢逸鎰馹任壬妊姙恁林淋稔臨荏賃入卄"],["eda1","立笠粒仍剩孕芿仔刺咨姉姿子字孜恣慈滋炙煮玆瓷疵磁紫者自茨蔗藉諮資雌作勺嚼斫昨灼炸爵綽芍酌雀鵲孱棧殘潺盞岑暫潛箴簪蠶雜丈仗匠場墻壯奬將帳庄張掌暲杖樟檣欌漿牆狀獐璋章粧腸臟臧莊葬蔣薔藏裝贓醬長"],["eea1","障再哉在宰才材栽梓渽滓災縡裁財載齋齎爭箏諍錚佇低儲咀姐底抵杵楮樗沮渚狙猪疽箸紵苧菹著藷詛貯躇這邸雎齟勣吊嫡寂摘敵滴狄炙的積笛籍績翟荻謫賊赤跡蹟迪迹適鏑佃佺傳全典前剪塡塼奠專展廛悛戰栓殿氈澱"],["efa1","煎琠田甸畑癲筌箋箭篆纏詮輾轉鈿銓錢鐫電顚顫餞切截折浙癤竊節絶占岾店漸点粘霑鮎點接摺蝶丁井亭停偵呈姃定幀庭廷征情挺政整旌晶晸柾楨檉正汀淀淨渟湞瀞炡玎珽町睛碇禎程穽精綎艇訂諪貞鄭酊釘鉦鋌錠霆靖"],["f0a1","靜頂鼎制劑啼堤帝弟悌提梯濟祭第臍薺製諸蹄醍除際霽題齊俎兆凋助嘲弔彫措操早晁曺曹朝條棗槽漕潮照燥爪璪眺祖祚租稠窕粗糟組繰肇藻蚤詔調趙躁造遭釣阻雕鳥族簇足鏃存尊卒拙猝倧宗從悰慫棕淙琮種終綜縱腫"],["f1a1","踪踵鍾鐘佐坐左座挫罪主住侏做姝胄呪周嗾奏宙州廚晝朱柱株注洲湊澍炷珠疇籌紂紬綢舟蛛註誅走躊輳週酎酒鑄駐竹粥俊儁准埈寯峻晙樽浚準濬焌畯竣蠢逡遵雋駿茁中仲衆重卽櫛楫汁葺增憎曾拯烝甑症繒蒸證贈之只"],["f2a1","咫地址志持指摯支旨智枝枳止池沚漬知砥祉祗紙肢脂至芝芷蜘誌識贄趾遲直稙稷織職唇嗔塵振搢晉晋桭榛殄津溱珍瑨璡畛疹盡眞瞋秦縉縝臻蔯袗診賑軫辰進鎭陣陳震侄叱姪嫉帙桎瓆疾秩窒膣蛭質跌迭斟朕什執潗緝輯"],["f3a1","鏶集徵懲澄且侘借叉嗟嵯差次此磋箚茶蹉車遮捉搾着窄錯鑿齪撰澯燦璨瓚竄簒纂粲纘讚贊鑽餐饌刹察擦札紮僭參塹慘慙懺斬站讒讖倉倡創唱娼廠彰愴敞昌昶暢槍滄漲猖瘡窓脹艙菖蒼債埰寀寨彩採砦綵菜蔡采釵冊柵策"],["f4a1","責凄妻悽處倜刺剔尺慽戚拓擲斥滌瘠脊蹠陟隻仟千喘天川擅泉淺玔穿舛薦賤踐遷釧闡阡韆凸哲喆徹撤澈綴輟轍鐵僉尖沾添甛瞻簽籤詹諂堞妾帖捷牒疊睫諜貼輒廳晴淸聽菁請靑鯖切剃替涕滯締諦逮遞體初剿哨憔抄招梢"],["f5a1","椒楚樵炒焦硝礁礎秒稍肖艸苕草蕉貂超酢醋醮促囑燭矗蜀觸寸忖村邨叢塚寵悤憁摠總聰蔥銃撮催崔最墜抽推椎楸樞湫皺秋芻萩諏趨追鄒酋醜錐錘鎚雛騶鰍丑畜祝竺筑築縮蓄蹙蹴軸逐春椿瑃出朮黜充忠沖蟲衝衷悴膵萃"],["f6a1","贅取吹嘴娶就炊翠聚脆臭趣醉驟鷲側仄厠惻測層侈値嗤峙幟恥梔治淄熾痔痴癡稚穉緇緻置致蚩輜雉馳齒則勅飭親七柒漆侵寢枕沈浸琛砧針鍼蟄秤稱快他咤唾墮妥惰打拖朶楕舵陀馱駝倬卓啄坼度托拓擢晫柝濁濯琢琸託"],["f7a1","鐸呑嘆坦彈憚歎灘炭綻誕奪脫探眈耽貪塔搭榻宕帑湯糖蕩兌台太怠態殆汰泰笞胎苔跆邰颱宅擇澤撑攄兎吐土討慟桶洞痛筒統通堆槌腿褪退頹偸套妬投透鬪慝特闖坡婆巴把播擺杷波派爬琶破罷芭跛頗判坂板版瓣販辦鈑"],["f8a1","阪八叭捌佩唄悖敗沛浿牌狽稗覇貝彭澎烹膨愎便偏扁片篇編翩遍鞭騙貶坪平枰萍評吠嬖幣廢弊斃肺蔽閉陛佈包匍匏咆哺圃布怖抛抱捕暴泡浦疱砲胞脯苞葡蒲袍褒逋鋪飽鮑幅暴曝瀑爆輻俵剽彪慓杓標漂瓢票表豹飇飄驃"],["f9a1","品稟楓諷豊風馮彼披疲皮被避陂匹弼必泌珌畢疋筆苾馝乏逼下何厦夏廈昰河瑕荷蝦賀遐霞鰕壑學虐謔鶴寒恨悍旱汗漢澣瀚罕翰閑閒限韓割轄函含咸啣喊檻涵緘艦銜陷鹹合哈盒蛤閤闔陜亢伉姮嫦巷恒抗杭桁沆港缸肛航"],["faa1","行降項亥偕咳垓奚孩害懈楷海瀣蟹解該諧邂駭骸劾核倖幸杏荇行享向嚮珦鄕響餉饗香噓墟虛許憲櫶獻軒歇險驗奕爀赫革俔峴弦懸晛泫炫玄玹現眩睍絃絢縣舷衒見賢鉉顯孑穴血頁嫌俠協夾峽挾浹狹脅脇莢鋏頰亨兄刑型"],["fba1","形泂滎瀅灐炯熒珩瑩荊螢衡逈邢鎣馨兮彗惠慧暳蕙蹊醯鞋乎互呼壕壺好岵弧戶扈昊晧毫浩淏湖滸澔濠濩灝狐琥瑚瓠皓祜糊縞胡芦葫蒿虎號蝴護豪鎬頀顥惑或酷婚昏混渾琿魂忽惚笏哄弘汞泓洪烘紅虹訌鴻化和嬅樺火畵"],["fca1","禍禾花華話譁貨靴廓擴攫確碻穫丸喚奐宦幻患換歡晥桓渙煥環紈還驩鰥活滑猾豁闊凰幌徨恍惶愰慌晃晄榥況湟滉潢煌璜皇篁簧荒蝗遑隍黃匯回廻徊恢悔懷晦會檜淮澮灰獪繪膾茴蛔誨賄劃獲宖橫鐄哮嚆孝效斅曉梟涍淆"],["fda1","爻肴酵驍侯候厚后吼喉嗅帿後朽煦珝逅勛勳塤壎焄熏燻薰訓暈薨喧暄煊萱卉喙毁彙徽揮暉煇諱輝麾休携烋畦虧恤譎鷸兇凶匈洶胸黑昕欣炘痕吃屹紇訖欠欽歆吸恰洽翕興僖凞喜噫囍姬嬉希憙憘戱晞曦熙熹熺犧禧稀羲詰"]]')},function(e){e.exports=JSON.parse('[["8740","䏰䰲䘃䖦䕸𧉧䵷䖳𧲱䳢𧳅㮕䜶䝄䱇䱀𤊿𣘗𧍒𦺋𧃒䱗𪍑䝏䗚䲅𧱬䴇䪤䚡𦬣爥𥩔𡩣𣸆𣽡晍囻"],["8767","綕夝𨮹㷴霴𧯯寛𡵞媤㘥𩺰嫑宷峼杮薓𩥅瑡璝㡵𡵓𣚞𦀡㻬"],["87a1","𥣞㫵竼龗𤅡𨤍𣇪𠪊𣉞䌊蒄龖鐯䤰蘓墖靊鈘秐稲晠権袝瑌篅枂稬剏遆㓦珄𥶹瓆鿇垳䤯呌䄱𣚎堘穲𧭥讏䚮𦺈䆁𥶙箮𢒼鿈𢓁𢓉𢓌鿉蔄𣖻䂴鿊䓡𪷿拁灮鿋"],["8840","㇀",4,"𠄌㇅𠃑𠃍㇆㇇𠃋𡿨㇈𠃊㇉㇊㇋㇌𠄎㇍㇎ĀÁǍÀĒÉĚÈŌÓǑÒ࿿Ê̄Ế࿿Ê̌ỀÊāáǎàɑēéěèīíǐìōóǒòūúǔùǖǘǚ"],["88a1","ǜü࿿ê̄ế࿿ê̌ềêɡ⏚⏛"],["8940","𪎩𡅅"],["8943","攊"],["8946","丽滝鵎釟"],["894c","𧜵撑会伨侨兖兴农凤务动医华发变团声处备夲头学实実岚庆总斉柾栄桥济炼电纤纬纺织经统缆缷艺苏药视设询车轧轮"],["89a1","琑糼緍楆竉刧"],["89ab","醌碸酞肼"],["89b0","贋胶𠧧"],["89b5","肟黇䳍鷉鸌䰾𩷶𧀎鸊𪄳㗁"],["89c1","溚舾甙"],["89c5","䤑马骏龙禇𨑬𡷊𠗐𢫦两亁亀亇亿仫伷㑌侽㹈倃傈㑽㒓㒥円夅凛凼刅争剹劐匧㗇厩㕑厰㕓参吣㕭㕲㚁咓咣咴咹哐哯唘唣唨㖘唿㖥㖿嗗㗅"],["8a40","𧶄唥"],["8a43","𠱂𠴕𥄫喐𢳆㧬𠍁蹆𤶸𩓥䁓𨂾睺𢰸㨴䟕𨅝𦧲𤷪擝𠵼𠾴𠳕𡃴撍蹾𠺖𠰋𠽤𢲩𨉖𤓓"],["8a64","𠵆𩩍𨃩䟴𤺧𢳂骲㩧𩗴㿭㔆𥋇𩟔𧣈𢵄鵮頕"],["8a76","䏙𦂥撴哣𢵌𢯊𡁷㧻𡁯"],["8aa1","𦛚𦜖𧦠擪𥁒𠱃蹨𢆡𨭌𠜱"],["8aac","䠋𠆩㿺塳𢶍"],["8ab2","𤗈𠓼𦂗𠽌𠶖啹䂻䎺"],["8abb","䪴𢩦𡂝膪飵𠶜捹㧾𢝵跀嚡摼㹃"],["8ac9","𪘁𠸉𢫏𢳉"],["8ace","𡃈𣧂㦒㨆𨊛㕸𥹉𢃇噒𠼱𢲲𩜠㒼氽𤸻"],["8adf","𧕴𢺋𢈈𪙛𨳍𠹺𠰴𦠜羓𡃏𢠃𢤹㗻𥇣𠺌𠾍𠺪㾓𠼰𠵇𡅏𠹌"],["8af6","𠺫𠮩𠵈𡃀𡄽㿹𢚖搲𠾭"],["8b40","𣏴𧘹𢯎𠵾𠵿𢱑𢱕㨘𠺘𡃇𠼮𪘲𦭐𨳒𨶙𨳊閪哌苄喹"],["8b55","𩻃鰦骶𧝞𢷮煀腭胬尜𦕲脴㞗卟𨂽醶𠻺𠸏𠹷𠻻㗝𤷫㘉𠳖嚯𢞵𡃉𠸐𠹸𡁸𡅈𨈇𡑕𠹹𤹐𢶤婔𡀝𡀞𡃵𡃶垜𠸑"],["8ba1","𧚔𨋍𠾵𠹻𥅾㜃𠾶𡆀𥋘𪊽𤧚𡠺𤅷𨉼墙剨㘚𥜽箲孨䠀䬬鼧䧧鰟鮍𥭴𣄽嗻㗲嚉丨夂𡯁屮靑𠂆乛亻㔾尣彑忄㣺扌攵歺氵氺灬爫丬犭𤣩罒礻糹罓𦉪㓁"],["8bde","𦍋耂肀𦘒𦥑卝衤见𧢲讠贝钅镸长门𨸏韦页风飞饣𩠐鱼鸟黄歯龜丷𠂇阝户钢"],["8c40","倻淾𩱳龦㷉袏𤅎灷峵䬠𥇍㕙𥴰愢𨨲辧釶熑朙玺𣊁𪄇㲋𡦀䬐磤琂冮𨜏䀉橣𪊺䈣蘏𠩯稪𩥇𨫪靕灍匤𢁾鏴盙𨧣龧矝亣俰傼丯众龨吴綋墒壐𡶶庒庙忂𢜒斋"],["8ca1","𣏹椙橃𣱣泿"],["8ca7","爀𤔅玌㻛𤨓嬕璹讃𥲤𥚕窓篬糃繬苸薗龩袐龪躹龫迏蕟駠鈡龬𨶹𡐿䁱䊢娚"],["8cc9","顨杫䉶圽"],["8cce","藖𤥻芿𧄍䲁𦵴嵻𦬕𦾾龭龮宖龯曧繛湗秊㶈䓃𣉖𢞖䎚䔶"],["8ce6","峕𣬚諹屸㴒𣕑嵸龲煗䕘𤃬𡸣䱷㥸㑊𠆤𦱁諌侴𠈹妿腬顖𩣺弻"],["8d40","𠮟"],["8d42","𢇁𨥭䄂䚻𩁹㼇龳𪆵䃸㟖䛷𦱆䅼𨚲𧏿䕭㣔𥒚䕡䔛䶉䱻䵶䗪㿈𤬏㙡䓞䒽䇭崾嵈嵖㷼㠏嶤嶹㠠㠸幂庽弥徃㤈㤔㤿㥍惗愽峥㦉憷憹懏㦸戬抐拥挘㧸嚱"],["8da1","㨃揢揻搇摚㩋擀崕嘡龟㪗斆㪽旿晓㫲暒㬢朖㭂枤栀㭘桊梄㭲㭱㭻椉楃牜楤榟榅㮼槖㯝橥橴橱檂㯬檙㯲檫檵櫔櫶殁毁毪汵沪㳋洂洆洦涁㳯涤涱渕渘温溆𨧀溻滢滚齿滨滩漤漴㵆𣽁澁澾㵪㵵熷岙㶊瀬㶑灐灔灯灿炉𠌥䏁㗱𠻘"],["8e40","𣻗垾𦻓焾𥟠㙎榢𨯩孴穉𥣡𩓙穥穽𥦬窻窰竂竃燑𦒍䇊竚竝竪䇯咲𥰁笋筕笩𥌎𥳾箢筯莜𥮴𦱿篐萡箒箸𥴠㶭𥱥蒒篺簆簵𥳁籄粃𤢂粦晽𤕸糉糇糦籴糳糵糎"],["8ea1","繧䔝𦹄絝𦻖璍綉綫焵綳緒𤁗𦀩緤㴓緵𡟹緥𨍭縝𦄡𦅚繮纒䌫鑬縧罀罁罇礶𦋐駡羗𦍑羣𡙡𠁨䕜𣝦䔃𨌺翺𦒉者耈耝耨耯𪂇𦳃耻耼聡𢜔䦉𦘦𣷣𦛨朥肧𨩈脇脚墰𢛶汿𦒘𤾸擧𡒊舘𡡞橓𤩥𤪕䑺舩𠬍𦩒𣵾俹𡓽蓢荢𦬊𤦧𣔰𡝳𣷸芪椛芳䇛"],["8f40","蕋苐茚𠸖𡞴㛁𣅽𣕚艻苢茘𣺋𦶣𦬅𦮗𣗎㶿茝嗬莅䔋𦶥莬菁菓㑾𦻔橗蕚㒖𦹂𢻯葘𥯤葱㷓䓤檧葊𣲵祘蒨𦮖𦹷𦹃蓞萏莑䒠蒓蓤𥲑䉀𥳀䕃蔴嫲𦺙䔧蕳䔖枿蘖"],["8fa1","𨘥𨘻藁𧂈蘂𡖂𧃍䕫䕪蘨㙈𡢢号𧎚虾蝱𪃸蟮𢰧螱蟚蠏噡虬桖䘏衅衆𧗠𣶹𧗤衞袜䙛袴袵揁装睷𧜏覇覊覦覩覧覼𨨥觧𧤤𧪽誜瞓釾誐𧩙竩𧬺𣾏䜓𧬸煼謌謟𥐰𥕥謿譌譍誩𤩺讐讛誯𡛟䘕衏貛𧵔𧶏貫㜥𧵓賖𧶘𧶽贒贃𡤐賛灜贑𤳉㻐起"],["9040","趩𨀂𡀔𤦊㭼𨆼𧄌竧躭躶軃鋔輙輭𨍥𨐒辥錃𪊟𠩐辳䤪𨧞𨔽𣶻廸𣉢迹𪀔𨚼𨔁𢌥㦀𦻗逷𨔼𧪾遡𨕬𨘋邨𨜓郄𨛦邮都酧㫰醩釄粬𨤳𡺉鈎沟鉁鉢𥖹銹𨫆𣲛𨬌𥗛"],["90a1","𠴱錬鍫𨫡𨯫炏嫃𨫢𨫥䥥鉄𨯬𨰹𨯿鍳鑛躼閅閦鐦閠濶䊹𢙺𨛘𡉼𣸮䧟氜陻隖䅬隣𦻕懚隶磵𨫠隽双䦡𦲸𠉴𦐐𩂯𩃥𤫑𡤕𣌊霱虂霶䨏䔽䖅𤫩灵孁霛靜𩇕靗孊𩇫靟鐥僐𣂷𣂼鞉鞟鞱鞾韀韒韠𥑬韮琜𩐳響韵𩐝𧥺䫑頴頳顋顦㬎𧅵㵑𠘰𤅜"],["9140","𥜆飊颷飈飇䫿𦴧𡛓喰飡飦飬鍸餹𤨩䭲𩡗𩤅駵騌騻騐驘𥜥㛄𩂱𩯕髠髢𩬅髴䰎鬔鬭𨘀倴鬴𦦨㣃𣁽魐魀𩴾婅𡡣鮎𤉋鰂鯿鰌𩹨鷔𩾷𪆒𪆫𪃡𪄣𪇟鵾鶃𪄴鸎梈"],["91a1","鷄𢅛𪆓𪈠𡤻𪈳鴹𪂹𪊴麐麕麞麢䴴麪麯𤍤黁㭠㧥㴝伲㞾𨰫鼂鼈䮖鐤𦶢鼗鼖鼹嚟嚊齅馸𩂋韲葿齢齩竜龎爖䮾𤥵𤦻煷𤧸𤍈𤩑玞𨯚𡣺禟𨥾𨸶鍩鏳𨩄鋬鎁鏋𨥬𤒹爗㻫睲穃烐𤑳𤏸煾𡟯炣𡢾𣖙㻇𡢅𥐯𡟸㜢𡛻𡠹㛡𡝴𡣑𥽋㜣𡛀坛𤨥𡏾𡊨"],["9240","𡏆𡒶蔃𣚦蔃葕𤦔𧅥𣸱𥕜𣻻𧁒䓴𣛮𩦝𦼦柹㜳㰕㷧塬𡤢栐䁗𣜿𤃡𤂋𤄏𦰡哋嚞𦚱嚒𠿟𠮨𠸍鏆𨬓鎜仸儫㠙𤐶亼𠑥𠍿佋侊𥙑婨𠆫𠏋㦙𠌊𠐔㐵伩𠋀𨺳𠉵諚𠈌亘"],["92a1","働儍侢伃𤨎𣺊佂倮偬傁俌俥偘僼兙兛兝兞湶𣖕𣸹𣺿浲𡢄𣺉冨凃𠗠䓝𠒣𠒒𠒑赺𨪜𠜎剙劤𠡳勡鍮䙺熌𤎌𠰠𤦬𡃤槑𠸝瑹㻞璙琔瑖玘䮎𤪼𤂍叐㖄爏𤃉喴𠍅响𠯆圝鉝雴鍦埝垍坿㘾壋媙𨩆𡛺𡝯𡜐娬妸銏婾嫏娒𥥆𡧳𡡡𤊕㛵洅瑃娡𥺃"],["9340","媁𨯗𠐓鏠璌𡌃焅䥲鐈𨧻鎽㞠尞岞幞幈𡦖𡥼𣫮廍孏𡤃𡤄㜁𡢠㛝𡛾㛓脪𨩇𡶺𣑲𨦨弌弎𡤧𡞫婫𡜻孄蘔𧗽衠恾𢡠𢘫忛㺸𢖯𢖾𩂈𦽳懀𠀾𠁆𢘛憙憘恵𢲛𢴇𤛔𩅍"],["93a1","摱𤙥𢭪㨩𢬢𣑐𩣪𢹸挷𪑛撶挱揑𤧣𢵧护𢲡搻敫楲㯴𣂎𣊭𤦉𣊫唍𣋠𡣙𩐿曎𣊉𣆳㫠䆐𥖄𨬢𥖏𡛼𥕛𥐥磮𣄃𡠪𣈴㑤𣈏𣆂𤋉暎𦴤晫䮓昰𧡰𡷫晣𣋒𣋡昞𥡲㣑𣠺𣞼㮙𣞢𣏾瓐㮖枏𤘪梶栞㯄檾㡣𣟕𤒇樳橒櫉欅𡤒攑梘橌㯗橺歗𣿀𣲚鎠鋲𨯪𨫋"],["9440","銉𨀞𨧜鑧涥漋𤧬浧𣽿㶏渄𤀼娽渊塇洤硂焻𤌚𤉶烱牐犇犔𤞏𤜥兹𤪤𠗫瑺𣻸𣙟𤩊𤤗𥿡㼆㺱𤫟𨰣𣼵悧㻳瓌琼鎇琷䒟𦷪䕑疃㽣𤳙𤴆㽘畕癳𪗆㬙瑨𨫌𤦫𤦎㫻"],["94a1","㷍𤩎㻿𤧅𤣳釺圲鍂𨫣𡡤僟𥈡𥇧睸𣈲眎眏睻𤚗𣞁㩞𤣰琸璛㺿𤪺𤫇䃈𤪖𦆮錇𥖁砞碍碈磒珐祙𧝁𥛣䄎禛蒖禥樭𣻺稺秴䅮𡛦䄲鈵秱𠵌𤦌𠊙𣶺𡝮㖗啫㕰㚪𠇔𠰍竢婙𢛵𥪯𥪜娍𠉛磰娪𥯆竾䇹籝籭䈑𥮳𥺼𥺦糍𤧹𡞰粎籼粮檲緜縇緓罎𦉡"],["9540","𦅜𧭈綗𥺂䉪𦭵𠤖柖𠁎𣗏埄𦐒𦏸𤥢翝笧𠠬𥫩𥵃笌𥸎駦虅驣樜𣐿㧢𤧷𦖭騟𦖠蒀𧄧𦳑䓪脷䐂胆脉腂𦞴飃𦩂艢艥𦩑葓𦶧蘐𧈛媆䅿𡡀嬫𡢡嫤𡣘蚠蜨𣶏蠭𧐢娂"],["95a1","衮佅袇袿裦襥襍𥚃襔𧞅𧞄𨯵𨯙𨮜𨧹㺭蒣䛵䛏㟲訽訜𩑈彍鈫𤊄旔焩烄𡡅鵭貟賩𧷜妚矃姰䍮㛔踪躧𤰉輰轊䋴汘澻𢌡䢛潹溋𡟚鯩㚵𤤯邻邗啱䤆醻鐄𨩋䁢𨫼鐧𨰝𨰻蓥訫閙閧閗閖𨴴瑅㻂𤣿𤩂𤏪㻧𣈥随𨻧𨹦𨹥㻌𤧭𤩸𣿮琒瑫㻼靁𩂰"],["9640","桇䨝𩂓𥟟靝鍨𨦉𨰦𨬯𦎾銺嬑譩䤼珹𤈛鞛靱餸𠼦巁𨯅𤪲頟𩓚鋶𩗗釥䓀𨭐𤩧𨭤飜𨩅㼀鈪䤥萔餻饍𧬆㷽馛䭯馪驜𨭥𥣈檏騡嫾騯𩣱䮐𩥈馼䮽䮗鍽塲𡌂堢𤦸"],["96a1","𡓨硄𢜟𣶸棅㵽鑘㤧慐𢞁𢥫愇鱏鱓鱻鰵鰐魿鯏𩸭鮟𪇵𪃾鴡䲮𤄄鸘䲰鴌𪆴𪃭𪃳𩤯鶥蒽𦸒𦿟𦮂藼䔳𦶤𦺄𦷰萠藮𦸀𣟗𦁤秢𣖜𣙀䤭𤧞㵢鏛銾鍈𠊿碹鉷鑍俤㑀遤𥕝砽硔碶硋𡝗𣇉𤥁㚚佲濚濙瀞瀞吔𤆵垻壳垊鴖埗焴㒯𤆬燫𦱀𤾗嬨𡞵𨩉"],["9740","愌嫎娋䊼𤒈㜬䭻𨧼鎻鎸𡣖𠼝葲𦳀𡐓𤋺𢰦𤏁妔𣶷𦝁綨𦅛𦂤𤦹𤦋𨧺鋥珢㻩璴𨭣𡢟㻡𤪳櫘珳珻㻖𤨾𤪔𡟙𤩦𠎧𡐤𤧥瑈𤤖炥𤥶銄珦鍟𠓾錱𨫎𨨖鎆𨯧𥗕䤵𨪂煫"],["97a1","𤥃𠳿嚤𠘚𠯫𠲸唂秄𡟺緾𡛂𤩐𡡒䔮鐁㜊𨫀𤦭妰𡢿𡢃𧒄媡㛢𣵛㚰鉟婹𨪁𡡢鍴㳍𠪴䪖㦊僴㵩㵌𡎜煵䋻𨈘渏𩃤䓫浗𧹏灧沯㳖𣿭𣸭渂漌㵯𠏵畑㚼㓈䚀㻚䡱姄鉮䤾轁𨰜𦯀堒埈㛖𡑒烾𤍢𤩱𢿣𡊰𢎽梹楧𡎘𣓥𧯴𣛟𨪃𣟖𣏺𤲟樚𣚭𦲷萾䓟䓎"],["9840","𦴦𦵑𦲂𦿞漗𧄉茽𡜺菭𦲀𧁓𡟛妉媂𡞳婡婱𡤅𤇼㜭姯𡜼㛇熎鎐暚𤊥婮娫𤊓樫𣻹𧜶𤑛𤋊焝𤉙𨧡侰𦴨峂𤓎𧹍𤎽樌𤉖𡌄炦焳𤏩㶥泟勇𤩏繥姫崯㷳彜𤩝𡟟綤萦"],["98a1","咅𣫺𣌀𠈔坾𠣕𠘙㿥𡾞𪊶瀃𩅛嵰玏糓𨩙𩐠俈翧狍猐𧫴猸猹𥛶獁獈㺩𧬘遬燵𤣲珡臶㻊県㻑沢国琙琞琟㻢㻰㻴㻺瓓㼎㽓畂畭畲疍㽼痈痜㿀癍㿗癴㿜発𤽜熈嘣覀塩䀝睃䀹条䁅㗛瞘䁪䁯属瞾矋売砘点砜䂨砹硇硑硦葈𥔵礳栃礲䄃"],["9940","䄉禑禙辻稆込䅧窑䆲窼艹䇄竏竛䇏両筢筬筻簒簛䉠䉺类粜䊌粸䊔糭输烀𠳏総緔緐緽羮羴犟䎗耠耥笹耮耱联㷌垴炠肷胩䏭脌猪脎脒畠脔䐁㬹腖腙腚"],["99a1","䐓堺腼膄䐥膓䐭膥埯臁臤艔䒏芦艶苊苘苿䒰荗险榊萅烵葤惣蒈䔄蒾蓡蓸蔐蔸蕒䔻蕯蕰藠䕷虲蚒蚲蛯际螋䘆䘗袮裿褤襇覑𧥧訩訸誔誴豑賔賲贜䞘塟跃䟭仮踺嗘坔蹱嗵躰䠷軎転軤軭軲辷迁迊迌逳駄䢭飠鈓䤞鈨鉘鉫銱銮銿"],["9a40","鋣鋫鋳鋴鋽鍃鎄鎭䥅䥑麿鐗匁鐝鐭鐾䥪鑔鑹锭関䦧间阳䧥枠䨤靀䨵鞲韂噔䫤惨颹䬙飱塄餎餙冴餜餷饂饝饢䭰駅䮝騼鬏窃魩鮁鯝鯱鯴䱭鰠㝯𡯂鵉鰺"],["9aa1","黾噐鶓鶽鷀鷼银辶鹻麬麱麽黆铜黢黱黸竈齄𠂔𠊷𠎠椚铃妬𠓗塀铁㞹𠗕𠘕𠙶𡚺块煳𠫂𠫍𠮿呪吆𠯋咞𠯻𠰻𠱓𠱥𠱼惧𠲍噺𠲵𠳝𠳭𠵯𠶲𠷈楕鰯螥𠸄𠸎𠻗𠾐𠼭𠹳尠𠾼帋𡁜𡁏𡁶朞𡁻𡂈𡂖㙇𡂿𡃓𡄯𡄻卤蒭𡋣𡍵𡌶讁𡕷𡘙𡟃𡟇乸炻𡠭𡥪"],["9b40","𡨭𡩅𡰪𡱰𡲬𡻈拃𡻕𡼕熘桕𢁅槩㛈𢉼𢏗𢏺𢜪𢡱𢥏苽𢥧𢦓𢫕覥𢫨辠𢬎鞸𢬿顇骽𢱌"],["9b62","𢲈𢲷𥯨𢴈𢴒𢶷𢶕𢹂𢽴𢿌𣀳𣁦𣌟𣏞徱晈暿𧩹𣕧𣗳爁𤦺矗𣘚𣜖纇𠍆墵朎"],["9ba1","椘𣪧𧙗𥿢𣸑𣺹𧗾𢂚䣐䪸𤄙𨪚𤋮𤌍𤀻𤌴𤎖𤩅𠗊凒𠘑妟𡺨㮾𣳿𤐄𤓖垈𤙴㦛𤜯𨗨𩧉㝢𢇃譞𨭎駖𤠒𤣻𤨕爉𤫀𠱸奥𤺥𤾆𠝹軚𥀬劏圿煱𥊙𥐙𣽊𤪧喼𥑆𥑮𦭒釔㑳𥔿𧘲𥕞䜘𥕢𥕦𥟇𤤿𥡝偦㓻𣏌惞𥤃䝼𨥈𥪮𥮉𥰆𡶐垡煑澶𦄂𧰒遖𦆲𤾚譢𦐂𦑊"],["9c40","嵛𦯷輶𦒄𡤜諪𤧶𦒈𣿯𦔒䯀𦖿𦚵𢜛鑥𥟡憕娧晉侻嚹𤔡𦛼乪𤤴陖涏𦲽㘘襷𦞙𦡮𦐑𦡞營𦣇筂𩃀𠨑𦤦鄄𦤹穅鷰𦧺騦𦨭㙟𦑩𠀡禃𦨴𦭛崬𣔙菏𦮝䛐𦲤画补𦶮墶"],["9ca1","㜜𢖍𧁋𧇍㱔𧊀𧊅銁𢅺𧊋錰𧋦𤧐氹钟𧑐𠻸蠧裵𢤦𨑳𡞱溸𤨪𡠠㦤㚹尐秣䔿暶𩲭𩢤襃𧟌𧡘囖䃟𡘊㦡𣜯𨃨𡏅熭荦𧧝𩆨婧䲷𧂯𨦫𧧽𧨊𧬋𧵦𤅺筃祾𨀉澵𪋟樃𨌘厢𦸇鎿栶靝𨅯𨀣𦦵𡏭𣈯𨁈嶅𨰰𨂃圕頣𨥉嶫𤦈斾槕叒𤪥𣾁㰑朶𨂐𨃴𨄮𡾡𨅏"],["9d40","𨆉𨆯𨈚𨌆𨌯𨎊㗊𨑨𨚪䣺揦𨥖砈鉕𨦸䏲𨧧䏟𨧨𨭆𨯔姸𨰉輋𨿅𩃬筑𩄐𩄼㷷𩅞𤫊运犏嚋𩓧𩗩𩖰𩖸𩜲𩣑𩥉𩥪𩧃𩨨𩬎𩵚𩶛纟𩻸𩼣䲤镇𪊓熢𪋿䶑递𪗋䶜𠲜达嗁"],["9da1","辺𢒰边𤪓䔉繿潖檱仪㓤𨬬𧢝㜺躀𡟵𨀤𨭬𨮙𧨾𦚯㷫𧙕𣲷𥘵𥥖亚𥺁𦉘嚿𠹭踎孭𣺈𤲞揞拐𡟶𡡻攰嘭𥱊吚𥌑㷆𩶘䱽嘢嘞罉𥻘奵𣵀蝰东𠿪𠵉𣚺脗鵞贘瘻鱅癎瞹鍅吲腈苷嘥脲萘肽嗪祢噃吖𠺝㗎嘅嗱曱𨋢㘭甴嗰喺咗啲𠱁𠲖廐𥅈𠹶𢱢"],["9e40","𠺢麫絚嗞𡁵抝靭咔賍燶酶揼掹揾啩𢭃鱲𢺳冚㓟𠶧冧呍唞唓癦踭𦢊疱肶蠄螆裇膶萜𡃁䓬猄𤜆宐茋𦢓噻𢛴𧴯𤆣𧵳𦻐𧊶酰𡇙鈈𣳼𪚩𠺬𠻹牦𡲢䝎𤿂𧿹𠿫䃺"],["9ea1","鱝攟𢶠䣳𤟠𩵼𠿬𠸊恢𧖣𠿭"],["9ead","𦁈𡆇熣纎鵐业丄㕷嬍沲卧㚬㧜卽㚥𤘘墚𤭮舭呋垪𥪕𠥹"],["9ec5","㩒𢑥獴𩺬䴉鯭𣳾𩼰䱛𤾩𩖞𩿞葜𣶶𧊲𦞳𣜠挮紥𣻷𣸬㨪逈勌㹴㙺䗩𠒎癀嫰𠺶硺𧼮墧䂿噼鮋嵴癔𪐴麅䳡痹㟻愙𣃚𤏲"],["9ef5","噝𡊩垧𤥣𩸆刴𧂮㖭汊鵼"],["9f40","籖鬹埞𡝬屓擓𩓐𦌵𧅤蚭𠴨𦴢𤫢𠵱"],["9f4f","凾𡼏嶎霃𡷑麁遌笟鬂峑箣扨挵髿篏鬪籾鬮籂粆鰕篼鬉鼗鰛𤤾齚啳寃俽麘俲剠㸆勑坧偖妷帒韈鶫轜呩鞴饀鞺匬愰"],["9fa1","椬叚鰊鴂䰻陁榀傦畆𡝭駚剳"],["9fae","酙隁酜"],["9fb2","酑𨺗捿𦴣櫊嘑醎畺抅𠏼獏籰𥰡𣳽"],["9fc1","𤤙盖鮝个𠳔莾衂"],["9fc9","届槀僭坺刟巵从氱𠇲伹咜哚劚趂㗾弌㗳"],["9fdb","歒酼龥鮗頮颴骺麨麄煺笔"],["9fe7","毺蠘罸"],["9feb","嘠𪙊蹷齓"],["9ff0","跔蹏鸜踁抂𨍽踨蹵竓𤩷稾磘泪詧瘇"],["a040","𨩚鼦泎蟖痃𪊲硓咢贌狢獱謭猂瓱賫𤪻蘯徺袠䒷"],["a055","𡠻𦸅"],["a058","詾𢔛"],["a05b","惽癧髗鵄鍮鮏蟵"],["a063","蠏賷猬霡鮰㗖犲䰇籑饊𦅙慙䰄麖慽"],["a073","坟慯抦戹拎㩜懢厪𣏵捤栂㗒"],["a0a1","嵗𨯂迚𨸹"],["a0a6","僙𡵆礆匲阸𠼻䁥"],["a0ae","矾"],["a0b0","糂𥼚糚稭聦聣絍甅瓲覔舚朌聢𧒆聛瓰脃眤覉𦟌畓𦻑螩蟎臈螌詉貭譃眫瓸蓚㘵榲趦"],["a0d4","覩瑨涹蟁𤀑瓧㷛煶悤憜㳑煢恷"],["a0e2","罱𨬭牐惩䭾删㰘𣳇𥻗𧙖𥔱𡥄𡋾𩤃𦷜𧂭峁𦆭𨨏𣙷𠃮𦡆𤼎䕢嬟𦍌齐麦𦉫"],["a3c0","␀",31,"␡"],["c6a1","①",9,"⑴",9,"ⅰ",9,"丶丿亅亠冂冖冫勹匸卩厶夊宀巛⼳广廴彐彡攴无疒癶辵隶¨ˆヽヾゝゞ〃仝々〆〇ー[]✽ぁ",23],["c740","す",58,"ァアィイ"],["c7a1","ゥ",81,"А",5,"ЁЖ",4],["c840","Л",26,"ёж",25,"⇧↸↹㇏𠃌乚𠂊刂䒑"],["c8a1","龰冈龱𧘇"],["c8cd","¬¦'"㈱№℡゛゜⺀⺄⺆⺇⺈⺊⺌⺍⺕⺜⺝⺥⺧⺪⺬⺮⺶⺼⺾⻆⻊⻌⻍⻏⻖⻗⻞⻣"],["c8f5","ʃɐɛɔɵœøŋʊɪ"],["f9fe","■"],["fa40","𠕇鋛𠗟𣿅蕌䊵珯况㙉𤥂𨧤鍄𡧛苮𣳈砼杄拟𤤳𨦪𠊠𦮳𡌅侫𢓭倈𦴩𧪄𣘀𤪱𢔓倩𠍾徤𠎀𠍇滛𠐟偽儁㑺儎顬㝃萖𤦤𠒇兠𣎴兪𠯿𢃼𠋥𢔰𠖎𣈳𡦃宂蝽𠖳𣲙冲冸"],["faa1","鴴凉减凑㳜凓𤪦决凢卂凭菍椾𣜭彻刋刦刼劵剗劔効勅簕蕂勠蘍𦬓包𨫞啉滙𣾀𠥔𣿬匳卄𠯢泋𡜦栛珕恊㺪㣌𡛨燝䒢卭却𨚫卾卿𡖖𡘓矦厓𨪛厠厫厮玧𥝲㽙玜叁叅汉义埾叙㪫𠮏叠𣿫𢶣叶𠱷吓灹唫晗浛呭𦭓𠵴啝咏咤䞦𡜍𠻝㶴𠵍"],["fb40","𨦼𢚘啇䳭启琗喆喩嘅𡣗𤀺䕒𤐵暳𡂴嘷曍𣊊暤暭噍噏磱囱鞇叾圀囯园𨭦㘣𡉏坆𤆥汮炋坂㚱𦱾埦𡐖堃𡑔𤍣堦𤯵塜墪㕡壠壜𡈼壻寿坃𪅐𤉸鏓㖡够梦㛃湙"],["fba1","𡘾娤啓𡚒蔅姉𠵎𦲁𦴪𡟜姙𡟻𡞲𦶦浱𡠨𡛕姹𦹅媫婣㛦𤦩婷㜈媖瑥嫓𦾡𢕔㶅𡤑㜲𡚸広勐孶斈孼𧨎䀄䡝𠈄寕慠𡨴𥧌𠖥寳宝䴐尅𡭄尓珎尔𡲥𦬨屉䣝岅峩峯嶋𡷹𡸷崐崘嵆𡺤岺巗苼㠭𤤁𢁉𢅳芇㠶㯂帮檊幵幺𤒼𠳓厦亷廐厨𡝱帉廴𨒂"],["fc40","廹廻㢠廼栾鐛弍𠇁弢㫞䢮𡌺强𦢈𢏐彘𢑱彣鞽𦹮彲鍀𨨶徧嶶㵟𥉐𡽪𧃸𢙨釖𠊞𨨩怱暅𡡷㥣㷇㘹垐𢞴祱㹀悞悤悳𤦂𤦏𧩓璤僡媠慤萤慂慈𦻒憁凴𠙖憇宪𣾷"],["fca1","𢡟懓𨮝𩥝懐㤲𢦀𢣁怣慜攞掋𠄘担𡝰拕𢸍捬𤧟㨗搸揸𡎎𡟼撐澊𢸶頔𤂌𥜝擡擥鑻㩦携㩗敍漖𤨨𤨣斅敭敟𣁾斵𤥀䬷旑䃘𡠩无旣忟𣐀昘𣇷𣇸晄𣆤𣆥晋𠹵晧𥇦晳晴𡸽𣈱𨗴𣇈𥌓矅𢣷馤朂𤎜𤨡㬫槺𣟂杞杧杢𤇍𩃭柗䓩栢湐鈼栁𣏦𦶠桝"],["fd40","𣑯槡樋𨫟楳棃𣗍椁椀㴲㨁𣘼㮀枬楡𨩊䋼椶榘㮡𠏉荣傐槹𣙙𢄪橅𣜃檝㯳枱櫈𩆜㰍欝𠤣惞欵歴𢟍溵𣫛𠎵𡥘㝀吡𣭚毡𣻼毜氷𢒋𤣱𦭑汚舦汹𣶼䓅𣶽𤆤𤤌𤤀"],["fda1","𣳉㛥㳫𠴲鮃𣇹𢒑羏样𦴥𦶡𦷫涖浜湼漄𤥿𤂅𦹲蔳𦽴凇沜渝萮𨬡港𣸯瑓𣾂秌湏媑𣁋濸㜍澝𣸰滺𡒗𤀽䕕鏰潄潜㵎潴𩅰㴻澟𤅄濓𤂑𤅕𤀹𣿰𣾴𤄿凟𤅖𤅗𤅀𦇝灋灾炧炁烌烕烖烟䄄㷨熴熖𤉷焫煅媈煊煮岜𤍥煏鍢𤋁焬𤑚𤨧𤨢熺𨯨炽爎"],["fe40","鑂爕夑鑃爤鍁𥘅爮牀𤥴梽牕牗㹕𣁄栍漽犂猪猫𤠣𨠫䣭𨠄猨献珏玪𠰺𦨮珉瑉𤇢𡛧𤨤昣㛅𤦷𤦍𤧻珷琕椃𤨦琹𠗃㻗瑜𢢭瑠𨺲瑇珤瑶莹瑬㜰瑴鏱樬璂䥓𤪌"],["fea1","𤅟𤩹𨮏孆𨰃𡢞瓈𡦈甎瓩甞𨻙𡩋寗𨺬鎅畍畊畧畮𤾂㼄𤴓疎瑝疞疴瘂瘬癑癏癯癶𦏵皐臯㟸𦤑𦤎皡皥皷盌𦾟葢𥂝𥅽𡸜眞眦着撯𥈠睘𣊬瞯𨥤𨥨𡛁矴砉𡍶𤨒棊碯磇磓隥礮𥗠磗礴碱𧘌辸袄𨬫𦂃𢘜禆褀椂禀𥡗禝𧬹礼禩渪𧄦㺨秆𩄍秔"]]')},function(e,t,n){"use strict";var r=n(30).Buffer,A=n(8).Transform;function i(e,t){this.conv=e,(t=t||{}).decodeStrings=!1,A.call(this,t)}function o(e,t){this.conv=e,(t=t||{}).encoding=this.encoding="utf8",A.call(this,t)}e.exports=function(e){e.encodeStream=function(t,n){return new i(e.getEncoder(t,n),n)},e.decodeStream=function(t,n){return new o(e.getDecoder(t,n),n)},e.supportsStreams=!0,e.IconvLiteEncoderStream=i,e.IconvLiteDecoderStream=o,e._collect=o.prototype.collect},i.prototype=Object.create(A.prototype,{constructor:{value:i}}),i.prototype._transform=function(e,t,n){if("string"!=typeof e)return n(new Error("Iconv encoding stream needs strings as its input."));try{var r=this.conv.write(e);r&&r.length&&this.push(r),n()}catch(e){n(e)}},i.prototype._flush=function(e){try{var t=this.conv.end();t&&t.length&&this.push(t),e()}catch(t){e(t)}},i.prototype.collect=function(e){var t=[];return this.on("error",e),this.on("data",(function(e){t.push(e)})),this.on("end",(function(){e(null,r.concat(t))})),this},o.prototype=Object.create(A.prototype,{constructor:{value:o}}),o.prototype._transform=function(e,t,n){if(!r.isBuffer(e))return n(new Error("Iconv decoding stream needs buffers as its input."));try{var A=this.conv.write(e);A&&A.length&&this.push(A,this.encoding),n()}catch(e){n(e)}},o.prototype._flush=function(e){try{var t=this.conv.end();t&&t.length&&this.push(t,this.encoding),e()}catch(t){e(t)}},o.prototype.collect=function(e){var t="";return this.on("error",e),this.on("data",(function(e){t+=e})),this.on("end",(function(){e(null,t)})),this}},function(e,t,n){"use strict";var r=n(30).Buffer;e.exports=function(e){var t=void 0;e.supportsNodeEncodingsExtension=!(r.from||new r(0)instanceof Uint8Array),e.extendNodeEncodings=function(){if(!t){if(t={},!e.supportsNodeEncodingsExtension)return console.error("ACTION NEEDED: require('iconv-lite').extendNodeEncodings() is not supported in your version of Node"),void console.error("See more info at https://github.com/ashtuchkin/iconv-lite/wiki/Node-v4-compatibility");var A={hex:!0,utf8:!0,"utf-8":!0,ascii:!0,binary:!0,base64:!0,ucs2:!0,"ucs-2":!0,utf16le:!0,"utf-16le":!0};r.isNativeEncoding=function(e){return e&&A[e.toLowerCase()]};var i=n(30).SlowBuffer;if(t.SlowBufferToString=i.prototype.toString,i.prototype.toString=function(n,A,i){return n=String(n||"utf8").toLowerCase(),r.isNativeEncoding(n)?t.SlowBufferToString.call(this,n,A,i):(void 0===A&&(A=0),void 0===i&&(i=this.length),e.decode(this.slice(A,i),n))},t.SlowBufferWrite=i.prototype.write,i.prototype.write=function(n,A,i,o){if(isFinite(A))isFinite(i)||(o=i,i=void 0);else{var s=o;o=A,A=i,i=s}A=+A||0;var a=this.length-A;if(i?(i=+i)>a&&(i=a):i=a,o=String(o||"utf8").toLowerCase(),r.isNativeEncoding(o))return t.SlowBufferWrite.call(this,n,A,i,o);if(n.length>0&&(i<0||A<0))throw new RangeError("attempt to write beyond buffer bounds");var c=e.encode(n,o);return c.lengthg&&(i=g):i=g,n.length>0&&(i<0||A<0))throw new RangeError("attempt to write beyond buffer bounds");var l=e.encode(n,o);return l.length + * + * MIT Licensed + */ +const r=n(3),A=n(4),i=n(54),o=n(1028),s=process.binding("constants"),a=o(),c="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",u=/XXXXXX/,g=3,l=(s.O_CREAT||s.fs.O_CREAT)|(s.O_EXCL||s.fs.O_EXCL)|(s.O_RDWR||s.fs.O_RDWR),h=s.EBADF||s.os.errno.EBADF,p=s.ENOENT||s.os.errno.ENOENT,f=448,C=384,d=[];var I=!1,E=!1;function B(e){var t=[],n=null;try{n=i.randomBytes(e)}catch(t){n=i.pseudoRandomBytes(e)}for(var r=0;r0?e():i(new Error("Could not get a unique tmp filename, max tries reached "+t));i(null,t)}))}()}function v(e){var t=m(e)[0],n=t.name?1:t.tries||g;if(isNaN(n)||n<0)throw new Error("Invalid tries");if(t.template&&!t.template.match(u))throw new Error("Invalid template provided");do{const e=Q(t);try{r.statSync(e)}catch(t){return e}}while(n-- >0);throw new Error("Could not get a unique tmp filename, max tries reached")}function b(e){const t=[e];do{for(var n=t.pop(),i=!1,o=r.readdirSync(n),s=0,a=o.length;s=0&&d.splice(A,1),n=!0,e(t)}A&&A(null)}}function _(){if(!E||I)for(;d.length;)try{d[0].call(null)}catch(e){}}function F(e){return M(e,-p,"ENOENT")}function M(e,t,n){return e.code==t||e.code==n}const N=process.versions.node.split(".").map((function(e){return parseInt(e,10)}));0===N[0]&&(N[1]<9||9===N[1]&&N[2]<5)&&process.addListener("uncaughtException",(function(e){throw E=!0,_(),e})),process.addListener("exit",(function(e){e&&(E=!0),_()})),e.exports.tmpdir=a,e.exports.dir=function(e,t){var n=m(e,t),A=n[0],i=n[1];w(A,(function(e,t){if(e)return i(e);r.mkdir(t,A.mode||f,(function(e){if(e)return i(e);i(null,t,S(t,A))}))}))},e.exports.dirSync=function(e){var t=m(e)[0];const n=v(t);return r.mkdirSync(n,t.mode||f),{name:n,removeCallback:S(n,t)}},e.exports.file=function(e,t){var n=m(e,t),A=n[0],i=n[1];A.postfix=y(A.postfix)?".tmp":A.postfix,w(A,(function(e,t){if(e)return i(e);r.open(t,l,A.mode||C,(function(e,n){return e?i(e):A.discardDescriptor?r.close(n,(function(e){if(e){try{r.unlinkSync(t)}catch(t){F(t)||(e=t)}return i(e)}i(null,t,void 0,D(t,-1,A))})):A.detachDescriptor?i(null,t,n,D(t,-1,A)):void i(null,t,n,D(t,n,A))}))}))},e.exports.fileSync=function(e){var t=m(e)[0];t.postfix=t.postfix||".tmp";const n=t.discardDescriptor||t.detachDescriptor,A=v(t);var i=r.openSync(A,l,t.mode||C);return t.discardDescriptor&&(r.closeSync(i),i=void 0),{name:A,fd:i,removeCallback:D(A,n?-1:i,t)}},e.exports.tmpName=w,e.exports.tmpNameSync=v,e.exports.setGracefulCleanup=function(){I=!0}},function(e,t,n){"use strict";var r="win32"===process.platform,A=r?/[^:]\\$/:/.\/$/;e.exports=function(){var e;return e=r?process.env.TEMP||process.env.TMP||(process.env.SystemRoot||process.env.windir)+"\\temp":process.env.TMPDIR||process.env.TMP||process.env.TEMP||"/tmp",A.test(e)&&(e=e.slice(0,-1)),e}},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=function(e){function t(t){var n=this.constructor,r=e.call(this,"Failed to create temporary file for editor")||this;r.originalError=t;var A=n.prototype;return Object.setPrototypeOf?Object.setPrototypeOf(r,A):r.__proto__=n.prototype,r}return A(t,e),t}(Error);t.CreateFileError=i},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=function(e){function t(t){var n=this.constructor,r=e.call(this,"Failed launch editor")||this;r.originalError=t;var A=n.prototype;return Object.setPrototypeOf?Object.setPrototypeOf(r,A):r.__proto__=n.prototype,r}return A(t,e),t}(Error);t.LaunchEditorError=i},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=function(e){function t(t){var n=this.constructor,r=e.call(this,"Failed to read temporary file")||this;r.originalError=t;var A=n.prototype;return Object.setPrototypeOf?Object.setPrototypeOf(r,A):r.__proto__=n.prototype,r}return A(t,e),t}(Error);t.ReadFileError=i},function(e,t,n){"use strict";var r,A=this&&this.__extends||(r=function(e,t){return(r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)},function(e,t){function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var i=function(e){function t(t){var n=this.constructor,r=e.call(this,"Failed to cleanup temporary file")||this;r.originalError=t;var A=n.prototype;return Object.setPrototypeOf?Object.setPrototypeOf(r,A):r.__proto__=n.prototype,r}return A(t,e),t}(Error);t.RemoveFileError=i},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(7),i=n(0),o=n(0),s=n(2);class a extends A.BaseCommand{constructor(){super(...arguments),this.verbose=!1,this.json=!1}async execute(){const e=await i.Configuration.find(this.context.cwd,this.context.plugins),{project:t,locator:n}=await i.Project.find(e,this.context.cwd);if(await t.restoreInstallState(),this.name){const r=(await o.scriptUtils.getPackageAccessibleBinaries(n,{project:t})).get(this.name);if(!r)throw new s.UsageError(`Couldn't find a binary named "${this.name}" for package "${o.structUtils.prettyLocator(e,n)}"`);const[,A]=r;return this.context.stdout.write(`${A}\n`),0}return(await i.StreamReport.start({configuration:e,json:this.json,stdout:this.context.stdout},async r=>{const A=await o.scriptUtils.getPackageAccessibleBinaries(n,{project:t}),i=Array.from(A.keys()).reduce((e,t)=>Math.max(e,t.length),0);for(const[e,[t,n]]of A)r.reportJson({name:e,source:o.structUtils.stringifyIdent(t),path:n});if(this.verbose)for(const[t,[n]]of A)r.reportInfo(null,`${t.padEnd(i," ")} ${o.structUtils.prettyLocator(e,n)}`);else for(const e of A.keys())r.reportInfo(null,e)})).exitCode()}}a.usage=s.Command.Usage({description:"get the path to a binary script",details:"\n When used without arguments, this command will print the list of all the binaries available in the current workspace. Adding the `-v,--verbose` flag will cause the output to contain both the binary name and the locator of the package that provides the binary.\n\n When an argument is specified, this command will just print the path to the binary on the standard output and exit. Note that the reported path may be stored within a zip archive.\n\n If the `--json` flag is set the output will follow a JSON-stream output also known as NDJSON (https://github.com/ndjson/ndjson-spec).\n ",examples:[["List all the available binaries","$0 bin"],["Print the path to a specific binary","$0 bin eslint"]]}),r([s.Command.String({required:!1})],a.prototype,"name",void 0),r([s.Command.Boolean("-v,--verbose")],a.prototype,"verbose",void 0),r([s.Command.Boolean("--json")],a.prototype,"json",void 0),r([s.Command.Path("bin")],a.prototype,"execute",null),t.default=a},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(7),i=n(0),o=n(1),s=n(2);class a extends A.BaseCommand{constructor(){super(...arguments),this.mirror=!1,this.all=!1}async execute(){const e=await i.Configuration.find(this.context.cwd,this.context.plugins),t=await i.Cache.find(e);return(await i.StreamReport.start({configuration:e,stdout:this.context.stdout},async()=>{const e=(this.all||this.mirror)&&null!==t.mirrorCwd,n=!this.mirror;e&&await o.xfs.removePromise(t.mirrorCwd),n&&await o.xfs.removePromise(t.cwd)})).exitCode()}}a.usage=s.Command.Usage({description:"remove the shared cache files",details:"\n This command will remove all the files in the shared cache.\n ",examples:[["Remove all the shared archives","$0 cache clean"]]}),r([s.Command.Boolean("--mirror")],a.prototype,"mirror",void 0),r([s.Command.Boolean("--all")],a.prototype,"all",void 0),r([s.Command.Path("cache","clean")],a.prototype,"execute",null),t.default=a},function(e,t,n){var r=n(407),A=n(413);e.exports=function(e,t){for(var n=0,i=(t=r(t,e)).length;null!=e&&n-1}},function(e,t,n){var r=n(165);e.exports=function(e,t){var n=this.__data__,A=r(n,e);return A<0?(++this.size,n.push([e,t])):n[A][1]=t,this}},function(e,t,n){var r=n(166);e.exports=function(e){var t=r(this,e).delete(e);return this.size-=t?1:0,t}},function(e,t){e.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},function(e,t,n){var r=n(166);e.exports=function(e){return r(this,e).get(e)}},function(e,t,n){var r=n(166);e.exports=function(e){return r(this,e).has(e)}},function(e,t,n){var r=n(166);e.exports=function(e,t){var n=r(this,e),A=n.size;return n.set(e,t),this.size+=n.size==A?0:1,this}},function(e,t,n){var r=n(1064);e.exports=function(e){return null==e?"":r(e)}},function(e,t,n){var r=n(162),A=n(1065),i=n(83),o=n(245),s=1/0,a=r?r.prototype:void 0,c=a?a.toString:void 0;e.exports=function e(t){if("string"==typeof t)return t;if(i(t))return A(t,e)+"";if(o(t))return c?c.call(t):"";var n=t+"";return"0"==n&&1/t==-s?"-0":n}},function(e,t){e.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,A=Array(r);++n=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o},A=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(7),o=n(0),s=n(2),a=A(n(1067)),c=A(n(406)),u=A(n(1113)),g=n(6),l=n(405);class h extends i.BaseCommand{constructor(){super(...arguments),this.json=!1}async execute(){const e=await o.Configuration.find(this.context.cwd,this.context.plugins);if(!e.projectCwd)throw new s.UsageError("This command must be run from within a project folder");const t=this.name.replace(/[.\[].*$/,""),n=this.name.replace(/^[^.\[]*/,"");if(void 0===e.settings.get(t))throw new s.UsageError(`Couldn't find a configuration settings named "${t}"`);const r=this.json?JSON.parse(this.value):this.value;await o.Configuration.updateConfiguration(e.projectCwd,e=>{if(n){const t=a.default(e);return u.default(t,this.name,r),t}return Object.assign(Object.assign({},e),{[t]:r})});const A=(await o.Configuration.find(this.context.cwd,this.context.plugins)).getRedacted(t),i=l.convertMapsToObjects(A),h=n?c.default(i,n):i;return(await o.StreamReport.start({configuration:e,includeFooter:!1,stdout:this.context.stdout},async e=>{g.inspect.styles.name="cyan",e.reportInfo(o.MessageName.UNNAMED,`Successfully set ${this.name} to ${g.inspect(h,{depth:1/0,colors:!0,compact:!1})}`)})).exitCode()}}h.usage=s.Command.Usage({description:"change a configuration settings",details:"\n This command will set a configuration setting.\n\n When used without the `--json` flag, it can only set a simple configuration setting (a string, a number, or a boolean).\n\n When used with the `--json` flag, it can set both simple and complex configuration settings, including Arrays and Objects.\n ",examples:[["Set a simple configuration setting (a string, a number, or a boolean)","yarn config set initScope myScope"],["Set a simple configuration setting (a string, a number, or a boolean) using the `--json` flag",'yarn config set initScope --json \\"myScope\\"'],["Set a complex configuration setting (an Array) using the `--json` flag",'yarn config set unsafeHttpWhitelist --json \'["*.example.com", "example.com"]\''],["Set a complex configuration setting (an Object) using the `--json` flag",'yarn config set packageExtensions --json \'{ "@babel/parser@*": { "dependencies": { "@babel/types": "*" } } }\'']]}),r([s.Command.String()],h.prototype,"name",void 0),r([s.Command.String()],h.prototype,"value",void 0),r([s.Command.Boolean("--json")],h.prototype,"json",void 0),r([s.Command.Path("config","set")],h.prototype,"execute",null),t.default=h},function(e,t,n){var r=n(1068),A=1,i=4;e.exports=function(e){return r(e,A|i)}},function(e,t,n){var r=n(1069),A=n(1075),i=n(247),o=n(1077),s=n(1086),a=n(1089),c=n(1090),u=n(1091),g=n(1093),l=n(1094),h=n(1095),p=n(253),f=n(1100),C=n(1101),d=n(1107),I=n(83),E=n(416),B=n(1109),y=n(85),m=n(1111),Q=n(248),w=1,v=2,b=4,D="[object Arguments]",S="[object Function]",k="[object GeneratorFunction]",_="[object Object]",F={};F[D]=F["[object Array]"]=F["[object ArrayBuffer]"]=F["[object DataView]"]=F["[object Boolean]"]=F["[object Date]"]=F["[object Float32Array]"]=F["[object Float64Array]"]=F["[object Int8Array]"]=F["[object Int16Array]"]=F["[object Int32Array]"]=F["[object Map]"]=F["[object Number]"]=F[_]=F["[object RegExp]"]=F["[object Set]"]=F["[object String]"]=F["[object Symbol]"]=F["[object Uint8Array]"]=F["[object Uint8ClampedArray]"]=F["[object Uint16Array]"]=F["[object Uint32Array]"]=!0,F["[object Error]"]=F[S]=F["[object WeakMap]"]=!1,e.exports=function e(t,n,M,N,R,K){var x,P=n&w,L=n&v,O=n&b;if(M&&(x=R?M(t,N,R,K):M(t)),void 0!==x)return x;if(!y(t))return t;var T=I(t);if(T){if(x=f(t),!P)return c(t,x)}else{var U=p(t),Y=U==S||U==k;if(E(t))return a(t,P);if(U==_||U==D||Y&&!R){if(x=L||Y?{}:d(t),!P)return L?g(t,s(x,t)):u(t,o(x,t))}else{if(!F[U])return R?t:{};x=C(t,U,P)}}K||(K=new r);var j=K.get(t);if(j)return j;K.set(t,x),m(t)?t.forEach((function(r){x.add(e(r,n,M,r,t,K))})):B(t)&&t.forEach((function(r,A){x.set(A,e(r,n,M,A,t,K))}));var G=O?L?h:l:L?keysIn:Q,J=T?void 0:G(t);return A(J||t,(function(r,A){J&&(r=t[A=r]),i(x,A,e(r,n,M,A,t,K))})),x}},function(e,t,n){var r=n(164),A=n(1070),i=n(1071),o=n(1072),s=n(1073),a=n(1074);function c(e){var t=this.__data__=new r(e);this.size=t.size}c.prototype.clear=A,c.prototype.delete=i,c.prototype.get=o,c.prototype.has=s,c.prototype.set=a,e.exports=c},function(e,t,n){var r=n(164);e.exports=function(){this.__data__=new r,this.size=0}},function(e,t){e.exports=function(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}},function(e,t){e.exports=function(e){return this.__data__.get(e)}},function(e,t){e.exports=function(e){return this.__data__.has(e)}},function(e,t,n){var r=n(164),A=n(246),i=n(409),o=200;e.exports=function(e,t){var n=this.__data__;if(n instanceof r){var s=n.__data__;if(!A||s.length=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(7),i=n(0),o=n(0),s=n(2),a=n(6);class c extends A.BaseCommand{constructor(){super(...arguments),this.verbose=!1,this.why=!1,this.json=!1}async execute(){const e=await i.Configuration.find(this.context.cwd,this.context.plugins,{strict:!1});return(await i.StreamReport.start({configuration:e,json:this.json,stdout:this.context.stdout},async t=>{if(e.invalid.size>0&&!this.json){for(const[n,r]of e.invalid)t.reportError(i.MessageName.INVALID_CONFIGURATION_KEY,`Invalid configuration key "${n}" in ${r}`);t.reportSeparator()}if(this.json){const n=o.miscUtils.sortMap(e.settings.keys(),e=>e);for(const r of n){const n=e.settings.get(r),A=e.getRedacted(r),i=e.sources.get(r);this.verbose?t.reportJson({key:r,effective:A,source:i}):t.reportJson(Object.assign({key:r,effective:A,source:i},n))}}else{const n=o.miscUtils.sortMap(e.settings.keys(),e=>e),r=n.reduce((e,t)=>Math.max(e,t.length),0),A={breakLength:1/0,colors:e.get("enableColors"),maxArrayLength:2};if(this.why||this.verbose){const i=n.map(t=>{const n=e.settings.get(t);if(!n)throw new Error(`Assertion failed: This settings ("${t}") should have been registered`);return[t,this.why?e.sources.get(t)||"":n.description]}),o=i.reduce((e,[,t])=>Math.max(e,t.length),0);for(const[n,s]of i)t.reportInfo(null,`${n.padEnd(r," ")} ${s.padEnd(o," ")} ${a.inspect(e.getRedacted(n),A)}`)}else for(const i of n)t.reportInfo(null,`${i.padEnd(r," ")} ${a.inspect(e.getRedacted(i),A)}`)}})).exitCode()}}c.usage=s.Command.Usage({description:"display the current configuration",details:"\n This command prints the current active configuration settings.\n\n When used together with the `-v,--verbose` option, the output will contain the settings description on top of the regular key/value information.\n\n When used together with the `--why` flag, the output will also contain the reason why a settings is set a particular way.\n\n If the `--json` flag is set the output will follow a JSON-stream output also known as NDJSON (https://github.com/ndjson/ndjson-spec).\n\n Note that the paths settings will be normalized - especially on Windows. It means that paths such as `C:\\project` will be transparently shown as `/mnt/c/project`.\n ",examples:[["Print the active configuration settings","$0 config"]]}),r([s.Command.Boolean("-v,--verbose")],c.prototype,"verbose",void 0),r([s.Command.Boolean("--why")],c.prototype,"why",void 0),r([s.Command.Boolean("--json")],c.prototype,"json",void 0),r([s.Command.Path("config")],c.prototype,"execute",null),t.default=c},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(0),i=n(2);class o extends i.Command{async execute(){const{plugins:e}=await A.Configuration.find(this.context.cwd,this.context.plugins),t=[];for(const n of e){const{commands:e}=n[1];if(e){const r=i.Cli.from(e).definitions();t.push([n[0],r])}}const r=this.cli.definitions(),o=(e,t)=>e.split(" ").slice(1).join()===t.split(" ").slice(1).join(),s=n(325)["@yarnpkg/builder"].bundles.standard;for(const e of t){const t=e[1];for(const n of t)r.find(e=>o(e.path,n.path)).plugin={name:e[0],isDefault:s.includes(e[0])}}this.context.stdout.write(`${JSON.stringify({commands:r},null,2)}\n`)}}r([i.Command.Path("--clipanion=definitions")],o.prototype,"execute",null),t.default=o},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(2);class i extends A.Command{async execute(){this.context.stdout.write(this.cli.usage(null))}}r([A.Command.Path("help"),A.Command.Path("--help"),A.Command.Path("-h")],i.prototype,"execute",null),t.default=i},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(0),i=n(1),o=n(2);class s extends o.Command{constructor(){super(...arguments),this.args=[]}async execute(){if(this.leadingArgument.match(/[\\\/]/)&&!A.structUtils.tryParseIdent(this.leadingArgument)){const e=i.ppath.resolve(this.context.cwd,i.npath.toPortablePath(this.leadingArgument));return await this.cli.run(this.args,{cwd:e})}return await this.cli.run(["run",this.leadingArgument,...this.args])}}r([o.Command.String()],s.prototype,"leadingArgument",void 0),r([o.Command.Proxy()],s.prototype,"args",void 0),t.default=s},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(0),i=n(2);class o extends i.Command{async execute(){this.context.stdout.write(`${A.YarnVersion||""}\n`)}}r([i.Command.Path("-v"),i.Command.Path("--version")],o.prototype,"execute",null),t.default=o},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(7),i=n(0),o=n(1),s=n(33),a=n(2);class c extends A.BaseCommand{constructor(){super(...arguments),this.json=!1,this.checkCache=!1,this.silent=!1}async execute(){const e=await i.Configuration.find(this.context.cwd,this.context.plugins);void 0!==this.inlineBuilds&&e.useWithSource("",{enableInlineBuilds:this.inlineBuilds},e.startingCwd,{overwrite:!0});const t=!!process.env.NOW_BUILDER,n=!!process.env.NETLIFY,r=async(t,{error:n})=>{const r=await i.StreamReport.start({configuration:e,stdout:this.context.stdout,includeFooter:!1},async e=>{n?e.reportError(i.MessageName.DEPRECATED_CLI_SETTINGS,t):e.reportWarning(i.MessageName.DEPRECATED_CLI_SETTINGS,t)});if(r.hasErrors())return r.exitCode()};if(void 0!==this.ignoreEngines){const e=await r("The --ignore-engines option is deprecated; engine checking isn't a core feature anymore",{error:!t});if(void 0!==e)return e}if(void 0!==this.registry){const e=await r("The --registry option is deprecated; prefer setting npmRegistryServer in your .yarnrc.yml file",{error:!1});if(void 0!==e)return e}if(void 0!==this.preferOffline){const e=await r("The --prefer-offline flag is deprecated; use the --cached flag with 'yarn add' instead",{error:!t});if(void 0!==e)return e}if(void 0!==this.frozenLockfile){const e=await r("The --frozen-lockfile option is deprecated; use --immutable and/or --immutable-cache instead",{error:!0});if(void 0!==e)return e}if(void 0!==this.cacheFolder){const e=await r("The cache-folder option has been deprecated; use rc settings instead",{error:!n});if(void 0!==e)return e}const a=void 0===this.immutable&&void 0===this.frozenLockfile?e.get("enableImmutableInstalls"):this.immutable||this.frozenLockfile;if(null!==e.projectCwd){const t=await i.StreamReport.start({configuration:e,json:this.json,stdout:this.context.stdout,includeFooter:!1},async t=>{await async function(e,t){if(!e.projectCwd)return!1;const n=o.ppath.join(e.projectCwd,e.get("lockfileFilename"));if(!await o.xfs.existsPromise(n))return!1;const r=await o.xfs.readFilePromise(n,"utf8");if(!r.includes(h))return!1;if(t)throw new i.ReportError(i.MessageName.AUTOMERGE_IMMUTABLE,"Cannot autofix a lockfile when running an immutable install");const[A,a]=function(e){const t=[[],[]],n=e.split(/\r?\n/g);let r=!1;for(;n.length>0;){const e=n.shift();if(void 0===e)throw new Error("Assertion failed: Some lines should remain");if(e.startsWith(h)){for(;n.length>0;){const e=n.shift();if(void 0===e)throw new Error("Assertion failed: Some lines should remain");if(e===l){r=!1;break}r||e.startsWith(u)?r=!0:t[0].push(e)}for(;n.length>0;){const e=n.shift();if(void 0===e)throw new Error("Assertion failed: Some lines should remain");if(e.startsWith(g))break;t[1].push(e)}}else t[0].push(e),t[1].push(e)}return[t[0].join("\n"),t[1].join("\n")]}(r);let c,p;try{c=s.parseSyml(A),p=s.parseSyml(a)}catch(e){throw new i.ReportError(i.MessageName.AUTOMERGE_FAILED_TO_PARSE,"The individual variants of the lockfile failed to parse")}const f=Object.assign(Object.assign({},c),p);for(const[e,t]of Object.entries(f))"string"==typeof t&&delete f[e];return await o.xfs.changeFilePromise(n,s.stringifySyml(f),{automaticNewlines:!0}),!0}(e,a)&&t.reportInfo(i.MessageName.AUTOMERGE_SUCCESS,"Automatically fixed merge conflicts 👍")});if(t.hasErrors())return t.exitCode()}const{project:c,workspace:p}=await i.Project.find(e,this.context.cwd),f=await i.Cache.find(e,{immutable:this.immutableCache,check:this.checkCache});if(!p)throw new A.WorkspaceRequiredError(c.cwd,this.context.cwd);return(await i.StreamReport.start({configuration:e,json:this.json,stdout:this.context.stdout,includeLogs:!0},async e=>{await c.install({cache:f,report:e,immutable:a})})).exitCode()}}c.usage=a.Command.Usage({description:"install the project dependencies",details:"\n This command setup your project if needed. The installation is splitted in four different steps that each have their own characteristics:\n\n - **Resolution:** First the package manager will resolve your dependencies. The exact way a dependency version is privileged over another isn't standardized outside of the regular semver guarantees. If a package doesn't resolve to what you would expect, check that all dependencies are correctly declared (also check our website for more information: ).\n\n - **Fetch:** Then we download all the dependencies if needed, and make sure that they're all stored within our cache (check the value of `cacheFolder` in `yarn config` to see where are stored the cache files).\n\n - **Link:** Then we send the dependency tree information to internal plugins tasked from writing them on the disk in some form (for example by generating the .pnp.js file you might know).\n\n - **Build:** Once the dependency tree has been written on the disk, the package manager will now be free to run the build scripts for all packages that might need it, in a topological order compatible with the way they depend on one another.\n\n Note that running this command is not part of the recommended workflow. Yarn supports zero-installs, which means that as long as you store your cache and your .pnp.js file inside your repository, everything will work without requiring any install right after cloning your repository or switching branches.\n\n If the `--immutable` option is set, Yarn will abort with an error exit code if anything in the install artifacts (`yarn.lock`, `.pnp.js`, ...) was to be modified. For backward compatibility we offer an alias under the name of `--frozen-lockfile`, but it will be removed in a later release.\n\n If the `--immutable-cache` option is set, Yarn will abort with an error exit code if the cache folder was to be modified (either because files would be added, or because they'd be removed).\n\n If the `--check-cache` option is set, Yarn will always refetch the packages and will ensure that their checksum matches what's 1/ described in the lockfile 2/ inside the existing cache files (if present). This is recommended as part of your CI workflow if you're both following the Zero-Installs model and accepting PRs from third-parties, as they'd otherwise have the ability to alter the checked-in packages before submitting them.\n\n If the `--inline-builds` option is set, Yarn will verbosely print the output of the build steps of your dependencies (instead of writing them into individual files). This is likely useful mostly for debug purposes only when using Docker-like environments.\n\n If the `--json` flag is set the output will follow a JSON-stream output also known as NDJSON (https://github.com/ndjson/ndjson-spec).\n ",examples:[["Install the project","$0 install"],["Validate a project when using Zero-Installs","$0 install --immutable --immutable-cache"],["Validate a project when using Zero-Installs (slightly safer if you accept external PRs)","$0 install --immutable --immutable-cache --check-cache"]]}),r([a.Command.Boolean("--json")],c.prototype,"json",void 0),r([a.Command.Boolean("--immutable")],c.prototype,"immutable",void 0),r([a.Command.Boolean("--immutable-cache")],c.prototype,"immutableCache",void 0),r([a.Command.Boolean("--check-cache")],c.prototype,"checkCache",void 0),r([a.Command.Boolean("--frozen-lockfile",{hidden:!0})],c.prototype,"frozenLockfile",void 0),r([a.Command.Boolean("--prefer-offline",{hidden:!0})],c.prototype,"preferOffline",void 0),r([a.Command.Boolean("--ignore-engines",{hidden:!0})],c.prototype,"ignoreEngines",void 0),r([a.Command.String("--registry",{hidden:!0})],c.prototype,"registry",void 0),r([a.Command.Boolean("--inline-builds")],c.prototype,"inlineBuilds",void 0),r([a.Command.String("--cache-folder")],c.prototype,"cacheFolder",void 0),r([a.Command.Boolean("--silent",{hidden:!0})],c.prototype,"silent",void 0),r([a.Command.Path(),a.Command.Path("install")],c.prototype,"execute",null),t.default=c;const u="|||||||",g=">>>>>>>",l="=======",h="<<<<<<<"},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(7),i=n(0),o=n(1),s=n(2);class a extends A.BaseCommand{constructor(){super(...arguments),this.all=!1,this.private=!1,this.relative=!1}async execute(){const e=await i.Configuration.find(this.context.cwd,this.context.plugins),{project:t,workspace:n}=await i.Project.find(e,this.context.cwd),r=await i.Cache.find(e);if(!n)throw new A.WorkspaceRequiredError(t.cwd,this.context.cwd);const a=o.ppath.resolve(this.context.cwd,o.npath.toPortablePath(this.destination)),c=await i.Configuration.find(a,this.context.plugins),{project:u,workspace:g}=await i.Project.find(c,a);if(!g)throw new A.WorkspaceRequiredError(u.cwd,a);const l=t.topLevelWorkspace,h=[];if(this.all){for(const e of u.workspaces)!e.manifest.name||e.manifest.private&&!this.private||h.push(e);if(0===h.length)throw new s.UsageError("No workspace found to be linked in the target project")}else{if(!g.manifest.name)throw new s.UsageError("The target workspace doesn't have a name and thus cannot be linked");if(g.manifest.private&&!this.private)throw new s.UsageError("The target workspace is marked private - use the --private flag to link it anyway");h.push(g)}for(const e of h){const n=i.structUtils.stringifyIdent(e.locator),r=this.relative?o.ppath.relative(t.cwd,e.cwd):e.cwd;l.manifest.resolutions.push({pattern:{descriptor:{fullName:n}},reference:`portal:${r}`})}return(await i.StreamReport.start({configuration:e,stdout:this.context.stdout},async e=>{await t.install({cache:r,report:e})})).exitCode()}}a.usage=s.Command.Usage({description:"connect the local project to another one",details:"\n This command will set a new `resolutions` field in the project-level manifest and point it to the workspace at the specified location (even if part of another project).\n\n If the `--all` option is set, all workspaces belonging to the target project will be linked to the current one.\n\n There is no `yarn unlink` command. To unlink the workspaces from the current project one must revert the changes made to the `resolutions` field.\n ",examples:[["Register a remote workspace for use in the current project","$0 link ~/ts-loader"],["Register all workspaces from a remote project for use in the current project","$0 link ~/jest --all"]]}),r([s.Command.String()],a.prototype,"destination",void 0),r([s.Command.Boolean("--all")],a.prototype,"all",void 0),r([s.Command.Boolean("-p,--private")],a.prototype,"private",void 0),r([s.Command.Boolean("-r,--relative")],a.prototype,"relative",void 0),r([s.Command.Path("link")],a.prototype,"execute",null),t.default=a},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(7),i=n(0),o=n(0),s=n(1),a=n(2);class c extends A.BaseCommand{constructor(){super(...arguments),this.args=[]}async execute(){const e=await i.Configuration.find(this.context.cwd,this.context.plugins),{project:t}=await i.Project.find(e,this.context.cwd);return await s.xfs.mktempPromise(async e=>{const{code:n}=await o.execUtils.pipevp("node",this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await o.scriptUtils.makeScriptEnv({project:t,binFolder:e})});return n})}}c.usage=a.Command.Usage({description:"run node with the hook already setup",details:"\n This command simply runs Node. It also makes sure to call it in a way that's compatible with the current project (for example, on PnP projects the environment will be setup in such a way that PnP will be correctly injected into the environment).\n\n The Node process will use the exact same version of Node as the one used to run Yarn itself, which might be a good way to ensure that your commands always use a consistent Node version.\n ",examples:[["Run a Node script","$0 node ./my-script.js"]]}),r([a.Command.Proxy()],c.prototype,"args",void 0),r([a.Command.Path("node")],c.prototype,"execute",null),t.default=c},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(7),i=n(0),o=n(0),s=n(1),a=n(2),c=n(1124),u=n(427);class g extends A.BaseCommand{async execute(){const e=await i.Configuration.find(this.context.cwd,this.context.plugins);return(await i.StreamReport.start({configuration:e,stdout:this.context.stdout},async t=>{const{project:n}=await i.Project.find(e,this.context.cwd);let r,A;if(this.name.match(/^\.{0,2}[\\\/]/)||s.npath.isAbsolute(this.name)){const o=s.ppath.resolve(this.context.cwd,s.npath.toPortablePath(this.name));t.reportInfo(i.MessageName.UNNAMED,`Reading ${e.format(o,"green")}`),r=s.ppath.relative(n.cwd,o),A=await s.xfs.readFilePromise(o)}else{let n;if(this.name.match(/^https?:/)){try{new URL(this.name)}catch(e){throw new i.ReportError(i.MessageName.INVALID_PLUGIN_REFERENCE,`Plugin specifier "${this.name}" is neither a plugin name nor a valid url`)}r=this.name,n=this.name}else{const t=o.structUtils.parseIdent(this.name.replace(/^((@yarnpkg\/)?plugin-)?/,"@yarnpkg/plugin-")),A=o.structUtils.stringifyIdent(t),s=await u.getAvailablePlugins(e);if(!Object.prototype.hasOwnProperty.call(s,A))throw new i.ReportError(i.MessageName.PLUGIN_NAME_NOT_FOUND,`Couldn't find a plugin named "${A}" on the remote registry. Note that only the plugins referenced on our website (https://github.com/yarnpkg/berry/blob/master/plugins.yml) can be referenced by their name; any other plugin will have to be referenced through its public url (for example https://github.com/yarnpkg/berry/raw/master/packages/plugin-typescript/bin/%40yarnpkg/plugin-typescript.js).`);r=A,n=s[A].url}t.reportInfo(i.MessageName.UNNAMED,`Downloading ${e.format(n,"green")}`),A=await o.httpUtils.get(n,{configuration:e})}const a={},g={exports:a};c.runInNewContext(A.toString(),{module:g,exports:a});const l=g.exports.name,h=`.yarn/plugins/${l}.js`,p=s.ppath.resolve(n.cwd,h);t.reportInfo(i.MessageName.UNNAMED,`Saving the new plugin in ${e.format(h,"magenta")}`),await s.xfs.mkdirpPromise(s.ppath.dirname(p)),await s.xfs.writeFilePromise(p,A);const f={path:h,spec:r};await i.Configuration.updateConfiguration(n.cwd,e=>{const t=[];let r=!1;for(const A of e.plugins||[]){const e="string"!=typeof A?A.path:A,o=s.ppath.resolve(n.cwd,s.npath.toPortablePath(e)),{name:a}=i.miscUtils.dynamicRequire(s.npath.fromPortablePath(o));a!==l?t.push(A):(t.push(f),r=!0)}return r||t.push(f),{plugins:t}})})).exitCode()}}g.usage=a.Command.Usage({category:"Plugin-related commands",description:"download a plugin",details:"\n This command downloads the specified plugin from its remote location and updates the configuration to reference it in further CLI invocations.\n\n Three types of plugin references are accepted:\n\n - If the plugin is stored within the Yarn repository, it can be referenced by name.\n - Third-party plugins can be referenced directly through their public urls.\n - Local plugins can be referenced by their path on the disk.\n\n Plugins cannot be downloaded from the npm registry, and aren't allowed to have dependencies (they need to be bundled into a single file, possibly thanks to the `@yarnpkg/builder` package).\n ",examples:[['Download and activate the "@yarnpkg/plugin-exec" plugin',"$0 plugin import @yarnpkg/plugin-exec"],['Download and activate the "@yarnpkg/plugin-exec" plugin (shorthand)',"$0 plugin import exec"],["Download and activate a community plugin","$0 plugin import https://example.org/path/to/plugin.js"],["Activate a local plugin","$0 plugin import ./path/to/plugin.js"]]}),r([a.Command.String()],g.prototype,"name",void 0),r([a.Command.Path("plugin","import")],g.prototype,"execute",null),t.default=g},function(e,t){e.exports=require("vm")},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(7),i=n(0),o=n(2);class s extends A.BaseCommand{constructor(){super(...arguments),this.json=!1}async execute(){const e=await i.Configuration.find(this.context.cwd,this.context.plugins);return(await i.StreamReport.start({configuration:e,json:this.json,stdout:this.context.stdout},async t=>{for(const n of e.plugins.keys()){const e=this.context.plugins.plugins.has(n);let r=n;e&&(r+=" [builtin]"),t.reportJson({name:n,builtin:e}),t.reportInfo(null,`${r}`)}})).exitCode()}}s.usage=o.Command.Usage({category:"Plugin-related commands",description:"list the active plugins",details:"\n This command prints the currently active plugins. Will be displayed both builtin plugins and external plugins.\n ",examples:[["List the currently active plugins","$0 plugin runtime"]]}),r([o.Command.Boolean("--json")],s.prototype,"json",void 0),r([o.Command.Path("plugin","runtime")],s.prototype,"execute",null),t.default=s},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(7),i=n(0),o=n(1),s=n(33),a=n(2);class c extends A.BaseCommand{constructor(){super(...arguments),this.idents=[]}async execute(){const e=await i.Configuration.find(this.context.cwd,this.context.plugins),{project:t,workspace:n}=await i.Project.find(e,this.context.cwd),r=await i.Cache.find(e);if(!n)throw new A.WorkspaceRequiredError(t.cwd,this.context.cwd);const a=new Set;for(const e of this.idents)a.add(i.structUtils.parseIdent(e).identHash);await t.resolveEverything({cache:r,report:new i.ThrowReport});const c=e.get("bstatePath"),u=o.xfs.existsSync(c)?s.parseSyml(await o.xfs.readFilePromise(c,"utf8")):{},g=new Map;for(const e of t.storedPackages.values()){if(!Object.prototype.hasOwnProperty.call(u,e.locatorHash))continue;if(0===a.size||a.has(e.identHash))continue;const t=u[e.locatorHash];g.set(e.locatorHash,t)}if(g.size>0){const n=e.get("bstatePath"),r=i.Project.generateBuildStateFile(g,t.storedPackages);await o.xfs.mkdirpPromise(o.ppath.dirname(n)),await o.xfs.changeFilePromise(n,r,{automaticNewlines:!0})}else await o.xfs.removePromise(c);return(await i.StreamReport.start({configuration:e,stdout:this.context.stdout,includeLogs:!this.context.quiet},async e=>{await t.install({cache:r,report:e})})).exitCode()}}c.usage=a.Command.Usage({description:"rebuild the project's native packages",details:"\n This command will automatically cause Yarn to forget about previous compilations of the given packages and to run them again.\n\n Note that while Yarn forgets the compilation, the previous artifacts aren't erased from the filesystem and may affect the next builds (in good or bad). To avoid this, you may remove the .yarn/unplugged folder, or any other relevant location where packages might have been stored (Yarn may offer a way to do that automatically in the future).\n\n By default all packages will be rebuilt, but you can filter the list by specifying the names of the packages you want to clear from memory.\n ",examples:[["Rebuild all packages","$0 rebuild"],["Rebuild fsevents only","$0 rebuild fsevents"]]}),r([a.Command.Rest()],c.prototype,"idents",void 0),r([a.Command.Path("rebuild")],c.prototype,"execute",null),t.default=c},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o},A=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const i=n(7),o=n(0),s=n(0),a=n(0),c=n(2),u=A(n(161));class g extends i.BaseCommand{constructor(){super(...arguments),this.all=!1,this.names=[]}async execute(){const e=await o.Configuration.find(this.context.cwd,this.context.plugins),{project:t,workspace:n}=await o.Project.find(e,this.context.cwd),r=await o.Cache.find(e);if(!n)throw new i.WorkspaceRequiredError(t.cwd,this.context.cwd);const A=this.all?t.workspaces:[n],g=[u.Target.REGULAR,u.Target.DEVELOPMENT,u.Target.PEER],l=[];let h=!1;const p=[];for(const t of this.names){const n=a.structUtils.parseIdent(t);let r=!1;for(const e of A){e.manifest.peerDependenciesMeta.has(n.name)&&(e.manifest.peerDependenciesMeta.delete(n.name),h=!0,r=!0);for(const t of g){const A=e.manifest[t].get(n.identHash);void 0!==A&&(e.manifest[t].delete(n.identHash),p.push([e,t,A]),h=!0,r=!0)}}r||l.push(a.structUtils.prettyIdent(e,n))}const f=l.length>1?"aren't":"isn't",C=this.all?"any":"this";if(l.length>0)throw new c.UsageError(`Package ${l.join(", ")} ${f} referenced by ${C} workspace`);if(h){return await e.triggerMultipleHooks(e=>e.afterWorkspaceDependencyRemoval,p),(await s.StreamReport.start({configuration:e,stdout:this.context.stdout},async e=>{await t.install({cache:r,report:e})})).exitCode()}}}g.usage=c.Command.Usage({description:"remove dependencies from the project",details:"\n This command will remove the specified packages from the current workspace.\n\n If the `-A,--all` option is set, the operation will be applied to all workspaces from the current project.\n ",examples:[["Remove a dependency from the current project","$0 remove lodash"],["Remove a dependency from all workspaces at once","$0 remove lodash --all"]]}),r([c.Command.Boolean("-A,--all")],g.prototype,"all",void 0),r([c.Command.Rest()],g.prototype,"names",void 0),r([c.Command.Path("remove")],g.prototype,"execute",null),t.default=g},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(7),i=n(0),o=n(0),s=n(2),a=n(6);class c extends A.BaseCommand{async execute(){const e=await i.Configuration.find(this.context.cwd,this.context.plugins),{project:t,workspace:n}=await i.Project.find(e,this.context.cwd);if(!n)throw new A.WorkspaceRequiredError(t.cwd,this.context.cwd);return(await i.StreamReport.start({configuration:e,stdout:this.context.stdout},async t=>{const r=n.manifest.scripts,A=o.miscUtils.sortMap(r.keys(),e=>e),i={breakLength:1/0,colors:e.get("enableColors"),maxArrayLength:2},s=A.reduce((e,t)=>Math.max(e,t.length),0);for(const[e,n]of r.entries())t.reportInfo(null,`${e.padEnd(s," ")} ${a.inspect(n,i)}`)})).exitCode()}}r([s.Command.Path("run")],c.prototype,"execute",null),t.default=c},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(7),i=n(0),o=n(0),s=n(2),a=n(1130);class c extends A.BaseCommand{constructor(){super(...arguments),this.inspect=!1,this.inspectBrk=!1,this.topLevel=!1,this.binariesOnly=!1,this.args=[]}async execute(){const e=await i.Configuration.find(this.context.cwd,this.context.plugins),{project:t,workspace:n,locator:r}=await i.Project.find(e,this.context.cwd);await t.restoreInstallState();const A=this.topLevel?t.topLevelWorkspace.anchoredLocator:r;if(!this.binariesOnly&&await o.scriptUtils.hasPackageScript(A,this.scriptName,{project:t}))return await o.scriptUtils.executePackageScript(A,this.scriptName,this.args,{project:t,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr});if((await o.scriptUtils.getPackageAccessibleBinaries(A,{project:t})).get(this.scriptName)){const e=[];return this.inspect&&e.push("--inspect"),this.inspectBrk&&e.push("--inspect-brk"),await o.scriptUtils.executePackageAccessibleBinary(A,this.scriptName,this.args,{cwd:this.context.cwd,project:t,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,nodeArgs:e})}if(!this.topLevel&&!this.binariesOnly&&n&&this.scriptName.includes(":")){let e=(await Promise.all(t.workspaces.map(async e=>e.manifest.scripts.has(this.scriptName)?e:null))).filter(e=>null!==e);if(1===e.length)return await o.scriptUtils.executeWorkspaceScript(e[0],this.scriptName,this.args,{stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})}if(this.topLevel)throw"node-gyp"===this.scriptName?new s.UsageError(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${o.structUtils.prettyLocator(e,r)}). This typically happens because some package depends on "node-gyp" to build itself, but didn't list it in their dependencies. To fix that, please run "yarn add node-gyp" into your top-level workspace. You also can open an issue on the repository of the specified package to suggest them to use an optional peer dependency.`):new s.UsageError(`Couldn't find a script name "${this.scriptName}" in the top-level (used by ${o.structUtils.prettyLocator(e,r)}).`);{if("global"===this.scriptName)throw new s.UsageError("The 'yarn global' commands have been removed in 2.x - consider using 'yarn dlx' or a third-party plugin instead");const e=[this.scriptName].concat(this.args);for(const[t,n]of a.pluginCommands)for(const r of n)if(e.length>=r.length&&JSON.stringify(e.slice(0,r.length))===JSON.stringify(r))throw new s.UsageError(`Couldn't find a script named "${this.scriptName}", but a matching command can be found in the ${t} plugin. You can install it with "yarn plugin import ${t}".`);throw new s.UsageError(`Couldn't find a script named "${this.scriptName}".`)}}}c.usage=s.Command.Usage({description:"run a script defined in the package.json",details:"\n This command will run a tool. The exact tool that will be executed will depend on the current state of your workspace:\n\n - If the `scripts` field from your local package.json contains a matching script name, its definition will get executed.\n\n - Otherwise, if one of the local workspace's dependencies exposes a binary with a matching name, this binary will get executed (the `--inspect` and `--inspect-brk` options will then be forwarded to the underlying Node process).\n\n - Otherwise, if the specified name contains a colon character and if one of the workspaces in the project contains exactly one script with a matching name, then this script will get executed.\n\n Whatever happens, the cwd of the spawned process will be the workspace that declares the script (which makes it possible to call commands cross-workspaces using the third syntax).\n ",examples:[["Run the tests from the local workspace","$0 run test"],['Same thing, but without the "run" keyword',"$0 test"],["Inspect Webpack while running","$0 run --inspect-brk webpack"]]}),r([s.Command.Boolean("--inspect")],c.prototype,"inspect",void 0),r([s.Command.Boolean("--inspect-brk")],c.prototype,"inspectBrk",void 0),r([s.Command.Boolean("-T,--top-level",{hidden:!0})],c.prototype,"topLevel",void 0),r([s.Command.Boolean("-B,--binaries-only",{hidden:!0})],c.prototype,"binariesOnly",void 0),r([s.Command.Boolean("--silent",{hidden:!0})],c.prototype,"silent",void 0),r([s.Command.String()],c.prototype,"scriptName",void 0),r([s.Command.Proxy()],c.prototype,"args",void 0),r([s.Command.Path("run")],c.prototype,"execute",null),t.default=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.pluginCommands=new Map([["constraints",[["constraints","query"],["constraints","source"],["constraints"]]],["interactive-tools",[["upgrade-interactive"]]],["stage",[["stage"]]],["version",[["version","apply"],["version","check"],["version"]]],["workspace-tools",[["workspaces","foreach"],["workspace"]]]])},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(7),i=n(0),o=n(0),s=n(2);class a extends A.BaseCommand{constructor(){super(...arguments),this.save=!1}async execute(){const e=await i.Configuration.find(this.context.cwd,this.context.plugins),{project:t,workspace:n}=await i.Project.find(e,this.context.cwd),r=await i.Cache.find(e);if(!n)throw new A.WorkspaceRequiredError(t.cwd,this.context.cwd);const s=o.structUtils.parseDescriptor(this.descriptor,!0),a=o.structUtils.makeDescriptor(s,this.resolution);return t.storedDescriptors.set(s.descriptorHash,s),t.storedDescriptors.set(a.descriptorHash,a),t.resolutionAliases.set(s.descriptorHash,a.descriptorHash),(await i.StreamReport.start({configuration:e,stdout:this.context.stdout},async e=>{await t.install({cache:r,report:e})})).exitCode()}}a.usage=s.Command.Usage({description:"enforce a package resolution",details:'\n This command updates the resolution table so that `descriptor` is resolved by `resolution`.\n\n Note that by default this command only affect the current resolution table - meaning that this "manual override" will disappear if you remove the lockfile, or if the package disappear from the table. If you wish to make the enforced resolution persist whatever happens, add the `-s,--save` flag which will also edit the `resolutions` field from your top-level manifest.\n\n Note that no attempt is made at validating that `resolution` is a valid resolution entry for `descriptor`.\n ',examples:[["Force all instances of lodash@^1.2.3 to resolve to 1.5.0","$0 set resolution lodash@^1.2.3 1.5.0"]]}),r([s.Command.String()],a.prototype,"descriptor",void 0),r([s.Command.String()],a.prototype,"resolution",void 0),r([s.Command.Boolean("-s,--save")],a.prototype,"save",void 0),r([s.Command.Path("set","resolution")],a.prototype,"execute",null),t.default=a},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(7),i=n(0),o=n(1),s=n(2),a=n(32),c=n(428),u=/^[0-9]+$/;function g(e){return u.test(e)?`pull/${e}/head`:e}const l=({repository:e,branch:t},n)=>[["git","init",o.npath.fromPortablePath(n)],["git","remote","add","origin",e],["git","fetch","origin",g(t)],["git","reset","--hard","FETCH_HEAD"]],h=({branch:e})=>[["git","fetch","origin",g(e),"--force"],["git","reset","--hard","FETCH_HEAD"],["git","clean","-dfx"]],p=({plugins:e,noMinify:t})=>[["yarn","build:cli",...(new Array).concat(...e.map(e=>["--plugin",e])),...t?["--no-minify"]:[],"|"]];class f extends A.BaseCommand{constructor(){super(...arguments),this.repository="https://github.com/yarnpkg/berry.git",this.branch="master",this.plugins=[],this.noMinify=!1,this.force=!1}async execute(){const e=await i.Configuration.find(this.context.cwd,this.context.plugins),t=void 0!==this.installPath?o.ppath.resolve(this.context.cwd,o.npath.toPortablePath(this.installPath)):o.ppath.resolve(o.npath.toPortablePath(a.tmpdir()),"yarnpkg-sources");return(await i.StreamReport.start({configuration:e,stdout:this.context.stdout},async n=>{const r=async n=>{for(const[r,...A]of n){const n="|"===A[A.length-1];if(n&&A.pop(),n)await i.execUtils.pipevp(r,A,{cwd:t,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,strict:!0});else{this.context.stdout.write(`${e.format(` $ ${[r,...A].join(" ")}`,"grey")}\n`);try{await i.execUtils.execvp(r,A,{cwd:t,strict:!0})}catch(e){throw this.context.stdout.write(e.stdout||e.stack),e}}}};let A=!1;if(!this.force&&o.xfs.existsSync(o.ppath.join(t,".git"))){n.reportInfo(i.MessageName.UNNAMED,"Fetching the latest commits"),n.reportSeparator();try{await r(h(this)),A=!0}catch(e){n.reportSeparator(),n.reportWarning(i.MessageName.UNNAMED,"Repository update failed; we'll try to regenerate it")}}A||(n.reportInfo(i.MessageName.UNNAMED,"Cloning the remote repository"),n.reportSeparator(),await o.xfs.removePromise(t),await o.xfs.mkdirpPromise(t),await r(l(this,t))),n.reportSeparator(),n.reportInfo(i.MessageName.UNNAMED,"Building a fresh bundle"),n.reportSeparator(),await r(p(this)),n.reportSeparator();const s=o.ppath.resolve(t,"packages/yarnpkg-cli/bundles/yarn.js"),a=await o.xfs.readFilePromise(s);await c.setVersion(e,"sources",a,{report:n})})).exitCode()}}f.usage=s.Command.Usage({description:"build Yarn from master",details:"\n This command will clone the Yarn repository into a temporary folder, then build it. The resulting bundle will then be copied into the local project.\n ",examples:[["Build Yarn from master","$0 set version from sources"]]}),r([s.Command.String("--path")],f.prototype,"installPath",void 0),r([s.Command.String("--repository")],f.prototype,"repository",void 0),r([s.Command.String("--branch")],f.prototype,"branch",void 0),r([s.Command.Array("--plugin")],f.prototype,"plugins",void 0),r([s.Command.Boolean("--no-minify")],f.prototype,"noMinify",void 0),r([s.Command.Boolean("-f,--force")],f.prototype,"force",void 0),r([s.Command.Path("set","version","from","sources")],f.prototype,"execute",null),t.default=f},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o},A=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},i=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const o=n(7),s=n(0),a=n(0),c=n(0),u=n(2),g=A(n(147)),l=i(n(161));class h extends o.BaseCommand{constructor(){super(...arguments),this.packages=[],this.interactive=!1,this.verbose=!1,this.exact=!1,this.tilde=!1,this.caret=!1}async execute(){const e=await s.Configuration.find(this.context.cwd,this.context.plugins),{project:t,workspace:n}=await a.Project.find(e,this.context.cwd),r=await s.Cache.find(e);if(!n)throw new o.WorkspaceRequiredError(t.cwd,this.context.cwd);const A=g.default.createPromptModule({input:this.context.stdin,output:this.context.stdout}),i=l.getModifier(this,t),h=this.interactive?[l.Strategy.KEEP,l.Strategy.REUSE,l.Strategy.PROJECT,l.Strategy.LATEST]:[l.Strategy.PROJECT,l.Strategy.LATEST],p=[],f=[];for(const n of this.packages){const A=c.structUtils.parseDescriptor(n);let o=!1;for(const e of t.workspaces)for(const n of[l.Target.REGULAR,l.Target.DEVELOPMENT]){const s=e.manifest[n].get(A.identHash);s&&(p.push(Promise.resolve().then(async()=>[e,n,s,await l.getSuggestedDescriptors(A,{project:t,workspace:e,cache:r,target:n,modifier:i,strategies:h})])),o=!0)}o||f.push(c.structUtils.prettyIdent(e,A))}if(f.length>1)throw new u.UsageError(`Packages ${f.join(", ")} aren't referenced by any workspace`);if(f.length>0)throw new u.UsageError(`Package ${f[0]} isn't referenced by any workspace`);const C=await Promise.all(p),d=await s.LightReport.start({configuration:e,stdout:this.context.stdout,suggestInstall:!1},async n=>{for(const[,,r,A]of C){const i=A.filter(e=>null!==e.descriptor);0===i.length?t.configuration.get("enableNetwork")?n.reportError(s.MessageName.CANT_SUGGEST_RESOLUTIONS,`${c.structUtils.prettyDescriptor(e,r)} can't be resolved to a satisfying range`):n.reportError(s.MessageName.CANT_SUGGEST_RESOLUTIONS,`${c.structUtils.prettyDescriptor(e,r)} can't be resolved to a satisfying range (note: network resolution has been disabled)`):i.length>1&&!this.interactive&&n.reportError(s.MessageName.CANT_SUGGEST_RESOLUTIONS,`${c.structUtils.prettyDescriptor(e,r)} has multiple possible upgrade strategies; use -i to disambiguate manually`)}});if(d.hasErrors())return d.exitCode();let I=!1,E=!1;const B=[];for(const[n,r,,i]of C){let o;const s=i.filter(e=>null!==e.descriptor);1===s.length?o=s[0].descriptor:(I=!0,({answer:o}=await A({type:"list",name:"answer",message:`Which range to you want to use in ${c.structUtils.prettyWorkspace(e,n)} ❯ ${r}?`,choices:i.map(({descriptor:e,reason:n})=>e?{name:n,value:e,short:c.structUtils.prettyDescriptor(t.configuration,e)}:{name:n,disabled:()=>!0})})));const a=n.manifest[r].get(o.identHash);if(void 0===a)throw new Error("Assertion failed: This descriptor should have a matching entry");a.descriptorHash!==o.descriptorHash&&(n.manifest[r].set(o.identHash,o),B.push([n,r,a,o]),E=!0)}if(E){return await e.triggerMultipleHooks(e=>e.afterWorkspaceDependencyReplacement,B),I&&this.context.stdout.write("\n"),(await a.StreamReport.start({configuration:e,stdout:this.context.stdout},async e=>{await t.install({cache:r,report:e})})).exitCode()}}}h.usage=u.Command.Usage({description:"upgrade dependencies across the project",details:"\n This command upgrades a list of packages to their latest available version across the whole project (regardless of whether they're part of `dependencies` or `devDependencies` - `peerDependencies` won't be affected). This is a project-wide command: all workspaces will be upgraded in the process.\n\n If `-i,--interactive` is set (or if the `preferInteractive` settings is toggled on) the command will offer various choices, depending on the detected upgrade paths. Some upgrades require this flag in order to resolve ambiguities.\n\n The, `-C,--caret`, `-E,--exact` and `-T,--tilde` options have the same meaning as in the `add` command (they change the modifier used when the range is missing or a tag, and are ignored when the range is explicitly set).\n ",examples:[["Upgrade all instances of lodash to the latest release","$0 up lodash"],["Upgrade all instances of lodash to the latest release, but ask confirmation for each","$0 up lodash -i"],["Upgrade all instances of lodash to 1.2.3","$0 up lodash@1.2.3"]]}),r([u.Command.Rest()],h.prototype,"packages",void 0),r([u.Command.Boolean("-i,--interactive")],h.prototype,"interactive",void 0),r([u.Command.Boolean("-v,--verbose")],h.prototype,"verbose",void 0),r([u.Command.Boolean("-E,--exact")],h.prototype,"exact",void 0),r([u.Command.Boolean("-T,--tilde")],h.prototype,"tilde",void 0),r([u.Command.Boolean("-C,--caret")],h.prototype,"caret",void 0),r([u.Command.Path("up")],h.prototype,"execute",null),t.default=h},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(7),i=n(0),o=n(0),s=n(0),a=n(2),c=n(1135);class u extends A.BaseCommand{constructor(){super(...arguments),this.recursive=!1,this.peers=!1}async execute(){const e=await i.Configuration.find(this.context.cwd,this.context.plugins),{project:t,workspace:n}=await o.Project.find(e,this.context.cwd);if(!n)throw new A.WorkspaceRequiredError(t.cwd,this.context.cwd);await t.restoreInstallState();const r=s.structUtils.parseIdent(this.package).identHash,a=this.recursive?function(e,t,{configuration:n,peers:r}){const A=s.miscUtils.sortMap(e.workspaces,e=>s.structUtils.stringifyLocator(e.anchoredLocator)),i=new Set,o=new Set,a=n=>{if(i.has(n.locatorHash))return o.has(n.locatorHash);if(i.add(n.locatorHash),n.identHash===t)return o.add(n.locatorHash),!0;let A=!1;n.identHash===t&&(A=!0);for(const t of n.dependencies.values()){if(!r&&n.peerDependencies.has(t.identHash))continue;const i=e.storedResolutions.get(t.descriptorHash);if(!i)throw new Error("Assertion failed: The resolution should have been registered");const o=e.storedPackages.get(i);if(!o)throw new Error("Assertion failed: The package should have been registered");a(o)&&(A=!0)}return A&&o.add(n.locatorHash),A};for(const t of A){const n=e.storedPackages.get(t.anchoredLocator.locatorHash);if(!n)throw new Error("Assertion failed: The package should have been registered");a(n)}const c=new Set,u={},g=(t,A,i)=>{if(!o.has(t.locatorHash))return;const a={};if(A[null!==i?`${s.structUtils.prettyLocator(n,t)} (via ${s.structUtils.prettyRange(n,i)})`:`${s.structUtils.prettyLocator(n,t)}`]=a,!c.has(t.locatorHash)&&(c.add(t.locatorHash),null===i||!e.tryWorkspaceByLocator(t)))for(const n of t.dependencies.values()){if(!r&&t.peerDependencies.has(n.identHash))continue;const A=e.storedResolutions.get(n.descriptorHash);if(!A)throw new Error("Assertion failed: The resolution should have been registered");const i=e.storedPackages.get(A);if(!i)throw new Error("Assertion failed: The package should have been registered");g(i,a,n.range)}};for(const t of A){const n=e.storedPackages.get(t.anchoredLocator.locatorHash);if(!n)throw new Error("Assertion failed: The package should have been registered");g(n,u,null)}return u}(t,r,{configuration:e,peers:this.peers}):function(e,t,{configuration:n,peers:r}){const A=s.miscUtils.sortMap(e.storedPackages.values(),e=>s.structUtils.stringifyLocator(e)),i={};for(const o of A){let A=null;for(const a of o.dependencies.values()){if(!r&&o.peerDependencies.has(a.identHash))continue;const c=e.storedResolutions.get(a.descriptorHash);if(!c)throw new Error("Assertion failed: The resolution should have been registered");const u=e.storedPackages.get(c);if(!u)throw new Error("Assertion failed: The package should have been registered");if(u.identHash!==t)continue;if(null===A){A={};const e=`${s.structUtils.prettyLocator(n,o)}`;i[e]=A}const g=`${s.structUtils.prettyLocator(n,u)} (via ${s.structUtils.prettyRange(n,a.range)})`;A[g]={}}}return i}(t,r,{configuration:e,peers:this.peers});!function(e,t){let n=c.asTree(t,!1,!1);n=n.replace(/^([├└]─)/gm,"│\n$1").replace(/^│\n/,""),e.write(n)}(this.context.stdout,a)}}u.usage=a.Command.Usage({description:"display the reason why a package is needed",details:'\n This command prints the exact reasons why a package appears in the dependency tree.\n\n If `-R,--recursive` is set, the listing will go in depth and will list, for each workspaces, what are all the paths that lead to the dependency. Note that the display is somewhat optimized in that it will not print the package listing twice for a single package, so if you see a leaf named "Foo" when looking for "Bar", it means that "Foo" already got printed higher in the tree.\n\n If `--peers` is set, the command will also print the peer dependencies that match the specified name.\n ',examples:[["Explain why lodash is used in your project","$0 why lodash"]]}),r([a.Command.String()],u.prototype,"package",void 0),r([a.Command.Boolean("-R,--recursive")],u.prototype,"recursive",void 0),r([a.Command.Boolean("--peers")],u.prototype,"peers",void 0),r([a.Command.Path("why")],u.prototype,"execute",null),t.default=u},function(e,t,n){e.exports=function(){function e(t,n,r,A,i,o,s){var a,c,u="",g=0,l=A.slice(0);if(l.push([n,r])&&A.length>0&&(A.forEach((function(e,t){t>0&&(u+=(e[1]?" ":"│")+" "),c||e[0]!==n||(c=!0)})),u+=function(e,t){var n=t?"└":"├";return n+=e?"─ ":"──┐"}(t,r)+t,i&&("object"!=typeof n||n instanceof Date)&&(u+=": "+n),c&&(u+=" (circular ref.)"),s(u)),!c&&"object"==typeof n){var h=function(e,t){var n=[];for(var r in e)e.hasOwnProperty(r)&&(t&&"function"==typeof e[r]||n.push(r));return n}(n,o);h.forEach((function(t){a=++g===h.length,e(t,n[t],a,l,i,o,s)}))}}var t={asLines:function(t,n,r,A){e(".",t,!1,[],n,"function"!=typeof r&&r,A||r)},asTree:function(t,n,r){var A="";return e(".",t,!1,[],n,r,(function(e){A+=e+"\n"})),A}};return t}()},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(7),i=n(0),o=n(2);class s extends A.BaseCommand{constructor(){super(...arguments),this.verbose=!1,this.json=!1}async execute(){const e=await i.Configuration.find(this.context.cwd,this.context.plugins),{project:t}=await i.Project.find(e,this.context.cwd);return(await i.StreamReport.start({configuration:e,json:this.json,stdout:this.context.stdout},async e=>{for(const n of t.workspaces){const{manifest:r}=n;let A;if(this.verbose){const e=new Set,n=new Set;for(const A of i.Manifest.hardDependencies)for(const[i,o]of r.getForScope(A)){const r=t.tryWorkspaceByDescriptor(o);null===r?t.workspacesByIdent.has(i)&&n.add(o):e.add(r)}A={workspaceDependencies:Array.from(e).map(e=>e.relativeCwd),mismatchedWorkspaceDependencies:Array.from(n).map(e=>i.structUtils.stringifyDescriptor(e))}}e.reportInfo(null,`${n.relativeCwd}`),e.reportJson(Object.assign({location:n.relativeCwd,name:r.name?i.structUtils.stringifyIdent(r.name):null},A))}})).exitCode()}}s.usage=o.Command.Usage({category:"Workspace-related commands",description:"list all available workspaces",details:"\n This command will print the list of all workspaces in the project. If both the `-v,--verbose` and `--json` options are set, Yarn will also return the cross-dependencies between each workspaces (useful when you wish to automatically generate Buck / Bazel rules).\n\n If the `--json` flag is set the output will follow a JSON-stream output also known as NDJSON (https://github.com/ndjson/ndjson-spec).\n "}),r([o.Command.Boolean("-v,--verbose")],s.prototype,"verbose",void 0),r([o.Command.Boolean("--json")],s.prototype,"json",void 0),r([o.Command.Path("workspaces","list")],s.prototype,"execute",null),t.default=s},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(7),i=n(0),o=n(0),s=n(2);class a extends s.Command{constructor(){super(...arguments),this.args=[]}async execute(){const e=await i.Configuration.find(this.context.cwd,this.context.plugins),{project:t,workspace:n}=await i.Project.find(e,this.context.cwd);if(!n)throw new A.WorkspaceRequiredError(t.cwd,this.context.cwd);const r=t.workspaces,a=new Map(r.map(e=>{const t=o.structUtils.convertToIdent(e.locator);return[o.structUtils.stringifyIdent(t),e]})),c=a.get(this.workspaceName);if(void 0===c){const e=Array.from(a.keys()).sort();throw new s.UsageError(`Workspace '${this.workspaceName}' not found. Did you mean any of the following:\n - ${e.join("\n - ")}?`)}return this.cli.run([this.commandName,...this.args],{cwd:c.cwd})}}a.usage=s.Command.Usage({category:"Workspace-related commands",description:"run a command within the specified workspace",details:"\n This command will run a given sub-command on a single workspace.\n ",examples:[["Add a package to a single workspace","yarn workspace components add -D react"],["Run build script on a single workspace","yarn workspace components run build"]]}),r([s.Command.String()],a.prototype,"workspaceName",void 0),r([s.Command.String()],a.prototype,"commandName",void 0),r([s.Command.Proxy()],a.prototype,"args",void 0),r([s.Command.Path("workspace")],a.prototype,"execute",null),t.default=a},function(e){e.exports=JSON.parse('{"name":"@yarnpkg/plugin-compat","version":"2.0.0-rc.11","main":"./sources/index.ts","peerDependencies":{"@yarnpkg/core":"^2.0.0-rc.27","@yarnpkg/plugin-patch":"^2.0.0-rc.8"},"devDependencies":{"@yarnpkg/core":"workspace:^2.0.0-rc.27","@yarnpkg/plugin-patch":"workspace:^2.0.0-rc.8"},"repository":{"type":"git","url":"ssh://git@github.com/yarnpkg/berry.git"},"scripts":{"postpack":"rm -rf lib","prepack":"run build:compile \\"$(pwd)\\""},"publishConfig":{"main":"./lib/index.js","typings":"./lib/index.d.ts"},"files":["/lib/**/*"]}')},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(0),A=n(1140),i=n(1141),o=n(1142),s=n(1143),a=new Map([[r.structUtils.makeIdent(null,"fsevents").identHash,i.patch],[r.structUtils.makeIdent(null,"resolve").identHash,o.patch],[r.structUtils.makeIdent(null,"typescript").identHash,s.patch]]),c={hooks:{registerPackageExtensions:async(e,t)=>{for(const[e,n]of A.packageExtensions)t(r.structUtils.parseDescriptor(e,!0),n)},getBuiltinPatch:async(e,t)=>{if(!t.startsWith("compat/"))return;const n=r.structUtils.parseIdent(t.slice("compat/".length)),A=a.get(n.identHash);return void 0!==A?A:null},reduceDependency:async(e,t,n,A)=>{return void 0===a.get(e.identHash)?e:r.structUtils.makeDescriptor(e,r.structUtils.makeRange({protocol:"patch:",source:r.structUtils.stringifyDescriptor(e),selector:`builtin`,params:null}))}}};t.default=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r={optional:!0};t.packageExtensions=[["@samverschueren/stream-to-observable@*",{peerDependenciesMeta:{rxjs:r,zenObservable:r}}],["any-observable@*",{peerDependenciesMeta:{rxjs:r,zenObservable:r}}],["@pm2/agent@*",{dependencies:{debug:"*"}}],["debug@*",{peerDependenciesMeta:{"supports-color":r}}],["got@*",{dependencies:{"@types/responselike":"^1.0.0","@types/keyv":"^3.1.1"}}],["cacheable-lookup@*",{dependencies:{"@types/keyv":"^3.1.1"}}],["http-link-dataloader@*",{peerDependencies:{graphql:"^0.13.1 || ^14.0.0"}}],["typescript-language-server@*",{dependencies:{"vscode-jsonrpc":"^5.0.1","vscode-languageserver-protocol":"^3.15.0"}}],["postcss-syntax@*",{peerDependenciesMeta:{"postcss-html":r,"postcss-jsx":r,"postcss-less":r,"postcss-markdown":r,"postcss-scss":r}}]]},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.patch="diff --git a/fsevents.js b/fsevents.js\nsemver exclusivity ^1\n--- a/fsevents.js\n+++ b/fsevents.js\n@@ -36,11 +36,15 @@ module.exports.Constants = Native.Constants;\n var defer = global.setImmediate || process.nextTick;\n\n function watch(path) {\n- var fse = new FSEvents(String(path || ''), handler);\n+ var VFS = require('./vfs');\n+ var vfs = new VFS(String(path || ''));\n+\n+ var fse = new FSEvents(vfs.resolvedPath, handler);\n EventEmitter.call(fse);\n return fse;\n\n function handler(path, flags, id) {\n+ path = vfs.transpose(path);\n defer(function() {\n fse.emit('fsevent', path, flags, id);\n var info = getInfo(path, flags);\ndiff --git a/fsevents.js b/fsevents.js\nsemver exclusivity ^2.1\n--- a/fsevents.js\n+++ b/fsevents.js\n@@ -21,5 +21,7 @@ function watch(path, handler) {\n throw new TypeError(`fsevents argument 2 must be a function and not a ${typeof handler}`);\n }\n\n- let instance = Native.start(path, handler);\n+ let VFS = require('./vfs');\n+ let vfs = new VFS(path);\n+ let instance = Native.start(vfs.resolvedPath, vfs.wrap(handler));\n if (!instance) throw new Error(`could not watch: ${path}`);\ndiff --git a/vfs.js b/vfs.js\nnew file mode 100644\n--- /dev/null\n+++ b/vfs.js\n@@ -0,0 +1,41 @@\n+const path = require(`path`);\n+\n+const NUMBER_REGEXP = /^[0-9]+$/;\n+const VIRTUAL_REGEXP = /^(\\/(?:[^\\/]+\\/)*?\\$\\$virtual)((?:\\/([^\\/]+)(?:\\/([^\\/]+))?)?((?:\\/.*)?))$/;\n+\n+function resolveVirtual(p) {\n+ const match = p.match(VIRTUAL_REGEXP);\n+ if (!match)\n+ return p;\n+\n+ const target = path.dirname(match[1]);\n+ if (!match[3] || !match[4])\n+ return target;\n+\n+ const isnum = NUMBER_REGEXP.test(match[4]);\n+ if (!isnum)\n+ return p;\n+\n+ const depth = Number(match[4]);\n+ const backstep = `../`.repeat(depth);\n+ const subpath = (match[5] || `.`);\n+\n+ return resolveVirtual(path.join(target, backstep, subpath));\n+}\n+\n+module.exports = class FsePnp {\n+ constructor(p) {\n+ this.normalizedPath = path.resolve(p);\n+ this.resolvedPath = resolveVirtual(this.normalizedPath);\n+ }\n+\n+ transpose(p) {\n+ return this.normalizedPath + p.substr(this.resolvedPath.length);\n+ }\n+\n+ wrap(fn) {\n+ return (path, ...args) => {\n+ return fn(this.transpose(path), ...args);\n+ };\n+ }\n+};\n"},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.patch='diff --git a/lib/normalize-options.js b/lib/normalize-options.js\nindex 4b56904..53a3219 100644\nsemver exclusivity >=1.9\n--- a/lib/normalize-options.js\n+++ b/lib/normalize-options.js\n@@ -1,10 +1,108 @@\n-module.exports = function (x, opts) {\n- /**\n- * This file is purposefully a passthrough. It\'s expected that third-party\n- * environments will override it at runtime in order to inject special logic\n- * into `resolve` (by manipulating the options). One such example is the PnP\n- * code path in Yarn.\n- */\n-\n- return opts || {};\n+// Info: this file has been generated by Yarn with the approval of the\n+// `resolve` maintainers. Bugs caused by a code located here should be\n+// opened against the Yarn repository.\n+\n+const path = require(`path`);\n+\n+module.exports = function (_, opts) {\n+ opts = opts || {};\n+\n+ if (opts.forceNodeResolution || !process.versions.pnp)\n+ return opts;\n+\n+ // It would be nice if we could throw, but that would break the transparent\n+ // compatibility with packages that use `resolve` today (such as Gulp). Since\n+ // it\'s the whole point of this patch, we don\'t.\n+ //\n+ // if (opts.packageIterator || opts.paths)\n+ // throw new Error(`The "packageIterator" and "paths" options cannot be used in PnP environments. Set "forceNodeResolution: true" if absolutely needed, or branch on process.versions.pnp otherwise.`);\n+\n+ const {findPnpApi} = require(`module`);\n+\n+ const runPnpResolution = (request, basedir) => {\n+ // Extract the name of the package being requested (1=package name, 2=internal path)\n+ const parts = request.match(/^((?:@[^\\/]+\\/)?[^\\/]+)(\\/.*)?/);\n+ if (!parts)\n+ throw new Error(`Assertion failed: Expected the "resolve" package to call the "paths" callback with package names only (got "${request}")`);\n+\n+ // Make sure that basedir ends with a slash\n+ if (basedir.charAt(basedir.length - 1) !== `/`)\n+ basedir = path.join(basedir, `/`);\n+\n+ const api = findPnpApi(basedir);\n+ if (api === null)\n+ return undefined;\n+\n+ // This is guaranteed to return the path to the "package.json" file from the given package\n+ let manifestPath;\n+ try {\n+ manifestPath = api.resolveToUnqualified(`${parts[1]}/package.json`, basedir, {considerBuiltins: false});\n+ } catch (err) {\n+ return null;\n+ }\n+\n+ if (manifestPath === null)\n+ throw new Error(`Assertion failed: The resolution thinks that "${parts[1]}" is a Node builtin`);\n+\n+ // Strip the package.json to get the package folder\n+ const packagePath = path.dirname(manifestPath);\n+\n+ // Attach the internal path to the resolved package directory\n+ const unqualifiedPath = typeof parts[2] !== `undefined`\n+ ? path.join(packagePath, parts[2])\n+ : packagePath;\n+\n+ return {packagePath, unqualifiedPath};\n+ };\n+\n+ const packageIterator = (request, basedir, getCandidates, opts) => {\n+ const resolution = runPnpResolution(request, basedir);\n+ if (typeof resolution === `undefined`)\n+ return getCandidates();\n+\n+ if (resolution === null)\n+ return [];\n+\n+ return [resolution.unqualifiedPath];\n+ };\n+\n+ const paths = (request, basedir, getNodeModulePaths, opts) => {\n+ const resolution = runPnpResolution(request, basedir);\n+ if (typeof resolution === `undefined`)\n+ return getNodeModulePaths();\n+\n+ if (resolution === null)\n+ return [];\n+\n+ // Stip the local named folder\n+ let nodeModules = path.dirname(resolution.packagePath);\n+\n+ // Strip the scope named folder if needed\n+ if (request.match(/^@[^\\/]+\\//))\n+ nodeModules = path.dirname(nodeModules);\n+\n+ return [nodeModules];\n+ };\n+\n+ // We need to keep track whether we\'re in `packageIterator` or not so that\n+ // the code is compatible with both `resolve` 1.9+ and `resolve` 1.15+\n+ let isInsideIterator = false;\n+\n+ opts.packageIterator = function (request, basedir, getCandidates, opts) {\n+ isInsideIterator = true;\n+ try {\n+ return packageIterator(request, basedir, getCandidates, opts);\n+ } finally {\n+ isInsideIterator = false;\n+ }\n+ };\n+\n+ opts.paths = function (request, basedir, getNodeModulePaths, opts) {\n+ if (isInsideIterator)\n+ return getNodeModulePaths();\n+\n+ return paths(request, basedir, getNodeModulePaths, opts);\n+ };\n+\n+ return opts;\n };\n'},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.patch='diff --git a/lib/tsc.js b/lib/tsc.js\nindex d7f749f633..c4a080b2c8 100644\nsemver exclusivity >=3.0 <3.6\n--- a/lib/tsc.js\n+++ b/lib/tsc.js\n@@ -22576,21 +22576,48 @@ var ts;\n }\n }\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths("node_modules", "@types");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ currentDirectory = ts.sys.resolvePath(currentDirectory);\n+ var pnpapi = getPnpApi();\n+ var locator = pnpapi.findPackageLocator(currentDirectory + "/");\n+ var packageDependencies = pnpapi.getPackageInformation(locator).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = "@types/";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n function resolveTypeReferenceDirective(typeReferenceDirectiveName, containingFile, options, host, redirectedReference) {\n var traceEnabled = isTraceEnabled(options, host);\n if (redirectedReference) {\n@@ -22670,7 +22697,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, undefined, undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, undefined, undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -23043,9 +23072,12 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n@@ -23487,6 +23519,45 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ function isPnpAvailable() {\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require("pnpapi");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ return getPnpApi().resolveToUnqualified(packageName, containingDirectory + "/", { considerBuiltins: false });\n+ }\n+ catch (_a) {\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), false, state, true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), false, state, true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ if (resolved) {\n+ return toSearchResult(resolved);\n+ }\n+ }\n })(ts || (ts = {}));\n var ts;\n (function (ts) {\ndiff --git a/lib/tsserver.js b/lib/tsserver.js\nindex 4ea67ecd85..057ea079ad 100644\nsemver exclusivity >=3.0 <3.6\n--- a/lib/tsserver.js\n+++ b/lib/tsserver.js\n@@ -27790,24 +27790,52 @@ var ts;\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n /**\n * Returns the path to every node_modules/@types directory from some ancestor directory.\n- * Returns undefined if there are none.\n */\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n // And if it doesn\'t exist, tough.\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths("node_modules", "@types");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ // Some TS consumers pass relative paths that aren\'t normalized\n+ currentDirectory = ts.sys.resolvePath(currentDirectory);\n+ var pnpapi = getPnpApi();\n+ var locator = pnpapi.findPackageLocator(currentDirectory + "/");\n+ var packageDependencies = pnpapi.getPackageInformation(locator).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ // eslint-disable-next-line no-null/no-null\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = "@types/";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n /**\n * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.\n * This is possible in case if resolution is performed for directives specified via \'types\' parameter. In this case initial path for secondary lookups\n@@ -27894,7 +27922,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -28378,9 +28408,12 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n@@ -28876,6 +28909,57 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don\'t execute potentially malicious code that didn\'t already have a\n+ * chance to be executed (if we\'re running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require("pnpapi");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ return getPnpApi().resolveToUnqualified(packageName, containingDirectory + "/", { considerBuiltins: false });\n+ }\n+ catch (_a) {\n+ // Nothing to do\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ /* @internal */\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ if (resolved) {\n+ return toSearchResult(resolved);\n+ }\n+ }\n })(ts || (ts = {}));\n /* @internal */\n var ts;\ndiff --git a/lib/tsserverlibrary.js b/lib/tsserverlibrary.js\nindex 2897a22620..cf3e054327 100644\nsemver exclusivity >=3.0 <3.6\n--- a/lib/tsserverlibrary.js\n+++ b/lib/tsserverlibrary.js\n@@ -27940,24 +27940,52 @@ var ts;\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n /**\n * Returns the path to every node_modules/@types directory from some ancestor directory.\n- * Returns undefined if there are none.\n */\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n // And if it doesn\'t exist, tough.\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths("node_modules", "@types");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ // Some TS consumers pass relative paths that aren\'t normalized\n+ currentDirectory = ts.sys.resolvePath(currentDirectory);\n+ var pnpapi = getPnpApi();\n+ var locator = pnpapi.findPackageLocator(currentDirectory + "/");\n+ var packageDependencies = pnpapi.getPackageInformation(locator).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ // eslint-disable-next-line no-null/no-null\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = "@types/";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n /**\n * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.\n * This is possible in case if resolution is performed for directives specified via \'types\' parameter. In this case initial path for secondary lookups\n@@ -28044,7 +28072,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -28528,9 +28558,12 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n@@ -29026,6 +29059,57 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don\'t execute potentially malicious code that didn\'t already have a\n+ * chance to be executed (if we\'re running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require("pnpapi");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ return getPnpApi().resolveToUnqualified(packageName, containingDirectory + "/", { considerBuiltins: false });\n+ }\n+ catch (_a) {\n+ // Nothing to do\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ /* @internal */\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ if (resolved) {\n+ return toSearchResult(resolved);\n+ }\n+ }\n })(ts || (ts = {}));\n /* @internal */\n var ts;\ndiff --git a/lib/typescript.js b/lib/typescript.js\nindex 548ceea966..92c195a616 100644\nsemver exclusivity >=3.0 <3.6\n--- a/lib/typescript.js\n+++ b/lib/typescript.js\n@@ -27929,24 +27929,52 @@ var ts;\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n /**\n * Returns the path to every node_modules/@types directory from some ancestor directory.\n- * Returns undefined if there are none.\n */\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n // And if it doesn\'t exist, tough.\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths("node_modules", "@types");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ // Some TS consumers pass relative paths that aren\'t normalized\n+ currentDirectory = ts.sys.resolvePath(currentDirectory);\n+ var pnpapi = getPnpApi();\n+ var locator = pnpapi.findPackageLocator(currentDirectory + "/");\n+ var packageDependencies = pnpapi.getPackageInformation(locator).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ // eslint-disable-next-line no-null/no-null\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = "@types/";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n /**\n * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.\n * This is possible in case if resolution is performed for directives specified via \'types\' parameter. In this case initial path for secondary lookups\n@@ -28033,7 +28061,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -28517,9 +28547,12 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n@@ -29015,6 +29048,57 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don\'t execute potentially malicious code that didn\'t already have a\n+ * chance to be executed (if we\'re running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require("pnpapi");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ return getPnpApi().resolveToUnqualified(packageName, containingDirectory + "/", { considerBuiltins: false });\n+ }\n+ catch (_a) {\n+ // Nothing to do\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ /* @internal */\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ if (resolved) {\n+ return toSearchResult(resolved);\n+ }\n+ }\n })(ts || (ts = {}));\n /* @internal */\n var ts;\ndiff --git a/lib/typescriptServices.js b/lib/typescriptServices.js\nindex 9046c6f907..0f0db98cbb 100644\nsemver exclusivity >=3.0 <3.6\n--- a/lib/typescriptServices.js\n+++ b/lib/typescriptServices.js\n@@ -27929,24 +27929,52 @@ var ts;\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n /**\n * Returns the path to every node_modules/@types directory from some ancestor directory.\n- * Returns undefined if there are none.\n */\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n // And if it doesn\'t exist, tough.\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths("node_modules", "@types");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ // Some TS consumers pass relative paths that aren\'t normalized\n+ currentDirectory = ts.sys.resolvePath(currentDirectory);\n+ var pnpapi = getPnpApi();\n+ var locator = pnpapi.findPackageLocator(currentDirectory + "/");\n+ var packageDependencies = pnpapi.getPackageInformation(locator).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ // eslint-disable-next-line no-null/no-null\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = "@types/";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n /**\n * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.\n * This is possible in case if resolution is performed for directives specified via \'types\' parameter. In this case initial path for secondary lookups\n@@ -28033,7 +28061,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -28517,9 +28547,12 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n@@ -29015,6 +29048,57 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don\'t execute potentially malicious code that didn\'t already have a\n+ * chance to be executed (if we\'re running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require("pnpapi");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ return getPnpApi().resolveToUnqualified(packageName, containingDirectory + "/", { considerBuiltins: false });\n+ }\n+ catch (_a) {\n+ // Nothing to do\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ /* @internal */\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ if (resolved) {\n+ return toSearchResult(resolved);\n+ }\n+ }\n })(ts || (ts = {}));\n /* @internal */\n var ts;\ndiff --git a/lib/typingsInstaller.js b/lib/typingsInstaller.js\nindex 776a2e0a9b..cfa1e84496 100644\nsemver exclusivity >=3.0 <3.6\n--- a/lib/typingsInstaller.js\n+++ b/lib/typingsInstaller.js\n@@ -27779,24 +27779,52 @@ var ts;\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n /**\n * Returns the path to every node_modules/@types directory from some ancestor directory.\n- * Returns undefined if there are none.\n */\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n // And if it doesn\'t exist, tough.\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths("node_modules", "@types");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ // Some TS consumers pass relative paths that aren\'t normalized\n+ currentDirectory = ts.sys.resolvePath(currentDirectory);\n+ var pnpapi = getPnpApi();\n+ var locator = pnpapi.findPackageLocator(currentDirectory + "/");\n+ var packageDependencies = pnpapi.getPackageInformation(locator).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ // eslint-disable-next-line no-null/no-null\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = "@types/";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n /**\n * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.\n * This is possible in case if resolution is performed for directives specified via \'types\' parameter. In this case initial path for secondary lookups\n@@ -27883,7 +27911,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -28367,9 +28397,12 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n@@ -28865,6 +28898,57 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don\'t execute potentially malicious code that didn\'t already have a\n+ * chance to be executed (if we\'re running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require("pnpapi");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ return getPnpApi().resolveToUnqualified(packageName, containingDirectory + "/", { considerBuiltins: false });\n+ }\n+ catch (_a) {\n+ // Nothing to do\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ /* @internal */\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ if (resolved) {\n+ return toSearchResult(resolved);\n+ }\n+ }\n })(ts || (ts = {}));\n /* @internal */\n var ts;\ndiff --git a/lib/tsc.js b/lib/tsc.js\nindex d7f749f633..969fcb8109 100644\nsemver exclusivity >=3.6 <3.9\n--- a/lib/tsc.js\n+++ b/lib/tsc.js\n@@ -2977,6 +2977,9 @@ var ts;\n : new Buffer(input, encoding);\n }\n function isFileSystemCaseSensitive() {\n+ if (process.versions.pnp) {\n+ return true;\n+ }\n if (platform === "win32" || platform === "win64") {\n return false;\n }\n@@ -22576,21 +22579,51 @@ var ts;\n }\n }\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths("node_modules", "@types");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ currentDirectory = ts.sys.resolvePath(currentDirectory);\n+ var pnpapi = getPnpApi();\n+ var currentPackage = pnpapi.findPackageLocator(currentDirectory + "/");\n+ if (!currentPackage) {\n+ return [];\n+ }\n+ var packageDependencies = pnpapi.getPackageInformation(currentPackage).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = "@types/";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n function resolveTypeReferenceDirective(typeReferenceDirectiveName, containingFile, options, host, redirectedReference) {\n var traceEnabled = isTraceEnabled(options, host);\n if (redirectedReference) {\n@@ -22670,7 +22703,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, undefined, undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, undefined, undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -23043,16 +23078,22 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n+ var isExternalLibraryImport = resolvedValue && isPnpAvailable()\n+ ? checkPnpExternalLibraryImport(resolvedValue)\n+ : true;\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n var originalPath = path === resolvedValue.path ? undefined : resolvedValue.path;\n resolvedValue = __assign(__assign({}, resolvedValue), { path: path, originalPath: originalPath });\n }\n- return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: true } };\n+ return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: isExternalLibraryImport } };\n }\n else {\n var _a = ts.normalizePathAndParts(ts.combinePaths(containingDirectory, moduleName)), candidate = _a.path, parts = _a.parts;\n@@ -23487,6 +23528,55 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ function isPnpAvailable() {\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require("pnpapi");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ var resolution = getPnpApi().resolveToUnqualified(packageName, containingDirectory + "/", { considerBuiltins: false });\n+ return ts.normalizeSlashes(resolution);\n+ }\n+ catch (_a) {\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), false, state, true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), false, state, true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ return toSearchResult(resolved);\n+ }\n+ function checkPnpExternalLibraryImport(resolvedValue) {\n+ var pnpApi = getPnpApi();\n+ var ownerPackage = pnpApi.findPackageLocator(resolvedValue.path);\n+ if (!ownerPackage) {\n+ return true;\n+ }\n+ var rootLocators = pnpApi.getDependencyTreeRoots();\n+ return !rootLocators.some(function (root) {\n+ return root.name === ownerPackage.name && root.reference === ownerPackage.reference;\n+ });\n+ }\n })(ts || (ts = {}));\n var ts;\n (function (ts) {\n@@ -81887,6 +81977,9 @@ var ts;\n ? removeExtensionAndIndexPostFix(relativePath, ending, compilerOptions)\n : ts.removeFileExtension(relativePath);\n }\n+ function isPnpAvailable() {\n+ return process.versions.pnp;\n+ }\n function tryGetModuleNameAsNodeModule(moduleFileName, _a, host, options, packageNameOnly) {\n var getCanonicalFileName = _a.getCanonicalFileName, sourceDirectory = _a.sourceDirectory;\n if (!host.fileExists || !host.readFile) {\n@@ -81917,7 +82010,7 @@ var ts;\n var moduleSpecifier = packageNameOnly ? moduleFileName : getDirectoryOrExtensionlessFileName(moduleFileName);\n var globalTypingsCacheLocation = host.getGlobalTypingsCacheLocation && host.getGlobalTypingsCacheLocation();\n var pathToTopLevelNodeModules = getCanonicalFileName(moduleSpecifier.substring(0, parts.topLevelNodeModulesIndex));\n- if (!(ts.startsWith(sourceDirectory, pathToTopLevelNodeModules) || globalTypingsCacheLocation && ts.startsWith(getCanonicalFileName(globalTypingsCacheLocation), pathToTopLevelNodeModules))) {\n+ if (!isPnpAvailable() && !(ts.startsWith(sourceDirectory, pathToTopLevelNodeModules) || globalTypingsCacheLocation && ts.startsWith(getCanonicalFileName(globalTypingsCacheLocation), pathToTopLevelNodeModules))) {\n return undefined;\n }\n var nodeModulesDirectoryName = moduleSpecifier.substring(parts.topLevelPackageNameIndex + 1);\ndiff --git a/lib/tsserver.js b/lib/tsserver.js\nindex 4ea67ecd85..620f28b2cd 100644\nsemver exclusivity >=3.6 <3.9\n--- a/lib/tsserver.js\n+++ b/lib/tsserver.js\n@@ -5070,6 +5070,11 @@ var ts;\n : new Buffer(input, encoding);\n }\n function isFileSystemCaseSensitive() {\n+ // The PnP runtime is always case-sensitive\n+ // @ts-ignore\n+ if (process.versions.pnp) {\n+ return true;\n+ }\n // win32\\win64 are case insensitive platforms\n if (platform === "win32" || platform === "win64") {\n return false;\n@@ -27790,24 +27795,55 @@ var ts;\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n /**\n * Returns the path to every node_modules/@types directory from some ancestor directory.\n- * Returns undefined if there are none.\n */\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n // And if it doesn\'t exist, tough.\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths("node_modules", "@types");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ // Some TS consumers pass relative paths that aren\'t normalized\n+ currentDirectory = ts.sys.resolvePath(currentDirectory);\n+ var pnpapi = getPnpApi();\n+ var currentPackage = pnpapi.findPackageLocator(currentDirectory + "/");\n+ if (!currentPackage) {\n+ return [];\n+ }\n+ var packageDependencies = pnpapi.getPackageInformation(currentPackage).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ // eslint-disable-next-line no-null/no-null\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = "@types/";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n /**\n * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.\n * This is possible in case if resolution is performed for directives specified via \'types\' parameter. In this case initial path for secondary lookups\n@@ -27894,7 +27930,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -28378,17 +28416,23 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n+ var isExternalLibraryImport = resolvedValue && isPnpAvailable()\n+ ? checkPnpExternalLibraryImport(resolvedValue)\n+ : true;\n+ // For node_modules lookups, get the real path so that multiple accesses to an `npm link`-ed module do not create duplicate files.\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n var originalPath = path === resolvedValue.path ? undefined : resolvedValue.path;\n resolvedValue = __assign(__assign({}, resolvedValue), { path: path, originalPath: originalPath });\n }\n- // For node_modules lookups, get the real path so that multiple accesses to an `npm link`-ed module do not create duplicate files.\n- return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: true } };\n+ return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: isExternalLibraryImport } };\n }\n else {\n var _a = ts.normalizePathAndParts(ts.combinePaths(containingDirectory, moduleName)), candidate = _a.path, parts = _a.parts;\n@@ -28876,6 +28920,68 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don\'t execute potentially malicious code that didn\'t already have a\n+ * chance to be executed (if we\'re running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require("pnpapi");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ var resolution = getPnpApi().resolveToUnqualified(packageName, containingDirectory + "/", { considerBuiltins: false });\n+ return ts.normalizeSlashes(resolution);\n+ }\n+ catch (_a) {\n+ // Nothing to do\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ /* @internal */\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ return toSearchResult(resolved);\n+ }\n+ function checkPnpExternalLibraryImport(resolvedValue) {\n+ var pnpApi = getPnpApi();\n+ var ownerPackage = pnpApi.findPackageLocator(resolvedValue.path);\n+ if (!ownerPackage) {\n+ return true;\n+ }\n+ var rootLocators = pnpApi.getDependencyTreeRoots();\n+ // External if none of the root locators owns the file\n+ return !rootLocators.some(function (root) {\n+ return root.name === ownerPackage.name && root.reference === ownerPackage.reference;\n+ });\n+ }\n })(ts || (ts = {}));\n /* @internal */\n var ts;\n@@ -99548,6 +99654,10 @@ var ts;\n ? removeExtensionAndIndexPostFix(relativePath, ending, compilerOptions)\n : ts.removeFileExtension(relativePath);\n }\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n function tryGetModuleNameAsNodeModule(moduleFileName, _a, host, options, packageNameOnly) {\n var getCanonicalFileName = _a.getCanonicalFileName, sourceDirectory = _a.sourceDirectory;\n if (!host.fileExists || !host.readFile) {\n@@ -99582,7 +99692,9 @@ var ts;\n // Get a path that\'s relative to node_modules or the importing file\'s path\n // if node_modules folder is in this folder or any of its parent folders, no need to keep it.\n var pathToTopLevelNodeModules = getCanonicalFileName(moduleSpecifier.substring(0, parts.topLevelNodeModulesIndex));\n- if (!(ts.startsWith(sourceDirectory, pathToTopLevelNodeModules) || globalTypingsCacheLocation && ts.startsWith(getCanonicalFileName(globalTypingsCacheLocation), pathToTopLevelNodeModules))) {\n+ // If PnP is enabled the node_modules entries we\'ll get will always be relevant even if they\n+ // are located in a weird path apparently outside of the source directory\n+ if (!isPnpAvailable() && !(ts.startsWith(sourceDirectory, pathToTopLevelNodeModules) || globalTypingsCacheLocation && ts.startsWith(getCanonicalFileName(globalTypingsCacheLocation), pathToTopLevelNodeModules))) {\n return undefined;\n }\n // If the module was found in @types, get the actual Node package name\n@@ -123974,11 +124086,28 @@ var ts;\n }\n }\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don\'t execute potentially malicious code that didn\'t already have a\n+ * chance to be executed (if we\'re running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ // @ts-ignore\n+ return require("pnpapi");\n+ }\n /**\n * Don\'t include something from a `node_modules` that isn\'t actually reachable by a global import.\n * A relative import to node_modules is usually a bad idea.\n */\n- function isImportablePath(fromPath, toPath, getCanonicalFileName, globalCachePath) {\n+ function isImportablePathNode(fromPath, toPath, getCanonicalFileName, globalCachePath) {\n // If it\'s in a `node_modules` but is not reachable from here via a global import, don\'t bother.\n var toNodeModules = ts.forEachAncestorDirectory(toPath, function (ancestor) { return ts.getBaseFileName(ancestor) === "node_modules" ? ancestor : undefined; });\n var toNodeModulesParent = toNodeModules && ts.getDirectoryPath(getCanonicalFileName(toNodeModules));\n@@ -123986,6 +124115,26 @@ var ts;\n || ts.startsWith(getCanonicalFileName(fromPath), toNodeModulesParent)\n || (!!globalCachePath && ts.startsWith(getCanonicalFileName(globalCachePath), toNodeModulesParent));\n }\n+ function isImportablePathPnp(fromPath, toPath) {\n+ var pnpApi = getPnpApi();\n+ var fromLocator = pnpApi.findPackageLocator(fromPath);\n+ var toLocator = pnpApi.findPackageLocator(toPath);\n+ // eslint-disable-next-line no-null/no-null\n+ if (toLocator === null) {\n+ return false;\n+ }\n+ var fromInfo = pnpApi.getPackageInformation(fromLocator);\n+ var toReference = fromInfo.packageDependencies.get(toLocator.name);\n+ return toReference === toLocator.reference;\n+ }\n+ function isImportablePath(fromPath, toPath, getCanonicalFileName, globalCachePath) {\n+ if (isPnpAvailable()) {\n+ return isImportablePathPnp(fromPath, toPath);\n+ }\n+ else {\n+ return isImportablePathNode(fromPath, toPath, getCanonicalFileName, globalCachePath);\n+ }\n+ }\n function moduleSymbolToValidIdentifier(moduleSymbol, target) {\n return moduleSpecifierToValidIdentifier(ts.removeFileExtension(ts.stripQuotes(moduleSymbol.name)), target);\n }\ndiff --git a/lib/tsserverlibrary.js b/lib/tsserverlibrary.js\nindex 2897a22620..34075ee532 100644\nsemver exclusivity >=3.6 <3.9\n--- a/lib/tsserverlibrary.js\n+++ b/lib/tsserverlibrary.js\n@@ -5220,6 +5220,11 @@ var ts;\n : new Buffer(input, encoding);\n }\n function isFileSystemCaseSensitive() {\n+ // The PnP runtime is always case-sensitive\n+ // @ts-ignore\n+ if (process.versions.pnp) {\n+ return true;\n+ }\n // win32\\win64 are case insensitive platforms\n if (platform === "win32" || platform === "win64") {\n return false;\n@@ -27940,24 +27945,55 @@ var ts;\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n /**\n * Returns the path to every node_modules/@types directory from some ancestor directory.\n- * Returns undefined if there are none.\n */\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n // And if it doesn\'t exist, tough.\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths("node_modules", "@types");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ // Some TS consumers pass relative paths that aren\'t normalized\n+ currentDirectory = ts.sys.resolvePath(currentDirectory);\n+ var pnpapi = getPnpApi();\n+ var currentPackage = pnpapi.findPackageLocator(currentDirectory + "/");\n+ if (!currentPackage) {\n+ return [];\n+ }\n+ var packageDependencies = pnpapi.getPackageInformation(currentPackage).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ // eslint-disable-next-line no-null/no-null\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = "@types/";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n /**\n * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.\n * This is possible in case if resolution is performed for directives specified via \'types\' parameter. In this case initial path for secondary lookups\n@@ -28044,7 +28080,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -28528,17 +28566,23 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n+ var isExternalLibraryImport = resolvedValue && isPnpAvailable()\n+ ? checkPnpExternalLibraryImport(resolvedValue)\n+ : true;\n+ // For node_modules lookups, get the real path so that multiple accesses to an `npm link`-ed module do not create duplicate files.\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n var originalPath = path === resolvedValue.path ? undefined : resolvedValue.path;\n resolvedValue = __assign(__assign({}, resolvedValue), { path: path, originalPath: originalPath });\n }\n- // For node_modules lookups, get the real path so that multiple accesses to an `npm link`-ed module do not create duplicate files.\n- return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: true } };\n+ return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: isExternalLibraryImport } };\n }\n else {\n var _a = ts.normalizePathAndParts(ts.combinePaths(containingDirectory, moduleName)), candidate = _a.path, parts = _a.parts;\n@@ -29026,6 +29070,68 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don\'t execute potentially malicious code that didn\'t already have a\n+ * chance to be executed (if we\'re running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require("pnpapi");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ var resolution = getPnpApi().resolveToUnqualified(packageName, containingDirectory + "/", { considerBuiltins: false });\n+ return ts.normalizeSlashes(resolution);\n+ }\n+ catch (_a) {\n+ // Nothing to do\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ /* @internal */\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ return toSearchResult(resolved);\n+ }\n+ function checkPnpExternalLibraryImport(resolvedValue) {\n+ var pnpApi = getPnpApi();\n+ var ownerPackage = pnpApi.findPackageLocator(resolvedValue.path);\n+ if (!ownerPackage) {\n+ return true;\n+ }\n+ var rootLocators = pnpApi.getDependencyTreeRoots();\n+ // External if none of the root locators owns the file\n+ return !rootLocators.some(function (root) {\n+ return root.name === ownerPackage.name && root.reference === ownerPackage.reference;\n+ });\n+ }\n })(ts || (ts = {}));\n /* @internal */\n var ts;\n@@ -99698,6 +99804,10 @@ var ts;\n ? removeExtensionAndIndexPostFix(relativePath, ending, compilerOptions)\n : ts.removeFileExtension(relativePath);\n }\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n function tryGetModuleNameAsNodeModule(moduleFileName, _a, host, options, packageNameOnly) {\n var getCanonicalFileName = _a.getCanonicalFileName, sourceDirectory = _a.sourceDirectory;\n if (!host.fileExists || !host.readFile) {\n@@ -99732,7 +99842,9 @@ var ts;\n // Get a path that\'s relative to node_modules or the importing file\'s path\n // if node_modules folder is in this folder or any of its parent folders, no need to keep it.\n var pathToTopLevelNodeModules = getCanonicalFileName(moduleSpecifier.substring(0, parts.topLevelNodeModulesIndex));\n- if (!(ts.startsWith(sourceDirectory, pathToTopLevelNodeModules) || globalTypingsCacheLocation && ts.startsWith(getCanonicalFileName(globalTypingsCacheLocation), pathToTopLevelNodeModules))) {\n+ // If PnP is enabled the node_modules entries we\'ll get will always be relevant even if they\n+ // are located in a weird path apparently outside of the source directory\n+ if (!isPnpAvailable() && !(ts.startsWith(sourceDirectory, pathToTopLevelNodeModules) || globalTypingsCacheLocation && ts.startsWith(getCanonicalFileName(globalTypingsCacheLocation), pathToTopLevelNodeModules))) {\n return undefined;\n }\n // If the module was found in @types, get the actual Node package name\n@@ -124487,11 +124599,28 @@ var ts;\n }\n }\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don\'t execute potentially malicious code that didn\'t already have a\n+ * chance to be executed (if we\'re running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ // @ts-ignore\n+ return require("pnpapi");\n+ }\n /**\n * Don\'t include something from a `node_modules` that isn\'t actually reachable by a global import.\n * A relative import to node_modules is usually a bad idea.\n */\n- function isImportablePath(fromPath, toPath, getCanonicalFileName, globalCachePath) {\n+ function isImportablePathNode(fromPath, toPath, getCanonicalFileName, globalCachePath) {\n // If it\'s in a `node_modules` but is not reachable from here via a global import, don\'t bother.\n var toNodeModules = ts.forEachAncestorDirectory(toPath, function (ancestor) { return ts.getBaseFileName(ancestor) === "node_modules" ? ancestor : undefined; });\n var toNodeModulesParent = toNodeModules && ts.getDirectoryPath(getCanonicalFileName(toNodeModules));\n@@ -124499,6 +124628,26 @@ var ts;\n || ts.startsWith(getCanonicalFileName(fromPath), toNodeModulesParent)\n || (!!globalCachePath && ts.startsWith(getCanonicalFileName(globalCachePath), toNodeModulesParent));\n }\n+ function isImportablePathPnp(fromPath, toPath) {\n+ var pnpApi = getPnpApi();\n+ var fromLocator = pnpApi.findPackageLocator(fromPath);\n+ var toLocator = pnpApi.findPackageLocator(toPath);\n+ // eslint-disable-next-line no-null/no-null\n+ if (toLocator === null) {\n+ return false;\n+ }\n+ var fromInfo = pnpApi.getPackageInformation(fromLocator);\n+ var toReference = fromInfo.packageDependencies.get(toLocator.name);\n+ return toReference === toLocator.reference;\n+ }\n+ function isImportablePath(fromPath, toPath, getCanonicalFileName, globalCachePath) {\n+ if (isPnpAvailable()) {\n+ return isImportablePathPnp(fromPath, toPath);\n+ }\n+ else {\n+ return isImportablePathNode(fromPath, toPath, getCanonicalFileName, globalCachePath);\n+ }\n+ }\n function moduleSymbolToValidIdentifier(moduleSymbol, target) {\n return moduleSpecifierToValidIdentifier(ts.removeFileExtension(ts.stripQuotes(moduleSymbol.name)), target);\n }\ndiff --git a/lib/typescript.js b/lib/typescript.js\nindex 548ceea966..1ed3da0fd2 100644\nsemver exclusivity >=3.6 <3.9\n--- a/lib/typescript.js\n+++ b/lib/typescript.js\n@@ -5209,6 +5209,11 @@ var ts;\n : new Buffer(input, encoding);\n }\n function isFileSystemCaseSensitive() {\n+ // The PnP runtime is always case-sensitive\n+ // @ts-ignore\n+ if (process.versions.pnp) {\n+ return true;\n+ }\n // win32\\win64 are case insensitive platforms\n if (platform === "win32" || platform === "win64") {\n return false;\n@@ -27929,24 +27934,55 @@ var ts;\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n /**\n * Returns the path to every node_modules/@types directory from some ancestor directory.\n- * Returns undefined if there are none.\n */\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n // And if it doesn\'t exist, tough.\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths("node_modules", "@types");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ // Some TS consumers pass relative paths that aren\'t normalized\n+ currentDirectory = ts.sys.resolvePath(currentDirectory);\n+ var pnpapi = getPnpApi();\n+ var currentPackage = pnpapi.findPackageLocator(currentDirectory + "/");\n+ if (!currentPackage) {\n+ return [];\n+ }\n+ var packageDependencies = pnpapi.getPackageInformation(currentPackage).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ // eslint-disable-next-line no-null/no-null\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = "@types/";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n /**\n * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.\n * This is possible in case if resolution is performed for directives specified via \'types\' parameter. In this case initial path for secondary lookups\n@@ -28033,7 +28069,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -28517,17 +28555,23 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n+ var isExternalLibraryImport = resolvedValue && isPnpAvailable()\n+ ? checkPnpExternalLibraryImport(resolvedValue)\n+ : true;\n+ // For node_modules lookups, get the real path so that multiple accesses to an `npm link`-ed module do not create duplicate files.\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n var originalPath = path === resolvedValue.path ? undefined : resolvedValue.path;\n resolvedValue = __assign(__assign({}, resolvedValue), { path: path, originalPath: originalPath });\n }\n- // For node_modules lookups, get the real path so that multiple accesses to an `npm link`-ed module do not create duplicate files.\n- return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: true } };\n+ return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: isExternalLibraryImport } };\n }\n else {\n var _a = ts.normalizePathAndParts(ts.combinePaths(containingDirectory, moduleName)), candidate = _a.path, parts = _a.parts;\n@@ -29015,6 +29059,68 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don\'t execute potentially malicious code that didn\'t already have a\n+ * chance to be executed (if we\'re running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require("pnpapi");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ var resolution = getPnpApi().resolveToUnqualified(packageName, containingDirectory + "/", { considerBuiltins: false });\n+ return ts.normalizeSlashes(resolution);\n+ }\n+ catch (_a) {\n+ // Nothing to do\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ /* @internal */\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ return toSearchResult(resolved);\n+ }\n+ function checkPnpExternalLibraryImport(resolvedValue) {\n+ var pnpApi = getPnpApi();\n+ var ownerPackage = pnpApi.findPackageLocator(resolvedValue.path);\n+ if (!ownerPackage) {\n+ return true;\n+ }\n+ var rootLocators = pnpApi.getDependencyTreeRoots();\n+ // External if none of the root locators owns the file\n+ return !rootLocators.some(function (root) {\n+ return root.name === ownerPackage.name && root.reference === ownerPackage.reference;\n+ });\n+ }\n })(ts || (ts = {}));\n /* @internal */\n var ts;\n@@ -99687,6 +99793,10 @@ var ts;\n ? removeExtensionAndIndexPostFix(relativePath, ending, compilerOptions)\n : ts.removeFileExtension(relativePath);\n }\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n function tryGetModuleNameAsNodeModule(moduleFileName, _a, host, options, packageNameOnly) {\n var getCanonicalFileName = _a.getCanonicalFileName, sourceDirectory = _a.sourceDirectory;\n if (!host.fileExists || !host.readFile) {\n@@ -99721,7 +99831,9 @@ var ts;\n // Get a path that\'s relative to node_modules or the importing file\'s path\n // if node_modules folder is in this folder or any of its parent folders, no need to keep it.\n var pathToTopLevelNodeModules = getCanonicalFileName(moduleSpecifier.substring(0, parts.topLevelNodeModulesIndex));\n- if (!(ts.startsWith(sourceDirectory, pathToTopLevelNodeModules) || globalTypingsCacheLocation && ts.startsWith(getCanonicalFileName(globalTypingsCacheLocation), pathToTopLevelNodeModules))) {\n+ // If PnP is enabled the node_modules entries we\'ll get will always be relevant even if they\n+ // are located in a weird path apparently outside of the source directory\n+ if (!isPnpAvailable() && !(ts.startsWith(sourceDirectory, pathToTopLevelNodeModules) || globalTypingsCacheLocation && ts.startsWith(getCanonicalFileName(globalTypingsCacheLocation), pathToTopLevelNodeModules))) {\n return undefined;\n }\n // If the module was found in @types, get the actual Node package name\n@@ -124476,11 +124588,28 @@ var ts;\n }\n }\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don\'t execute potentially malicious code that didn\'t already have a\n+ * chance to be executed (if we\'re running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ // @ts-ignore\n+ return require("pnpapi");\n+ }\n /**\n * Don\'t include something from a `node_modules` that isn\'t actually reachable by a global import.\n * A relative import to node_modules is usually a bad idea.\n */\n- function isImportablePath(fromPath, toPath, getCanonicalFileName, globalCachePath) {\n+ function isImportablePathNode(fromPath, toPath, getCanonicalFileName, globalCachePath) {\n // If it\'s in a `node_modules` but is not reachable from here via a global import, don\'t bother.\n var toNodeModules = ts.forEachAncestorDirectory(toPath, function (ancestor) { return ts.getBaseFileName(ancestor) === "node_modules" ? ancestor : undefined; });\n var toNodeModulesParent = toNodeModules && ts.getDirectoryPath(getCanonicalFileName(toNodeModules));\n@@ -124488,6 +124617,26 @@ var ts;\n || ts.startsWith(getCanonicalFileName(fromPath), toNodeModulesParent)\n || (!!globalCachePath && ts.startsWith(getCanonicalFileName(globalCachePath), toNodeModulesParent));\n }\n+ function isImportablePathPnp(fromPath, toPath) {\n+ var pnpApi = getPnpApi();\n+ var fromLocator = pnpApi.findPackageLocator(fromPath);\n+ var toLocator = pnpApi.findPackageLocator(toPath);\n+ // eslint-disable-next-line no-null/no-null\n+ if (toLocator === null) {\n+ return false;\n+ }\n+ var fromInfo = pnpApi.getPackageInformation(fromLocator);\n+ var toReference = fromInfo.packageDependencies.get(toLocator.name);\n+ return toReference === toLocator.reference;\n+ }\n+ function isImportablePath(fromPath, toPath, getCanonicalFileName, globalCachePath) {\n+ if (isPnpAvailable()) {\n+ return isImportablePathPnp(fromPath, toPath);\n+ }\n+ else {\n+ return isImportablePathNode(fromPath, toPath, getCanonicalFileName, globalCachePath);\n+ }\n+ }\n function moduleSymbolToValidIdentifier(moduleSymbol, target) {\n return moduleSpecifierToValidIdentifier(ts.removeFileExtension(ts.stripQuotes(moduleSymbol.name)), target);\n }\ndiff --git a/lib/typescriptServices.js b/lib/typescriptServices.js\nindex 9046c6f907..b0bce8c64a 100644\nsemver exclusivity >=3.6 <3.9\n--- a/lib/typescriptServices.js\n+++ b/lib/typescriptServices.js\n@@ -5209,6 +5209,11 @@ var ts;\n : new Buffer(input, encoding);\n }\n function isFileSystemCaseSensitive() {\n+ // The PnP runtime is always case-sensitive\n+ // @ts-ignore\n+ if (process.versions.pnp) {\n+ return true;\n+ }\n // win32\\win64 are case insensitive platforms\n if (platform === "win32" || platform === "win64") {\n return false;\n@@ -27929,24 +27934,55 @@ var ts;\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n /**\n * Returns the path to every node_modules/@types directory from some ancestor directory.\n- * Returns undefined if there are none.\n */\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n // And if it doesn\'t exist, tough.\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths("node_modules", "@types");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ // Some TS consumers pass relative paths that aren\'t normalized\n+ currentDirectory = ts.sys.resolvePath(currentDirectory);\n+ var pnpapi = getPnpApi();\n+ var currentPackage = pnpapi.findPackageLocator(currentDirectory + "/");\n+ if (!currentPackage) {\n+ return [];\n+ }\n+ var packageDependencies = pnpapi.getPackageInformation(currentPackage).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ // eslint-disable-next-line no-null/no-null\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = "@types/";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n /**\n * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.\n * This is possible in case if resolution is performed for directives specified via \'types\' parameter. In this case initial path for secondary lookups\n@@ -28033,7 +28069,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -28517,17 +28555,23 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n+ var isExternalLibraryImport = resolvedValue && isPnpAvailable()\n+ ? checkPnpExternalLibraryImport(resolvedValue)\n+ : true;\n+ // For node_modules lookups, get the real path so that multiple accesses to an `npm link`-ed module do not create duplicate files.\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n var originalPath = path === resolvedValue.path ? undefined : resolvedValue.path;\n resolvedValue = __assign(__assign({}, resolvedValue), { path: path, originalPath: originalPath });\n }\n- // For node_modules lookups, get the real path so that multiple accesses to an `npm link`-ed module do not create duplicate files.\n- return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: true } };\n+ return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: isExternalLibraryImport } };\n }\n else {\n var _a = ts.normalizePathAndParts(ts.combinePaths(containingDirectory, moduleName)), candidate = _a.path, parts = _a.parts;\n@@ -29015,6 +29059,68 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don\'t execute potentially malicious code that didn\'t already have a\n+ * chance to be executed (if we\'re running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require("pnpapi");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ var resolution = getPnpApi().resolveToUnqualified(packageName, containingDirectory + "/", { considerBuiltins: false });\n+ return ts.normalizeSlashes(resolution);\n+ }\n+ catch (_a) {\n+ // Nothing to do\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ /* @internal */\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ return toSearchResult(resolved);\n+ }\n+ function checkPnpExternalLibraryImport(resolvedValue) {\n+ var pnpApi = getPnpApi();\n+ var ownerPackage = pnpApi.findPackageLocator(resolvedValue.path);\n+ if (!ownerPackage) {\n+ return true;\n+ }\n+ var rootLocators = pnpApi.getDependencyTreeRoots();\n+ // External if none of the root locators owns the file\n+ return !rootLocators.some(function (root) {\n+ return root.name === ownerPackage.name && root.reference === ownerPackage.reference;\n+ });\n+ }\n })(ts || (ts = {}));\n /* @internal */\n var ts;\n@@ -99687,6 +99793,10 @@ var ts;\n ? removeExtensionAndIndexPostFix(relativePath, ending, compilerOptions)\n : ts.removeFileExtension(relativePath);\n }\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n function tryGetModuleNameAsNodeModule(moduleFileName, _a, host, options, packageNameOnly) {\n var getCanonicalFileName = _a.getCanonicalFileName, sourceDirectory = _a.sourceDirectory;\n if (!host.fileExists || !host.readFile) {\n@@ -99721,7 +99831,9 @@ var ts;\n // Get a path that\'s relative to node_modules or the importing file\'s path\n // if node_modules folder is in this folder or any of its parent folders, no need to keep it.\n var pathToTopLevelNodeModules = getCanonicalFileName(moduleSpecifier.substring(0, parts.topLevelNodeModulesIndex));\n- if (!(ts.startsWith(sourceDirectory, pathToTopLevelNodeModules) || globalTypingsCacheLocation && ts.startsWith(getCanonicalFileName(globalTypingsCacheLocation), pathToTopLevelNodeModules))) {\n+ // If PnP is enabled the node_modules entries we\'ll get will always be relevant even if they\n+ // are located in a weird path apparently outside of the source directory\n+ if (!isPnpAvailable() && !(ts.startsWith(sourceDirectory, pathToTopLevelNodeModules) || globalTypingsCacheLocation && ts.startsWith(getCanonicalFileName(globalTypingsCacheLocation), pathToTopLevelNodeModules))) {\n return undefined;\n }\n // If the module was found in @types, get the actual Node package name\n@@ -124476,11 +124588,28 @@ var ts;\n }\n }\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don\'t execute potentially malicious code that didn\'t already have a\n+ * chance to be executed (if we\'re running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ // @ts-ignore\n+ return require("pnpapi");\n+ }\n /**\n * Don\'t include something from a `node_modules` that isn\'t actually reachable by a global import.\n * A relative import to node_modules is usually a bad idea.\n */\n- function isImportablePath(fromPath, toPath, getCanonicalFileName, globalCachePath) {\n+ function isImportablePathNode(fromPath, toPath, getCanonicalFileName, globalCachePath) {\n // If it\'s in a `node_modules` but is not reachable from here via a global import, don\'t bother.\n var toNodeModules = ts.forEachAncestorDirectory(toPath, function (ancestor) { return ts.getBaseFileName(ancestor) === "node_modules" ? ancestor : undefined; });\n var toNodeModulesParent = toNodeModules && ts.getDirectoryPath(getCanonicalFileName(toNodeModules));\n@@ -124488,6 +124617,26 @@ var ts;\n || ts.startsWith(getCanonicalFileName(fromPath), toNodeModulesParent)\n || (!!globalCachePath && ts.startsWith(getCanonicalFileName(globalCachePath), toNodeModulesParent));\n }\n+ function isImportablePathPnp(fromPath, toPath) {\n+ var pnpApi = getPnpApi();\n+ var fromLocator = pnpApi.findPackageLocator(fromPath);\n+ var toLocator = pnpApi.findPackageLocator(toPath);\n+ // eslint-disable-next-line no-null/no-null\n+ if (toLocator === null) {\n+ return false;\n+ }\n+ var fromInfo = pnpApi.getPackageInformation(fromLocator);\n+ var toReference = fromInfo.packageDependencies.get(toLocator.name);\n+ return toReference === toLocator.reference;\n+ }\n+ function isImportablePath(fromPath, toPath, getCanonicalFileName, globalCachePath) {\n+ if (isPnpAvailable()) {\n+ return isImportablePathPnp(fromPath, toPath);\n+ }\n+ else {\n+ return isImportablePathNode(fromPath, toPath, getCanonicalFileName, globalCachePath);\n+ }\n+ }\n function moduleSymbolToValidIdentifier(moduleSymbol, target) {\n return moduleSpecifierToValidIdentifier(ts.removeFileExtension(ts.stripQuotes(moduleSymbol.name)), target);\n }\ndiff --git a/lib/typingsInstaller.js b/lib/typingsInstaller.js\nindex 776a2e0a9b..62c581fe5c 100644\nsemver exclusivity >=3.6 <3.9\n--- a/lib/typingsInstaller.js\n+++ b/lib/typingsInstaller.js\n@@ -5059,6 +5059,11 @@ var ts;\n : new Buffer(input, encoding);\n }\n function isFileSystemCaseSensitive() {\n+ // The PnP runtime is always case-sensitive\n+ // @ts-ignore\n+ if (process.versions.pnp) {\n+ return true;\n+ }\n // win32\\win64 are case insensitive platforms\n if (platform === "win32" || platform === "win64") {\n return false;\n@@ -27779,24 +27784,55 @@ var ts;\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n /**\n * Returns the path to every node_modules/@types directory from some ancestor directory.\n- * Returns undefined if there are none.\n */\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n // And if it doesn\'t exist, tough.\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths("node_modules", "@types");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ // Some TS consumers pass relative paths that aren\'t normalized\n+ currentDirectory = ts.sys.resolvePath(currentDirectory);\n+ var pnpapi = getPnpApi();\n+ var currentPackage = pnpapi.findPackageLocator(currentDirectory + "/");\n+ if (!currentPackage) {\n+ return [];\n+ }\n+ var packageDependencies = pnpapi.getPackageInformation(currentPackage).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ // eslint-disable-next-line no-null/no-null\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = "@types/";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n /**\n * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.\n * This is possible in case if resolution is performed for directives specified via \'types\' parameter. In this case initial path for secondary lookups\n@@ -27883,7 +27919,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -28367,17 +28405,23 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n+ var isExternalLibraryImport = resolvedValue && isPnpAvailable()\n+ ? checkPnpExternalLibraryImport(resolvedValue)\n+ : true;\n+ // For node_modules lookups, get the real path so that multiple accesses to an `npm link`-ed module do not create duplicate files.\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n var originalPath = path === resolvedValue.path ? undefined : resolvedValue.path;\n resolvedValue = __assign(__assign({}, resolvedValue), { path: path, originalPath: originalPath });\n }\n- // For node_modules lookups, get the real path so that multiple accesses to an `npm link`-ed module do not create duplicate files.\n- return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: true } };\n+ return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: isExternalLibraryImport } };\n }\n else {\n var _a = ts.normalizePathAndParts(ts.combinePaths(containingDirectory, moduleName)), candidate = _a.path, parts = _a.parts;\n@@ -28865,6 +28909,68 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don\'t execute potentially malicious code that didn\'t already have a\n+ * chance to be executed (if we\'re running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require("pnpapi");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ var resolution = getPnpApi().resolveToUnqualified(packageName, containingDirectory + "/", { considerBuiltins: false });\n+ return ts.normalizeSlashes(resolution);\n+ }\n+ catch (_a) {\n+ // Nothing to do\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ /* @internal */\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ return toSearchResult(resolved);\n+ }\n+ function checkPnpExternalLibraryImport(resolvedValue) {\n+ var pnpApi = getPnpApi();\n+ var ownerPackage = pnpApi.findPackageLocator(resolvedValue.path);\n+ if (!ownerPackage) {\n+ return true;\n+ }\n+ var rootLocators = pnpApi.getDependencyTreeRoots();\n+ // External if none of the root locators owns the file\n+ return !rootLocators.some(function (root) {\n+ return root.name === ownerPackage.name && root.reference === ownerPackage.reference;\n+ });\n+ }\n })(ts || (ts = {}));\n /* @internal */\n var ts;\n@@ -99537,6 +99643,10 @@ var ts;\n ? removeExtensionAndIndexPostFix(relativePath, ending, compilerOptions)\n : ts.removeFileExtension(relativePath);\n }\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n function tryGetModuleNameAsNodeModule(moduleFileName, _a, host, options, packageNameOnly) {\n var getCanonicalFileName = _a.getCanonicalFileName, sourceDirectory = _a.sourceDirectory;\n if (!host.fileExists || !host.readFile) {\n@@ -99571,7 +99681,9 @@ var ts;\n // Get a path that\'s relative to node_modules or the importing file\'s path\n // if node_modules folder is in this folder or any of its parent folders, no need to keep it.\n var pathToTopLevelNodeModules = getCanonicalFileName(moduleSpecifier.substring(0, parts.topLevelNodeModulesIndex));\n- if (!(ts.startsWith(sourceDirectory, pathToTopLevelNodeModules) || globalTypingsCacheLocation && ts.startsWith(getCanonicalFileName(globalTypingsCacheLocation), pathToTopLevelNodeModules))) {\n+ // If PnP is enabled the node_modules entries we\'ll get will always be relevant even if they\n+ // are located in a weird path apparently outside of the source directory\n+ if (!isPnpAvailable() && !(ts.startsWith(sourceDirectory, pathToTopLevelNodeModules) || globalTypingsCacheLocation && ts.startsWith(getCanonicalFileName(globalTypingsCacheLocation), pathToTopLevelNodeModules))) {\n return undefined;\n }\n // If the module was found in @types, get the actual Node package name\ndiff --git a/lib/tsc.js b/lib/tsc.js\nindex b26f6680f5..00f5d8cca0 100644\nsemver exclusivity >=3.9\n--- a/lib/tsc.js\n+++ b/lib/tsc.js\n@@ -3386,6 +3386,9 @@ var ts;\n : new Buffer(input, encoding);\n }\n function isFileSystemCaseSensitive() {\n+ if (process.versions.pnp) {\n+ return true;\n+ }\n if (platform === "win32" || platform === "win64") {\n return false;\n }\n@@ -23900,21 +23903,51 @@ var ts;\n }\n }\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths("node_modules", "@types");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ currentDirectory = ts.sys.resolvePath(currentDirectory);\n+ var pnpapi = getPnpApi();\n+ var currentPackage = pnpapi.findPackageLocator(currentDirectory + "/");\n+ if (!currentPackage) {\n+ return [];\n+ }\n+ var packageDependencies = pnpapi.getPackageInformation(currentPackage).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = "@types/";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n function resolveTypeReferenceDirective(typeReferenceDirectiveName, containingFile, options, host, redirectedReference) {\n var traceEnabled = isTraceEnabled(options, host);\n if (redirectedReference) {\n@@ -23994,7 +24027,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, undefined, undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, undefined, undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -24364,16 +24399,22 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n+ var isExternalLibraryImport = resolvedValue && isPnpAvailable()\n+ ? checkPnpExternalLibraryImport(resolvedValue)\n+ : true;\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n var originalPath = path === resolvedValue.path ? undefined : resolvedValue.path;\n resolvedValue = __assign(__assign({}, resolvedValue), { path: path, originalPath: originalPath });\n }\n- return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: true } };\n+ return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: isExternalLibraryImport } };\n }\n else {\n var _a = ts.normalizePathAndParts(ts.combinePaths(containingDirectory, moduleName)), candidate = _a.path, parts = _a.parts;\n@@ -24807,6 +24848,55 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ function isPnpAvailable() {\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require("pnpapi");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ var resolution = getPnpApi().resolveToUnqualified(packageName, containingDirectory + "/", { considerBuiltins: false });\n+ return ts.normalizeSlashes(resolution);\n+ }\n+ catch (_a) {\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), false, state, true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), false, state, true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ return toSearchResult(resolved);\n+ }\n+ function checkPnpExternalLibraryImport(resolvedValue) {\n+ var pnpApi = getPnpApi();\n+ var ownerPackage = pnpApi.findPackageLocator(resolvedValue.path);\n+ if (!ownerPackage) {\n+ return true;\n+ }\n+ var rootLocators = pnpApi.getDependencyTreeRoots();\n+ return !rootLocators.some(function (root) {\n+ return root.name === ownerPackage.name && root.reference === ownerPackage.reference;\n+ });\n+ }\n })(ts || (ts = {}));\n var ts;\n (function (ts) {\n@@ -85916,6 +86006,9 @@ var ts;\n ? removeExtensionAndIndexPostFix(relativePath, ending, compilerOptions)\n : ts.removeFileExtension(relativePath);\n }\n+ function isPnpAvailable() {\n+ return process.versions.pnp;\n+ }\n function tryGetModuleNameAsNodeModule(moduleFileName, _a, host, options, packageNameOnly) {\n var getCanonicalFileName = _a.getCanonicalFileName, sourceDirectory = _a.sourceDirectory;\n if (!host.fileExists || !host.readFile) {\n@@ -85946,7 +86039,7 @@ var ts;\n }\n var globalTypingsCacheLocation = host.getGlobalTypingsCacheLocation && host.getGlobalTypingsCacheLocation();\n var pathToTopLevelNodeModules = getCanonicalFileName(moduleSpecifier.substring(0, parts.topLevelNodeModulesIndex));\n- if (!(ts.startsWith(sourceDirectory, pathToTopLevelNodeModules) || globalTypingsCacheLocation && ts.startsWith(getCanonicalFileName(globalTypingsCacheLocation), pathToTopLevelNodeModules))) {\n+ if (!isPnpAvailable() && !(ts.startsWith(sourceDirectory, pathToTopLevelNodeModules) || globalTypingsCacheLocation && ts.startsWith(getCanonicalFileName(globalTypingsCacheLocation), pathToTopLevelNodeModules))) {\n return undefined;\n }\n var nodeModulesDirectoryName = moduleSpecifier.substring(parts.topLevelPackageNameIndex + 1);\ndiff --git a/lib/tsserver.js b/lib/tsserver.js\nindex 693b872fa8..576611269d 100644\nsemver exclusivity >=3.9\n--- a/lib/tsserver.js\n+++ b/lib/tsserver.js\n@@ -5628,6 +5628,11 @@ var ts;\n : new Buffer(input, encoding);\n }\n function isFileSystemCaseSensitive() {\n+ // The PnP runtime is always case-sensitive\n+ // @ts-ignore\n+ if (process.versions.pnp) {\n+ return true;\n+ }\n // win32\\win64 are case insensitive platforms\n if (platform === "win32" || platform === "win64") {\n return false;\n@@ -29308,24 +29313,55 @@ var ts;\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n /**\n * Returns the path to every node_modules/@types directory from some ancestor directory.\n- * Returns undefined if there are none.\n */\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n // And if it doesn\'t exist, tough.\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths("node_modules", "@types");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ // Some TS consumers pass relative paths that aren\'t normalized\n+ currentDirectory = ts.sys.resolvePath(currentDirectory);\n+ var pnpapi = getPnpApi();\n+ var currentPackage = pnpapi.findPackageLocator(currentDirectory + "/");\n+ if (!currentPackage) {\n+ return [];\n+ }\n+ var packageDependencies = pnpapi.getPackageInformation(currentPackage).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ // eslint-disable-next-line no-null/no-null\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = "@types/";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n /**\n * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.\n * This is possible in case if resolution is performed for directives specified via \'types\' parameter. In this case initial path for secondary lookups\n@@ -29412,7 +29448,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -29893,17 +29931,23 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n+ var isExternalLibraryImport = resolvedValue && isPnpAvailable()\n+ ? checkPnpExternalLibraryImport(resolvedValue)\n+ : true;\n+ // For node_modules lookups, get the real path so that multiple accesses to an `npm link`-ed module do not create duplicate files.\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n var originalPath = path === resolvedValue.path ? undefined : resolvedValue.path;\n resolvedValue = __assign(__assign({}, resolvedValue), { path: path, originalPath: originalPath });\n }\n- // For node_modules lookups, get the real path so that multiple accesses to an `npm link`-ed module do not create duplicate files.\n- return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: true } };\n+ return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: isExternalLibraryImport } };\n }\n else {\n var _a = ts.normalizePathAndParts(ts.combinePaths(containingDirectory, moduleName)), candidate = _a.path, parts = _a.parts;\n@@ -30390,6 +30434,68 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don\'t execute potentially malicious code that didn\'t already have a\n+ * chance to be executed (if we\'re running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require("pnpapi");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ var resolution = getPnpApi().resolveToUnqualified(packageName, containingDirectory + "/", { considerBuiltins: false });\n+ return ts.normalizeSlashes(resolution);\n+ }\n+ catch (_a) {\n+ // Nothing to do\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ /* @internal */\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ return toSearchResult(resolved);\n+ }\n+ function checkPnpExternalLibraryImport(resolvedValue) {\n+ var pnpApi = getPnpApi();\n+ var ownerPackage = pnpApi.findPackageLocator(resolvedValue.path);\n+ if (!ownerPackage) {\n+ return true;\n+ }\n+ var rootLocators = pnpApi.getDependencyTreeRoots();\n+ // External if none of the root locators owns the file\n+ return !rootLocators.some(function (root) {\n+ return root.name === ownerPackage.name && root.reference === ownerPackage.reference;\n+ });\n+ }\n })(ts || (ts = {}));\n /* @internal */\n var ts;\n@@ -104159,6 +104265,10 @@ var ts;\n ? removeExtensionAndIndexPostFix(relativePath, ending, compilerOptions)\n : ts.removeFileExtension(relativePath);\n }\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n function tryGetModuleNameAsNodeModule(moduleFileName, _a, host, options, packageNameOnly) {\n var getCanonicalFileName = _a.getCanonicalFileName, sourceDirectory = _a.sourceDirectory;\n if (!host.fileExists || !host.readFile) {\n@@ -104194,7 +104304,9 @@ var ts;\n // Get a path that\'s relative to node_modules or the importing file\'s path\n // if node_modules folder is in this folder or any of its parent folders, no need to keep it.\n var pathToTopLevelNodeModules = getCanonicalFileName(moduleSpecifier.substring(0, parts.topLevelNodeModulesIndex));\n- if (!(ts.startsWith(sourceDirectory, pathToTopLevelNodeModules) || globalTypingsCacheLocation && ts.startsWith(getCanonicalFileName(globalTypingsCacheLocation), pathToTopLevelNodeModules))) {\n+ // If PnP is enabled the node_modules entries we\'ll get will always be relevant even if they\n+ // are located in a weird path apparently outside of the source directory\n+ if (!isPnpAvailable() && !(ts.startsWith(sourceDirectory, pathToTopLevelNodeModules) || globalTypingsCacheLocation && ts.startsWith(getCanonicalFileName(globalTypingsCacheLocation), pathToTopLevelNodeModules))) {\n return undefined;\n }\n // If the module was found in @types, get the actual Node package name\n@@ -129482,11 +129594,28 @@ var ts;\n isImportablePath(from.fileName, toPath, getCanonicalFileName, globalTypingsCache);\n });\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don\'t execute potentially malicious code that didn\'t already have a\n+ * chance to be executed (if we\'re running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ // @ts-ignore\n+ return require("pnpapi");\n+ }\n /**\n * Don\'t include something from a `node_modules` that isn\'t actually reachable by a global import.\n * A relative import to node_modules is usually a bad idea.\n */\n- function isImportablePath(fromPath, toPath, getCanonicalFileName, globalCachePath) {\n+ function isImportablePathNode(fromPath, toPath, getCanonicalFileName, globalCachePath) {\n // If it\'s in a `node_modules` but is not reachable from here via a global import, don\'t bother.\n var toNodeModules = ts.forEachAncestorDirectory(toPath, function (ancestor) { return ts.getBaseFileName(ancestor) === "node_modules" ? ancestor : undefined; });\n var toNodeModulesParent = toNodeModules && ts.getDirectoryPath(getCanonicalFileName(toNodeModules));\n@@ -129494,6 +129623,26 @@ var ts;\n || ts.startsWith(getCanonicalFileName(fromPath), toNodeModulesParent)\n || (!!globalCachePath && ts.startsWith(getCanonicalFileName(globalCachePath), toNodeModulesParent));\n }\n+ function isImportablePathPnp(fromPath, toPath) {\n+ var pnpApi = getPnpApi();\n+ var fromLocator = pnpApi.findPackageLocator(fromPath);\n+ var toLocator = pnpApi.findPackageLocator(toPath);\n+ // eslint-disable-next-line no-null/no-null\n+ if (toLocator === null) {\n+ return false;\n+ }\n+ var fromInfo = pnpApi.getPackageInformation(fromLocator);\n+ var toReference = fromInfo.packageDependencies.get(toLocator.name);\n+ return toReference === toLocator.reference;\n+ }\n+ function isImportablePath(fromPath, toPath, getCanonicalFileName, globalCachePath) {\n+ if (isPnpAvailable()) {\n+ return isImportablePathPnp(fromPath, toPath);\n+ }\n+ else {\n+ return isImportablePathNode(fromPath, toPath, getCanonicalFileName, globalCachePath);\n+ }\n+ }\n function moduleSymbolToValidIdentifier(moduleSymbol, target) {\n return moduleSpecifierToValidIdentifier(ts.removeFileExtension(ts.stripQuotes(moduleSymbol.name)), target);\n }\ndiff --git a/lib/tsserverlibrary.js b/lib/tsserverlibrary.js\nindex d8f708a69c..ceba1780d9 100644\nsemver exclusivity >=3.9\n--- a/lib/tsserverlibrary.js\n+++ b/lib/tsserverlibrary.js\n@@ -5778,6 +5778,11 @@ var ts;\n : new Buffer(input, encoding);\n }\n function isFileSystemCaseSensitive() {\n+ // The PnP runtime is always case-sensitive\n+ // @ts-ignore\n+ if (process.versions.pnp) {\n+ return true;\n+ }\n // win32\\win64 are case insensitive platforms\n if (platform === "win32" || platform === "win64") {\n return false;\n@@ -29458,24 +29463,55 @@ var ts;\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n /**\n * Returns the path to every node_modules/@types directory from some ancestor directory.\n- * Returns undefined if there are none.\n */\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n // And if it doesn\'t exist, tough.\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths("node_modules", "@types");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ // Some TS consumers pass relative paths that aren\'t normalized\n+ currentDirectory = ts.sys.resolvePath(currentDirectory);\n+ var pnpapi = getPnpApi();\n+ var currentPackage = pnpapi.findPackageLocator(currentDirectory + "/");\n+ if (!currentPackage) {\n+ return [];\n+ }\n+ var packageDependencies = pnpapi.getPackageInformation(currentPackage).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ // eslint-disable-next-line no-null/no-null\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = "@types/";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n /**\n * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.\n * This is possible in case if resolution is performed for directives specified via \'types\' parameter. In this case initial path for secondary lookups\n@@ -29562,7 +29598,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -30043,17 +30081,23 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n+ var isExternalLibraryImport = resolvedValue && isPnpAvailable()\n+ ? checkPnpExternalLibraryImport(resolvedValue)\n+ : true;\n+ // For node_modules lookups, get the real path so that multiple accesses to an `npm link`-ed module do not create duplicate files.\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n var originalPath = path === resolvedValue.path ? undefined : resolvedValue.path;\n resolvedValue = __assign(__assign({}, resolvedValue), { path: path, originalPath: originalPath });\n }\n- // For node_modules lookups, get the real path so that multiple accesses to an `npm link`-ed module do not create duplicate files.\n- return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: true } };\n+ return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: isExternalLibraryImport } };\n }\n else {\n var _a = ts.normalizePathAndParts(ts.combinePaths(containingDirectory, moduleName)), candidate = _a.path, parts = _a.parts;\n@@ -30540,6 +30584,68 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don\'t execute potentially malicious code that didn\'t already have a\n+ * chance to be executed (if we\'re running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require("pnpapi");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ var resolution = getPnpApi().resolveToUnqualified(packageName, containingDirectory + "/", { considerBuiltins: false });\n+ return ts.normalizeSlashes(resolution);\n+ }\n+ catch (_a) {\n+ // Nothing to do\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ /* @internal */\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ return toSearchResult(resolved);\n+ }\n+ function checkPnpExternalLibraryImport(resolvedValue) {\n+ var pnpApi = getPnpApi();\n+ var ownerPackage = pnpApi.findPackageLocator(resolvedValue.path);\n+ if (!ownerPackage) {\n+ return true;\n+ }\n+ var rootLocators = pnpApi.getDependencyTreeRoots();\n+ // External if none of the root locators owns the file\n+ return !rootLocators.some(function (root) {\n+ return root.name === ownerPackage.name && root.reference === ownerPackage.reference;\n+ });\n+ }\n })(ts || (ts = {}));\n /* @internal */\n var ts;\n@@ -104309,6 +104415,10 @@ var ts;\n ? removeExtensionAndIndexPostFix(relativePath, ending, compilerOptions)\n : ts.removeFileExtension(relativePath);\n }\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n function tryGetModuleNameAsNodeModule(moduleFileName, _a, host, options, packageNameOnly) {\n var getCanonicalFileName = _a.getCanonicalFileName, sourceDirectory = _a.sourceDirectory;\n if (!host.fileExists || !host.readFile) {\n@@ -104344,7 +104454,9 @@ var ts;\n // Get a path that\'s relative to node_modules or the importing file\'s path\n // if node_modules folder is in this folder or any of its parent folders, no need to keep it.\n var pathToTopLevelNodeModules = getCanonicalFileName(moduleSpecifier.substring(0, parts.topLevelNodeModulesIndex));\n- if (!(ts.startsWith(sourceDirectory, pathToTopLevelNodeModules) || globalTypingsCacheLocation && ts.startsWith(getCanonicalFileName(globalTypingsCacheLocation), pathToTopLevelNodeModules))) {\n+ // If PnP is enabled the node_modules entries we\'ll get will always be relevant even if they\n+ // are located in a weird path apparently outside of the source directory\n+ if (!isPnpAvailable() && !(ts.startsWith(sourceDirectory, pathToTopLevelNodeModules) || globalTypingsCacheLocation && ts.startsWith(getCanonicalFileName(globalTypingsCacheLocation), pathToTopLevelNodeModules))) {\n return undefined;\n }\n // If the module was found in @types, get the actual Node package name\n@@ -130005,11 +130117,28 @@ var ts;\n isImportablePath(from.fileName, toPath, getCanonicalFileName, globalTypingsCache);\n });\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don\'t execute potentially malicious code that didn\'t already have a\n+ * chance to be executed (if we\'re running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ // @ts-ignore\n+ return require("pnpapi");\n+ }\n /**\n * Don\'t include something from a `node_modules` that isn\'t actually reachable by a global import.\n * A relative import to node_modules is usually a bad idea.\n */\n- function isImportablePath(fromPath, toPath, getCanonicalFileName, globalCachePath) {\n+ function isImportablePathNode(fromPath, toPath, getCanonicalFileName, globalCachePath) {\n // If it\'s in a `node_modules` but is not reachable from here via a global import, don\'t bother.\n var toNodeModules = ts.forEachAncestorDirectory(toPath, function (ancestor) { return ts.getBaseFileName(ancestor) === "node_modules" ? ancestor : undefined; });\n var toNodeModulesParent = toNodeModules && ts.getDirectoryPath(getCanonicalFileName(toNodeModules));\n@@ -130017,6 +130146,26 @@ var ts;\n || ts.startsWith(getCanonicalFileName(fromPath), toNodeModulesParent)\n || (!!globalCachePath && ts.startsWith(getCanonicalFileName(globalCachePath), toNodeModulesParent));\n }\n+ function isImportablePathPnp(fromPath, toPath) {\n+ var pnpApi = getPnpApi();\n+ var fromLocator = pnpApi.findPackageLocator(fromPath);\n+ var toLocator = pnpApi.findPackageLocator(toPath);\n+ // eslint-disable-next-line no-null/no-null\n+ if (toLocator === null) {\n+ return false;\n+ }\n+ var fromInfo = pnpApi.getPackageInformation(fromLocator);\n+ var toReference = fromInfo.packageDependencies.get(toLocator.name);\n+ return toReference === toLocator.reference;\n+ }\n+ function isImportablePath(fromPath, toPath, getCanonicalFileName, globalCachePath) {\n+ if (isPnpAvailable()) {\n+ return isImportablePathPnp(fromPath, toPath);\n+ }\n+ else {\n+ return isImportablePathNode(fromPath, toPath, getCanonicalFileName, globalCachePath);\n+ }\n+ }\n function moduleSymbolToValidIdentifier(moduleSymbol, target) {\n return moduleSpecifierToValidIdentifier(ts.removeFileExtension(ts.stripQuotes(moduleSymbol.name)), target);\n }\ndiff --git a/lib/typescript.js b/lib/typescript.js\nindex 3a3cfccc27..18bc77223a 100644\nsemver exclusivity >=3.9\n--- a/lib/typescript.js\n+++ b/lib/typescript.js\n@@ -5778,6 +5778,11 @@ var ts;\n : new Buffer(input, encoding);\n }\n function isFileSystemCaseSensitive() {\n+ // The PnP runtime is always case-sensitive\n+ // @ts-ignore\n+ if (process.versions.pnp) {\n+ return true;\n+ }\n // win32\\win64 are case insensitive platforms\n if (platform === "win32" || platform === "win64") {\n return false;\n@@ -29458,24 +29463,55 @@ var ts;\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n /**\n * Returns the path to every node_modules/@types directory from some ancestor directory.\n- * Returns undefined if there are none.\n */\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n // And if it doesn\'t exist, tough.\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths("node_modules", "@types");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ // Some TS consumers pass relative paths that aren\'t normalized\n+ currentDirectory = ts.sys.resolvePath(currentDirectory);\n+ var pnpapi = getPnpApi();\n+ var currentPackage = pnpapi.findPackageLocator(currentDirectory + "/");\n+ if (!currentPackage) {\n+ return [];\n+ }\n+ var packageDependencies = pnpapi.getPackageInformation(currentPackage).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ // eslint-disable-next-line no-null/no-null\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = "@types/";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n /**\n * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.\n * This is possible in case if resolution is performed for directives specified via \'types\' parameter. In this case initial path for secondary lookups\n@@ -29562,7 +29598,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -30043,17 +30081,23 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n+ var isExternalLibraryImport = resolvedValue && isPnpAvailable()\n+ ? checkPnpExternalLibraryImport(resolvedValue)\n+ : true;\n+ // For node_modules lookups, get the real path so that multiple accesses to an `npm link`-ed module do not create duplicate files.\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n var originalPath = path === resolvedValue.path ? undefined : resolvedValue.path;\n resolvedValue = __assign(__assign({}, resolvedValue), { path: path, originalPath: originalPath });\n }\n- // For node_modules lookups, get the real path so that multiple accesses to an `npm link`-ed module do not create duplicate files.\n- return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: true } };\n+ return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: isExternalLibraryImport } };\n }\n else {\n var _a = ts.normalizePathAndParts(ts.combinePaths(containingDirectory, moduleName)), candidate = _a.path, parts = _a.parts;\n@@ -30540,6 +30584,68 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don\'t execute potentially malicious code that didn\'t already have a\n+ * chance to be executed (if we\'re running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require("pnpapi");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ var resolution = getPnpApi().resolveToUnqualified(packageName, containingDirectory + "/", { considerBuiltins: false });\n+ return ts.normalizeSlashes(resolution);\n+ }\n+ catch (_a) {\n+ // Nothing to do\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ /* @internal */\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ return toSearchResult(resolved);\n+ }\n+ function checkPnpExternalLibraryImport(resolvedValue) {\n+ var pnpApi = getPnpApi();\n+ var ownerPackage = pnpApi.findPackageLocator(resolvedValue.path);\n+ if (!ownerPackage) {\n+ return true;\n+ }\n+ var rootLocators = pnpApi.getDependencyTreeRoots();\n+ // External if none of the root locators owns the file\n+ return !rootLocators.some(function (root) {\n+ return root.name === ownerPackage.name && root.reference === ownerPackage.reference;\n+ });\n+ }\n })(ts || (ts = {}));\n /* @internal */\n var ts;\n@@ -104309,6 +104415,10 @@ var ts;\n ? removeExtensionAndIndexPostFix(relativePath, ending, compilerOptions)\n : ts.removeFileExtension(relativePath);\n }\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n function tryGetModuleNameAsNodeModule(moduleFileName, _a, host, options, packageNameOnly) {\n var getCanonicalFileName = _a.getCanonicalFileName, sourceDirectory = _a.sourceDirectory;\n if (!host.fileExists || !host.readFile) {\n@@ -104344,7 +104454,9 @@ var ts;\n // Get a path that\'s relative to node_modules or the importing file\'s path\n // if node_modules folder is in this folder or any of its parent folders, no need to keep it.\n var pathToTopLevelNodeModules = getCanonicalFileName(moduleSpecifier.substring(0, parts.topLevelNodeModulesIndex));\n- if (!(ts.startsWith(sourceDirectory, pathToTopLevelNodeModules) || globalTypingsCacheLocation && ts.startsWith(getCanonicalFileName(globalTypingsCacheLocation), pathToTopLevelNodeModules))) {\n+ // If PnP is enabled the node_modules entries we\'ll get will always be relevant even if they\n+ // are located in a weird path apparently outside of the source directory\n+ if (!isPnpAvailable() && !(ts.startsWith(sourceDirectory, pathToTopLevelNodeModules) || globalTypingsCacheLocation && ts.startsWith(getCanonicalFileName(globalTypingsCacheLocation), pathToTopLevelNodeModules))) {\n return undefined;\n }\n // If the module was found in @types, get the actual Node package name\n@@ -130005,11 +130117,28 @@ var ts;\n isImportablePath(from.fileName, toPath, getCanonicalFileName, globalTypingsCache);\n });\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don\'t execute potentially malicious code that didn\'t already have a\n+ * chance to be executed (if we\'re running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ // @ts-ignore\n+ return require("pnpapi");\n+ }\n /**\n * Don\'t include something from a `node_modules` that isn\'t actually reachable by a global import.\n * A relative import to node_modules is usually a bad idea.\n */\n- function isImportablePath(fromPath, toPath, getCanonicalFileName, globalCachePath) {\n+ function isImportablePathNode(fromPath, toPath, getCanonicalFileName, globalCachePath) {\n // If it\'s in a `node_modules` but is not reachable from here via a global import, don\'t bother.\n var toNodeModules = ts.forEachAncestorDirectory(toPath, function (ancestor) { return ts.getBaseFileName(ancestor) === "node_modules" ? ancestor : undefined; });\n var toNodeModulesParent = toNodeModules && ts.getDirectoryPath(getCanonicalFileName(toNodeModules));\n@@ -130017,6 +130146,26 @@ var ts;\n || ts.startsWith(getCanonicalFileName(fromPath), toNodeModulesParent)\n || (!!globalCachePath && ts.startsWith(getCanonicalFileName(globalCachePath), toNodeModulesParent));\n }\n+ function isImportablePathPnp(fromPath, toPath) {\n+ var pnpApi = getPnpApi();\n+ var fromLocator = pnpApi.findPackageLocator(fromPath);\n+ var toLocator = pnpApi.findPackageLocator(toPath);\n+ // eslint-disable-next-line no-null/no-null\n+ if (toLocator === null) {\n+ return false;\n+ }\n+ var fromInfo = pnpApi.getPackageInformation(fromLocator);\n+ var toReference = fromInfo.packageDependencies.get(toLocator.name);\n+ return toReference === toLocator.reference;\n+ }\n+ function isImportablePath(fromPath, toPath, getCanonicalFileName, globalCachePath) {\n+ if (isPnpAvailable()) {\n+ return isImportablePathPnp(fromPath, toPath);\n+ }\n+ else {\n+ return isImportablePathNode(fromPath, toPath, getCanonicalFileName, globalCachePath);\n+ }\n+ }\n function moduleSymbolToValidIdentifier(moduleSymbol, target) {\n return moduleSpecifierToValidIdentifier(ts.removeFileExtension(ts.stripQuotes(moduleSymbol.name)), target);\n }\ndiff --git a/lib/typescriptServices.js b/lib/typescriptServices.js\nindex a394c274d8..21e931c0e2 100644\nsemver exclusivity >=3.9\n--- a/lib/typescriptServices.js\n+++ b/lib/typescriptServices.js\n@@ -5778,6 +5778,11 @@ var ts;\n : new Buffer(input, encoding);\n }\n function isFileSystemCaseSensitive() {\n+ // The PnP runtime is always case-sensitive\n+ // @ts-ignore\n+ if (process.versions.pnp) {\n+ return true;\n+ }\n // win32\\win64 are case insensitive platforms\n if (platform === "win32" || platform === "win64") {\n return false;\n@@ -29458,24 +29463,55 @@ var ts;\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n /**\n * Returns the path to every node_modules/@types directory from some ancestor directory.\n- * Returns undefined if there are none.\n */\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n // And if it doesn\'t exist, tough.\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths("node_modules", "@types");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ // Some TS consumers pass relative paths that aren\'t normalized\n+ currentDirectory = ts.sys.resolvePath(currentDirectory);\n+ var pnpapi = getPnpApi();\n+ var currentPackage = pnpapi.findPackageLocator(currentDirectory + "/");\n+ if (!currentPackage) {\n+ return [];\n+ }\n+ var packageDependencies = pnpapi.getPackageInformation(currentPackage).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ // eslint-disable-next-line no-null/no-null\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = "@types/";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n /**\n * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.\n * This is possible in case if resolution is performed for directives specified via \'types\' parameter. In this case initial path for secondary lookups\n@@ -29562,7 +29598,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -30043,17 +30081,23 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n+ var isExternalLibraryImport = resolvedValue && isPnpAvailable()\n+ ? checkPnpExternalLibraryImport(resolvedValue)\n+ : true;\n+ // For node_modules lookups, get the real path so that multiple accesses to an `npm link`-ed module do not create duplicate files.\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n var originalPath = path === resolvedValue.path ? undefined : resolvedValue.path;\n resolvedValue = __assign(__assign({}, resolvedValue), { path: path, originalPath: originalPath });\n }\n- // For node_modules lookups, get the real path so that multiple accesses to an `npm link`-ed module do not create duplicate files.\n- return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: true } };\n+ return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: isExternalLibraryImport } };\n }\n else {\n var _a = ts.normalizePathAndParts(ts.combinePaths(containingDirectory, moduleName)), candidate = _a.path, parts = _a.parts;\n@@ -30540,6 +30584,68 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don\'t execute potentially malicious code that didn\'t already have a\n+ * chance to be executed (if we\'re running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require("pnpapi");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ var resolution = getPnpApi().resolveToUnqualified(packageName, containingDirectory + "/", { considerBuiltins: false });\n+ return ts.normalizeSlashes(resolution);\n+ }\n+ catch (_a) {\n+ // Nothing to do\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ /* @internal */\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ return toSearchResult(resolved);\n+ }\n+ function checkPnpExternalLibraryImport(resolvedValue) {\n+ var pnpApi = getPnpApi();\n+ var ownerPackage = pnpApi.findPackageLocator(resolvedValue.path);\n+ if (!ownerPackage) {\n+ return true;\n+ }\n+ var rootLocators = pnpApi.getDependencyTreeRoots();\n+ // External if none of the root locators owns the file\n+ return !rootLocators.some(function (root) {\n+ return root.name === ownerPackage.name && root.reference === ownerPackage.reference;\n+ });\n+ }\n })(ts || (ts = {}));\n /* @internal */\n var ts;\n@@ -104309,6 +104415,10 @@ var ts;\n ? removeExtensionAndIndexPostFix(relativePath, ending, compilerOptions)\n : ts.removeFileExtension(relativePath);\n }\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n function tryGetModuleNameAsNodeModule(moduleFileName, _a, host, options, packageNameOnly) {\n var getCanonicalFileName = _a.getCanonicalFileName, sourceDirectory = _a.sourceDirectory;\n if (!host.fileExists || !host.readFile) {\n@@ -104344,7 +104454,9 @@ var ts;\n // Get a path that\'s relative to node_modules or the importing file\'s path\n // if node_modules folder is in this folder or any of its parent folders, no need to keep it.\n var pathToTopLevelNodeModules = getCanonicalFileName(moduleSpecifier.substring(0, parts.topLevelNodeModulesIndex));\n- if (!(ts.startsWith(sourceDirectory, pathToTopLevelNodeModules) || globalTypingsCacheLocation && ts.startsWith(getCanonicalFileName(globalTypingsCacheLocation), pathToTopLevelNodeModules))) {\n+ // If PnP is enabled the node_modules entries we\'ll get will always be relevant even if they\n+ // are located in a weird path apparently outside of the source directory\n+ if (!isPnpAvailable() && !(ts.startsWith(sourceDirectory, pathToTopLevelNodeModules) || globalTypingsCacheLocation && ts.startsWith(getCanonicalFileName(globalTypingsCacheLocation), pathToTopLevelNodeModules))) {\n return undefined;\n }\n // If the module was found in @types, get the actual Node package name\n@@ -130005,11 +130117,28 @@ var ts;\n isImportablePath(from.fileName, toPath, getCanonicalFileName, globalTypingsCache);\n });\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don\'t execute potentially malicious code that didn\'t already have a\n+ * chance to be executed (if we\'re running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ // @ts-ignore\n+ return require("pnpapi");\n+ }\n /**\n * Don\'t include something from a `node_modules` that isn\'t actually reachable by a global import.\n * A relative import to node_modules is usually a bad idea.\n */\n- function isImportablePath(fromPath, toPath, getCanonicalFileName, globalCachePath) {\n+ function isImportablePathNode(fromPath, toPath, getCanonicalFileName, globalCachePath) {\n // If it\'s in a `node_modules` but is not reachable from here via a global import, don\'t bother.\n var toNodeModules = ts.forEachAncestorDirectory(toPath, function (ancestor) { return ts.getBaseFileName(ancestor) === "node_modules" ? ancestor : undefined; });\n var toNodeModulesParent = toNodeModules && ts.getDirectoryPath(getCanonicalFileName(toNodeModules));\n@@ -130017,6 +130146,26 @@ var ts;\n || ts.startsWith(getCanonicalFileName(fromPath), toNodeModulesParent)\n || (!!globalCachePath && ts.startsWith(getCanonicalFileName(globalCachePath), toNodeModulesParent));\n }\n+ function isImportablePathPnp(fromPath, toPath) {\n+ var pnpApi = getPnpApi();\n+ var fromLocator = pnpApi.findPackageLocator(fromPath);\n+ var toLocator = pnpApi.findPackageLocator(toPath);\n+ // eslint-disable-next-line no-null/no-null\n+ if (toLocator === null) {\n+ return false;\n+ }\n+ var fromInfo = pnpApi.getPackageInformation(fromLocator);\n+ var toReference = fromInfo.packageDependencies.get(toLocator.name);\n+ return toReference === toLocator.reference;\n+ }\n+ function isImportablePath(fromPath, toPath, getCanonicalFileName, globalCachePath) {\n+ if (isPnpAvailable()) {\n+ return isImportablePathPnp(fromPath, toPath);\n+ }\n+ else {\n+ return isImportablePathNode(fromPath, toPath, getCanonicalFileName, globalCachePath);\n+ }\n+ }\n function moduleSymbolToValidIdentifier(moduleSymbol, target) {\n return moduleSpecifierToValidIdentifier(ts.removeFileExtension(ts.stripQuotes(moduleSymbol.name)), target);\n }\ndiff --git a/lib/typingsInstaller.js b/lib/typingsInstaller.js\nindex 56b7028dad..9681d7ee59 100644\nsemver exclusivity >=3.9\n--- a/lib/typingsInstaller.js\n+++ b/lib/typingsInstaller.js\n@@ -5617,6 +5617,11 @@ var ts;\n : new Buffer(input, encoding);\n }\n function isFileSystemCaseSensitive() {\n+ // The PnP runtime is always case-sensitive\n+ // @ts-ignore\n+ if (process.versions.pnp) {\n+ return true;\n+ }\n // win32\\win64 are case insensitive platforms\n if (platform === "win32" || platform === "win64") {\n return false;\n@@ -29297,24 +29302,55 @@ var ts;\n ts.getEffectiveTypeRoots = getEffectiveTypeRoots;\n /**\n * Returns the path to every node_modules/@types directory from some ancestor directory.\n- * Returns undefined if there are none.\n */\n- function getDefaultTypeRoots(currentDirectory, host) {\n+ function getNodeModulesTypeRoots(currentDirectory, host) {\n if (!host.directoryExists) {\n return [ts.combinePaths(currentDirectory, nodeModulesAtTypes)];\n // And if it doesn\'t exist, tough.\n }\n- var typeRoots;\n+ var typeRoots = [];\n ts.forEachAncestorDirectory(ts.normalizePath(currentDirectory), function (directory) {\n var atTypes = ts.combinePaths(directory, nodeModulesAtTypes);\n if (host.directoryExists(atTypes)) {\n- (typeRoots || (typeRoots = [])).push(atTypes);\n+ typeRoots.push(atTypes);\n }\n return undefined;\n });\n return typeRoots;\n }\n var nodeModulesAtTypes = ts.combinePaths("node_modules", "@types");\n+ function getPnpTypeRoots(currentDirectory) {\n+ if (!isPnpAvailable()) {\n+ return [];\n+ }\n+ // Some TS consumers pass relative paths that aren\'t normalized\n+ currentDirectory = ts.sys.resolvePath(currentDirectory);\n+ var pnpapi = getPnpApi();\n+ var currentPackage = pnpapi.findPackageLocator(currentDirectory + "/");\n+ if (!currentPackage) {\n+ return [];\n+ }\n+ var packageDependencies = pnpapi.getPackageInformation(currentPackage).packageDependencies;\n+ var typeRoots = [];\n+ for (var _i = 0, _a = Array.from(packageDependencies.entries()); _i < _a.length; _i++) {\n+ var _b = _a[_i], name = _b[0], referencish = _b[1];\n+ // eslint-disable-next-line no-null/no-null\n+ if (name.startsWith(typesPackagePrefix) && referencish !== null) {\n+ var dependencyLocator = pnpapi.getLocator(name, referencish);\n+ var packageLocation = pnpapi.getPackageInformation(dependencyLocator).packageLocation;\n+ typeRoots.push(ts.getDirectoryPath(packageLocation));\n+ }\n+ }\n+ return typeRoots;\n+ }\n+ var typesPackagePrefix = "@types/";\n+ function getDefaultTypeRoots(currentDirectory, host) {\n+ var nmTypes = getNodeModulesTypeRoots(currentDirectory, host);\n+ var pnpTypes = getPnpTypeRoots(currentDirectory);\n+ if (nmTypes.length > 0 || pnpTypes.length > 0) {\n+ return [].concat(nmTypes, pnpTypes);\n+ }\n+ }\n /**\n * @param {string | undefined} containingFile - file that contains type reference directive, can be undefined if containing file is unknown.\n * This is possible in case if resolution is performed for directives specified via \'types\' parameter. In this case initial path for secondary lookups\n@@ -29401,7 +29437,9 @@ var ts;\n }\n var result = void 0;\n if (!ts.isExternalModuleNameRelative(typeReferenceDirectiveName)) {\n- var searchResult = loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n+ var searchResult = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState)\n+ : loadModuleFromNearestNodeModulesDirectory(Extensions.DtsOnly, typeReferenceDirectiveName, initialLocationForSecondaryLookup, moduleResolutionState, /*cache*/ undefined, /*redirectedReference*/ undefined);\n result = searchResult && searchResult.value;\n }\n else {\n@@ -29882,17 +29920,23 @@ var ts;\n if (traceEnabled) {\n trace(host, ts.Diagnostics.Loading_module_0_from_node_modules_folder_target_file_type_1, moduleName, Extensions[extensions]);\n }\n- var resolved_1 = loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n- if (!resolved_1)\n+ var resolved_1 = isPnpAvailable()\n+ ? tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state)\n+ : loadModuleFromNearestNodeModulesDirectory(extensions, moduleName, containingDirectory, state, cache, redirectedReference);\n+ if (!resolved_1) {\n return undefined;\n+ }\n var resolvedValue = resolved_1.value;\n+ var isExternalLibraryImport = resolvedValue && isPnpAvailable()\n+ ? checkPnpExternalLibraryImport(resolvedValue)\n+ : true;\n+ // For node_modules lookups, get the real path so that multiple accesses to an `npm link`-ed module do not create duplicate files.\n if (!compilerOptions.preserveSymlinks && resolvedValue && !resolvedValue.originalPath) {\n var path = realPath(resolvedValue.path, host, traceEnabled);\n var originalPath = path === resolvedValue.path ? undefined : resolvedValue.path;\n resolvedValue = __assign(__assign({}, resolvedValue), { path: path, originalPath: originalPath });\n }\n- // For node_modules lookups, get the real path so that multiple accesses to an `npm link`-ed module do not create duplicate files.\n- return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: true } };\n+ return { value: resolvedValue && { resolved: resolvedValue, isExternalLibraryImport: isExternalLibraryImport } };\n }\n else {\n var _a = ts.normalizePathAndParts(ts.combinePaths(containingDirectory, moduleName)), candidate = _a.path, parts = _a.parts;\n@@ -30379,6 +30423,68 @@ var ts;\n function toSearchResult(value) {\n return value !== undefined ? { value: value } : undefined;\n }\n+ /**\n+ * We only allow PnP to be used as a resolution strategy if TypeScript\n+ * itself is executed under a PnP runtime (and we only allow it to access\n+ * the current PnP runtime, not any on the disk). This ensures that we\n+ * don\'t execute potentially malicious code that didn\'t already have a\n+ * chance to be executed (if we\'re running within the runtime, it means\n+ * that the runtime has already been executed).\n+ * @internal\n+ */\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n+ function getPnpApi() {\n+ return require("pnpapi");\n+ }\n+ function loadPnpPackageResolution(packageName, containingDirectory) {\n+ try {\n+ var resolution = getPnpApi().resolveToUnqualified(packageName, containingDirectory + "/", { considerBuiltins: false });\n+ return ts.normalizeSlashes(resolution);\n+ }\n+ catch (_a) {\n+ // Nothing to do\n+ }\n+ }\n+ function loadPnpTypePackageResolution(packageName, containingDirectory) {\n+ return loadPnpPackageResolution(getTypesPackageName(packageName), containingDirectory);\n+ }\n+ /* @internal */\n+ function tryLoadModuleUsingPnpResolution(extensions, moduleName, containingDirectory, state) {\n+ var _a = parsePackageName(moduleName), packageName = _a.packageName, rest = _a.rest;\n+ var packageResolution = loadPnpPackageResolution(packageName, containingDirectory);\n+ var packageFullResolution = packageResolution\n+ ? nodeLoadModuleByRelativeName(extensions, ts.combinePaths(packageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ var resolved;\n+ if (packageFullResolution) {\n+ resolved = packageFullResolution;\n+ }\n+ else if (extensions === Extensions.TypeScript || extensions === Extensions.DtsOnly) {\n+ var typePackageResolution = loadPnpTypePackageResolution(packageName, containingDirectory);\n+ var typePackageFullResolution = typePackageResolution\n+ ? nodeLoadModuleByRelativeName(Extensions.DtsOnly, ts.combinePaths(typePackageResolution, rest), /*onlyRecordFailures*/ false, state, /*considerPackageJson*/ true)\n+ : undefined;\n+ if (typePackageFullResolution) {\n+ resolved = typePackageFullResolution;\n+ }\n+ }\n+ return toSearchResult(resolved);\n+ }\n+ function checkPnpExternalLibraryImport(resolvedValue) {\n+ var pnpApi = getPnpApi();\n+ var ownerPackage = pnpApi.findPackageLocator(resolvedValue.path);\n+ if (!ownerPackage) {\n+ return true;\n+ }\n+ var rootLocators = pnpApi.getDependencyTreeRoots();\n+ // External if none of the root locators owns the file\n+ return !rootLocators.some(function (root) {\n+ return root.name === ownerPackage.name && root.reference === ownerPackage.reference;\n+ });\n+ }\n })(ts || (ts = {}));\n /* @internal */\n var ts;\n@@ -104148,6 +104254,10 @@ var ts;\n ? removeExtensionAndIndexPostFix(relativePath, ending, compilerOptions)\n : ts.removeFileExtension(relativePath);\n }\n+ function isPnpAvailable() {\n+ // @ts-ignore\n+ return process.versions.pnp;\n+ }\n function tryGetModuleNameAsNodeModule(moduleFileName, _a, host, options, packageNameOnly) {\n var getCanonicalFileName = _a.getCanonicalFileName, sourceDirectory = _a.sourceDirectory;\n if (!host.fileExists || !host.readFile) {\n@@ -104183,7 +104293,9 @@ var ts;\n // Get a path that\'s relative to node_modules or the importing file\'s path\n // if node_modules folder is in this folder or any of its parent folders, no need to keep it.\n var pathToTopLevelNodeModules = getCanonicalFileName(moduleSpecifier.substring(0, parts.topLevelNodeModulesIndex));\n- if (!(ts.startsWith(sourceDirectory, pathToTopLevelNodeModules) || globalTypingsCacheLocation && ts.startsWith(getCanonicalFileName(globalTypingsCacheLocation), pathToTopLevelNodeModules))) {\n+ // If PnP is enabled the node_modules entries we\'ll get will always be relevant even if they\n+ // are located in a weird path apparently outside of the source directory\n+ if (!isPnpAvailable() && !(ts.startsWith(sourceDirectory, pathToTopLevelNodeModules) || globalTypingsCacheLocation && ts.startsWith(getCanonicalFileName(globalTypingsCacheLocation), pathToTopLevelNodeModules))) {\n return undefined;\n }\n // If the module was found in @types, get the actual Node package name\n'},function(e){e.exports=JSON.parse('{"name":"@yarnpkg/plugin-dlx","version":"2.0.0-rc.14","main":"./sources/index.ts","dependencies":{"@yarnpkg/fslib":"workspace:^2.0.0-rc.19","@yarnpkg/json-proxy":"workspace:^2.0.0-rc.7","clipanion":"^2.1.5"},"peerDependencies":{"@yarnpkg/cli":"^2.0.0-rc.33","@yarnpkg/core":"^2.0.0-rc.27"},"devDependencies":{"@yarnpkg/cli":"workspace:^2.0.0-rc.33","@yarnpkg/core":"workspace:^2.0.0-rc.27"},"repository":{"type":"git","url":"ssh://git@github.com/yarnpkg/berry.git"},"scripts":{"postpack":"rm -rf lib","prepack":"run build:compile \\"$(pwd)\\""},"publishConfig":{"main":"./lib/index.js","typings":"./lib/index.d.ts"},"files":["/lib/**/*"]}')},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const A=r(n(1146)),i=r(n(1147)),o={commands:[A.default,i.default]};t.default=o},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(7),i=n(0),o=n(2);class s extends A.BaseCommand{constructor(){super(...arguments),this.quiet=!1,this.args=[]}async execute(){const e=[];this.pkg&&e.push("--package",this.pkg),this.quiet&&e.push("--quiet");const t=i.structUtils.parseIdent(this.command),n=i.structUtils.makeIdent(t.scope,`create-${t.name}`);return this.cli.run(["dlx",...e,i.structUtils.stringifyIdent(n),...this.args])}}r([o.Command.String("-p,--package")],s.prototype,"pkg",void 0),r([o.Command.Boolean("-q,--quiet")],s.prototype,"quiet",void 0),r([o.Command.String()],s.prototype,"command",void 0),r([o.Command.Proxy()],s.prototype,"args",void 0),r([o.Command.Path("create")],s.prototype,"execute",null),t.default=s},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(7),i=n(0),o=n(0),s=n(1),a=n(2);class c extends A.BaseCommand{constructor(){super(...arguments),this.quiet=!1,this.args=[]}async execute(){await s.xfs.mktempPromise(async e=>{const t=s.ppath.join(e,`dlx-${process.pid}`);await s.xfs.mkdirPromise(t),await s.xfs.writeFilePromise(s.ppath.join(t,s.toFilename("package.json")),"{}\n"),await s.xfs.writeFilePromise(s.ppath.join(t,s.toFilename("yarn.lock")),""),await s.xfs.writeFilePromise(s.ppath.join(t,s.toFilename(".yarnrc.yml")),"enableGlobalCache: true\n");const n=void 0!==this.pkg?[this.pkg]:[this.command],r=o.structUtils.parseDescriptor(this.command).name,a=await this.cli.run(["add","--",...n],{cwd:t,quiet:this.quiet});if(0!==a)return a;this.quiet||this.context.stdout.write("\n");const c=await i.Configuration.find(t,this.context.plugins),{project:u,workspace:g}=await i.Project.find(c,t);if(null===g)throw new A.WorkspaceRequiredError(u.cwd,t);return await u.restoreInstallState(),await o.scriptUtils.executeWorkspaceAccessibleBinary(g,r,this.args,{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr})})}}c.usage=a.Command.Usage({description:"run a package in a temporary environment",details:"\n This command will install a package within a temporary environment, and run its binary script if it contains any. The binary will run within the current cwd.\n\n By default Yarn will download the package named `command`, but this can be changed through the use of the `-p,--package` flag which will instruct Yarn to still run the same command but from a different package.\n\n Also by default Yarn will print the full install logs when installing the given package. This behavior can be disabled by using the `-q,--quiet` flag which will instruct Yarn to only report critical errors.\n\n Using `yarn dlx` as a replacement of `yarn add` isn't recommended, as it makes your project non-deterministic (Yarn doesn't keep track of the packages installed through `dlx` - neither their name, nor their version).\n ",examples:[["Use create-react-app to create a new React app","yarn dlx create-react-app ./my-app"]]}),r([a.Command.String("-p,--package")],c.prototype,"pkg",void 0),r([a.Command.Boolean("-q,--quiet")],c.prototype,"quiet",void 0),r([a.Command.String()],c.prototype,"command",void 0),r([a.Command.Proxy()],c.prototype,"args",void 0),r([a.Command.Path("dlx")],c.prototype,"execute",null),t.default=c},function(e){e.exports=JSON.parse('{"name":"@yarnpkg/plugin-file","version":"2.0.0-rc.14","main":"./sources/index.ts","dependencies":{"@yarnpkg/fslib":"workspace:^2.0.0-rc.19"},"peerDependencies":{"@yarnpkg/core":"^2.0.0-rc.27"},"devDependencies":{"@yarnpkg/core":"workspace:^2.0.0-rc.27"},"repository":{"type":"git","url":"ssh://git@github.com/yarnpkg/berry.git"},"scripts":{"postpack":"rm -rf lib","prepack":"run build:compile \\"$(pwd)\\""},"publishConfig":{"main":"./lib/index.js","typings":"./lib/index.d.ts"},"files":["/lib/**/*"]}')},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1150),A=n(1151),i=n(1152),o=n(1153),s={fetchers:[i.TarballFileFetcher,r.FileFetcher],resolvers:[o.TarballFileResolver,A.FileResolver]};t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(0),A=n(1),i=n(168);t.FileFetcher=class{supports(e,t){return!!e.reference.startsWith(i.PROTOCOL)}getLocalPath(e,t){const{parentLocator:n,path:o}=r.structUtils.parseFileStyleRange(e.reference,{protocol:i.PROTOCOL});if(A.ppath.isAbsolute(o))return o;const s=t.fetcher.getLocalPath(n,t);return null===s?null:A.ppath.resolve(s,o)}async fetch(e,t){const n=t.checksums.get(e.locatorHash)||null,[A,i,o]=await t.cache.fetchPackageFromCache(e,n,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${r.structUtils.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,t)});return{packageFs:A,releaseFs:i,prefixPath:r.structUtils.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:o}}async fetchFromDisk(e,t){const{parentLocator:n,path:o}=r.structUtils.parseFileStyleRange(e.reference,{protocol:i.PROTOCOL}),s=A.ppath.isAbsolute(o)?{packageFs:new A.NodeFS,prefixPath:A.PortablePath.root,localPath:A.PortablePath.root}:await t.fetcher.fetch(n,t),a=s.localPath?{packageFs:new A.NodeFS,prefixPath:s.localPath}:s;s!==a&&s.releaseFs&&s.releaseFs();const c=a.packageFs,u=A.ppath.resolve(a.prefixPath,o);return await r.miscUtils.releaseAfterUseAsync(async()=>await r.tgzUtils.makeArchiveFromDirectory(u,{baseFs:c,prefixPath:r.structUtils.getIdentVendorPath(e),compressionLevel:t.project.configuration.get("compressionLevel")}),a.releaseFs)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(0),A=n(0),i=n(0),o=n(1),s=n(168);t.FileResolver=class{supportsDescriptor(e,t){return!!e.range.match(s.FILE_REGEXP)||!!e.range.startsWith(s.PROTOCOL)}supportsLocator(e,t){return!!e.reference.startsWith(s.PROTOCOL)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,n){return s.FILE_REGEXP.test(e.range)&&(e=i.structUtils.makeDescriptor(e,`${s.PROTOCOL}${e.range}`)),i.structUtils.bindDescriptor(e,{locator:i.structUtils.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,n){let r=e.range;return r.startsWith(s.PROTOCOL)&&(r=r.slice(s.PROTOCOL.length)),[i.structUtils.makeLocator(e,`${s.PROTOCOL}${o.npath.toPortablePath(r)}`)]}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");const n=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),o=await i.miscUtils.releaseAfterUseAsync(async()=>await r.Manifest.find(n.prefixPath,{baseFs:n.packageFs}),n.releaseFs);return Object.assign(Object.assign({},e),{version:o.version||"0.0.0",languageName:t.project.configuration.get("defaultLanguageName"),linkType:A.LinkType.HARD,dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin})}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(0),A=n(1),i=n(168);t.TarballFileFetcher=class{supports(e,t){return!!i.TARBALL_REGEXP.test(e.reference)&&!!e.reference.startsWith(i.PROTOCOL)}getLocalPath(e,t){return null}async fetch(e,t){const n=t.checksums.get(e.locatorHash)||null,[A,i,o]=await t.cache.fetchPackageFromCache(e,n,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${r.structUtils.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.fetchFromDisk(e,t)});return{packageFs:A,releaseFs:i,prefixPath:r.structUtils.getIdentVendorPath(e),checksum:o}}async fetchFromDisk(e,t){const{parentLocator:n,path:o}=r.structUtils.parseFileStyleRange(e.reference,{protocol:i.PROTOCOL}),s=A.ppath.isAbsolute(o)?{packageFs:new A.NodeFS,prefixPath:A.PortablePath.root,localPath:A.PortablePath.root}:await t.fetcher.fetch(n,t),a=s.localPath?{packageFs:new A.NodeFS,prefixPath:s.localPath}:s;s!==a&&s.releaseFs&&s.releaseFs();const c=a.packageFs,u=A.ppath.resolve(a.prefixPath,o),g=await c.readFilePromise(u);return await r.miscUtils.releaseAfterUseAsync(async()=>await r.tgzUtils.convertToZip(g,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:r.structUtils.getIdentVendorPath(e),stripComponents:1}),a.releaseFs)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(0),A=n(0),i=n(0),o=n(1),s=n(168);t.TarballFileResolver=class{supportsDescriptor(e,t){return!!s.TARBALL_REGEXP.test(e.range)&&(!!e.range.startsWith(s.PROTOCOL)||!!s.FILE_REGEXP.test(e.range))}supportsLocator(e,t){return!!s.TARBALL_REGEXP.test(e.reference)&&!!e.reference.startsWith(s.PROTOCOL)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,n){return s.FILE_REGEXP.test(e.range)&&(e=i.structUtils.makeDescriptor(e,`${s.PROTOCOL}${e.range}`)),i.structUtils.bindDescriptor(e,{locator:i.structUtils.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,n){let r=e.range;return r.startsWith(s.PROTOCOL)&&(r=r.slice(s.PROTOCOL.length)),[i.structUtils.makeLocator(e,`${s.PROTOCOL}${o.npath.toPortablePath(r)}`)]}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");const n=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),o=await i.miscUtils.releaseAfterUseAsync(async()=>await r.Manifest.find(n.prefixPath,{baseFs:n.packageFs}),n.releaseFs);return Object.assign(Object.assign({},e),{version:o.version||"0.0.0",languageName:t.project.configuration.get("defaultLanguageName"),linkType:A.LinkType.HARD,dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin})}}},function(e){e.exports=JSON.parse('{"name":"@yarnpkg/plugin-git","version":"2.0.0-rc.19","main":"./sources/index.ts","dependencies":{"@types/semver":"^7.1.0","@yarnpkg/fslib":"workspace:^2.0.0-rc.19","git-url-parse":"11.1.2","semver":"^7.1.2"},"peerDependencies":{"@yarnpkg/core":"^2.0.0-rc.27"},"devDependencies":{"@yarnpkg/core":"workspace:^2.0.0-rc.27"},"repository":{"type":"git","url":"ssh://git@github.com/yarnpkg/berry.git"},"scripts":{"postpack":"rm -rf lib","prepack":"run build:compile \\"$(pwd)\\""},"publishConfig":{"main":"./lib/index.js","typings":"./lib/index.d.ts"},"files":["/lib/**/*"]}')},function(e,t,n){"use strict";var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const A=n(0),i=n(1),o=r(n(255));t.GitFetcher=class{supports(e,t){return o.isGitUrl(e.reference)}getLocalPath(e,t){return null}async fetch(e,t){const n=t.checksums.get(e.locatorHash)||null,r=o.normalizeLocator(e),i=await this.downloadHosted(r,t);if(null!==i)return i;const[s,a,c]=await t.cache.fetchPackageFromCache(e,n,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${A.structUtils.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote repository`),loader:()=>this.cloneFromRemote(r,t)});return{packageFs:s,releaseFs:a,prefixPath:A.structUtils.getIdentVendorPath(e),checksum:c}}async downloadHosted(e,t){return t.project.configuration.reduceHook(e=>e.fetchHostedRepository,null,e,t)}async cloneFromRemote(e,t){const n=await o.clone(e.reference,t.project.configuration),r=o.splitRepoUrl(e.reference),s=i.ppath.join(n,"package.tgz");await A.scriptUtils.prepareExternalProject(n,s,{configuration:t.project.configuration,report:t.report,workspace:r.extra.workspace});const a=await i.xfs.readFilePromise(s);return await A.miscUtils.releaseAfterUseAsync(async()=>await A.tgzUtils.convertToZip(a,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:A.structUtils.getIdentVendorPath(e),stripComponents:1}))}}},function(e,t,n){"use strict";var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const A=n(0),i=n(0),o=n(0),s=r(n(255));t.GitResolver=class{supportsDescriptor(e,t){return s.isGitUrl(e.range)}supportsLocator(e,t){return s.isGitUrl(e.reference)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,n){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,n){const r=await s.resolveUrl(e.range,n.project.configuration);return[A.structUtils.makeLocator(e,r)]}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");const n=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),r=await A.miscUtils.releaseAfterUseAsync(async()=>await o.Manifest.find(n.prefixPath,{baseFs:n.packageFs}),n.releaseFs);return Object.assign(Object.assign({},e),{version:r.version||"0.0.0",languageName:t.project.configuration.get("defaultLanguageName"),linkType:i.LinkType.HARD,dependencies:r.dependencies,peerDependencies:r.peerDependencies,dependenciesMeta:r.dependenciesMeta,peerDependenciesMeta:r.peerDependenciesMeta,bin:r.bin})}}},function(e){e.exports=JSON.parse('{"name":"@yarnpkg/plugin-github","version":"2.0.0-rc.16","main":"./sources/index.ts","dependencies":{"@yarnpkg/fslib":"workspace:^2.0.0-rc.19"},"peerDependencies":{"@yarnpkg/core":"^2.0.0-rc.27","@yarnpkg/plugin-git":"^2.0.0-rc.19"},"devDependencies":{"@yarnpkg/core":"workspace:^2.0.0-rc.27","@yarnpkg/plugin-git":"workspace:^2.0.0-rc.19"},"scripts":{"test":"run test:unit packages/plugin-github","postpack":"rm -rf lib","prepack":"run build:compile \\"$(pwd)\\""},"repository":{"type":"git","url":"ssh://git@github.com/yarnpkg/berry.git"},"publishConfig":{"main":"./lib/index.js","typings":"./lib/index.d.ts"},"files":["/lib/**/*"]}')},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1159),A={hooks:{async fetchHostedRepository(e,t,n){if(null!==e)return e;const A=new r.GithubFetcher;if(!A.supports(t,n))return null;try{return await A.fetch(t,n)}catch(e){return console.log(e),null}}}};t.default=A},function(e,t,n){"use strict";var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const A=n(0),i=n(1),o=n(429),s=r(n(1160));t.GithubFetcher=class{supports(e,t){return!!s.isGithubUrl(e.reference)}getLocalPath(e,t){return null}async fetch(e,t){const n=t.checksums.get(e.locatorHash)||null,[r,i,o]=await t.cache.fetchPackageFromCache(e,n,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${A.structUtils.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from GitHub`),loader:()=>this.fetchFromNetwork(e,t)});return{packageFs:r,releaseFs:i,prefixPath:A.structUtils.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){const n=await A.httpUtils.get(this.getLocatorUrl(e,t),{configuration:t.project.configuration});return await i.xfs.mktempPromise(async r=>{const s=new i.CwdFS(r);await A.tgzUtils.extractArchiveTo(n,s,{stripComponents:1});const a=o.gitUtils.splitRepoUrl(e.reference),c=i.ppath.join(r,"package.tgz");await A.scriptUtils.prepareExternalProject(r,c,{configuration:t.project.configuration,report:t.report,workspace:a.extra.workspace});const u=await i.xfs.readFilePromise(c);return await A.tgzUtils.convertToZip(u,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:A.structUtils.getIdentVendorPath(e),stripComponents:1})})}getLocatorUrl(e,t){const{auth:n,username:r,reponame:A,treeish:i}=s.parseGithubUrl(e.reference);return`https://${n?`${n}@`:""}github.com/${r}/${A}/archive/${i}.tar.gz`}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=[/^https?:\/\/(?:([^/]+?)@)?github.com\/([^\/#]+)\/([^\/#]+)\/tarball\/([^\/#]+)(?:#(.*))?$/,/^https?:\/\/(?:([^/]+?)@)?github.com\/([^\/#]+)\/([^\/#]+?)(?:\.git)?(?:#(.*))?$/];function A(e){return`Input cannot be parsed as a valid GitHub URL ('${e}').`}t.isGithubUrl=function(e){return!!e&&r.some(t=>!!e.match(t))},t.parseGithubUrl=function(e){let t;for(const n of r)if(t=e.match(n))break;if(!t)throw new Error(A(e));let[,n,i,o,s="master"]=t;return{auth:n,username:i,reponame:o,treeish:s=s.replace(/[^:]*:/,"")}},t.invalidGithubUrlMessage=A},function(e){e.exports=JSON.parse('{"name":"@yarnpkg/plugin-http","version":"2.0.0-rc.13","main":"./sources/index.ts","dependencies":{"@yarnpkg/fslib":"workspace:^2.0.0-rc.19"},"peerDependencies":{"@yarnpkg/core":"^2.0.0-rc.27"},"devDependencies":{"@yarnpkg/core":"workspace:^2.0.0-rc.27"},"repository":{"type":"git","url":"ssh://git@github.com/yarnpkg/berry.git"},"scripts":{"postpack":"rm -rf lib","prepack":"run build:compile \\"$(pwd)\\""},"publishConfig":{"main":"./lib/index.js","typings":"./lib/index.d.ts"},"files":["/lib/**/*"]}')},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1163),A=n(1164),i={fetchers:[r.TarballHttpFetcher],resolvers:[A.TarballHttpResolver]};t.default=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(0),A=n(430);t.TarballHttpFetcher=class{supports(e,t){return!!A.TARBALL_REGEXP.test(e.reference)&&!!A.PROTOCOL_REGEXP.test(e.reference)}getLocalPath(e,t){return null}async fetch(e,t){const n=t.checksums.get(e.locatorHash)||null,[A,i,o]=await t.cache.fetchPackageFromCache(e,n,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${r.structUtils.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,t)});return{packageFs:A,releaseFs:i,prefixPath:r.structUtils.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){const n=await r.httpUtils.get(e.reference,{configuration:t.project.configuration});return await r.tgzUtils.convertToZip(n,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:r.structUtils.getIdentVendorPath(e),stripComponents:1})}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(0),A=n(0),i=n(0),o=n(430);t.TarballHttpResolver=class{supportsDescriptor(e,t){return!!o.TARBALL_REGEXP.test(e.range)&&!!o.PROTOCOL_REGEXP.test(e.range)}supportsLocator(e,t){return!!o.TARBALL_REGEXP.test(e.reference)&&!!o.PROTOCOL_REGEXP.test(e.reference)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,n){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,n){return[i.structUtils.convertDescriptorToLocator(e)]}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");const n=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),o=await i.miscUtils.releaseAfterUseAsync(async()=>await r.Manifest.find(n.prefixPath,{baseFs:n.packageFs}),n.releaseFs);return Object.assign(Object.assign({},e),{version:o.version||"0.0.0",languageName:t.project.configuration.get("defaultLanguageName"),linkType:A.LinkType.HARD,dependencies:o.dependencies,peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin})}}},function(e){e.exports=JSON.parse('{"name":"@yarnpkg/plugin-init","version":"2.0.0-rc.13","main":"./sources/index.ts","dependencies":{"@yarnpkg/fslib":"workspace:^2.0.0-rc.19","clipanion":"^2.1.5"},"peerDependencies":{"@yarnpkg/cli":"^2.0.0-rc.33","@yarnpkg/core":"^2.0.0-rc.27"},"devDependencies":{"@yarnpkg/cli":"workspace:^2.0.0-rc.33","@yarnpkg/core":"workspace:^2.0.0-rc.27"},"repository":{"type":"git","url":"ssh://git@github.com/yarnpkg/berry.git"},"scripts":{"postpack":"rm -rf lib","prepack":"run build:compile \\"$(pwd)\\""},"publishConfig":{"main":"./lib/index.js","typings":"./lib/index.d.ts"},"files":["/lib/**/*"]}')},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const A=n(0),i=r(n(1167)),o={configuration:{initLicense:{description:"License used when creating packages via the init command",type:A.SettingsType.STRING,default:null},initScope:{description:"Scope used when creating packages via the init command",type:A.SettingsType.STRING,default:null},initVersion:{description:"Version used when creating packages via the init command",type:A.SettingsType.STRING,default:null}},commands:[i.default]};t.default=o},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(7),i=n(0),o=n(0),s=n(1),a=n(2),c=n(6);class u extends A.BaseCommand{constructor(){super(...arguments),this.usev2=!1,this.yes=!1,this.private=!1,this.workspace=!1,this.latest=!1}async execute(){if(s.xfs.existsSync(s.ppath.join(this.context.cwd,i.Manifest.fileName)))throw new a.UsageError("A package.json already exists in the specified directory");const e=await i.Configuration.find(this.context.cwd,this.context.plugins),t=void 0!==this.install?this.install:this.latest?"latest":null;return null!==t?await this.executeProxy(e,t):await this.executeRegular(e)}async executeProxy(e,t){if(null!==e.get("yarnPath"))throw new a.UsageError(`Cannot use the --install flag when the current directory already uses yarnPath (from ${e.sources.get("yarnPath")})`);if(null!==e.projectCwd)throw new a.UsageError("Cannot use the --install flag when the current directory is already part of a project");s.xfs.existsSync(this.context.cwd)||await s.xfs.mkdirpPromise(this.context.cwd);const n=s.ppath.join(this.context.cwd,e.get("lockfileFilename"));s.xfs.existsSync(n)||await s.xfs.writeFilePromise(n,"");const r=await this.cli.run(["set","version",t]);if(0!==r)return r;this.context.stdout.write("\n");const A=[];return this.private&&A.push("-p"),this.workspace&&A.push("-w"),this.yes&&A.push("-y"),this.latest&&A.push("-l"),await s.xfs.mktempPromise(async e=>{const{code:t}=await o.execUtils.pipevp("yarn",["init",...A],{cwd:this.context.cwd,stdin:this.context.stdin,stdout:this.context.stdout,stderr:this.context.stderr,env:await o.scriptUtils.makeScriptEnv({binFolder:e})});return t})}async executeRegular(e){s.xfs.existsSync(this.context.cwd)||await s.xfs.mkdirpPromise(this.context.cwd);const t=new i.Manifest;t.name=o.structUtils.makeIdent(e.get("initScope"),s.ppath.basename(this.context.cwd)),t.version=e.get("initVersion"),t.private=this.private||this.workspace,t.license=e.get("initLicense"),this.workspace&&(await s.xfs.mkdirpPromise(s.ppath.join(this.context.cwd,"packages")),t.workspaceDefinitions=[{pattern:"packages/*"}]);const n={};t.exportTo(n),c.inspect.styles.name="cyan",this.context.stdout.write(`${c.inspect(n,{depth:1/0,colors:!0,compact:!1})}\n`);const r=s.ppath.join(this.context.cwd,i.Manifest.fileName);await s.xfs.changeFilePromise(r,`${JSON.stringify(n,null,2)}\n`)}}u.usage=a.Command.Usage({description:"create a new package",details:"\n This command will setup a new package in your local directory.\n\n If the `-p,--private` or `-w,--workspace` options are set, the package will be private by default.\n\n If the `-w,--workspace` option is set, the package will be configured to accept a set of workspaces in the `packages/` directory.\n\n If the `-i,--install` option is given a value, Yarn will first download it using `yarn set version` and only then forward the init call to the newly downloaded bundle.\n\n If the `-l,--latest` option is set, `--install latest` will be assumed.\n\n The following settings can be used in order to affect what the generated package.json will look like:\n\n - `initLicense`\n - `initScope`\n - `initVersion`\n ",examples:[["Create a new package in the local directory","yarn init"],["Create a new private package in the local directory","yarn init -p"],["Create a new package and store the Yarn release inside","yarn init -i latest"],["Create a new private package and defines it as a workspace root","yarn init -w"]]}),r([a.Command.Boolean("-2",{hidden:!0})],u.prototype,"usev2",void 0),r([a.Command.Boolean("-y,--yes",{hidden:!0})],u.prototype,"yes",void 0),r([a.Command.Boolean("-p,--private")],u.prototype,"private",void 0),r([a.Command.Boolean("-w,--workspace")],u.prototype,"workspace",void 0),r([a.Command.Boolean("-l,--latest")],u.prototype,"latest",void 0),r([a.Command.String("-i,--install")],u.prototype,"install",void 0),r([a.Command.Path("init")],u.prototype,"execute",null),t.default=u},function(e){e.exports=JSON.parse('{"name":"@yarnpkg/plugin-link","version":"2.0.0-rc.11","main":"./sources/index.ts","dependencies":{"@yarnpkg/fslib":"workspace:^2.0.0-rc.19"},"peerDependencies":{"@yarnpkg/core":"^2.0.0-rc.27"},"devDependencies":{"@yarnpkg/core":"workspace:^2.0.0-rc.27"},"repository":{"type":"git","url":"ssh://git@github.com/yarnpkg/berry.git"},"scripts":{"postpack":"rm -rf lib","prepack":"run build:compile \\"$(pwd)\\""},"publishConfig":{"main":"./lib/index.js","typings":"./lib/index.d.ts"},"files":["/lib/**/*"]}')},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1170),A=n(1171),i=n(1172),o=n(1173),s={fetchers:[i.RawLinkFetcher,r.LinkFetcher],resolvers:[o.RawLinkResolver,A.LinkResolver]};t.default=s},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(0),A=n(1),i=n(169);t.LinkFetcher=class{supports(e,t){return!!e.reference.startsWith(i.LINK_PROTOCOL)}getLocalPath(e,t){const{parentLocator:n,path:o}=r.structUtils.parseFileStyleRange(e.reference,{protocol:i.LINK_PROTOCOL});if(A.ppath.isAbsolute(o))return o;const s=t.fetcher.getLocalPath(n,t);return null===s?null:A.ppath.resolve(s,o)}async fetch(e,t){const{parentLocator:n,path:o}=r.structUtils.parseFileStyleRange(e.reference,{protocol:i.LINK_PROTOCOL}),s=A.ppath.isAbsolute(o)?{packageFs:new A.NodeFS,prefixPath:A.PortablePath.root,localPath:A.PortablePath.root}:await t.fetcher.fetch(n,t),a=s.localPath?{packageFs:new A.NodeFS,prefixPath:s.localPath}:s;s!==a&&s.releaseFs&&s.releaseFs();const c=a.packageFs,u=A.ppath.resolve(a.prefixPath,o);return s.localPath?{packageFs:new A.JailFS(u,{baseFs:c}),releaseFs:a.releaseFs,prefixPath:A.PortablePath.root,localPath:u}:{packageFs:new A.JailFS(u,{baseFs:c}),releaseFs:a.releaseFs,prefixPath:A.PortablePath.root}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(0),A=n(0),i=n(0),o=n(1),s=n(169);t.LinkResolver=class{supportsDescriptor(e,t){return!!e.range.startsWith(s.LINK_PROTOCOL)}supportsLocator(e,t){return!!e.reference.startsWith(s.LINK_PROTOCOL)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,n){return i.structUtils.bindDescriptor(e,{locator:i.structUtils.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,n){const r=e.range.slice(s.LINK_PROTOCOL.length);return[i.structUtils.makeLocator(e,`${s.LINK_PROTOCOL}${o.npath.toPortablePath(r)}`)]}async resolve(e,t){if(!t.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");const n=await t.fetchOptions.fetcher.fetch(e,t.fetchOptions),o=await i.miscUtils.releaseAfterUseAsync(async()=>await r.Manifest.find(n.prefixPath,{baseFs:n.packageFs}),n.releaseFs);return Object.assign(Object.assign({},e),{version:o.version||"0.0.0",languageName:t.project.configuration.get("defaultLanguageName"),linkType:A.LinkType.SOFT,dependencies:new Map([...o.dependencies,...o.devDependencies]),peerDependencies:o.peerDependencies,dependenciesMeta:o.dependenciesMeta,peerDependenciesMeta:o.peerDependenciesMeta,bin:o.bin})}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(0),A=n(1),i=n(169);t.RawLinkFetcher=class{supports(e,t){return!!e.reference.startsWith(i.RAW_LINK_PROTOCOL)}getLocalPath(e,t){const{parentLocator:n,path:o}=r.structUtils.parseFileStyleRange(e.reference,{protocol:i.RAW_LINK_PROTOCOL});if(A.ppath.isAbsolute(o))return o;const s=t.fetcher.getLocalPath(n,t);return null===s?null:A.ppath.resolve(s,o)}async fetch(e,t){const{parentLocator:n,path:o}=r.structUtils.parseFileStyleRange(e.reference,{protocol:i.RAW_LINK_PROTOCOL}),s=A.ppath.isAbsolute(o)?{packageFs:new A.NodeFS,prefixPath:A.PortablePath.root,localPath:A.PortablePath.root}:await t.fetcher.fetch(n,t),a=s.localPath?{packageFs:new A.NodeFS,prefixPath:s.localPath}:s;s!==a&&s.releaseFs&&s.releaseFs();const c=a.packageFs,u=A.ppath.resolve(a.prefixPath,o);return s.localPath?{packageFs:new A.JailFS(u,{baseFs:c}),releaseFs:a.releaseFs,prefixPath:A.PortablePath.root,discardFromLookup:!0,localPath:u}:{packageFs:new A.JailFS(u,{baseFs:c}),releaseFs:a.releaseFs,prefixPath:A.PortablePath.root,discardFromLookup:!0}}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(0),A=n(0),i=n(1),o=n(169);t.RawLinkResolver=class{supportsDescriptor(e,t){return!!e.range.startsWith(o.RAW_LINK_PROTOCOL)}supportsLocator(e,t){return!!e.reference.startsWith(o.RAW_LINK_PROTOCOL)}shouldPersistResolution(e,t){return!1}bindDescriptor(e,t,n){return A.structUtils.bindDescriptor(e,{locator:A.structUtils.stringifyLocator(t)})}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,n){const r=e.range.slice(o.RAW_LINK_PROTOCOL.length);return[A.structUtils.makeLocator(e,`${o.RAW_LINK_PROTOCOL}${i.npath.toPortablePath(r)}`)]}async resolve(e,t){return Object.assign(Object.assign({},e),{version:"0.0.0",languageName:t.project.configuration.get("defaultLanguageName"),linkType:r.LinkType.SOFT,dependencies:new Map,peerDependencies:new Map,dependenciesMeta:new Map,peerDependenciesMeta:new Map,bin:new Map})}}},function(e){e.exports=JSON.parse('{"name":"@yarnpkg/plugin-node-modules","main":"./sources/index.ts","dependencies":{"@yarnpkg/fslib":"workspace:^2.0.0-rc.19","@yarnpkg/libzip":"workspace:^2.0.0-rc.11","@yarnpkg/parsers":"workspace:^2.0.0-rc.11","@yarnpkg/plugin-pnp":"workspace:^2.0.0-rc.21","@yarnpkg/pnp":"workspace:^2.0.0-rc.20","@yarnpkg/pnpify":"workspace:^2.0.0-rc.22","@zkochan/cmd-shim":"^4.3.0","clipanion":"^2.1.5","micromatch":"^4.0.2"},"peerDependencies":{"@yarnpkg/cli":"^2.0.0-rc.33","@yarnpkg/core":"^2.0.0-rc.27"},"devDependencies":{"@types/micromatch":"^3.1.0","@yarnpkg/cli":"workspace:^2.0.0-rc.33","@yarnpkg/core":"workspace:^2.0.0-rc.27","@yarnpkg/plugin-stage":"workspace:^2.0.0-rc.15"},"version":"2.0.0-rc.9","nextVersion":{"semver":"2.0.0-rc.5","nonce":"1989925236539513"},"repository":{"type":"git","url":"ssh://git@github.com/yarnpkg/berry.git"},"scripts":{"postpack":"rm -rf lib","prepack":"run build:compile \\"$(pwd)\\""},"publishConfig":{"main":"./lib/index.js","typings":"./lib/index.d.ts"},"files":["/lib/**/*"]}')},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1),A=n(1176),i=n(1194);t.getPnpPath=e=>r.ppath.join(e.cwd,".pnp.js");const o={linkers:[A.NodeModulesLinker,i.PnpLooseLinker]};t.default=o},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const A=n(0),i=n(0),o=n(0),s=n(0),a=n(1),c=n(1),u=n(59),g=n(33),l=n(170),h=n(257),p=n(257),f=n(256),C=r(n(1190)),d=n(2),I=r(n(3)),E=1,B="node_modules",y=".bin",m=".yarn-state.yml";t.NodeModulesLinker=class{supportsPackage(e,t){return"node-modules"===t.project.configuration.get("nodeLinker")}async findPackageLocation(e,t){const n=t.project.tryWorkspaceByLocator(e);if(n)return n.cwd;const r=await w(t.project,{unrollAliases:!0});if(null===r)throw new d.UsageError("Couldn't find the node_modules state file - running an install might help (findPackageLocation)");const A=r.locatorMap.get(s.structUtils.stringifyLocator(e));if(!A)throw new d.UsageError(`Couldn't find ${s.structUtils.prettyLocator(t.project.configuration,e)} in the currently installed node_modules map - running an install might help`);return A.locations[0]}async findPackageLocator(e,t){const n=await w(t.project,{unrollAliases:!0});if(null===n)return null;const{locationRoot:r,segments:A}=D(c.ppath.resolve(e),{skipPrefix:t.project.cwd});let i=n.locationTree.get(r);if(!i)return null;let o=i.locator;for(const e of A){if(!(i=i.children.get(e)))break;o=i.locator||o}return s.structUtils.parseLocator(o)}makeInstaller(e){return new Q(e)}};class Q extends l.AbstractPnpInstaller{constructor(){super(...arguments),this.manifestCache=new Map}async getBuildScripts(e,t,n){return[]}async transformPackage(e,t,n,r,A){return n.packageFs}async finalizeInstallWithPnp(e){if("node-modules"!==this.opts.project.configuration.get("nodeLinker"))return;const t=new a.VirtualFS({baseFs:new a.ZipOpenFS({libzip:await u.getLibzipPromise(),maxOpenFiles:80,readOnlyArchives:!0})});let n=await w(this.opts.project);if(null===n){const e=this.opts.project.configuration.get("bstatePath");await a.xfs.existsPromise(e)&&await a.xfs.unlinkPromise(e),n={locatorMap:new Map,binSymlinks:new Map,locationTree:new Map}}const r=f.makeRuntimeApi(e,this.opts.project.cwd,t),o=p.buildNodeModulesTree(r,{pnpifyFs:!1}),g=h.buildLocatorMap(o);await async function(e,t,{baseFs:n,project:r,report:A,loadManifest:o}){const u=c.ppath.join(r.cwd,B),{locationTree:g,binSymlinks:l}=function(e,t){const n=new Map([...e]),r=new Map([...t]);for(const[t,n]of e){const e=c.ppath.join(t,B);if(!a.xfs.existsSync(e)){n.children.delete(B);for(const t of r.keys())null!==c.ppath.contains(e,t)&&r.delete(t)}}return{locationTree:n,binSymlinks:r}}(e.locationTree,e.binSymlinks),h=S(t,{skipPrefix:r.cwd}),p=[],f=async({srcDir:e,dstDir:t,linkType:r})=>{const A=(async()=>{try{r===i.LinkType.SOFT?(await a.xfs.mkdirpPromise(c.ppath.dirname(t)),await k(c.ppath.resolve(e),t)):await _(t,e,{baseFs:n})}catch(n){throw n.message=`While persisting ${e} -> ${t} ${n.message}`,n}finally{N.tick()}})().then(()=>p.splice(p.indexOf(A),1));p.push(A),p.length>b&&await Promise.race(p)},d=async(e,t,n)=>{const r=(async()=>{const r=async(e,t,n)=>{try{n&&n.innerLoop||await a.xfs.mkdirpPromise(t);const A=await a.xfs.readdirPromise(e,{withFileTypes:!0});for(const i of A){if(!(n&&n.innerLoop||i.name!==y))continue;const A=c.ppath.join(e,i.name),o=c.ppath.join(t,i.name);i.isDirectory()?(i.name!==B||n&&n.innerLoop)&&(await a.xfs.mkdirpPromise(o),await r(A,o,{innerLoop:!0})):await a.xfs.copyFilePromise(A,o,I.default.constants.COPYFILE_FICLONE)}}catch(r){throw n&&n.innerLoop||(r.message=`While cloning ${e} -> ${t} ${r.message}`),r}finally{n&&n.innerLoop||N.tick()}};await r(e,t,n)})().then(()=>p.splice(p.indexOf(r),1));p.push(r),p.length>b&&await Promise.race(p)},Q=async(e,t,n)=>{if(n)for(const[r,A]of t.children){let t=n.children.get(r);await Q(c.ppath.join(e,r),A,t)}else t.children.has(B)&&await v(c.ppath.join(e,B),{contentsOnly:!1}),await v(e,{contentsOnly:e===u})};for(const[e,t]of g){let n=h.get(e);for(const[r,A]of t.children){if("."===r)continue;let t=n?n.children.get(r):n;await Q(c.ppath.join(e,r),A,t)}}const w=async(e,t,n)=>{if(n){t.locator!==n.locator&&await v(e,{contentsOnly:t.linkType===i.LinkType.HARD});for(const[r,A]of t.children){let t=n.children.get(r);await w(c.ppath.join(e,r),A,t)}}else t.children.has(B)&&await v(c.ppath.join(e,B),{contentsOnly:!0}),await v(e,{contentsOnly:t.linkType===i.LinkType.HARD})};for(const[e,t]of h){let n=g.get(e);for(const[r,A]of t.children){if("."===r)continue;let t=n?n.children.get(r):n;await w(c.ppath.join(e,r),A,t)}}const M=[];for(const[n,{locations:A}]of e.locatorMap.entries())for(const e of A){const{locationRoot:A,segments:i}=D(e,{skipPrefix:r.cwd});let o=h.get(A),s=A;if(o){for(const e of i)if(s=c.ppath.join(s,e),!(o=o.children.get(e)))break;if(o&&o.locator!==n){const e=t.get(o.locator),n=e.target,r=s,A=e.linkType;n!==r&&M.push({srcDir:n,dstDir:r,linkType:A})}}}for(const[e,{locations:n}]of t.entries())for(const A of n){const{locationRoot:n,segments:i}=D(A,{skipPrefix:r.cwd});let o=g.get(n),s=h.get(n),a=n;const u=t.get(e),l=u.target,p=A;if(l===p)continue;const f=u.linkType;for(const e of i)s=s.children.get(e);if(o){for(const e of i)if(a=c.ppath.join(a,e),!(o=o.children.get(e))){M.push({srcDir:l,dstDir:p,linkType:f});break}}else M.push({srcDir:l,dstDir:p,linkType:f})}const N=s.Report.progressViaCounter(M.length),R=A.reportProgress(N);try{const e=new Map;for(const t of M)t.linkType!==i.LinkType.SOFT&&e.has(t.srcDir)||(e.set(t.srcDir,t.dstDir),await f(Object.assign({},t)));await Promise.all(p),p.length=0;for(const t of M){const n=e.get(t.srcDir);t.linkType!==i.LinkType.SOFT&&t.dstDir!==n&&await d(n,t.dstDir)}await Promise.all(p),await a.xfs.mkdirpPromise(u);const n=await async function(e,t,n,{loadManifest:r}){const A=new Map;for(const[t,{locations:n}]of e){let e=F(t)?null:await r(n[0]);const i=new Map;if(e)for(const[t,r]of e.bin){const e=c.ppath.join(n[0],r);""!==r&&a.xfs.existsSync(e)&&i.set(t,r)}A.set(t,i)}const i=new Map,o=(e,t,r)=>{const s=new Map,a=c.ppath.contains(n,e);if(r.locator&&null!==a){const t=A.get(r.locator);for(const[n,r]of t){const t=c.ppath.join(e,c.npath.toPortablePath(r));s.set(c.toFilename(n),t)}for(const[t,n]of r.children){const r=c.ppath.join(e,t),A=o(r,r,n);A.size>0&&i.set(e,new Map([...i.get(e)||new Map,...A]))}}else for(const[n,A]of r.children){const r=o(c.ppath.join(e,n),t,A);for(const[e,t]of r)s.set(e,t)}return s};for(const[e,n]of t){const t=o(e,e,n);t.size>0&&i.set(e,new Map([...i.get(e)||new Map,...t]))}return i}(t,h,r.cwd,{loadManifest:o});await async function(e,t){for(const n of e.keys())if(!t.has(n)){const e=c.ppath.join(n,B,y);await a.xfs.removePromise(e)}for(const[n,r]of t){const t=c.ppath.join(n,B,y),A=e.get(n)||new Map;await a.xfs.mkdirpPromise(t);for(const e of A.keys())r.has(e)||(await a.xfs.removePromise(c.ppath.join(t,e)),"win32"===process.platform&&await a.xfs.removePromise(c.ppath.join(t,c.toFilename(`${e}.cmd`))));for(const[e,n]of r){const r=A.get(e),i=c.ppath.join(t,e);r!==n&&("win32"===process.platform?await C.default(c.npath.fromPortablePath(n),c.npath.fromPortablePath(i),{createPwshFile:!1}):(await a.xfs.removePromise(i),await k(n,i),await a.xfs.chmodPromise(n,493)))}}}(l,n),await async function(e,t,n){let r="";r+="# Warning: This file is automatically generated. Removing it is fine, but will\n",r+="# cause your node_modules installation to become invalidated.\n",r+="\n",r+="__metadata:\n",r+=` version: ${E}\n`;const A=Array.from(t.keys()).sort();for(const i of A){const A=t.get(i);r+="\n",r+=`${JSON.stringify(i)}:\n`,r+=" locations:\n";let o=!1;for(const t of A.locations){const n=c.ppath.contains(e.cwd,t);if(null===n)throw new Error(`Assertion failed: Expected the path to be within the project (${t})`);r+=` - ${JSON.stringify(n)}\n`,t===e.cwd&&(o=!0)}if(A.aliases.length>0){r+=" aliases:\n";for(const e of A.aliases)r+=` - ${JSON.stringify(e)}\n`}if(o&&n.size>0){r+=" bin:\n";for(const[t,A]of n){const n=c.ppath.contains(e.cwd,t);if(null===n)throw new Error(`Assertion failed: Expected the path to be within the project (${t})`);r+=` ${JSON.stringify(n)}:\n`;for(const[e,n]of A){const A=c.ppath.relative(c.ppath.join(t,B),n);r+=` ${JSON.stringify(e)}: ${JSON.stringify(A)}\n`}}}}const i=e.cwd,o=c.ppath.join(i,B,m);await a.xfs.changeFilePromise(o,r,{automaticNewlines:!0})}(r,t,n)}finally{R.stop()}}(n,g,{baseFs:t,project:this.opts.project,report:this.opts.report,loadManifest:this.cachedManifestLoad.bind(this)});const l=[];for(const[e,t]of g.entries()){if(F(e))continue;const n=s.structUtils.parseLocator(e),o={name:s.structUtils.stringifyIdent(n),reference:n.reference};if(null===r.getPackageInformation(o))throw new Error(`Assertion failed: Expected the package to be registered (${s.structUtils.prettyLocator(this.opts.project.configuration,n)})`);const a=c.npath.toPortablePath(t.locations[0]),u=await this.cachedManifestLoad(a),g=await this.getSourceBuildScripts(a,u);g.length>0&&!this.opts.project.configuration.get("enableScripts")&&(this.opts.report.reportWarningOnce(A.MessageName.DISABLED_BUILD_SCRIPTS,`${s.structUtils.prettyLocator(this.opts.project.configuration,n)} lists build scripts, but all build scripts have been disabled.`),g.length=0),g.length>0&&t.linkType!==i.LinkType.HARD&&!this.opts.project.tryWorkspaceByLocator(n)&&(this.opts.report.reportWarningOnce(A.MessageName.SOFT_LINK_BUILD,`${s.structUtils.prettyLocator(this.opts.project.configuration,n)} lists build scripts, but is referenced through a soft link. Soft links don't support build scripts, so they'll be ignored.`),g.length=0);const h=this.opts.project.getDependencyMeta(n,u.version);g.length>0&&h&&!1===h.built&&(this.opts.report.reportInfoOnce(A.MessageName.BUILD_DISABLED,`${s.structUtils.prettyLocator(this.opts.project.configuration,n)} lists build scripts, but its build has been explicitly disabled through configuration.`),g.length=0),g.length>0&&l.push({buildLocations:t.locations,locatorHash:n.locatorHash,buildDirective:g})}return l}async cachedManifestLoad(e){let t=this.manifestCache.get(e);if(t)return t;try{t=await s.Manifest.find(e)}catch(t){throw t.message=`While loading ${e}: ${t.message}`,t}return this.manifestCache.set(e,t),t}async getSourceBuildScripts(e,t){const n=[],{scripts:r}=t;for(const e of["preinstall","install","postinstall"])r.has(e)&&n.push([o.BuildType.SCRIPT,e]);const A=c.ppath.resolve(e,c.toFilename("binding.gyp"));return!r.has("install")&&a.xfs.existsSync(A)&&n.push([o.BuildType.SHELLCODE,"node-gyp rebuild"]),n}}async function w(e,{unrollAliases:t=!1}={}){const n=e.cwd,r=c.ppath.join(n,B,m);if(!a.xfs.existsSync(r))return null;const A=g.parseSyml(await a.xfs.readFilePromise(r,"utf8"));if(A.__metadata.version>E)return null;const o=new Map,u=new Map;delete A.__metadata;for(const[e,r]of Object.entries(A)){const A=r.locations.map(e=>c.ppath.join(n,e)),a=r.bin;if(a)for(const[e,t]of Object.entries(a)){const r=c.ppath.join(n,c.npath.toPortablePath(e)),A=s.miscUtils.getMapWithDefault(u,r);for(const[e,n]of Object.entries(t))A.set(c.toFilename(e),c.npath.toPortablePath([r,B,n].join(c.ppath.delimiter)))}if(o.set(e,{target:c.PortablePath.dot,linkType:i.LinkType.HARD,locations:A,aliases:r.aliases||[]}),t&&r.aliases)for(const t of r.aliases){const{scope:n,name:r}=s.structUtils.parseLocator(e),a=s.structUtils.makeLocator(s.structUtils.makeIdent(n,r),t),u=s.structUtils.stringifyLocator(a);o.set(u,{target:c.PortablePath.dot,linkType:i.LinkType.HARD,locations:A,aliases:[]})}}return{locatorMap:o,binSymlinks:u,locationTree:S(o,{skipPrefix:e.cwd})}}const v=async(e,t)=>{if(e.split(c.ppath.sep).indexOf(B)<0)throw new Error(`Assertion failed: trying to remove dir that doesn't contain node_modules: ${e}`);try{if(!t.innerLoop){if((await a.xfs.lstatPromise(e)).isSymbolicLink())return void await a.xfs.unlinkPromise(e)}const n=await a.xfs.readdirPromise(e,{withFileTypes:!0});for(const r of n){const n=c.ppath.join(e,c.toFilename(r.name));r.isDirectory()?(r.name!==B||t&&t.innerLoop)&&await v(n,{innerLoop:!0,contentsOnly:!1}):await a.xfs.unlinkPromise(n)}t.contentsOnly||await a.xfs.rmdirPromise(e)}catch(e){if("ENOENT"!==e.code&&"ENOTEMPTY"!==e.code)throw e}},b=4,D=(e,{skipPrefix:t})=>{const n=c.ppath.contains(t,e);if(null===n)throw new Error(`Assertion failed: Cannot process a path that isn't part of the requested prefix (${e} isn't within ${t})`);const r=n.split(c.ppath.sep),A=r.indexOf(B),i=r.slice(0,A).join(c.ppath.sep);return{locationRoot:c.ppath.join(t,i),segments:r.slice(A)}},S=(e,{skipPrefix:t})=>{const n=new Map;if(null===e)return n;const r=()=>({children:new Map,linkType:i.LinkType.HARD});for(const[A,o]of e.entries()){if(o.linkType===i.LinkType.SOFT){if(null!==c.ppath.contains(t,o.target)){const e=s.miscUtils.getFactoryWithDefault(n,o.target,r);e.locator=A,e.linkType=o.linkType}}for(const e of o.locations){const{locationRoot:i,segments:a}=D(e,{skipPrefix:t});let c=s.miscUtils.getFactoryWithDefault(n,i,r);for(let e=0;ea.xfs.symlinkPromise("win32"!==process.platform?c.ppath.relative(c.ppath.dirname(t),e):e,t,"win32"===process.platform?"junction":void 0),_=async(e,t,{baseFs:n,innerLoop:r})=>{await a.xfs.mkdirpPromise(e);const A=await n.readdirPromise(t,{withFileTypes:!0}),i=async(e,t,r)=>{if(r.isFile()){const r=await n.lstatPromise(t);await n.copyFilePromise(t,e);const A=511&r.mode;420!==A&&await a.xfs.chmodPromise(e,A)}else{if(!r.isSymbolicLink())throw new Error(`Unsupported file type (file: ${t}, mode: 0o${await a.xfs.statSync(t).mode.toString(8).padStart(6,"0")})`);{const r=await n.readlinkPromise(t);await k(c.ppath.resolve(t,r),e)}}};for(const o of A){const A=c.ppath.join(t,c.toFilename(o.name)),s=c.ppath.join(e,c.toFilename(o.name));o.isDirectory()?(o.name!==B||r)&&await _(s,A,{baseFs:n,innerLoop:!0}):await i(s,A,o)}};function F(e){let t=s.structUtils.parseDescriptor(e);return s.structUtils.isVirtualDescriptor(t)&&(t=s.structUtils.devirtualizeDescriptor(t)),t.range.startsWith("link:")}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.HARD="HARD",e.SOFT="SOFT"}(t.LinkType||(t.LinkType={}))},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const A=n(1179),i=n(432),o=r(n(1180));function s(e,t){return[e?`${e}\n`:"","/* eslint-disable */\n\n","try {\n"," Object.freeze({}).detectStrictMode = true;\n","} catch (error) {\n"," throw new Error(`The whole PnP file got strict-mode-ified, which is known to break (Emscripten libraries aren't strict mode). This usually happens when the file goes through Babel.`);\n","}\n","\n","var __non_webpack_module__ = module;\n","\n","function $$SETUP_STATE(hydrateRuntimeState, basePath) {\n",t.replace(/^/gm," "),"}\n","\n",o.default].join("")}function a(e){return JSON.stringify(e,null,2)}t.generateInlinedScript=function(e){const t=function(e){return[`return hydrateRuntimeState(${A.generatePrettyJson(e)}, {basePath: basePath || __dirname});\n`].join("")}(i.generateSerializedState(e));return s(e.shebang,t)},t.generateSplitScript=function(e){const t=i.generateSerializedState(e),n=(r=e.dataLocation,[`var dataLocation = path.resolve(__dirname, ${JSON.stringify(r)});\n`,"return hydrateRuntimeState(require(dataLocation), {basePath: basePath || path.dirname(dataLocation)});\n"].join(""));var r;const A=s(e.shebang,n);return{dataFile:a(t),loaderFile:A}}},function(e,t,n){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.DEFAULT="DEFAULT",e.TOP_LEVEL="TOP_LEVEL",e.FALLBACK_EXCLUSION_LIST="FALLBACK_EXCLUSION_LIST",e.FALLBACK_EXCLUSION_ENTRIES="FALLBACK_EXCLUSION_ENTRIES",e.FALLBACK_EXCLUSION_DATA="FALLBACK_EXCLUSION_DATA",e.PACKAGE_REGISTRY_DATA="PACKAGE_REGISTRY_DATA",e.PACKAGE_REGISTRY_ENTRIES="PACKAGE_REGISTRY_ENTRIES",e.PACKAGE_STORE_DATA="PACKAGE_STORE_DATA",e.PACKAGE_STORE_ENTRIES="PACKAGE_STORE_ENTRIES",e.PACKAGE_INFORMATION_DATA="PACKAGE_INFORMATION_DATA",e.PACKAGE_DEPENDENCIES="PACKAGE_DEPENDENCIES",e.PACKAGE_DEPENDENCY="PACKAGE_DEPENDENCY"}(r||(r={}));const A={[r.DEFAULT]:{collapsed:!1,next:{"*":r.DEFAULT}},[r.TOP_LEVEL]:{collapsed:!1,next:{fallbackExclusionList:r.FALLBACK_EXCLUSION_LIST,packageRegistryData:r.PACKAGE_REGISTRY_DATA,"*":r.DEFAULT}},[r.FALLBACK_EXCLUSION_LIST]:{collapsed:!1,next:{"*":r.FALLBACK_EXCLUSION_ENTRIES}},[r.FALLBACK_EXCLUSION_ENTRIES]:{collapsed:!0,next:{"*":r.FALLBACK_EXCLUSION_DATA}},[r.FALLBACK_EXCLUSION_DATA]:{collapsed:!0,next:{"*":r.DEFAULT}},[r.PACKAGE_REGISTRY_DATA]:{collapsed:!1,next:{"*":r.PACKAGE_REGISTRY_ENTRIES}},[r.PACKAGE_REGISTRY_ENTRIES]:{collapsed:!0,next:{"*":r.PACKAGE_STORE_DATA}},[r.PACKAGE_STORE_DATA]:{collapsed:!1,next:{"*":r.PACKAGE_STORE_ENTRIES}},[r.PACKAGE_STORE_ENTRIES]:{collapsed:!0,next:{"*":r.PACKAGE_INFORMATION_DATA}},[r.PACKAGE_INFORMATION_DATA]:{collapsed:!1,next:{packageDependencies:r.PACKAGE_DEPENDENCIES,"*":r.DEFAULT}},[r.PACKAGE_DEPENDENCIES]:{collapsed:!1,next:{"*":r.PACKAGE_DEPENDENCY}},[r.PACKAGE_DEPENDENCY]:{collapsed:!0,next:{"*":r.DEFAULT}}};function i(e,t,n,r){const{next:i}=A[n];return o(t,i[e]||i["*"],r)}function o(e,t,n){const{collapsed:r}=A[t];return Array.isArray(e)?r?function(e,t,n){let r="";r+="[";for(let A=0,o=e.length;A contains(exports.npath, from, to);\n\nexports.ppath.contains = (from, to) => contains(exports.ppath, from, to);\n\nconst WINDOWS_PATH_REGEXP = /^[a-zA-Z]:.*$/;\nconst PORTABLE_PATH_REGEXP = /^\\/[a-zA-Z]:.*$/; // Path should look like "/N:/berry/scripts/plugin-pack.js"\n// And transform to "N:\\berry\\scripts\\plugin-pack.js"\n\nfunction fromPortablePath(p) {\n if (process.platform !== \'win32\') return p;\n return p.match(PORTABLE_PATH_REGEXP) ? p.substring(1).replace(/\\//g, `\\\\`) : p;\n} // Path should look like "N:/berry/scripts/plugin-pack.js"\n// And transform to "/N:/berry/scripts/plugin-pack.js"\n\n\nfunction toPortablePath(p) {\n if (process.platform !== \'win32\') return p;\n return (p.match(WINDOWS_PATH_REGEXP) ? `/${p}` : p).replace(/\\\\/g, `/`);\n}\n\nfunction convertPath(targetPathUtils, sourcePath) {\n return targetPathUtils === exports.npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath);\n}\n\nexports.convertPath = convertPath;\n\nfunction toFilename(filename) {\n if (exports.npath.parse(filename).dir !== \'\' || exports.ppath.parse(filename).dir !== \'\') throw new Error(`Invalid filename: "${filename}"`);\n return filename;\n}\n\nexports.toFilename = toFilename;\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n "default": mod\n };\n};\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nconst fs_1 = __importDefault(__webpack_require__(2));\n\nconst FakeFS_1 = __webpack_require__(3);\n\nconst path_1 = __webpack_require__(0);\n\nclass NodeFS extends FakeFS_1.BasePortableFakeFS {\n constructor(realFs = fs_1.default) {\n super();\n this.realFs = realFs;\n }\n\n getExtractHint() {\n return false;\n }\n\n getRealPath() {\n return path_1.PortablePath.root;\n }\n\n async openPromise(p, flags, mode) {\n return await new Promise((resolve, reject) => {\n this.realFs.open(path_1.npath.fromPortablePath(p), flags, mode, this.makeCallback(resolve, reject));\n });\n }\n\n openSync(p, flags, mode) {\n return this.realFs.openSync(path_1.npath.fromPortablePath(p), flags, mode);\n }\n\n async readPromise(fd, buffer, offset = 0, length = 0, position = -1) {\n return await new Promise((resolve, reject) => {\n this.realFs.read(fd, buffer, offset, length, position, (error, bytesRead) => {\n if (error) {\n reject(error);\n } else {\n resolve(bytesRead);\n }\n });\n });\n }\n\n readSync(fd, buffer, offset, length, position) {\n return this.realFs.readSync(fd, buffer, offset, length, position);\n }\n\n async writePromise(fd, buffer, offset, length, position) {\n return await new Promise((resolve, reject) => {\n if (typeof buffer === `string`) {\n return this.realFs.write(fd, buffer, offset, this.makeCallback(resolve, reject));\n } else {\n return this.realFs.write(fd, buffer, offset, length, position, this.makeCallback(resolve, reject));\n }\n });\n }\n\n writeSync(fd, buffer, offset, length, position) {\n if (typeof buffer === `string`) {\n return this.realFs.writeSync(fd, buffer, offset);\n } else {\n return this.realFs.writeSync(fd, buffer, offset, length, position);\n }\n }\n\n async closePromise(fd) {\n await new Promise((resolve, reject) => {\n this.realFs.close(fd, this.makeCallback(resolve, reject));\n });\n }\n\n closeSync(fd) {\n this.realFs.closeSync(fd);\n }\n\n createReadStream(p, opts) {\n const realPath = p !== null ? path_1.npath.fromPortablePath(p) : p;\n return this.realFs.createReadStream(realPath, opts);\n }\n\n createWriteStream(p, opts) {\n const realPath = p !== null ? path_1.npath.fromPortablePath(p) : p;\n return this.realFs.createWriteStream(realPath, opts);\n }\n\n async realpathPromise(p) {\n return await new Promise((resolve, reject) => {\n this.realFs.realpath(path_1.npath.fromPortablePath(p), {}, this.makeCallback(resolve, reject));\n }).then(path => {\n return path_1.npath.toPortablePath(path);\n });\n }\n\n realpathSync(p) {\n return path_1.npath.toPortablePath(this.realFs.realpathSync(path_1.npath.fromPortablePath(p), {}));\n }\n\n async existsPromise(p) {\n return await new Promise(resolve => {\n this.realFs.exists(path_1.npath.fromPortablePath(p), resolve);\n });\n }\n\n accessSync(p, mode) {\n return this.realFs.accessSync(path_1.npath.fromPortablePath(p), mode);\n }\n\n async accessPromise(p, mode) {\n return await new Promise((resolve, reject) => {\n this.realFs.access(path_1.npath.fromPortablePath(p), mode, this.makeCallback(resolve, reject));\n });\n }\n\n existsSync(p) {\n return this.realFs.existsSync(path_1.npath.fromPortablePath(p));\n }\n\n async statPromise(p) {\n return await new Promise((resolve, reject) => {\n this.realFs.stat(path_1.npath.fromPortablePath(p), this.makeCallback(resolve, reject));\n });\n }\n\n statSync(p) {\n return this.realFs.statSync(path_1.npath.fromPortablePath(p));\n }\n\n async lstatPromise(p) {\n return await new Promise((resolve, reject) => {\n this.realFs.lstat(path_1.npath.fromPortablePath(p), this.makeCallback(resolve, reject));\n });\n }\n\n lstatSync(p) {\n return this.realFs.lstatSync(path_1.npath.fromPortablePath(p));\n }\n\n async chmodPromise(p, mask) {\n return await new Promise((resolve, reject) => {\n this.realFs.chmod(path_1.npath.fromPortablePath(p), mask, this.makeCallback(resolve, reject));\n });\n }\n\n chmodSync(p, mask) {\n return this.realFs.chmodSync(path_1.npath.fromPortablePath(p), mask);\n }\n\n async renamePromise(oldP, newP) {\n return await new Promise((resolve, reject) => {\n this.realFs.rename(path_1.npath.fromPortablePath(oldP), path_1.npath.fromPortablePath(newP), this.makeCallback(resolve, reject));\n });\n }\n\n renameSync(oldP, newP) {\n return this.realFs.renameSync(path_1.npath.fromPortablePath(oldP), path_1.npath.fromPortablePath(newP));\n }\n\n async copyFilePromise(sourceP, destP, flags = 0) {\n return await new Promise((resolve, reject) => {\n this.realFs.copyFile(path_1.npath.fromPortablePath(sourceP), path_1.npath.fromPortablePath(destP), flags, this.makeCallback(resolve, reject));\n });\n }\n\n copyFileSync(sourceP, destP, flags = 0) {\n return this.realFs.copyFileSync(path_1.npath.fromPortablePath(sourceP), path_1.npath.fromPortablePath(destP), flags);\n }\n\n async appendFilePromise(p, content, opts) {\n return await new Promise((resolve, reject) => {\n const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p;\n\n if (opts) {\n this.realFs.appendFile(fsNativePath, content, opts, this.makeCallback(resolve, reject));\n } else {\n this.realFs.appendFile(fsNativePath, content, this.makeCallback(resolve, reject));\n }\n });\n }\n\n appendFileSync(p, content, opts) {\n const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p;\n\n if (opts) {\n this.realFs.appendFileSync(fsNativePath, content, opts);\n } else {\n this.realFs.appendFileSync(fsNativePath, content);\n }\n }\n\n async writeFilePromise(p, content, opts) {\n return await new Promise((resolve, reject) => {\n const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p;\n\n if (opts) {\n this.realFs.writeFile(fsNativePath, content, opts, this.makeCallback(resolve, reject));\n } else {\n this.realFs.writeFile(fsNativePath, content, this.makeCallback(resolve, reject));\n }\n });\n }\n\n writeFileSync(p, content, opts) {\n const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p;\n\n if (opts) {\n this.realFs.writeFileSync(fsNativePath, content, opts);\n } else {\n this.realFs.writeFileSync(fsNativePath, content);\n }\n }\n\n async unlinkPromise(p) {\n return await new Promise((resolve, reject) => {\n this.realFs.unlink(path_1.npath.fromPortablePath(p), this.makeCallback(resolve, reject));\n });\n }\n\n unlinkSync(p) {\n return this.realFs.unlinkSync(path_1.npath.fromPortablePath(p));\n }\n\n async utimesPromise(p, atime, mtime) {\n return await new Promise((resolve, reject) => {\n this.realFs.utimes(path_1.npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject));\n });\n }\n\n utimesSync(p, atime, mtime) {\n this.realFs.utimesSync(path_1.npath.fromPortablePath(p), atime, mtime);\n }\n\n async mkdirPromise(p, opts) {\n return await new Promise((resolve, reject) => {\n this.realFs.mkdir(path_1.npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject));\n });\n }\n\n mkdirSync(p, opts) {\n return this.realFs.mkdirSync(path_1.npath.fromPortablePath(p), opts);\n }\n\n async rmdirPromise(p) {\n return await new Promise((resolve, reject) => {\n this.realFs.rmdir(path_1.npath.fromPortablePath(p), this.makeCallback(resolve, reject));\n });\n }\n\n rmdirSync(p) {\n return this.realFs.rmdirSync(path_1.npath.fromPortablePath(p));\n }\n\n async symlinkPromise(target, p, type) {\n const symlinkType = type || (target.endsWith(`/`) ? `dir` : `file`);\n return await new Promise((resolve, reject) => {\n this.realFs.symlink(path_1.npath.fromPortablePath(target.replace(/\\/+$/, ``)), path_1.npath.fromPortablePath(p), symlinkType, this.makeCallback(resolve, reject));\n });\n }\n\n symlinkSync(target, p, type) {\n const symlinkType = type || (target.endsWith(`/`) ? `dir` : `file`);\n return this.realFs.symlinkSync(path_1.npath.fromPortablePath(target.replace(/\\/+$/, ``)), path_1.npath.fromPortablePath(p), symlinkType);\n }\n\n async readFilePromise(p, encoding) {\n return await new Promise((resolve, reject) => {\n const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p;\n this.realFs.readFile(fsNativePath, encoding, this.makeCallback(resolve, reject));\n });\n }\n\n readFileSync(p, encoding) {\n const fsNativePath = typeof p === `string` ? path_1.npath.fromPortablePath(p) : p;\n return this.realFs.readFileSync(fsNativePath, encoding);\n }\n\n async readdirPromise(p, {\n withFileTypes\n } = {}) {\n return await new Promise((resolve, reject) => {\n if (withFileTypes) {\n this.realFs.readdir(path_1.npath.fromPortablePath(p), {\n withFileTypes: true\n }, this.makeCallback(resolve, reject));\n } else {\n this.realFs.readdir(path_1.npath.fromPortablePath(p), this.makeCallback(value => resolve(value), reject));\n }\n });\n }\n\n readdirSync(p, {\n withFileTypes\n } = {}) {\n if (withFileTypes) {\n return this.realFs.readdirSync(path_1.npath.fromPortablePath(p), {\n withFileTypes: true\n });\n } else {\n return this.realFs.readdirSync(path_1.npath.fromPortablePath(p));\n }\n }\n\n async readlinkPromise(p) {\n return await new Promise((resolve, reject) => {\n this.realFs.readlink(path_1.npath.fromPortablePath(p), this.makeCallback(resolve, reject));\n }).then(path => {\n return path_1.npath.toPortablePath(path);\n });\n }\n\n readlinkSync(p) {\n return path_1.npath.toPortablePath(this.realFs.readlinkSync(path_1.npath.fromPortablePath(p)));\n }\n\n watch(p, a, b) {\n return this.realFs.watch(path_1.npath.fromPortablePath(p), // @ts-ignore\n a, b);\n }\n\n makeCallback(resolve, reject) {\n return (err, result) => {\n if (err) {\n reject(err);\n } else {\n resolve(result);\n }\n };\n }\n\n}\n\nexports.NodeFS = NodeFS;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\nmodule.exports = require("fs");\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nconst os_1 = __webpack_require__(9);\n\nconst copyPromise_1 = __webpack_require__(13);\n\nconst path_1 = __webpack_require__(0);\n\nconst path_2 = __webpack_require__(0);\n\nclass FakeFS {\n constructor(pathUtils) {\n this.pathUtils = pathUtils;\n }\n\n async removePromise(p) {\n let stat;\n\n try {\n stat = await this.lstatPromise(p);\n } catch (error) {\n if (error.code === `ENOENT`) {\n return;\n } else {\n throw error;\n }\n }\n\n if (stat.isDirectory()) {\n for (const entry of await this.readdirPromise(p)) await this.removePromise(this.pathUtils.resolve(p, entry)); // 5 gives 1s worth of retries at worst\n\n\n for (let t = 0; t < 5; ++t) {\n try {\n await this.rmdirPromise(p);\n break;\n } catch (error) {\n if (error.code === `EBUSY` || error.code === `ENOTEMPTY`) {\n await new Promise(resolve => setTimeout(resolve, t * 100));\n continue;\n } else {\n throw error;\n }\n }\n }\n } else {\n await this.unlinkPromise(p);\n }\n }\n\n removeSync(p) {\n let stat;\n\n try {\n stat = this.lstatSync(p);\n } catch (error) {\n if (error.code === `ENOENT`) {\n return;\n } else {\n throw error;\n }\n }\n\n if (stat.isDirectory()) {\n for (const entry of this.readdirSync(p)) this.removeSync(this.pathUtils.resolve(p, entry));\n\n this.rmdirSync(p);\n } else {\n this.unlinkSync(p);\n }\n }\n\n async mkdirpPromise(p, {\n chmod,\n utimes\n } = {}) {\n p = this.resolve(p);\n if (p === this.pathUtils.dirname(p)) return;\n const parts = p.split(this.pathUtils.sep);\n\n for (let u = 2; u <= parts.length; ++u) {\n const subPath = parts.slice(0, u).join(this.pathUtils.sep);\n\n if (!this.existsSync(subPath)) {\n try {\n await this.mkdirPromise(subPath);\n } catch (error) {\n if (error.code === `EEXIST`) {\n continue;\n } else {\n throw error;\n }\n }\n\n if (chmod != null) await this.chmodPromise(subPath, chmod);\n\n if (utimes != null) {\n await this.utimesPromise(subPath, utimes[0], utimes[1]);\n } else {\n const parentStat = await this.statPromise(this.pathUtils.dirname(subPath));\n await this.utimesPromise(subPath, parentStat.atime, parentStat.mtime);\n }\n }\n }\n }\n\n mkdirpSync(p, {\n chmod,\n utimes\n } = {}) {\n p = this.resolve(p);\n if (p === this.pathUtils.dirname(p)) return;\n const parts = p.split(this.pathUtils.sep);\n\n for (let u = 2; u <= parts.length; ++u) {\n const subPath = parts.slice(0, u).join(this.pathUtils.sep);\n\n if (!this.existsSync(subPath)) {\n try {\n this.mkdirSync(subPath);\n } catch (error) {\n if (error.code === `EEXIST`) {\n continue;\n } else {\n throw error;\n }\n }\n\n if (chmod != null) this.chmodSync(subPath, chmod);\n\n if (utimes != null) {\n this.utimesSync(subPath, utimes[0], utimes[1]);\n } else {\n const parentStat = this.statSync(this.pathUtils.dirname(subPath));\n this.utimesSync(subPath, parentStat.atime, parentStat.mtime);\n }\n }\n }\n }\n\n async copyPromise(destination, source, {\n baseFs = this,\n overwrite = true\n } = {}) {\n return await copyPromise_1.copyPromise(this, destination, baseFs, source, {\n overwrite\n });\n }\n\n copySync(destination, source, {\n baseFs = this,\n overwrite = true\n } = {}) {\n const stat = baseFs.lstatSync(source);\n const exists = this.existsSync(destination);\n\n if (stat.isDirectory()) {\n this.mkdirpSync(destination);\n const directoryListing = baseFs.readdirSync(source);\n\n for (const entry of directoryListing) {\n this.copySync(this.pathUtils.join(destination, entry), baseFs.pathUtils.join(source, entry), {\n baseFs,\n overwrite\n });\n }\n } else if (stat.isFile()) {\n if (!exists || overwrite) {\n if (exists) this.removeSync(destination);\n const content = baseFs.readFileSync(source);\n this.writeFileSync(destination, content);\n }\n } else if (stat.isSymbolicLink()) {\n if (!exists || overwrite) {\n if (exists) this.removeSync(destination);\n const target = baseFs.readlinkSync(source);\n this.symlinkSync(path_2.convertPath(this.pathUtils, target), destination);\n }\n } else {\n throw new Error(`Unsupported file type (file: ${source}, mode: 0o${stat.mode.toString(8).padStart(6, `0`)})`);\n }\n\n const mode = stat.mode & 0o777;\n this.chmodSync(destination, mode);\n }\n\n async changeFilePromise(p, content, {\n automaticNewlines\n } = {}) {\n let current = \'\';\n\n try {\n current = await this.readFilePromise(p, `utf8`);\n } catch (error) {// ignore errors, no big deal\n }\n\n const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content;\n if (current === normalizedContent) return;\n await this.writeFilePromise(p, normalizedContent);\n }\n\n changeFileSync(p, content, {\n automaticNewlines = false\n } = {}) {\n let current = \'\';\n\n try {\n current = this.readFileSync(p, `utf8`);\n } catch (error) {// ignore errors, no big deal\n }\n\n const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content;\n if (current === normalizedContent) return;\n this.writeFileSync(p, normalizedContent);\n }\n\n async movePromise(fromP, toP) {\n try {\n await this.renamePromise(fromP, toP);\n } catch (error) {\n if (error.code === `EXDEV`) {\n await this.copyPromise(toP, fromP);\n await this.removePromise(fromP);\n } else {\n throw error;\n }\n }\n }\n\n moveSync(fromP, toP) {\n try {\n this.renameSync(fromP, toP);\n } catch (error) {\n if (error.code === `EXDEV`) {\n this.copySync(toP, fromP);\n this.removeSync(fromP);\n } else {\n throw error;\n }\n }\n }\n\n async lockPromise(affectedPath, callback) {\n const lockPath = `${affectedPath}.flock`;\n const interval = 1000 / 60;\n const startTime = Date.now();\n let fd = null; // Even when we detect that a lock file exists, we still look inside to see\n // whether the pid that created it is still alive. It\'s not foolproof\n // (there are false positive), but there are no false negative and that\'s\n // all that matters in 99% of the cases.\n\n const isAlive = async () => {\n let pid;\n\n try {\n [pid] = await this.readJsonPromise(lockPath);\n } catch (error) {\n // If we can\'t read the file repeatedly, we assume the process was\n // aborted before even writing finishing writing the payload.\n return Date.now() - startTime < 500;\n }\n\n try {\n // "As a special case, a signal of 0 can be used to test for the\n // existence of a process" - so we check whether it\'s alive.\n process.kill(pid, 0);\n return true;\n } catch (error) {\n return false;\n }\n };\n\n while (fd === null) {\n try {\n fd = await this.openPromise(lockPath, `wx`);\n } catch (error) {\n if (error.code === `EEXIST`) {\n if (!(await isAlive())) {\n try {\n await this.unlinkPromise(lockPath);\n continue;\n } catch (error) {// No big deal if we can\'t remove it. Just fallback to wait for\n // it to be eventually released by its owner.\n }\n }\n\n if (Date.now() - startTime < 60 * 1000) {\n await new Promise(resolve => setTimeout(resolve, interval));\n } else {\n throw new Error(`Couldn\'t acquire a lock in a reasonable time (via ${lockPath})`);\n }\n } else {\n throw error;\n }\n }\n }\n\n await this.writePromise(fd, JSON.stringify([process.pid]));\n\n try {\n return await callback();\n } finally {\n await this.closePromise(fd);\n await this.unlinkPromise(lockPath);\n }\n }\n\n async readJsonPromise(p) {\n const content = await this.readFilePromise(p, `utf8`);\n\n try {\n return JSON.parse(content);\n } catch (error) {\n error.message += ` (in ${p})`;\n throw error;\n }\n }\n\n async readJsonSync(p) {\n const content = this.readFileSync(p, `utf8`);\n\n try {\n return JSON.parse(content);\n } catch (error) {\n error.message += ` (in ${p})`;\n throw error;\n }\n }\n\n async writeJsonPromise(p, data) {\n return await this.writeFilePromise(p, `${JSON.stringify(data, null, 2)}\\n`);\n }\n\n writeJsonSync(p, data) {\n return this.writeFileSync(p, `${JSON.stringify(data, null, 2)}\\n`);\n }\n\n async preserveTimePromise(p, cb) {\n const stat = await this.lstatPromise(p);\n const result = await cb();\n if (typeof result !== `undefined`) p = result;\n\n if (this.lutimesPromise) {\n await this.lutimesPromise(p, stat.atime, stat.mtime);\n } else if (!stat.isSymbolicLink()) {\n await this.utimesPromise(p, stat.atime, stat.mtime);\n }\n }\n\n async preserveTimeSync(p, cb) {\n const stat = this.lstatSync(p);\n const result = cb();\n if (typeof result !== `undefined`) p = result;\n\n if (this.lutimesSync) {\n this.lutimesSync(p, stat.atime, stat.mtime);\n } else if (!stat.isSymbolicLink()) {\n this.utimesSync(p, stat.atime, stat.mtime);\n }\n }\n\n}\n\nexports.FakeFS = FakeFS;\nFakeFS.DEFAULT_TIME = 315532800;\n;\n\nclass BasePortableFakeFS extends FakeFS {\n constructor() {\n super(path_2.ppath);\n }\n\n resolve(p) {\n return this.pathUtils.resolve(path_1.PortablePath.root, p);\n }\n\n}\n\nexports.BasePortableFakeFS = BasePortableFakeFS;\n\nfunction getEndOfLine(content) {\n const matches = content.match(/\\r?\\n/g);\n if (matches === null) return os_1.EOL;\n const crlf = matches.filter(nl => nl === `\\r\\n`).length;\n const lf = matches.length - crlf;\n return crlf > lf ? `\\r\\n` : `\\n`;\n}\n\nfunction normalizeLineEndings(originalContent, newContent) {\n return newContent.replace(/\\r?\\n/g, getEndOfLine(originalContent));\n}\n\nexports.normalizeLineEndings = normalizeLineEndings;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nconst FakeFS_1 = __webpack_require__(3);\n\nclass ProxiedFS extends FakeFS_1.FakeFS {\n getExtractHint(hints) {\n return this.baseFs.getExtractHint(hints);\n }\n\n resolve(path) {\n return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path)));\n }\n\n getRealPath() {\n return this.mapFromBase(this.baseFs.getRealPath());\n }\n\n openPromise(p, flags, mode) {\n return this.baseFs.openPromise(this.mapToBase(p), flags, mode);\n }\n\n openSync(p, flags, mode) {\n return this.baseFs.openSync(this.mapToBase(p), flags, mode);\n }\n\n async readPromise(fd, buffer, offset, length, position) {\n return await this.baseFs.readPromise(fd, buffer, offset, length, position);\n }\n\n readSync(fd, buffer, offset, length, position) {\n return this.baseFs.readSync(fd, buffer, offset, length, position);\n }\n\n async writePromise(fd, buffer, offset, length, position) {\n if (typeof buffer === `string`) {\n return await this.baseFs.writePromise(fd, buffer, offset);\n } else {\n return await this.baseFs.writePromise(fd, buffer, offset, length, position);\n }\n }\n\n writeSync(fd, buffer, offset, length, position) {\n if (typeof buffer === `string`) {\n return this.baseFs.writeSync(fd, buffer, offset);\n } else {\n return this.baseFs.writeSync(fd, buffer, offset, length, position);\n }\n }\n\n closePromise(fd) {\n return this.baseFs.closePromise(fd);\n }\n\n closeSync(fd) {\n this.baseFs.closeSync(fd);\n }\n\n createReadStream(p, opts) {\n return this.baseFs.createReadStream(p !== null ? this.mapToBase(p) : p, opts);\n }\n\n createWriteStream(p, opts) {\n return this.baseFs.createWriteStream(p !== null ? this.mapToBase(p) : p, opts);\n }\n\n async realpathPromise(p) {\n return this.mapFromBase((await this.baseFs.realpathPromise(this.mapToBase(p))));\n }\n\n realpathSync(p) {\n return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(p)));\n }\n\n existsPromise(p) {\n return this.baseFs.existsPromise(this.mapToBase(p));\n }\n\n existsSync(p) {\n return this.baseFs.existsSync(this.mapToBase(p));\n }\n\n accessSync(p, mode) {\n return this.baseFs.accessSync(this.mapToBase(p), mode);\n }\n\n accessPromise(p, mode) {\n return this.baseFs.accessPromise(this.mapToBase(p), mode);\n }\n\n statPromise(p) {\n return this.baseFs.statPromise(this.mapToBase(p));\n }\n\n statSync(p) {\n return this.baseFs.statSync(this.mapToBase(p));\n }\n\n lstatPromise(p) {\n return this.baseFs.lstatPromise(this.mapToBase(p));\n }\n\n lstatSync(p) {\n return this.baseFs.lstatSync(this.mapToBase(p));\n }\n\n chmodPromise(p, mask) {\n return this.baseFs.chmodPromise(this.mapToBase(p), mask);\n }\n\n chmodSync(p, mask) {\n return this.baseFs.chmodSync(this.mapToBase(p), mask);\n }\n\n renamePromise(oldP, newP) {\n return this.baseFs.renamePromise(this.mapToBase(oldP), this.mapToBase(newP));\n }\n\n renameSync(oldP, newP) {\n return this.baseFs.renameSync(this.mapToBase(oldP), this.mapToBase(newP));\n }\n\n copyFilePromise(sourceP, destP, flags = 0) {\n return this.baseFs.copyFilePromise(this.mapToBase(sourceP), this.mapToBase(destP), flags);\n }\n\n copyFileSync(sourceP, destP, flags = 0) {\n return this.baseFs.copyFileSync(this.mapToBase(sourceP), this.mapToBase(destP), flags);\n }\n\n appendFilePromise(p, content, opts) {\n return this.baseFs.appendFilePromise(this.fsMapToBase(p), content, opts);\n }\n\n appendFileSync(p, content, opts) {\n return this.baseFs.appendFileSync(this.fsMapToBase(p), content, opts);\n }\n\n writeFilePromise(p, content, opts) {\n return this.baseFs.writeFilePromise(this.fsMapToBase(p), content, opts);\n }\n\n writeFileSync(p, content, opts) {\n return this.baseFs.writeFileSync(this.fsMapToBase(p), content, opts);\n }\n\n unlinkPromise(p) {\n return this.baseFs.unlinkPromise(this.mapToBase(p));\n }\n\n unlinkSync(p) {\n return this.baseFs.unlinkSync(this.mapToBase(p));\n }\n\n utimesPromise(p, atime, mtime) {\n return this.baseFs.utimesPromise(this.mapToBase(p), atime, mtime);\n }\n\n utimesSync(p, atime, mtime) {\n return this.baseFs.utimesSync(this.mapToBase(p), atime, mtime);\n }\n\n mkdirPromise(p, opts) {\n return this.baseFs.mkdirPromise(this.mapToBase(p), opts);\n }\n\n mkdirSync(p, opts) {\n return this.baseFs.mkdirSync(this.mapToBase(p), opts);\n }\n\n rmdirPromise(p) {\n return this.baseFs.rmdirPromise(this.mapToBase(p));\n }\n\n rmdirSync(p) {\n return this.baseFs.rmdirSync(this.mapToBase(p));\n }\n\n symlinkPromise(target, p, type) {\n return this.baseFs.symlinkPromise(this.mapToBase(target), this.mapToBase(p), type);\n }\n\n symlinkSync(target, p, type) {\n return this.baseFs.symlinkSync(this.mapToBase(target), this.mapToBase(p), type);\n }\n\n readFilePromise(p, encoding) {\n // This weird condition is required to tell TypeScript that the signatures are proper (otherwise it thinks that only the generic one is covered)\n if (encoding === \'utf8\') {\n return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding);\n } else {\n return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding);\n }\n }\n\n readFileSync(p, encoding) {\n // This weird condition is required to tell TypeScript that the signatures are proper (otherwise it thinks that only the generic one is covered)\n if (encoding === \'utf8\') {\n return this.baseFs.readFileSync(this.fsMapToBase(p), encoding);\n } else {\n return this.baseFs.readFileSync(this.fsMapToBase(p), encoding);\n }\n }\n\n async readdirPromise(p, {\n withFileTypes\n } = {}) {\n return this.baseFs.readdirPromise(this.mapToBase(p), {\n withFileTypes: withFileTypes\n });\n }\n\n readdirSync(p, {\n withFileTypes\n } = {}) {\n return this.baseFs.readdirSync(this.mapToBase(p), {\n withFileTypes: withFileTypes\n });\n }\n\n async readlinkPromise(p) {\n return this.mapFromBase((await this.baseFs.readlinkPromise(this.mapToBase(p))));\n }\n\n readlinkSync(p) {\n return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(p)));\n }\n\n watch(p, a, b) {\n return this.baseFs.watch(this.mapToBase(p), // @ts-ignore\n a, b);\n }\n\n fsMapToBase(p) {\n if (typeof p === `number`) {\n return p;\n } else {\n return this.mapToBase(p);\n }\n }\n\n}\n\nexports.ProxiedFS = ProxiedFS;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n "default": mod\n };\n};\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nconst os_1 = __importDefault(__webpack_require__(9));\n\nconst util_1 = __webpack_require__(10);\n\nconst NodeFS_1 = __webpack_require__(1);\n\nconst path_1 = __webpack_require__(0);\n\nvar FakeFS_1 = __webpack_require__(3);\n\nexports.normalizeLineEndings = FakeFS_1.normalizeLineEndings;\n\nvar ZipFS_1 = __webpack_require__(8);\n\nexports.DEFAULT_COMPRESSION_LEVEL = ZipFS_1.DEFAULT_COMPRESSION_LEVEL;\n\nvar path_2 = __webpack_require__(0);\n\nexports.PortablePath = path_2.PortablePath;\nexports.Filename = path_2.Filename;\n\nvar path_3 = __webpack_require__(0);\n\nexports.npath = path_3.npath;\nexports.ppath = path_3.ppath;\nexports.toFilename = path_3.toFilename;\n\nvar AliasFS_1 = __webpack_require__(16);\n\nexports.AliasFS = AliasFS_1.AliasFS;\n\nvar FakeFS_2 = __webpack_require__(3);\n\nexports.FakeFS = FakeFS_2.FakeFS;\n\nvar CwdFS_1 = __webpack_require__(17);\n\nexports.CwdFS = CwdFS_1.CwdFS;\n\nvar JailFS_1 = __webpack_require__(18);\n\nexports.JailFS = JailFS_1.JailFS;\n\nvar LazyFS_1 = __webpack_require__(19);\n\nexports.LazyFS = LazyFS_1.LazyFS;\n\nvar NoFS_1 = __webpack_require__(20);\n\nexports.NoFS = NoFS_1.NoFS;\n\nvar NodeFS_2 = __webpack_require__(1);\n\nexports.NodeFS = NodeFS_2.NodeFS;\n\nvar PosixFS_1 = __webpack_require__(21);\n\nexports.PosixFS = PosixFS_1.PosixFS;\n\nvar ProxiedFS_1 = __webpack_require__(4);\n\nexports.ProxiedFS = ProxiedFS_1.ProxiedFS;\n\nvar VirtualFS_1 = __webpack_require__(22);\n\nexports.VirtualFS = VirtualFS_1.VirtualFS;\n\nvar ZipFS_2 = __webpack_require__(8);\n\nexports.ZipFS = ZipFS_2.ZipFS;\n\nvar ZipOpenFS_1 = __webpack_require__(23);\n\nexports.ZipOpenFS = ZipOpenFS_1.ZipOpenFS;\n\nfunction getTempName(prefix) {\n const tmpdir = path_1.npath.toPortablePath(os_1.default.tmpdir());\n const hash = Math.ceil(Math.random() * 0x100000000).toString(16).padStart(8, `0`);\n return path_1.ppath.join(tmpdir, `${prefix}${hash}`);\n}\n\nfunction patchFs(patchedFs, fakeFs) {\n const SYNC_IMPLEMENTATIONS = new Set([`accessSync`, `appendFileSync`, `createReadStream`, `chmodSync`, `closeSync`, `copyFileSync`, `lstatSync`, `mkdirSync`, `openSync`, `readSync`, `readlinkSync`, `readFileSync`, `readdirSync`, `readlinkSync`, `realpathSync`, `renameSync`, `rmdirSync`, `statSync`, `symlinkSync`, `unlinkSync`, `utimesSync`, `watch`, `writeFileSync`, `writeSync`]);\n const ASYNC_IMPLEMENTATIONS = new Set([`accessPromise`, `appendFilePromise`, `chmodPromise`, `closePromise`, `copyFilePromise`, `lstatPromise`, `mkdirPromise`, `openPromise`, `readdirPromise`, `realpathPromise`, `readFilePromise`, `readdirPromise`, `readlinkPromise`, `renamePromise`, `rmdirPromise`, `statPromise`, `symlinkPromise`, `unlinkPromise`, `utimesPromise`, `writeFilePromise`, `writeSync`]);\n\n const setupFn = (target, name, replacement) => {\n const orig = target[name];\n if (typeof orig === `undefined`) return;\n target[name] = replacement;\n\n if (typeof orig[util_1.promisify.custom] !== `undefined`) {\n replacement[util_1.promisify.custom] = orig[util_1.promisify.custom];\n }\n };\n\n setupFn(patchedFs, `existsSync`, p => {\n try {\n return fakeFs.existsSync(p);\n } catch (error) {\n return false;\n }\n });\n setupFn(patchedFs, `exists`, (p, ...args) => {\n const hasCallback = typeof args[args.length - 1] === `function`;\n const callback = hasCallback ? args.pop() : () => {};\n process.nextTick(() => {\n fakeFs.existsPromise(p).then(exists => {\n callback(exists);\n }, () => {\n callback(false);\n });\n });\n });\n setupFn(patchedFs, `read`, (p, buffer, ...args) => {\n const hasCallback = typeof args[args.length - 1] === `function`;\n const callback = hasCallback ? args.pop() : () => {};\n process.nextTick(() => {\n fakeFs.readPromise(p, buffer, ...args).then(bytesRead => {\n callback(null, bytesRead, buffer);\n }, error => {\n callback(error);\n });\n });\n });\n\n for (const fnName of ASYNC_IMPLEMENTATIONS) {\n const fakeImpl = fakeFs[fnName].bind(fakeFs);\n const origName = fnName.replace(/Promise$/, ``);\n setupFn(patchedFs, origName, (...args) => {\n const hasCallback = typeof args[args.length - 1] === `function`;\n const callback = hasCallback ? args.pop() : () => {};\n process.nextTick(() => {\n fakeImpl(...args).then(result => {\n callback(null, result);\n }, error => {\n callback(error);\n });\n });\n });\n }\n\n for (const fnName of SYNC_IMPLEMENTATIONS) {\n const fakeImpl = fakeFs[fnName].bind(fakeFs);\n const origName = fnName;\n setupFn(patchedFs, origName, fakeImpl);\n }\n\n patchedFs.realpathSync.native = patchedFs.realpathSync;\n patchedFs.realpath.native = patchedFs.realpath;\n}\n\nexports.patchFs = patchFs;\n\nfunction extendFs(realFs, fakeFs) {\n const patchedFs = Object.create(realFs);\n patchFs(patchedFs, fakeFs);\n return patchedFs;\n}\n\nexports.extendFs = extendFs;\nconst tmpdirs = new Set();\nlet cleanExitRegistered = false;\n\nfunction registerCleanExit() {\n if (!cleanExitRegistered) cleanExitRegistered = true;else return;\n\n const cleanExit = () => {\n process.off(`exit`, cleanExit);\n\n for (const p of tmpdirs) {\n tmpdirs.delete(p);\n\n try {\n exports.xfs.removeSync(p);\n } catch (_a) {// Too bad if there\'s an error\n }\n }\n };\n\n process.on(`exit`, cleanExit);\n}\n\nexports.xfs = Object.assign(new NodeFS_1.NodeFS(), {\n detachTemp(p) {\n tmpdirs.delete(p);\n },\n\n mktempSync(cb) {\n registerCleanExit();\n\n while (true) {\n const p = getTempName(`xfs-`);\n\n try {\n this.mkdirSync(p);\n } catch (error) {\n if (error.code === `EEXIST`) {\n continue;\n } else {\n throw error;\n }\n }\n\n const realP = this.realpathSync(p);\n tmpdirs.add(realP);\n\n if (typeof cb !== `undefined`) {\n try {\n return cb(realP);\n } finally {\n if (tmpdirs.has(realP)) {\n tmpdirs.delete(realP);\n\n try {\n this.removeSync(realP);\n } catch (_a) {// Too bad if there\'s an error\n }\n }\n }\n } else {\n return p;\n }\n }\n },\n\n async mktempPromise(cb) {\n registerCleanExit();\n\n while (true) {\n const p = getTempName(`xfs-`);\n\n try {\n await this.mkdirPromise(p);\n } catch (error) {\n if (error.code === `EEXIST`) {\n continue;\n } else {\n throw error;\n }\n }\n\n const realP = await this.realpathPromise(p);\n tmpdirs.add(realP);\n\n if (typeof cb !== `undefined`) {\n try {\n return await cb(realP);\n } finally {\n if (tmpdirs.has(realP)) {\n tmpdirs.delete(realP);\n\n try {\n await this.removePromise(realP);\n } catch (_a) {// Too bad if there\'s an error\n }\n }\n }\n } else {\n return realP;\n }\n }\n }\n\n});\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports) {\n\nmodule.exports = require("module");\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports) {\n\nmodule.exports = require("path");\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\n\nvar __importStar = this && this.__importStar || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n result["default"] = mod;\n return result;\n};\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nconst fs_1 = __webpack_require__(2);\n\nconst stream_1 = __webpack_require__(14);\n\nconst util_1 = __webpack_require__(10);\n\nconst FakeFS_1 = __webpack_require__(3);\n\nconst NodeFS_1 = __webpack_require__(1);\n\nconst errors = __importStar(__webpack_require__(15));\n\nconst path_1 = __webpack_require__(0);\n\nexports.DEFAULT_COMPRESSION_LEVEL = `mixed`;\nconst S_IFMT = 0o170000;\nconst S_IFDIR = 0o040000;\nconst S_IFREG = 0o100000;\nconst S_IFLNK = 0o120000;\n\nclass DirEntry {\n constructor() {\n this.name = ``;\n this.mode = 0;\n }\n\n isBlockDevice() {\n return false;\n }\n\n isCharacterDevice() {\n return false;\n }\n\n isDirectory() {\n return (this.mode & S_IFMT) === S_IFDIR;\n }\n\n isFIFO() {\n return false;\n }\n\n isFile() {\n return (this.mode & S_IFMT) === S_IFREG;\n }\n\n isSocket() {\n return false;\n }\n\n isSymbolicLink() {\n return (this.mode & S_IFMT) === S_IFLNK;\n }\n\n}\n\nclass StatEntry {\n constructor() {\n this.dev = 0;\n this.ino = 0;\n this.mode = 0;\n this.nlink = 1;\n this.rdev = 0;\n this.blocks = 1;\n }\n\n isBlockDevice() {\n return false;\n }\n\n isCharacterDevice() {\n return false;\n }\n\n isDirectory() {\n return (this.mode & S_IFMT) === S_IFDIR;\n }\n\n isFIFO() {\n return false;\n }\n\n isFile() {\n return (this.mode & S_IFMT) === S_IFREG;\n }\n\n isSocket() {\n return false;\n }\n\n isSymbolicLink() {\n return (this.mode & S_IFMT) === S_IFLNK;\n }\n\n}\n\nfunction makeDefaultStats() {\n return Object.assign(new StatEntry(), {\n uid: 0,\n gid: 0,\n size: 0,\n blksize: 0,\n atimeMs: 0,\n mtimeMs: 0,\n ctimeMs: 0,\n birthtimeMs: 0,\n atime: new Date(0),\n mtime: new Date(0),\n ctime: new Date(0),\n birthtime: new Date(0),\n mode: S_IFREG | 0o644\n });\n}\n\nfunction toUnixTimestamp(time) {\n if (typeof time === \'string\' && String(+time) === time) return +time; // @ts-ignore\n\n if (Number.isFinite(time)) {\n if (time < 0) {\n return Date.now() / 1000;\n } else {\n return time;\n }\n } // convert to 123.456 UNIX timestamp\n\n\n if (util_1.isDate(time)) return time.getTime() / 1000;\n throw new Error(`Invalid time`);\n}\n\nclass ZipFS extends FakeFS_1.BasePortableFakeFS {\n constructor(source, opts) {\n super();\n this.listings = new Map();\n this.entries = new Map();\n this.fds = new Map();\n this.nextFd = 0;\n this.ready = false;\n this.readOnly = false;\n this.libzip = opts.libzip;\n const pathOptions = opts;\n this.level = typeof pathOptions.level !== \'undefined\' ? pathOptions.level : exports.DEFAULT_COMPRESSION_LEVEL;\n\n if (typeof source === `string`) {\n const {\n baseFs = new NodeFS_1.NodeFS()\n } = pathOptions;\n this.baseFs = baseFs;\n this.path = source;\n } else {\n this.path = null;\n this.baseFs = null;\n }\n\n if (opts.stats) {\n this.stats = opts.stats;\n } else {\n if (typeof source === `string`) {\n try {\n this.stats = this.baseFs.statSync(source);\n } catch (error) {\n if (error.code === `ENOENT` && pathOptions.create) {\n this.stats = makeDefaultStats();\n } else {\n throw error;\n }\n }\n } else {\n this.stats = makeDefaultStats();\n }\n }\n\n const errPtr = this.libzip.malloc(4);\n\n try {\n let flags = 0;\n if (typeof source === `string` && pathOptions.create) flags |= this.libzip.ZIP_CREATE | this.libzip.ZIP_TRUNCATE;\n\n if (opts.readOnly) {\n flags |= this.libzip.ZIP_RDONLY;\n this.readOnly = true;\n }\n\n if (typeof source === `string`) {\n this.zip = this.libzip.open(path_1.npath.fromPortablePath(source), flags, errPtr);\n } else {\n const lzSource = this.allocateUnattachedSource(source);\n\n try {\n this.zip = this.libzip.openFromSource(lzSource, flags, errPtr);\n } catch (error) {\n this.libzip.source.free(lzSource);\n throw error;\n }\n }\n\n if (this.zip === 0) {\n const error = this.libzip.struct.errorS();\n this.libzip.error.initWithCode(error, this.libzip.getValue(errPtr, `i32`));\n throw new Error(this.libzip.error.strerror(error));\n }\n } finally {\n this.libzip.free(errPtr);\n }\n\n this.listings.set(path_1.PortablePath.root, new Set());\n const entryCount = this.libzip.getNumEntries(this.zip, 0);\n\n for (let t = 0; t < entryCount; ++t) {\n const raw = this.libzip.getName(this.zip, t, 0);\n if (path_1.ppath.isAbsolute(raw)) continue;\n const p = path_1.ppath.resolve(path_1.PortablePath.root, raw);\n this.registerEntry(p, t); // If the raw path is a directory, register it\n // to prevent empty folder being skipped\n\n if (raw.endsWith(\'/\')) {\n this.registerListing(p);\n }\n }\n\n this.ready = true;\n }\n\n getExtractHint(hints) {\n for (const fileName of this.entries.keys()) {\n const ext = this.pathUtils.extname(fileName);\n\n if (hints.relevantExtensions.has(ext)) {\n return true;\n }\n }\n\n return false;\n }\n\n getAllFiles() {\n return Array.from(this.entries.keys());\n }\n\n getRealPath() {\n if (!this.path) throw new Error(`ZipFS don\'t have real paths when loaded from a buffer`);\n return this.path;\n }\n\n saveAndClose() {\n if (!this.path || !this.baseFs) throw new Error(`ZipFS cannot be saved and must be discarded when loaded from a buffer`);\n if (!this.ready) throw errors.EBUSY(`archive closed, close`);\n if (this.readOnly) return this.discardAndClose();\n const previousMod = this.baseFs.existsSync(this.path) ? this.baseFs.statSync(this.path).mode & 0o777 : null;\n const rc = this.libzip.close(this.zip);\n if (rc === -1) throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip))); // this.libzip overrides the chmod when writing the archive, which is a weird\n // behavior I don\'t totally understand (plus the umask seems bogus in some\n // weird cases - maybe related to emscripten?)\n //\n // See also https://github.com/nih-at/libzip/issues/77\n\n if (previousMod === null) this.baseFs.chmodSync(this.path, this.stats.mode);else if (previousMod !== (this.baseFs.statSync(this.path).mode & 0o777)) this.baseFs.chmodSync(this.path, previousMod);\n this.ready = false;\n }\n\n discardAndClose() {\n if (!this.ready) throw errors.EBUSY(`archive closed, close`);\n this.libzip.discard(this.zip);\n this.ready = false;\n }\n\n async openPromise(p, flags, mode) {\n return this.openSync(p, flags, mode);\n }\n\n openSync(p, flags, mode) {\n const fd = this.nextFd++;\n this.fds.set(fd, {\n cursor: 0,\n p\n });\n return fd;\n }\n\n async readPromise(fd, buffer, offset, length, position) {\n return this.readSync(fd, buffer, offset, length, position);\n }\n\n readSync(fd, buffer, offset = 0, length = 0, position = -1) {\n const entry = this.fds.get(fd);\n if (typeof entry === `undefined`) throw errors.EBADF(`read`);\n let realPosition;\n if (position === -1 || position === null) realPosition = entry.cursor;else realPosition = position;\n const source = this.readFileSync(entry.p);\n source.copy(buffer, offset, realPosition, realPosition + length);\n const bytesRead = Math.max(0, Math.min(source.length - realPosition, length));\n if (position === -1) entry.cursor += bytesRead;\n return bytesRead;\n }\n\n async writePromise(fd, buffer, offset, length, position) {\n if (typeof buffer === `string`) {\n return this.writeSync(fd, buffer, position);\n } else {\n return this.writeSync(fd, buffer, offset, length, position);\n }\n }\n\n writeSync(fd, buffer, offset, length, position) {\n const entry = this.fds.get(fd);\n if (typeof entry === `undefined`) throw errors.EBADF(`read`);\n throw new Error(`Unimplemented`);\n }\n\n async closePromise(fd) {\n return this.closeSync(fd);\n }\n\n closeSync(fd) {\n const entry = this.fds.get(fd);\n if (typeof entry === `undefined`) throw errors.EBADF(`read`);\n this.fds.delete(fd);\n }\n\n createReadStream(p, {\n encoding\n } = {}) {\n if (p === null) throw new Error(`Unimplemented`);\n const stream = Object.assign(new stream_1.PassThrough(), {\n bytesRead: 0,\n path: p,\n close: () => {\n clearImmediate(immediate);\n }\n });\n const immediate = setImmediate(() => {\n try {\n const data = this.readFileSync(p, encoding);\n stream.bytesRead = data.length;\n stream.write(data);\n stream.end();\n } catch (error) {\n stream.emit(`error`, error);\n stream.end();\n }\n });\n return stream;\n }\n\n createWriteStream(p, {\n encoding\n } = {}) {\n if (this.readOnly) throw errors.EROFS(`open \'${p}\'`);\n if (p === null) throw new Error(`Unimplemented`);\n const stream = Object.assign(new stream_1.PassThrough(), {\n bytesWritten: 0,\n path: p,\n close: () => {\n stream.end();\n }\n });\n const chunks = [];\n stream.on(`data`, chunk => {\n const chunkBuffer = Buffer.from(chunk);\n stream.bytesWritten += chunkBuffer.length;\n chunks.push(chunkBuffer);\n });\n stream.on(`end`, () => {\n this.writeFileSync(p, Buffer.concat(chunks), encoding);\n });\n return stream;\n }\n\n async realpathPromise(p) {\n return this.realpathSync(p);\n }\n\n realpathSync(p) {\n const resolvedP = this.resolveFilename(`lstat \'${p}\'`, p);\n if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw errors.ENOENT(`lstat \'${p}\'`);\n return resolvedP;\n }\n\n async existsPromise(p) {\n return this.existsSync(p);\n }\n\n existsSync(p) {\n let resolvedP;\n\n try {\n resolvedP = this.resolveFilename(`stat \'${p}\'`, p);\n } catch (error) {\n return false;\n }\n\n return this.entries.has(resolvedP) || this.listings.has(resolvedP);\n }\n\n async accessPromise(p, mode) {\n return this.accessSync(p, mode);\n }\n\n accessSync(p, mode = fs_1.constants.F_OK) {\n const resolvedP = this.resolveFilename(`access \'${p}\'`, p);\n if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw errors.ENOENT(`access \'${p}\'`);\n\n if (this.readOnly && mode & fs_1.constants.W_OK) {\n throw errors.EROFS(`access \'${p}\'`);\n }\n }\n\n async statPromise(p) {\n return this.statSync(p);\n }\n\n statSync(p) {\n const resolvedP = this.resolveFilename(`stat \'${p}\'`, p);\n if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw errors.ENOENT(`stat \'${p}\'`);\n if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) throw errors.ENOTDIR(`stat \'${p}\'`);\n return this.statImpl(`stat \'${p}\'`, resolvedP);\n }\n\n async lstatPromise(p) {\n return this.lstatSync(p);\n }\n\n lstatSync(p) {\n const resolvedP = this.resolveFilename(`lstat \'${p}\'`, p, false);\n if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw errors.ENOENT(`lstat \'${p}\'`);\n if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) throw errors.ENOTDIR(`lstat \'${p}\'`);\n return this.statImpl(`lstat \'${p}\'`, resolvedP);\n }\n\n statImpl(reason, p) {\n const entry = this.entries.get(p); // File, or explicit directory\n\n if (typeof entry !== `undefined`) {\n const stat = this.libzip.struct.statS();\n const rc = this.libzip.statIndex(this.zip, entry, 0, 0, stat);\n if (rc === -1) throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip)));\n const uid = this.stats.uid;\n const gid = this.stats.gid;\n const size = this.libzip.struct.statSize(stat) >>> 0;\n const blksize = 512;\n const blocks = Math.ceil(size / blksize);\n const mtimeMs = (this.libzip.struct.statMtime(stat) >>> 0) * 1000;\n const atimeMs = mtimeMs;\n const birthtimeMs = mtimeMs;\n const ctimeMs = mtimeMs;\n const atime = new Date(atimeMs);\n const birthtime = new Date(birthtimeMs);\n const ctime = new Date(ctimeMs);\n const mtime = new Date(mtimeMs);\n const type = this.listings.has(p) ? S_IFDIR : this.isSymbolicLink(entry) ? S_IFLNK : S_IFREG;\n const defaultMode = type === S_IFDIR ? 0o755 : 0o644;\n const mode = type | this.getUnixMode(entry, defaultMode) & 0o777;\n return Object.assign(new StatEntry(), {\n uid,\n gid,\n size,\n blksize,\n blocks,\n atime,\n birthtime,\n ctime,\n mtime,\n atimeMs,\n birthtimeMs,\n ctimeMs,\n mtimeMs,\n mode\n });\n } // Implicit directory\n\n\n if (this.listings.has(p)) {\n const uid = this.stats.uid;\n const gid = this.stats.gid;\n const size = 0;\n const blksize = 512;\n const blocks = 0;\n const atimeMs = this.stats.mtimeMs;\n const birthtimeMs = this.stats.mtimeMs;\n const ctimeMs = this.stats.mtimeMs;\n const mtimeMs = this.stats.mtimeMs;\n const atime = new Date(atimeMs);\n const birthtime = new Date(birthtimeMs);\n const ctime = new Date(ctimeMs);\n const mtime = new Date(mtimeMs);\n const mode = S_IFDIR | 0o755;\n return Object.assign(new StatEntry(), {\n uid,\n gid,\n size,\n blksize,\n blocks,\n atime,\n birthtime,\n ctime,\n mtime,\n atimeMs,\n birthtimeMs,\n ctimeMs,\n mtimeMs,\n mode\n });\n }\n\n throw new Error(`Unreachable`);\n }\n\n getUnixMode(index, defaultMode) {\n const rc = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S);\n if (rc === -1) throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip)));\n const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0;\n if (opsys !== this.libzip.ZIP_OPSYS_UNIX) return defaultMode;\n return this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16;\n }\n\n registerListing(p) {\n let listing = this.listings.get(p);\n if (listing) return listing;\n const parentListing = this.registerListing(path_1.ppath.dirname(p));\n listing = new Set();\n parentListing.add(path_1.ppath.basename(p));\n this.listings.set(p, listing);\n return listing;\n }\n\n registerEntry(p, index) {\n const parentListing = this.registerListing(path_1.ppath.dirname(p));\n parentListing.add(path_1.ppath.basename(p));\n this.entries.set(p, index);\n }\n\n resolveFilename(reason, p, resolveLastComponent = true) {\n if (!this.ready) throw errors.EBUSY(`archive closed, ${reason}`);\n let resolvedP = path_1.ppath.resolve(path_1.PortablePath.root, p);\n if (resolvedP === `/`) return path_1.PortablePath.root;\n\n while (true) {\n const parentP = this.resolveFilename(reason, path_1.ppath.dirname(resolvedP), true);\n const isDir = this.listings.has(parentP);\n const doesExist = this.entries.has(parentP);\n if (!isDir && !doesExist) throw errors.ENOENT(reason);\n if (!isDir) throw errors.ENOTDIR(reason);\n resolvedP = path_1.ppath.resolve(parentP, path_1.ppath.basename(resolvedP));\n if (!resolveLastComponent) break;\n const index = this.libzip.name.locate(this.zip, resolvedP.slice(1));\n if (index === -1) break;\n\n if (this.isSymbolicLink(index)) {\n const target = this.getFileSource(index).toString();\n resolvedP = path_1.ppath.resolve(path_1.ppath.dirname(resolvedP), target);\n } else {\n break;\n }\n }\n\n return resolvedP;\n }\n\n allocateBuffer(content) {\n if (!Buffer.isBuffer(content)) content = Buffer.from(content);\n const buffer = this.libzip.malloc(content.byteLength);\n if (!buffer) throw new Error(`Couldn\'t allocate enough memory`); // Copy the file into the Emscripten heap\n\n const heap = new Uint8Array(this.libzip.HEAPU8.buffer, buffer, content.byteLength);\n heap.set(content);\n return {\n buffer,\n byteLength: content.byteLength\n };\n }\n\n allocateUnattachedSource(content) {\n const error = this.libzip.struct.errorS();\n const {\n buffer,\n byteLength\n } = this.allocateBuffer(content);\n const source = this.libzip.source.fromUnattachedBuffer(buffer, byteLength, 0, true, error);\n\n if (source === 0) {\n this.libzip.free(error);\n throw new Error(this.libzip.error.strerror(error));\n }\n\n return source;\n }\n\n allocateSource(content) {\n const {\n buffer,\n byteLength\n } = this.allocateBuffer(content);\n const source = this.libzip.source.fromBuffer(this.zip, buffer, byteLength, 0, true);\n\n if (source === 0) {\n this.libzip.free(buffer);\n throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip)));\n }\n\n return source;\n }\n\n setFileSource(p, content) {\n const target = path_1.ppath.relative(path_1.PortablePath.root, p);\n const lzSource = this.allocateSource(content);\n\n try {\n const newIndex = this.libzip.file.add(this.zip, target, lzSource, this.libzip.ZIP_FL_OVERWRITE);\n\n if (this.level !== `mixed`) {\n // Use store for level 0, and deflate for 1..9\n let method;\n if (this.level === 0) method = this.libzip.ZIP_CM_STORE;else method = this.libzip.ZIP_CM_DEFLATE;\n const rc = this.libzip.file.setCompression(this.zip, newIndex, 0, method, this.level);\n\n if (rc === -1) {\n throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip)));\n }\n }\n\n return newIndex;\n } catch (error) {\n this.libzip.source.free(lzSource);\n throw error;\n }\n }\n\n isSymbolicLink(index) {\n const attrs = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S);\n if (attrs === -1) throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip)));\n const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0;\n if (opsys !== this.libzip.ZIP_OPSYS_UNIX) return false;\n const attributes = this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16;\n return (attributes & S_IFMT) === S_IFLNK;\n }\n\n getFileSource(index) {\n const stat = this.libzip.struct.statS();\n const rc = this.libzip.statIndex(this.zip, index, 0, 0, stat);\n if (rc === -1) throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip)));\n const size = this.libzip.struct.statSize(stat);\n const buffer = this.libzip.malloc(size);\n\n try {\n const file = this.libzip.fopenIndex(this.zip, index, 0, 0);\n if (file === 0) throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip)));\n\n try {\n const rc = this.libzip.fread(file, buffer, size, 0);\n if (rc === -1) throw new Error(this.libzip.error.strerror(this.libzip.file.getError(file)));else if (rc < size) throw new Error(`Incomplete read`);else if (rc > size) throw new Error(`Overread`);\n const memory = this.libzip.HEAPU8.subarray(buffer, buffer + size);\n const data = Buffer.from(memory);\n return data;\n } finally {\n this.libzip.fclose(file);\n }\n } finally {\n this.libzip.free(buffer);\n }\n }\n\n async chmodPromise(p, mask) {\n return this.chmodSync(p, mask);\n }\n\n chmodSync(p, mask) {\n if (this.readOnly) throw errors.EROFS(`chmod \'${p}\'`); // We don\'t allow to make the extracted entries group-writable\n\n mask &= 0o755;\n const resolvedP = this.resolveFilename(`chmod \'${p}\'`, p, false);\n const entry = this.entries.get(resolvedP);\n if (typeof entry === `undefined`) throw new Error(`Assertion failed: The entry should have been registered (${resolvedP})`);\n const oldMod = this.getUnixMode(entry, S_IFREG | 0o000);\n const newMod = oldMod & ~0o777 | mask;\n const rc = this.libzip.file.setExternalAttributes(this.zip, entry, 0, 0, this.libzip.ZIP_OPSYS_UNIX, newMod << 16);\n\n if (rc === -1) {\n throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip)));\n }\n }\n\n async renamePromise(oldP, newP) {\n return this.renameSync(oldP, newP);\n }\n\n renameSync(oldP, newP) {\n throw new Error(`Unimplemented`);\n }\n\n async copyFilePromise(sourceP, destP, flags) {\n return this.copyFileSync(sourceP, destP, flags);\n }\n\n copyFileSync(sourceP, destP, flags = 0) {\n if (this.readOnly) throw errors.EROFS(`copyfile \'${sourceP} -> \'${destP}\'`);\n if ((flags & fs_1.constants.COPYFILE_FICLONE_FORCE) !== 0) throw errors.ENOSYS(`unsupported clone operation`, `copyfile \'${sourceP}\' -> ${destP}\'`);\n const resolvedSourceP = this.resolveFilename(`copyfile \'${sourceP} -> ${destP}\'`, sourceP);\n const indexSource = this.entries.get(resolvedSourceP);\n if (typeof indexSource === `undefined`) throw errors.EINVAL(`copyfile \'${sourceP}\' -> \'${destP}\'`);\n const resolvedDestP = this.resolveFilename(`copyfile \'${sourceP}\' -> ${destP}\'`, destP);\n const indexDest = this.entries.get(resolvedDestP);\n if ((flags & (fs_1.constants.COPYFILE_EXCL | fs_1.constants.COPYFILE_FICLONE_FORCE)) !== 0 && typeof indexDest !== `undefined`) throw errors.EEXIST(`copyfile \'${sourceP}\' -> \'${destP}\'`);\n const source = this.getFileSource(indexSource);\n const newIndex = this.setFileSource(resolvedDestP, source);\n\n if (newIndex !== indexDest) {\n this.registerEntry(resolvedDestP, newIndex);\n }\n }\n\n async appendFilePromise(p, content, opts) {\n return this.appendFileSync(p, content, opts);\n }\n\n appendFileSync(p, content, opts = {}) {\n if (this.readOnly) throw errors.EROFS(`open \'${p}\'`);\n if (typeof opts === `undefined`) opts = {\n flag: `a`\n };else if (typeof opts === `string`) opts = {\n flag: `a`,\n encoding: opts\n };else if (typeof opts.flag === `undefined`) opts = Object.assign({\n flag: `a`\n }, opts);\n return this.writeFileSync(p, content, opts);\n }\n\n async writeFilePromise(p, content, opts) {\n return this.writeFileSync(p, content, opts);\n }\n\n writeFileSync(p, content, opts) {\n if (typeof p !== `string`) throw errors.EBADF(`read`);\n if (this.readOnly) throw errors.EROFS(`open \'${p}\'`);\n const resolvedP = this.resolveFilename(`open \'${p}\'`, p);\n if (this.listings.has(resolvedP)) throw errors.EISDIR(`open \'${p}\'`);\n const index = this.entries.get(resolvedP);\n if (index !== undefined && typeof opts === `object` && opts.flag && opts.flag.includes(`a`)) content = Buffer.concat([this.getFileSource(index), Buffer.from(content)]);\n let encoding = null;\n if (typeof opts === `string`) encoding = opts;else if (typeof opts === `object` && opts.encoding) encoding = opts.encoding;\n if (encoding !== null) content = content.toString(encoding);\n const newIndex = this.setFileSource(resolvedP, content);\n\n if (newIndex !== index) {\n this.registerEntry(resolvedP, newIndex);\n }\n }\n\n async unlinkPromise(p) {\n return this.unlinkSync(p);\n }\n\n unlinkSync(p) {\n throw new Error(`Unimplemented`);\n }\n\n async utimesPromise(p, atime, mtime) {\n return this.utimesSync(p, atime, mtime);\n }\n\n utimesSync(p, atime, mtime) {\n if (this.readOnly) throw errors.EROFS(`utimes \'${p}\'`);\n const resolvedP = this.resolveFilename(`utimes \'${p}\'`, p);\n this.utimesImpl(resolvedP, mtime);\n }\n\n async lutimesPromise(p, atime, mtime) {\n return this.lutimesSync(p, atime, mtime);\n }\n\n lutimesSync(p, atime, mtime) {\n if (this.readOnly) throw errors.EROFS(`lutimes \'${p}\'`);\n const resolvedP = this.resolveFilename(`utimes \'${p}\'`, p, false);\n this.utimesImpl(resolvedP, mtime);\n }\n\n utimesImpl(resolvedP, mtime) {\n if (this.listings.has(resolvedP)) if (!this.entries.has(resolvedP)) this.hydrateDirectory(resolvedP);\n const entry = this.entries.get(resolvedP);\n if (entry === undefined) throw new Error(`Unreachable`);\n const rc = this.libzip.file.setMtime(this.zip, entry, 0, toUnixTimestamp(mtime), 0);\n\n if (rc === -1) {\n throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip)));\n }\n }\n\n async mkdirPromise(p, opts) {\n return this.mkdirSync(p, opts);\n }\n\n mkdirSync(p, {\n mode = 0o755,\n recursive = false\n } = {}) {\n if (recursive) return this.mkdirpSync(p, {\n chmod: mode\n });\n if (this.readOnly) throw errors.EROFS(`mkdir \'${p}\'`);\n const resolvedP = this.resolveFilename(`mkdir \'${p}\'`, p);\n if (this.entries.has(resolvedP) || this.listings.has(resolvedP)) throw errors.EEXIST(`mkdir \'${p}\'`);\n this.hydrateDirectory(resolvedP);\n this.chmodSync(resolvedP, mode);\n }\n\n async rmdirPromise(p) {\n return this.rmdirSync(p);\n }\n\n rmdirSync(p) {\n throw new Error(`Unimplemented`);\n }\n\n hydrateDirectory(resolvedP) {\n const index = this.libzip.dir.add(this.zip, path_1.ppath.relative(path_1.PortablePath.root, resolvedP));\n if (index === -1) throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip)));\n this.registerListing(resolvedP);\n this.registerEntry(resolvedP, index);\n return index;\n }\n\n async symlinkPromise(target, p) {\n return this.symlinkSync(target, p);\n }\n\n symlinkSync(target, p) {\n if (this.readOnly) throw errors.EROFS(`symlink \'${target}\' -> \'${p}\'`);\n const resolvedP = this.resolveFilename(`symlink \'${target}\' -> \'${p}\'`, p);\n if (this.listings.has(resolvedP)) throw errors.EISDIR(`symlink \'${target}\' -> \'${p}\'`);\n if (this.entries.has(resolvedP)) throw errors.EEXIST(`symlink \'${target}\' -> \'${p}\'`);\n const index = this.setFileSource(resolvedP, target);\n this.registerEntry(resolvedP, index);\n const rc = this.libzip.file.setExternalAttributes(this.zip, index, 0, 0, this.libzip.ZIP_OPSYS_UNIX, (0o120000 | 0o777) << 16);\n\n if (rc === -1) {\n throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip)));\n }\n }\n\n async readFilePromise(p, encoding) {\n // This weird switch is required to tell TypeScript that the signatures are proper (otherwise it thinks that only the generic one is covered)\n switch (encoding) {\n case `utf8`:\n return this.readFileSync(p, encoding);\n\n default:\n return this.readFileSync(p, encoding);\n }\n }\n\n readFileSync(p, encoding) {\n if (typeof p !== `string`) throw errors.EBADF(`read`); // This is messed up regarding the TS signatures\n\n if (typeof encoding === `object`) // @ts-ignore\n encoding = encoding ? encoding.encoding : undefined;\n const resolvedP = this.resolveFilename(`open \'${p}\'`, p);\n if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw errors.ENOENT(`open \'${p}\'`); // Ensures that the last component is a directory, if the user said so (even if it is we\'ll throw right after with EISDIR anyway)\n\n if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) throw errors.ENOTDIR(`open \'${p}\'`);\n if (this.listings.has(resolvedP)) throw errors.EISDIR(`read`);\n const entry = this.entries.get(resolvedP);\n if (entry === undefined) throw new Error(`Unreachable`);\n const data = this.getFileSource(entry);\n return encoding ? data.toString(encoding) : data;\n }\n\n async readdirPromise(p, {\n withFileTypes\n } = {}) {\n return this.readdirSync(p, {\n withFileTypes: withFileTypes\n });\n }\n\n readdirSync(p, {\n withFileTypes\n } = {}) {\n const resolvedP = this.resolveFilename(`scandir \'${p}\'`, p);\n if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw errors.ENOENT(`scandir \'${p}\'`);\n const directoryListing = this.listings.get(resolvedP);\n if (!directoryListing) throw errors.ENOTDIR(`scandir \'${p}\'`);\n const entries = [...directoryListing];\n if (!withFileTypes) return entries;\n return entries.map(name => {\n return Object.assign(this.statImpl(`lstat`, path_1.ppath.join(p, name)), {\n name\n });\n });\n }\n\n async readlinkPromise(p) {\n return this.readlinkSync(p);\n }\n\n readlinkSync(p) {\n const resolvedP = this.resolveFilename(`readlink \'${p}\'`, p, false);\n if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) throw errors.ENOENT(`readlink \'${p}\'`); // Ensure that the last component is a directory (if it is we\'ll throw right after with EISDIR anyway)\n\n if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) throw errors.ENOTDIR(`open \'${p}\'`);\n if (this.listings.has(resolvedP)) throw errors.EINVAL(`readlink \'${p}\'`);\n const entry = this.entries.get(resolvedP);\n if (entry === undefined) throw new Error(`Unreachable`);\n const rc = this.libzip.file.getExternalAttributes(this.zip, entry, 0, 0, this.libzip.uint08S, this.libzip.uint32S);\n if (rc === -1) throw new Error(this.libzip.error.strerror(this.libzip.getError(this.zip)));\n const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0;\n if (opsys !== this.libzip.ZIP_OPSYS_UNIX) throw errors.EINVAL(`readlink \'${p}\'`);\n const attributes = this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16;\n if ((attributes & 0o170000) !== 0o120000) throw errors.EINVAL(`readlink \'${p}\'`);\n return this.getFileSource(entry).toString();\n }\n\n watch(p, a, b) {\n let persistent;\n\n switch (typeof a) {\n case `function`:\n case `string`:\n case `undefined`:\n {\n persistent = true;\n }\n break;\n\n default:\n {\n // @ts-ignore\n ({\n persistent = true\n } = a);\n }\n break;\n }\n\n if (!persistent) return {\n on: () => {},\n close: () => {}\n };\n const interval = setInterval(() => {}, 24 * 60 * 60 * 1000);\n return {\n on: () => {},\n close: () => {\n clearInterval(interval);\n }\n };\n }\n\n}\n\nexports.ZipFS = ZipFS;\n;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\nmodule.exports = require("os");\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports) {\n\nmodule.exports = require("util");\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nvar ErrorCode;\n\n(function (ErrorCode) {\n ErrorCode["API_ERROR"] = "API_ERROR";\n ErrorCode["BLACKLISTED"] = "BLACKLISTED";\n ErrorCode["BUILTIN_NODE_RESOLUTION_FAILED"] = "BUILTIN_NODE_RESOLUTION_FAILED";\n ErrorCode["MISSING_DEPENDENCY"] = "MISSING_DEPENDENCY";\n ErrorCode["MISSING_PEER_DEPENDENCY"] = "MISSING_PEER_DEPENDENCY";\n ErrorCode["QUALIFIED_PATH_RESOLUTION_FAILED"] = "QUALIFIED_PATH_RESOLUTION_FAILED";\n ErrorCode["INTERNAL"] = "INTERNAL";\n ErrorCode["UNDECLARED_DEPENDENCY"] = "UNDECLARED_DEPENDENCY";\n ErrorCode["UNSUPPORTED"] = "UNSUPPORTED";\n})(ErrorCode = exports.ErrorCode || (exports.ErrorCode = {}));\n\n; // Some errors are exposed as MODULE_NOT_FOUND for compatibility with packages\n// that expect this umbrella error when the resolution fails\n\nconst MODULE_NOT_FOUND_ERRORS = new Set([ErrorCode.BLACKLISTED, ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, ErrorCode.MISSING_DEPENDENCY, ErrorCode.MISSING_PEER_DEPENDENCY, ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, ErrorCode.UNDECLARED_DEPENDENCY]);\n/**\n * Simple helper function that assign an error code to an error, so that it can more easily be caught and used\n * by third-parties.\n */\n\nfunction makeError(pnpCode, message, data = {}) {\n const code = MODULE_NOT_FOUND_ERRORS.has(pnpCode) ? `MODULE_NOT_FOUND` : pnpCode;\n const propertySpec = {\n configurable: true,\n writable: true,\n enumerable: false\n };\n return Object.defineProperties(new Error(message), {\n code: Object.assign(Object.assign({}, propertySpec), {\n value: code\n }),\n pnpCode: Object.assign(Object.assign({}, propertySpec), {\n value: pnpCode\n }),\n data: Object.assign(Object.assign({}, propertySpec), {\n value: data\n })\n });\n}\n\nexports.makeError = makeError;\n/**\n * Returns the module that should be used to resolve require calls. It\'s usually the direct parent, except if we\'re\n * inside an eval expression.\n */\n\nfunction getIssuerModule(parent) {\n let issuer = parent;\n\n while (issuer && (issuer.id === \'[eval]\' || issuer.id === \'\' || !issuer.filename)) issuer = issuer.parent;\n\n return issuer || null;\n}\n\nexports.getIssuerModule = getIssuerModule;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n\n if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n "default": mod\n };\n};\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nconst fslib_1 = __webpack_require__(5);\n\nconst libzip_1 = __webpack_require__(24);\n\nconst fs_1 = __importDefault(__webpack_require__(2));\n\nconst module_1 = __importDefault(__webpack_require__(6));\n\nconst string_decoder_1 = __importDefault(__webpack_require__(28));\n\nconst applyPatch_1 = __webpack_require__(29);\n\nconst hydrateRuntimeState_1 = __webpack_require__(31);\n\nconst makeApi_1 = __webpack_require__(32);\n\nconst makeManager_1 = __webpack_require__(33); // We must copy the fs into a local, because otherwise\n// 1. we would make the NodeFS instance use the function that we patched (infinite loop)\n// 2. Object.create(fs) isn\'t enough, since it won\'t prevent the proto from being modified\n\n\nconst localFs = Object.assign({}, fs_1.default);\nconst nodeFs = new fslib_1.NodeFS(localFs);\nconst defaultRuntimeState = $$SETUP_STATE(hydrateRuntimeState_1.hydrateRuntimeState);\nconst defaultPnpapiResolution = __filename; // We create a virtual filesystem that will do three things:\n// 1. all requests inside a folder named "$$virtual" will be remapped according the virtual folder rules\n// 2. all requests going inside a Zip archive will be handled by the Zip fs implementation\n// 3. any remaining request will be forwarded to Node as-is\n\nconst defaultFsLayer = new fslib_1.VirtualFS({\n baseFs: new fslib_1.ZipOpenFS({\n baseFs: nodeFs,\n libzip: libzip_1.getLibzipSync(),\n maxOpenFiles: 80,\n readOnlyArchives: true\n })\n});\nlet manager;\nconst defaultApi = Object.assign(makeApi_1.makeApi(defaultRuntimeState, {\n fakeFs: defaultFsLayer,\n pnpapiResolution: defaultPnpapiResolution\n}), {\n /**\n * Can be used to generate a different API than the default one (for example\n * to map it on `/` rather than the local directory path, or to use a\n * different FS layer than the default one).\n */\n makeApi: _a => {\n var {\n basePath = undefined,\n fakeFs = defaultFsLayer,\n pnpapiResolution = defaultPnpapiResolution\n } = _a,\n rest = __rest(_a, ["basePath", "fakeFs", "pnpapiResolution"]);\n\n const apiRuntimeState = typeof basePath !== `undefined` ? $$SETUP_STATE(hydrateRuntimeState_1.hydrateRuntimeState, basePath) : defaultRuntimeState;\n return makeApi_1.makeApi(apiRuntimeState, Object.assign({\n fakeFs,\n pnpapiResolution\n }, rest));\n },\n\n /**\n * Will inject the specified API into the environment, monkey-patching FS. Is\n * automatically called when the hook is loaded through `--require`.\n */\n setup: api => {\n applyPatch_1.applyPatch(api || defaultApi, {\n fakeFs: defaultFsLayer,\n manager\n });\n }\n});\nmanager = makeManager_1.makeManager(defaultApi, {\n fakeFs: defaultFsLayer\n}); // eslint-disable-next-line arca/no-default-export\n\nexports.default = defaultApi;\n\nif (__non_webpack_module__.parent && __non_webpack_module__.parent.id === \'internal/preload\') {\n defaultApi.setup();\n\n if (__non_webpack_module__.filename) {\n // We delete it from the cache in order to support the case where the CLI resolver is invoked from "yarn run"\n // It\'s annoying because it might cause some issues when the file is multiple times in NODE_OPTIONS, but it shouldn\'t happen anyway.\n // @ts-ignore\n delete module_1.default._cache[__non_webpack_module__.filename];\n }\n} // @ts-ignore\n\n\nif (process.mainModule === __non_webpack_module__) {\n const reportError = (code, message, data) => {\n process.stdout.write(`${JSON.stringify([{\n code,\n message,\n data\n }, null])}\\n`);\n };\n\n const reportSuccess = resolution => {\n process.stdout.write(`${JSON.stringify([null, resolution])}\\n`);\n };\n\n const processResolution = (request, issuer) => {\n try {\n reportSuccess(defaultApi.resolveRequest(request, issuer));\n } catch (error) {\n reportError(error.code, error.message, error.data);\n }\n };\n\n const processRequest = data => {\n try {\n const [request, issuer] = JSON.parse(data);\n processResolution(request, issuer);\n } catch (error) {\n reportError(`INVALID_JSON`, error.message, error.data);\n }\n };\n\n if (process.argv.length > 2) {\n if (process.argv.length !== 4) {\n process.stderr.write(`Usage: ${process.argv[0]} ${process.argv[1]} \\n`);\n process.exitCode = 64;\n /* EX_USAGE */\n } else {\n processResolution(process.argv[2], process.argv[3]);\n }\n } else {\n let buffer = \'\';\n const decoder = new string_decoder_1.default.StringDecoder();\n process.stdin.on(\'data\', chunk => {\n buffer += decoder.write(chunk);\n\n do {\n const index = buffer.indexOf(\'\\n\');\n if (index === -1) break;\n const line = buffer.slice(0, index);\n buffer = buffer.slice(index + 1);\n processRequest(line);\n } while (true);\n });\n }\n}\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n "default": mod\n };\n};\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nconst fs_1 = __importDefault(__webpack_require__(2));\n\nconst path_1 = __webpack_require__(0);\n\nasync function copyPromise(destinationFs, destination, sourceFs, source, opts) {\n const normalizedDestination = destinationFs.pathUtils.normalize(destination);\n const normalizedSource = sourceFs.pathUtils.normalize(source);\n const operations = [];\n const utimes = [];\n await destinationFs.mkdirpPromise(destination);\n await copyImpl(operations, utimes, destinationFs, normalizedDestination, sourceFs, normalizedSource, opts);\n\n for (const operation of operations) await operation();\n\n for (const [p, atime, mtime] of utimes) {\n await destinationFs.utimesPromise(p, atime, mtime);\n }\n}\n\nexports.copyPromise = copyPromise;\n\nasync function copyImpl(operations, utimes, destinationFs, destination, sourceFs, source, opts) {\n const destinationStat = await maybeLStat(destinationFs, destination);\n const sourceStat = await sourceFs.lstatPromise(source);\n utimes.push([destination, sourceStat.atime, sourceStat.mtime]);\n\n switch (true) {\n case sourceStat.isDirectory():\n {\n await copyFolder(operations, utimes, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts);\n }\n break;\n\n case sourceStat.isFile():\n {\n await copyFile(operations, utimes, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts);\n }\n break;\n\n case sourceStat.isSymbolicLink():\n {\n await copySymlink(operations, utimes, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts);\n }\n break;\n\n default:\n {\n throw new Error(`Unsupported file type (${sourceStat.mode})`);\n }\n break;\n }\n\n operations.push(async () => destinationFs.chmodPromise(destination, sourceStat.mode & 0o777));\n}\n\nasync function maybeLStat(baseFs, p) {\n try {\n return await baseFs.lstatPromise(p);\n } catch (e) {\n return null;\n }\n}\n\nasync function copyFolder(operations, utimes, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) {\n if (destinationStat !== null && !destinationStat.isDirectory()) {\n if (opts.overwrite) {\n operations.push(async () => destinationFs.removePromise(destination));\n destinationStat = null;\n } else {\n return;\n }\n }\n\n if (destinationStat === null) operations.push(async () => destinationFs.mkdirPromise(destination, {\n mode: sourceStat.mode\n }));\n const entries = await sourceFs.readdirPromise(source);\n await Promise.all(entries.map(async entry => {\n await copyImpl(operations, utimes, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), opts);\n }));\n}\n\nasync function copyFile(operations, utimes, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) {\n if (destinationStat !== null) {\n if (opts.overwrite) {\n operations.push(async () => destinationFs.removePromise(destination));\n destinationStat = null;\n } else {\n return;\n }\n }\n\n if (destinationFs === sourceFs) {\n operations.push(async () => destinationFs.copyFilePromise(source, destination, fs_1.default.constants.COPYFILE_FICLONE));\n } else {\n operations.push(async () => destinationFs.writeFilePromise(destination, (await sourceFs.readFilePromise(source))));\n }\n}\n\nasync function copySymlink(operations, utimes, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) {\n if (destinationStat !== null) {\n if (opts.overwrite) {\n operations.push(async () => destinationFs.removePromise(destination));\n destinationStat = null;\n } else {\n return;\n }\n }\n\n const target = await sourceFs.readlinkPromise(source);\n operations.push(async () => destinationFs.symlinkPromise(path_1.convertPath(destinationFs.pathUtils, target), destination));\n}\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports) {\n\nmodule.exports = require("stream");\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nfunction makeError(code, message) {\n return Object.assign(new Error(`${code}: ${message}`), {\n code\n });\n}\n\nfunction EBUSY(message) {\n return makeError(`EBUSY`, message);\n}\n\nexports.EBUSY = EBUSY;\n\nfunction ENOSYS(message, reason) {\n return makeError(`ENOSYS`, `${message}, ${reason}`);\n}\n\nexports.ENOSYS = ENOSYS;\n\nfunction EINVAL(reason) {\n return makeError(`EINVAL`, `invalid argument, ${reason}`);\n}\n\nexports.EINVAL = EINVAL;\n\nfunction EBADF(reason) {\n return makeError(`EBADF`, `bad file descriptor, ${reason}`);\n}\n\nexports.EBADF = EBADF;\n\nfunction ENOENT(reason) {\n return makeError(`ENOENT`, `no such file or directory, ${reason}`);\n}\n\nexports.ENOENT = ENOENT;\n\nfunction ENOTDIR(reason) {\n return makeError(`ENOTDIR`, `not a directory, ${reason}`);\n}\n\nexports.ENOTDIR = ENOTDIR;\n\nfunction EISDIR(reason) {\n return makeError(`EISDIR`, `illegal operation on a directory, ${reason}`);\n}\n\nexports.EISDIR = EISDIR;\n\nfunction EEXIST(reason) {\n return makeError(`EEXIST`, `file already exists, ${reason}`);\n}\n\nexports.EEXIST = EEXIST;\n\nfunction EROFS(reason) {\n return makeError(`EROFS`, `read-only filesystem, ${reason}`);\n}\n\nexports.EROFS = EROFS;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nconst ProxiedFS_1 = __webpack_require__(4);\n\nclass AliasFS extends ProxiedFS_1.ProxiedFS {\n constructor(target, {\n baseFs,\n pathUtils\n }) {\n super(pathUtils);\n this.target = target;\n this.baseFs = baseFs;\n }\n\n getRealPath() {\n return this.target;\n }\n\n getBaseFs() {\n return this.baseFs;\n }\n\n mapFromBase(p) {\n return p;\n }\n\n mapToBase(p) {\n return p;\n }\n\n}\n\nexports.AliasFS = AliasFS;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nconst NodeFS_1 = __webpack_require__(1);\n\nconst ProxiedFS_1 = __webpack_require__(4);\n\nconst path_1 = __webpack_require__(0);\n\nclass CwdFS extends ProxiedFS_1.ProxiedFS {\n constructor(target, {\n baseFs = new NodeFS_1.NodeFS()\n } = {}) {\n super(path_1.ppath);\n this.target = target;\n this.baseFs = baseFs;\n }\n\n getRealPath() {\n return this.pathUtils.resolve(this.baseFs.getRealPath(), this.target);\n }\n\n mapFromBase(path) {\n return this.pathUtils.relative(this.getRealPath(), path);\n }\n\n mapToBase(path) {\n return this.pathUtils.resolve(this.getRealPath(), path);\n }\n\n}\n\nexports.CwdFS = CwdFS;\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nconst NodeFS_1 = __webpack_require__(1);\n\nconst ProxiedFS_1 = __webpack_require__(4);\n\nconst path_1 = __webpack_require__(0);\n\nconst JAIL_ROOT = path_1.PortablePath.root;\n\nclass JailFS extends ProxiedFS_1.ProxiedFS {\n constructor(target, {\n baseFs = new NodeFS_1.NodeFS()\n } = {}) {\n super(path_1.ppath);\n this.target = this.pathUtils.resolve(path_1.PortablePath.root, target);\n this.baseFs = baseFs;\n }\n\n getRealPath() {\n return this.pathUtils.resolve(this.baseFs.getRealPath(), this.pathUtils.relative(path_1.PortablePath.root, this.target));\n }\n\n getTarget() {\n return this.target;\n }\n\n getBaseFs() {\n return this.baseFs;\n }\n\n mapToBase(p) {\n const normalized = this.pathUtils.normalize(p);\n if (this.pathUtils.isAbsolute(p)) return this.pathUtils.resolve(this.target, this.pathUtils.relative(JAIL_ROOT, p));\n if (normalized.match(/^\\.\\.\\//)) throw new Error(`Resolving this path (${p}) would escape the jail`);\n return this.pathUtils.resolve(this.target, p);\n }\n\n mapFromBase(p) {\n return this.pathUtils.resolve(JAIL_ROOT, this.pathUtils.relative(this.target, p));\n }\n\n}\n\nexports.JailFS = JailFS;\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nconst ProxiedFS_1 = __webpack_require__(4);\n\nclass LazyFS extends ProxiedFS_1.ProxiedFS {\n constructor(factory, pathUtils) {\n super(pathUtils);\n this.instance = null;\n this.factory = factory;\n }\n\n get baseFs() {\n if (!this.instance) this.instance = this.factory();\n return this.instance;\n }\n\n set baseFs(value) {\n this.instance = value;\n }\n\n mapFromBase(p) {\n return p;\n }\n\n mapToBase(p) {\n return p;\n }\n\n}\n\nexports.LazyFS = LazyFS;\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nconst FakeFS_1 = __webpack_require__(3);\n\nconst path_1 = __webpack_require__(0);\n\nconst makeError = () => Object.assign(new Error(`ENOSYS: unsupported filesystem access`), {\n code: `ENOSYS`\n});\n\nclass NoFS extends FakeFS_1.FakeFS {\n constructor() {\n super(path_1.ppath);\n }\n\n getExtractHint() {\n throw makeError();\n }\n\n getRealPath() {\n throw makeError();\n }\n\n resolve() {\n throw makeError();\n }\n\n async openPromise() {\n throw makeError();\n }\n\n openSync() {\n throw makeError();\n }\n\n async readPromise() {\n throw makeError();\n }\n\n readSync() {\n throw makeError();\n }\n\n async writePromise() {\n throw makeError();\n }\n\n writeSync() {\n throw makeError();\n }\n\n async closePromise() {\n throw makeError();\n }\n\n closeSync() {\n throw makeError();\n }\n\n createWriteStream() {\n throw makeError();\n }\n\n createReadStream() {\n throw makeError();\n }\n\n async realpathPromise() {\n throw makeError();\n }\n\n realpathSync() {\n throw makeError();\n }\n\n async readdirPromise() {\n throw makeError();\n }\n\n readdirSync() {\n throw makeError();\n }\n\n async existsPromise(p) {\n throw makeError();\n }\n\n existsSync(p) {\n throw makeError();\n }\n\n async accessPromise() {\n throw makeError();\n }\n\n accessSync() {\n throw makeError();\n }\n\n async statPromise() {\n throw makeError();\n }\n\n statSync() {\n throw makeError();\n }\n\n async lstatPromise(p) {\n throw makeError();\n }\n\n lstatSync(p) {\n throw makeError();\n }\n\n async chmodPromise() {\n throw makeError();\n }\n\n chmodSync() {\n throw makeError();\n }\n\n async mkdirPromise() {\n throw makeError();\n }\n\n mkdirSync() {\n throw makeError();\n }\n\n async rmdirPromise() {\n throw makeError();\n }\n\n rmdirSync() {\n throw makeError();\n }\n\n async symlinkPromise() {\n throw makeError();\n }\n\n symlinkSync() {\n throw makeError();\n }\n\n async renamePromise() {\n throw makeError();\n }\n\n renameSync() {\n throw makeError();\n }\n\n async copyFilePromise() {\n throw makeError();\n }\n\n copyFileSync() {\n throw makeError();\n }\n\n async appendFilePromise() {\n throw makeError();\n }\n\n appendFileSync() {\n throw makeError();\n }\n\n async writeFilePromise() {\n throw makeError();\n }\n\n writeFileSync() {\n throw makeError();\n }\n\n async unlinkPromise() {\n throw makeError();\n }\n\n unlinkSync() {\n throw makeError();\n }\n\n async utimesPromise() {\n throw makeError();\n }\n\n utimesSync() {\n throw makeError();\n }\n\n async readFilePromise() {\n throw makeError();\n }\n\n readFileSync() {\n throw makeError();\n }\n\n async readlinkPromise() {\n throw makeError();\n }\n\n readlinkSync() {\n throw makeError();\n }\n\n watch() {\n throw makeError();\n }\n\n}\n\nexports.NoFS = NoFS;\nNoFS.instance = new NoFS();\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nconst ProxiedFS_1 = __webpack_require__(4);\n\nconst path_1 = __webpack_require__(0);\n\nclass PosixFS extends ProxiedFS_1.ProxiedFS {\n constructor(baseFs) {\n super(path_1.npath);\n this.baseFs = baseFs;\n }\n\n mapFromBase(path) {\n return path_1.npath.fromPortablePath(path);\n }\n\n mapToBase(path) {\n return path_1.npath.toPortablePath(path);\n }\n\n}\n\nexports.PosixFS = PosixFS;\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nconst NodeFS_1 = __webpack_require__(1);\n\nconst ProxiedFS_1 = __webpack_require__(4);\n\nconst path_1 = __webpack_require__(0);\n\nconst NUMBER_REGEXP = /^[0-9]+$/; // $0: full path\n// $1: virtual folder\n// $2: virtual segment\n// $3: hash\n// $4: depth\n// $5: subpath\n\nconst VIRTUAL_REGEXP = /^(\\/(?:[^\\/]+\\/)*?\\$\\$virtual)((?:\\/((?:[^\\/]+-)?[a-f0-9]+)(?:\\/([^\\/]+))?)?((?:\\/.*)?))$/;\nconst VALID_COMPONENT = /^([^\\/]+-)?[a-f0-9]+$/;\n\nclass VirtualFS extends ProxiedFS_1.ProxiedFS {\n constructor({\n baseFs = new NodeFS_1.NodeFS()\n } = {}) {\n super(path_1.ppath);\n this.baseFs = baseFs;\n }\n\n static makeVirtualPath(base, component, to) {\n if (path_1.ppath.basename(base) !== `$$virtual`) throw new Error(`Assertion failed: Virtual folders must be named "$$virtual"`);\n if (!path_1.ppath.basename(component).match(VALID_COMPONENT)) throw new Error(`Assertion failed: Virtual components must be ended by an hexadecimal hash`); // Obtains the relative distance between the virtual path and its actual target\n\n const target = path_1.ppath.relative(path_1.ppath.dirname(base), to);\n const segments = target.split(`/`); // Counts how many levels we need to go back to start applying the rest of the path\n\n let depth = 0;\n\n while (depth < segments.length && segments[depth] === `..`) depth += 1;\n\n const finalSegments = segments.slice(depth);\n const fullVirtualPath = path_1.ppath.join(base, component, String(depth), ...finalSegments);\n return fullVirtualPath;\n }\n\n static resolveVirtual(p) {\n const match = p.match(VIRTUAL_REGEXP);\n if (!match || !match[3] && match[5]) return p;\n const target = path_1.ppath.dirname(match[1]);\n if (!match[3] || !match[4]) return target;\n const isnum = NUMBER_REGEXP.test(match[4]);\n if (!isnum) return p;\n const depth = Number(match[4]);\n const backstep = `../`.repeat(depth);\n const subpath = match[5] || `.`;\n return VirtualFS.resolveVirtual(path_1.ppath.join(target, backstep, subpath));\n }\n\n getExtractHint(hints) {\n return this.baseFs.getExtractHint(hints);\n }\n\n getRealPath() {\n return this.baseFs.getRealPath();\n }\n\n realpathSync(p) {\n const match = p.match(VIRTUAL_REGEXP);\n if (!match) return this.baseFs.realpathSync(p);\n if (!match[5]) return p;\n const realpath = this.baseFs.realpathSync(this.mapToBase(p));\n return VirtualFS.makeVirtualPath(match[1], match[3], realpath);\n }\n\n async realpathPromise(p) {\n const match = p.match(VIRTUAL_REGEXP);\n if (!match) return await this.baseFs.realpathPromise(p);\n if (!match[5]) return p;\n const realpath = await this.baseFs.realpathPromise(this.mapToBase(p));\n return VirtualFS.makeVirtualPath(match[1], match[3], realpath);\n }\n\n mapToBase(p) {\n return VirtualFS.resolveVirtual(p);\n }\n\n mapFromBase(p) {\n return p;\n }\n\n}\n\nexports.VirtualFS = VirtualFS;\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nconst fs_1 = __webpack_require__(2);\n\nconst FakeFS_1 = __webpack_require__(3);\n\nconst NodeFS_1 = __webpack_require__(1);\n\nconst ZipFS_1 = __webpack_require__(8);\n\nconst path_1 = __webpack_require__(0);\n\nconst ZIP_FD = 0x80000000;\n\nclass ZipOpenFS extends FakeFS_1.BasePortableFakeFS {\n constructor({\n libzip,\n baseFs = new NodeFS_1.NodeFS(),\n filter = null,\n maxOpenFiles = Infinity,\n readOnlyArchives = false,\n useCache = true\n }) {\n super();\n this.fdMap = new Map();\n this.nextFd = 3;\n this.isZip = new Set();\n this.notZip = new Set();\n this.libzip = libzip;\n this.baseFs = baseFs;\n this.zipInstances = useCache ? new Map() : null;\n this.filter = filter;\n this.maxOpenFiles = maxOpenFiles;\n this.readOnlyArchives = readOnlyArchives;\n this.isZip = new Set();\n this.notZip = new Set();\n }\n\n static async openPromise(fn, opts) {\n const zipOpenFs = new ZipOpenFS(opts);\n\n try {\n return await fn(zipOpenFs);\n } finally {\n zipOpenFs.saveAndClose();\n }\n }\n\n getExtractHint(hints) {\n return this.baseFs.getExtractHint(hints);\n }\n\n getRealPath() {\n return this.baseFs.getRealPath();\n }\n\n saveAndClose() {\n if (this.zipInstances) {\n for (const [path, zipFs] of this.zipInstances.entries()) {\n zipFs.saveAndClose();\n this.zipInstances.delete(path);\n }\n }\n }\n\n discardAndClose() {\n if (this.zipInstances) {\n for (const [path, zipFs] of this.zipInstances.entries()) {\n zipFs.discardAndClose();\n this.zipInstances.delete(path);\n }\n }\n }\n\n remapFd(zipFs, fd) {\n const remappedFd = this.nextFd++ | ZIP_FD;\n this.fdMap.set(remappedFd, [zipFs, fd]);\n return remappedFd;\n }\n\n async openPromise(p, flags, mode) {\n return await this.makeCallPromise(p, async () => {\n return await this.baseFs.openPromise(p, flags, mode);\n }, async (zipFs, {\n subPath\n }) => {\n return this.remapFd(zipFs, (await zipFs.openPromise(subPath, flags, mode)));\n });\n }\n\n openSync(p, flags, mode) {\n return this.makeCallSync(p, () => {\n return this.baseFs.openSync(p, flags, mode);\n }, (zipFs, {\n subPath\n }) => {\n return this.remapFd(zipFs, zipFs.openSync(subPath, flags, mode));\n });\n }\n\n async readPromise(fd, buffer, offset, length, position) {\n if ((fd & ZIP_FD) === 0) return await this.baseFs.readPromise(fd, buffer, offset, length, position);\n const entry = this.fdMap.get(fd);\n if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, read`), {\n code: `EBADF`\n });\n const [zipFs, realFd] = entry;\n return await zipFs.readPromise(realFd, buffer, offset, length, position);\n }\n\n readSync(fd, buffer, offset, length, position) {\n if ((fd & ZIP_FD) === 0) return this.baseFs.readSync(fd, buffer, offset, length, position);\n const entry = this.fdMap.get(fd);\n if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, read`), {\n code: `EBADF`\n });\n const [zipFs, realFd] = entry;\n return zipFs.readSync(realFd, buffer, offset, length, position);\n }\n\n async writePromise(fd, buffer, offset, length, position) {\n if ((fd & ZIP_FD) === 0) {\n if (typeof buffer === `string`) {\n return await this.baseFs.writePromise(fd, buffer, offset);\n } else {\n return await this.baseFs.writePromise(fd, buffer, offset, length, position);\n }\n }\n\n const entry = this.fdMap.get(fd);\n if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, write`), {\n code: `EBADF`\n });\n const [zipFs, realFd] = entry;\n\n if (typeof buffer === `string`) {\n return await zipFs.writePromise(realFd, buffer, offset);\n } else {\n return await zipFs.writePromise(realFd, buffer, offset, length, position);\n }\n }\n\n writeSync(fd, buffer, offset, length, position) {\n if ((fd & ZIP_FD) === 0) {\n if (typeof buffer === `string`) {\n return this.baseFs.writeSync(fd, buffer, offset);\n } else {\n return this.baseFs.writeSync(fd, buffer, offset, length, position);\n }\n }\n\n const entry = this.fdMap.get(fd);\n if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, write`), {\n code: `EBADF`\n });\n const [zipFs, realFd] = entry;\n\n if (typeof buffer === `string`) {\n return zipFs.writeSync(realFd, buffer, offset);\n } else {\n return zipFs.writeSync(realFd, buffer, offset, length, position);\n }\n }\n\n async closePromise(fd) {\n if ((fd & ZIP_FD) === 0) return await this.baseFs.closePromise(fd);\n const entry = this.fdMap.get(fd);\n if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, close`), {\n code: `EBADF`\n });\n this.fdMap.delete(fd);\n const [zipFs, realFd] = entry;\n return await zipFs.closePromise(realFd);\n }\n\n closeSync(fd) {\n if ((fd & ZIP_FD) === 0) return this.baseFs.closeSync(fd);\n const entry = this.fdMap.get(fd);\n if (typeof entry === `undefined`) throw Object.assign(new Error(`EBADF: bad file descriptor, close`), {\n code: `EBADF`\n });\n this.fdMap.delete(fd);\n const [zipFs, realFd] = entry;\n return zipFs.closeSync(realFd);\n }\n\n createReadStream(p, opts) {\n if (p === null) return this.baseFs.createReadStream(p, opts);\n return this.makeCallSync(p, () => {\n return this.baseFs.createReadStream(p, opts);\n }, (zipFs, {\n subPath\n }) => {\n return zipFs.createReadStream(subPath, opts);\n });\n }\n\n createWriteStream(p, opts) {\n if (p === null) return this.baseFs.createWriteStream(p, opts);\n return this.makeCallSync(p, () => {\n return this.baseFs.createWriteStream(p, opts);\n }, (zipFs, {\n subPath\n }) => {\n return zipFs.createWriteStream(subPath, opts);\n });\n }\n\n async realpathPromise(p) {\n return await this.makeCallPromise(p, async () => {\n return await this.baseFs.realpathPromise(p);\n }, async (zipFs, {\n archivePath,\n subPath\n }) => {\n return this.pathUtils.resolve((await this.baseFs.realpathPromise(archivePath)), this.pathUtils.relative(path_1.PortablePath.root, (await zipFs.realpathPromise(subPath))));\n });\n }\n\n realpathSync(p) {\n return this.makeCallSync(p, () => {\n return this.baseFs.realpathSync(p);\n }, (zipFs, {\n archivePath,\n subPath\n }) => {\n return this.pathUtils.resolve(this.baseFs.realpathSync(archivePath), this.pathUtils.relative(path_1.PortablePath.root, zipFs.realpathSync(subPath)));\n });\n }\n\n async existsPromise(p) {\n return await this.makeCallPromise(p, async () => {\n return await this.baseFs.existsPromise(p);\n }, async (zipFs, {\n subPath\n }) => {\n return await zipFs.existsPromise(subPath);\n });\n }\n\n existsSync(p) {\n return this.makeCallSync(p, () => {\n return this.baseFs.existsSync(p);\n }, (zipFs, {\n subPath\n }) => {\n return zipFs.existsSync(subPath);\n });\n }\n\n async accessPromise(p, mode) {\n return await this.makeCallPromise(p, async () => {\n return await this.baseFs.accessPromise(p, mode);\n }, async (zipFs, {\n subPath\n }) => {\n return await zipFs.accessPromise(subPath, mode);\n });\n }\n\n accessSync(p, mode) {\n return this.makeCallSync(p, () => {\n return this.baseFs.accessSync(p, mode);\n }, (zipFs, {\n subPath\n }) => {\n return zipFs.accessSync(subPath, mode);\n });\n }\n\n async statPromise(p) {\n return await this.makeCallPromise(p, async () => {\n return await this.baseFs.statPromise(p);\n }, async (zipFs, {\n subPath\n }) => {\n return await zipFs.statPromise(subPath);\n });\n }\n\n statSync(p) {\n return this.makeCallSync(p, () => {\n return this.baseFs.statSync(p);\n }, (zipFs, {\n subPath\n }) => {\n return zipFs.statSync(subPath);\n });\n }\n\n async lstatPromise(p) {\n return await this.makeCallPromise(p, async () => {\n return await this.baseFs.lstatPromise(p);\n }, async (zipFs, {\n subPath\n }) => {\n return await zipFs.lstatPromise(subPath);\n });\n }\n\n lstatSync(p) {\n return this.makeCallSync(p, () => {\n return this.baseFs.lstatSync(p);\n }, (zipFs, {\n subPath\n }) => {\n return zipFs.lstatSync(subPath);\n });\n }\n\n async chmodPromise(p, mask) {\n return await this.makeCallPromise(p, async () => {\n return await this.baseFs.chmodPromise(p, mask);\n }, async (zipFs, {\n subPath\n }) => {\n return await zipFs.chmodPromise(subPath, mask);\n });\n }\n\n chmodSync(p, mask) {\n return this.makeCallSync(p, () => {\n return this.baseFs.chmodSync(p, mask);\n }, (zipFs, {\n subPath\n }) => {\n return zipFs.chmodSync(subPath, mask);\n });\n }\n\n async renamePromise(oldP, newP) {\n return await this.makeCallPromise(oldP, async () => {\n return await this.makeCallPromise(newP, async () => {\n return await this.baseFs.renamePromise(oldP, newP);\n }, async () => {\n throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), {\n code: `EEXDEV`\n });\n });\n }, async (zipFsO, {\n subPath: subPathO\n }) => {\n return await this.makeCallPromise(newP, async () => {\n throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), {\n code: `EEXDEV`\n });\n }, async (zipFsN, {\n subPath: subPathN\n }) => {\n if (zipFsO !== zipFsN) {\n throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), {\n code: `EEXDEV`\n });\n } else {\n return await zipFsO.renamePromise(subPathO, subPathN);\n }\n });\n });\n }\n\n renameSync(oldP, newP) {\n return this.makeCallSync(oldP, () => {\n return this.makeCallSync(newP, () => {\n return this.baseFs.renameSync(oldP, newP);\n }, async () => {\n throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), {\n code: `EEXDEV`\n });\n });\n }, (zipFsO, {\n subPath: subPathO\n }) => {\n return this.makeCallSync(newP, () => {\n throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), {\n code: `EEXDEV`\n });\n }, (zipFsN, {\n subPath: subPathN\n }) => {\n if (zipFsO !== zipFsN) {\n throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), {\n code: `EEXDEV`\n });\n } else {\n return zipFsO.renameSync(subPathO, subPathN);\n }\n });\n });\n }\n\n async copyFilePromise(sourceP, destP, flags = 0) {\n const fallback = async (sourceFs, sourceP, destFs, destP) => {\n if ((flags & fs_1.constants.COPYFILE_FICLONE_FORCE) !== 0) throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile \'${sourceP}\' -> ${destP}\'`), {\n code: `EXDEV`\n });\n if (flags & fs_1.constants.COPYFILE_EXCL && (await this.existsPromise(sourceP))) throw Object.assign(new Error(`EEXIST: file already exists, copyfile \'${sourceP}\' -> \'${destP}\'`), {\n code: `EEXIST`\n });\n let content;\n\n try {\n content = await sourceFs.readFilePromise(sourceP);\n } catch (error) {\n throw Object.assign(new Error(`EINVAL: invalid argument, copyfile \'${sourceP}\' -> \'${destP}\'`), {\n code: `EINVAL`\n });\n }\n\n await destFs.writeFilePromise(destP, content);\n };\n\n return await this.makeCallPromise(sourceP, async () => {\n return await this.makeCallPromise(destP, async () => {\n return await this.baseFs.copyFilePromise(sourceP, destP, flags);\n }, async (zipFsD, {\n subPath: subPathD\n }) => {\n return await fallback(this.baseFs, sourceP, zipFsD, subPathD);\n });\n }, async (zipFsS, {\n subPath: subPathS\n }) => {\n return await this.makeCallPromise(destP, async () => {\n return await fallback(zipFsS, subPathS, this.baseFs, destP);\n }, async (zipFsD, {\n subPath: subPathD\n }) => {\n if (zipFsS !== zipFsD) {\n return await fallback(zipFsS, subPathS, zipFsD, subPathD);\n } else {\n return await zipFsS.copyFilePromise(subPathS, subPathD, flags);\n }\n });\n });\n }\n\n copyFileSync(sourceP, destP, flags = 0) {\n const fallback = (sourceFs, sourceP, destFs, destP) => {\n if ((flags & fs_1.constants.COPYFILE_FICLONE_FORCE) !== 0) throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile \'${sourceP}\' -> ${destP}\'`), {\n code: `EXDEV`\n });\n if (flags & fs_1.constants.COPYFILE_EXCL && this.existsSync(sourceP)) throw Object.assign(new Error(`EEXIST: file already exists, copyfile \'${sourceP}\' -> \'${destP}\'`), {\n code: `EEXIST`\n });\n let content;\n\n try {\n content = sourceFs.readFileSync(sourceP);\n } catch (error) {\n throw Object.assign(new Error(`EINVAL: invalid argument, copyfile \'${sourceP}\' -> \'${destP}\'`), {\n code: `EINVAL`\n });\n }\n\n destFs.writeFileSync(destP, content);\n };\n\n return this.makeCallSync(sourceP, () => {\n return this.makeCallSync(destP, () => {\n return this.baseFs.copyFileSync(sourceP, destP, flags);\n }, (zipFsD, {\n subPath: subPathD\n }) => {\n return fallback(this.baseFs, sourceP, zipFsD, subPathD);\n });\n }, (zipFsS, {\n subPath: subPathS\n }) => {\n return this.makeCallSync(destP, () => {\n return fallback(zipFsS, subPathS, this.baseFs, destP);\n }, (zipFsD, {\n subPath: subPathD\n }) => {\n if (zipFsS !== zipFsD) {\n return fallback(zipFsS, subPathS, zipFsD, subPathD);\n } else {\n return zipFsS.copyFileSync(subPathS, subPathD, flags);\n }\n });\n });\n }\n\n async appendFilePromise(p, content, opts) {\n return await this.makeCallPromise(p, async () => {\n return await this.baseFs.appendFilePromise(p, content, opts);\n }, async (zipFs, {\n subPath\n }) => {\n return await zipFs.appendFilePromise(subPath, content, opts);\n });\n }\n\n appendFileSync(p, content, opts) {\n return this.makeCallSync(p, () => {\n return this.baseFs.appendFileSync(p, content, opts);\n }, (zipFs, {\n subPath\n }) => {\n return zipFs.appendFileSync(subPath, content, opts);\n });\n }\n\n async writeFilePromise(p, content, opts) {\n return await this.makeCallPromise(p, async () => {\n return await this.baseFs.writeFilePromise(p, content, opts);\n }, async (zipFs, {\n subPath\n }) => {\n return await zipFs.writeFilePromise(subPath, content, opts);\n });\n }\n\n writeFileSync(p, content, opts) {\n return this.makeCallSync(p, () => {\n return this.baseFs.writeFileSync(p, content, opts);\n }, (zipFs, {\n subPath\n }) => {\n return zipFs.writeFileSync(subPath, content, opts);\n });\n }\n\n async unlinkPromise(p) {\n return await this.makeCallPromise(p, async () => {\n return await this.baseFs.unlinkPromise(p);\n }, async (zipFs, {\n subPath\n }) => {\n return await zipFs.unlinkPromise(subPath);\n });\n }\n\n unlinkSync(p) {\n return this.makeCallSync(p, () => {\n return this.baseFs.unlinkSync(p);\n }, (zipFs, {\n subPath\n }) => {\n return zipFs.unlinkSync(subPath);\n });\n }\n\n async utimesPromise(p, atime, mtime) {\n return await this.makeCallPromise(p, async () => {\n return await this.baseFs.utimesPromise(p, atime, mtime);\n }, async (zipFs, {\n subPath\n }) => {\n return await zipFs.utimesPromise(subPath, atime, mtime);\n });\n }\n\n utimesSync(p, atime, mtime) {\n return this.makeCallSync(p, () => {\n return this.baseFs.utimesSync(p, atime, mtime);\n }, (zipFs, {\n subPath\n }) => {\n return zipFs.utimesSync(subPath, atime, mtime);\n });\n }\n\n async mkdirPromise(p, opts) {\n return await this.makeCallPromise(p, async () => {\n return await this.baseFs.mkdirPromise(p, opts);\n }, async (zipFs, {\n subPath\n }) => {\n return await zipFs.mkdirPromise(subPath, opts);\n });\n }\n\n mkdirSync(p, opts) {\n return this.makeCallSync(p, () => {\n return this.baseFs.mkdirSync(p, opts);\n }, (zipFs, {\n subPath\n }) => {\n return zipFs.mkdirSync(subPath, opts);\n });\n }\n\n async rmdirPromise(p) {\n return await this.makeCallPromise(p, async () => {\n return await this.baseFs.rmdirPromise(p);\n }, async (zipFs, {\n subPath\n }) => {\n return await zipFs.rmdirPromise(subPath);\n });\n }\n\n rmdirSync(p) {\n return this.makeCallSync(p, () => {\n return this.baseFs.rmdirSync(p);\n }, (zipFs, {\n subPath\n }) => {\n return zipFs.rmdirSync(subPath);\n });\n }\n\n async symlinkPromise(target, p, type) {\n return await this.makeCallPromise(p, async () => {\n return await this.baseFs.symlinkPromise(target, p, type);\n }, async (zipFs, {\n subPath\n }) => {\n return await zipFs.symlinkPromise(target, subPath);\n });\n }\n\n symlinkSync(target, p, type) {\n return this.makeCallSync(p, () => {\n return this.baseFs.symlinkSync(target, p, type);\n }, (zipFs, {\n subPath\n }) => {\n return zipFs.symlinkSync(target, subPath);\n });\n }\n\n async readFilePromise(p, encoding) {\n return this.makeCallPromise(p, async () => {\n // This weird switch is required to tell TypeScript that the signatures are proper (otherwise it thinks that only the generic one is covered)\n switch (encoding) {\n case `utf8`:\n return await this.baseFs.readFilePromise(p, encoding);\n\n default:\n return await this.baseFs.readFilePromise(p, encoding);\n }\n }, async (zipFs, {\n subPath\n }) => {\n return await zipFs.readFilePromise(subPath, encoding);\n });\n }\n\n readFileSync(p, encoding) {\n return this.makeCallSync(p, () => {\n // This weird switch is required to tell TypeScript that the signatures are proper (otherwise it thinks that only the generic one is covered)\n switch (encoding) {\n case `utf8`:\n return this.baseFs.readFileSync(p, encoding);\n\n default:\n return this.baseFs.readFileSync(p, encoding);\n }\n }, (zipFs, {\n subPath\n }) => {\n return zipFs.readFileSync(subPath, encoding);\n });\n }\n\n async readdirPromise(p, {\n withFileTypes\n } = {}) {\n return await this.makeCallPromise(p, async () => {\n return await this.baseFs.readdirPromise(p, {\n withFileTypes: withFileTypes\n });\n }, async (zipFs, {\n subPath\n }) => {\n return await zipFs.readdirPromise(subPath, {\n withFileTypes: withFileTypes\n });\n }, {\n requireSubpath: false\n });\n }\n\n readdirSync(p, {\n withFileTypes\n } = {}) {\n return this.makeCallSync(p, () => {\n return this.baseFs.readdirSync(p, {\n withFileTypes: withFileTypes\n });\n }, (zipFs, {\n subPath\n }) => {\n return zipFs.readdirSync(subPath, {\n withFileTypes: withFileTypes\n });\n }, {\n requireSubpath: false\n });\n }\n\n async readlinkPromise(p) {\n return await this.makeCallPromise(p, async () => {\n return await this.baseFs.readlinkPromise(p);\n }, async (zipFs, {\n subPath\n }) => {\n return await zipFs.readlinkPromise(subPath);\n });\n }\n\n readlinkSync(p) {\n return this.makeCallSync(p, () => {\n return this.baseFs.readlinkSync(p);\n }, (zipFs, {\n subPath\n }) => {\n return zipFs.readlinkSync(subPath);\n });\n }\n\n watch(p, a, b) {\n return this.makeCallSync(p, () => {\n return this.baseFs.watch(p, // @ts-ignore\n a, b);\n }, (zipFs, {\n subPath\n }) => {\n return zipFs.watch(subPath, // @ts-ignore\n a, b);\n });\n }\n\n async makeCallPromise(p, discard, accept, {\n requireSubpath = true\n } = {}) {\n if (typeof p !== `string`) return await discard();\n const normalizedP = this.pathUtils.normalize(this.pathUtils.resolve(path_1.PortablePath.root, p));\n const zipInfo = this.findZip(normalizedP);\n if (!zipInfo) return await discard();\n if (requireSubpath && zipInfo.subPath === `/`) return await discard();\n return await this.getZipPromise(zipInfo.archivePath, async zipFs => await accept(zipFs, zipInfo));\n }\n\n makeCallSync(p, discard, accept, {\n requireSubpath = true\n } = {}) {\n if (typeof p !== `string`) return discard();\n const normalizedP = this.pathUtils.normalize(this.pathUtils.resolve(path_1.PortablePath.root, p));\n const zipInfo = this.findZip(normalizedP);\n if (!zipInfo) return discard();\n if (requireSubpath && zipInfo.subPath === `/`) return discard();\n return this.getZipSync(zipInfo.archivePath, zipFs => accept(zipFs, zipInfo));\n }\n\n findZip(p) {\n if (this.filter && !this.filter.test(p)) return null;\n const parts = p.split(/\\//g);\n\n for (let t = 2; t <= parts.length; ++t) {\n const archivePath = parts.slice(0, t).join(`/`);\n if (this.notZip.has(archivePath)) continue;\n if (this.isZip.has(archivePath)) return {\n archivePath,\n subPath: this.pathUtils.resolve(path_1.PortablePath.root, parts.slice(t).join(`/`))\n };\n let realArchivePath = archivePath;\n let stat;\n\n while (true) {\n try {\n stat = this.baseFs.lstatSync(realArchivePath);\n } catch (error) {\n return null;\n }\n\n if (stat.isSymbolicLink()) {\n realArchivePath = this.pathUtils.resolve(this.pathUtils.dirname(realArchivePath), this.baseFs.readlinkSync(realArchivePath));\n } else {\n break;\n }\n }\n\n const isZip = stat.isFile() && this.pathUtils.extname(realArchivePath) === `.zip`;\n\n if (isZip) {\n this.isZip.add(archivePath);\n return {\n archivePath,\n subPath: this.pathUtils.resolve(path_1.PortablePath.root, parts.slice(t).join(`/`))\n };\n } else {\n this.notZip.add(archivePath);\n\n if (stat.isFile()) {\n return null;\n }\n }\n }\n\n return null;\n }\n\n limitOpenFiles(max) {\n if (this.zipInstances === null) return;\n let closeCount = this.zipInstances.size - max;\n\n for (const [path, zipFs] of this.zipInstances.entries()) {\n if (closeCount <= 0) break;\n zipFs.saveAndClose();\n this.zipInstances.delete(path);\n closeCount -= 1;\n }\n }\n\n async getZipPromise(p, accept) {\n const getZipOptions = async () => ({\n baseFs: this.baseFs,\n libzip: this.libzip,\n readOnly: this.readOnlyArchives,\n stats: await this.baseFs.statPromise(p)\n });\n\n if (this.zipInstances) {\n let zipFs = this.zipInstances.get(p);\n\n if (!zipFs) {\n const zipOptions = await getZipOptions(); // We need to recheck because concurrent getZipPromise calls may\n // have instantiated the zip archive while we were waiting\n\n zipFs = this.zipInstances.get(p);\n\n if (!zipFs) {\n zipFs = new ZipFS_1.ZipFS(p, zipOptions);\n }\n } // Removing then re-adding the field allows us to easily implement\n // a basic LRU garbage collection strategy\n\n\n this.zipInstances.delete(p);\n this.zipInstances.set(p, zipFs);\n this.limitOpenFiles(this.maxOpenFiles);\n return await accept(zipFs);\n } else {\n const zipFs = new ZipFS_1.ZipFS(p, (await getZipOptions()));\n\n try {\n return await accept(zipFs);\n } finally {\n zipFs.saveAndClose();\n }\n }\n }\n\n getZipSync(p, accept) {\n const getZipOptions = () => ({\n baseFs: this.baseFs,\n libzip: this.libzip,\n readOnly: this.readOnlyArchives,\n stats: this.baseFs.statSync(p)\n });\n\n if (this.zipInstances) {\n let zipFs = this.zipInstances.get(p);\n if (!zipFs) zipFs = new ZipFS_1.ZipFS(p, getZipOptions()); // Removing then re-adding the field allows us to easily implement\n // a basic LRU garbage collection strategy\n\n this.zipInstances.delete(p);\n this.zipInstances.set(p, zipFs);\n this.limitOpenFiles(this.maxOpenFiles);\n return accept(zipFs);\n } else {\n const zipFs = new ZipFS_1.ZipFS(p, getZipOptions());\n\n try {\n return accept(zipFs);\n } finally {\n zipFs.saveAndClose();\n }\n }\n }\n\n}\n\nexports.ZipOpenFS = ZipOpenFS;\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nconst makeInterface_1 = __webpack_require__(25);\n\nlet mod = null;\n\nfunction getLibzipSync() {\n if (mod === null) mod = makeInterface_1.makeInterface(__webpack_require__(26));\n return mod;\n}\n\nexports.getLibzipSync = getLibzipSync;\n\nasync function getLibzipPromise() {\n return getLibzipSync();\n}\n\nexports.getLibzipPromise = getLibzipPromise;\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\nconst number64 = [`number`, `number`];\n\nexports.makeInterface = libzip => ({\n // Those are getters because they can change after memory growth\n get HEAP8() {\n return libzip.HEAP8;\n },\n\n get HEAPU8() {\n return libzip.HEAPU8;\n },\n\n ZIP_CHECKCONS: 4,\n ZIP_CREATE: 1,\n ZIP_EXCL: 2,\n ZIP_TRUNCATE: 8,\n ZIP_RDONLY: 16,\n ZIP_FL_OVERWRITE: 8192,\n ZIP_OPSYS_DOS: 0x00,\n ZIP_OPSYS_AMIGA: 0x01,\n ZIP_OPSYS_OPENVMS: 0x02,\n ZIP_OPSYS_UNIX: 0x03,\n ZIP_OPSYS_VM_CMS: 0x04,\n ZIP_OPSYS_ATARI_ST: 0x05,\n ZIP_OPSYS_OS_2: 0x06,\n ZIP_OPSYS_MACINTOSH: 0x07,\n ZIP_OPSYS_Z_SYSTEM: 0x08,\n ZIP_OPSYS_CPM: 0x09,\n ZIP_OPSYS_WINDOWS_NTFS: 0x0a,\n ZIP_OPSYS_MVS: 0x0b,\n ZIP_OPSYS_VSE: 0x0c,\n ZIP_OPSYS_ACORN_RISC: 0x0d,\n ZIP_OPSYS_VFAT: 0x0e,\n ZIP_OPSYS_ALTERNATE_MVS: 0x0f,\n ZIP_OPSYS_BEOS: 0x10,\n ZIP_OPSYS_TANDEM: 0x11,\n ZIP_OPSYS_OS_400: 0x12,\n ZIP_OPSYS_OS_X: 0x13,\n ZIP_CM_DEFAULT: -1,\n ZIP_CM_STORE: 0,\n ZIP_CM_DEFLATE: 8,\n uint08S: libzip._malloc(1),\n uint16S: libzip._malloc(2),\n uint32S: libzip._malloc(4),\n uint64S: libzip._malloc(8),\n malloc: libzip._malloc,\n free: libzip._free,\n getValue: libzip.getValue,\n open: libzip.cwrap(`zip_open`, `number`, [`string`, `number`, `number`]),\n openFromSource: libzip.cwrap(`zip_open_from_source`, `number`, [`number`, `number`, `number`]),\n close: libzip.cwrap(`zip_close`, `number`, [`number`]),\n discard: libzip.cwrap(`zip_discard`, null, [`number`]),\n getError: libzip.cwrap(`zip_get_error`, `number`, [`number`]),\n getName: libzip.cwrap(`zip_get_name`, `string`, [`number`, `number`, `number`]),\n getNumEntries: libzip.cwrap(`zip_get_num_entries`, `number`, [`number`, `number`]),\n stat: libzip.cwrap(`zip_stat`, `number`, [`number`, `string`, `number`, `number`]),\n statIndex: libzip.cwrap(`zip_stat_index`, `number`, [`number`, ...number64, `number`, `number`]),\n fopen: libzip.cwrap(`zip_fopen`, `number`, [`number`, `string`, `number`]),\n fopenIndex: libzip.cwrap(`zip_fopen_index`, `number`, [`number`, ...number64, `number`]),\n fread: libzip.cwrap(`zip_fread`, `number`, [`number`, `number`, `number`, `number`]),\n fclose: libzip.cwrap(`zip_fclose`, `number`, [`number`]),\n dir: {\n add: libzip.cwrap(`zip_dir_add`, `number`, [`number`, `string`])\n },\n file: {\n add: libzip.cwrap(`zip_file_add`, `number`, [`number`, `string`, `number`, `number`]),\n getError: libzip.cwrap(`zip_file_get_error`, `number`, [`number`]),\n getExternalAttributes: libzip.cwrap(`zip_file_get_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]),\n setExternalAttributes: libzip.cwrap(`zip_file_set_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]),\n setMtime: libzip.cwrap(`zip_file_set_mtime`, `number`, [`number`, ...number64, `number`, `number`]),\n setCompression: libzip.cwrap(`zip_set_file_compression`, `number`, [`number`, ...number64, `number`, `number`])\n },\n error: {\n initWithCode: libzip.cwrap(`zip_error_init_with_code`, null, [`number`, `number`]),\n strerror: libzip.cwrap(`zip_error_strerror`, `string`, [`number`])\n },\n name: {\n locate: libzip.cwrap(`zip_name_locate`, `number`, [`number`, `string`, `number`])\n },\n source: {\n fromUnattachedBuffer: libzip.cwrap(`zip_source_buffer_create`, `number`, [`number`, `number`, `number`, `number`]),\n fromBuffer: libzip.cwrap(`zip_source_buffer`, `number`, [`number`, `number`, ...number64, `number`]),\n free: libzip.cwrap(`zip_source_free`, null, [`number`]),\n setMtime: libzip.cwrap(`zip_source_set_mtime`, `number`, [`number`, `number`])\n },\n struct: {\n stat: libzip.cwrap(`zipstruct_stat`, `number`, []),\n statS: libzip.cwrap(`zipstruct_statS`, `number`, []),\n statName: libzip.cwrap(`zipstruct_stat_name`, `string`, [`number`]),\n statIndex: libzip.cwrap(`zipstruct_stat_index`, `number`, [`number`]),\n statSize: libzip.cwrap(`zipstruct_stat_size`, `number`, [`number`]),\n statMtime: libzip.cwrap(`zipstruct_stat_mtime`, `number`, [`number`]),\n error: libzip.cwrap(`zipstruct_error`, `number`, []),\n errorS: libzip.cwrap(`zipstruct_errorS`, `number`, [])\n }\n});\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar frozenFs = Object.assign({}, __webpack_require__(2));\nvar Module = typeof Module !== "undefined" ? Module : {};\nvar moduleOverrides = {};\nvar key;\nfor (key in Module) {\n if (Module.hasOwnProperty(key)) {\n moduleOverrides[key] = Module[key];\n }\n}\nvar arguments_ = [];\nvar thisProgram = "./this.program";\nvar quit_ = function(status, toThrow) {\n throw toThrow;\n};\nvar ENVIRONMENT_IS_WORKER = false;\nvar ENVIRONMENT_IS_NODE = true;\nvar ENVIRONMENT_HAS_NODE = ENVIRONMENT_IS_NODE;\nvar scriptDirectory = "";\nfunction locateFile(path) {\n if (Module["locateFile"]) {\n return Module["locateFile"](path, scriptDirectory);\n }\n return scriptDirectory + path;\n}\nvar read_, readBinary;\nvar nodeFS;\nvar nodePath;\nif (ENVIRONMENT_IS_NODE) {\n scriptDirectory = __dirname + "/";\n read_ = function shell_read(filename, binary) {\n var ret;\n ret = tryParseAsDataURI(filename);\n if (ret) {\n return binary ? ret : ret.toString();\n }\n if (!nodeFS) nodeFS = frozenFs;\n if (!nodePath) nodePath = __webpack_require__(7);\n filename = nodePath["normalize"](filename);\n return nodeFS["readFileSync"](filename, binary ? null : "utf8");\n };\n readBinary = function readBinary(filename) {\n var ret = read_(filename, true);\n if (!ret.buffer) {\n ret = new Uint8Array(ret);\n }\n assert(ret.buffer);\n return ret;\n };\n if (process["argv"].length > 1) {\n thisProgram = process["argv"][1].replace(/\\\\/g, "/");\n }\n arguments_ = process["argv"].slice(2);\n if (true) {\n module["exports"] = Module;\n }\n (function() {})("uncaughtException", function(ex) {\n if (!(ex instanceof ExitStatus)) {\n throw ex;\n }\n });\n (function() {})("unhandledRejection", abort);\n quit_ = function(status) {\n process["exit"](status);\n };\n Module["inspect"] = function() {\n return "[Emscripten Module object]";\n };\n} else {\n}\nvar out = Module["print"] || console.log.bind(console);\nvar err = Module["printErr"] || console.warn.bind(console);\nfor (key in moduleOverrides) {\n if (moduleOverrides.hasOwnProperty(key)) {\n Module[key] = moduleOverrides[key];\n }\n}\nmoduleOverrides = null;\nif (Module["arguments"]) arguments_ = Module["arguments"];\nif (Module["thisProgram"]) thisProgram = Module["thisProgram"];\nif (Module["quit"]) quit_ = Module["quit"];\nfunction dynamicAlloc(size) {\n var ret = HEAP32[DYNAMICTOP_PTR >> 2];\n var end = (ret + size + 15) & -16;\n if (end > _emscripten_get_heap_size()) {\n abort();\n }\n HEAP32[DYNAMICTOP_PTR >> 2] = end;\n return ret;\n}\nfunction getNativeTypeSize(type) {\n switch (type) {\n case "i1":\n case "i8":\n return 1;\n case "i16":\n return 2;\n case "i32":\n return 4;\n case "i64":\n return 8;\n case "float":\n return 4;\n case "double":\n return 8;\n default: {\n if (type[type.length - 1] === "*") {\n return 4;\n } else if (type[0] === "i") {\n var bits = parseInt(type.substr(1));\n assert(\n bits % 8 === 0,\n "getNativeTypeSize invalid bits " + bits + ", type " + type\n );\n return bits / 8;\n } else {\n return 0;\n }\n }\n }\n}\nvar tempRet0 = 0;\nvar setTempRet0 = function(value) {\n tempRet0 = value;\n};\nvar wasmBinary;\nif (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"];\nvar noExitRuntime;\nif (Module["noExitRuntime"]) noExitRuntime = Module["noExitRuntime"];\nif (typeof WebAssembly !== "object") {\n err("no native wasm support detected");\n}\nfunction setValue(ptr, value, type, noSafe) {\n type = type || "i8";\n if (type.charAt(type.length - 1) === "*") type = "i32";\n switch (type) {\n case "i1":\n HEAP8[ptr >> 0] = value;\n break;\n case "i8":\n HEAP8[ptr >> 0] = value;\n break;\n case "i16":\n HEAP16[ptr >> 1] = value;\n break;\n case "i32":\n HEAP32[ptr >> 2] = value;\n break;\n case "i64":\n (tempI64 = [\n value >>> 0,\n ((tempDouble = value),\n +Math_abs(tempDouble) >= 1\n ? tempDouble > 0\n ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) |\n 0) >>>\n 0\n : ~~+Math_ceil(\n (tempDouble - +(~~tempDouble >>> 0)) / 4294967296\n ) >>> 0\n : 0)\n ]),\n (HEAP32[ptr >> 2] = tempI64[0]),\n (HEAP32[(ptr + 4) >> 2] = tempI64[1]);\n break;\n case "float":\n HEAPF32[ptr >> 2] = value;\n break;\n case "double":\n HEAPF64[ptr >> 3] = value;\n break;\n default:\n abort("invalid type for setValue: " + type);\n }\n}\nfunction getValue(ptr, type, noSafe) {\n type = type || "i8";\n if (type.charAt(type.length - 1) === "*") type = "i32";\n switch (type) {\n case "i1":\n return HEAP8[ptr >> 0];\n case "i8":\n return HEAP8[ptr >> 0];\n case "i16":\n return HEAP16[ptr >> 1];\n case "i32":\n return HEAP32[ptr >> 2];\n case "i64":\n return HEAP32[ptr >> 2];\n case "float":\n return HEAPF32[ptr >> 2];\n case "double":\n return HEAPF64[ptr >> 3];\n default:\n abort("invalid type for getValue: " + type);\n }\n return null;\n}\nvar wasmMemory;\nvar wasmTable = new WebAssembly.Table({\n initial: 31,\n maximum: 31 + 0,\n element: "anyfunc"\n});\nvar ABORT = false;\nvar EXITSTATUS = 0;\nfunction assert(condition, text) {\n if (!condition) {\n abort("Assertion failed: " + text);\n }\n}\nfunction getCFunc(ident) {\n var func = Module["_" + ident];\n assert(\n func,\n "Cannot call unknown function " + ident + ", make sure it is exported"\n );\n return func;\n}\nfunction ccall(ident, returnType, argTypes, args, opts) {\n var toC = {\n string: function(str) {\n var ret = 0;\n if (str !== null && str !== undefined && str !== 0) {\n var len = (str.length << 2) + 1;\n ret = stackAlloc(len);\n stringToUTF8(str, ret, len);\n }\n return ret;\n },\n array: function(arr) {\n var ret = stackAlloc(arr.length);\n writeArrayToMemory(arr, ret);\n return ret;\n }\n };\n function convertReturnValue(ret) {\n if (returnType === "string") return UTF8ToString(ret);\n if (returnType === "boolean") return Boolean(ret);\n return ret;\n }\n var func = getCFunc(ident);\n var cArgs = [];\n var stack = 0;\n if (args) {\n for (var i = 0; i < args.length; i++) {\n var converter = toC[argTypes[i]];\n if (converter) {\n if (stack === 0) stack = stackSave();\n cArgs[i] = converter(args[i]);\n } else {\n cArgs[i] = args[i];\n }\n }\n }\n var ret = func.apply(null, cArgs);\n ret = convertReturnValue(ret);\n if (stack !== 0) stackRestore(stack);\n return ret;\n}\nfunction cwrap(ident, returnType, argTypes, opts) {\n argTypes = argTypes || [];\n var numericArgs = argTypes.every(function(type) {\n return type === "number";\n });\n var numericRet = returnType !== "string";\n if (numericRet && numericArgs && !opts) {\n return getCFunc(ident);\n }\n return function() {\n return ccall(ident, returnType, argTypes, arguments, opts);\n };\n}\nvar ALLOC_NORMAL = 0;\nvar ALLOC_NONE = 3;\nfunction allocate(slab, types, allocator, ptr) {\n var zeroinit, size;\n if (typeof slab === "number") {\n zeroinit = true;\n size = slab;\n } else {\n zeroinit = false;\n size = slab.length;\n }\n var singleType = typeof types === "string" ? types : null;\n var ret;\n if (allocator == ALLOC_NONE) {\n ret = ptr;\n } else {\n ret = [_malloc, stackAlloc, dynamicAlloc][allocator](\n Math.max(size, singleType ? 1 : types.length)\n );\n }\n if (zeroinit) {\n var stop;\n ptr = ret;\n assert((ret & 3) == 0);\n stop = ret + (size & ~3);\n for (; ptr < stop; ptr += 4) {\n HEAP32[ptr >> 2] = 0;\n }\n stop = ret + size;\n while (ptr < stop) {\n HEAP8[ptr++ >> 0] = 0;\n }\n return ret;\n }\n if (singleType === "i8") {\n if (slab.subarray || slab.slice) {\n HEAPU8.set(slab, ret);\n } else {\n HEAPU8.set(new Uint8Array(slab), ret);\n }\n return ret;\n }\n var i = 0,\n type,\n typeSize,\n previousType;\n while (i < size) {\n var curr = slab[i];\n type = singleType || types[i];\n if (type === 0) {\n i++;\n continue;\n }\n if (type == "i64") type = "i32";\n setValue(ret + i, curr, type);\n if (previousType !== type) {\n typeSize = getNativeTypeSize(type);\n previousType = type;\n }\n i += typeSize;\n }\n return ret;\n}\nvar UTF8Decoder =\n typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined;\nfunction UTF8ArrayToString(u8Array, idx, maxBytesToRead) {\n var endIdx = idx + maxBytesToRead;\n var endPtr = idx;\n while (u8Array[endPtr] && !(endPtr >= endIdx)) ++endPtr;\n if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) {\n return UTF8Decoder.decode(u8Array.subarray(idx, endPtr));\n } else {\n var str = "";\n while (idx < endPtr) {\n var u0 = u8Array[idx++];\n if (!(u0 & 128)) {\n str += String.fromCharCode(u0);\n continue;\n }\n var u1 = u8Array[idx++] & 63;\n if ((u0 & 224) == 192) {\n str += String.fromCharCode(((u0 & 31) << 6) | u1);\n continue;\n }\n var u2 = u8Array[idx++] & 63;\n if ((u0 & 240) == 224) {\n u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;\n } else {\n u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (u8Array[idx++] & 63);\n }\n if (u0 < 65536) {\n str += String.fromCharCode(u0);\n } else {\n var ch = u0 - 65536;\n str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023));\n }\n }\n }\n return str;\n}\nfunction UTF8ToString(ptr, maxBytesToRead) {\n return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";\n}\nfunction stringToUTF8Array(str, outU8Array, outIdx, maxBytesToWrite) {\n if (!(maxBytesToWrite > 0)) return 0;\n var startIdx = outIdx;\n var endIdx = outIdx + maxBytesToWrite - 1;\n for (var i = 0; i < str.length; ++i) {\n var u = str.charCodeAt(i);\n if (u >= 55296 && u <= 57343) {\n var u1 = str.charCodeAt(++i);\n u = (65536 + ((u & 1023) << 10)) | (u1 & 1023);\n }\n if (u <= 127) {\n if (outIdx >= endIdx) break;\n outU8Array[outIdx++] = u;\n } else if (u <= 2047) {\n if (outIdx + 1 >= endIdx) break;\n outU8Array[outIdx++] = 192 | (u >> 6);\n outU8Array[outIdx++] = 128 | (u & 63);\n } else if (u <= 65535) {\n if (outIdx + 2 >= endIdx) break;\n outU8Array[outIdx++] = 224 | (u >> 12);\n outU8Array[outIdx++] = 128 | ((u >> 6) & 63);\n outU8Array[outIdx++] = 128 | (u & 63);\n } else {\n if (outIdx + 3 >= endIdx) break;\n outU8Array[outIdx++] = 240 | (u >> 18);\n outU8Array[outIdx++] = 128 | ((u >> 12) & 63);\n outU8Array[outIdx++] = 128 | ((u >> 6) & 63);\n outU8Array[outIdx++] = 128 | (u & 63);\n }\n }\n outU8Array[outIdx] = 0;\n return outIdx - startIdx;\n}\nfunction stringToUTF8(str, outPtr, maxBytesToWrite) {\n return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);\n}\nfunction lengthBytesUTF8(str) {\n var len = 0;\n for (var i = 0; i < str.length; ++i) {\n var u = str.charCodeAt(i);\n if (u >= 55296 && u <= 57343)\n u = (65536 + ((u & 1023) << 10)) | (str.charCodeAt(++i) & 1023);\n if (u <= 127) ++len;\n else if (u <= 2047) len += 2;\n else if (u <= 65535) len += 3;\n else len += 4;\n }\n return len;\n}\nvar UTF16Decoder =\n typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined;\nfunction writeArrayToMemory(array, buffer) {\n HEAP8.set(array, buffer);\n}\nvar WASM_PAGE_SIZE = 65536;\nfunction alignUp(x, multiple) {\n if (x % multiple > 0) {\n x += multiple - (x % multiple);\n }\n return x;\n}\nvar buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;\nfunction updateGlobalBufferAndViews(buf) {\n buffer = buf;\n Module["HEAP8"] = HEAP8 = new Int8Array(buf);\n Module["HEAP16"] = HEAP16 = new Int16Array(buf);\n Module["HEAP32"] = HEAP32 = new Int32Array(buf);\n Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf);\n Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf);\n Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf);\n Module["HEAPF32"] = HEAPF32 = new Float32Array(buf);\n Module["HEAPF64"] = HEAPF64 = new Float64Array(buf);\n}\nvar DYNAMIC_BASE = 5263680,\n DYNAMICTOP_PTR = 20640;\nvar INITIAL_TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 16777216;\nif (Module["wasmMemory"]) {\n wasmMemory = Module["wasmMemory"];\n} else {\n wasmMemory = new WebAssembly.Memory({\n initial: INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE\n });\n}\nif (wasmMemory) {\n buffer = wasmMemory.buffer;\n}\nINITIAL_TOTAL_MEMORY = buffer.byteLength;\nupdateGlobalBufferAndViews(buffer);\nHEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE;\nfunction callRuntimeCallbacks(callbacks) {\n while (callbacks.length > 0) {\n var callback = callbacks.shift();\n if (typeof callback == "function") {\n callback();\n continue;\n }\n var func = callback.func;\n if (typeof func === "number") {\n if (callback.arg === undefined) {\n Module["dynCall_v"](func);\n } else {\n Module["dynCall_vi"](func, callback.arg);\n }\n } else {\n func(callback.arg === undefined ? null : callback.arg);\n }\n }\n}\nvar __ATPRERUN__ = [];\nvar __ATINIT__ = [];\nvar __ATMAIN__ = [];\nvar __ATPOSTRUN__ = [];\nvar runtimeInitialized = false;\nfunction preRun() {\n if (Module["preRun"]) {\n if (typeof Module["preRun"] == "function")\n Module["preRun"] = [Module["preRun"]];\n while (Module["preRun"].length) {\n addOnPreRun(Module["preRun"].shift());\n }\n }\n callRuntimeCallbacks(__ATPRERUN__);\n}\nfunction initRuntime() {\n runtimeInitialized = true;\n if (!Module["noFSInit"] && !FS.init.initialized) FS.init();\n TTY.init();\n callRuntimeCallbacks(__ATINIT__);\n}\nfunction preMain() {\n FS.ignorePermissions = false;\n callRuntimeCallbacks(__ATMAIN__);\n}\nfunction postRun() {\n if (Module["postRun"]) {\n if (typeof Module["postRun"] == "function")\n Module["postRun"] = [Module["postRun"]];\n while (Module["postRun"].length) {\n addOnPostRun(Module["postRun"].shift());\n }\n }\n callRuntimeCallbacks(__ATPOSTRUN__);\n}\nfunction addOnPreRun(cb) {\n __ATPRERUN__.unshift(cb);\n}\nfunction addOnPostRun(cb) {\n __ATPOSTRUN__.unshift(cb);\n}\nvar Math_abs = Math.abs;\nvar Math_ceil = Math.ceil;\nvar Math_floor = Math.floor;\nvar Math_min = Math.min;\nvar runDependencies = 0;\nvar runDependencyWatcher = null;\nvar dependenciesFulfilled = null;\nfunction getUniqueRunDependency(id) {\n return id;\n}\nfunction addRunDependency(id) {\n runDependencies++;\n if (Module["monitorRunDependencies"]) {\n Module["monitorRunDependencies"](runDependencies);\n }\n}\nfunction removeRunDependency(id) {\n runDependencies--;\n if (Module["monitorRunDependencies"]) {\n Module["monitorRunDependencies"](runDependencies);\n }\n if (runDependencies == 0) {\n if (runDependencyWatcher !== null) {\n clearInterval(runDependencyWatcher);\n runDependencyWatcher = null;\n }\n if (dependenciesFulfilled) {\n var callback = dependenciesFulfilled;\n dependenciesFulfilled = null;\n callback();\n }\n }\n}\nModule["preloadedImages"] = {};\nModule["preloadedAudios"] = {};\nfunction abort(what) {\n if (Module["onAbort"]) {\n Module["onAbort"](what);\n }\n what += "";\n out(what);\n err(what);\n ABORT = true;\n EXITSTATUS = 1;\n what = "abort(" + what + "). Build with -s ASSERTIONS=1 for more info.";\n throw new WebAssembly.RuntimeError(what);\n}\nvar dataURIPrefix = "data:application/octet-stream;base64,";\nfunction isDataURI(filename) {\n return String.prototype.startsWith\n ? filename.startsWith(dataURIPrefix)\n : filename.indexOf(dataURIPrefix) === 0;\n}\nvar wasmBinaryFile =\n "data:application/octet-stream;base64,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EDcaCyABKAIMKAIkQQFGBEAgASgCDBBmCwJAIAEoAgwoAixFDQAgASgCDC0AKEEBcQ0AIAEoAgwoAiwgASgCDBD8AgsgASgCDEEAQgBBBRAkGiABKAIMKAIABEAgASgCDCgCABAeCyABKAIMEBgLIAFBEGokAAuBAgEBfyMAQRBrIgEkACABIAA2AgwgASABKAIMKAIcNgIEIAEoAgQQ4gIgASABKAIEKAIUNgIIIAEoAgggASgCDCgCEEsEQCABIAEoAgwoAhA2AggLAkAgASgCCEUNACABKAIMKAIMIAEoAgQoAhAgASgCCBAcGiABKAIMIgAgASgCCCAAKAIMajYCDCABKAIEIgAgASgCCCAAKAIQajYCECABKAIMIgAgASgCCCAAKAIUajYCFCABKAIMIgAgACgCECABKAIIazYCECABKAIEIgAgACgCFCABKAIIazYCFCABKAIEKAIUDQAgASgCBCABKAIEKAIINgIQCyABQRBqJAALYAEBfyMAQRBrIgEkACABIAA2AgggASABKAIIQgIQITYCBAJAIAEoAgRFBEAgAUEAOwEODAELIAEgASgCBC0AACABKAIELQABQQh0ajsBDgsgAS8BDiEAIAFBEGokACAAC1oBAX8jAEEgayICJAAgAiAANgIcIAIgATcDECACIAIoAhwgAikDEBDLATYCDCACKAIMBEAgAigCHCIAIAIpAxAgACkDEHw3AxALIAIoAgwhACACQSBqJAAgAAtvAQF/IwBBEGsiAiQAIAIgADYCCCACIAE7AQYgAiACKAIIQgIQITYCAAJAIAIoAgBFBEAgAkF/NgIMDAELIAIoAgAgAi8BBjoAACACKAIAIAIvAQZBCHU6AAEgAkEANgIMCyACKAIMGiACQRBqJAALjwEBAX8jAEEQayICJAAgAiAANgIIIAIgATYCBCACIAIoAghCBBAhNgIAAkAgAigCAEUEQCACQX82AgwMAQsgAigCACACKAIEOgAAIAIoAgAgAigCBEEIdjoAASACKAIAIAIoAgRBEHY6AAIgAigCACACKAIEQRh2OgADIAJBADYCDAsgAigCDBogAkEQaiQAC7YCAQF/IwBBMGsiBCQAIAQgADYCJCAEIAE2AiAgBCACNwMYIAQgAzYCFAJAIAQoAiQpAxhCASAEKAIUrYaDUARAIAQoAiRBDGpBHEEA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Qf/9+3dqcUGAgYKEeHFFDQALIANB/wFxRQRAIAIhAQwBCwNAIAItAAEhAyACQQFqIgEhAiADDQALCyABIABrC4sDAQF/IwBBMGsiAyQAIAMgADYCJCADIAE2AiAgAyACNwMYAkAgAygCJC0AKEEBcQRAIANCfzcDKAwBCwJAAkAgAygCJCgCIEEATQ0AIAMpAxhC////////////AFYNACADKQMYQgBYDQEgAygCIA0BCyADKAIkQQxqQRJBABAXIANCfzcDKAwBCyADKAIkLQA1QQFxBEAgA0J/NwMoDAELAn8jAEEQayIAIAMoAiQ2AgwgACgCDC0ANEEBcQsEQCADQgA3AygMAQsgAykDGFAEQCADQgA3AygMAQsgA0IANwMQA0AgAykDECADKQMYVARAIAMgAygCJCADKAIgIAMpAxCnaiADKQMYIAMpAxB9QQEQJCICNwMIIAJCAFMEQCADKAIkQQE6ADUgAykDEFAEQCADQn83AygMBAsgAyADKQMQNwMoDAMLIAMpAwhQBEAgAygCJEEBOgA0BSADIAMpAwggAykDEHw3AxAMAgsLCyADIAMpAxA3AygLIAMpAyghAiADQTBqJAAgAgs2AQF/IwBBEGsiASAANgIMAn4gASgCDC0AAEEBcQRAIAEoAgwpAwggASgCDCkDEH0MAQtCAAsLsgECAX8BfiMAQRBrIgEkACABIAA2AgQgASABKAIEQggQITYCAAJAIAEoAgBFBEAgAUIANwMIDAELIAEgASgCAC0AAK0gASgCAC0AB61COIYgASgCAC0ABq1CMIZ8IAEoAgAtAAWtQiiGfCABKAIALQAErUIghnwgASgCAC0AA61CGIZ8IAEoAgAtAAKtQhCGfCABKAIALQABrUIIhnx8NwMICyABKQMIIQIgAUEQaiQAIAIL8QICAn8BfgJAIAJFDQAgACACaiIDQX9qIAE6AAAgACABOgAAIAJBA0kNACADQX5qIAE6AAAgACABOgABIANBfWogAToAACAAIAE6AAIgAkEHSQ0AIANBfGogAToAACAAIAE6AAMgAkEJSQ0AIABBACAAa0EDcSIEaiIDIAFB/wFxQYGChAhsIgA2AgAgAyACIARrQXxxIgJqIgFBfGogADYCACACQQlJDQAgAyAANgIIIAMgADYCBCABQXhqIAA2AgAgAUF0aiAANgIAIAJBGUkNACADIAA2AhggAyAANgIUIAMgADYCECADIAA2AgwgAUFwaiAANgIAIAFBbGogADYCACABQWhqIAA2AgAgAUFkaiAANgIAIAIgA0EEcUEYciIBayICQSBJDQAgAK0iBUIghiAFhCEFIAEgA2ohAQNAIAEgBTcDGCABIAU3AxAgASAFNwMIIAEgBTcDACABQSBqIQEgAkFgaiICQR9LDQALCwvcAQEBfyMAQRBrIgEkACABIAA2AgwgASgCDARAIAEoAgwoAigEQCABKAIMKAIoQQA2AiggASgCDCgCKEIANwMgIAEoAgwCfiABKAIMKQMYIAEoAgwpAyBWBEAgASgCDCkDGAwBCyABKAIMKQMgCzcDGAsgASABKAIMKQMYNwMAA0AgASkDACABKAIMKQMIWkUEQCABKAIMKAIAIAEpAwCnQQR0aigCABAYIAEgASkDAEIBfDcDAAwBCwsgASgCDCgCABAYIAEoAgwoAgQQGCABKAIMEBgLIAFBEGokAAtrAQF/IwBBIGsiAiAANgIcIAJCASACKAIcrYY3AxAgAkEMaiABNgIAA0AgAiACKAIMIgBBBGo2AgwgAiAAKAIANgIIIAIoAghBAEhFBEAgAiACKQMQQgEgAigCCK2GhDcDEAwBCwsgAikDEAuoAQEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIKAIgQQBNBEAgASgCCEEMakESQQAQFyABQX82AgwMAQsgASgCCCIAIAAoAiBBf2o2AiAgASgCCCgCIEUEQCABKAIIQQBCAEECECQaIAEoAggoAgAEQCABKAIIKAIAEDdBAEgEQCABKAIIQQxqQRRBABAXCwsLIAFBADYCDAsgASgCDCEAIAFBEGokACAACy8BAX8jAEEQayIBJAAgASAANgIMIAEoAgwoAggQGCABKAIMQQA2AgggAUEQaiQAC80BAQF/IwBBEGsiAiQAIAIgADYCCCACIAE2AgQCQCACKAIILQAoQQFxBEAgAkF/NgIMDAELIAIoAgRFBEAgAigCCEEMakESQQAQFyACQX82AgwMAQsgAigCBBA+IAIoAggoAgAEQCACKAIIKAIAIAIoAgQQOUEASARAIAIoAghBDGogAigCCCgCABAaIAJBfzYCDAwCCwsgAigCCCACKAIEQjhBAxAkQgBTBEAgAkF/NgIMDAELIAJB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ASgCHCgCbGs2AhQgASgCHCgCbCABKAIQIAEoAhwoAixBhgJrak8EQCABKAIcKAI4IAEoAhwoAjggASgCEGogASgCECABKAIUaxAcGiABKAIcIgAgACgCcCABKAIQazYCcCABKAIcIgAgACgCbCABKAIQazYCbCABKAIcIgAgACgCXCABKAIQazYCXCABKAIcENMCIAEgASgCECABKAIUajYCFAsgASgCHCgCACgCBARAIAEgASgCHCgCACABKAIcKAJ0IAEoAhwoAjggASgCHCgCbGpqIAEoAhQQdTYCGCABKAIcIgAgASgCGCAAKAJ0ajYCdCABKAIcKAJ0IAEoAhwoArQtakEDTwRAIAEgASgCHCgCbCABKAIcKAK0LWs2AgwgASgCHCABKAIcKAI4IAEoAgxqLQAANgJIIAEoAhwgASgCHCgCVCABKAIcKAI4IAEoAgxBAWpqLQAAIAEoAhwoAkggASgCHCgCWHRzcTYCSANAIAEoAhwoArQtBEAgASgCHCABKAIcKAJUIAEoAhwoAjggASgCDEECamotAAAgASgCHCgCSCABKAIcKAJYdHNxNgJIIAEoAhwoAkAgASgCDCABKAIcKAI0cUEBdGogASgCHCgCRCABKAIcKAJIQQF0ai8BADsBACABKAIcKAJEIAEoAhwoAkhBAXRqIAEoAgw7AQAgASABKAIMQQFqNgIMIAEoAhwiACAAKAK0LUF/ajYCtC0gASgCHCgCdCABKAIcKAK0LWpBA08NAQsLC0EAIQAgASgCHCgCdEGGAkkEfyABKAIcKAIAKAIEQQBHBUEAC0EBcQ0BCwsgASgCHCgCwC0gASgCHCgCPEkEQCABIAEoAhwoAmwgASgCHCgCdGo2AggCQCABKAIcKALALSABKAIISQRAIAEgASgCHCgCPCABKAIIazYCBCABKAIEQYICSwRAIAFBggI2AgQLIAEoAhwoAjggASgCCGpBACABKAIEEDQgASgCHCABKAIIIAEoAgRqNgLALQwBCyABKAIcKALALSABKAIIQYICakkEQCABIAEoAghBggJqIAEoAhwoAsAtazYCBCABKAIEIAEoAhwoAjwgASgCHCgCwC1rSwRAIAEgASgCHCgCPCABKAIcKALALWs2AgQLIAEoAhwoAjggASgCHCgCwC1qQQAgASgCBBA0IAEoAhwiACABKAIE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AygCSDYCkAELCwJAIAMoAqQBLwFSRQRAIAMoAqQBIgAgAC8BDEH+/wNxOwEMDAELIAMoAqQBIgAgAC8BDEEBcjsBDAsgAyADKAKkASADKAKgARCCAUEBcToAhgEgAyADKAKgAUGACnFBgApHBH8gAy0AhgEFQQELQQFxOgCHASADAn9BASADKAKkAS8BUkGBAkYNABpBASADKAKkAS8BUkGCAkYNABogAygCpAEvAVJBgwJGC0EBcToAhQEgAy0AhwFBAXEEQCADIANBIGpCHBArNgIcIAMoAhxFBEAgAygCqAFBCGpBDkEAEBcgAygCkAEQJiADQX82AqwBDAILAkAgAygCoAFBgAJxBEACQCADKAKgAUGACHENACADKAKkASkDIEL/////D1YNACADKAKkASkDKEL/////D1gNAgsgAygCHCADKAKkASkDKBAvIAMoAhwgAygCpAEpAyAQLwwBCwJAAkAgAygCoAFBgAhxDQAgAygCpAEpAyBC/////w9WDQAgAygCpAEpAyhC/////w9WDQAgAygCpAEpA0hC/////w9YDQELIAMoAqQBKQMoQv////8PWgRAIAMoAhwgAygCpAEpAygQLwsgAygCpAEpAyBC/////w9aBEAgAygCHCADKAKkASkDIBAvCyADKAKkASkDSEL/////D1oEQCADKAIcIAMoAqQBKQNIEC8LCwsCfyMAQRBrIgAgAygCHDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFyADKAIcEBkgAygCkAEQJiADQX82AqwBDAILIANBAQJ/IwBBEGsiACADKAIcNgIMAn4gACgCDC0AAEEBcQRAIAAoAgwpAxAMAQtCAAunQf//A3ELIANBIGpBgAYQXjYCjAEgAygCHBAZIAMoAowBIAMoApABNgIAIAMgAygCjAE2ApABCyADLQCFAUEBcQRAIAMgA0EVakIHECs2AhAgAygCEEUEQCADKAKoAUEIakEOQQAQFyADKAKQARAmIANBfzYCrAEMAgsgAygCEEECECIgAygCEEHv1wBBAhBCIAMoAhAgAygCpAEvAVJB/wFxEIUBIAMoAhAgAygCpAEoAhBB//8DcRAiAn8jAEEQayIAIAMoAhA2AgwgACgCDC0AAEEBcUULBEAgAygCqAFBCGpBFEEAEBcgAygCEBAZIAMoApABECYgA0F/NgKsAQwCCyADQYGyAkEHIANBFWpBgAYQXjYCDCADKAIQEBkgAygCDCADKAKQATYCACADIAMoAgw2ApABCyADIANB0ABqQi4QKyIANgJMIABFBEAgAygCqAFBCGpBDkEAEBcgAygCkAEQJiADQX82AqwBDAELIAMoAkxB5dcAQerXACADKAKgAUGAAnEbQQQQQiADKAKgAUGAAnFFBEAgAygCTAJ/QS0gAy0AhgFBAXENABogAygCpAEvAQgLQf//A3EQIgsgAygCTAJ/QS0gAy0AhgFBAXENABogAygCpAEvAQoLQf//A3EQIiADKAJMIAMoAqQBLwEMECICQCADLQCFAUEBcQRAIAMoAkxB4wAQIgwBCyADKAJMIAMoAqQBKAIQQf//A3EQIgsgAygCpAEoAhQgA0GeAWogA0GcAWoQvAEgAygCTCADLwGeARAiIAMoAkwgAy8BnAEQIgJAAkAgAy0AhQFBAXFFDQAgAygCpAEpAyhCFFoNACADKAJMQQAQIwwBCyADKAJMIAMoAqQBKAIYECMLAkACQCADKAKgAUGAAnFBgAJHDQAgAygCpAEpAyBC/////w9UBEAgAygCpAEpAyhC/////w9UDQELIAMoAkxBfxAjIAMoAkxBfxAjDAELAkAgAygCpAEpAyBC/////w9UBEAgAygCTCADKAKkASkDIKcQIwwBCyADKAJMQX8QIwsCQCADKAKkASkDKEL/////D1QEQCADKAJMIAMoAqQBKQMopxAjDAELIAMoAkxBfxAjCwsgAygCTCADKAKkASgCMBBgQf//A3EQIiADIAMoAqQBKAI0IAMoAqABEMEBQf//A3EgAygCkAFBgAYQwQFB//8DcWo2AogBIAMoAkwgAygCiAFB//8DcRAiIAMoAqABQYACcUUEQCADKAJMIAMoAqQBKAI4EGBB//8DcRAiIAMoAkwgAygCpAEoAjxB//8DcRAiIAMoAkwgAygCpAEvAUAQIiADKAJMIAMoAqQBKAJEECMCQCADKAKkASkDSEL/////D1QEQCADKAJMIAMoAqQBKQNIpxAjDAELIAMoAkxBfxAjCwsCfyMAQRBrIgAgAygCTDYCDCAAKAIMLQAAQQFxRQsEQCADKAKoAUEIakEUQQAQFyADKAJMEBkgAygCkAEQJiADQX82AqwBDAELIAMo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DAMFIAMoAoABKAIAIAMpA3CnQQR0aigCACgCNCADKAI0EMQBIQAgAygCgAEoAgAgAykDcKdBBHRqKAIAIAA2AjQgAygCgAEoAgAgAykDcKdBBHRqKAIAQQE6AAQgA0EANgI0IAMQWyADIAMpA3BCAXw3A3AMAgsACwsgAwJ+IAMpA2AgAykDaH1C////////////AFQEQCADKQNgIAMpA2h9DAELQv///////////wALNwOIAQsgAykDiAEhBCADQZABaiQAIAQLpgEBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI2AhAgAyADKAIQEPsBIgA2AgwCQCAARQRAIANBADYCHAwBCyADKAIMIAMoAhg2AgAgAygCDCADKAIUNgIEIAMoAhRBEHEEQCADKAIMIgAgACgCFEECcjYCFCADKAIMIgAgACgCGEECcjYCGAsgAyADKAIMNgIcCyADKAIcIQAgA0EgaiQAIAAL1QEBAX8jAEEgayIEJAAgBCAANgIYIAQgATcDECAEIAI2AgwgBCADNgIIAkACQCAEKQMQQv///////////wBXBEAgBCkDEEKAgICAgICAgIB/WQ0BCyAEKAIIQQRBPRAXIARBfzYCHAwBCwJ/IAQpAxAhASAEKAIMIQAgBCgCGCICKAJMQX9MBEAgAiABIAAQkwEMAQsgAiABIAAQkwELQQBIBEAgBCgCCEEEQbScASgCABAXIARBfzYCHAwBCyAEQQA2AhwLIAQoAhwhACAEQSBqJAAgAAsnAAJ/QQBBACAAEAYiACAAQRtGGyIARQ0AGkG0nAEgADYCAEEACxoLagEBfyMAQRBrIgMkACADIAFBwICAAnEEfyADIAJBBGo2AgwgAigCAAVBAAs2AgggAyAANgIAIAMgAUGAgAJyNgIEQQUgAxARIgBBgWBPBEBBtJwBQQAgAGs2AgBBfyEACyADQRBqJAAgAAtXAQJ/IwBBIGsiASQAIAEgADYCEEEKIAFBEGoQEyICQWFGBH8gASAANgIAQSggARASBSACCyIAQYFgTwRAQbScAUEAIABrNgIAQX8hAAsgAUEgaiQAIAALaQECfwJAIAAoAhQgACgCHE0NACAAQQBBACAAKAIkEQAAGiAAKAIUDQBBfw8LIAAoAgQiASAAKAIIIgJJBEAgACABIAJrrEEBIAAoAigRCgAa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GEECdGovAQAEQCACIAIoAhgiATYCECACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohACAEIAA2AtAoIABBAnQgA2ogATYCACACKAIYIAIoAixB2ChqakEAOgAADAELIAIoAiQgAigCGEECdGpBADsBAgsgAiACKAIYQQFqNgIYDAELCwNAIAIoAiwoAtAoQQJIBEACQCACKAIQQQJIBEAgAiACKAIQQQFqIgA2AhAMAQtBACEACyACKAIsQdwWaiEDIAIoAiwiBCgC0ChBAWohASAEIAE2AtAoIAFBAnQgA2ogADYCACACIAA2AgwgAigCJCACKAIMQQJ0akEBOwEAIAIoAgwgAigCLEHYKGpqQQA6AAAgAigCLCIAIAAoAqgtQX9qNgKoLSACKAIgBEAgAigCLCIAIAAoAqwtIAIoAiAgAigCDEECdGovAQJrNgKsLQsMAQsLIAIoAiggAigCEDYCBCACIAIoAiwoAtAoQQJtNgIYA0AgAigCGEEBSEUEQCACKAIsIAIoAiQgAigCGBB4IAIgAigCGEF/ajYCGAwBCwsgAiACKAIcNgIMA0AgAiACKAIsKALgFjYCGCACKAIsQdwWaiEBIAIoAiwiAygC0CghACADIABBf2o2AtAoIAIoAiwgAEECdCABaigCADYC4BYgAigCLCACKAIkQQEQeCACIAIoAiwoAuAWNgIUIAIoAhghASACKAIsQdwWaiEDIAIoAiwiBCgC1ChBf2ohACAEIAA2AtQoIABBAnQgA2ogATYCACACKAIUIQEgAigCLEHcFmohAyACKAIsIgQoAtQoQX9qIQAgBCAANgLUKCAAQQJ0IANqIAE2AgAgAigCJCACKAIMQQJ0aiACKAIkIAIoAhhBAnRqLwEAIAIoAiQgAigCFEECdGovAQBqOwEAIAIoAgwgAigCLEHYKGpqAn8gAigCGCACKAIsQdgoamotAAAgAigCFCACKAIsQdgoamotAABOBEAgAigCGCACKAIsQdgoamotAAAMAQsgAigCFCACKAIsQdgoamotAAALQQFqOgAAIAIoAiQgAigCFEECdGogAigCDCIAOwECIAIoAiQgAigCGEECdGogADsBAiACIAIoAgwiAEEBajYCDCACKAIsIAA2AuAWIAIoAiwgAigCJEEBEHggAigCLCgC0ChBAk4NAAsgAigCLCgC4BYh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ACAALQABIAFHDQAaIAIgAigCLCIAQQFqNgIsIAAtAAEhASACIAIoAigiAEEBajYCKEEAIAAtAAEgAUcNABogAiACKAIsIgBBAWo2AiwgAC0AASEBIAIgAigCKCIAQQFqNgIoQQAgAC0AASABRw0AGiACKAIsIAIoAgxJC0EBcQ0ACyACQYICIAIoAgwgAigCLGtrNgIkIAIgAigCDEH+fWo2AiwgAigCJCACKAIgSgRAIAIoAjggAigCNDYCcCACIAIoAiQ2AiAgAigCJCACKAIcTg0CIAIgAigCLCACKAIgQQFrai0AADoACyACIAIoAiwgAigCIGotAAA6AAoLCyACIAIoAhQgAigCNCACKAIQcUEBdGovAQAiATYCNEEAIQAgASACKAIYSwR/IAIgAigCMEF/aiIANgIwIABBAEcFQQALQQFxDQELCwJAIAIoAiAgAigCOCgCdE0EQCACIAIoAiA2AjwMAQsgAiACKAI4KAJ0NgI8CyACKAI8C54QAQF/IwBBMGsiAiQAIAIgADYCKCACIAE2AiQgAgJ/IAIoAigoAgxBBWsgAigCKCgCLEsEQCACKAIoKAIsDAELIAIoAigoAgxBBWsLNgIgIAJBADYCECACIAIoAigoAgAoAgQ2AgwDQAJAIAJB//8DNgIcIAIgAigCKCgCvC1BKmpBA3U2AhQgAigCKCgCACgCECACKAIUSQ0AIAIgAigCKCgCACgCECACKAIUazYCFCACIAIoAigoAmwgAigCKCgCXGs2AhggAigCHCACKAIYIAIoAigoAgAoAgRqSwRAIAIgAigCGCACKAIoKAIAKAIEajYCHAsgAigCHCACKAIUSwRAIAIgAigCFDYCHAsCQCACKAIcIAIoAiBPDQACQCACKAIcRQRAIAIoAiRBBEcNAQsgAigCJEUNACACKAIcIAIoAhggAigCKCgCACgCBGpGDQELDAELQQAhACACQQFBACACKAIkQQRGBH8gAigCHCACKAIYIAIoAigoAgAoAgRqRgVBAAtBAXEbNgIQIAIoAihBAEEAIAIoAhAQViACKAIoKAIIIAIoAigoAhRBBGtqIAIoAhw6AAAgAigCKCgCCCACKAIoKAIUQQNraiACKAIcQQh2OgAAIAIoAigoAgggAigCKCgCFEECa2ogAigCHEF/czoAACACKAIoKAIIIAIoAigoAhRBAWtqIAIoAhxBf3NBCHY6AAAgAigCKCgCABAfIAIoAhgEQCACKAIYIAIoAhxLBEAgAiACKAIcNgIYCyACKAIoKAIAKAIMIAIoAigoAjggAigCKCgCXGogAigCGBAcGiACKAIoKAIAIgAgAigCGCAAKAIMajYCDCACKAIoKAIAIgAgACgCECACKAIYazYCECACKAIoKAIAIgAgAigCGCAAKAIUajYCFCACKAIoIgAgAigCGCAAKAJcajYCXCACIAIoAhwgAigCGGs2AhwLIAIoAhwEQCACKAIoKAIAIAIoAigoAgAoAgwgAigCHBB1GiACKAIoKAIAIgAgAigCHCAAKAIMajYCDCACKAIoKAIAIgAgACgCECACKAIcazYCECACKAIoKAIAIgAgAigCHCAAKAIUajYCFAsgAigCEEUNAQsLIAIgAigCDCACKAIoKAIAKAIEazYCDCACKAIMBEACQCACKAIMIAIoAigoAixPBEAgAigCKEECNgKwLSACKAIoKAI4IAIoAigoAgAoAgAgAigCKCgCLGsgAigCKCgCLBAcGiACKAIoIAIoAigoAiw2AmwMAQsgAigCKCgCPCACKAIoKAJsayACKAIMTQRAIAIoAigiACAAKAJsIAIoAigoAixrNgJsIAIoAigoAjggAigCKCgCOCACKAIoKAIsaiACKAIoKAJsEBwaIAIoAigoArAtQQJJBEAgAigCKCIAIAAoArAtQQFqNgKwLQsLIAIoAigoAjggAigCKCgCbGogAigCKCgCACgCACACKAIMayACKAIMEBwaIAIoAigiACACKAIMIAAoAmxqNgJsCyACKAIoIAIoAigoAmw2AlwgAigCKCIBAn8gAigCDCACKAIoKAIsIAIoAigoArQta0sEQCACKAIoKAIsIAIoAigoArQtawwBCyACKAIMCyABKAK0LWo2ArQtCyACKAIoKALALSACKAIoKAJsSQRAIAIoAiggAigCKCgCbDYCwC0LAkAgAigCEARAIAJBAzYCLAwBCwJAIAIoAiRFDQAgAigCJEEERg0AIAIoAigoAgAoAgQNACACKAIoKAJsIAIoAigoAlxHDQAgAkEBNgIsDAELIAIgAigCKCgCPCACKAIoKAJsa0EBazYCFAJAIAIoAigoAgAoAgQgAigCFE0NACACKAIoKAJcIAIoAigoAixIDQAgAigCKCIAIAAoAlwgAigCKCgCLGs2AlwgAigCKCIAIAAoAmwgAigCKCgCLGs2AmwgAigCKCgCOCACKAIoKAI4IAIoAigoAixqIAIoAigoAmwQHBogAigCKCgCsC1BAkkEQCACKAIoIgAgACgCsC1BAWo2ArAtCyACIAIoAigoAiwgAigCFGo2AhQLIAIoAhQgAigCKCgCACgCBEsEQCACIAIoAigoAgAoAgQ2AhQLIAIoAhQEQCACKAIoKAIAIAIoAigoAjggAigCKCgCbGogAigCFBB1GiACKAIoIgAgAigCFCAAKAJsajYCbAsgAigCKCgCwC0gAigCKCgCbEkEQCACKAIoIAIoAigoAmw2AsAtCyACIAIoAigoArwtQSpqQQN1NgIUIAICf0H//wMgAigCKCgCDCACKAIUa0H//wNLDQAaIAIoAigoAgwgAigCFGsLNgIUIAICfyACKAIUIAIoAigoAixLBEAgAigCKCgCLAwBCyACKAIUCzYCICACIAIoAigoAmwgAigCKCgCXGs2AhgCQCACKAIYIAIoAiBJBEAgAigCGEUEQCACKAIkQQRHDQILIAIoAiRFDQEgAigCKCgCACgCBA0BIAIoAhggAigCFEsNAQsgAgJ/IAIoAhggAigCFEsEQCACKAIUDAELIAIoAhgLNgIcIAJBAUEAAn9BACACKAIkQQRHDQAaQQAgAigCKCgCACgCBA0AGiACKAIcIAIoAhhGC0EBcRs2AhAgAigCKCACKAIoKAI4IAIoAigoAlxqIAIoAhwgAigCEBBWIAIoAigiACACKAIcIAAoAlxqNgJcIAIoAigoAgAQHwsgAkECQQAgAigCEBs2AiwLIAIoAiwhACACQTBqJAAgAAuyAgEBfyMAQRBrIgEkACABIAA2AggCQCABKAIIEHYEQCABQX42AgwMAQsgASABKAIIKAIcKAIENgIEIAEoAggoAhwoAggEQCABKAIIKAIoIAEoAggoAhwoAgggASgCCCgCJBECAAsgASgCCCgCHCgCRARAIAEoAggoAiggASgCCCgCHCgCRCABKAIIKAIkEQIACyABKAIIKAIcKAJABEAgASgCCCgCKCABKAIIKAIcKAJAIAEoAggoAiQRAgALIAEoAggoAhwoAjgEQCABKAIIKAIoIAEoAggoAhwoAjggASgCCCgCJBECAAsgASgC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Rw0AIAIoAgwvAQoEQCACKAIMKAIMIAIoAhQoAgwgAigCDC8BChBQDQELIAIoAgwiACAAKAIEIAIoAhQoAgRBgAZxcjYCBCACQQE2AgQMAQsgAiACKAIMKAIANgIMDAELCyACKAIUQQA2AgACQCACKAIEBEAgAigCFBAmDAELIAIoAgggAigCFCIANgIAIAIgADYCCAsgAiACKAIQNgIUDAELCyACIAIoAhg2AhwLIAIoAhwhACACQSBqJAAgAAtdAQF/IwBBEGsiAiQAIAIgADYCCCACIAE2AgQCQCACKAIERQRAIAJBADYCDAwBCyACIAIoAgggAigCBCgCACACKAIELwEErRA8NgIMCyACKAIMIQAgAkEQaiQAIAALjwEBAX8jAEEQayICJAAgAiAANgIIIAIgATYCBAJAAkAgAigCCARAIAIoAgQNAQsgAiACKAIIIAIoAgRGNgIMDAELIAIoAggvAQQgAigCBC8BBEcEQCACQQA2AgwMAQsgAiACKAIIKAIAIAIoAgQoAgAgAigCCC8BBBBQRTYCDAsgAigCDCEAIAJBEGokACAAC1UBAX8jAEEQayIBJAAgASAANgIMIAFBAEEAQQAQHTYCCCABKAIMBEAgASABKAIIIAEoAgwoAgAgASgCDC8BBBAdNgIICyABKAIIIQAgAUEQaiQAIAALiAEBAX8jAEEgayIDJAAgAyAANgIUIAMgATYCECADIAI3AwgCQAJAIAMoAhQoAiRBAUYEQCADKQMIQv///////////wBYDQELIAMoAhRBDGpBEkEAEBcgA0J/NwMYDAELIAMgAygCFCADKAIQIAMpAwhBCxAkNwMYCyADKQMYIQIgA0EgaiQAIAILcwEBfyMAQSBrIgEkACABIAA2AhggAUIINwMQIAEgASgCGCkDECABKQMQfDcDCAJAIAEpAwggASgCGCkDEFQEQCABKAIYQQA6AAAgAUF/NgIcDAELIAEgASgCGCABKQMIEC42AhwLIAEoAhwaIAFBIGokAAsGAEG0nAELlgEBAX8jAEEgayICIAA2AhggAiABNwMQAkACQAJAIAIoAhgtAABBAXFFDQAgAigCGCkDECACKQMQfCACKQMQVA0AIAIoAhgpAxAgAikDEHwgAigCGCkDCFgNAQsgAigCGEEAOgAAIAJBADYCHAwBCyACIAIoAhgoAgQg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AiAANgIYIAIgATYCFCACQYmYATYCECACQQQ2AgwCQAJAIAIoAhQgAigCDE8EQCACKAIMDQELIAJBADYCHAwBCyACIAIoAhhBf2o2AggDQAJAIAIgAigCCEEBaiACKAIQLQAAIAIoAhggAigCCGsgAigCFCACKAIMa2oQuAEiADYCCCAARQ0AIAIoAghBAWogAigCEEEBaiACKAIMQQFrEFANASACIAIoAgg2AhwMAgsLIAJBADYCHAsgAigCHCEAIAJBIGokACAACykAIAEgASgCAEEPakFwcSIBQRBqNgIAIAAgASkDACABKQMIEOACOQMAC8EGAQF/IwBB4ABrIgIkACACIAA2AlggAiABNwNQAkAgAikDUEIWVARAIAIoAlhBCGpBE0EAEBcgAkEANgJcDAELIAICfiACKQNQQqqABFQEQCACKQNQDAELQqqABAs3AzAgAigCWCgCAEIAIAIpAzB9QQIQLUEASARAIwBBEGsiACACKAJYKAIANgIMIAIgACgCDEEMajYCCAJAAn8jAEEQayIAIAIoAgg2AgwgACgCDCgCAEEERgsEQCMAQRBrIgAgAigCCDYCDCAAKAIMKAIEQRZGDQELIAIoAlhBCGogAigCCBBFIAJBADYCXAwCCwsgAiACKAJYKAIAEFQiATcDOCABQgBTBEAgAigCWEEIaiACKAJYKAIAEBogAkEANgJcDAELIAIgAigCWCgCACACKQMwQQAgAigCWEEIahBDIgA2AgwgAEUEQCACQQA2AlwMAQsgAkJ/NwMgIAJBADYCTCACKQMwQqqABFoEQCACKAIMQhQQLhoLIAJBEGpBE0EAEBcgAiACKAIMQgAQITYCRANAAkAgAiACKAJEIAIoAgwQMkISfacQ9QEiADYCRCAARQ0AIAIoAgwgAigCRAJ/IwBBEGsiACACKAIMNgIMIAAoAgwoAgQLa6wQLhogAiACKAJYIAIoAgwgAikDOCACQRBqEPQBIgA2AkggAARAAkAgAigCTARAIAIpAyBCAFcEQCACIAIoAlggAigCTCACQRBqEGg3AyALIAIgAigCWCACKAJIIAJBEGoQaDcDKAJAIAIpAyAgAikDKFMEQCACKAJMECggAiACKAJINgJMIAIgAikDKDcDIAwBCyACKAJIECgLDAELIAIgAigCSDYCTAJAIAIoAlgoAgRBBHEE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AXFHDQELCyACDwsgABAwIABqDwsgAAurAwEBfyMAQTBrIgIkACACIAA2AiggAiABNgIkIAJBADYCECACIAIoAiggAigCKBAwajYCGCACIAIoAhhBf2o2AhwDQCACKAIcIAIoAihPBH8gAigCHCwAAEHYAEYFQQALQQFxBEAgAiACKAIQQQFqNgIQIAIgAigCHEF/ajYCHAwBCwsCQCACKAIQRQRAQbScAUEcNgIAIAJBfzYCLAwBCyACIAIoAhxBAWo2AhwDQCACEIcCNgIMIAIgAigCHDYCFANAIAIoAhQgAigCGEkEQCACIAIoAgxBJHA6AAsCfyACLAALQQpIBEAgAiwAC0EwagwBCyACLAALQdcAagshACACIAIoAhQiAUEBajYCFCABIAA6AAAgAiACKAIMQSRuNgIMDAELCyACKAIoIQAgAgJ/QbYDIAIoAiRBf0YNABogAigCJAs2AgAgAiAAQcKBICACEGwiADYCICAAQQBOBEAgAigCJEF/RwRAIAIoAiggAigCJBCGAgsgAiACKAIgNgIsDAILQbScASgCAEEURg0ACyACQX82AiwLIAIoAiwhACACQTBqJAAgAAtDAQF/IwBBEGsiAiQAIAIgATYCBCACIAA2AgBBDyACEA8iAEGBYE8Ef0G0nAFBACAAazYCAEEABSAACxogAkEQaiQAC2cBAn8jAEEQayIAJAACQCAAQQhqEIgCQQFxBEAgACAAKAIINgIMDAELQYShAS0AAEEBcUUEQEEAEAIhAUH4oAEQAyABEIoCQfigARAACyAAEIkCNgIMCyAAKAIMIQEgAEEQaiQAIAELjAEBAX8jAEEQayIBJAAgASAANgIIIAFBBDsBBiABQeeXAUEAQQAQbCIANgIAAkAgAEEASARAIAFBADoADwwBCyABKAIAIAEoAgggAS8BBhCLAiABLwEGRwRAIAEoAgAQayABQQA6AA8MAQsgASgCABBrIAFBAToADwsgAS0AD0EBcSEAIAFBEGokACAAC60BAQR/QfigARADQdiaASgCACEAAkBB1JoBKAIAIgNFBEAgACAAKAIAQe2cmY4EbEG54ABqQf////8HcSIANgIADAELIABB3JoBKAIAIgJBAnRqIgEgASgCACAAQYChASgCACIBQQJ0aigCAGoiADYCAEGAoQFBACABQQFqIgEgASADRhs2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IAEgAzYCBCABIAI2AgAgAEHNlwEgARBxIAEoAqgBIAEoAhw2AgggASABKAIcNgKsAQsgASgCrAEhACABQbABaiQAIAALcQEDfwJAAkADQCAAIAJB0IgBai0AAEcEQEHXACEDIAJBAWoiAkHXAEcNAQwCCwsgAiIDDQBBsIkBIQAMAQtBsIkBIQIDQCACLQAAIQQgAkEBaiIAIQIgBA0AIAAhAiADQX9qIgMNAAsLIAEoAhQaIAALMwEBfyAAKAIUIgMgASACIAAoAhAgA2siASABIAJLGyIBEBwaIAAgACgCFCABajYCFCACC4oBAQJ/IwBBoAFrIgMkACADQQhqQbiHAUGQARAcGiADIAA2AjQgAyAANgIcIANBfiAAayIEQf////8HQf////8HIARLGyIENgI4IAMgACAEaiIANgIkIAMgADYCGCADQQhqIAEgAhC9AiAEBEAgAygCHCIAIAAgAygCGEZrQQA6AAALIANBoAFqJAALvgIBAX8jAEHAwABrIgMkACADIAA2ArhAIAMgATYCtEAgAyACNwOoQAJAIAMoArRAEFNBAEgEQCADKAK4QEEIaiADKAK0QBAaIANBfzYCvEAMAQsgA0EANgIMIANCADcDEANAAkAgAyADKAK0QCADQSBqQoDAABAxIgI3AxggAkIAVw0AIAMoArhAIANBIGogAykDGBA8QQBIBEAgA0F/NgIMBSADKQMYQoDAAFINAiADKAK4QCgCVEUNAiADKQOoQEIAVw0CIAMgAykDGCADKQMQfDcDECADKAK4QCgCVCADKQMQuSADKQOoQLmjEFcMAgsLCyADKQMYQgBTBEAgAygCuEBBCGogAygCtEAQGiADQX82AgwLIAMoArRAEDcaIAMgAygCDDYCvEALIAMoArxAIQAgA0HAwABqJAAgAAuqAQEBfyMAQTBrIgMkACADIAA2AiggAyABNgIkIAMgAjcDGCADIAMoAigoAgAQOyICNwMQAkAgAkIAUwRAIANBfzYCLAwBCyADIAMoAiggAygCJCADKQMYEIoDIgI3AwAgAkIAUwRAIANBfzYCLAwBCyADIAMoAigoAgAQOyICNwMIIAJCAFMEQCADQX82AiwMAQsgA0EANgIsCyADKAIsIQAgA0EwaiQAIAAL/gEBAX8jAEGgwABrIgIkACACIAA2AphAIAIgATcDkEAgAiACKQOQQLo5AwACQANAIAIpA5BAQgBWBEAgAgJ+QoDAACACKQOQQEKAwABWDQAaIAIpA5BACz4CDCACKAKYQCgCACACQRBqIAIoAgytIAIoAphAQQhqEGJBAEgEQCACQX82ApxADAMLIAIoAphAIAJBEGogAigCDK0QPEEASARAIAJBfzYCnEAMAwUgAiACKQOQQCACNQIMfTcDkEAgAigCmEAoAlQgAisDACACKQOQQLqhIAIrAwCjEFcMAgsACwsgAkEANgKcQAsgAigCnEAhACACQaDAAGokACAAC/IRAgF/AX4jAEGgAWsiAyQAIAMgADYCmAEgAyABNgKUASADIAI2ApABAkAgAygClAEgA0E4ahA5QQBIBEAgAygCmAFBCGogAygClAEQGiADQX82ApwBDAELIAMpAzhCwACDUARAIAMgAykDOELAAIQ3AzggA0EAOwFoCwJAAkAgAygCkAEoAhBBf0cEQCADKAKQASgCEEF+Rw0BCyADLwFoRQ0AIAMoApABIAMvAWg2AhAMAQsCQAJAIAMoApABKAIQDQAgAykDOEIEg1ANACADIAMpAzhCCIQ3AzggAyADKQNQNwNYDAELIAMgAykDOEL3////D4M3AzgLCyADKQM4QoABg1AEQCADIAMpAzhCgAGENwM4IANBADsBagsgA0GAAjYCJAJAIAMpAzhCBINQBEAgAyADKAIkQYAIcjYCJCADQn83A3AMAQsgAygCkAEgAykDUDcDKCADIAMpA1A3A3ACQCADKQM4QgiDUARAAkACQAJ/AkAgAygCkAEoAhBBf0cEQCADKAKQASgCEEF+Rw0BC0EIDAELIAMoApABKAIQC0H//wNxIgBBDEsNAAJAAkACQCAAQQFrDgwDAwMDAwMDAQMDAwACCyADQpTC5PMPNwMQDAMLIANCg4Ow/w83AxAMAgsgA0L/////DzcDEAwBCyADQgA3AxALIAMpA1AgAykDEFYEQCADIAMoAiRBgAhyNgIkCwwBCyADKAKQASADKQNYNwMgCwsgAyADKAKYASgCABA7IgQ3A4gBIARCAFMEQCADKAKYAUEIaiADKAKYASgCABAaIANBfzYCnAEMAQsgAygCkAEiACAALwEMQff/A3E7AQwgAyADKAKYASADKAKQASADKAIkEF0iADYCKCAAQQBIBEAgA0F/NgKcAQwBCyADIAMvAWgCfwJAIAMoApABKAIQQX9HBEAgAygCkAEoAhBBfkcNAQtBCAwBCyADKAKQASgCEAtB//8DcUc6ACIgAyADLQAiQQFxBH8gAy8BaEEARwVBAAtBAXE6ACEgAyADLwFoBH8gAy0AIQVBAQtBAXE6ACAgAyADLQAiQQFxBH8gAygCkAEoAhBBAEcFQQALQQFxOgAfIAMCf0EBIAMtACJBAXENABpBASADKAKQASgCAEGAAXENABogAygCkAEvAVIgAy8BakcLQQFxOgAeIAMgAy0AHkEBcQR/IAMvAWpBAEcFQQALQQFxOgAdIAMgAy0AHkEBcQR/IAMoApABLwFSQQBHBUEAC0EBcToAHCADIAMoApQBNgI0IwBBEGsiACADKAI0NgIMIAAoAgwiACAAKAIwQQFqNgIwIAMtAB1BAXEEQCADIAMvAWpBABB6IgA2AgwgAEUEQCADKAKYAUEIakEYQQAQFyADKAI0EB4gA0F/NgKcAQwCCyADIAMoApgBIAMoAjQgAy8BakEAIAMoApgBKAIcIAMoAgwRKwAiADYCMCAARQRAIAMoAjQQHiADQX82ApwBDAILIAMoAjQQHiADIAMoAjA2AjQLIAMtACFBAXEEQCADIAMoApgBIAMoAjQgAy8BaBCiASIANgIwIABFBEAgAygCNBAeIANBfzYCnAEMAgsgAygCNBAeIAMgAygCMDYCNAsgAy0AIEEBcQRAIAMgAygCmAEgAygCNEEAEKEBIgA2AjAgAEUEQCADKAI0EB4gA0F/NgKcAQwCCyADKAI0EB4gAyADKAIwNgI0CyADLQAfQQFxBEAgAyADKAKYASADKAI0IAMoApABKAIQIAMoApABLwFQELgCIgA2AjAgAEUEQCADKAI0EB4gA0F/NgKcAQwCCyADKAI0EB4gAyADKAIwNgI0CyADLQAcQQFxBEAgA0EANgIEAkAgAygCkAEoAlQEQCADIAMoApABKAJUNgIEDAELIAMoApgBKAIcBEAgAyADKAKYASgCHDYCBAsLIAMgAygCkAEvAVJBARB6IgA2AgggAEUEQCADKAKYAUEIakEYQQAQFyADKAI0EB4gA0F/NgKcAQwCCyADIAMoApgBIAMoAjQgAygCkAEvAVJBASADKAIEIAMoAggRKwAiADYCMCAARQRAIAMoAjQQHiADQX82ApwBDAILIAMoAjQQHiADIAMoAjA2AjQLIAMgAygCmAEoAgAQOyIENwOAASAEQgBTBEAgAygCmAFBCGogAygCmAEoAgAQGiADQX82ApwBDAELIAMgAygCmAEgAygCNCADKQNwEKwCNgIsIAMoAjQgA0E4ahA5QQBIBEAgAygCmAFBCGogAygCNBAaIANBfzYCLAsgAyADKAI0ELICIgA6ACMgAEEYdEEYdUEASARAIAMoApgBQQhqIAMoAjQQGiADQX82AiwLIAMoAjQQHiADKAIsQQBIBEAgA0F/NgKcAQwBCyADIAMoApgBKAIAEDsiBDcDeCAEQgBTBEAgAygCmAFBCGogAygCmAEoAgAQGiADQX82ApwBDAELIAMoApgBKAIAIAMpA4gBEJ8BQQBIBEAgAygCmAFBCGogAygCmAEoAgAQGiADQX82ApwBDAELIAMpAzhC5ACDQuQAUgRAIAMoApgBQQhqQRRBABAXIANBfzYCnAEMAQsgAygCkAEoAgBBIHFFBEACQCADKQM4QhCDQgBSBEAgAygCkAEgAygCYDYCFAwBCyADKAKQAUEUahACGgsLIAMoApABIAMvAWg2AhAgAygCkAEgAygCZDYCGCADKAKQASADKQNQNwMoIAMoApABIAMpA3ggAykDgAF9NwMgIAMoApABIAMoApABLwEMQfn/A3EgAy0AI0EBdHI7AQwgAygCkAEgAygCJEGACHFBAEcQhAMgAyADKAKYASADKAKQASADKAIkEF0iADYCLCAAQQBIBEAgA0F/NgKcAQwBCyADKAIoIAMoAixHBEAgAygCmAFBCGpBFEEAEBcgA0F/NgKcAQwBCyADKAKYASgCACADKQN4EJ8BQQBIBEAgAygCmAFBCGogAygCmAEoAgAQGiADQX82ApwBDAELIANBADYCnAELIAMoApwBIQAgA0GgAWokACAAC68CAQF/IwBBIGsiAiAANgIcIAIgATYCGCACQQA2AhQgAkIANwMAAkAgAigCHC0AKEEBcUUEQCACKAIcKAIYIAIoAhwoAhRGDQELIAJBATYCFAsgAkIANwMIA0AgAikDCCACKAIcKQMwVARAAkACQCACKAIcKAJAIAIpAwinQQR0aigCCA0AIAIoAhwoAkAgAikDCKdBBHRqLQAMQQFxDQAgAigCHCgCQCACKQMIp0EEdGooAgRFDQEgAigCHCgCQCACKQMIp0EEdGooAgQoAgBFDQELIAJBATYCFAsgAigCHCgCQCACKQMIp0EEdGotAAxBAXFFBEAgAiACKQMAQgF8NwMACyACIAIpAwhCAXw3AwgMAQsLIAIoAhgEQCACKAIYIAIpAwA3AwALIAIoAhQLjRADAn8BfgF8IwBB4ABrIgEkACABIAA2AlgCQCABKAJYRQRAIAFBfzYCXAwBCyABIAEoAlggAUFAaxCwAjYCJCABKQNAUARAAkAgASgCWCgCBEEIcUUEQCABKAIkRQ0BCyABKAJYKAIAENUBQQBIBEACQAJ/IwBBEGsiAiABKAJYKAIANgIMIwBBEGsiACACKAIMQQxqNgIMIAAoAgwoAgBBFkYLBEAjAEEQayICIAEoAlgoAgA2AgwjAEEQayIAIAIoAgxBDGo2AgwgACgCDCgCBEEsRg0BCyABKAJYQQhqIAEoAlgoAgAQGiABQX82AlwMBAsLCyABKAJYEEEgAUEANgJcDAELIAEoAiRFBEAgASgCWBBBIAFBADYCXAwBCyABKQNAIAEoAlgpAzBWBEAgASgCWEEIakEUQQAQFyABQX82AlwMAQsgASABKQNAp0EDdBAbIgA2AiggAEUEQCABQX82AlwMAQsgAUJ/NwM4IAFCADcDSCABQgA3A1ADQCABKQNQIAEoAlgpAzBUBEACQCABKAJYKAJAIAEpA1CnQQR0aigCAEUNAAJAIAEoAlgoAkAgASkDUKdBBHRqKAIIDQAgASgCWCgCQCABKQNQp0EEdGotAAxBAXENACABKAJYKAJAIAEpA1CnQQR0aigCBEUNASABKAJYKAJAIAEpA1CnQQR0aigCBCgCAEUNAQsgAQJ+IAEpAzggASgCWCgCQCABKQNQp0EEdGooAgApA0hUBEAgASkDOAwBCyABKAJYKAJAIAEpA1CnQQR0aigCACkDSAs3AzgLIAEoAlgoAkAgASkDUKdBBHRqLQAMQQFxRQRAIAEpA0ggASkDQFoEQCABKAIoEBggASgCWEEIakEUQQAQFyABQX82AlwMBAsgASgCKCABKQNIp0EDdGogASkDUDcDACABIAEpA0hCAXw3A0gLIAEgASkDUEIBfDcDUAwBCwsgASkDSCABKQNAVARAIAEoAigQGCABKAJYQQhqQRRBABAXIAFBfzYCXAwBCwJAAn8jAEEQayIAIAEoAlgoAgA2AgwgACgCDCkDGEKAgAiDUAsEQCABQgA3AzgMAQsgASkDOEJ/UQRAIAFCfzcDGCABQgA3AzggAUIANwNQA0AgASkDUCABKAJYKQMwVARAIAEoAlgoAkAgASkDUKdBBHRqKAIABEAgASgCWCgCQCABKQNQp0EEdGooAgApA0ggASkDOFoEQCABIAEoAlgoAkAgASkDUKdBBHRqKAIAKQNINwM4IAEgASkDUDcDGAsLIAEgASkDUEIBfDcDUAwBCwsgASkDGEJ/UgRAIAEgASgCWCABKQMYIAEoAlhBCGoQggMiAzcDOCADUARAIAEoAigQGCABQX82AlwMBAsLCyABKQM4QgBWBEAgASgCWCgCACABKQM4EPECQQBIBEAgAUIANwM4CwsLIAEpAzhQBEAgASgCWCgCABDwAkEASARAIAEoAlhBCGogASgCWCgCABAaIAEoAigQGCABQX82AlwMAgsLIAEoAlgoAlQQ8wIgAUEANgIsIAFCADcDSANAAkAgASkDSCABKQNAWg0AIAEoAlgoAlQgASkDSCIDuiABKQNAuiIEoyADQgF8uiAEoxDyAiABIAEoAiggASkDSKdBA3RqKQMANwNQIAEgASgCWCgCQCABKQNQp0EEdGo2AhACQAJAIAEoAhAoAgBFDQAgASgCECgCACkDSCABKQM4Wg0ADAELIAECf0EBIAEoAhAoAggNABogASgCECgCBARAQQEgASgCECgCBCgCAEEBcQ0BGgsgASgCECgCBAR/IAEoAhAoAgQoAgBBwABxQQBHBUEACwtBAXE2AhQgASgCECgCBEUEQCABKAIQKAIAEEghACABKAIQIAA2AgQgAEUEQCABKAJYQQhqQQ5BABAXIAFBATYCLAwDCwsgASABKAIQKAIENgIMIAEoAlggASkDUBCMA0EASARAIAFBATYCLAwCCyABIAEoAlgoAgAQOyIDNwMwIANCAFMEQCABQQE2AiwMAgsgASgCDCABKQMwNwNIAkAgASgCFARAIAFBADYCCCABKAIQKAIIRQRAIAEgASgCWCABKAJYIAEpA1BBCEEAEKABIgA2AgggAEUEQCABQQE2AiwMBQsLIAEoAlgCfyABKAIIBEAgASgCCAwBCyABKAIQKAIICyABKAIMEK8CQQBIBEAgAUEBNgIsIAEoAggEQCABKAII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HAwCCwsgAygCDCgCAEENIAMoAggQFyADQQI2AhwLIAMoAhwhACADQSBqJAAgAAskAQF/IwBBEGsiASAANgIMIAEgASgCDDYCCCABKAIIQQE6AAwLywIBA38jAEHQAWsiAyQAIAMgAjYCzAFBACECIANBoAFqQQBBKBA0IAMgAygCzAE2AsgBAkBBACABIANByAFqIANB0ABqIANBoAFqEHJBAEgNACAAKAJMQQBOBEBBASECCyAAKAIAIQQgACwASkEATARAIAAgBEFfcTYCAAsgBEEgcSEFAn8gACgCMARAIAAgASADQcgBaiADQdAAaiADQaABahByDAELIABB0AA2AjAgACADQdAAajYCECAAIAM2AhwgACADNgIUIAAoAiwhBCAAIAM2AiwgACABIANByAFqIANB0ABqIANBoAFqEHIgBEUNABogAEEAQQAgACgCJBEAABogAEEANgIwIAAgBDYCLCAAQQA2AhwgAEEANgIQIAAoAhQaIABBADYCFEEACxogACAAKAIAIAVyNgIAIAJFDQALIANB0AFqJAALmQEBAX8jAEEgayIDJAAgAyAANgIYIAMgATYCFCADIAI3AwggAyADKAIYNgIEAkACQCADKQMIQv////8PWARAIAMoAgQoAhRBAE0NAQsgAygCBCgCAEESQQAQFyADQQA6AB8MAQsgAygCBCADKQMIPgIUIAMoAgQgAygCFDYCECADQQE6AB8LIAMtAB9BAXEhACADQSBqJAAgAAuQAQEBfyMAQRBrIgEkACABIAA2AgggASABKAIINgIEAkAgASgCBC0ABEEBcQRAIAEgASgCBEEQahCpATYCAAwBCyABIAEoAgRBEGoQxAI2AgALAkAgASgCAARAIAEoAgQoAgBBDSABKAIAEBcgAUEAOgAPDAELIAFBAToADwsgAS0AD0EBcSEAIAFBEGokACAAC8ABAQF/IwBBEGsiASQAIAEgADYCCCABIAEoAgg2AgQgASgCBEEANgIUIAEoAgRBADYCECABKAIEQQA2AiAgASgCBEEANgIcAkAgASgCBC0ABEEBcQRAIAEgASgCBEEQaiABKAIEKAIIENgCNgIADAELIAEgASgCBEEQahDJAjYCAAsCQCABKAIABEAgASgCBCgCAEENIAEoAgAQFyABQQA6AA8MAQsgAUEBOgAPCyABLQAPQQFx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QdH+ADYCBAwRCyABKAJQQQA2AmwgASgCUEHG/gA2AgQLA0ACQCABKAJQKAJsIAEoAlAoAmQgASgCUCgCaGpPDQADQAJAIAEgASgCUCgCUCABKAI8QQEgASgCUCgCWHRBAWtxQQJ0aigBADYBICABLQAhIAEoAjhNDQAgASgCREUNEiABIAEoAkRBf2o2AkQgASABKAJMIgBBAWo2AkwgASABKAI8IAAtAAAgASgCOHRqNgI8IAEgASgCOEEIajYCOAwBCwsCQCABLwEiQRBIBEAgASABKAI8IAEtACF2NgI8IAEgASgCOCABLQAhazYCOCABLwEiIQIgASgCUEH0AGohAyABKAJQIgQoAmwhACAEIABBAWo2AmwgAEEBdCADaiACOwEADAELAkAgAS8BIkEQRgRAA0AgASgCOCABLQAhQQJqSQRAIAEoAkRFDRUgASABKAJEQX9qNgJEIAEgASgCTCIAQQFqNgJMIAEgASgCPCAALQAAIAEoAjh0ajYCPCABIAEoAjhBCGo2AjgMAQsLIAEgASgCPCABLQAhdjYCPCABIAEoAjggAS0AIWs2AjggASgCUCgCbEUEQCABKAJYQbb0ADYCGCABKAJQQdH+ADYCBAwECyABIAEoAlAgASgCUCgCbEEBdGovAXI2AhQgASABKAI8QQNxQQNqNgIsIAEgASgCPEECdjYCPCABIAEoAjhBAms2AjgMAQsCQCABLwEiQRFGBEADQCABKAI4IAEtACFBA2pJBEAgASgCREUNFiABIAEoAkRBf2o2AkQgASABKAJMIgBBAWo2AkwgASABKAI8IAAtAAAgASgCOHRqNgI8IAEgASgCOEEIajYCOAwBCwsgASABKAI8IAEtACF2NgI8IAEgASgCOCABLQAhazYCOCABQQA2AhQgASABKAI8QQdxQQNqNgIsIAEgASgCPEEDdjYCPCABIAEoAjhBA2s2AjgMAQsDQCABKAI4IAEtACFBB2pJBEAgASgCREUNFSABIAEoAkRBf2o2AkQgASABKAJMIgBBAWo2AkwgASABKAI8IAAtAAAgASgCOHRqNgI8IAEgASgCOEEIajYCOAwBCwsgASABKAI8IAEtACF2NgI8IAEgASgCOCABLQAhazYCOCABQQA2AhQgASABKAI8Qf8AcUELajYCLCABIAEoAjxBB3Y2AjwgASABKAI4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IAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABIAEoAjwgAS0AGXY2AjwgASABKAI4IAEtABlrNgI4IAEoAlAiACABLQAZIAAoAsg3ajYCyDcLIAEgASgCPCABLQAhdjYCPCABIAEoAjggAS0AIWs2AjggASgCUCIAIAEtACEgACgCyDdqNgLINyABLQAgQcAAcQRAIAEoAlhBw/UANgIYIAEoAlBB0f4ANgIEDAwLIAEoAlAgAS8BIjYCSCABKAJQIAEtACBBD3E2AkwgASgCUEHL/gA2AgQLIAEoAlAoAkwEQANAIAEoAjggASgCUCgCTEkEQCABKAJERQ0MIAEgASgCREF/ajYCRCABIAEoAkwiAEEBajYCTCABIAEoAjwgAC0AACABKAI4dGo2AjwgASABKAI4QQhqNgI4DAELCyABKAJQIgAgACgCSCABKAI8QQEgASgCUCgCTHRBAWtxajYCSCABIAEoAjwgASgCUCgCTHY2AjwgASABKAI4IAEoAlAoAkxrNgI4IAEoAlAiACABKAJQKAJMIAAoAsg3ajYCyDcLIAEoAlBBzP4ANgIECyABKAJARQ0IIAEgASgCMCABKAJAazYCLAJAIAEoAlAoAkggASgCLEsEQCABIAEoAlAoAkggASgCLGs2AiwgASgCLCABKAJQKAIwSwRAIAEoAlAoAsQ3BEAgASgCWEHZ9QA2AhggASgCUEHR/gA2AgQMDQsLAkAgASgCLCABKAJQKAI0SwRAIAEgASgCLCABKAJQKAI0azYCLCABIAEoAlAoAjggASgCUCgCLCABKAIsa2o2AigMAQsgASABKAJQKAI4IAEoAlAoAjQgASgCLGtqNgIoCyABKAIsIAEoAlAoAkRLBEAgASABKAJQKAJENgIsCwwBCyABIAEoAkggASgCUCgCSGs2AiggASABKAJQKAJENgIsCyABKAIsIAEoAkBLBEAgASABKAJANgIsCyABIAEoAkAgASgCLGs2AkAgASgCUCIAIAAoAkQgASgCLGs2AkQDQCABIAEoAigiAEEBajYCKCAALQAAIQAgASABKAJIIgJBAWo2AkggAiAAOgAAIAEgASgCLEF/aiIANgIsIAANAAsgASgCUCgCREUEQCABKAJQQcj+ADYCBAsMCQsgASgCQEUNByABKAJQKAJEIQAgASAB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IAIgAigCUCIAQQFqNgJQIAIgAigCLCAALQAAIAIoAih0ajYCLCACIAIoAihBCGo2AigLIAJBEGogAigCJCACKAIsIAIoAhxxQQJ0aigBADYBAAJAAkADQCACIAItABE2AgwgAiACKAIsIAIoAgx2NgIsIAIgAigCKCACKAIMazYCKCACIAItABA2AgwgAigCDEUEQCACLwESIQAgAiACKAJIIgFBAWo2AkggASAAOgAADAILIAIoAgxBEHEEQCACIAIvARI2AgggAiACKAIMQQ9xNgIMIAIoAgwEQCACKAIoIAIoAgxJBEAgAiACKAJQIgBBAWo2AlAgAiACKAIsIAAtAAAgAigCKHRqNgIsIAIgAigCKEEIajYCKAsgAiACKAIIIAIoAixBASACKAIMdEEBa3FqNgIIIAIgAigCLCACKAIMdjYCLCACIAIoAiggAigCDGs2AigLIAIoAihBD0kEQCACIAIoAlAiAEEBajYCUCACIAIoAiwgAC0AACACKAIodGo2AiwgAiACKAIoQQhqNgIoIAIgAigCUCIAQQFqNgJQIAIgAigCLCAALQAAIAIoAih0ajYCLCACIAIoAihBCGo2AigLIAJBEGogAigCICACKAIsIAIoAhhxQQJ0aigBADYBAAJAA0AgAiACLQARNgIMIAIgAigCLCACKAIMdjYCLCACIAIoAiggAigCDGs2AiggAiACLQAQNgIMIAIoAgxBEHEEQCACIAIvARI2AgQgAiACKAIMQQ9xNgIMIAIoAiggAigCDEkEQCACIAIoAlAiAEEBajYCUCACIAIoAiwgAC0AACACKAIodGo2AiwgAiACKAIoQQhqNgIoIAIoAiggAigCDEkEQCACIAIoAlAiAEEBajYCUCACIAIoAiwgAC0AACACKAIodGo2AiwgAiACKAIoQQhqNgIoCwsgAiACKAIEIAIoAixBASACKAIMdEEBa3FqNgIEIAIgAigCLCACKAIMdjYCLCACIAIoAiggAigCDGs2AiggAiACKAJIIAIoAkRrNgIMAkAgAigCBCACKAIMSwRAIAIgAigCBCACKAIMazYCDCACKAIMIAIoAjhLBEAgAigCVCgCxDcEQCACKAJcQdDxADYCGCACKAJUQdH+ADYCBAwKCwsgAiACKAIwNgIAAkAgAigCNEUEQCACIAIoAgAgAigCPCACKAIMa2o2AgAgAigCDCACKAIISQRAIAIgAigCCCACKAIMazYCCANAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIMQX9qIgA2AgwgAA0ACyACIAIoAkggAigCBGs2AgALDAELAkAgAigCNCACKAIMSQRAIAIgAigCACACKAI8IAIoAjRqIAIoAgxrajYCACACIAIoAgwgAigCNGs2AgwgAigCDCACKAIISQRAIAIgAigCCCACKAIMazYCCANAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIMQX9qIgA2AgwgAA0ACyACIAIoAjA2AgAgAigCNCACKAIISQRAIAIgAigCNDYCDCACIAIoAgggAigCDGs2AggDQCACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCDEF/aiIANgIMIAANAAsgAiACKAJIIAIoAgRrNgIACwsMAQsgAiACKAIAIAIoAjQgAigCDGtqNgIAIAIoAgwgAigCCEkEQCACIAIoAgggAigCDGs2AggDQCACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCDEF/aiIANgIMIAANAAsgAiACKAJIIAIoAgRrNgIACwsLA0AgAigCCEECTUUEQCACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAACACIAIoAghBA2s2AggMAQsLDAELIAIgAigCSCACKAIEazYCAANAIAIgAigCACIAQQFqNgIAIAAtAAAhACACIAIoAkgiAUEBajYCSCABIAA6AAAgAiACKAIAIgBBAWo2AgAgAC0AACEAIAIgAigCSCIBQQFqNgJIIAEgADoAACACIAIoAgAiAEEBajYCACAALQAAIQAgAiACKAJIIgFBAWo2AkggASAAOgAAIAIgAigCCEEDazYCCCACKAIIQQJLDQALCyACKAIIBEAgAiACKAIA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AigoAmxBAE0NACACIAIoAigoAjggAigCKCgCbGpBf2o2AhggAiACKAIYLQAANgIcIAIoAhwhACACIAIoAhgiAUEBajYCGAJAIAEtAAEgAEcNACACKAIcIQAgAiACKAIYIgFBAWo2AhggAS0AASAARw0AIAIoAhwhACACIAIoAhgiAUEBajYCGCABLQABIABHDQAgAiACKAIoKAI4IAIoAigoAmxqQYICajYCFANAIAIoAhwhASACIAIoAhgiA0EBajYCGAJ/QQAgAy0AASABRw0AGiACKAIcIQEgAiACKAIYIgNBAWo2AhhBACADLQABIAFHDQAaIAIoAhwhASACIAIoAhgiA0EBajYCGEEAIAMtAAEgAUcNABogAigCHCEBIAIgAigCGCIDQQFqNgIYQQAgAy0AASABRw0AGiACKAIcIQEgAiACKAIYIgNBAWo2AhhBACADLQABIAFHDQAaIAIoAhwhASACIAIoAhgiA0EBajYCGEEAIAMtAAEgAUcNABogAigCHCEBIAIgAigCGCIDQQFqNgIYQQAgAy0AASABRw0AGiACKAIcIQEgAiACKAIYIgNBAWo2AhhBACADLQABIAFHDQAaIAIoAhggAigCFEkLQQFxDQALIAIoAihBggIgAigCFCACKAIYa2s2AmAgAigCKCgCYCACKAIoKAJ0SwRAIAIoAiggAigCKCgCdDYCYAsLCwJAIAIoAigoAmBBA08EQCACIAIoAigoAmBBfWo6ABMgAkEBOwEQIAIoAigiACgCpC0gACgCoC1BAXRqIAIvARA7AQAgAi0AEyEBIAIoAigiACgCmC0hAyAAIAAoAqAtIgBBAWo2AqAtIAAgA2ogAToAACACIAIvARBBf2o7ARAgAigCKCACLQATQaDdAGotAABBAnRqQZgJaiIAIAAvAQBBAWo7AQAgAigCKEGIE2oCfyACLwEQQYACSARAIAIvARAtAKBZDAELIAIvARBBB3VBgAJqLQCgWQtBAnRqIgAgAC8BAEEBajsBACACIAIoAigoAqAtIAIoAigoApwtQQFrRjYCICACKAIoIgAgACgCdCACKAIoKAJgazYCdCACKAIoIgAgAigCKCgCYCAAKAJsajYCbCACKAIoQQA2AmAMAQsgAiACKAIoIgAoAjggACgCbGotAAA6AA8gAigCKCIAKAKkLSAAKAKgLUEB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AUEGSARAIAJBATYCJAwBCwJAIAIoAiwoAoQBQQZGBEAgAkECNgIkDAELIAJBAzYCJAsLCyACIAIoAiggAigCJEEGdHI2AiggAigCLCgCbARAIAIgAigCKEEgcjYCKAsgAiACKAIoQR8gAigCKEEfcGtqNgIoIAIoAiwgAigCKBBMIAIoAiwoAmwEQCACKAIsIAIoAjgoAjBBEHYQTCACKAIsIAIoAjgoAjBB//8DcRBMC0EAQQBBABBAIQAgAigCOCAANgIwIAIoAixB8QA2AgQgAigCOBAfIAIoAiwoAhQEQCACKAIsQX82AiggAkEANgI8DAILCyACKAIsKAIEQTlGBEBBAEEAQQAQHSEAIAIoAjggADYCMCACKAIsKAIIIQEgAigCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAWpBHzoAACACKAIsKAIIIQEgAigCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAWpBiwE6AAAgAigCLCgCCCEBIAIoAiwiAygCFCEAIAMgAEEBajYCFCAAIAFqQQg6AAACQCACKAIsKAIcRQRAIAIoAiwoAgghASACKAIsIgMoAhQhACADIABBAWo2AhQgACABakEAOgAAIAIoAiwoAgghASACKAIsIgMoAhQhACADIABBAWo2AhQgACABakEAOgAAIAIoAiwoAgghASACKAIsIgMoAhQhACADIABBAWo2AhQgACABakEAOgAAIAIoAiwoAgghASACKAIsIgMoAhQhACADIABBAWo2AhQgACABakEAOgAAIAIoAiwoAgghASACKAIsIgMoAhQhACADIABBAWo2AhQgACABakEAOgAAAn9BAiACKAIsKAKEAUEJRg0AGkEBIQBBBEEAIAIoAiwoAogBQQJIBH8gAigCLCgChAFBAkgFQQELQQFxGwshACACKAIsKAIIIQMgAigCLCIEKAIUIQEgBCABQQFqNgIUIAEgA2ogADoAACACKAIsKAIIIQEgAigCLCIDKAIUIQAgAyAAQQFqNgIUIAAgAWpBAzoAACACKAIsQfEANgIEIAIoAjgQHyACKAIsKAIUBEAgAigCLEF/NgIoIAJBADYCPAwECwwBC0EBQQAgAigCLCgCHCgCABtBAkEAIAIoAiwoAhwoAiwbakEEQQAgAigCLCgCHCgCEBtqQQhBACACKAIsKAIcKAIcG2pBEEEA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ASgCHCgCCCEDIAEoAhwiBCgCFCEAIAQgAEEBajYCFCAAIANqIAI6AAAgASgCHCABKAIUQf//A3FBECABKAIcKAK8LWt1OwG4LSABKAIcIgAgACgCvC0gASgCGEEQa2o2ArwtDAELIAEoAhwiACAALwG4LUECIAEoAhwoArwtdHI7AbgtIAEoAhwiACABKAIYIAAoArwtajYCvC0LIAFB4ucALwEANgIQAkAgASgCHCgCvC1BECABKAIQa0oEQCABQeDnAC8BADYCDCABKAIcIgAgAC8BuC0gASgCDEH//wNxIAEoAhwoArwtdHI7AbgtIAEoAhwvAbgtQf8BcSECIAEoAhwoAgghAyABKAIcIgQoAhQhACAEIABBAWo2AhQgACADaiACOgAAIAEoAhwvAbgtQQh1IQIgASgCHCgCCCEDIAEoAhwiBCgCFCEAIAQgAEEBajYCFCAAIANqIAI6AAAgASgCHCABKAIMQf//A3FBECABKAIcKAK8LWt1OwG4LSABKAIcIgAgACgCvC0gASgCEEEQa2o2ArwtDAELIAEoAhwiACAALwG4LUHg5wAvAQAgASgCHCgCvC10cjsBuC0gASgCHCIAIAEoAhAgACgCvC1qNgK8LQsgASgCHBCtASABQSBqJAAL2QMCAn8CfiMAQSBrIgIkAAJAIAFC////////////AIMiBUKAgICAgIDA/0N8IAVCgICAgICAwIC8f3xUBEAgAUIEhiAAQjyIhCEEIABC//////////8PgyIAQoGAgICAgICACFoEQCAEQoGAgICAgICAwAB8IQQMAgsgBEKAgICAgICAgEB9IQQgAEKAgICAgICAgAiFQgBSDQEgBEIBgyAEfCEEDAELIABQIAVCgICAgICAwP//AFQgBUKAgICAgIDA//8AURtFBEAgAUIEhiAAQjyIhEL/////////A4NCgICAgICAgPz/AIQhBAwBC0KAgICAgICA+P8AIQQgBUL///////+//8MAVg0AQgAhBCAFQjCIpyIDQZH3AEkNACACIAAgAUL///////8/g0KAgICAgIDAAIQiBEGB+AAgA2sQ7gIgAkEQaiAAIAQgA0H/iH9qEOcCIAIpAwhCBIYgAikDACIAQjyIhCEEIAIpAxAgAikDGIRCAFKtIABC//////////8Pg4QiAEKBgICAgICAgAhaBEAgBEIBfCEEDAELIABCgICAgICAgIAIhUIAUg0AIARCAYMgBHwhBAsgAkEgaiQAIAQgAUKAgICAgICAgIB/g4S/C0UAQaCcAUIANwMAQZicAUIANwMAQZCcAUIANwMAQYicAUIANwMAQYCcAUIANwMAQfibAUIANwMAQfCbAUIANwMAQfCbAQsjAQF/IwBBEGsiASQAIAEgADYCDCABKAIMEK0BIAFBEGokAAuWAQEBfyMAQRBrIgEkACABIAA2AgwgASgCDCABKAIMQZQBajYCmBYgASgCDEGg3wA2AqAWIAEoAgwgASgCDEGIE2o2AqQWIAEoAgxBtN8ANgKsFiABKAIMIAEoAgxB/BRqNgKwFiABKAIMQcjfADYCuBYgASgCDEEAOwG4LSABKAIMQQA2ArwtIAEoAgwQrwEgAUEQaiQAC9cNAQF/IwBBIGsiAyAANgIYIAMgATYCFCADIAI2AhAgAyADKAIYQRB2NgIMIAMgAygCGEH//wNxNgIYAkAgAygCEEEBRgRAIAMgAygCFC0AACADKAIYajYCGCADKAIYQfH/A08EQCADIAMoAhhB8f8DazYCGAsgAyADKAIYIAMoAgxqNgIMIAMoAgxB8f8DTwRAIAMgAygCDEHx/wNrNgIMCyADIAMoAhggAygCDEEQdHI2AhwMAQsgAygCFEUEQCADQQE2AhwMAQsgAygCEEEQSQRAA0AgAyADKAIQIgBBf2o2AhAgAARAIAMgAygCFCIAQQFqNgIUIAMgAC0AACADKAIYajYCGCADIAMoAhggAygCDGo2AgwMAQsLIAMoAhhB8f8DTwRAIAMgAygCGEHx/wNrNgIYCyADIAMoAgxB8f8DcDYCDCADIAMoAhggAygCDEEQdHI2AhwMAQsDQCADKAIQQbArSUUEQCADIAMoAhBBsCtrNgIQIANB2wI2AggDQCADIAMoAhQtAAAgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AASADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQACIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAMgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ABCADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAFIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAYgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AByADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAIIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAkgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ACiADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQALIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAwgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ADSADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAOIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAA8gAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFEEQajYCFCADIAMoAghBf2oiADYCCCAADQALIAMgAygCGEHx/wNwNgIYIAMgAygCDEHx/wNwNgIMDAELCyADKAIQBEADQCADKAIQQRBJRQRAIAMgAygCEEEQazYCECADIAMoAhQtAAAgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AASADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQACIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAMgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ABCADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAFIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAYgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0AByADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQAIIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAkgAygCGGo2AhggAyADKAIYIAMoAgxqNgIMIAMgAygCFC0ACiADKAIYajYCGCADIAMoAhggAygCDGo2AgwgAyADKAIULQALIAMoAhhqNgIYIAMgAygCGCADKAIMajYCDCADIAMoAhQtAAwg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DAELIAMoAjQoAgAgAykDGKdBBHRqKQMIIAMpAxB9CzcDCCADKAIwIAMpAyCnaiADKAI0KAIAIAMpAxinQQR0aigCACADKQMQp2ogAykDCKcQHBogAykDCCADKAI0KAIAIAMpAxinQQR0aikDCCADKQMQfVEEQCADIAMpAxhCAXw3AxgLIAMgAykDCCADKQMgfDcDICADQgA3AxAMAQsLIAMoAjQiACADKQMgIAApAzh8NwM4IAMoAjQgAykDGDcDQCADIAMpAyA3AzgLIAMpAzghAiADQUBrJAAgAguuBAEBfyMAQUBqIgMkACADIAA2AjggAyABNwMwIAMgAjYCLAJAIAMpAzBQBEAgA0EAQgBBASADKAIsEE02AjwMAQsgAykDMCADKAI4KQMwVgRAIAMoAixBEkEAEBcgA0EANgI8DAELIAMoAjgoAigEQCADKAIsQR1BABAXIANBADYCPAwBCyADIAMoAjggAykDMBCxATcDICADIAMpAzAgAygCOCgCBCADKQMgp0EDdGopAwB9NwMYIAMpAxhQBEAgAyADKQMgQn98NwMgIAMgAygCOCgCACADKQMgp0EEdGopAwg3AxgLIAMgAygCOCgCACADKQMgp0EEdGopAwggAykDGH03AxAgAykDECADKQMwVgRAIAMoAixBHEEAEBcgA0EANgI8DAELIAMgAygCOCgCACADKQMgQgF8QQAgAygCLBBNIgA2AgwgAEUEQCADQQA2AjwMAQsgAygCDCgCACADKAIMKQMIQgF9p0EEdGogAykDGDcDCCADKAIMKAIEIAMoAgwpAwinQQN0aiADKQMwNwMAIAMoAgwgAykDMDcDMCADKAIMAn4gAygCOCkDGCADKAIMKQMIQgF9VARAIAMoAjgpAxgMAQsgAygCDCkDCEIBfQs3AxggAygCOCADKAIMNgIoIAMoAgwgAygCODYCKCADKAI4IAMoAgwpAwg3AyAgAygCDCADKQMgQgF8NwMgIAMgAygCDDYCPAsgAygCPCEAIANBQGskACAAC1EBAX4CQAJ+IANBwABxBEAgAiADQUBqrYghAUIADAELIANFDQEgAkHAACADa62GIAEgA60iBIiEIQEgAiAEiAshAgsgACABNwMAIAAgAjcDCAvTCQEBfyMAQfAAayIEJAAgBCAANgJkIAQgATYCYCAEIAI3A1gg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IABBAWsOAgECAAsgAkGBAjsBBAwDCyACQYICOwEEDAILIAJBgwI7AQQMAQsgAigCFEEYQQAQFyACKAIMEBkgAkEAOgAfDAELIAIvARJBB0cEQCACKAIUQRVBABAXIAIoAgwQGSACQQA6AB8MAQsgAigCGCACLQAHQQFxOgAGIAIoAhggAi8BBDsBUiACKAIMECBB//8DcSEAIAIoAhggADYCECACKAIMEBkgAkEBOgAfCyACLQAfQQFxIQAgAkEgaiQAIAALuQEBAX8jAEEwayICJAAgAiAAOwEuIAIgATsBLCACQgA3AgAgAkEANgIoIAJCADcCICACQgA3AhggAkIANwIQIAJCADcCCCACQQA2AiAgAiACLwEsQQl1QdAAajYCFCACIAIvASxBBXVBD3FBAWs2AhAgAiACLwEsQR9xNgIMIAIgAi8BLkELdTYCCCACIAIvAS5BBXVBP3E2AgQgAiACLwEuQQF0QT5xNgIAIAIQCCEAIAJBMGokACAAC0wBAn8jAEEQayIAJAAgAEHYABAbIgE2AggCQCABRQRAIABBADYCDAwBCyAAKAIIEFwgACAAKAIINgIMCyAAKAIMIQEgAEEQaiQAIAELYAEBfyMAQRBrIgMkAAJ+An9BACAAKAI8IAGnIAFCIIinIAJB/wFxIANBCGoQCyIARQ0AGkG0nAEgADYCAEF/C0UEQCADKQMIDAELIANCfzcDCEJ/CyEBIANBEGokACABC+AIAQF/IwBBwAFrIgMkACADIAA2ArQBIAMgATYCsAEgAyACNwOoASADIAMoArQBKAIAEDsiAjcDIAJAIAJCAFMEQCADKAK0AUEIaiADKAK0ASgCABAaIANCfzcDuAEMAQsgAyADKQMgNwOgASADQQA6ABcgA0IANwMYA0AgAykDGCADKQOoAVQEQCADIAMoArQBKAJAIAMoArABIAMpAxinQQN0aikDAKdBBHRqNgIMIAMgAygCtAECfyADKAIMKAIEBEAgAygCDCgCBAwBCyADKAIMKAIAC0GABBBdIgA2AhAgAEEASARAIANCfzcDuAEMAwsgAygCEARAIANBAToAFwsgAyADKQMYQgF8NwMYDAELCyADIAMoArQBKAIAEDsiAjcDICACQgBTBEAgAygCtAFBCGogAygCtAEoAgAQGiADQn83A7gBDAELIAMgAykDICADKQOgAX03A5gBAkAgAykDoAFC/////w9YBEAgAykDqAFC//8DWA0BCyADQQE6ABcLIAMgA0EwakLiABArIgA2AiwgAEUEQCADKAK0AUEIakEOQQAQFyADQn83A7gBDAELIAMtABdBAXEEQCADKAIsQdbXAEEEEEIgAygCLEIsEC8gAygCLEEtECIgAygCLEEtECIgAygCLEEAECMgAygCLEEAECMgAygCLCADKQOoARAvIAMoAiwgAykDqAEQLyADKAIsIAMpA5gBEC8gAygCLCADKQOgARAvIAMoAixB29cAQQQQQiADKAIsQQAQIyADKAIsIAMpA6ABIAMpA5gBfBAvIAMoAixBARAjCyADKAIsQeDXAEEEEEIgAygCLEEAECMgAygCLAJ+Qv//AyADKQOoAUL//wNaDQAaIAMpA6gBC6dB//8DcRAiIAMoAiwCfkL//wMgAykDqAFC//8DWg0AGiADKQOoAQunQf//A3EQIiADKAIsAn9BfyADKQOYAUL/////D1oNABogAykDmAGnCxAjIAMoAiwCf0F/IAMpA6ABQv////8PWg0AGiADKQOgAacLECMgAwJ/IAMoArQBLQAoQQFxBEAgAygCtAEoAiQMAQsgAygCtAEoAiALNgKUASADKAIsAn8gAygClAEEQCADKAKUAS8BBAwBC0EAC0H//wNxECICfyMAQRBrIgAgAygCLDYCDCAAKAIMLQAAQQFxRQsEQCADKAK0AUEIakEUQQAQFyADKAIsEBkgA0J/NwO4AQwBCyADKAK0AQJ/IwBBEGsiACADKAIsNgIMIAAoAgwoAgQLAn4jAEEQayIAIAMoAiw2AgwCfiAAKAIMLQAAQQFxBEAgACgCDCkDEAwBC0IACwsQPEEASARAIAMoAiwQGSADQn83A7gBDAELIAMoAiwQGSADKAKUAQRAIAMoArQBIAMoApQBKAIAIAMoApQBLwEErRA8QQBIBEAgA0J/NwO4AQwCCwsgAyADKQOYATcDuAELIAMpA7gBIQIgA0HAAWokACACC8cCAQZ/IwBBIGsiAyQAIAMgACgCHCIFNgIQIAAoAhQhBCADIAI2AhwgAyABNgIYIAMgBCAFayIBNgIUIAEgAmohBkECIQUgA0EQaiEBA0ACQAJ/IAYCfwJ/QQAgACgCPCABIAUgA0EMahAWIgRFDQAaQbScASAENgIAQX8LBEAgA0F/NgIMQX8MAQsgAygCDAsiBEYEQCAAIAAoAiwiATYCHCAAIAE2AhQgACABIAAoAjBqNgIQIAIMAQsgBEF/Sg0BIABBADYCHCAAQgA3AxAgACAAKAIAQSByNgIAQQAgBUECRg0AGiACIAEoAgRrCyEAIANBIGokACAADwsgAUEIaiABIAQgASgCBCIHSyIIGyIBIAQgB0EAIAgbayIHIAEoAgBqNgIAIAEgASgCBCAHazYCBCAGIARrIQYgBSAIayEFDAAACwALtgUBAX8jAEEwayICJAAgAiAANgIoIAIgATcDIAJAIAIpAyAgAigCKCkDMFoEQCACKAIoQQhqQRJBABAXIAJBfzYCLAwBCyACIAIoAigoAkAgAikDIKdBBHRqNgIcAkAgAigCHCgCAARAIAIoAhwoAgAtAARBAXFFDQELIAJBADYCLAwBCyACKAIcKAIAKQNIQhp8Qv///////////wBWBEAgAigCKEEIakEEQRYQFyACQX82AiwMAQsgAigCKCgCACACKAIcKAIAKQNIQhp8QQAQLUEASARAIAIoAihBCGogAigCKCgCABAaIAJBfzYCLAwBCyACIAIoAigoAgBCBCACQRhqIAIoAihBCGoQQyIANgIUIABFBEAgAkF/NgIsDAELIAIgAigCFBAgOwESIAIgAigCFBAgOwEQIAIoAhQQSUEBcUUEQCACKAIUEBkgAigCKEEIakEUQQAQFyACQX82AiwMAQsgAigCFBAZIAIvARBBAEoEQCACKAIoKAIAIAIvARKtQQEQLUEASARAIAIoAihBCGpBBEG0nAEoAgAQFyACQX82AiwMAgsgAkEAIAIoAigoAgAgAi8BEEEAIAIoAihBCGoQYTYCCCACKAIIRQRAIAJBfzYCLAwCCyACKAIIIAIvARBBgAIgAkEMaiACKAIoQQhqEMMBQQFxRQRAIAIoAggQGCACQX82AiwMAgsgAigCCBAYIAIoAgwEQCACIAIoAgwQwgE2AgwgAigCHCgCACgCNCACKAIMEMQBIQAgAigCHCgCACAANgI0CwsgAigCHCgCAEEBOgAEAkAgAigCHCgCBEUNACACKAIcKAIELQAEQQFxDQAgAigCHCgCBCACKAIcKAIAKAI0NgI0IAIoAhwoAgRBAToABAsgAkEANgIsCyACKAIsIQAgAkEw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c2lvbiBtZXRob2QAaW52YWxpZCB3aW5kb3cgc2l6ZQB1bmtub3duIGhlYWRlciBmbGFncyBzZXQAaGVhZGVyIGNyYyBtaXNtYXRjaABpbnZhbGlkIGJsb2NrIHR5cGUAaW52YWxpZCBzdG9yZWQgYmxvY2sgbGVuZ3RocwB0b28gbWFueSBsZW5ndGggb3IgZGlzdGFuY2Ugc3ltYm9scwBpbnZhbGlkIGNvZGUgbGVuZ3RocyBzZXQAaW52YWxpZCBiaXQgbGVuZ3RoIHJlcGVhdABpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2sAaW52YWxpZCBsaXRlcmFsL2xlbmd0aHMgc2V0AGludmFsaWQgZGlzdGFuY2VzIHNldABpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAGludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrAGluY29ycmVjdCBkYXRhIGNoZWNrAGluY29ycmVjdCBsZW5ndGggY2hlY2sAQbD2AAuGEWAHAAAACFAAAAgQABQIcwASBx8AAAhwAAAIMAAACcAAEAcKAAAIYAAACCAAAAmgAAAIAAAACIAAAAhAAAAJ4AAQBwYAAAhYAAAIGAAACZAAEwc7AAAIeAAACDgAAAnQABEHEQAACGgAAAgoAAAJsAAACAgAAAiIAAAISAAACfAAEAcEAAAIVAAACBQAFQjjABMHKwAACHQAAAg0AAAJyAARBw0AAAhkAAAIJAAACagAAAgEAAAIhAAACEQAAAnoABAHCAAACFwAAAgcAAAJmAAUB1MAAAh8AAAIPAAACdgAEgcXAAAIbAAACCwAAAm4AAAIDAAACIwAAAhMAAAJ+AAQBwMAAAhSAAAIEgAVCKMAEwcjAAAIcgAACDIAAAnEABEHCwAACGIAAAgiAAAJpAAACAIAAAiCAAAIQgAACeQAEAcHAAAIWgAACBoAAAmUABQHQwAACHoAAAg6AAAJ1AASBxMAAAhqAAAIKgAACbQAAAgKAAAIigAACEoAAAn0ABAHBQAACFYAAAgWAEAIAAATBzMAAAh2AAAINgAACcwAEQcPAAAIZgAACCYAAAmsAAAIBgAACIYAAAhGAAAJ7AAQBwkAAAheAAAIHgAACZwAFAdjAAAI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OREjQzJCiYqLBQQmKCcNKh41jAcaSJMTlJUAQbCJAQvdDklsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAABVbmtub3duIGVycm9yICVkACVzJXMlcwAAOiAAL3Byb2Mvc2VsZi9mZC8AL2Rldi91cmFuZG9tAHJ3YQAlcy5YWFhYWFgAcitiAHJiAFBLBQYAQcyZAQsCYE4AQYSaAQvsAQwAAAANAAAADgAAAA8AAAAQAAAAEQAAABIAAAATAAAAFAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAABAAAACAAAAARNAAAkTQAAHwAAAGRNAAADAAAAAAAAAC30UVjPjLHARva1yykxA8cEW3AwtF39IHh/i5rYWSlQaEiJq6dWA2z/t82IP9R3tCulo3DxuuSo/EGD/dlv4Yp6Ly10lgcfDQleA3YscPdApSynb1dBqKp036BYZANKx8Q8U66vXxgEFbHjbSiGqwykv0Pw6VCBOVcWUjf/////////////////////";\nif (!isDataURI(wasmBinaryFile)) {\n wasmBinaryFile = locateFile(wasmBinaryFile);\n}\nfunction getBinary() {\n try {\n if (wasmBinary) {\n return new Uint8Array(wasmBinary);\n }\n var binary = tryParseAsDataURI(wasmBinaryFile);\n if (binary) {\n return binary;\n }\n if (readBinary) {\n return readBinary(wasmBinaryFile);\n } else {\n throw "sync fetching of the wasm failed: you can preload it to Module[\'wasmBinary\'] manually, or emcc.py will do that for you when generating HTML (but not JS)";\n }\n } catch (err) {\n abort(err);\n }\n}\nfunction createWasm() {\n var info = { env: asmLibraryArg, wasi_unstable: asmLibraryArg };\n function receiveInstance(instance, module) {\n var exports = instance.exports;\n Module["asm"] = exports;\n removeRunDependency("wasm-instantiate");\n }\n addRunDependency("wasm-instantiate");\n function instantiateSync() {\n var instance;\n var module;\n var binary;\n try {\n binary = getBinary();\n module = new WebAssembly.Module(binary);\n instance = new WebAssembly.Instance(module, info);\n } catch (e) {\n var str = e.toString();\n err("failed to compile wasm module: " + str);\n if (\n str.indexOf("imported Memory") >= 0 ||\n str.indexOf("memory import") >= 0\n ) {\n err(\n "Memory size incompatibility issues may be due to changing TOTAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set TOTAL_MEMORY at runtime to something smaller than it was at compile time)."\n );\n }\n throw e;\n }\n receiveInstance(instance, module);\n }\n if (Module["instantiateWasm"]) {\n try {\n var exports = Module["instantiateWasm"](info, receiveInstance);\n return exports;\n } catch (e) {\n err("Module.instantiateWasm callback failed with error: " + e);\n return false;\n }\n }\n instantiateSync();\n return Module["asm"];\n}\nvar tempDouble;\nvar tempI64;\n__ATINIT__.push({\n func: function() {\n ___wasm_call_ctors();\n }\n});\nfunction demangle(func) {\n return func;\n}\nfunction demangleAll(text) {\n var regex = /\\b_Z[\\w\\d_]+/g;\n return text.replace(regex, function(x) {\n var y = demangle(x);\n return x === y ? x : y + " [" + x + "]";\n });\n}\nfunction jsStackTrace() {\n var err = new Error();\n if (!err.stack) {\n try {\n throw new Error(0);\n } catch (e) {\n err = e;\n }\n if (!err.stack) {\n return "(no stack trace available)";\n }\n }\n return err.stack.toString();\n}\nfunction stackTrace() {\n var js = jsStackTrace();\n if (Module["extraStackTrace"]) js += "\\n" + Module["extraStackTrace"]();\n return demangleAll(js);\n}\nfunction ___lock() {}\nvar PATH = {\n splitPath: function(filename) {\n var splitPathRe = /^(\\/?|)([\\s\\S]*?)((?:\\.{1,2}|[^\\/]+?|)(\\.[^.\\/]*|))(?:[\\/]*)$/;\n return splitPathRe.exec(filename).slice(1);\n },\n normalizeArray: function(parts, allowAboveRoot) {\n var up = 0;\n for (var i = parts.length - 1; i >= 0; i--) {\n var last = parts[i];\n if (last === ".") {\n parts.splice(i, 1);\n } else if (last === "..") {\n parts.splice(i, 1);\n up++;\n } else if (up) {\n parts.splice(i, 1);\n up--;\n }\n }\n if (allowAboveRoot) {\n for (; up; up--) {\n parts.unshift("..");\n }\n }\n return parts;\n },\n normalize: function(path) {\n var isAbsolute = path.charAt(0) === "/",\n trailingSlash = path.substr(-1) === "/";\n path = PATH.normalizeArray(\n path.split("/").filter(function(p) {\n return !!p;\n }),\n !isAbsolute\n ).join("/");\n if (!path && !isAbsolute) {\n path = ".";\n }\n if (path && trailingSlash) {\n path += "/";\n }\n return (isAbsolute ? "/" : "") + path;\n },\n dirname: function(path) {\n var result = PATH.splitPath(path),\n root = result[0],\n dir = result[1];\n if (!root && !dir) {\n return ".";\n }\n if (dir) {\n dir = dir.substr(0, dir.length - 1);\n }\n return root + dir;\n },\n basename: function(path) {\n if (path === "/") return "/";\n var lastSlash = path.lastIndexOf("/");\n if (lastSlash === -1) return path;\n return path.substr(lastSlash + 1);\n },\n extname: function(path) {\n return PATH.splitPath(path)[3];\n },\n join: function() {\n var paths = Array.prototype.slice.call(arguments, 0);\n return PATH.normalize(paths.join("/"));\n },\n join2: function(l, r) {\n return PATH.normalize(l + "/" + r);\n }\n};\nfunction ___setErrNo(value) {\n if (Module["___errno_location"])\n HEAP32[Module["___errno_location"]() >> 2] = value;\n return value;\n}\nvar PATH_FS = {\n resolve: function() {\n var resolvedPath = "",\n resolvedAbsolute = false;\n for (var i = arguments.length - 1; i >= -1 && !resolvedAbsolute; i--) {\n var path = i >= 0 ? arguments[i] : FS.cwd();\n if (typeof path !== "string") {\n throw new TypeError("Arguments to path.resolve must be strings");\n } else if (!path) {\n return "";\n }\n resolvedPath = path + "/" + resolvedPath;\n resolvedAbsolute = path.charAt(0) === "/";\n }\n resolvedPath = PATH.normalizeArray(\n resolvedPath.split("/").filter(function(p) {\n return !!p;\n }),\n !resolvedAbsolute\n ).join("/");\n return (resolvedAbsolute ? "/" : "") + resolvedPath || ".";\n },\n relative: function(from, to) {\n from = PATH_FS.resolve(from).substr(1);\n to = PATH_FS.resolve(to).substr(1);\n function trim(arr) {\n var start = 0;\n for (; start < arr.length; start++) {\n if (arr[start] !== "") break;\n }\n var end = arr.length - 1;\n for (; end >= 0; end--) {\n if (arr[end] !== "") break;\n }\n if (start > end) return [];\n return arr.slice(start, end - start + 1);\n }\n var fromParts = trim(from.split("/"));\n var toParts = trim(to.split("/"));\n var length = Math.min(fromParts.length, toParts.length);\n var samePartsLength = length;\n for (var i = 0; i < length; i++) {\n if (fromParts[i] !== toParts[i]) {\n samePartsLength = i;\n break;\n }\n }\n var outputParts = [];\n for (var i = samePartsLength; i < fromParts.length; i++) {\n outputParts.push("..");\n }\n outputParts = outputParts.concat(toParts.slice(samePartsLength));\n return outputParts.join("/");\n }\n};\nvar TTY = {\n ttys: [],\n init: function() {},\n shutdown: function() {},\n register: function(dev, ops) {\n TTY.ttys[dev] = { input: [], output: [], ops: ops };\n FS.registerDevice(dev, TTY.stream_ops);\n },\n stream_ops: {\n open: function(stream) {\n var tty = TTY.ttys[stream.node.rdev];\n if (!tty) {\n throw new FS.ErrnoError(43);\n }\n stream.tty = tty;\n stream.seekable = false;\n },\n close: function(stream) {\n stream.tty.ops.flush(stream.tty);\n },\n flush: function(stream) {\n stream.tty.ops.flush(stream.tty);\n },\n read: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.get_char) {\n throw new FS.ErrnoError(60);\n }\n var bytesRead = 0;\n for (var i = 0; i < length; i++) {\n var result;\n try {\n result = stream.tty.ops.get_char(stream.tty);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) {\n throw new FS.ErrnoError(6);\n }\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) {\n stream.node.timestamp = Date.now();\n }\n return bytesRead;\n },\n write: function(stream, buffer, offset, length, pos) {\n if (!stream.tty || !stream.tty.ops.put_char) {\n throw new FS.ErrnoError(60);\n }\n try {\n for (var i = 0; i < length; i++) {\n stream.tty.ops.put_char(stream.tty, buffer[offset + i]);\n }\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (length) {\n stream.node.timestamp = Date.now();\n }\n return i;\n }\n },\n default_tty_ops: {\n get_char: function(tty) {\n if (!tty.input.length) {\n var result = null;\n if (ENVIRONMENT_IS_NODE) {\n var BUFSIZE = 256;\n var buf = Buffer.alloc ? Buffer.alloc(BUFSIZE) : new Buffer(BUFSIZE);\n var bytesRead = 0;\n try {\n bytesRead = nodeFS.readSync(\n process.stdin.fd,\n buf,\n 0,\n BUFSIZE,\n null\n );\n } catch (e) {\n if (e.toString().indexOf("EOF") != -1) bytesRead = 0;\n else throw e;\n }\n if (bytesRead > 0) {\n result = buf.slice(0, bytesRead).toString("utf-8");\n } else {\n result = null;\n }\n } else if (\n typeof window != "undefined" &&\n typeof window.prompt == "function"\n ) {\n result = window.prompt("Input: ");\n if (result !== null) {\n result += "\\n";\n }\n } else if (typeof readline == "function") {\n result = readline();\n if (result !== null) {\n result += "\\n";\n }\n }\n if (!result) {\n return null;\n }\n tty.input = intArrayFromString(result, true);\n }\n return tty.input.shift();\n },\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else {\n if (val != 0) tty.output.push(val);\n }\n },\n flush: function(tty) {\n if (tty.output && tty.output.length > 0) {\n out(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n },\n default_tty1_ops: {\n put_char: function(tty, val) {\n if (val === null || val === 10) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n } else {\n if (val != 0) tty.output.push(val);\n }\n },\n flush: function(tty) {\n if (tty.output && tty.output.length > 0) {\n err(UTF8ArrayToString(tty.output, 0));\n tty.output = [];\n }\n }\n }\n};\nvar MEMFS = {\n ops_table: null,\n mount: function(mount) {\n return MEMFS.createNode(null, "/", 16384 | 511, 0);\n },\n createNode: function(parent, name, mode, dev) {\n if (FS.isBlkdev(mode) || FS.isFIFO(mode)) {\n throw new FS.ErrnoError(63);\n }\n if (!MEMFS.ops_table) {\n MEMFS.ops_table = {\n dir: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n lookup: MEMFS.node_ops.lookup,\n mknod: MEMFS.node_ops.mknod,\n rename: MEMFS.node_ops.rename,\n unlink: MEMFS.node_ops.unlink,\n rmdir: MEMFS.node_ops.rmdir,\n readdir: MEMFS.node_ops.readdir,\n symlink: MEMFS.node_ops.symlink\n },\n stream: { llseek: MEMFS.stream_ops.llseek }\n },\n file: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: {\n llseek: MEMFS.stream_ops.llseek,\n read: MEMFS.stream_ops.read,\n write: MEMFS.stream_ops.write,\n allocate: MEMFS.stream_ops.allocate,\n mmap: MEMFS.stream_ops.mmap,\n msync: MEMFS.stream_ops.msync\n }\n },\n link: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr,\n readlink: MEMFS.node_ops.readlink\n },\n stream: {}\n },\n chrdev: {\n node: {\n getattr: MEMFS.node_ops.getattr,\n setattr: MEMFS.node_ops.setattr\n },\n stream: FS.chrdev_stream_ops\n }\n };\n }\n var node = FS.createNode(parent, name, mode, dev);\n if (FS.isDir(node.mode)) {\n node.node_ops = MEMFS.ops_table.dir.node;\n node.stream_ops = MEMFS.ops_table.dir.stream;\n node.contents = {};\n } else if (FS.isFile(node.mode)) {\n node.node_ops = MEMFS.ops_table.file.node;\n node.stream_ops = MEMFS.ops_table.file.stream;\n node.usedBytes = 0;\n node.contents = null;\n } else if (FS.isLink(node.mode)) {\n node.node_ops = MEMFS.ops_table.link.node;\n node.stream_ops = MEMFS.ops_table.link.stream;\n } else if (FS.isChrdev(node.mode)) {\n node.node_ops = MEMFS.ops_table.chrdev.node;\n node.stream_ops = MEMFS.ops_table.chrdev.stream;\n }\n node.timestamp = Date.now();\n if (parent) {\n parent.contents[name] = node;\n }\n return node;\n },\n getFileDataAsRegularArray: function(node) {\n if (node.contents && node.contents.subarray) {\n var arr = [];\n for (var i = 0; i < node.usedBytes; ++i) arr.push(node.contents[i]);\n return arr;\n }\n return node.contents;\n },\n getFileDataAsTypedArray: function(node) {\n if (!node.contents) return new Uint8Array();\n if (node.contents.subarray)\n return node.contents.subarray(0, node.usedBytes);\n return new Uint8Array(node.contents);\n },\n expandFileStorage: function(node, newCapacity) {\n var prevCapacity = node.contents ? node.contents.length : 0;\n if (prevCapacity >= newCapacity) return;\n var CAPACITY_DOUBLING_MAX = 1024 * 1024;\n newCapacity = Math.max(\n newCapacity,\n (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2 : 1.125)) | 0\n );\n if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256);\n var oldContents = node.contents;\n node.contents = new Uint8Array(newCapacity);\n if (node.usedBytes > 0)\n node.contents.set(oldContents.subarray(0, node.usedBytes), 0);\n return;\n },\n resizeFileStorage: function(node, newSize) {\n if (node.usedBytes == newSize) return;\n if (newSize == 0) {\n node.contents = null;\n node.usedBytes = 0;\n return;\n }\n if (!node.contents || node.contents.subarray) {\n var oldContents = node.contents;\n node.contents = new Uint8Array(new ArrayBuffer(newSize));\n if (oldContents) {\n node.contents.set(\n oldContents.subarray(0, Math.min(newSize, node.usedBytes))\n );\n }\n node.usedBytes = newSize;\n return;\n }\n if (!node.contents) node.contents = [];\n if (node.contents.length > newSize) node.contents.length = newSize;\n else while (node.contents.length < newSize) node.contents.push(0);\n node.usedBytes = newSize;\n },\n node_ops: {\n getattr: function(node) {\n var attr = {};\n attr.dev = FS.isChrdev(node.mode) ? node.id : 1;\n attr.ino = node.id;\n attr.mode = node.mode;\n attr.nlink = 1;\n attr.uid = 0;\n attr.gid = 0;\n attr.rdev = node.rdev;\n if (FS.isDir(node.mode)) {\n attr.size = 4096;\n } else if (FS.isFile(node.mode)) {\n attr.size = node.usedBytes;\n } else if (FS.isLink(node.mode)) {\n attr.size = node.link.length;\n } else {\n attr.size = 0;\n }\n attr.atime = new Date(node.timestamp);\n attr.mtime = new Date(node.timestamp);\n attr.ctime = new Date(node.timestamp);\n attr.blksize = 4096;\n attr.blocks = Math.ceil(attr.size / attr.blksize);\n return attr;\n },\n setattr: function(node, attr) {\n if (attr.mode !== undefined) {\n node.mode = attr.mode;\n }\n if (attr.timestamp !== undefined) {\n node.timestamp = attr.timestamp;\n }\n if (attr.size !== undefined) {\n MEMFS.resizeFileStorage(node, attr.size);\n }\n },\n lookup: function(parent, name) {\n throw FS.genericErrors[44];\n },\n mknod: function(parent, name, mode, dev) {\n return MEMFS.createNode(parent, name, mode, dev);\n },\n rename: function(old_node, new_dir, new_name) {\n if (FS.isDir(old_node.mode)) {\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (new_node) {\n for (var i in new_node.contents) {\n throw new FS.ErrnoError(55);\n }\n }\n }\n delete old_node.parent.contents[old_node.name];\n old_node.name = new_name;\n new_dir.contents[new_name] = old_node;\n old_node.parent = new_dir;\n },\n unlink: function(parent, name) {\n delete parent.contents[name];\n },\n rmdir: function(parent, name) {\n var node = FS.lookupNode(parent, name);\n for (var i in node.contents) {\n throw new FS.ErrnoError(55);\n }\n delete parent.contents[name];\n },\n readdir: function(node) {\n var entries = [".", ".."];\n for (var key in node.contents) {\n if (!node.contents.hasOwnProperty(key)) {\n continue;\n }\n entries.push(key);\n }\n return entries;\n },\n symlink: function(parent, newname, oldpath) {\n var node = MEMFS.createNode(parent, newname, 511 | 40960, 0);\n node.link = oldpath;\n return node;\n },\n readlink: function(node) {\n if (!FS.isLink(node.mode)) {\n throw new FS.ErrnoError(28);\n }\n return node.link;\n }\n },\n stream_ops: {\n read: function(stream, buffer, offset, length, position) {\n var contents = stream.node.contents;\n if (position >= stream.node.usedBytes) return 0;\n var size = Math.min(stream.node.usedBytes - position, length);\n if (size > 8 && contents.subarray) {\n buffer.set(contents.subarray(position, position + size), offset);\n } else {\n for (var i = 0; i < size; i++)\n buffer[offset + i] = contents[position + i];\n }\n return size;\n },\n write: function(stream, buffer, offset, length, position, canOwn) {\n if (buffer.buffer === HEAP8.buffer) {\n canOwn = false;\n }\n if (!length) return 0;\n var node = stream.node;\n node.timestamp = Date.now();\n if (buffer.subarray && (!node.contents || node.contents.subarray)) {\n if (canOwn) {\n node.contents = buffer.subarray(offset, offset + length);\n node.usedBytes = length;\n return length;\n } else if (node.usedBytes === 0 && position === 0) {\n node.contents = new Uint8Array(\n buffer.subarray(offset, offset + length)\n );\n node.usedBytes = length;\n return length;\n } else if (position + length <= node.usedBytes) {\n node.contents.set(buffer.subarray(offset, offset + length), position);\n return length;\n }\n }\n MEMFS.expandFileStorage(node, position + length);\n if (node.contents.subarray && buffer.subarray)\n node.contents.set(buffer.subarray(offset, offset + length), position);\n else {\n for (var i = 0; i < length; i++) {\n node.contents[position + i] = buffer[offset + i];\n }\n }\n node.usedBytes = Math.max(node.usedBytes, position + length);\n return length;\n },\n llseek: function(stream, offset, whence) {\n var position = offset;\n if (whence === 1) {\n position += stream.position;\n } else if (whence === 2) {\n if (FS.isFile(stream.node.mode)) {\n position += stream.node.usedBytes;\n }\n }\n if (position < 0) {\n throw new FS.ErrnoError(28);\n }\n return position;\n },\n allocate: function(stream, offset, length) {\n MEMFS.expandFileStorage(stream.node, offset + length);\n stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length);\n },\n mmap: function(stream, buffer, offset, length, position, prot, flags) {\n if (!FS.isFile(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n var ptr;\n var allocated;\n var contents = stream.node.contents;\n if (!(flags & 2) && contents.buffer === buffer.buffer) {\n allocated = false;\n ptr = contents.byteOffset;\n } else {\n if (position > 0 || position + length < stream.node.usedBytes) {\n if (contents.subarray) {\n contents = contents.subarray(position, position + length);\n } else {\n contents = Array.prototype.slice.call(\n contents,\n position,\n position + length\n );\n }\n }\n allocated = true;\n var fromHeap = buffer.buffer == HEAP8.buffer;\n ptr = _malloc(length);\n if (!ptr) {\n throw new FS.ErrnoError(48);\n }\n (fromHeap ? HEAP8 : buffer).set(contents, ptr);\n }\n return { ptr: ptr, allocated: allocated };\n },\n msync: function(stream, buffer, offset, length, mmapFlags) {\n if (!FS.isFile(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n if (mmapFlags & 2) {\n return 0;\n }\n var bytesWritten = MEMFS.stream_ops.write(\n stream,\n buffer,\n 0,\n length,\n offset,\n false\n );\n return 0;\n }\n }\n};\nvar ERRNO_CODES = {\n EPERM: 63,\n ENOENT: 44,\n ESRCH: 71,\n EINTR: 27,\n EIO: 29,\n ENXIO: 60,\n E2BIG: 1,\n ENOEXEC: 45,\n EBADF: 8,\n ECHILD: 12,\n EAGAIN: 6,\n EWOULDBLOCK: 6,\n ENOMEM: 48,\n EACCES: 2,\n EFAULT: 21,\n ENOTBLK: 105,\n EBUSY: 10,\n EEXIST: 20,\n EXDEV: 75,\n ENODEV: 43,\n ENOTDIR: 54,\n EISDIR: 31,\n EINVAL: 28,\n ENFILE: 41,\n EMFILE: 33,\n ENOTTY: 59,\n ETXTBSY: 74,\n EFBIG: 22,\n ENOSPC: 51,\n ESPIPE: 70,\n EROFS: 69,\n EMLINK: 34,\n EPIPE: 64,\n EDOM: 18,\n ERANGE: 68,\n ENOMSG: 49,\n EIDRM: 24,\n ECHRNG: 106,\n EL2NSYNC: 156,\n EL3HLT: 107,\n EL3RST: 108,\n ELNRNG: 109,\n EUNATCH: 110,\n ENOCSI: 111,\n EL2HLT: 112,\n EDEADLK: 16,\n ENOLCK: 46,\n EBADE: 113,\n EBADR: 114,\n EXFULL: 115,\n ENOANO: 104,\n EBADRQC: 103,\n EBADSLT: 102,\n EDEADLOCK: 16,\n EBFONT: 101,\n ENOSTR: 100,\n ENODATA: 116,\n ETIME: 117,\n ENOSR: 118,\n ENONET: 119,\n ENOPKG: 120,\n EREMOTE: 121,\n ENOLINK: 47,\n EADV: 122,\n ESRMNT: 123,\n ECOMM: 124,\n EPROTO: 65,\n EMULTIHOP: 36,\n EDOTDOT: 125,\n EBADMSG: 9,\n ENOTUNIQ: 126,\n EBADFD: 127,\n EREMCHG: 128,\n ELIBACC: 129,\n ELIBBAD: 130,\n ELIBSCN: 131,\n ELIBMAX: 132,\n ELIBEXEC: 133,\n ENOSYS: 52,\n ENOTEMPTY: 55,\n ENAMETOOLONG: 37,\n ELOOP: 32,\n EOPNOTSUPP: 138,\n EPFNOSUPPORT: 139,\n ECONNRESET: 15,\n ENOBUFS: 42,\n EAFNOSUPPORT: 5,\n EPROTOTYPE: 67,\n ENOTSOCK: 57,\n ENOPROTOOPT: 50,\n ESHUTDOWN: 140,\n ECONNREFUSED: 14,\n EADDRINUSE: 3,\n ECONNABORTED: 13,\n ENETUNREACH: 40,\n ENETDOWN: 38,\n ETIMEDOUT: 73,\n EHOSTDOWN: 142,\n EHOSTUNREACH: 23,\n EINPROGRESS: 26,\n EALREADY: 7,\n EDESTADDRREQ: 17,\n EMSGSIZE: 35,\n EPROTONOSUPPORT: 66,\n ESOCKTNOSUPPORT: 137,\n EADDRNOTAVAIL: 4,\n ENETRESET: 39,\n EISCONN: 30,\n ENOTCONN: 53,\n ETOOMANYREFS: 141,\n EUSERS: 136,\n EDQUOT: 19,\n ESTALE: 72,\n ENOTSUP: 138,\n ENOMEDIUM: 148,\n EILSEQ: 25,\n EOVERFLOW: 61,\n ECANCELED: 11,\n ENOTRECOVERABLE: 56,\n EOWNERDEAD: 62,\n ESTRPIPE: 135\n};\nvar NODEFS = {\n isWindows: false,\n staticInit: function() {\n NODEFS.isWindows = !!process.platform.match(/^win/);\n var flags = { fs: fs.constants };\n if (flags["fs"]) {\n flags = flags["fs"];\n }\n NODEFS.flagsForNodeMap = {\n 1024: flags["O_APPEND"],\n 64: flags["O_CREAT"],\n 128: flags["O_EXCL"],\n 0: flags["O_RDONLY"],\n 2: flags["O_RDWR"],\n 4096: flags["O_SYNC"],\n 512: flags["O_TRUNC"],\n 1: flags["O_WRONLY"]\n };\n },\n bufferFrom: function(arrayBuffer) {\n return Buffer["alloc"] ? Buffer.from(arrayBuffer) : new Buffer(arrayBuffer);\n },\n convertNodeCode: function(e) {\n var code = e.code;\n assert(code in ERRNO_CODES);\n return ERRNO_CODES[code];\n },\n mount: function(mount) {\n assert(ENVIRONMENT_HAS_NODE);\n return NODEFS.createNode(null, "/", NODEFS.getMode(mount.opts.root), 0);\n },\n createNode: function(parent, name, mode, dev) {\n if (!FS.isDir(mode) && !FS.isFile(mode) && !FS.isLink(mode)) {\n throw new FS.ErrnoError(28);\n }\n var node = FS.createNode(parent, name, mode);\n node.node_ops = NODEFS.node_ops;\n node.stream_ops = NODEFS.stream_ops;\n return node;\n },\n getMode: function(path) {\n var stat;\n try {\n stat = fs.lstatSync(path);\n if (NODEFS.isWindows) {\n stat.mode = stat.mode | ((stat.mode & 292) >> 2);\n }\n } catch (e) {\n if (!e.code) throw e;\n throw new FS.ErrnoError(NODEFS.convertNodeCode(e));\n }\n return stat.mode;\n },\n realPath: function(node) {\n var parts = [];\n while (node.parent !== node) {\n parts.push(node.name);\n node = node.parent;\n }\n parts.push(node.mount.opts.root);\n parts.reverse();\n return PATH.join.apply(null, parts);\n },\n flagsForNode: function(flags) {\n flags &= ~2097152;\n flags &= ~2048;\n flags &= ~32768;\n flags &= ~524288;\n var newFlags = 0;\n for (var k in NODEFS.flagsForNodeMap) {\n if (flags & k) {\n newFlags |= NODEFS.flagsForNodeMap[k];\n flags ^= k;\n }\n }\n if (!flags) {\n return newFlags;\n } else {\n throw new FS.ErrnoError(28);\n }\n },\n node_ops: {\n getattr: function(node) {\n var path = NODEFS.realPath(node);\n var stat;\n try {\n stat = fs.lstatSync(path);\n } catch (e) {\n if (!e.code) throw e;\n throw new FS.ErrnoError(NODEFS.convertNodeCode(e));\n }\n if (NODEFS.isWindows && !stat.blksize) {\n stat.blksize = 4096;\n }\n if (NODEFS.isWindows && !stat.blocks) {\n stat.blocks = ((stat.size + stat.blksize - 1) / stat.blksize) | 0;\n }\n return {\n dev: stat.dev,\n ino: stat.ino,\n mode: stat.mode,\n nlink: stat.nlink,\n uid: stat.uid,\n gid: stat.gid,\n rdev: stat.rdev,\n size: stat.size,\n atime: stat.atime,\n mtime: stat.mtime,\n ctime: stat.ctime,\n blksize: stat.blksize,\n blocks: stat.blocks\n };\n },\n setattr: function(node, attr) {\n var path = NODEFS.realPath(node);\n try {\n if (attr.mode !== undefined) {\n fs.chmodSync(path, attr.mode);\n node.mode = attr.mode;\n }\n if (attr.timestamp !== undefined) {\n var date = new Date(attr.timestamp);\n fs.utimesSync(path, date, date);\n }\n if (attr.size !== undefined) {\n fs.truncateSync(path, attr.size);\n }\n } catch (e) {\n if (!e.code) throw e;\n throw new FS.ErrnoError(NODEFS.convertNodeCode(e));\n }\n },\n lookup: function(parent, name) {\n var path = PATH.join2(NODEFS.realPath(parent), name);\n var mode = NODEFS.getMode(path);\n return NODEFS.createNode(parent, name, mode);\n },\n mknod: function(parent, name, mode, dev) {\n var node = NODEFS.createNode(parent, name, mode, dev);\n var path = NODEFS.realPath(node);\n try {\n if (FS.isDir(node.mode)) {\n fs.mkdirSync(path, node.mode);\n } else {\n fs.writeFileSync(path, "", { mode: node.mode });\n }\n } catch (e) {\n if (!e.code) throw e;\n throw new FS.ErrnoError(NODEFS.convertNodeCode(e));\n }\n return node;\n },\n rename: function(oldNode, newDir, newName) {\n var oldPath = NODEFS.realPath(oldNode);\n var newPath = PATH.join2(NODEFS.realPath(newDir), newName);\n try {\n fs.renameSync(oldPath, newPath);\n } catch (e) {\n if (!e.code) throw e;\n throw new FS.ErrnoError(NODEFS.convertNodeCode(e));\n }\n },\n unlink: function(parent, name) {\n var path = PATH.join2(NODEFS.realPath(parent), name);\n try {\n fs.unlinkSync(path);\n } catch (e) {\n if (!e.code) throw e;\n throw new FS.ErrnoError(NODEFS.convertNodeCode(e));\n }\n },\n rmdir: function(parent, name) {\n var path = PATH.join2(NODEFS.realPath(parent), name);\n try {\n fs.rmdirSync(path);\n } catch (e) {\n if (!e.code) throw e;\n throw new FS.ErrnoError(NODEFS.convertNodeCode(e));\n }\n },\n readdir: function(node) {\n var path = NODEFS.realPath(node);\n try {\n return fs.readdirSync(path);\n } catch (e) {\n if (!e.code) throw e;\n throw new FS.ErrnoError(NODEFS.convertNodeCode(e));\n }\n },\n symlink: function(parent, newName, oldPath) {\n var newPath = PATH.join2(NODEFS.realPath(parent), newName);\n try {\n fs.symlinkSync(oldPath, newPath);\n } catch (e) {\n if (!e.code) throw e;\n throw new FS.ErrnoError(NODEFS.convertNodeCode(e));\n }\n },\n readlink: function(node) {\n var path = NODEFS.realPath(node);\n try {\n path = fs.readlinkSync(path);\n path = NODEJS_PATH.relative(\n NODEJS_PATH.resolve(node.mount.opts.root),\n path\n );\n return path;\n } catch (e) {\n if (!e.code) throw e;\n throw new FS.ErrnoError(NODEFS.convertNodeCode(e));\n }\n }\n },\n stream_ops: {\n open: function(stream) {\n var path = NODEFS.realPath(stream.node);\n try {\n if (FS.isFile(stream.node.mode)) {\n stream.nfd = fs.openSync(path, NODEFS.flagsForNode(stream.flags));\n }\n } catch (e) {\n if (!e.code) throw e;\n throw new FS.ErrnoError(NODEFS.convertNodeCode(e));\n }\n },\n close: function(stream) {\n try {\n if (FS.isFile(stream.node.mode) && stream.nfd) {\n fs.closeSync(stream.nfd);\n }\n } catch (e) {\n if (!e.code) throw e;\n throw new FS.ErrnoError(NODEFS.convertNodeCode(e));\n }\n },\n read: function(stream, buffer, offset, length, position) {\n if (length === 0) return 0;\n try {\n return fs.readSync(\n stream.nfd,\n NODEFS.bufferFrom(buffer.buffer),\n offset,\n length,\n position\n );\n } catch (e) {\n throw new FS.ErrnoError(NODEFS.convertNodeCode(e));\n }\n },\n write: function(stream, buffer, offset, length, position) {\n try {\n return fs.writeSync(\n stream.nfd,\n NODEFS.bufferFrom(buffer.buffer),\n offset,\n length,\n position\n );\n } catch (e) {\n throw new FS.ErrnoError(NODEFS.convertNodeCode(e));\n }\n },\n llseek: function(stream, offset, whence) {\n var position = offset;\n if (whence === 1) {\n position += stream.position;\n } else if (whence === 2) {\n if (FS.isFile(stream.node.mode)) {\n try {\n var stat = fs.fstatSync(stream.nfd);\n position += stat.size;\n } catch (e) {\n throw new FS.ErrnoError(NODEFS.convertNodeCode(e));\n }\n }\n }\n if (position < 0) {\n throw new FS.ErrnoError(28);\n }\n return position;\n }\n }\n};\nvar NODERAWFS = {\n lookupPath: function(path) {\n return { path: path, node: { mode: NODEFS.getMode(path) } };\n },\n createStandardStreams: function() {\n FS.streams[0] = {\n fd: 0,\n nfd: 0,\n position: 0,\n path: "",\n flags: 0,\n tty: true,\n seekable: false\n };\n for (var i = 1; i < 3; i++) {\n FS.streams[i] = {\n fd: i,\n nfd: i,\n position: 0,\n path: "",\n flags: 577,\n tty: true,\n seekable: false\n };\n }\n },\n cwd: function() {\n return process.cwd();\n },\n chdir: function() {\n process.chdir.apply(void 0, arguments);\n },\n mknod: function(path, mode) {\n if (FS.isDir(path)) {\n fs.mkdirSync(path, mode);\n } else {\n fs.writeFileSync(path, "", { mode: mode });\n }\n },\n mkdir: function() {\n fs.mkdirSync.apply(void 0, arguments);\n },\n symlink: function() {\n fs.symlinkSync.apply(void 0, arguments);\n },\n rename: function() {\n fs.renameSync.apply(void 0, arguments);\n },\n rmdir: function() {\n fs.rmdirSync.apply(void 0, arguments);\n },\n readdir: function() {\n fs.readdirSync.apply(void 0, arguments);\n },\n unlink: function() {\n fs.unlinkSync.apply(void 0, arguments);\n },\n readlink: function() {\n return fs.readlinkSync.apply(void 0, arguments);\n },\n stat: function() {\n return fs.statSync.apply(void 0, arguments);\n },\n lstat: function() {\n return fs.lstatSync.apply(void 0, arguments);\n },\n chmod: function() {\n fs.chmodSync.apply(void 0, arguments);\n },\n fchmod: function() {\n fs.fchmodSync.apply(void 0, arguments);\n },\n chown: function() {\n fs.chownSync.apply(void 0, arguments);\n },\n fchown: function() {\n fs.fchownSync.apply(void 0, arguments);\n },\n truncate: function() {\n fs.truncateSync.apply(void 0, arguments);\n },\n ftruncate: function() {\n fs.ftruncateSync.apply(void 0, arguments);\n },\n utime: function() {\n fs.utimesSync.apply(void 0, arguments);\n },\n open: function(path, flags, mode, suggestFD) {\n if (typeof flags === "string") {\n flags = VFS.modeStringToFlags(flags);\n }\n var nfd = fs.openSync(path, NODEFS.flagsForNode(flags), mode);\n var fd = suggestFD != null ? suggestFD : FS.nextfd(nfd);\n var stream = {\n fd: fd,\n nfd: nfd,\n position: 0,\n path: path,\n flags: flags,\n seekable: true\n };\n FS.streams[fd] = stream;\n return stream;\n },\n close: function(stream) {\n if (!stream.stream_ops) {\n fs.closeSync(stream.nfd);\n }\n FS.closeStream(stream.fd);\n },\n llseek: function(stream, offset, whence) {\n if (stream.stream_ops) {\n return VFS.llseek(stream, offset, whence);\n }\n var position = offset;\n if (whence === 1) {\n position += stream.position;\n } else if (whence === 2) {\n position += fs.fstatSync(stream.nfd).size;\n } else if (whence !== 0) {\n throw new FS.ErrnoError(ERRNO_CODES.EINVAL);\n }\n if (position < 0) {\n throw new FS.ErrnoError(ERRNO_CODES.EINVAL);\n }\n stream.position = position;\n return position;\n },\n read: function(stream, buffer, offset, length, position) {\n if (stream.stream_ops) {\n return VFS.read(stream, buffer, offset, length, position);\n }\n var seeking = typeof position !== "undefined";\n if (!seeking && stream.seekable) position = stream.position;\n var bytesRead = fs.readSync(\n stream.nfd,\n NODEFS.bufferFrom(buffer.buffer),\n offset,\n length,\n position\n );\n if (!seeking) stream.position += bytesRead;\n return bytesRead;\n },\n write: function(stream, buffer, offset, length, position) {\n if (stream.stream_ops) {\n return VFS.write(stream, buffer, offset, length, position);\n }\n if (stream.flags & +"1024") {\n FS.llseek(stream, 0, +"2");\n }\n var seeking = typeof position !== "undefined";\n if (!seeking && stream.seekable) position = stream.position;\n var bytesWritten = fs.writeSync(\n stream.nfd,\n NODEFS.bufferFrom(buffer.buffer),\n offset,\n length,\n position\n );\n if (!seeking) stream.position += bytesWritten;\n return bytesWritten;\n },\n allocate: function() {\n throw new FS.ErrnoError(ERRNO_CODES.EOPNOTSUPP);\n },\n mmap: function() {\n throw new FS.ErrnoError(ERRNO_CODES.ENODEV);\n },\n msync: function() {\n return 0;\n },\n munmap: function() {\n return 0;\n },\n ioctl: function() {\n throw new FS.ErrnoError(ERRNO_CODES.ENOTTY);\n }\n};\nvar FS = {\n root: null,\n mounts: [],\n devices: {},\n streams: [],\n nextInode: 1,\n nameTable: null,\n currentPath: "/",\n initialized: false,\n ignorePermissions: true,\n trackingDelegate: {},\n tracking: { openFlags: { READ: 1, WRITE: 2 } },\n ErrnoError: null,\n genericErrors: {},\n filesystems: null,\n syncFSRequests: 0,\n handleFSError: function(e) {\n if (!(e instanceof FS.ErrnoError)) throw e + " : " + stackTrace();\n return ___setErrNo(e.errno);\n },\n lookupPath: function(path, opts) {\n path = PATH_FS.resolve(FS.cwd(), path);\n opts = opts || {};\n if (!path) return { path: "", node: null };\n var defaults = { follow_mount: true, recurse_count: 0 };\n for (var key in defaults) {\n if (opts[key] === undefined) {\n opts[key] = defaults[key];\n }\n }\n if (opts.recurse_count > 8) {\n throw new FS.ErrnoError(32);\n }\n var parts = PATH.normalizeArray(\n path.split("/").filter(function(p) {\n return !!p;\n }),\n false\n );\n var current = FS.root;\n var current_path = "/";\n for (var i = 0; i < parts.length; i++) {\n var islast = i === parts.length - 1;\n if (islast && opts.parent) {\n break;\n }\n current = FS.lookupNode(current, parts[i]);\n current_path = PATH.join2(current_path, parts[i]);\n if (FS.isMountpoint(current)) {\n if (!islast || (islast && opts.follow_mount)) {\n current = current.mounted.root;\n }\n }\n if (!islast || opts.follow) {\n var count = 0;\n while (FS.isLink(current.mode)) {\n var link = FS.readlink(current_path);\n current_path = PATH_FS.resolve(PATH.dirname(current_path), link);\n var lookup = FS.lookupPath(current_path, {\n recurse_count: opts.recurse_count\n });\n current = lookup.node;\n if (count++ > 40) {\n throw new FS.ErrnoError(32);\n }\n }\n }\n }\n return { path: current_path, node: current };\n },\n getPath: function(node) {\n var path;\n while (true) {\n if (FS.isRoot(node)) {\n var mount = node.mount.mountpoint;\n if (!path) return mount;\n return mount[mount.length - 1] !== "/"\n ? mount + "/" + path\n : mount + path;\n }\n path = path ? node.name + "/" + path : node.name;\n node = node.parent;\n }\n },\n hashName: function(parentid, name) {\n var hash = 0;\n for (var i = 0; i < name.length; i++) {\n hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0;\n }\n return ((parentid + hash) >>> 0) % FS.nameTable.length;\n },\n hashAddNode: function(node) {\n var hash = FS.hashName(node.parent.id, node.name);\n node.name_next = FS.nameTable[hash];\n FS.nameTable[hash] = node;\n },\n hashRemoveNode: function(node) {\n var hash = FS.hashName(node.parent.id, node.name);\n if (FS.nameTable[hash] === node) {\n FS.nameTable[hash] = node.name_next;\n } else {\n var current = FS.nameTable[hash];\n while (current) {\n if (current.name_next === node) {\n current.name_next = node.name_next;\n break;\n }\n current = current.name_next;\n }\n }\n },\n lookupNode: function(parent, name) {\n var err = FS.mayLookup(parent);\n if (err) {\n throw new FS.ErrnoError(err, parent);\n }\n var hash = FS.hashName(parent.id, name);\n for (var node = FS.nameTable[hash]; node; node = node.name_next) {\n var nodeName = node.name;\n if (node.parent.id === parent.id && nodeName === name) {\n return node;\n }\n }\n return FS.lookup(parent, name);\n },\n createNode: function(parent, name, mode, rdev) {\n if (!FS.FSNode) {\n FS.FSNode = function(parent, name, mode, rdev) {\n if (!parent) {\n parent = this;\n }\n this.parent = parent;\n this.mount = parent.mount;\n this.mounted = null;\n this.id = FS.nextInode++;\n this.name = name;\n this.mode = mode;\n this.node_ops = {};\n this.stream_ops = {};\n this.rdev = rdev;\n };\n FS.FSNode.prototype = {};\n var readMode = 292 | 73;\n var writeMode = 146;\n Object.defineProperties(FS.FSNode.prototype, {\n read: {\n get: function() {\n return (this.mode & readMode) === readMode;\n },\n set: function(val) {\n val ? (this.mode |= readMode) : (this.mode &= ~readMode);\n }\n },\n write: {\n get: function() {\n return (this.mode & writeMode) === writeMode;\n },\n set: function(val) {\n val ? (this.mode |= writeMode) : (this.mode &= ~writeMode);\n }\n },\n isFolder: {\n get: function() {\n return FS.isDir(this.mode);\n }\n },\n isDevice: {\n get: function() {\n return FS.isChrdev(this.mode);\n }\n }\n });\n }\n var node = new FS.FSNode(parent, name, mode, rdev);\n FS.hashAddNode(node);\n return node;\n },\n destroyNode: function(node) {\n FS.hashRemoveNode(node);\n },\n isRoot: function(node) {\n return node === node.parent;\n },\n isMountpoint: function(node) {\n return !!node.mounted;\n },\n isFile: function(mode) {\n return (mode & 61440) === 32768;\n },\n isDir: function(mode) {\n return (mode & 61440) === 16384;\n },\n isLink: function(mode) {\n return (mode & 61440) === 40960;\n },\n isChrdev: function(mode) {\n return (mode & 61440) === 8192;\n },\n isBlkdev: function(mode) {\n return (mode & 61440) === 24576;\n },\n isFIFO: function(mode) {\n return (mode & 61440) === 4096;\n },\n isSocket: function(mode) {\n return (mode & 49152) === 49152;\n },\n flagModes: {\n r: 0,\n rs: 1052672,\n "r+": 2,\n w: 577,\n wx: 705,\n xw: 705,\n "w+": 578,\n "wx+": 706,\n "xw+": 706,\n a: 1089,\n ax: 1217,\n xa: 1217,\n "a+": 1090,\n "ax+": 1218,\n "xa+": 1218\n },\n modeStringToFlags: function(str) {\n var flags = FS.flagModes[str];\n if (typeof flags === "undefined") {\n throw new Error("Unknown file open mode: " + str);\n }\n return flags;\n },\n flagsToPermissionString: function(flag) {\n var perms = ["r", "w", "rw"][flag & 3];\n if (flag & 512) {\n perms += "w";\n }\n return perms;\n },\n nodePermissions: function(node, perms) {\n if (FS.ignorePermissions) {\n return 0;\n }\n if (perms.indexOf("r") !== -1 && !(node.mode & 292)) {\n return 2;\n } else if (perms.indexOf("w") !== -1 && !(node.mode & 146)) {\n return 2;\n } else if (perms.indexOf("x") !== -1 && !(node.mode & 73)) {\n return 2;\n }\n return 0;\n },\n mayLookup: function(dir) {\n var err = FS.nodePermissions(dir, "x");\n if (err) return err;\n if (!dir.node_ops.lookup) return 2;\n return 0;\n },\n mayCreate: function(dir, name) {\n try {\n var node = FS.lookupNode(dir, name);\n return 20;\n } catch (e) {}\n return FS.nodePermissions(dir, "wx");\n },\n mayDelete: function(dir, name, isdir) {\n var node;\n try {\n node = FS.lookupNode(dir, name);\n } catch (e) {\n return e.errno;\n }\n var err = FS.nodePermissions(dir, "wx");\n if (err) {\n return err;\n }\n if (isdir) {\n if (!FS.isDir(node.mode)) {\n return 54;\n }\n if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) {\n return 10;\n }\n } else {\n if (FS.isDir(node.mode)) {\n return 31;\n }\n }\n return 0;\n },\n mayOpen: function(node, flags) {\n if (!node) {\n return 44;\n }\n if (FS.isLink(node.mode)) {\n return 32;\n } else if (FS.isDir(node.mode)) {\n if (FS.flagsToPermissionString(flags) !== "r" || flags & 512) {\n return 31;\n }\n }\n return FS.nodePermissions(node, FS.flagsToPermissionString(flags));\n },\n MAX_OPEN_FDS: 4096,\n nextfd: function(fd_start, fd_end) {\n fd_start = fd_start || 0;\n fd_end = fd_end || FS.MAX_OPEN_FDS;\n for (var fd = fd_start; fd <= fd_end; fd++) {\n if (!FS.streams[fd]) {\n return fd;\n }\n }\n throw new FS.ErrnoError(33);\n },\n getStream: function(fd) {\n return FS.streams[fd];\n },\n createStream: function(stream, fd_start, fd_end) {\n if (!FS.FSStream) {\n FS.FSStream = function() {};\n FS.FSStream.prototype = {};\n Object.defineProperties(FS.FSStream.prototype, {\n object: {\n get: function() {\n return this.node;\n },\n set: function(val) {\n this.node = val;\n }\n },\n isRead: {\n get: function() {\n return (this.flags & 2097155) !== 1;\n }\n },\n isWrite: {\n get: function() {\n return (this.flags & 2097155) !== 0;\n }\n },\n isAppend: {\n get: function() {\n return this.flags & 1024;\n }\n }\n });\n }\n var newStream = new FS.FSStream();\n for (var p in stream) {\n newStream[p] = stream[p];\n }\n stream = newStream;\n var fd = FS.nextfd(fd_start, fd_end);\n stream.fd = fd;\n FS.streams[fd] = stream;\n return stream;\n },\n closeStream: function(fd) {\n FS.streams[fd] = null;\n },\n chrdev_stream_ops: {\n open: function(stream) {\n var device = FS.getDevice(stream.node.rdev);\n stream.stream_ops = device.stream_ops;\n if (stream.stream_ops.open) {\n stream.stream_ops.open(stream);\n }\n },\n llseek: function() {\n throw new FS.ErrnoError(70);\n }\n },\n major: function(dev) {\n return dev >> 8;\n },\n minor: function(dev) {\n return dev & 255;\n },\n makedev: function(ma, mi) {\n return (ma << 8) | mi;\n },\n registerDevice: function(dev, ops) {\n FS.devices[dev] = { stream_ops: ops };\n },\n getDevice: function(dev) {\n return FS.devices[dev];\n },\n getMounts: function(mount) {\n var mounts = [];\n var check = [mount];\n while (check.length) {\n var m = check.pop();\n mounts.push(m);\n check.push.apply(check, m.mounts);\n }\n return mounts;\n },\n syncfs: function(populate, callback) {\n if (typeof populate === "function") {\n callback = populate;\n populate = false;\n }\n FS.syncFSRequests++;\n if (FS.syncFSRequests > 1) {\n console.log(\n "warning: " +\n FS.syncFSRequests +\n " FS.syncfs operations in flight at once, probably just doing extra work"\n );\n }\n var mounts = FS.getMounts(FS.root.mount);\n var completed = 0;\n function doCallback(err) {\n FS.syncFSRequests--;\n return callback(err);\n }\n function done(err) {\n if (err) {\n if (!done.errored) {\n done.errored = true;\n return doCallback(err);\n }\n return;\n }\n if (++completed >= mounts.length) {\n doCallback(null);\n }\n }\n mounts.forEach(function(mount) {\n if (!mount.type.syncfs) {\n return done(null);\n }\n mount.type.syncfs(mount, populate, done);\n });\n },\n mount: function(type, opts, mountpoint) {\n var root = mountpoint === "/";\n var pseudo = !mountpoint;\n var node;\n if (root && FS.root) {\n throw new FS.ErrnoError(10);\n } else if (!root && !pseudo) {\n var lookup = FS.lookupPath(mountpoint, { follow_mount: false });\n mountpoint = lookup.path;\n node = lookup.node;\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n if (!FS.isDir(node.mode)) {\n throw new FS.ErrnoError(54);\n }\n }\n var mount = { type: type, opts: opts, mountpoint: mountpoint, mounts: [] };\n var mountRoot = type.mount(mount);\n mountRoot.mount = mount;\n mount.root = mountRoot;\n if (root) {\n FS.root = mountRoot;\n } else if (node) {\n node.mounted = mount;\n if (node.mount) {\n node.mount.mounts.push(mount);\n }\n }\n return mountRoot;\n },\n unmount: function(mountpoint) {\n var lookup = FS.lookupPath(mountpoint, { follow_mount: false });\n if (!FS.isMountpoint(lookup.node)) {\n throw new FS.ErrnoError(28);\n }\n var node = lookup.node;\n var mount = node.mounted;\n var mounts = FS.getMounts(mount);\n Object.keys(FS.nameTable).forEach(function(hash) {\n var current = FS.nameTable[hash];\n while (current) {\n var next = current.name_next;\n if (mounts.indexOf(current.mount) !== -1) {\n FS.destroyNode(current);\n }\n current = next;\n }\n });\n node.mounted = null;\n var idx = node.mount.mounts.indexOf(mount);\n node.mount.mounts.splice(idx, 1);\n },\n lookup: function(parent, name) {\n return parent.node_ops.lookup(parent, name);\n },\n mknod: function(path, mode, dev) {\n var lookup = FS.lookupPath(path, { parent: true });\n var parent = lookup.node;\n var name = PATH.basename(path);\n if (!name || name === "." || name === "..") {\n throw new FS.ErrnoError(28);\n }\n var err = FS.mayCreate(parent, name);\n if (err) {\n throw new FS.ErrnoError(err);\n }\n if (!parent.node_ops.mknod) {\n throw new FS.ErrnoError(63);\n }\n return parent.node_ops.mknod(parent, name, mode, dev);\n },\n create: function(path, mode) {\n mode = mode !== undefined ? mode : 438;\n mode &= 4095;\n mode |= 32768;\n return FS.mknod(path, mode, 0);\n },\n mkdir: function(path, mode) {\n mode = mode !== undefined ? mode : 511;\n mode &= 511 | 512;\n mode |= 16384;\n return FS.mknod(path, mode, 0);\n },\n mkdirTree: function(path, mode) {\n var dirs = path.split("/");\n var d = "";\n for (var i = 0; i < dirs.length; ++i) {\n if (!dirs[i]) continue;\n d += "/" + dirs[i];\n try {\n FS.mkdir(d, mode);\n } catch (e) {\n if (e.errno != 20) throw e;\n }\n }\n },\n mkdev: function(path, mode, dev) {\n if (typeof dev === "undefined") {\n dev = mode;\n mode = 438;\n }\n mode |= 8192;\n return FS.mknod(path, mode, dev);\n },\n symlink: function(oldpath, newpath) {\n if (!PATH_FS.resolve(oldpath)) {\n throw new FS.ErrnoError(44);\n }\n var lookup = FS.lookupPath(newpath, { parent: true });\n var parent = lookup.node;\n if (!parent) {\n throw new FS.ErrnoError(44);\n }\n var newname = PATH.basename(newpath);\n var err = FS.mayCreate(parent, newname);\n if (err) {\n throw new FS.ErrnoError(err);\n }\n if (!parent.node_ops.symlink) {\n throw new FS.ErrnoError(63);\n }\n return parent.node_ops.symlink(parent, newname, oldpath);\n },\n rename: function(old_path, new_path) {\n var old_dirname = PATH.dirname(old_path);\n var new_dirname = PATH.dirname(new_path);\n var old_name = PATH.basename(old_path);\n var new_name = PATH.basename(new_path);\n var lookup, old_dir, new_dir;\n try {\n lookup = FS.lookupPath(old_path, { parent: true });\n old_dir = lookup.node;\n lookup = FS.lookupPath(new_path, { parent: true });\n new_dir = lookup.node;\n } catch (e) {\n throw new FS.ErrnoError(10);\n }\n if (!old_dir || !new_dir) throw new FS.ErrnoError(44);\n if (old_dir.mount !== new_dir.mount) {\n throw new FS.ErrnoError(75);\n }\n var old_node = FS.lookupNode(old_dir, old_name);\n var relative = PATH_FS.relative(old_path, new_dirname);\n if (relative.charAt(0) !== ".") {\n throw new FS.ErrnoError(28);\n }\n relative = PATH_FS.relative(new_path, old_dirname);\n if (relative.charAt(0) !== ".") {\n throw new FS.ErrnoError(55);\n }\n var new_node;\n try {\n new_node = FS.lookupNode(new_dir, new_name);\n } catch (e) {}\n if (old_node === new_node) {\n return;\n }\n var isdir = FS.isDir(old_node.mode);\n var err = FS.mayDelete(old_dir, old_name, isdir);\n if (err) {\n throw new FS.ErrnoError(err);\n }\n err = new_node\n ? FS.mayDelete(new_dir, new_name, isdir)\n : FS.mayCreate(new_dir, new_name);\n if (err) {\n throw new FS.ErrnoError(err);\n }\n if (!old_dir.node_ops.rename) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) {\n throw new FS.ErrnoError(10);\n }\n if (new_dir !== old_dir) {\n err = FS.nodePermissions(old_dir, "w");\n if (err) {\n throw new FS.ErrnoError(err);\n }\n }\n try {\n if (FS.trackingDelegate["willMovePath"]) {\n FS.trackingDelegate["willMovePath"](old_path, new_path);\n }\n } catch (e) {\n console.log(\n "FS.trackingDelegate[\'willMovePath\'](\'" +\n old_path +\n "\', \'" +\n new_path +\n "\') threw an exception: " +\n e.message\n );\n }\n FS.hashRemoveNode(old_node);\n try {\n old_dir.node_ops.rename(old_node, new_dir, new_name);\n } catch (e) {\n throw e;\n } finally {\n FS.hashAddNode(old_node);\n }\n try {\n if (FS.trackingDelegate["onMovePath"])\n FS.trackingDelegate["onMovePath"](old_path, new_path);\n } catch (e) {\n console.log(\n "FS.trackingDelegate[\'onMovePath\'](\'" +\n old_path +\n "\', \'" +\n new_path +\n "\') threw an exception: " +\n e.message\n );\n }\n },\n rmdir: function(path) {\n var lookup = FS.lookupPath(path, { parent: true });\n var parent = lookup.node;\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var err = FS.mayDelete(parent, name, true);\n if (err) {\n throw new FS.ErrnoError(err);\n }\n if (!parent.node_ops.rmdir) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n try {\n if (FS.trackingDelegate["willDeletePath"]) {\n FS.trackingDelegate["willDeletePath"](path);\n }\n } catch (e) {\n console.log(\n "FS.trackingDelegate[\'willDeletePath\'](\'" +\n path +\n "\') threw an exception: " +\n e.message\n );\n }\n parent.node_ops.rmdir(parent, name);\n FS.destroyNode(node);\n try {\n if (FS.trackingDelegate["onDeletePath"])\n FS.trackingDelegate["onDeletePath"](path);\n } catch (e) {\n console.log(\n "FS.trackingDelegate[\'onDeletePath\'](\'" +\n path +\n "\') threw an exception: " +\n e.message\n );\n }\n },\n readdir: function(path) {\n var lookup = FS.lookupPath(path, { follow: true });\n var node = lookup.node;\n if (!node.node_ops.readdir) {\n throw new FS.ErrnoError(54);\n }\n return node.node_ops.readdir(node);\n },\n unlink: function(path) {\n var lookup = FS.lookupPath(path, { parent: true });\n var parent = lookup.node;\n var name = PATH.basename(path);\n var node = FS.lookupNode(parent, name);\n var err = FS.mayDelete(parent, name, false);\n if (err) {\n throw new FS.ErrnoError(err);\n }\n if (!parent.node_ops.unlink) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isMountpoint(node)) {\n throw new FS.ErrnoError(10);\n }\n try {\n if (FS.trackingDelegate["willDeletePath"]) {\n FS.trackingDelegate["willDeletePath"](path);\n }\n } catch (e) {\n console.log(\n "FS.trackingDelegate[\'willDeletePath\'](\'" +\n path +\n "\') threw an exception: " +\n e.message\n );\n }\n parent.node_ops.unlink(parent, name);\n FS.destroyNode(node);\n try {\n if (FS.trackingDelegate["onDeletePath"])\n FS.trackingDelegate["onDeletePath"](path);\n } catch (e) {\n console.log(\n "FS.trackingDelegate[\'onDeletePath\'](\'" +\n path +\n "\') threw an exception: " +\n e.message\n );\n }\n },\n readlink: function(path) {\n var lookup = FS.lookupPath(path);\n var link = lookup.node;\n if (!link) {\n throw new FS.ErrnoError(44);\n }\n if (!link.node_ops.readlink) {\n throw new FS.ErrnoError(28);\n }\n return PATH_FS.resolve(\n FS.getPath(link.parent),\n link.node_ops.readlink(link)\n );\n },\n stat: function(path, dontFollow) {\n var lookup = FS.lookupPath(path, { follow: !dontFollow });\n var node = lookup.node;\n if (!node) {\n throw new FS.ErrnoError(44);\n }\n if (!node.node_ops.getattr) {\n throw new FS.ErrnoError(63);\n }\n return node.node_ops.getattr(node);\n },\n lstat: function(path) {\n return FS.stat(path, true);\n },\n chmod: function(path, mode, dontFollow) {\n var node;\n if (typeof path === "string") {\n var lookup = FS.lookupPath(path, { follow: !dontFollow });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n node.node_ops.setattr(node, {\n mode: (mode & 4095) | (node.mode & ~4095),\n timestamp: Date.now()\n });\n },\n lchmod: function(path, mode) {\n FS.chmod(path, mode, true);\n },\n fchmod: function(fd, mode) {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n FS.chmod(stream.node, mode);\n },\n chown: function(path, uid, gid, dontFollow) {\n var node;\n if (typeof path === "string") {\n var lookup = FS.lookupPath(path, { follow: !dontFollow });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n node.node_ops.setattr(node, { timestamp: Date.now() });\n },\n lchown: function(path, uid, gid) {\n FS.chown(path, uid, gid, true);\n },\n fchown: function(fd, uid, gid) {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n FS.chown(stream.node, uid, gid);\n },\n truncate: function(path, len) {\n if (len < 0) {\n throw new FS.ErrnoError(28);\n }\n var node;\n if (typeof path === "string") {\n var lookup = FS.lookupPath(path, { follow: true });\n node = lookup.node;\n } else {\n node = path;\n }\n if (!node.node_ops.setattr) {\n throw new FS.ErrnoError(63);\n }\n if (FS.isDir(node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!FS.isFile(node.mode)) {\n throw new FS.ErrnoError(28);\n }\n var err = FS.nodePermissions(node, "w");\n if (err) {\n throw new FS.ErrnoError(err);\n }\n node.node_ops.setattr(node, { size: len, timestamp: Date.now() });\n },\n ftruncate: function(fd, len) {\n var stream = FS.getStream(fd);\n if (!stream) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(28);\n }\n FS.truncate(stream.node, len);\n },\n utime: function(path, atime, mtime) {\n var lookup = FS.lookupPath(path, { follow: true });\n var node = lookup.node;\n node.node_ops.setattr(node, { timestamp: Math.max(atime, mtime) });\n },\n open: function(path, flags, mode, fd_start, fd_end) {\n if (path === "") {\n throw new FS.ErrnoError(44);\n }\n flags = typeof flags === "string" ? FS.modeStringToFlags(flags) : flags;\n mode = typeof mode === "undefined" ? 438 : mode;\n if (flags & 64) {\n mode = (mode & 4095) | 32768;\n } else {\n mode = 0;\n }\n var node;\n if (typeof path === "object") {\n node = path;\n } else {\n path = PATH.normalize(path);\n try {\n var lookup = FS.lookupPath(path, { follow: !(flags & 131072) });\n node = lookup.node;\n } catch (e) {}\n }\n var created = false;\n if (flags & 64) {\n if (node) {\n if (flags & 128) {\n throw new FS.ErrnoError(20);\n }\n } else {\n node = FS.mknod(path, mode, 0);\n created = true;\n }\n }\n if (!node) {\n throw new FS.ErrnoError(44);\n }\n if (FS.isChrdev(node.mode)) {\n flags &= ~512;\n }\n if (flags & 65536 && !FS.isDir(node.mode)) {\n throw new FS.ErrnoError(54);\n }\n if (!created) {\n var err = FS.mayOpen(node, flags);\n if (err) {\n throw new FS.ErrnoError(err);\n }\n }\n if (flags & 512) {\n FS.truncate(node, 0);\n }\n flags &= ~(128 | 512);\n var stream = FS.createStream(\n {\n node: node,\n path: FS.getPath(node),\n flags: flags,\n seekable: true,\n position: 0,\n stream_ops: node.stream_ops,\n ungotten: [],\n error: false\n },\n fd_start,\n fd_end\n );\n if (stream.stream_ops.open) {\n stream.stream_ops.open(stream);\n }\n if (Module["logReadFiles"] && !(flags & 1)) {\n if (!FS.readFiles) FS.readFiles = {};\n if (!(path in FS.readFiles)) {\n FS.readFiles[path] = 1;\n console.log("FS.trackingDelegate error on read file: " + path);\n }\n }\n try {\n if (FS.trackingDelegate["onOpenFile"]) {\n var trackingFlags = 0;\n if ((flags & 2097155) !== 1) {\n trackingFlags |= FS.tracking.openFlags.READ;\n }\n if ((flags & 2097155) !== 0) {\n trackingFlags |= FS.tracking.openFlags.WRITE;\n }\n FS.trackingDelegate["onOpenFile"](path, trackingFlags);\n }\n } catch (e) {\n console.log(\n "FS.trackingDelegate[\'onOpenFile\'](\'" +\n path +\n "\', flags) threw an exception: " +\n e.message\n );\n }\n return stream;\n },\n close: function(stream) {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (stream.getdents) stream.getdents = null;\n try {\n if (stream.stream_ops.close) {\n stream.stream_ops.close(stream);\n }\n } catch (e) {\n throw e;\n } finally {\n FS.closeStream(stream.fd);\n }\n stream.fd = null;\n },\n isClosed: function(stream) {\n return stream.fd === null;\n },\n llseek: function(stream, offset, whence) {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (!stream.seekable || !stream.stream_ops.llseek) {\n throw new FS.ErrnoError(70);\n }\n if (whence != 0 && whence != 1 && whence != 2) {\n throw new FS.ErrnoError(28);\n }\n stream.position = stream.stream_ops.llseek(stream, offset, whence);\n stream.ungotten = [];\n return stream.position;\n },\n read: function(stream, buffer, offset, length, position) {\n if (length < 0 || position < 0) {\n throw new FS.ErrnoError(28);\n }\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 1) {\n throw new FS.ErrnoError(8);\n }\n if (FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!stream.stream_ops.read) {\n throw new FS.ErrnoError(28);\n }\n var seeking = typeof position !== "undefined";\n if (!seeking) {\n position = stream.position;\n } else if (!stream.seekable) {\n throw new FS.ErrnoError(70);\n }\n var bytesRead = stream.stream_ops.read(\n stream,\n buffer,\n offset,\n length,\n position\n );\n if (!seeking) stream.position += bytesRead;\n return bytesRead;\n },\n write: function(stream, buffer, offset, length, position, canOwn) {\n if (length < 0 || position < 0) {\n throw new FS.ErrnoError(28);\n }\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(8);\n }\n if (FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(31);\n }\n if (!stream.stream_ops.write) {\n throw new FS.ErrnoError(28);\n }\n if (stream.flags & 1024) {\n FS.llseek(stream, 0, 2);\n }\n var seeking = typeof position !== "undefined";\n if (!seeking) {\n position = stream.position;\n } else if (!stream.seekable) {\n throw new FS.ErrnoError(70);\n }\n var bytesWritten = stream.stream_ops.write(\n stream,\n buffer,\n offset,\n length,\n position,\n canOwn\n );\n if (!seeking) stream.position += bytesWritten;\n try {\n if (stream.path && FS.trackingDelegate["onWriteToFile"])\n FS.trackingDelegate["onWriteToFile"](stream.path);\n } catch (e) {\n console.log(\n "FS.trackingDelegate[\'onWriteToFile\'](\'" +\n stream.path +\n "\') threw an exception: " +\n e.message\n );\n }\n return bytesWritten;\n },\n allocate: function(stream, offset, length) {\n if (FS.isClosed(stream)) {\n throw new FS.ErrnoError(8);\n }\n if (offset < 0 || length <= 0) {\n throw new FS.ErrnoError(28);\n }\n if ((stream.flags & 2097155) === 0) {\n throw new FS.ErrnoError(8);\n }\n if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) {\n throw new FS.ErrnoError(43);\n }\n if (!stream.stream_ops.allocate) {\n throw new FS.ErrnoError(138);\n }\n stream.stream_ops.allocate(stream, offset, length);\n },\n mmap: function(stream, buffer, offset, length, position, prot, flags) {\n if (\n (prot & 2) !== 0 &&\n (flags & 2) === 0 &&\n (stream.flags & 2097155) !== 2\n ) {\n throw new FS.ErrnoError(2);\n }\n if ((stream.flags & 2097155) === 1) {\n throw new FS.ErrnoError(2);\n }\n if (!stream.stream_ops.mmap) {\n throw new FS.ErrnoError(43);\n }\n return stream.stream_ops.mmap(\n stream,\n buffer,\n offset,\n length,\n position,\n prot,\n flags\n );\n },\n msync: function(stream, buffer, offset, length, mmapFlags) {\n if (!stream || !stream.stream_ops.msync) {\n return 0;\n }\n return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags);\n },\n munmap: function(stream) {\n return 0;\n },\n ioctl: function(stream, cmd, arg) {\n if (!stream.stream_ops.ioctl) {\n throw new FS.ErrnoError(59);\n }\n return stream.stream_ops.ioctl(stream, cmd, arg);\n },\n readFile: function(path, opts) {\n opts = opts || {};\n opts.flags = opts.flags || "r";\n opts.encoding = opts.encoding || "binary";\n if (opts.encoding !== "utf8" && opts.encoding !== "binary") {\n throw new Error(\'Invalid encoding type "\' + opts.encoding + \'"\');\n }\n var ret;\n var stream = FS.open(path, opts.flags);\n var stat = FS.stat(path);\n var length = stat.size;\n var buf = new Uint8Array(length);\n FS.read(stream, buf, 0, length, 0);\n if (opts.encoding === "utf8") {\n ret = UTF8ArrayToString(buf, 0);\n } else if (opts.encoding === "binary") {\n ret = buf;\n }\n FS.close(stream);\n return ret;\n },\n writeFile: function(path, data, opts) {\n opts = opts || {};\n opts.flags = opts.flags || "w";\n var stream = FS.open(path, opts.flags, opts.mode);\n if (typeof data === "string") {\n var buf = new Uint8Array(lengthBytesUTF8(data) + 1);\n var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length);\n FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn);\n } else if (ArrayBuffer.isView(data)) {\n FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn);\n } else {\n throw new Error("Unsupported data type");\n }\n FS.close(stream);\n },\n cwd: function() {\n return FS.currentPath;\n },\n chdir: function(path) {\n var lookup = FS.lookupPath(path, { follow: true });\n if (lookup.node === null) {\n throw new FS.ErrnoError(44);\n }\n if (!FS.isDir(lookup.node.mode)) {\n throw new FS.ErrnoError(54);\n }\n var err = FS.nodePermissions(lookup.node, "x");\n if (err) {\n throw new FS.ErrnoError(err);\n }\n FS.currentPath = lookup.path;\n },\n createDefaultDirectories: function() {\n FS.mkdir("/tmp");\n FS.mkdir("/home");\n FS.mkdir("/home/web_user");\n },\n createDefaultDevices: function() {\n FS.mkdir("/dev");\n FS.registerDevice(FS.makedev(1, 3), {\n read: function() {\n return 0;\n },\n write: function(stream, buffer, offset, length, pos) {\n return length;\n }\n });\n FS.mkdev("/dev/null", FS.makedev(1, 3));\n TTY.register(FS.makedev(5, 0), TTY.default_tty_ops);\n TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);\n FS.mkdev("/dev/tty", FS.makedev(5, 0));\n FS.mkdev("/dev/tty1", FS.makedev(6, 0));\n var random_device;\n if (\n typeof crypto === "object" &&\n typeof crypto["getRandomValues"] === "function"\n ) {\n var randomBuffer = new Uint8Array(1);\n random_device = function() {\n crypto.getRandomValues(randomBuffer);\n return randomBuffer[0];\n };\n } else if (ENVIRONMENT_IS_NODE) {\n try {\n var crypto_module = __webpack_require__(27);\n random_device = function() {\n return crypto_module["randomBytes"](1)[0];\n };\n } catch (e) {}\n } else {\n }\n if (!random_device) {\n random_device = function() {\n abort("random_device");\n };\n }\n FS.createDevice("/dev", "random", random_device);\n FS.createDevice("/dev", "urandom", random_device);\n FS.mkdir("/dev/shm");\n FS.mkdir("/dev/shm/tmp");\n },\n createSpecialDirectories: function() {\n FS.mkdir("/proc");\n FS.mkdir("/proc/self");\n FS.mkdir("/proc/self/fd");\n FS.mount(\n {\n mount: function() {\n var node = FS.createNode("/proc/self", "fd", 16384 | 511, 73);\n node.node_ops = {\n lookup: function(parent, name) {\n var fd = +name;\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n var ret = {\n parent: null,\n mount: { mountpoint: "fake" },\n node_ops: {\n readlink: function() {\n return stream.path;\n }\n }\n };\n ret.parent = ret;\n return ret;\n }\n };\n return node;\n }\n },\n {},\n "/proc/self/fd"\n );\n },\n createStandardStreams: function() {\n if (Module["stdin"]) {\n FS.createDevice("/dev", "stdin", Module["stdin"]);\n } else {\n FS.symlink("/dev/tty", "/dev/stdin");\n }\n if (Module["stdout"]) {\n FS.createDevice("/dev", "stdout", null, Module["stdout"]);\n } else {\n FS.symlink("/dev/tty", "/dev/stdout");\n }\n if (Module["stderr"]) {\n FS.createDevice("/dev", "stderr", null, Module["stderr"]);\n } else {\n FS.symlink("/dev/tty1", "/dev/stderr");\n }\n var stdin = FS.open("/dev/stdin", "r");\n var stdout = FS.open("/dev/stdout", "w");\n var stderr = FS.open("/dev/stderr", "w");\n },\n ensureErrnoError: function() {\n if (FS.ErrnoError) return;\n FS.ErrnoError = function ErrnoError(errno, node) {\n this.node = node;\n this.setErrno = function(errno) {\n this.errno = errno;\n };\n this.setErrno(errno);\n this.message = "FS error";\n };\n FS.ErrnoError.prototype = new Error();\n FS.ErrnoError.prototype.constructor = FS.ErrnoError;\n [44].forEach(function(code) {\n FS.genericErrors[code] = new FS.ErrnoError(code);\n FS.genericErrors[code].stack = "";\n });\n },\n staticInit: function() {\n FS.ensureErrnoError();\n FS.nameTable = new Array(4096);\n FS.mount(MEMFS, {}, "/");\n FS.createDefaultDirectories();\n FS.createDefaultDevices();\n FS.createSpecialDirectories();\n FS.filesystems = { MEMFS: MEMFS, NODEFS: NODEFS };\n },\n init: function(input, output, error) {\n FS.init.initialized = true;\n FS.ensureErrnoError();\n Module["stdin"] = input || Module["stdin"];\n Module["stdout"] = output || Module["stdout"];\n Module["stderr"] = error || Module["stderr"];\n FS.createStandardStreams();\n },\n quit: function() {\n FS.init.initialized = false;\n var fflush = Module["_fflush"];\n if (fflush) fflush(0);\n for (var i = 0; i < FS.streams.length; i++) {\n var stream = FS.streams[i];\n if (!stream) {\n continue;\n }\n FS.close(stream);\n }\n },\n getMode: function(canRead, canWrite) {\n var mode = 0;\n if (canRead) mode |= 292 | 73;\n if (canWrite) mode |= 146;\n return mode;\n },\n joinPath: function(parts, forceRelative) {\n var path = PATH.join.apply(null, parts);\n if (forceRelative && path[0] == "/") path = path.substr(1);\n return path;\n },\n absolutePath: function(relative, base) {\n return PATH_FS.resolve(base, relative);\n },\n standardizePath: function(path) {\n return PATH.normalize(path);\n },\n findObject: function(path, dontResolveLastLink) {\n var ret = FS.analyzePath(path, dontResolveLastLink);\n if (ret.exists) {\n return ret.object;\n } else {\n ___setErrNo(ret.error);\n return null;\n }\n },\n analyzePath: function(path, dontResolveLastLink) {\n try {\n var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });\n path = lookup.path;\n } catch (e) {}\n var ret = {\n isRoot: false,\n exists: false,\n error: 0,\n name: null,\n path: null,\n object: null,\n parentExists: false,\n parentPath: null,\n parentObject: null\n };\n try {\n var lookup = FS.lookupPath(path, { parent: true });\n ret.parentExists = true;\n ret.parentPath = lookup.path;\n ret.parentObject = lookup.node;\n ret.name = PATH.basename(path);\n lookup = FS.lookupPath(path, { follow: !dontResolveLastLink });\n ret.exists = true;\n ret.path = lookup.path;\n ret.object = lookup.node;\n ret.name = lookup.node.name;\n ret.isRoot = lookup.path === "/";\n } catch (e) {\n ret.error = e.errno;\n }\n return ret;\n },\n createFolder: function(parent, name, canRead, canWrite) {\n var path = PATH.join2(\n typeof parent === "string" ? parent : FS.getPath(parent),\n name\n );\n var mode = FS.getMode(canRead, canWrite);\n return FS.mkdir(path, mode);\n },\n createPath: function(parent, path, canRead, canWrite) {\n parent = typeof parent === "string" ? parent : FS.getPath(parent);\n var parts = path.split("/").reverse();\n while (parts.length) {\n var part = parts.pop();\n if (!part) continue;\n var current = PATH.join2(parent, part);\n try {\n FS.mkdir(current);\n } catch (e) {}\n parent = current;\n }\n return current;\n },\n createFile: function(parent, name, properties, canRead, canWrite) {\n var path = PATH.join2(\n typeof parent === "string" ? parent : FS.getPath(parent),\n name\n );\n var mode = FS.getMode(canRead, canWrite);\n return FS.create(path, mode);\n },\n createDataFile: function(parent, name, data, canRead, canWrite, canOwn) {\n var path = name\n ? PATH.join2(\n typeof parent === "string" ? parent : FS.getPath(parent),\n name\n )\n : parent;\n var mode = FS.getMode(canRead, canWrite);\n var node = FS.create(path, mode);\n if (data) {\n if (typeof data === "string") {\n var arr = new Array(data.length);\n for (var i = 0, len = data.length; i < len; ++i)\n arr[i] = data.charCodeAt(i);\n data = arr;\n }\n FS.chmod(node, mode | 146);\n var stream = FS.open(node, "w");\n FS.write(stream, data, 0, data.length, 0, canOwn);\n FS.close(stream);\n FS.chmod(node, mode);\n }\n return node;\n },\n createDevice: function(parent, name, input, output) {\n var path = PATH.join2(\n typeof parent === "string" ? parent : FS.getPath(parent),\n name\n );\n var mode = FS.getMode(!!input, !!output);\n if (!FS.createDevice.major) FS.createDevice.major = 64;\n var dev = FS.makedev(FS.createDevice.major++, 0);\n FS.registerDevice(dev, {\n open: function(stream) {\n stream.seekable = false;\n },\n close: function(stream) {\n if (output && output.buffer && output.buffer.length) {\n output(10);\n }\n },\n read: function(stream, buffer, offset, length, pos) {\n var bytesRead = 0;\n for (var i = 0; i < length; i++) {\n var result;\n try {\n result = input();\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n if (result === undefined && bytesRead === 0) {\n throw new FS.ErrnoError(6);\n }\n if (result === null || result === undefined) break;\n bytesRead++;\n buffer[offset + i] = result;\n }\n if (bytesRead) {\n stream.node.timestamp = Date.now();\n }\n return bytesRead;\n },\n write: function(stream, buffer, offset, length, pos) {\n for (var i = 0; i < length; i++) {\n try {\n output(buffer[offset + i]);\n } catch (e) {\n throw new FS.ErrnoError(29);\n }\n }\n if (length) {\n stream.node.timestamp = Date.now();\n }\n return i;\n }\n });\n return FS.mkdev(path, mode, dev);\n },\n createLink: function(parent, name, target, canRead, canWrite) {\n var path = PATH.join2(\n typeof parent === "string" ? parent : FS.getPath(parent),\n name\n );\n return FS.symlink(target, path);\n },\n forceLoadFile: function(obj) {\n if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true;\n var success = true;\n if (typeof XMLHttpRequest !== "undefined") {\n throw new Error(\n "Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."\n );\n } else if (read_) {\n try {\n obj.contents = intArrayFromString(read_(obj.url), true);\n obj.usedBytes = obj.contents.length;\n } catch (e) {\n success = false;\n }\n } else {\n throw new Error("Cannot load without read() or XMLHttpRequest.");\n }\n if (!success) ___setErrNo(29);\n return success;\n },\n createLazyFile: function(parent, name, url, canRead, canWrite) {\n function LazyUint8Array() {\n this.lengthKnown = false;\n this.chunks = [];\n }\n LazyUint8Array.prototype.get = function LazyUint8Array_get(idx) {\n if (idx > this.length - 1 || idx < 0) {\n return undefined;\n }\n var chunkOffset = idx % this.chunkSize;\n var chunkNum = (idx / this.chunkSize) | 0;\n return this.getter(chunkNum)[chunkOffset];\n };\n LazyUint8Array.prototype.setDataGetter = function LazyUint8Array_setDataGetter(\n getter\n ) {\n this.getter = getter;\n };\n LazyUint8Array.prototype.cacheLength = function LazyUint8Array_cacheLength() {\n var xhr = new XMLHttpRequest();\n xhr.open("HEAD", url, false);\n xhr.send(null);\n if (!((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304))\n throw new Error("Couldn\'t load " + url + ". Status: " + xhr.status);\n var datalength = Number(xhr.getResponseHeader("Content-length"));\n var header;\n var hasByteServing =\n (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes";\n var usesGzip =\n (header = xhr.getResponseHeader("Content-Encoding")) &&\n header === "gzip";\n var chunkSize = 1024 * 1024;\n if (!hasByteServing) chunkSize = datalength;\n var doXHR = function(from, to) {\n if (from > to)\n throw new Error(\n "invalid range (" + from + ", " + to + ") or no bytes requested!"\n );\n if (to > datalength - 1)\n throw new Error(\n "only " + datalength + " bytes available! programmer error!"\n );\n var xhr = new XMLHttpRequest();\n xhr.open("GET", url, false);\n if (datalength !== chunkSize)\n xhr.setRequestHeader("Range", "bytes=" + from + "-" + to);\n if (typeof Uint8Array != "undefined") xhr.responseType = "arraybuffer";\n if (xhr.overrideMimeType) {\n xhr.overrideMimeType("text/plain; charset=x-user-defined");\n }\n xhr.send(null);\n if (!((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304))\n throw new Error("Couldn\'t load " + url + ". Status: " + xhr.status);\n if (xhr.response !== undefined) {\n return new Uint8Array(xhr.response || []);\n } else {\n return intArrayFromString(xhr.responseText || "", true);\n }\n };\n var lazyArray = this;\n lazyArray.setDataGetter(function(chunkNum) {\n var start = chunkNum * chunkSize;\n var end = (chunkNum + 1) * chunkSize - 1;\n end = Math.min(end, datalength - 1);\n if (typeof lazyArray.chunks[chunkNum] === "undefined") {\n lazyArray.chunks[chunkNum] = doXHR(start, end);\n }\n if (typeof lazyArray.chunks[chunkNum] === "undefined")\n throw new Error("doXHR failed!");\n return lazyArray.chunks[chunkNum];\n });\n if (usesGzip || !datalength) {\n chunkSize = datalength = 1;\n datalength = this.getter(0).length;\n chunkSize = datalength;\n console.log(\n "LazyFiles on gzip forces download of the whole file when length is accessed"\n );\n }\n this._length = datalength;\n this._chunkSize = chunkSize;\n this.lengthKnown = true;\n };\n if (typeof XMLHttpRequest !== "undefined") {\n if (!ENVIRONMENT_IS_WORKER)\n throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";\n var lazyArray = new LazyUint8Array();\n Object.defineProperties(lazyArray, {\n length: {\n get: function() {\n if (!this.lengthKnown) {\n this.cacheLength();\n }\n return this._length;\n }\n },\n chunkSize: {\n get: function() {\n if (!this.lengthKnown) {\n this.cacheLength();\n }\n return this._chunkSize;\n }\n }\n });\n var properties = { isDevice: false, contents: lazyArray };\n } else {\n var properties = { isDevice: false, url: url };\n }\n var node = FS.createFile(parent, name, properties, canRead, canWrite);\n if (properties.contents) {\n node.contents = properties.contents;\n } else if (properties.url) {\n node.contents = null;\n node.url = properties.url;\n }\n Object.defineProperties(node, {\n usedBytes: {\n get: function() {\n return this.contents.length;\n }\n }\n });\n var stream_ops = {};\n var keys = Object.keys(node.stream_ops);\n keys.forEach(function(key) {\n var fn = node.stream_ops[key];\n stream_ops[key] = function forceLoadLazyFile() {\n if (!FS.forceLoadFile(node)) {\n throw new FS.ErrnoError(29);\n }\n return fn.apply(null, arguments);\n };\n });\n stream_ops.read = function stream_ops_read(\n stream,\n buffer,\n offset,\n length,\n position\n ) {\n if (!FS.forceLoadFile(node)) {\n throw new FS.ErrnoError(29);\n }\n var contents = stream.node.contents;\n if (position >= contents.length) return 0;\n var size = Math.min(contents.length - position, length);\n if (contents.slice) {\n for (var i = 0; i < size; i++) {\n buffer[offset + i] = contents[position + i];\n }\n } else {\n for (var i = 0; i < size; i++) {\n buffer[offset + i] = contents.get(position + i);\n }\n }\n return size;\n };\n node.stream_ops = stream_ops;\n return node;\n },\n createPreloadedFile: function(\n parent,\n name,\n url,\n canRead,\n canWrite,\n onload,\n onerror,\n dontCreateFile,\n canOwn,\n preFinish\n ) {\n Browser.init();\n var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent;\n var dep = getUniqueRunDependency("cp " + fullname);\n function processData(byteArray) {\n function finish(byteArray) {\n if (preFinish) preFinish();\n if (!dontCreateFile) {\n FS.createDataFile(parent, name, byteArray, canRead, canWrite, canOwn);\n }\n if (onload) onload();\n removeRunDependency(dep);\n }\n var handled = false;\n Module["preloadPlugins"].forEach(function(plugin) {\n if (handled) return;\n if (plugin["canHandle"](fullname)) {\n plugin["handle"](byteArray, fullname, finish, function() {\n if (onerror) onerror();\n removeRunDependency(dep);\n });\n handled = true;\n }\n });\n if (!handled) finish(byteArray);\n }\n addRunDependency(dep);\n if (typeof url == "string") {\n Browser.asyncLoad(\n url,\n function(byteArray) {\n processData(byteArray);\n },\n onerror\n );\n } else {\n processData(url);\n }\n },\n indexedDB: function() {\n return (\n window.indexedDB ||\n window.mozIndexedDB ||\n window.webkitIndexedDB ||\n window.msIndexedDB\n );\n },\n DB_NAME: function() {\n return "EM_FS_" + window.location.pathname;\n },\n DB_VERSION: 20,\n DB_STORE_NAME: "FILE_DATA",\n saveFilesToDB: function(paths, onload, onerror) {\n onload = onload || function() {};\n onerror = onerror || function() {};\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = function openRequest_onupgradeneeded() {\n console.log("creating db");\n var db = openRequest.result;\n db.createObjectStore(FS.DB_STORE_NAME);\n };\n openRequest.onsuccess = function openRequest_onsuccess() {\n var db = openRequest.result;\n var transaction = db.transaction([FS.DB_STORE_NAME], "readwrite");\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0,\n fail = 0,\n total = paths.length;\n function finish() {\n if (fail == 0) onload();\n else onerror();\n }\n paths.forEach(function(path) {\n var putRequest = files.put(FS.analyzePath(path).object.contents, path);\n putRequest.onsuccess = function putRequest_onsuccess() {\n ok++;\n if (ok + fail == total) finish();\n };\n putRequest.onerror = function putRequest_onerror() {\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n },\n loadFilesFromDB: function(paths, onload, onerror) {\n onload = onload || function() {};\n onerror = onerror || function() {};\n var indexedDB = FS.indexedDB();\n try {\n var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);\n } catch (e) {\n return onerror(e);\n }\n openRequest.onupgradeneeded = onerror;\n openRequest.onsuccess = function openRequest_onsuccess() {\n var db = openRequest.result;\n try {\n var transaction = db.transaction([FS.DB_STORE_NAME], "readonly");\n } catch (e) {\n onerror(e);\n return;\n }\n var files = transaction.objectStore(FS.DB_STORE_NAME);\n var ok = 0,\n fail = 0,\n total = paths.length;\n function finish() {\n if (fail == 0) onload();\n else onerror();\n }\n paths.forEach(function(path) {\n var getRequest = files.get(path);\n getRequest.onsuccess = function getRequest_onsuccess() {\n if (FS.analyzePath(path).exists) {\n FS.unlink(path);\n }\n FS.createDataFile(\n PATH.dirname(path),\n PATH.basename(path),\n getRequest.result,\n true,\n true,\n true\n );\n ok++;\n if (ok + fail == total) finish();\n };\n getRequest.onerror = function getRequest_onerror() {\n fail++;\n if (ok + fail == total) finish();\n };\n });\n transaction.onerror = onerror;\n };\n openRequest.onerror = onerror;\n }\n};\nvar SYSCALLS = {\n DEFAULT_POLLMASK: 5,\n mappings: {},\n umask: 511,\n calculateAt: function(dirfd, path) {\n if (path[0] !== "/") {\n var dir;\n if (dirfd === -100) {\n dir = FS.cwd();\n } else {\n var dirstream = FS.getStream(dirfd);\n if (!dirstream) throw new FS.ErrnoError(8);\n dir = dirstream.path;\n }\n path = PATH.join2(dir, path);\n }\n return path;\n },\n doStat: function(func, path, buf) {\n try {\n var stat = func(path);\n } catch (e) {\n if (\n e &&\n e.node &&\n PATH.normalize(path) !== PATH.normalize(FS.getPath(e.node))\n ) {\n return -54;\n }\n throw e;\n }\n HEAP32[buf >> 2] = stat.dev;\n HEAP32[(buf + 4) >> 2] = 0;\n HEAP32[(buf + 8) >> 2] = stat.ino;\n HEAP32[(buf + 12) >> 2] = stat.mode;\n HEAP32[(buf + 16) >> 2] = stat.nlink;\n HEAP32[(buf + 20) >> 2] = stat.uid;\n HEAP32[(buf + 24) >> 2] = stat.gid;\n HEAP32[(buf + 28) >> 2] = stat.rdev;\n HEAP32[(buf + 32) >> 2] = 0;\n (tempI64 = [\n stat.size >>> 0,\n ((tempDouble = stat.size),\n +Math_abs(tempDouble) >= 1\n ? tempDouble > 0\n ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>>\n 0\n : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>>\n 0\n : 0)\n ]),\n (HEAP32[(buf + 40) >> 2] = tempI64[0]),\n (HEAP32[(buf + 44) >> 2] = tempI64[1]);\n HEAP32[(buf + 48) >> 2] = 4096;\n HEAP32[(buf + 52) >> 2] = stat.blocks;\n HEAP32[(buf + 56) >> 2] = (stat.atime.getTime() / 1e3) | 0;\n HEAP32[(buf + 60) >> 2] = 0;\n HEAP32[(buf + 64) >> 2] = (stat.mtime.getTime() / 1e3) | 0;\n HEAP32[(buf + 68) >> 2] = 0;\n HEAP32[(buf + 72) >> 2] = (stat.ctime.getTime() / 1e3) | 0;\n HEAP32[(buf + 76) >> 2] = 0;\n (tempI64 = [\n stat.ino >>> 0,\n ((tempDouble = stat.ino),\n +Math_abs(tempDouble) >= 1\n ? tempDouble > 0\n ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>>\n 0\n : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>>\n 0\n : 0)\n ]),\n (HEAP32[(buf + 80) >> 2] = tempI64[0]),\n (HEAP32[(buf + 84) >> 2] = tempI64[1]);\n return 0;\n },\n doMsync: function(addr, stream, len, flags) {\n var buffer = new Uint8Array(HEAPU8.subarray(addr, addr + len));\n FS.msync(stream, buffer, 0, len, flags);\n },\n doMkdir: function(path, mode) {\n path = PATH.normalize(path);\n if (path[path.length - 1] === "/") path = path.substr(0, path.length - 1);\n FS.mkdir(path, mode, 0);\n return 0;\n },\n doMknod: function(path, mode, dev) {\n switch (mode & 61440) {\n case 32768:\n case 8192:\n case 24576:\n case 4096:\n case 49152:\n break;\n default:\n return -28;\n }\n FS.mknod(path, mode, dev);\n return 0;\n },\n doReadlink: function(path, buf, bufsize) {\n if (bufsize <= 0) return -28;\n var ret = FS.readlink(path);\n var len = Math.min(bufsize, lengthBytesUTF8(ret));\n var endChar = HEAP8[buf + len];\n stringToUTF8(ret, buf, bufsize + 1);\n HEAP8[buf + len] = endChar;\n return len;\n },\n doAccess: function(path, amode) {\n if (amode & ~7) {\n return -28;\n }\n var node;\n var lookup = FS.lookupPath(path, { follow: true });\n node = lookup.node;\n if (!node) {\n return -44;\n }\n var perms = "";\n if (amode & 4) perms += "r";\n if (amode & 2) perms += "w";\n if (amode & 1) perms += "x";\n if (perms && FS.nodePermissions(node, perms)) {\n return -2;\n }\n return 0;\n },\n doDup: function(path, flags, suggestFD) {\n var suggest = FS.getStream(suggestFD);\n if (suggest) FS.close(suggest);\n return FS.open(path, flags, 0, suggestFD, suggestFD).fd;\n },\n doReadv: function(stream, iov, iovcnt, offset) {\n var ret = 0;\n for (var i = 0; i < iovcnt; i++) {\n var ptr = HEAP32[(iov + i * 8) >> 2];\n var len = HEAP32[(iov + (i * 8 + 4)) >> 2];\n var curr = FS.read(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n if (curr < len) break;\n }\n return ret;\n },\n doWritev: function(stream, iov, iovcnt, offset) {\n var ret = 0;\n for (var i = 0; i < iovcnt; i++) {\n var ptr = HEAP32[(iov + i * 8) >> 2];\n var len = HEAP32[(iov + (i * 8 + 4)) >> 2];\n var curr = FS.write(stream, HEAP8, ptr, len, offset);\n if (curr < 0) return -1;\n ret += curr;\n }\n return ret;\n },\n varargs: 0,\n get: function(varargs) {\n SYSCALLS.varargs += 4;\n var ret = HEAP32[(SYSCALLS.varargs - 4) >> 2];\n return ret;\n },\n getStr: function() {\n var ret = UTF8ToString(SYSCALLS.get());\n return ret;\n },\n getStreamFromFD: function(fd) {\n if (fd === undefined) fd = SYSCALLS.get();\n var stream = FS.getStream(fd);\n if (!stream) throw new FS.ErrnoError(8);\n return stream;\n },\n get64: function() {\n var low = SYSCALLS.get(),\n high = SYSCALLS.get();\n return low;\n },\n getZero: function() {\n SYSCALLS.get();\n }\n};\nfunction ___syscall10(which, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var path = SYSCALLS.getStr();\n FS.unlink(path);\n return 0;\n } catch (e) {\n if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);\n return -e.errno;\n }\n}\nfunction ___syscall15(which, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var path = SYSCALLS.getStr(),\n mode = SYSCALLS.get();\n FS.chmod(path, mode);\n return 0;\n } catch (e) {\n if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);\n return -e.errno;\n }\n}\nfunction ___syscall195(which, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var path = SYSCALLS.getStr(),\n buf = SYSCALLS.get();\n return SYSCALLS.doStat(FS.stat, path, buf);\n } catch (e) {\n if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);\n return -e.errno;\n }\n}\nfunction ___syscall197(which, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(),\n buf = SYSCALLS.get();\n return SYSCALLS.doStat(FS.stat, stream.path, buf);\n } catch (e) {\n if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);\n return -e.errno;\n }\n}\nfunction ___syscall221(which, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(),\n cmd = SYSCALLS.get();\n switch (cmd) {\n case 0: {\n var arg = SYSCALLS.get();\n if (arg < 0) {\n return -28;\n }\n var newStream;\n newStream = FS.open(stream.path, stream.flags, 0, arg);\n return newStream.fd;\n }\n case 1:\n case 2:\n return 0;\n case 3:\n return stream.flags;\n case 4: {\n var arg = SYSCALLS.get();\n stream.flags |= arg;\n return 0;\n }\n case 12: {\n var arg = SYSCALLS.get();\n var offset = 0;\n HEAP16[(arg + offset) >> 1] = 2;\n return 0;\n }\n case 13:\n case 14:\n return 0;\n case 16:\n case 8:\n return -28;\n case 9:\n ___setErrNo(28);\n return -1;\n default: {\n return -28;\n }\n }\n } catch (e) {\n if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);\n return -e.errno;\n }\n}\nfunction ___syscall3(which, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(),\n buf = SYSCALLS.get(),\n count = SYSCALLS.get();\n return FS.read(stream, HEAP8, buf, count);\n } catch (e) {\n if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);\n return -e.errno;\n }\n}\nfunction ___syscall38(which, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var old_path = SYSCALLS.getStr(),\n new_path = SYSCALLS.getStr();\n FS.rename(old_path, new_path);\n return 0;\n } catch (e) {\n if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);\n return -e.errno;\n }\n}\nfunction ___syscall40(which, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var path = SYSCALLS.getStr();\n FS.rmdir(path);\n return 0;\n } catch (e) {\n if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);\n return -e.errno;\n }\n}\nfunction ___syscall5(which, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var pathname = SYSCALLS.getStr(),\n flags = SYSCALLS.get(),\n mode = SYSCALLS.get();\n var stream = FS.open(pathname, flags, mode);\n return stream.fd;\n } catch (e) {\n if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);\n return -e.errno;\n }\n}\nfunction ___syscall54(which, varargs) {\n SYSCALLS.varargs = varargs;\n try {\n var stream = SYSCALLS.getStreamFromFD(),\n op = SYSCALLS.get();\n switch (op) {\n case 21509:\n case 21505: {\n if (!stream.tty) return -59;\n return 0;\n }\n case 21510:\n case 21511:\n case 21512:\n case 21506:\n case 21507:\n case 21508: {\n if (!stream.tty) return -59;\n return 0;\n }\n case 21519: {\n if (!stream.tty) return -59;\n var argp = SYSCALLS.get();\n HEAP32[argp >> 2] = 0;\n return 0;\n }\n case 21520: {\n if (!stream.tty) return -59;\n return -28;\n }\n case 21531: {\n var argp = SYSCALLS.get();\n return FS.ioctl(stream, op, argp);\n }\n case 21523: {\n if (!stream.tty) return -59;\n return 0;\n }\n case 21524: {\n if (!stream.tty) return -59;\n return 0;\n }\n default:\n abort("bad ioctl syscall " + op);\n }\n } catch (e) {\n if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);\n return -e.errno;\n }\n}\nfunction ___unlock() {}\nfunction _emscripten_get_heap_size() {\n return HEAP8.length;\n}\nfunction _emscripten_memcpy_big(dest, src, num) {\n HEAPU8.set(HEAPU8.subarray(src, src + num), dest);\n}\nfunction emscripten_realloc_buffer(size) {\n try {\n wasmMemory.grow((size - buffer.byteLength + 65535) >> 16);\n updateGlobalBufferAndViews(wasmMemory.buffer);\n return 1;\n } catch (e) {}\n}\nfunction _emscripten_resize_heap(requestedSize) {\n var oldSize = _emscripten_get_heap_size();\n var PAGE_MULTIPLE = 65536;\n var LIMIT = 2147483648 - PAGE_MULTIPLE;\n if (requestedSize > LIMIT) {\n return false;\n }\n var MIN_TOTAL_MEMORY = 16777216;\n var newSize = Math.max(oldSize, MIN_TOTAL_MEMORY);\n while (newSize < requestedSize) {\n if (newSize <= 536870912) {\n newSize = alignUp(2 * newSize, PAGE_MULTIPLE);\n } else {\n newSize = Math.min(\n alignUp((3 * newSize + 2147483648) / 4, PAGE_MULTIPLE),\n LIMIT\n );\n }\n }\n var replacement = emscripten_realloc_buffer(newSize);\n if (!replacement) {\n return false;\n }\n return true;\n}\nfunction _fd_close(fd) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n FS.close(stream);\n return 0;\n } catch (e) {\n if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);\n return e.errno;\n }\n}\nfunction _fd_fdstat_get(fd, pbuf) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var type = stream.tty\n ? 2\n : FS.isDir(stream.mode)\n ? 3\n : FS.isLink(stream.mode)\n ? 7\n : 4;\n HEAP8[pbuf >> 0] = type;\n return 0;\n } catch (e) {\n if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);\n return e.errno;\n }\n}\nfunction _fd_read(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = SYSCALLS.doReadv(stream, iov, iovcnt);\n HEAP32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);\n return e.errno;\n }\n}\nfunction _fd_seek(fd, offset_low, offset_high, whence, newOffset) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var HIGH_OFFSET = 4294967296;\n var offset = offset_high * HIGH_OFFSET + (offset_low >>> 0);\n var DOUBLE_LIMIT = 9007199254740992;\n if (offset <= -DOUBLE_LIMIT || offset >= DOUBLE_LIMIT) {\n return -61;\n }\n FS.llseek(stream, offset, whence);\n (tempI64 = [\n stream.position >>> 0,\n ((tempDouble = stream.position),\n +Math_abs(tempDouble) >= 1\n ? tempDouble > 0\n ? (Math_min(+Math_floor(tempDouble / 4294967296), 4294967295) | 0) >>>\n 0\n : ~~+Math_ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>>\n 0\n : 0)\n ]),\n (HEAP32[newOffset >> 2] = tempI64[0]),\n (HEAP32[(newOffset + 4) >> 2] = tempI64[1]);\n if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;\n return 0;\n } catch (e) {\n if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);\n return e.errno;\n }\n}\nfunction _fd_write(fd, iov, iovcnt, pnum) {\n try {\n var stream = SYSCALLS.getStreamFromFD(fd);\n var num = SYSCALLS.doWritev(stream, iov, iovcnt);\n HEAP32[pnum >> 2] = num;\n return 0;\n } catch (e) {\n if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError)) abort(e);\n return e.errno;\n }\n}\nvar ___tm_current = 20656;\nvar ___tm_timezone = (stringToUTF8("GMT", 20704, 4), 20704);\nfunction _gmtime_r(time, tmPtr) {\n var date = new Date(HEAP32[time >> 2] * 1e3);\n HEAP32[tmPtr >> 2] = date.getUTCSeconds();\n HEAP32[(tmPtr + 4) >> 2] = date.getUTCMinutes();\n HEAP32[(tmPtr + 8) >> 2] = date.getUTCHours();\n HEAP32[(tmPtr + 12) >> 2] = date.getUTCDate();\n HEAP32[(tmPtr + 16) >> 2] = date.getUTCMonth();\n HEAP32[(tmPtr + 20) >> 2] = date.getUTCFullYear() - 1900;\n HEAP32[(tmPtr + 24) >> 2] = date.getUTCDay();\n HEAP32[(tmPtr + 36) >> 2] = 0;\n HEAP32[(tmPtr + 32) >> 2] = 0;\n var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);\n var yday = ((date.getTime() - start) / (1e3 * 60 * 60 * 24)) | 0;\n HEAP32[(tmPtr + 28) >> 2] = yday;\n HEAP32[(tmPtr + 40) >> 2] = ___tm_timezone;\n return tmPtr;\n}\nfunction _gmtime(time) {\n return _gmtime_r(time, ___tm_current);\n}\nfunction _setTempRet0($i) {\n setTempRet0($i | 0);\n}\nfunction _time(ptr) {\n var ret = (Date.now() / 1e3) | 0;\n if (ptr) {\n HEAP32[ptr >> 2] = ret;\n }\n return ret;\n}\nfunction _tzset() {\n if (_tzset.called) return;\n _tzset.called = true;\n HEAP32[__get_timezone() >> 2] = new Date().getTimezoneOffset() * 60;\n var currentYear = new Date().getFullYear();\n var winter = new Date(currentYear, 0, 1);\n var summer = new Date(currentYear, 6, 1);\n HEAP32[__get_daylight() >> 2] = Number(\n winter.getTimezoneOffset() != summer.getTimezoneOffset()\n );\n function extractZone(date) {\n var match = date.toTimeString().match(/\\(([A-Za-z ]+)\\)$/);\n return match ? match[1] : "GMT";\n }\n var winterName = extractZone(winter);\n var summerName = extractZone(summer);\n var winterNamePtr = allocate(\n intArrayFromString(winterName),\n "i8",\n ALLOC_NORMAL\n );\n var summerNamePtr = allocate(\n intArrayFromString(summerName),\n "i8",\n ALLOC_NORMAL\n );\n if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) {\n HEAP32[__get_tzname() >> 2] = winterNamePtr;\n HEAP32[(__get_tzname() + 4) >> 2] = summerNamePtr;\n } else {\n HEAP32[__get_tzname() >> 2] = summerNamePtr;\n HEAP32[(__get_tzname() + 4) >> 2] = winterNamePtr;\n }\n}\nfunction _timegm(tmPtr) {\n _tzset();\n var time = Date.UTC(\n HEAP32[(tmPtr + 20) >> 2] + 1900,\n HEAP32[(tmPtr + 16) >> 2],\n HEAP32[(tmPtr + 12) >> 2],\n HEAP32[(tmPtr + 8) >> 2],\n HEAP32[(tmPtr + 4) >> 2],\n HEAP32[tmPtr >> 2],\n 0\n );\n var date = new Date(time);\n HEAP32[(tmPtr + 24) >> 2] = date.getUTCDay();\n var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0);\n var yday = ((date.getTime() - start) / (1e3 * 60 * 60 * 24)) | 0;\n HEAP32[(tmPtr + 28) >> 2] = yday;\n return (date.getTime() / 1e3) | 0;\n}\nFS.staticInit();\nif (ENVIRONMENT_HAS_NODE) {\n var fs = frozenFs;\n var NODEJS_PATH = __webpack_require__(7);\n NODEFS.staticInit();\n}\nif (ENVIRONMENT_IS_NODE) {\n var _wrapNodeError = function(func) {\n return function() {\n try {\n return func.apply(this, arguments);\n } catch (e) {\n if (!e.code) throw e;\n throw new FS.ErrnoError(ERRNO_CODES[e.code]);\n }\n };\n };\n var VFS = Object.assign({}, FS);\n for (var _key in NODERAWFS) FS[_key] = _wrapNodeError(NODERAWFS[_key]);\n} else {\n throw new Error(\n "NODERAWFS is currently only supported on Node.js environment."\n );\n}\nfunction intArrayFromString(stringy, dontAddNull, length) {\n var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;\n var u8array = new Array(len);\n var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length);\n if (dontAddNull) u8array.length = numBytesWritten;\n return u8array;\n}\nvar decodeBase64 =\n typeof atob === "function"\n ? atob\n : function(input) {\n var keyStr =\n "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";\n var output = "";\n var chr1, chr2, chr3;\n var enc1, enc2, enc3, enc4;\n var i = 0;\n input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, "");\n do {\n enc1 = keyStr.indexOf(input.charAt(i++));\n enc2 = keyStr.indexOf(input.charAt(i++));\n enc3 = keyStr.indexOf(input.charAt(i++));\n enc4 = keyStr.indexOf(input.charAt(i++));\n chr1 = (enc1 << 2) | (enc2 >> 4);\n chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);\n chr3 = ((enc3 & 3) << 6) | enc4;\n output = output + String.fromCharCode(chr1);\n if (enc3 !== 64) {\n output = output + String.fromCharCode(chr2);\n }\n if (enc4 !== 64) {\n output = output + String.fromCharCode(chr3);\n }\n } while (i < input.length);\n return output;\n };\nfunction intArrayFromBase64(s) {\n if (typeof ENVIRONMENT_IS_NODE === "boolean" && ENVIRONMENT_IS_NODE) {\n var buf;\n try {\n buf = Buffer.from(s, "base64");\n } catch (_) {\n buf = new Buffer(s, "base64");\n }\n return new Uint8Array(buf.buffer, buf.byteOffset, buf.byteLength);\n }\n try {\n var decoded = decodeBase64(s);\n var bytes = new Uint8Array(decoded.length);\n for (var i = 0; i < decoded.length; ++i) {\n bytes[i] = decoded.charCodeAt(i);\n }\n return bytes;\n } catch (_) {\n throw new Error("Converting base64 string to bytes failed.");\n }\n}\nfunction tryParseAsDataURI(filename) {\n if (!isDataURI(filename)) {\n return;\n }\n return intArrayFromBase64(filename.slice(dataURIPrefix.length));\n}\nvar asmLibraryArg = {\n d: ___lock,\n t: ___syscall10,\n p: ___syscall15,\n f: ___syscall195,\n v: ___syscall197,\n e: ___syscall221,\n q: ___syscall3,\n u: ___syscall38,\n s: ___syscall40,\n r: ___syscall5,\n o: ___syscall54,\n a: ___unlock,\n j: _emscripten_memcpy_big,\n k: _emscripten_resize_heap,\n g: _fd_close,\n n: _fd_fdstat_get,\n m: _fd_read,\n l: _fd_seek,\n w: _fd_write,\n h: _gmtime,\n memory: wasmMemory,\n b: _setTempRet0,\n table: wasmTable,\n c: _time,\n i: _timegm\n};\nvar asm = createWasm();\nvar ___wasm_call_ctors = (Module["___wasm_call_ctors"] = asm["x"]);\nvar _zipstruct_stat = (Module["_zipstruct_stat"] = asm["y"]);\nvar _zipstruct_statS = (Module["_zipstruct_statS"] = asm["z"]);\nvar _zipstruct_stat_name = (Module["_zipstruct_stat_name"] = asm["A"]);\nvar _zipstruct_stat_index = (Module["_zipstruct_stat_index"] = asm["B"]);\nvar _zipstruct_stat_size = (Module["_zipstruct_stat_size"] = asm["C"]);\nvar _zipstruct_stat_mtime = (Module["_zipstruct_stat_mtime"] = asm["D"]);\nvar _zipstruct_error = (Module["_zipstruct_error"] = asm["E"]);\nvar _zipstruct_errorS = (Module["_zipstruct_errorS"] = asm["F"]);\nvar _zip_close = (Module["_zip_close"] = asm["G"]);\nvar _zip_dir_add = (Module["_zip_dir_add"] = asm["H"]);\nvar _zip_discard = (Module["_zip_discard"] = asm["I"]);\nvar _zip_error_init_with_code = (Module["_zip_error_init_with_code"] =\n asm["J"]);\nvar _zip_get_error = (Module["_zip_get_error"] = asm["K"]);\nvar _zip_file_get_error = (Module["_zip_file_get_error"] = asm["L"]);\nvar _zip_error_strerror = (Module["_zip_error_strerror"] = asm["M"]);\nvar _zip_fclose = (Module["_zip_fclose"] = asm["N"]);\nvar _zip_file_add = (Module["_zip_file_add"] = asm["O"]);\nvar _zip_file_get_external_attributes = (Module[\n "_zip_file_get_external_attributes"\n] = asm["P"]);\nvar _zip_file_set_external_attributes = (Module[\n "_zip_file_set_external_attributes"\n] = asm["Q"]);\nvar _zip_file_set_mtime = (Module["_zip_file_set_mtime"] = asm["R"]);\nvar _zip_fopen = (Module["_zip_fopen"] = asm["S"]);\nvar _zip_fopen_index = (Module["_zip_fopen_index"] = asm["T"]);\nvar _zip_fread = (Module["_zip_fread"] = asm["U"]);\nvar _zip_get_name = (Module["_zip_get_name"] = asm["V"]);\nvar _zip_get_num_entries = (Module["_zip_get_num_entries"] = asm["W"]);\nvar _zip_name_locate = (Module["_zip_name_locate"] = asm["X"]);\nvar _zip_open = (Module["_zip_open"] = asm["Y"]);\nvar _zip_open_from_source = (Module["_zip_open_from_source"] = asm["Z"]);\nvar _zip_set_file_compression = (Module["_zip_set_file_compression"] =\n asm["_"]);\nvar _zip_source_buffer = (Module["_zip_source_buffer"] = asm["$"]);\nvar _zip_source_buffer_create = (Module["_zip_source_buffer_create"] =\n asm["aa"]);\nvar _zip_source_free = (Module["_zip_source_free"] = asm["ba"]);\nvar _zip_source_set_mtime = (Module["_zip_source_set_mtime"] = asm["ca"]);\nvar _zip_stat = (Module["_zip_stat"] = asm["da"]);\nvar _zip_stat_index = (Module["_zip_stat_index"] = asm["ea"]);\nvar ___errno_location = (Module["___errno_location"] = asm["fa"]);\nvar __get_tzname = (Module["__get_tzname"] = asm["ga"]);\nvar __get_daylight = (Module["__get_daylight"] = asm["ha"]);\nvar __get_timezone = (Module["__get_timezone"] = asm["ia"]);\nvar _malloc = (Module["_malloc"] = asm["ja"]);\nvar _free = (Module["_free"] = asm["ka"]);\nvar stackSave = (Module["stackSave"] = asm["la"]);\nvar stackAlloc = (Module["stackAlloc"] = asm["ma"]);\nvar stackRestore = (Module["stackRestore"] = asm["na"]);\nvar dynCall_vi = (Module["dynCall_vi"] = asm["oa"]);\nModule["asm"] = asm;\nModule["cwrap"] = cwrap;\nModule["getValue"] = getValue;\nvar calledRun;\nfunction ExitStatus(status) {\n this.name = "ExitStatus";\n this.message = "Program terminated with exit(" + status + ")";\n this.status = status;\n}\ndependenciesFulfilled = function runCaller() {\n if (!calledRun) run();\n if (!calledRun) dependenciesFulfilled = runCaller;\n};\nfunction run(args) {\n args = args || arguments_;\n if (runDependencies > 0) {\n return;\n }\n preRun();\n if (runDependencies > 0) return;\n function doRun() {\n if (calledRun) return;\n calledRun = true;\n if (ABORT) return;\n initRuntime();\n preMain();\n if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"]();\n postRun();\n }\n if (Module["setStatus"]) {\n Module["setStatus"]("Running...");\n setTimeout(function() {\n setTimeout(function() {\n Module["setStatus"]("");\n }, 1);\n doRun();\n }, 1);\n } else {\n doRun();\n }\n}\nModule["run"] = run;\nif (Module["preInit"]) {\n if (typeof Module["preInit"] == "function")\n Module["preInit"] = [Module["preInit"]];\n while (Module["preInit"].length > 0) {\n Module["preInit"].pop()();\n }\n}\nnoExitRuntime = true;\nrun();\n\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports) {\n\nmodule.exports = require("crypto");\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports) {\n\nmodule.exports = require("string_decoder");\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\n\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n\n if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nvar __importDefault = this && this.__importDefault || function (mod) {\n return mod && mod.__esModule ? mod : {\n "default": mod\n };\n};\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nconst fslib_1 = __webpack_require__(5);\n\nconst fs_1 = __importDefault(__webpack_require__(2));\n\nconst module_1 = __webpack_require__(6);\n\nconst url_1 = __webpack_require__(30);\n\nconst internalTools_1 = __webpack_require__(11);\n\nfunction applyPatch(pnpapi, opts) {\n // @ts-ignore\n const builtinModules = new Set(module_1.Module.builtinModules || Object.keys(process.binding(\'natives\')));\n /**\n * The cache that will be used for all accesses occuring outside of a PnP context.\n */\n\n const defaultCache = {};\n /**\n * Used to disable the resolution hooks (for when we want to fallback to the previous resolution - we then need\n * a way to "reset" the environment temporarily)\n */\n\n let enableNativeHooks = true; // @ts-ignore\n\n process.versions.pnp = String(pnpapi.VERSIONS.std); // @ts-ignore\n\n const moduleExports = __webpack_require__(6); // @ts-ignore\n\n\n moduleExports.findPnpApi = lookupSource => {\n const lookupPath = lookupSource instanceof url_1.URL ? url_1.fileURLToPath(lookupSource) : lookupSource;\n const apiPath = opts.manager.findApiPathFor(lookupPath);\n if (apiPath === null) return null;\n const apiEntry = opts.manager.getApiEntry(apiPath, true);\n return apiEntry.instance;\n };\n\n function getRequireStack(parent) {\n const requireStack = [];\n\n for (let cursor = parent; cursor; cursor = cursor.parent) requireStack.push(cursor.filename || cursor.id);\n\n return requireStack;\n } // A small note: we don\'t replace the cache here (and instead use the native one). This is an effort to not\n // break code similar to "delete require.cache[require.resolve(FOO)]", where FOO is a package located outside\n // of the Yarn dependency tree. In this case, we defer the load to the native loader. If we were to replace the\n // cache by our own, the native loader would populate its own cache, which wouldn\'t be exposed anymore, so the\n // delete call would be broken.\n\n\n const originalModuleLoad = module_1.Module._load;\n\n module_1.Module._load = function (request, parent, isMain) {\n if (!enableNativeHooks) return originalModuleLoad.call(module_1.Module, request, parent, isMain); // Builtins are managed by the regular Node loader\n\n if (builtinModules.has(request)) {\n try {\n enableNativeHooks = false;\n return originalModuleLoad.call(module_1.Module, request, parent, isMain);\n } finally {\n enableNativeHooks = true;\n }\n }\n\n const parentApiPath = opts.manager.getApiPathFromParent(parent);\n const parentApi = parentApiPath !== null ? opts.manager.getApiEntry(parentApiPath, true).instance : null; // Requests that aren\'t covered by the PnP runtime goes through the\n // parent `_load` implementation. This is required for VSCode, for example,\n // which override `_load` to provide additional builtins to its extensions.\n\n if (parentApi === null) return originalModuleLoad(request, parent, isMain); // The \'pnpapi\' name is reserved to return the PnP api currently in use\n // by the program\n\n if (request === `pnpapi`) return parentApi; // Request `Module._resolveFilename` (ie. `resolveRequest`) to tell us\n // which file we should load\n\n const modulePath = module_1.Module._resolveFilename(request, parent, isMain); // We check whether the module is owned by the dependency tree of the\n // module that required it. If it isn\'t, then we need to create a new\n // store and possibly load its sandboxed PnP runtime.\n\n\n const isOwnedByRuntime = parentApi !== null ? parentApi.findPackageLocator(modulePath) !== null : false;\n const moduleApiPath = isOwnedByRuntime ? parentApiPath : opts.manager.findApiPathFor(fslib_1.npath.dirname(modulePath));\n const entry = moduleApiPath !== null ? opts.manager.getApiEntry(moduleApiPath) : {\n instance: null,\n cache: defaultCache\n }; // Check if the module has already been created for the given file\n\n const cacheEntry = entry.cache[modulePath];\n if (cacheEntry) return cacheEntry.exports; // Create a new module and store it into the cache\n // @ts-ignore\n\n const module = new module_1.Module(modulePath, parent);\n module.pnpApiPath = moduleApiPath;\n entry.cache[modulePath] = module; // The main module is exposed as global variable\n\n if (isMain) {\n // @ts-ignore\n process.mainModule = module;\n module.id = \'.\';\n } // Try to load the module, and remove it from the cache if it fails\n\n\n let hasThrown = true;\n\n try {\n module.load(modulePath);\n hasThrown = false;\n } finally {\n if (hasThrown) {\n delete module_1.Module._cache[modulePath];\n }\n }\n\n return module.exports;\n };\n\n const originalModuleResolveFilename = module_1.Module._resolveFilename;\n\n module_1.Module._resolveFilename = function (request, parent, isMain, options) {\n if (builtinModules.has(request)) return request;\n if (!enableNativeHooks) return originalModuleResolveFilename.call(module_1.Module, request, parent, isMain, options);\n\n if (options && options.plugnplay === false) {\n const {\n plugnplay\n } = options,\n rest = __rest(options, ["plugnplay"]); // Workaround a bug present in some version of Node (now fixed)\n // https://github.com/nodejs/node/pull/28078\n\n\n const forwardedOptions = Object.keys(rest).length > 0 ? rest : undefined;\n\n try {\n enableNativeHooks = false;\n return originalModuleResolveFilename.call(module_1.Module, request, parent, isMain, forwardedOptions);\n } finally {\n enableNativeHooks = true;\n }\n } // We check that all the options present here are supported; better\n // to fail fast than to introduce subtle bugs in the runtime.\n\n\n if (options) {\n const optionNames = new Set(Object.keys(options));\n optionNames.delete(`paths`);\n optionNames.delete(`plugnplay`);\n\n if (optionNames.size > 0) {\n throw internalTools_1.makeError(internalTools_1.ErrorCode.UNSUPPORTED, `Some options passed to require() aren\'t supported by PnP yet (${Array.from(optionNames).join(\', \')})`);\n }\n }\n\n const getIssuerSpecsFromPaths = paths => {\n return paths.map(path => ({\n apiPath: opts.manager.findApiPathFor(path),\n path: fslib_1.npath.toPortablePath(path),\n module: null\n }));\n };\n\n const getIssuerSpecsFromModule = module => {\n const issuer = internalTools_1.getIssuerModule(module);\n const issuerPath = issuer !== null ? fslib_1.npath.dirname(issuer.filename) : process.cwd();\n return [{\n apiPath: opts.manager.getApiPathFromParent(issuer),\n path: fslib_1.npath.toPortablePath(issuerPath),\n module\n }];\n };\n\n const makeFakeParent = path => {\n const fakeParent = new module_1.Module(``);\n const fakeFilePath = fslib_1.ppath.join(path, `[file]`);\n fakeParent.paths = module_1.Module._nodeModulePaths(fslib_1.npath.fromPortablePath(fakeFilePath));\n return fakeParent;\n };\n\n const issuerSpecs = options && options.paths ? getIssuerSpecsFromPaths(options.paths) : getIssuerSpecsFromModule(parent);\n let firstError;\n\n for (const {\n apiPath,\n path,\n module\n } of issuerSpecs) {\n let resolution;\n const issuerApi = apiPath !== null ? opts.manager.getApiEntry(apiPath, true).instance : null;\n\n try {\n if (issuerApi !== null) {\n resolution = issuerApi.resolveRequest(request, `${path}/`);\n } else {\n resolution = originalModuleResolveFilename.call(module_1.Module, request, module || makeFakeParent(path), isMain);\n }\n } catch (error) {\n firstError = firstError || error;\n continue;\n }\n\n if (resolution !== null) {\n return resolution;\n }\n }\n\n const requireStack = getRequireStack(parent);\n Object.defineProperty(firstError, `requireStack`, {\n configurable: true,\n writable: true,\n enumerable: false,\n value: requireStack\n });\n if (requireStack.length > 0) firstError.message += `\\nRequire stack:\\n- ${requireStack.join(`\\n- `)}`;\n throw firstError;\n };\n\n const originalFindPath = module_1.Module._findPath;\n\n module_1.Module._findPath = function (request, paths, isMain) {\n if (request === `pnpapi`) return false;\n if (!enableNativeHooks) return originalFindPath.call(module_1.Module, request, paths, isMain);\n\n for (const path of paths || []) {\n let resolution;\n\n try {\n const pnpApiPath = opts.manager.findApiPathFor(path);\n\n if (pnpApiPath !== null) {\n const api = opts.manager.getApiEntry(pnpApiPath, true).instance;\n resolution = api.resolveRequest(request, path) || false;\n } else {\n resolution = originalFindPath.call(module_1.Module, request, [path], isMain);\n }\n } catch (error) {\n continue;\n }\n\n if (resolution) {\n return resolution;\n }\n }\n\n return false;\n };\n\n fslib_1.patchFs(fs_1.default, new fslib_1.PosixFS(opts.fakeFs));\n}\n\nexports.applyPatch = applyPatch;\n;\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports) {\n\nmodule.exports = require("url");\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nconst fslib_1 = __webpack_require__(5);\n\nfunction hydrateRuntimeState(data, {\n basePath\n}) {\n const portablePath = fslib_1.npath.toPortablePath(basePath);\n const ignorePattern = data.ignorePatternData !== null ? new RegExp(data.ignorePatternData) : null;\n const packageRegistry = new Map(data.packageRegistryData.map(([packageName, packageStoreData]) => {\n return [packageName, new Map(packageStoreData.map(([packageReference, packageInformationData]) => {\n return [packageReference, {\n packageLocation: fslib_1.ppath.resolve(portablePath, packageInformationData.packageLocation),\n packageDependencies: new Map(packageInformationData.packageDependencies),\n packagePeers: new Set(packageInformationData.packagePeers),\n linkType: packageInformationData.linkType,\n discardFromLookup: packageInformationData.discardFromLookup || false\n }];\n }))];\n }));\n const packageLocatorsByLocations = new Map();\n const packageLocationLengths = new Set();\n\n for (const [packageName, storeData] of data.packageRegistryData) {\n for (const [packageReference, packageInformationData] of storeData) {\n if (packageName === null !== (packageReference === null)) throw new Error(`Assertion failed: The name and reference should be null, or neither should`);\n if (packageInformationData.discardFromLookup) continue; // @ts-ignore: TypeScript isn\'t smart enough to understand the type assertion\n\n const packageLocator = {\n name: packageName,\n reference: packageReference\n };\n packageLocatorsByLocations.set(packageInformationData.packageLocation, packageLocator);\n packageLocationLengths.add(packageInformationData.packageLocation.length);\n }\n }\n\n for (const location of data.locationBlacklistData) packageLocatorsByLocations.set(location, null);\n\n const fallbackExclusionList = new Map(data.fallbackExclusionList.map(([packageName, packageReferences]) => {\n return [packageName, new Set(packageReferences)];\n }));\n const fallbackPool = new Map(data.fallbackPool);\n const dependencyTreeRoots = data.dependencyTreeRoots;\n const enableTopLevelFallback = data.enableTopLevelFallback;\n return {\n basePath: portablePath,\n dependencyTreeRoots,\n enableTopLevelFallback,\n fallbackExclusionList,\n fallbackPool,\n ignorePattern,\n packageLocationLengths: [...packageLocationLengths].sort((a, b) => b - a),\n packageLocatorsByLocations,\n packageRegistry\n };\n}\n\nexports.hydrateRuntimeState = hydrateRuntimeState;\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nconst fslib_1 = __webpack_require__(5);\n\nconst fslib_2 = __webpack_require__(5);\n\nconst module_1 = __webpack_require__(6);\n\nconst internalTools_1 = __webpack_require__(11);\n\nfunction makeApi(runtimeState, opts) {\n const alwaysWarnOnFallback = Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK) > 0;\n const debugLevel = Number(process.env.PNP_DEBUG_LEVEL); // @ts-ignore\n\n const builtinModules = new Set(module_1.Module.builtinModules || Object.keys(process.binding(\'natives\'))); // Splits a require request into its components, or return null if the request is a file path\n\n const pathRegExp = /^(?![a-zA-Z]:[\\\\\\/]|\\\\\\\\|\\.{0,2}(?:\\/|$))((?:@[^\\/]+\\/)?[^\\/]+)\\/*(.*|)$/; // Matches if the path starts with a valid path qualifier (./, ../, /)\n // eslint-disable-next-line no-unused-vars\n\n const isStrictRegExp = /^\\.{0,2}\\//; // Matches if the path must point to a directory (ie ends with /)\n\n const isDirRegExp = /\\/$/; // We only instantiate one of those so that we can use strict-equal comparisons\n\n const topLevelLocator = {\n name: null,\n reference: null\n }; // Used for compatibility purposes - cf setupCompatibilityLayer\n\n const fallbackLocators = []; // To avoid emitting the same warning multiple times\n\n const emittedWarnings = new Set();\n if (runtimeState.enableTopLevelFallback === true) fallbackLocators.push(topLevelLocator);\n\n if (opts.compatibilityMode !== false) {\n // ESLint currently doesn\'t have any portable way for shared configs to\n // specify their own plugins that should be used (cf issue #10125). This\n // will likely get fixed at some point but it\'ll take time, so in the\n // meantime we\'ll just add additional fallback entries for common shared\n // configs.\n // Similarly, Gatsby generates files within the `public` folder located\n // within the project, but doesn\'t pre-resolve the `require` calls to use\n // its own dependencies. Meaning that when PnP see a file from the `public`\n // folder making a require, it thinks that your project forgot to list one\n // of your dependencies.\n for (const name of [`react-scripts`, `gatsby`]) {\n const packageStore = runtimeState.packageRegistry.get(name);\n\n if (packageStore) {\n for (const reference of packageStore.keys()) {\n if (reference === null) {\n throw new Error(`Assertion failed: This reference shouldn\'t be null`);\n } else {\n fallbackLocators.push({\n name,\n reference\n });\n }\n }\n }\n }\n }\n /**\n * The setup code will be injected here. The tables listed below are guaranteed to be filled after the call to\n * the $$DYNAMICALLY_GENERATED_CODE function.\n */\n\n\n const {\n ignorePattern,\n packageRegistry,\n packageLocatorsByLocations,\n packageLocationLengths\n } = runtimeState;\n /**\n * Allows to print useful logs just be setting a value in the environment\n */\n\n function makeLogEntry(name, args) {\n return {\n fn: name,\n args: args,\n error: null,\n result: null\n };\n }\n\n function maybeLog(name, fn) {\n if (opts.allowDebug === false) return fn;\n\n if (Number.isFinite(debugLevel)) {\n if (debugLevel >= 2) {\n return (...args) => {\n const logEntry = makeLogEntry(name, args);\n\n try {\n return logEntry.result = fn(...args);\n } catch (error) {\n throw logEntry.error = error;\n } finally {\n console.trace(logEntry);\n }\n };\n } else if (debugLevel >= 1) {\n return (...args) => {\n try {\n return fn(...args);\n } catch (error) {\n const logEntry = makeLogEntry(name, args);\n logEntry.error = error;\n console.trace(logEntry);\n throw error;\n }\n };\n }\n }\n\n return fn;\n }\n /**\n * Returns information about a package in a safe way (will throw if they cannot be retrieved)\n */\n\n\n function getPackageInformationSafe(packageLocator) {\n const packageInformation = getPackageInformation(packageLocator);\n\n if (!packageInformation) {\n throw internalTools_1.makeError(internalTools_1.ErrorCode.INTERNAL, `Couldn\'t find a matching entry in the dependency tree for the specified parent (this is probably an internal error)`);\n }\n\n return packageInformation;\n }\n /**\n * Returns whether the specified locator is a dependency tree root (in which case it\'s part of the project) or not\n */\n\n\n function isDependencyTreeRoot(packageLocator) {\n if (packageLocator.name === null) return true;\n\n for (const dependencyTreeRoot of runtimeState.dependencyTreeRoots) if (dependencyTreeRoot.name === packageLocator.name && dependencyTreeRoot.reference === packageLocator.reference) return true;\n\n return false;\n }\n /**\n * Implements the node resolution for folder access and extension selection\n */\n\n\n function applyNodeExtensionResolution(unqualifiedPath, candidates, {\n extensions\n }) {\n // We use this "infinite while" so that we can restart the process as long as we hit package folders\n while (true) {\n let stat;\n\n try {\n candidates.push(unqualifiedPath);\n stat = opts.fakeFs.statSync(unqualifiedPath);\n } catch (error) {} // If the file exists and is a file, we can stop right there\n\n\n if (stat && !stat.isDirectory()) return opts.fakeFs.realpathSync(unqualifiedPath); // If the file is a directory, we must check if it contains a package.json with a "main" entry\n\n if (stat && stat.isDirectory()) {\n let pkgJson;\n\n try {\n pkgJson = JSON.parse(opts.fakeFs.readFileSync(fslib_2.ppath.join(unqualifiedPath, fslib_2.toFilename(`package.json`)), `utf8`));\n } catch (error) {}\n\n let nextUnqualifiedPath;\n if (pkgJson && pkgJson.main) nextUnqualifiedPath = fslib_2.ppath.resolve(unqualifiedPath, pkgJson.main); // If the "main" field changed the path, we start again from this new location\n\n if (nextUnqualifiedPath && nextUnqualifiedPath !== unqualifiedPath) {\n const resolution = applyNodeExtensionResolution(nextUnqualifiedPath, candidates, {\n extensions\n });\n\n if (resolution !== null) {\n return resolution;\n }\n }\n } // Otherwise we check if we find a file that match one of the supported extensions\n\n\n const qualifiedPath = extensions.map(extension => {\n return `${unqualifiedPath}${extension}`;\n }).find(candidateFile => {\n candidates.push(candidateFile);\n return opts.fakeFs.existsSync(candidateFile);\n });\n if (qualifiedPath) return qualifiedPath; // Otherwise, we check if the path is a folder - in such a case, we try to use its index\n\n if (stat && stat.isDirectory()) {\n const indexPath = extensions.map(extension => {\n return fslib_2.ppath.format({\n dir: unqualifiedPath,\n name: fslib_2.toFilename(`index`),\n ext: extension\n });\n }).find(candidateFile => {\n candidates.push(candidateFile);\n return opts.fakeFs.existsSync(candidateFile);\n });\n\n if (indexPath) {\n return indexPath;\n }\n } // Otherwise there\'s nothing else we can do :(\n\n\n return null;\n }\n }\n /**\n * This function creates fake modules that can be used with the _resolveFilename function.\n * Ideally it would be nice to be able to avoid this, since it causes useless allocations\n * and cannot be cached efficiently (we recompute the nodeModulePaths every time).\n *\n * Fortunately, this should only affect the fallback, and there hopefully shouldn\'t have a\n * lot of them.\n */\n\n\n function makeFakeModule(path) {\n // @ts-ignore\n const fakeModule = new module_1.Module(path, null);\n fakeModule.filename = path;\n fakeModule.paths = module_1.Module._nodeModulePaths(path);\n return fakeModule;\n }\n /**\n * Normalize path to posix format.\n */\n\n\n function normalizePath(p) {\n return fslib_1.npath.toPortablePath(p);\n }\n /**\n * Forward the resolution to the next resolver (usually the native one)\n */\n\n\n function callNativeResolution(request, issuer) {\n if (issuer.endsWith(`/`)) issuer = fslib_2.ppath.join(issuer, fslib_2.toFilename(`internal.js`)); // Since we would need to create a fake module anyway (to call _resolveLookupPath that\n // would give us the paths to give to _resolveFilename), we can as well not use\n // the {paths} option at all, since it internally makes _resolveFilename create another\n // fake module anyway.\n\n return module_1.Module._resolveFilename(request, makeFakeModule(fslib_1.npath.fromPortablePath(issuer)), false, {\n plugnplay: false\n });\n }\n /**\n *\n */\n\n\n function isPathIgnored(path) {\n if (ignorePattern === null) return false;\n const subPath = fslib_2.ppath.contains(runtimeState.basePath, path);\n if (subPath === null) return false;\n\n if (ignorePattern.test(subPath.replace(/\\/$/, ``))) {\n return true;\n } else {\n return false;\n }\n }\n /**\n * This key indicates which version of the standard is implemented by this resolver. The `std` key is the\n * Plug\'n\'Play standard, and any other key are third-party extensions. Third-party extensions are not allowed\n * to override the standard, and can only offer new methods.\n *\n * If an new version of the Plug\'n\'Play standard is released and some extensions conflict with newly added\n * functions, they\'ll just have to fix the conflicts and bump their own version number.\n */\n\n\n const VERSIONS = {\n std: 3,\n resolveVirtual: 1\n };\n /**\n * We export a special symbol for easy access to the top level locator.\n */\n\n const topLevel = topLevelLocator;\n /**\n * Gets the package information for a given locator. Returns null if they cannot be retrieved.\n */\n\n function getPackageInformation({\n name,\n reference\n }) {\n const packageInformationStore = packageRegistry.get(name);\n if (!packageInformationStore) return null;\n const packageInformation = packageInformationStore.get(reference);\n if (!packageInformation) return null;\n return packageInformation;\n }\n /**\n * Finds the package locator that owns the specified path. If none is found, returns null instead.\n */\n\n\n function findPackageLocator(location) {\n let relativeLocation = normalizePath(fslib_2.ppath.relative(runtimeState.basePath, location));\n if (!relativeLocation.match(isStrictRegExp)) relativeLocation = `./${relativeLocation}`;\n if (location.match(isDirRegExp) && !relativeLocation.endsWith(`/`)) relativeLocation = `${relativeLocation}/`;\n let from = 0; // If someone wants to use a binary search to go from O(n) to O(log n), be my guest\n\n while (from < packageLocationLengths.length && packageLocationLengths[from] > relativeLocation.length) from += 1;\n\n for (let t = from; t < packageLocationLengths.length; ++t) {\n const locator = packageLocatorsByLocations.get(relativeLocation.substr(0, packageLocationLengths[t]));\n if (typeof locator === `undefined`) continue; // Ensures that the returned locator isn\'t a blacklisted one.\n //\n // Blacklisted packages are packages that cannot be used because their dependencies cannot be deduced. This only\n // happens with peer dependencies, which effectively have different sets of dependencies depending on their\n // parents.\n //\n // In order to deambiguate those different sets of dependencies, the Yarn implementation of PnP will generate a\n // symlink for each combination of // it will find, and will\n // blacklist the target of those symlinks. By doing this, we ensure that files loaded through a specific path\n // will always have the same set of dependencies, provided the symlinks are correctly preserved.\n //\n // Unfortunately, some tools do not preserve them, and when it happens PnP isn\'t able anymore to deduce the set of\n // dependencies based on the path of the file that makes the require calls. But since we\'ve blacklisted those\n // paths, we\'re able to print a more helpful error message that points out that a third-party package is doing\n // something incompatible!\n\n if (locator === null) {\n throw internalTools_1.makeError(internalTools_1.ErrorCode.BLACKLISTED, `A forbidden path has been used in the package resolution process - this is usually caused by one of your tools calling \'fs.realpath\' on the return value of \'require.resolve\'. Since we need to use symlinks to simultaneously provide valid filesystem paths and disambiguate peer dependencies, they must be passed untransformed to \'require\'.\\n\\nForbidden path: ${location}`, {\n location\n });\n }\n\n return locator;\n }\n\n return null;\n }\n /**\n * Transforms a request (what\'s typically passed as argument to the require function) into an unqualified path.\n * This path is called "unqualified" because it only changes the package name to the package location on the disk,\n * which means that the end result still cannot be directly accessed (for example, it doesn\'t try to resolve the\n * file extension, or to resolve directories to their "index.js" content). Use the "resolveUnqualified" function\n * to convert them to fully-qualified paths, or just use "resolveRequest" that do both operations in one go.\n *\n * Note that it is extremely important that the `issuer` path ends with a forward slash if the issuer is to be\n * treated as a folder (ie. "/tmp/foo/" rather than "/tmp/foo" if "foo" is a directory). Otherwise relative\n * imports won\'t be computed correctly (they\'ll get resolved relative to "/tmp/" instead of "/tmp/foo/").\n */\n\n\n function resolveToUnqualified(request, issuer, {\n considerBuiltins = true\n } = {}) {\n // The \'pnpapi\' request is reserved and will always return the path to the PnP file, from everywhere\n if (request === `pnpapi`) return fslib_1.npath.toPortablePath(opts.pnpapiResolution); // Bailout if the request is a native module\n\n if (considerBuiltins && builtinModules.has(request)) return null; // We allow disabling the pnp resolution for some subpaths.\n // This is because some projects, often legacy, contain multiple\n // levels of dependencies (ie. a yarn.lock inside a subfolder of\n // a yarn.lock). This is typically solved using workspaces, but\n // not all of them have been converted already.\n\n if (issuer && isPathIgnored(issuer)) {\n // Absolute paths that seem to belong to a PnP tree are still\n // handled by our runtime even if the issuer isn\'t. This is\n // because the native Node resolution uses a special version\n // of the `stat` syscall which would otherwise bypass the\n // filesystem layer we require to access the files.\n if (!fslib_2.ppath.isAbsolute(request) || findPackageLocator(request) === null) {\n const result = callNativeResolution(request, issuer);\n\n if (result === false) {\n throw internalTools_1.makeError(internalTools_1.ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, `The builtin node resolution algorithm was unable to resolve the requested module (it didn\'t go through the pnp resolver because the issuer was explicitely ignored by the regexp)\\n\\nRequire request: "${request}"\\nRequired by: ${issuer}\\n`, {\n request,\n issuer\n });\n }\n\n return fslib_1.npath.toPortablePath(result);\n }\n }\n\n let unqualifiedPath; // If the request is a relative or absolute path, we just return it normalized\n\n const dependencyNameMatch = request.match(pathRegExp);\n\n if (!dependencyNameMatch) {\n if (fslib_2.ppath.isAbsolute(request)) {\n unqualifiedPath = fslib_2.ppath.normalize(request);\n } else {\n if (!issuer) {\n throw internalTools_1.makeError(internalTools_1.ErrorCode.API_ERROR, `The resolveToUnqualified function must be called with a valid issuer when the path isn\'t a builtin nor absolute`, {\n request,\n issuer\n });\n }\n\n if (issuer.match(isDirRegExp)) {\n unqualifiedPath = fslib_2.ppath.normalize(fslib_2.ppath.resolve(issuer, request));\n } else {\n unqualifiedPath = fslib_2.ppath.normalize(fslib_2.ppath.resolve(fslib_2.ppath.dirname(issuer), request));\n }\n } // No need to use the return value; we just want to check the blacklist status\n\n\n findPackageLocator(unqualifiedPath);\n } // Things are more hairy if it\'s a package require - we then need to figure out which package is needed, and in\n // particular the exact version for the given location on the dependency tree\n else {\n if (!issuer) {\n throw internalTools_1.makeError(internalTools_1.ErrorCode.API_ERROR, `The resolveToUnqualified function must be called with a valid issuer when the path isn\'t a builtin nor absolute`, {\n request,\n issuer\n });\n }\n\n const [, dependencyName, subPath] = dependencyNameMatch;\n const issuerLocator = findPackageLocator(issuer); // If the issuer file doesn\'t seem to be owned by a package managed through pnp, then we resort to using the next\n // resolution algorithm in the chain, usually the native Node resolution one\n\n if (!issuerLocator) {\n const result = callNativeResolution(request, issuer);\n\n if (result === false) {\n throw internalTools_1.makeError(internalTools_1.ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, `The builtin node resolution algorithm was unable to resolve the requested module (it didn\'t go through the pnp resolver because the issuer doesn\'t seem to be part of the Yarn-managed dependency tree).\\n\\nRequire path: "${request}"\\nRequired by: ${issuer}\\n`, {\n request,\n issuer\n });\n }\n\n return fslib_1.npath.toPortablePath(result);\n }\n\n const issuerInformation = getPackageInformationSafe(issuerLocator); // We obtain the dependency reference in regard to the package that request it\n\n let dependencyReference = issuerInformation.packageDependencies.get(dependencyName);\n let fallbackReference = null; // If we can\'t find it, we check if we can potentially load it from the packages that have been defined as potential fallbacks.\n // It\'s a bit of a hack, but it improves compatibility with the existing Node ecosystem. Hopefully we should eventually be able\n // to kill this logic and become stricter once pnp gets enough traction and the affected packages fix themselves.\n\n if (dependencyReference == null) {\n if (issuerLocator.name !== null) {\n // To allow programs to become gradually stricter, starting from the v2 we enforce that workspaces cannot depend on fallbacks.\n // This works by having a list containing all their locators, and checking when a fallback is required whether it\'s one of them.\n const exclusionEntry = runtimeState.fallbackExclusionList.get(issuerLocator.name);\n const canUseFallbacks = !exclusionEntry || !exclusionEntry.has(issuerLocator.reference);\n\n if (canUseFallbacks) {\n for (let t = 0, T = fallbackLocators.length; t < T; ++t) {\n const fallbackInformation = getPackageInformationSafe(fallbackLocators[t]);\n const reference = fallbackInformation.packageDependencies.get(dependencyName);\n if (reference == null) continue;\n if (alwaysWarnOnFallback) fallbackReference = reference;else dependencyReference = reference;\n break;\n }\n\n if (dependencyReference == null && fallbackReference === null) {\n const reference = runtimeState.fallbackPool.get(dependencyName);\n\n if (reference != null) {\n fallbackReference = reference;\n }\n }\n }\n }\n } // If we can\'t find the path, and if the package making the request is the top-level, we can offer nicer error messages\n\n\n let error = null;\n\n if (dependencyReference === null) {\n if (isDependencyTreeRoot(issuerLocator)) {\n error = internalTools_1.makeError(internalTools_1.ErrorCode.MISSING_PEER_DEPENDENCY, `Your application tried to access ${dependencyName} (a peer dependency); this isn\'t allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed.\\n\\nRequired package: ${dependencyName} (via "${request}")\\nRequired by: ${issuer}\\n`, {\n request,\n issuer,\n dependencyName\n });\n } else {\n error = internalTools_1.makeError(internalTools_1.ErrorCode.MISSING_PEER_DEPENDENCY, `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn\'t provided by its ancestors; this makes the require call ambiguous and unsound.\\n\\nRequired package: ${dependencyName} (via "${request}")\\nRequired by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuer})\\n`, {\n request,\n issuer,\n issuerLocator: Object.assign({}, issuerLocator),\n dependencyName\n });\n }\n } else if (dependencyReference === undefined) {\n if (isDependencyTreeRoot(issuerLocator)) {\n error = internalTools_1.makeError(internalTools_1.ErrorCode.UNDECLARED_DEPENDENCY, `Your application tried to access ${dependencyName}, but it isn\'t declared in your dependencies; this makes the require call ambiguous and unsound.\\n\\nRequired package: ${dependencyName} (via "${request}")\\nRequired by: ${issuer}\\n`, {\n request,\n issuer,\n dependencyName\n });\n } else {\n error = internalTools_1.makeError(internalTools_1.ErrorCode.UNDECLARED_DEPENDENCY, `${issuerLocator.name} tried to access ${dependencyName}, but it isn\'t declared in its dependencies; this makes the require call ambiguous and unsound.\\n\\nRequired package: ${dependencyName} (via "${request}")\\nRequired by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuer})\\n`, {\n request,\n issuer,\n issuerLocator: Object.assign({}, issuerLocator),\n dependencyName\n });\n }\n }\n\n if (dependencyReference == null) {\n if (fallbackReference === null || error === null) throw error || new Error(`Assertion failed: Expected an error to have been set`);\n dependencyReference = fallbackReference;\n const message = error.message.replace(/\\n.*/g, ``);\n error.message = message;\n\n if (!emittedWarnings.has(message)) {\n emittedWarnings.add(message);\n process.emitWarning(error);\n }\n } // We need to check that the package exists on the filesystem, because it might not have been installed\n\n\n const dependencyLocator = Array.isArray(dependencyReference) ? {\n name: dependencyReference[0],\n reference: dependencyReference[1]\n } : {\n name: dependencyName,\n reference: dependencyReference\n };\n const dependencyInformation = getPackageInformationSafe(dependencyLocator);\n\n if (!dependencyInformation.packageLocation) {\n throw internalTools_1.makeError(internalTools_1.ErrorCode.MISSING_DEPENDENCY, `A dependency seems valid but didn\'t get installed for some reason. This might be caused by a partial install, such as dev vs prod.\\n\\nRequired package: ${dependencyLocator.name}@${dependencyLocator.reference} (via "${request}")\\nRequired by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuer})\\n`, {\n request,\n issuer,\n dependencyLocator: Object.assign({}, dependencyLocator)\n });\n } // Now that we know which package we should resolve to, we only have to find out the file location\n\n\n const dependencyLocation = fslib_2.ppath.resolve(runtimeState.basePath, dependencyInformation.packageLocation);\n\n if (subPath) {\n unqualifiedPath = fslib_2.ppath.resolve(dependencyLocation, subPath);\n } else {\n unqualifiedPath = dependencyLocation;\n }\n }\n\n return fslib_2.ppath.normalize(unqualifiedPath);\n }\n\n ;\n /**\n * Transforms an unqualified path into a qualified path by using the Node resolution algorithm (which automatically\n * appends ".js" / ".json", and transforms directory accesses into "index.js").\n */\n\n function resolveUnqualified(unqualifiedPath, {\n extensions = Object.keys(module_1.Module._extensions)\n } = {}) {\n const candidates = [];\n const qualifiedPath = applyNodeExtensionResolution(unqualifiedPath, candidates, {\n extensions\n });\n\n if (qualifiedPath) {\n return fslib_2.ppath.normalize(qualifiedPath);\n } else {\n throw internalTools_1.makeError(internalTools_1.ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, `Qualified path resolution failed - none of the candidates can be found on the disk.\\n\\nSource path: ${unqualifiedPath}\\n${candidates.map(candidate => `Rejected candidate: ${candidate}\\n`).join(``)}`, {\n unqualifiedPath\n });\n }\n }\n\n ;\n /**\n * Transforms a request into a fully qualified path.\n *\n * Note that it is extremely important that the `issuer` path ends with a forward slash if the issuer is to be\n * treated as a folder (ie. "/tmp/foo/" rather than "/tmp/foo" if "foo" is a directory). Otherwise relative\n * imports won\'t be computed correctly (they\'ll get resolved relative to "/tmp/" instead of "/tmp/foo/").\n */\n\n function resolveRequest(request, issuer, {\n considerBuiltins,\n extensions\n } = {}) {\n let unqualifiedPath = resolveToUnqualified(request, issuer, {\n considerBuiltins\n });\n if (unqualifiedPath === null) return null;\n\n try {\n return resolveUnqualified(unqualifiedPath, {\n extensions\n });\n } catch (resolutionError) {\n if (resolutionError.pnpCode === \'QUALIFIED_PATH_RESOLUTION_FAILED\') Object.assign(resolutionError.data, {\n request,\n issuer\n });\n throw resolutionError;\n }\n }\n\n ;\n\n function resolveVirtual(request) {\n const normalized = fslib_2.ppath.normalize(request);\n const resolved = fslib_1.VirtualFS.resolveVirtual(normalized);\n return resolved !== normalized ? resolved : null;\n }\n\n return {\n VERSIONS,\n topLevel,\n getLocator: (name, referencish) => {\n if (Array.isArray(referencish)) {\n return {\n name: referencish[0],\n reference: referencish[1]\n };\n } else {\n return {\n name,\n reference: referencish\n };\n }\n },\n getDependencyTreeRoots: () => {\n return [...runtimeState.dependencyTreeRoots];\n },\n getPackageInformation: locator => {\n const info = getPackageInformation(locator);\n if (info === null) return null;\n const packageLocation = fslib_1.npath.fromPortablePath(info.packageLocation);\n const nativeInfo = Object.assign(Object.assign({}, info), {\n packageLocation\n });\n return nativeInfo;\n },\n findPackageLocator: path => {\n return findPackageLocator(fslib_1.npath.toPortablePath(path));\n },\n resolveToUnqualified: maybeLog(`resolveToUnqualified`, (request, issuer, opts) => {\n const portableIssuer = issuer !== null ? fslib_1.npath.toPortablePath(issuer) : null;\n const resolution = resolveToUnqualified(fslib_1.npath.toPortablePath(request), portableIssuer, opts);\n if (resolution === null) return null;\n return fslib_1.npath.fromPortablePath(resolution);\n }),\n resolveUnqualified: maybeLog(`resolveUnqualified`, (unqualifiedPath, opts) => {\n return fslib_1.npath.fromPortablePath(resolveUnqualified(fslib_1.npath.toPortablePath(unqualifiedPath), opts));\n }),\n resolveRequest: maybeLog(`resolveRequest`, (request, issuer, opts) => {\n const portableIssuer = issuer !== null ? fslib_1.npath.toPortablePath(issuer) : null;\n const resolution = resolveRequest(fslib_1.npath.toPortablePath(request), portableIssuer, opts);\n if (resolution === null) return null;\n return fslib_1.npath.fromPortablePath(resolution);\n }),\n resolveVirtual: maybeLog(`resolveVirtual`, path => {\n const result = resolveVirtual(fslib_1.npath.toPortablePath(path));\n\n if (result !== null) {\n return fslib_1.npath.fromPortablePath(result);\n } else {\n return null;\n }\n })\n };\n}\n\nexports.makeApi = makeApi;\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\n"use strict";\n\n\nObject.defineProperty(exports, "__esModule", {\n value: true\n});\n\nconst fslib_1 = __webpack_require__(5);\n\nconst module_1 = __webpack_require__(6);\n\nfunction makeManager(pnpapi, opts) {\n const initialApiPath = fslib_1.npath.toPortablePath(pnpapi.resolveToUnqualified(`pnpapi`, null));\n const initialApiStats = opts.fakeFs.statSync(fslib_1.npath.toPortablePath(initialApiPath));\n const apiMetadata = new Map([[initialApiPath, {\n cache: module_1.Module._cache,\n instance: pnpapi,\n stats: initialApiStats\n }]]);\n\n function loadApiInstance(pnpApiPath) {\n const nativePath = fslib_1.npath.fromPortablePath(pnpApiPath); // @ts-ignore\n\n const module = new module_1.Module(nativePath, null);\n module.load(nativePath);\n return module.exports;\n }\n\n function refreshApiEntry(pnpApiPath, apiEntry) {\n const stats = opts.fakeFs.statSync(pnpApiPath);\n\n if (stats.mtime > apiEntry.stats.mtime) {\n console.warn(`[Warning] The runtime detected new informations in a PnP file; reloading the API instance (${pnpApiPath})`);\n apiEntry.instance = loadApiInstance(pnpApiPath);\n apiEntry.stats = stats;\n }\n }\n\n function getApiEntry(pnpApiPath, refresh = false) {\n let apiEntry = apiMetadata.get(pnpApiPath);\n\n if (typeof apiEntry !== `undefined`) {\n if (refresh) {\n refreshApiEntry(pnpApiPath, apiEntry);\n }\n } else {\n apiMetadata.set(pnpApiPath, apiEntry = {\n cache: {},\n instance: loadApiInstance(pnpApiPath),\n stats: opts.fakeFs.statSync(pnpApiPath)\n });\n }\n\n return apiEntry;\n }\n\n function findApiPathFor(modulePath) {\n let curr;\n let next = fslib_1.npath.toPortablePath(modulePath);\n\n do {\n curr = next;\n const candidate = fslib_1.ppath.join(curr, `.pnp.js`);\n if (fslib_1.xfs.existsSync(candidate) && fslib_1.xfs.statSync(candidate).isFile()) return candidate;\n next = fslib_1.ppath.dirname(curr);\n } while (curr !== fslib_1.PortablePath.root);\n\n return null;\n }\n\n function getApiPathFromParent(parent) {\n if (parent == null) return initialApiPath;\n\n if (typeof parent.pnpApiPath === `undefined`) {\n if (parent.filename !== null) {\n return findApiPathFor(parent.filename);\n } else {\n return initialApiPath;\n }\n }\n\n if (parent.pnpApiPath !== null) return parent.pnpApiPath;\n return null;\n }\n\n return {\n getApiPathFromParent,\n findApiPathFor,\n getApiEntry\n };\n}\n\nexports.makeManager = makeManager;\n\n/***/ })\n/******/ ])["default"];\n});'},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(3),A=n(4),i=n(6),o=n(433),s=n(434),a=i.promisify(r.readFile);function c(e,{basePath:t,fakeFs:n,pnpapiResolution:r}){const A=JSON.parse(e),i=o.hydrateRuntimeState(A,{basePath:t});return s.makeApi(i,{compatibilityMode:!0,fakeFs:n,pnpapiResolution:r})}t.hydratePnpFile=async function(e,{fakeFs:t,pnpapiResolution:n}){return c(await a(e,"utf8"),{basePath:A.dirname(e),fakeFs:t,pnpapiResolution:n})},t.hydratePnpSource=c},function(e,t,n){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.API_ERROR="API_ERROR",e.BLACKLISTED="BLACKLISTED",e.BUILTIN_NODE_RESOLUTION_FAILED="BUILTIN_NODE_RESOLUTION_FAILED",e.MISSING_DEPENDENCY="MISSING_DEPENDENCY",e.MISSING_PEER_DEPENDENCY="MISSING_PEER_DEPENDENCY",e.QUALIFIED_PATH_RESOLUTION_FAILED="QUALIFIED_PATH_RESOLUTION_FAILED",e.INTERNAL="INTERNAL",e.UNDECLARED_DEPENDENCY="UNDECLARED_DEPENDENCY",e.UNSUPPORTED="UNSUPPORTED"}(r=t.ErrorCode||(t.ErrorCode={}));const A=new Set([r.BLACKLISTED,r.BUILTIN_NODE_RESOLUTION_FAILED,r.MISSING_DEPENDENCY,r.MISSING_PEER_DEPENDENCY,r.QUALIFIED_PATH_RESOLUTION_FAILED,r.UNDECLARED_DEPENDENCY]);t.makeError=function(e,t,n={}){const r=A.has(e)?"MODULE_NOT_FOUND":e,i={configurable:!0,writable:!0,enumerable:!1};return Object.defineProperties(new Error(t),{code:Object.assign(Object.assign({},i),{value:r}),pnpCode:Object.assign(Object.assign({},i),{value:e}),data:Object.assign(Object.assign({},i),{value:n})})},t.getIssuerModule=function(e){let t=e;for(;t&&("[eval]"===t.id||""===t.id||!t.filename);)t=t.parent;return t||null}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1),A=n(432),i=n(433),o=n(434);t.makeRuntimeApi=(e,t,n)=>{const s=A.generateSerializedState(e),a=i.hydrateRuntimeState(s,{basePath:t}),c=r.npath.join(t,".pnp.js");return o.makeApi(a,{fakeFs:n,pnpapiResolution:c})}},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(7),i=n(0),o=n(0),s=n(2);class a extends A.BaseCommand{constructor(){super(...arguments),this.patterns=[]}async execute(){const e=await i.Configuration.find(this.context.cwd,this.context.plugins),{project:t,workspace:n}=await i.Project.find(e,this.context.cwd),r=await i.Cache.find(e);if(!n)throw new A.WorkspaceRequiredError(t.cwd,this.context.cwd);const s=t.topLevelWorkspace;for(const e of this.patterns){const t=o.structUtils.parseDescriptor(e);s.manifest.ensureDependencyMeta(t).unplugged=!0}return await s.persistManifest(),(await i.StreamReport.start({configuration:e,stdout:this.context.stdout},async e=>{await t.install({cache:r,report:e})})).exitCode()}}a.usage=s.Command.Usage({description:"force the unpacking of a list of packages",details:"\n This command will add the specified selectors to the list of packages that must be unplugged when installed.\n\n A package being unplugged means that instead of being referenced directly through its archive, it will be unpacked at install time in the directory configured via `virtualFolder`.\n\n Unpacking a package isn't advised as a general tool because it makes it harder to store your packages within the repository. However, it's a good approach to quickly and safely debug some packages, and can even sometimes be required depending on the context (for example when the package contains shellscripts).\n\n The unplug command sets a flag that's persisted in your top-level `package.json` through the `dependenciesMeta` field. As such, to undo its effects, just revert the changes made to the manifest and run `yarn install`.\n ",examples:[["Unplug lodash","yarn unplug lodash"],["Unplug one specific version of lodash","yarn unplug lodash@1.2.3"]]}),r([s.Command.Rest()],a.prototype,"patterns",void 0),r([s.Command.Path("unplug")],a.prototype,"execute",null),t.default=a},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const A=n(1),i=n(1),o=n(1),s=r(n(3)),a=n(1186),c=n(171),u=n(1188);class g extends o.ProxiedFS{constructor(e,{realFs:t=s.default,pnpifyFs:n=!0}={}){super(A.npath),this.baseFs=new l(e,{baseFs:new o.NodeFS(t),pnpifyFs:n})}mapFromBase(e){return A.npath.fromPortablePath(e)}mapToBase(e){return A.npath.toPortablePath(e)}}t.NodeModulesFS=g;class l extends o.FakeFS{constructor(e,{baseFs:t=new o.NodeFS,pnpifyFs:n=!0}={}){if(super(A.ppath),!e.getDependencyTreeRoots)throw new Error("NodeModulesFS supports PnP API versions 3+, please upgrade your PnP API provider");this.options={baseFs:t,pnpifyFs:n},this.baseFs=t,this.nodeModulesTree=c.buildNodeModulesTree(e,this.options),this.watchManager=new a.WatchManager;const r=A.npath.toPortablePath(e.getPackageInformation(e.topLevel).packageLocation);this.pnpFilePath=A.ppath.join(r,i.toFilename(".pnp.js")),this.watchPnpFile(r)}watchPnpFile(e){this.baseFs.watch(e,{persistent:!1},(e,t)=>{if(".pnp.js"===t){delete n.c[this.pnpFilePath];const e=n(436)(this.pnpFilePath);this.nodeModulesTree=c.buildNodeModulesTree(e,this.options),this.watchManager.notifyWatchers(e=>u.resolveNodeModulesPath(e,this.nodeModulesTree))}})}persistPath(e){const t=[];let n=e;for(;!this.baseFs.existsSync(n);)t.push(n),n=A.ppath.dirname(n);for(const e of t.reverse())this.baseFs.mkdirSync(e)}getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.baseFs.resolve(this.resolvePath(e).resolvedPath)}getBaseFs(){return this.baseFs}resolvePath(e){if("number"==typeof e)return{resolvedPath:e,fullOriginalPath:e};{const t=this.pathUtils.resolve(e);return Object.assign(Object.assign({},u.resolveNodeModulesPath(t,this.nodeModulesTree)),{fullOriginalPath:t})}}resolveFilePath(e){if("number"==typeof e)return e;return this.resolvePath(e).resolvedPath}resolveDirOrFilePath(e){if("number"==typeof e)return e;let t=this.resolvePath(e);return t.forwardedDirPath||t.resolvedPath}resolveLink(e,t,n,r){const A=this.resolvePath(e);if(A.isSymlink){let e;try{e=this.baseFs.lstatSync(A.resolvedPath)}catch(e){}if(e)return n(e,this.pathUtils.relative(this.pathUtils.dirname(A.fullOriginalPath),A.resolvedPath))}return r(A.forwardedDirPath||A.resolvedPath)}static makeSymlinkStats(e){return Object.assign(e,{isFile:()=>!1,isDirectory:()=>!1,isSymbolicLink:()=>!0})}getRealPath(){return this.baseFs.getRealPath()}async openPromise(e,t,n){return await this.baseFs.openPromise(this.resolveFilePath(e),t,n)}openSync(e,t,n){return this.baseFs.openSync(this.resolveFilePath(e),t,n)}async readPromise(e,t,n,r,A){return await this.baseFs.readPromise(e,t,n,r,A)}readSync(e,t,n,r,A){return this.baseFs.readSync(e,t,n,r,A)}async writePromise(e,t,n,r,A){return"string"==typeof t?await this.baseFs.writePromise(e,t,n):await this.baseFs.writePromise(e,t,n,r,A)}writeSync(e,t,n,r,A){return"string"==typeof t?this.baseFs.writeSync(e,t,n):this.baseFs.writeSync(e,t,n,r,A)}async closePromise(e){await this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,t){return this.baseFs.createReadStream(null!==e?this.resolveFilePath(e):e,t)}createWriteStream(e,t){return this.baseFs.createWriteStream(null!==e?this.resolveDirOrFilePath(e):e,t)}async realpathPromise(e){const t=this.resolvePath(e);return t.dirList?t.resolvedPath:this.baseFs.realpathPromise(t.resolvedPath)}realpathSync(e){const t=this.resolvePath(e);return t.dirList?t.resolvedPath:this.baseFs.realpathSync(t.resolvedPath)}async existsPromise(e){const t=this.resolvePath(e);return!!t.dirList||await this.baseFs.existsPromise(t.resolvedPath)}existsSync(e){const t=this.resolvePath(e);return!!t.dirList||this.baseFs.existsSync(t.resolvedPath)}async accessPromise(e,t){return await this.baseFs.accessPromise(this.resolveDirOrFilePath(e),t)}accessSync(e,t){return this.baseFs.accessSync(this.resolveDirOrFilePath(e),t)}async statPromise(e){return await this.baseFs.statPromise(this.resolveDirOrFilePath(e))}statSync(e){return this.baseFs.statSync(this.resolveDirOrFilePath(e))}async lstatPromise(e){return this.resolveLink(e,"lstat",e=>l.makeSymlinkStats(e),async e=>await this.baseFs.lstatPromise(e))}lstatSync(e){return this.resolveLink(e,"lstat",e=>l.makeSymlinkStats(e),e=>this.baseFs.lstatSync(this.resolveDirOrFilePath(e)))}async chmodPromise(e,t){return await this.baseFs.chmodPromise(this.resolveDirOrFilePath(e),t)}chmodSync(e,t){return this.baseFs.chmodSync(this.resolveDirOrFilePath(e),t)}async renamePromise(e,t){return await this.baseFs.renamePromise(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(t))}renameSync(e,t){return this.baseFs.renameSync(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(t))}async copyFilePromise(e,t,n){return await this.baseFs.copyFilePromise(this.resolveFilePath(e),this.resolveDirOrFilePath(t),n)}copyFileSync(e,t,n){return this.baseFs.copyFileSync(this.resolveFilePath(e),this.resolveDirOrFilePath(t),n)}async appendFilePromise(e,t,n){return await this.baseFs.appendFilePromise(this.resolveDirOrFilePath(e),t,n)}appendFileSync(e,t,n){return this.baseFs.appendFileSync(this.resolveDirOrFilePath(e),t,n)}async writeFilePromise(e,t,n){return await this.baseFs.writeFilePromise(this.resolveDirOrFilePath(e),t,n)}writeFileSync(e,t,n){return this.baseFs.writeFileSync(this.resolveDirOrFilePath(e),t,n)}async unlinkPromise(e){return await this.baseFs.unlinkPromise(this.resolveDirOrFilePath(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.resolveDirOrFilePath(e))}async utimesPromise(e,t,n){return await this.baseFs.utimesPromise(this.resolveDirOrFilePath(e),t,n)}utimesSync(e,t,n){return this.baseFs.utimesSync(this.resolveDirOrFilePath(e),t,n)}async mkdirPromise(e,t){const n=this.resolvePath(e),r=this.resolvePath(A.ppath.dirname(e));return r.dirList&&this.persistPath(r.resolvedPath),this.baseFs.mkdirPromise(n.resolvedPath,t)}mkdirSync(e,t){const n=this.resolvePath(e),r=this.resolvePath(A.ppath.dirname(e));return r.dirList&&this.persistPath(r.resolvedPath),this.baseFs.mkdirSync(n.resolvedPath,t)}async rmdirPromise(e){return await this.baseFs.rmdirPromise(this.resolveDirOrFilePath(e))}rmdirSync(e){return this.baseFs.rmdirSync(this.resolveDirOrFilePath(e))}async symlinkPromise(e,t){return await this.baseFs.symlinkPromise(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(t))}symlinkSync(e,t){return this.baseFs.symlinkSync(this.resolveDirOrFilePath(e),this.resolveDirOrFilePath(t))}async readFilePromise(e,t){switch(t){case"utf8":default:return await this.baseFs.readFilePromise(this.resolveFilePath(e),t)}}readFileSync(e,t){switch(t){case"utf8":default:return this.baseFs.readFileSync(this.resolveFilePath(e),t)}}async readdirPromise(e,{withFileTypes:t}={}){const n=this.resolvePath(e);if(n.dirList||this.resolvePath(A.ppath.join(e,i.toFilename("node_modules"))).dirList){let r=[];try{r=await this.baseFs.readdirPromise(n.resolvedPath)}catch(e){}const o=Array.from(n.dirList||[i.toFilename("node_modules")]).concat(r).sort();return t?o.map(t=>Object.assign(this.lstatSync(A.ppath.join(e,t)),{name:t})):o}return await this.baseFs.readdirPromise(n.resolvedPath,{withFileTypes:t})}readdirSync(e,{withFileTypes:t}={}){const n=this.resolvePath(e);if(n.dirList||this.resolvePath(A.ppath.join(e,i.toFilename("node_modules"))).dirList){let r=[];try{r=this.baseFs.readdirSync(n.resolvedPath)}catch(e){}const o=Array.from(n.dirList||[i.toFilename("node_modules")]).concat(r).sort();return t?o.map(t=>Object.assign(this.lstatSync(A.ppath.join(e,t)),{name:t})):o}return this.baseFs.readdirSync(n.resolvedPath,{withFileTypes:t})}async readlinkPromise(e){return this.resolveLink(e,"readlink",(e,t)=>t,async e=>await this.baseFs.readlinkPromise(this.resolveDirOrFilePath(e)))}readlinkSync(e){return this.resolveLink(e,"readlink",(e,t)=>t,e=>this.baseFs.readlinkSync(this.resolveDirOrFilePath(e)))}watch(e,t,n){const r=this.resolvePath(e),A=r.resolvedPath;if(A&&r.dirList){const e="function"==typeof t?t:"function"==typeof n?n:()=>{};return this.watchManager.registerWatcher(A,r.dirList,e)}return this.baseFs.watch(e,t,n)}}t.PortableNodeModulesFS=l},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(19);class A extends r.EventEmitter{constructor(e,t,n){super(),this.dirWatchers=e,this.watchPath=t,this.watcherId=n}close(){const e=this.dirWatchers.get(this.watchPath);e.eventEmitters.delete(this.watcherId),0===e.eventEmitters.size&&this.dirWatchers.delete(this.watchPath)}}class i extends r.EventEmitter{constructor(){super(...arguments),this.dirWatchers=new Map,this.lastWatcherId=0}registerWatcher(e,t,n){let r=this.dirWatchers.get(e);r||(r={eventEmitters:new Map,dirEntries:t},this.dirWatchers.set(e,r));const i=this.lastWatcherId++,o=new A(this.dirWatchers,e,i);return r.eventEmitters.set(i,o),o.on("rename",e=>n("rename",e)),o}notifyWatchers(e){for(const[t,n]of this.dirWatchers){const r=e(t).dirList||new Set,A=new Set;for(const e of r)n.dirEntries.has(e)||A.add(e);for(const e of n.dirEntries)r.has(e)||A.add(e);for(const e of A)for(const t of n.eventEmitters.values())t.emit("rename",e);n.dirEntries=r}}}t.WatchManager=i},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=(e,t)=>`${e}@${t}`,A=(e,t)=>{const n=t.indexOf("#"),A=n>=0?t.substring(n+1):t;return r(e,A)};t.hoist=(e,t={})=>{const n=t.debugLevel||Number(process.env.NM_DEBUG_LEVEL||-1),r={check:t.check||n>=9,debugLevel:n};r.debugLevel>=0&&console.time("hoist");const A=a(e),o=u(A);if(i(A,A,new Set([A.locator]),new Map,o,r),r.debugLevel>=0&&console.timeEnd("hoist"),r.debugLevel>=3){const e=Array.from(o.keys());e.sort((e,t)=>o.get(t).size-o.get(e).size),console.log("Package popularity:");for(const t of e)console.log(t,"→",o.get(t).size)}if(r.debugLevel>=1){const e=s(A);if(e)throw new Error(`${e}, after hoisting finished:\n${l(A)}`)}return r.debugLevel>=2&&console.log(l(A)),c(A)};const i=(e,t,n,r,A,a,c=new Set)=>{if(c.has(t))return 0;c.add(t);const u=new Map(r);for(const e of t.dependencies.values())t.peerNames.has(e.name)||u.set(e.name,e);const h=t===e?new Map:(e=>{const t=new Map,n=new Set,r=A=>{if(!n.has(A)){n.add(A);for(const n of A.hoistedDependencies.values())e.dependencies.has(n.name)||t.set(n.name,n);for(const e of A.dependencies.values())A.peerNames.has(e.name)||r(e)}};return r(e),t})(t);let p,f={clone:t,children:new Map};do{p=o(t,n,u,h,A,a);for(const n of p)for(const{nodePath:r,node:A}of n.candidates){let n=f;for(const e of r){let t=n.children.get(e);if(!t){const{name:r,references:A,ident:i,locator:o,dependencies:s,originalDependencies:a,hoistedDependencies:c,peerNames:u,reasons:g}=e,l={name:r,references:new Set(A),ident:i,locator:o,dependencies:new Map(s),originalDependencies:new Map(a),hoistedDependencies:new Map(c),peerNames:new Set(u),reasons:new Map(g)};t={clone:l,children:new Map};const h=l.dependencies.get(r);h&&h.ident==l.ident&&l.dependencies.set(r,l),n.children.set(e,t),n.clone.dependencies.set(r,l)}n=t}n.clone.dependencies.delete(A.name),n.clone.hoistedDependencies.set(A.name,A),n.clone.reasons.delete(A.name);const i=t.dependencies.get(A.name);if(i)for(const e of A.references)i.references.add(e);else t.ident!==A.ident&&(t.dependencies.set(A.name,A),u.set(A.name,A));if(a.check){const n=s(e);if(n)throw new Error(`${n}, after hoisting ${[t,...r,A].map(e=>g(e.locator)).join("→")}:\n${l(e)}`)}}}while(p.size>0);for(const r of t.dependencies.values())t.peerNames.has(r.name)||n.has(r.locator)||(n.add(r.locator),i(e,r,n,u,A,a),n.delete(r.locator))},o=(e,t,n,r,A,i)=>{const o=new Map,s=[],a=new Set,c=(u,l,h)=>{const p=a.has(h);let f,C;i.debugLevel>=2&&(f=`${Array.from(t).map(e=>g(e)).join("→")}`);let d,I,E=!0;if(E){const t=!e.peerNames.has(h.name);i.debugLevel>=2&&!t&&(C=`- is a peer dependency at ${f}`),E=t}if(E){const t=e.name!==h.name||e.ident===h.ident;i.debugLevel>=2&&!t&&(C=`- conflicts with ${f}`),E=t}if(E){let e=!1;const t=r.get(h.name);if(e=!t||t.ident===h.ident,i.debugLevel>=2&&!e&&(C=`- filled by: ${g(t.locator)} at ${f}`),e)for(const t of s){const n=t.parent.dependencies.get(h.name);if(n&&n.ident!==h.ident){e=!1,i.debugLevel>=2&&(C=`- filled by: ${g(n.locator)} at ${g(t.parent.locator)}`);break}}E=e}if(E){d=o.get(h.name),I=A.get(h.ident).size;const e=!d||d.weight<=I;i.debugLevel>=2&&!e&&(C=`- preferred package ${d.node.locator} at ${f}`),E=e}if(E){let e=!0;for(const t of h.hoistedDependencies.values()){if(h.originalDependencies.has(t.name)){const r=n.get(t.name);r?r.ident!==t.ident&&(i.debugLevel>=2&&(C=`- hoisted dependency ${g(t.locator)} has a clash with ${g(r.locator)} at ${f}`),e=!1):(i.debugLevel>=2&&(C=`- hoisted dependency ${g(t.locator)} is absent at ${f}`),e=!1)}if(!e)break}E=e}if(E){let e=!0;const t=new Set(h.peerNames);for(let n=s.length-1;n>=0;n--){const r=s[n].node;for(const n of t){if(r.peerNames.has(n))continue;const A=r.dependencies.get(n);if(A){i.debugLevel>=2&&(C=`- peer dependency ${g(A.locator)} from parent ${g(r.locator)} was not hoisted to ${f}`),e=!1;break}t.delete(n)}if(!e)break}E=e}if(E){let e=o.get(h.name);(!e||d&&d.node.ident!==h.ident)&&(e={node:h,candidates:new Set,weight:I},o.set(h.name,e)),e.candidates.add({nodePath:u,node:h})}else if(i.debugLevel>=2){const t=s[s.length-1].node,n=t.reasons.get(h.name);n&&n.root!==e||t.reasons.set(h.name,{reason:C,root:e})}if(!p&&l.indexOf(h.locator)<0){a.add(h);const e={parent:s[s.length-1].node,node:h};s.push(e);for(const e of h.dependencies.values())h.peerNames.has(e.name)||c([...u,h],[...l,h.locator],e);s.pop()}};for(const t of e.dependencies.values()){if(e.peerNames.has(t.name)||t.locator===e.locator)continue;const n={parent:e,node:t};s.push(n);for(const n of t.dependencies.values())t.peerNames.has(n.name)||n.locator===t.locator||c([t],[e.locator,t.locator],n);s.pop()}return new Set(o.values())},s=e=>{let t=[];const n=new Set,r=new Set,A=(e,i)=>{if(n.has(e))return;if(n.add(e),r.has(e))return;const o=new Map(i);for(const t of e.dependencies.values())e.peerNames.has(t.name)||o.set(t.name,t);for(const n of e.originalDependencies.values()){const A=o.get(n.name),s=()=>`${Array.from(r).concat([e]).map(e=>g(e.locator)).join("→")}`;if(e.peerNames.has(n.name)){const e=i.get(n.name);e!==A&&t.push(`${s()} - broken peer promise: expected ${A.locator} but found ${e?e.locator:e}`)}else A?A.ident!==n.ident&&t.push(`${s()} - broken require promise: expected ${n.ident}, but found: ${A.ident}`):t.push(`${s()} - broken require promise: no required dependency ${n.locator} found`)}r.add(e);for(const t of e.dependencies.values())e.peerNames.has(t.name)||A(t,o);r.delete(e)};return A(e,e.dependencies),t.join("\n")},a=e=>{const{name:t,reference:n,peerNames:i}=e,o={name:t,references:new Set([n]),locator:r(t,n),ident:A(t,n),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(i),reasons:new Map},s=new Map([[e,o]]),a=(e,t)=>{let n=s.get(e);const i=!!n;if(!n){const{name:t,reference:i,peerNames:o}=e;n={name:t,references:new Set([i]),locator:r(t,i),ident:A(t,i),dependencies:new Map,originalDependencies:new Map,hoistedDependencies:new Map,peerNames:new Set(o),reasons:new Map},s.set(e,n)}if(t.dependencies.set(n.name,n),t.originalDependencies.set(n.name,n),!i)for(const t of e.dependencies)a(t,n)};for(const t of e.dependencies)a(t,o);return o},c=e=>{const t={name:e.name,references:new Set(e.references),dependencies:new Set},n=new Map([[e.locator,t]]),r=(e,t)=>{let A=n.get(e.locator);const i=!!A;if(!A){const{name:t,references:n}=e;A={name:t,references:n,dependencies:new Set}}if(t.dependencies.add(A),!i){n.set(e.locator,A);for(const t of e.dependencies.values())e.peerNames.has(t.name)||r(t,A)}};for(const n of e.dependencies.values())r(n,t);return t},u=e=>{const t=new Map,n=new Set([e]),r=(e,A)=>{const i=!!n.has(A);let o=t.get(A.ident);if(o||(o=new Set,t.set(A.ident,o)),o.add(e.ident),!i){n.add(A);for(const e of A.dependencies.values())A.peerNames.has(e.name)||r(A,e)}};for(const t of e.dependencies.values())e.peerNames.has(t.name)||r(e,t);return t},g=e=>{const t=e.indexOf("@",1),n=e.substring(0,t),r=e.substring(t+1);if("workspace:."===r)return".";if(r){const e=(r.indexOf("#")>0?r.split("#")[1]:r).replace("npm:","");return r.startsWith("virtual")?`v:${n}@${e}`:`${n}@${e}`}return`${n}`},l=e=>{let t=0;const n=(e,r,A="")=>{if(t>5e4||r.has(e))return"";t++;const i=Array.from(e.dependencies.values());let o="";r.add(e);for(let t=0;t":"")+g(s.locator)+(a?` ${a.reason}`:"")}\n`,o+=n(s,r,`${A}${t5e4?"\nTree is too large, part of the tree has been dunped\n":"")}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(1),A=n(1),i=n(171);t.resolveNodeModulesPath=(e,t)=>{const n={resolvedPath:e},o=e.split(A.ppath.sep),s=o.indexOf("node_modules");if(s<0)return n;let a=o.lastIndexOf("node_modules");void 0!==o[a+1]&&a++,"@"===o[a][0]&&void 0!==o[a+1]&&a++;let c,u,g,l=A.npath.toPortablePath(o.slice(0,s).join(A.ppath.sep)),h=s,p=r.PortablePath.dot;for(;h<=a;){const e=A.toFilename(o[h]);l=A.ppath.join(l,e),(c=t.get(l))?(c.linkType===i.LinkType.SOFT&&(l=c.target),u=c,p=r.PortablePath.dot,g=c.dirList?l:c.target):p=A.ppath.join(p,e),h++}return p=A.ppath.join(p,...o.slice(a+1).map(e=>A.toFilename(e))),u&&(u.dirList&&p===r.PortablePath.dot?p===r.PortablePath.dot&&(n.dirList=u.dirList,n.forwardedDirPath=A.npath.toPortablePath(o.slice(0,s).join(A.ppath.sep)),n.forwardedDirPath.endsWith(".zip")&&(n.forwardedDirPath=A.ppath.dirname(n.forwardedDirPath))):(n.resolvedPath=A.ppath.join(g,p),n.isSymlink=u&&u.linkType===i.LinkType.SOFT&&p===r.PortablePath.dot)),n}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r="undefined"!=typeof require?require:n(436);t.dynamicRequire=r},function(e,t,n){"use strict";g.ifExists=function(e,t,n){return g(e,t,n).catch(()=>{})};const r=n(6),A=n(1191),i=n(4),o=n(1193),s=/^#!\s*(?:\/usr\/bin\/env)?\s*([^ \t]+)(.*)$/,a={createPwshFile:!0,createCmdFile:o(),fs:n(3)},c=new Map([[".js","node"],[".cmd","cmd"],[".bat","cmd"],[".ps1","pwsh"],[".sh","sh"]]);function u(e){const t={...a,...e},n=t.fs;return t.fs_={chmod:n.chmod?r.promisify(n.chmod):async()=>{},stat:r.promisify(n.stat),unlink:r.promisify(n.unlink),readFile:r.promisify(n.readFile),writeFile:r.promisify(n.writeFile)},t}async function g(e,t,n){const r=u(n);await r.fs_.stat(e),await async function(e,t,n){const r=await async function(e,t){const n=(await t.fs_.readFile(e,"utf8")).trim().split(/\r*\n/)[0].match(s);if(!n){const t=i.extname(e).toLowerCase();return{program:c.get(t)||null,additionalArgs:""}}return{program:n[1],additionalArgs:n[2]}}(e,n);return await function(e,t){return A(i.dirname(e),{fs:t.fs})}(t,n),function(e,t,n,r){const A=u(r),i=[{generator:h,extension:""}];A.createCmdFile&&i.push({generator:l,extension:".cmd"});A.createPwshFile&&i.push({generator:p,extension:".ps1"});return Promise.all(i.map(r=>(async function(e,t,n,r,A){const i=A.preserveSymlinks?"--preserve-symlinks":"",o=[n.additionalArgs,i].filter(e=>e).join(" ");return A=Object.assign({},A,{prog:n.program,args:o}),await function(e,t){return function(e,t){return t.fs_.unlink(e).catch(()=>{})}(e,t)}(t,A),await A.fs_.writeFile(t,r(e,t,A),"utf8"),function(e,t){return function(e,t){return t.fs_.chmod(e,493)}(e,t)}(t,A)})(e,t+r.extension,n,r.generator,A)))}(e,t,r,n)}(e,t,r)}function l(e,t,n){let r=i.relative(i.dirname(t),e).split("/").join("\\");const A=i.isAbsolute(r)?`"${r}"`:`"%~dp0\\${r}"`;let o,s=n.prog,a=n.args||"";const c=f(n.nodePath).win32;s?(o=`"%~dp0\\${s}.exe"`,r=A):(s=A,a="",r="");let u=n.progArgs?`${n.progArgs.join(" ")} `:"",g=c?`@SET NODE_PATH=${c}\r\n`:"";return g+=o?`@IF EXIST ${o} (\r\n`+` ${o} ${a} ${r} ${u}%*\r\n`+") ELSE (\r\n @SETLOCAL\r\n @SET PATHEXT=%PATHEXT:;.JS;=;%\r\n"+` ${s} ${a} ${r} ${u}%*\r\n`+")":`@${s} ${a} ${r} ${u}%*\r\n`}function h(e,t,n){let r,A=i.relative(i.dirname(t),e),o=n.prog&&n.prog.split("\\").join("/");A=A.split("\\").join("/");const s=i.isAbsolute(A)?`"${A}"`:`"$basedir/${A}"`;let a=n.args||"";const c=f(n.nodePath).posix;o?(r=`"$basedir/${n.prog}"`,A=s):(o=s,a="",A="");let u=n.progArgs?`${n.progArgs.join(" ")} `:"",g="#!/bin/sh\n";g+='basedir=$(dirname "$(echo "$0" | sed -e \'s,\\\\,/,g\')")\n\ncase `uname` in\n *CYGWIN*) basedir=`cygpath -w "$basedir"`;;\nesac\n\n';const l=n.nodePath?`export NODE_PATH="${c}"\n`:"";return g+=r?l+`if [ -x ${r} ]; then\n`+` exec ${r} ${a} ${A} ${u}"$@"\n`+"else \n"+` exec ${o} ${a} ${A} ${u}"$@"\n`+"fi\n":`${l}${o} ${a} ${A} ${u}"$@"\n`+"exit $?\n"}function p(e,t,n){let r=i.relative(i.dirname(t),e);const A=n.prog&&n.prog.split("\\").join("/");let o,s=A&&`"${A}$exe"`;r=r.split("\\").join("/");const a=i.isAbsolute(r)?`"${r}"`:`"$basedir/${r}"`;let c=n.args||"",u=f(n.nodePath);const g=u.win32,l=u.posix;s?(o=`"$basedir/${n.prog}$exe"`,r=a):(s=a,c="",r="");let h=n.progArgs?`${n.progArgs.join(" ")} `:"",p='#!/usr/bin/env pwsh\n$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent\n\n$exe=""\n'+(n.nodePath?"$env_node_path=$env:NODE_PATH\n"+`$env:NODE_PATH="${g}"\n`:"")+'if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {\n # Fix case when both the Windows and Linux builds of Node\n # are installed in the same directory\n $exe=".exe"\n}';return n.nodePath&&(p=p+" else {\n"+` $env:NODE_PATH="${l}"\n`+"}"),p+="\n",p=o?p+"$ret=0\n"+`if (Test-Path ${o}) {\n`+" # Support pipeline input\n if ($MyInvocation.ExpectingInput) {\n"+` $input | & ${o} ${c} ${r} ${h}$args\n`+" } else {\n"+` & ${o} ${c} ${r} ${h}$args\n`+" }\n $ret=$LASTEXITCODE\n} else {\n # Support pipeline input\n if ($MyInvocation.ExpectingInput) {\n"+` $input | & ${s} ${c} ${r} ${h}$args\n`+" } else {\n"+` & ${s} ${c} ${r} ${h}$args\n`+" }\n $ret=$LASTEXITCODE\n}\n"+(n.nodePath?"$env:NODE_PATH=$env_node_path\n":"")+"exit $ret\n":p+"# Support pipeline input\nif ($MyInvocation.ExpectingInput) {\n"+` $input | & ${s} ${c} ${r} ${h}$args\n`+"} else {\n"+` & ${s} ${c} ${r} ${h}$args\n`+"}\n"+(n.nodePath?"$env:NODE_PATH=$env_node_path\n":"")+"exit $LASTEXITCODE\n"}function f(e){if(!e)return{win32:"",posix:""};let t="string"==typeof e?e.split(i.delimiter):Array.from(e),n={};for(let e=0;e`/mnt/${t.toLowerCase()}`):t[e];n.win32=n.win32?`${n.win32};${r}`:r,n.posix=n.posix?`${n.posix}:${A}`:A,n[e]={win32:r,posix:A}}return n}e.exports=g},function(e,t,n){"use strict";const r=n(3),A=n(4),{promisify:i}=n(6),o=n(1192),s={mode:511&~process.umask(),fs:r},a=o.satisfies(process.version,">=10.12.0"),c=e=>{if("win32"===process.platform){if(/[<>:"|?*]/.test(e.replace(A.parse(e).root,""))){const t=new Error(`Path contains invalid characters: ${e}`);throw t.code="EINVAL",t}}},u=e=>{const t=new Error(`operation not permitted, mkdir '${e}'`);return t.code="EPERM",t.errno=-4048,t.path=e,t.syscall="mkdir",t};e.exports=async(e,t)=>{c(e),t={...s,...t};const n=i(t.fs.mkdir),o=i(t.fs.stat);if(a&&t.fs.mkdir===r.mkdir){const r=A.resolve(e);return await n(r,{mode:t.mode,recursive:!0}),r}const g=async e=>{try{return await n(e,t.mode),e}catch(t){if("EPERM"===t.code)throw t;if("ENOENT"===t.code){if(A.dirname(e)===e)throw u(e);if(t.message.includes("null bytes"))throw t;return await g(A.dirname(e)),g(e)}if(!(await o(e)).isDirectory())throw t;return e}};return g(A.resolve(e))},e.exports.sync=(e,t)=>{if(c(e),t={...s,...t},a&&t.fs.mkdirSync===r.mkdirSync){const n=A.resolve(e);return r.mkdirSync(n,{mode:t.mode,recursive:!0}),n}const n=e=>{try{t.fs.mkdirSync(e,t.mode)}catch(r){if("EPERM"===r.code)throw r;if("ENOENT"===r.code){if(A.dirname(e)===e)throw u(e);if(r.message.includes("null bytes"))throw r;return n(A.dirname(e)),n(e)}try{if(!t.fs.statSync(e).isDirectory())throw new Error("The path is not a directory")}catch(e){throw r}}return e};return n(A.resolve(e))}},function(e,t){var n;t=e.exports=l,n="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?function(){var e=Array.prototype.slice.call(arguments,0);e.unshift("SEMVER"),console.log.apply(console,e)}:function(){},t.SEMVER_SPEC_VERSION="2.0.0";var r=256,A=Number.MAX_SAFE_INTEGER||9007199254740991,i=t.re=[],o=t.src=[],s=t.tokens={},a=0;function c(e){s[e]=a++}c("NUMERICIDENTIFIER"),o[s.NUMERICIDENTIFIER]="0|[1-9]\\d*",c("NUMERICIDENTIFIERLOOSE"),o[s.NUMERICIDENTIFIERLOOSE]="[0-9]+",c("NONNUMERICIDENTIFIER"),o[s.NONNUMERICIDENTIFIER]="\\d*[a-zA-Z-][a-zA-Z0-9-]*",c("MAINVERSION"),o[s.MAINVERSION]="("+o[s.NUMERICIDENTIFIER]+")\\.("+o[s.NUMERICIDENTIFIER]+")\\.("+o[s.NUMERICIDENTIFIER]+")",c("MAINVERSIONLOOSE"),o[s.MAINVERSIONLOOSE]="("+o[s.NUMERICIDENTIFIERLOOSE]+")\\.("+o[s.NUMERICIDENTIFIERLOOSE]+")\\.("+o[s.NUMERICIDENTIFIERLOOSE]+")",c("PRERELEASEIDENTIFIER"),o[s.PRERELEASEIDENTIFIER]="(?:"+o[s.NUMERICIDENTIFIER]+"|"+o[s.NONNUMERICIDENTIFIER]+")",c("PRERELEASEIDENTIFIERLOOSE"),o[s.PRERELEASEIDENTIFIERLOOSE]="(?:"+o[s.NUMERICIDENTIFIERLOOSE]+"|"+o[s.NONNUMERICIDENTIFIER]+")",c("PRERELEASE"),o[s.PRERELEASE]="(?:-("+o[s.PRERELEASEIDENTIFIER]+"(?:\\."+o[s.PRERELEASEIDENTIFIER]+")*))",c("PRERELEASELOOSE"),o[s.PRERELEASELOOSE]="(?:-?("+o[s.PRERELEASEIDENTIFIERLOOSE]+"(?:\\."+o[s.PRERELEASEIDENTIFIERLOOSE]+")*))",c("BUILDIDENTIFIER"),o[s.BUILDIDENTIFIER]="[0-9A-Za-z-]+",c("BUILD"),o[s.BUILD]="(?:\\+("+o[s.BUILDIDENTIFIER]+"(?:\\."+o[s.BUILDIDENTIFIER]+")*))",c("FULL"),c("FULLPLAIN"),o[s.FULLPLAIN]="v?"+o[s.MAINVERSION]+o[s.PRERELEASE]+"?"+o[s.BUILD]+"?",o[s.FULL]="^"+o[s.FULLPLAIN]+"$",c("LOOSEPLAIN"),o[s.LOOSEPLAIN]="[v=\\s]*"+o[s.MAINVERSIONLOOSE]+o[s.PRERELEASELOOSE]+"?"+o[s.BUILD]+"?",c("LOOSE"),o[s.LOOSE]="^"+o[s.LOOSEPLAIN]+"$",c("GTLT"),o[s.GTLT]="((?:<|>)?=?)",c("XRANGEIDENTIFIERLOOSE"),o[s.XRANGEIDENTIFIERLOOSE]=o[s.NUMERICIDENTIFIERLOOSE]+"|x|X|\\*",c("XRANGEIDENTIFIER"),o[s.XRANGEIDENTIFIER]=o[s.NUMERICIDENTIFIER]+"|x|X|\\*",c("XRANGEPLAIN"),o[s.XRANGEPLAIN]="[v=\\s]*("+o[s.XRANGEIDENTIFIER]+")(?:\\.("+o[s.XRANGEIDENTIFIER]+")(?:\\.("+o[s.XRANGEIDENTIFIER]+")(?:"+o[s.PRERELEASE]+")?"+o[s.BUILD]+"?)?)?",c("XRANGEPLAINLOOSE"),o[s.XRANGEPLAINLOOSE]="[v=\\s]*("+o[s.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+o[s.XRANGEIDENTIFIERLOOSE]+")(?:\\.("+o[s.XRANGEIDENTIFIERLOOSE]+")(?:"+o[s.PRERELEASELOOSE]+")?"+o[s.BUILD]+"?)?)?",c("XRANGE"),o[s.XRANGE]="^"+o[s.GTLT]+"\\s*"+o[s.XRANGEPLAIN]+"$",c("XRANGELOOSE"),o[s.XRANGELOOSE]="^"+o[s.GTLT]+"\\s*"+o[s.XRANGEPLAINLOOSE]+"$",c("COERCE"),o[s.COERCE]="(^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])",c("COERCERTL"),i[s.COERCERTL]=new RegExp(o[s.COERCE],"g"),c("LONETILDE"),o[s.LONETILDE]="(?:~>?)",c("TILDETRIM"),o[s.TILDETRIM]="(\\s*)"+o[s.LONETILDE]+"\\s+",i[s.TILDETRIM]=new RegExp(o[s.TILDETRIM],"g");c("TILDE"),o[s.TILDE]="^"+o[s.LONETILDE]+o[s.XRANGEPLAIN]+"$",c("TILDELOOSE"),o[s.TILDELOOSE]="^"+o[s.LONETILDE]+o[s.XRANGEPLAINLOOSE]+"$",c("LONECARET"),o[s.LONECARET]="(?:\\^)",c("CARETTRIM"),o[s.CARETTRIM]="(\\s*)"+o[s.LONECARET]+"\\s+",i[s.CARETTRIM]=new RegExp(o[s.CARETTRIM],"g");c("CARET"),o[s.CARET]="^"+o[s.LONECARET]+o[s.XRANGEPLAIN]+"$",c("CARETLOOSE"),o[s.CARETLOOSE]="^"+o[s.LONECARET]+o[s.XRANGEPLAINLOOSE]+"$",c("COMPARATORLOOSE"),o[s.COMPARATORLOOSE]="^"+o[s.GTLT]+"\\s*("+o[s.LOOSEPLAIN]+")$|^$",c("COMPARATOR"),o[s.COMPARATOR]="^"+o[s.GTLT]+"\\s*("+o[s.FULLPLAIN]+")$|^$",c("COMPARATORTRIM"),o[s.COMPARATORTRIM]="(\\s*)"+o[s.GTLT]+"\\s*("+o[s.LOOSEPLAIN]+"|"+o[s.XRANGEPLAIN]+")",i[s.COMPARATORTRIM]=new RegExp(o[s.COMPARATORTRIM],"g");c("HYPHENRANGE"),o[s.HYPHENRANGE]="^\\s*("+o[s.XRANGEPLAIN]+")\\s+-\\s+("+o[s.XRANGEPLAIN]+")\\s*$",c("HYPHENRANGELOOSE"),o[s.HYPHENRANGELOOSE]="^\\s*("+o[s.XRANGEPLAINLOOSE]+")\\s+-\\s+("+o[s.XRANGEPLAINLOOSE]+")\\s*$",c("STAR"),o[s.STAR]="(<|>)?=?\\s*\\*";for(var u=0;ur)return null;if(!(t.loose?i[s.LOOSE]:i[s.FULL]).test(e))return null;try{return new l(e,t)}catch(e){return null}}function l(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof l){if(e.loose===t.loose)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: "+e);if(e.length>r)throw new TypeError("version is longer than "+r+" characters");if(!(this instanceof l))return new l(e,t);n("SemVer",e,t),this.options=t,this.loose=!!t.loose;var o=e.trim().match(t.loose?i[s.LOOSE]:i[s.FULL]);if(!o)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+o[1],this.minor=+o[2],this.patch=+o[3],this.major>A||this.major<0)throw new TypeError("Invalid major version");if(this.minor>A||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>A||this.patch<0)throw new TypeError("Invalid patch version");o[4]?this.prerelease=o[4].split(".").map((function(e){if(/^[0-9]+$/.test(e)){var t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[n]&&(this.prerelease[n]++,n=-2);-1===n&&this.prerelease.push(0)}t&&(this.prerelease[0]===t?isNaN(this.prerelease[1])&&(this.prerelease=[t,0]):this.prerelease=[t,0]);break;default:throw new Error("invalid increment argument: "+e)}return this.format(),this.raw=this.version,this},t.inc=function(e,t,n,r){"string"==typeof n&&(r=n,n=void 0);try{return new l(e,n).inc(t,r).version}catch(e){return null}},t.diff=function(e,t){if(I(e,t))return null;var n=g(e),r=g(t),A="";if(n.prerelease.length||r.prerelease.length){A="pre";var i="prerelease"}for(var o in n)if(("major"===o||"minor"===o||"patch"===o)&&n[o]!==r[o])return A+o;return i},t.compareIdentifiers=p;var h=/^[0-9]+$/;function p(e,t){var n=h.test(e),r=h.test(t);return n&&r&&(e=+e,t=+t),e===t?0:n&&!r?-1:r&&!n?1:e0}function d(e,t,n){return f(e,t,n)<0}function I(e,t,n){return 0===f(e,t,n)}function E(e,t,n){return 0!==f(e,t,n)}function B(e,t,n){return f(e,t,n)>=0}function y(e,t,n){return f(e,t,n)<=0}function m(e,t,n,r){switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e===n;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof n&&(n=n.version),e!==n;case"":case"=":case"==":return I(e,n,r);case"!=":return E(e,n,r);case">":return C(e,n,r);case">=":return B(e,n,r);case"<":return d(e,n,r);case"<=":return y(e,n,r);default:throw new TypeError("Invalid operator: "+t)}}function Q(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof Q){if(e.loose===!!t.loose)return e;e=e.value}if(!(this instanceof Q))return new Q(e,t);n("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===w?this.value="":this.value=this.operator+this.semver.version,n("comp",this)}t.rcompareIdentifiers=function(e,t){return p(t,e)},t.major=function(e,t){return new l(e,t).major},t.minor=function(e,t){return new l(e,t).minor},t.patch=function(e,t){return new l(e,t).patch},t.compare=f,t.compareLoose=function(e,t){return f(e,t,!0)},t.compareBuild=function(e,t,n){var r=new l(e,n),A=new l(t,n);return r.compare(A)||r.compareBuild(A)},t.rcompare=function(e,t,n){return f(t,e,n)},t.sort=function(e,n){return e.sort((function(e,r){return t.compareBuild(e,r,n)}))},t.rsort=function(e,n){return e.sort((function(e,r){return t.compareBuild(r,e,n)}))},t.gt=C,t.lt=d,t.eq=I,t.neq=E,t.gte=B,t.lte=y,t.cmp=m,t.Comparator=Q;var w={};function v(e,t){if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),e instanceof v)return e.loose===!!t.loose&&e.includePrerelease===!!t.includePrerelease?e:new v(e.raw,t);if(e instanceof Q)return new v(e.value,t);if(!(this instanceof v))return new v(e,t);if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split(/\s*\|\|\s*/).map((function(e){return this.parseRange(e.trim())}),this).filter((function(e){return e.length})),!this.set.length)throw new TypeError("Invalid SemVer Range: "+e);this.format()}function b(e,t){for(var n=!0,r=e.slice(),A=r.pop();n&&r.length;)n=r.every((function(e){return A.intersects(e,t)})),A=r.pop();return n}function D(e){return!e||"x"===e.toLowerCase()||"*"===e}function S(e,t,n,r,A,i,o,s,a,c,u,g,l){return((t=D(n)?"":D(r)?">="+n+".0.0":D(A)?">="+n+"."+r+".0":">="+t)+" "+(s=D(a)?"":D(c)?"<"+(+a+1)+".0.0":D(u)?"<"+a+"."+(+c+1)+".0":g?"<="+a+"."+c+"."+u+"-"+g:"<="+s)).trim()}function k(e,t,r){for(var A=0;A0){var i=e[A].semver;if(i.major===t.major&&i.minor===t.minor&&i.patch===t.patch)return!0}return!1}return!0}function _(e,t,n){try{t=new v(t,n)}catch(e){return!1}return t.test(e)}function F(e,t,n,r){var A,i,o,s,a;switch(e=new l(e,r),t=new v(t,r),n){case">":A=C,i=y,o=d,s=">",a=">=";break;case"<":A=d,i=B,o=C,s="<",a="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(_(e,t,r))return!1;for(var c=0;c=0.0.0")),g=g||e,h=h||e,A(e.semver,g.semver,r)?g=e:o(e.semver,h.semver,r)&&(h=e)})),g.operator===s||g.operator===a)return!1;if((!h.operator||h.operator===s)&&i(e,h.semver))return!1;if(h.operator===a&&o(e,h.semver))return!1}return!0}Q.prototype.parse=function(e){var t=this.options.loose?i[s.COMPARATORLOOSE]:i[s.COMPARATOR],n=e.match(t);if(!n)throw new TypeError("Invalid comparator: "+e);this.operator=void 0!==n[1]?n[1]:"","="===this.operator&&(this.operator=""),n[2]?this.semver=new l(n[2],this.options.loose):this.semver=w},Q.prototype.toString=function(){return this.value},Q.prototype.test=function(e){if(n("Comparator.test",e,this.options.loose),this.semver===w||e===w)return!0;if("string"==typeof e)try{e=new l(e,this.options)}catch(e){return!1}return m(e,this.operator,this.semver,this.options)},Q.prototype.intersects=function(e,t){if(!(e instanceof Q))throw new TypeError("a Comparator is required");var n;if(t&&"object"==typeof t||(t={loose:!!t,includePrerelease:!1}),""===this.operator)return""===this.value||(n=new v(e.value,t),_(this.value,n,t));if(""===e.operator)return""===e.value||(n=new v(this.value,t),_(e.semver,n,t));var r=!(">="!==this.operator&&">"!==this.operator||">="!==e.operator&&">"!==e.operator),A=!("<="!==this.operator&&"<"!==this.operator||"<="!==e.operator&&"<"!==e.operator),i=this.semver.version===e.semver.version,o=!(">="!==this.operator&&"<="!==this.operator||">="!==e.operator&&"<="!==e.operator),s=m(this.semver,"<",e.semver,t)&&(">="===this.operator||">"===this.operator)&&("<="===e.operator||"<"===e.operator),a=m(this.semver,">",e.semver,t)&&("<="===this.operator||"<"===this.operator)&&(">="===e.operator||">"===e.operator);return r||A||i&&o||s||a},t.Range=v,v.prototype.format=function(){return this.range=this.set.map((function(e){return e.join(" ").trim()})).join("||").trim(),this.range},v.prototype.toString=function(){return this.range},v.prototype.parseRange=function(e){var t=this.options.loose;e=e.trim();var r=t?i[s.HYPHENRANGELOOSE]:i[s.HYPHENRANGE];e=e.replace(r,S),n("hyphen replace",e),e=e.replace(i[s.COMPARATORTRIM],"$1$2$3"),n("comparator trim",e,i[s.COMPARATORTRIM]),e=(e=(e=e.replace(i[s.TILDETRIM],"$1~")).replace(i[s.CARETTRIM],"$1^")).split(/\s+/).join(" ");var A=t?i[s.COMPARATORLOOSE]:i[s.COMPARATOR],o=e.split(" ").map((function(e){return function(e,t){return n("comp",e,t),e=function(e,t){return e.trim().split(/\s+/).map((function(e){return function(e,t){n("caret",e,t);var r=t.loose?i[s.CARETLOOSE]:i[s.CARET];return e.replace(r,(function(t,r,A,i,o){var s;return n("caret",e,t,r,A,i,o),D(r)?s="":D(A)?s=">="+r+".0.0 <"+(+r+1)+".0.0":D(i)?s="0"===r?">="+r+"."+A+".0 <"+r+"."+(+A+1)+".0":">="+r+"."+A+".0 <"+(+r+1)+".0.0":o?(n("replaceCaret pr",o),s="0"===r?"0"===A?">="+r+"."+A+"."+i+"-"+o+" <"+r+"."+A+"."+(+i+1):">="+r+"."+A+"."+i+"-"+o+" <"+r+"."+(+A+1)+".0":">="+r+"."+A+"."+i+"-"+o+" <"+(+r+1)+".0.0"):(n("no pr"),s="0"===r?"0"===A?">="+r+"."+A+"."+i+" <"+r+"."+A+"."+(+i+1):">="+r+"."+A+"."+i+" <"+r+"."+(+A+1)+".0":">="+r+"."+A+"."+i+" <"+(+r+1)+".0.0"),n("caret return",s),s}))}(e,t)})).join(" ")}(e,t),n("caret",e),e=function(e,t){return e.trim().split(/\s+/).map((function(e){return function(e,t){var r=t.loose?i[s.TILDELOOSE]:i[s.TILDE];return e.replace(r,(function(t,r,A,i,o){var s;return n("tilde",e,t,r,A,i,o),D(r)?s="":D(A)?s=">="+r+".0.0 <"+(+r+1)+".0.0":D(i)?s=">="+r+"."+A+".0 <"+r+"."+(+A+1)+".0":o?(n("replaceTilde pr",o),s=">="+r+"."+A+"."+i+"-"+o+" <"+r+"."+(+A+1)+".0"):s=">="+r+"."+A+"."+i+" <"+r+"."+(+A+1)+".0",n("tilde return",s),s}))}(e,t)})).join(" ")}(e,t),n("tildes",e),e=function(e,t){return n("replaceXRanges",e,t),e.split(/\s+/).map((function(e){return function(e,t){e=e.trim();var r=t.loose?i[s.XRANGELOOSE]:i[s.XRANGE];return e.replace(r,(function(r,A,i,o,s,a){n("xRange",e,r,A,i,o,s,a);var c=D(i),u=c||D(o),g=u||D(s),l=g;return"="===A&&l&&(A=""),a=t.includePrerelease?"-0":"",c?r=">"===A||"<"===A?"<0.0.0-0":"*":A&&l?(u&&(o=0),s=0,">"===A?(A=">=",u?(i=+i+1,o=0,s=0):(o=+o+1,s=0)):"<="===A&&(A="<",u?i=+i+1:o=+o+1),r=A+i+"."+o+"."+s+a):u?r=">="+i+".0.0"+a+" <"+(+i+1)+".0.0"+a:g&&(r=">="+i+"."+o+".0"+a+" <"+i+"."+(+o+1)+".0"+a),n("xRange return",r),r}))}(e,t)})).join(" ")}(e,t),n("xrange",e),e=function(e,t){return n("replaceStars",e,t),e.trim().replace(i[s.STAR],"")}(e,t),n("stars",e),e}(e,this.options)}),this).join(" ").split(/\s+/);return this.options.loose&&(o=o.filter((function(e){return!!e.match(A)}))),o=o.map((function(e){return new Q(e,this.options)}),this)},v.prototype.intersects=function(e,t){if(!(e instanceof v))throw new TypeError("a Range is required");return this.set.some((function(n){return b(n,t)&&e.set.some((function(e){return b(e,t)&&n.every((function(n){return e.every((function(e){return n.intersects(e,t)}))}))}))}))},t.toComparators=function(e,t){return new v(e,t).set.map((function(e){return e.map((function(e){return e.value})).join(" ").trim().split(" ")}))},v.prototype.test=function(e){if(!e)return!1;if("string"==typeof e)try{e=new l(e,this.options)}catch(e){return!1}for(var t=0;t":0===t.prerelease.length?t.patch++:t.prerelease.push(0),t.raw=t.format();case"":case">=":n&&!C(n,t)||(n=t);break;case"<":case"<=":break;default:throw new Error("Unexpected operation: "+e.operator)}}))}if(n&&e.test(n))return n;return null},t.validRange=function(e,t){try{return new v(e,t).range||"*"}catch(e){return null}},t.ltr=function(e,t,n){return F(e,t,"<",n)},t.gtr=function(e,t,n){return F(e,t,">",n)},t.outside=F,t.prerelease=function(e,t){var n=g(e,t);return n&&n.prerelease.length?n.prerelease:null},t.intersects=function(e,t,n){return e=new v(e,n),t=new v(t,n),e.intersects(t)},t.coerce=function(e,t){if(e instanceof l)return e;"number"==typeof e&&(e=String(e));if("string"!=typeof e)return null;var n=null;if((t=t||{}).rtl){for(var r;(r=i[s.COERCERTL].exec(e))&&(!n||n.index+n[0].length!==e.length);)n&&r.index+r[0].length===n.index+n[0].length||(n=r),i[s.COERCERTL].lastIndex=r.index+r[1].length+r[2].length;i[s.COERCERTL].lastIndex=-1}else n=e.match(i[s.COERCE]);if(null===n)return null;return g(n[2]+"."+(n[3]||"0")+"."+(n[4]||"0"),t)}},function(e,t,n){var r,A,i,o; +/*! + * is-windows + * + * Copyright © 2015-2018, Jon Schlinkert. + * Released under the MIT License. + */o=function(){"use strict";return function(){return process&&("win32"===process.platform||/^(msys|cygwin)$/.test(process.env.OSTYPE))}},t&&"object"==typeof t&&void 0!==e?e.exports=o():(A=[],void 0===(i="function"==typeof(r=o)?r.apply(t,A):r)||(e.exports=i))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(0),A=n(1),i=n(59),o=n(170),s=n(257),a=n(256);class c extends o.PnpLinker{constructor(){super(...arguments),this.mode="loose"}makeInstaller(e){return new u(e)}}t.PnpLooseLinker=c;class u extends o.PnpInstaller{constructor(){super(...arguments),this.mode="loose"}async finalizeInstallWithPnp(e){if(this.opts.project.configuration.get("pnpMode")!==this.mode)return;const t=new A.VirtualFS({baseFs:new A.ZipOpenFS({libzip:await i.getLibzipPromise(),maxOpenFiles:80,readOnlyArchives:!0})}),n=a.makeRuntimeApi(e,this.opts.project.cwd,t),o=s.buildNodeModulesTree(n,{pnpifyFs:!1}),c=new Map;e.fallbackPool=c;const u=(e,t)=>{const n=r.structUtils.parseLocator(t.locator),A=r.structUtils.stringifyIdent(n);A===e?c.set(e,n.reference):c.set(e,[A,n.reference])},g=A.ppath.join(this.opts.project.cwd,A.Filename.nodeModules),l=o.get(g);if(void 0===l)throw new Error("Assertion failed: Expected a root junction point");if("target"in l)throw new Error("Assertion failed: Expected the root junction point to be a directory");for(const e of l.dirList){const t=A.ppath.join(g,e),n=o.get(t);if(void 0===n)throw new Error("Assertion failed: Expected the child to have been registered");if("target"in n)u(e,n);else for(const r of n.dirList){const n=A.ppath.join(t,r),i=o.get(n);if(void 0===i)throw new Error("Assertion failed: Expected the subchild to have been registered");if(!("target"in i))throw new Error("Assertion failed: Expected the leaf junction to be a package");u(`${e}/${r}`,i)}}return super.finalizeInstallWithPnp(e)}}},function(e){e.exports=JSON.parse('{"name":"@yarnpkg/plugin-npm","version":"2.0.0-rc.19","main":"./sources/index.ts","dependencies":{"@yarnpkg/fslib":"workspace:^2.0.0-rc.19","inquirer":"^6.2.0","semver":"^7.1.2"},"peerDependencies":{"@yarnpkg/core":"^2.0.0-rc.27"},"devDependencies":{"@types/inquirer":"^0.0.43","@types/semver":"^7.1.0","@yarnpkg/core":"workspace:^2.0.0-rc.27"},"repository":{"type":"git","url":"ssh://git@github.com/yarnpkg/berry.git"},"scripts":{"postpack":"rm -rf lib","prepack":"run build:compile \\"$(pwd)\\""},"publishConfig":{"main":"./lib/index.js","typings":"./lib/index.d.ts"},"files":["/lib/**/*"]}')},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},A=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const i=n(0),o=r(n(15)),s=n(113),a=A(n(114));t.NpmHttpFetcher=class{supports(e,t){if(!e.reference.startsWith(s.PROTOCOL))return!1;const{selector:n,params:r}=i.structUtils.parseRange(e.reference);return!!o.default.valid(n)&&(null!==r&&"string"==typeof r.__archiveUrl)}getLocalPath(e,t){return null}async fetch(e,t){const n=t.checksums.get(e.locatorHash)||null,[r,A,o]=await t.cache.fetchPackageFromCache(e,n,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${i.structUtils.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the remote server`),loader:()=>this.fetchFromNetwork(e,t)});return{packageFs:r,releaseFs:A,prefixPath:i.structUtils.getIdentVendorPath(e),checksum:o}}async fetchFromNetwork(e,t){const{params:n}=i.structUtils.parseRange(e.reference);if(null===n||"string"!=typeof n.__archiveUrl)throw new Error("Assertion failed: The archiveUrl querystring parameter should have been available");const r=await a.get(n.__archiveUrl,{configuration:t.project.configuration,ident:e});return await i.tgzUtils.convertToZip(r,{compressionLevel:t.project.configuration.get("compressionLevel"),prefixPath:i.structUtils.getIdentVendorPath(e),stripComponents:1})}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(0),A=n(113);t.NpmRemapResolver=class{supportsDescriptor(e,t){return!!e.range.startsWith(A.PROTOCOL)&&!!r.structUtils.tryParseDescriptor(e.range.slice(A.PROTOCOL.length),!0)}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Unreachable")}bindDescriptor(e,t,n){return e}getResolutionDependencies(e,t){const n=r.structUtils.parseDescriptor(e.range.slice(A.PROTOCOL.length),!0);return t.resolver.getResolutionDependencies(n,t)}async getCandidates(e,t,n){const i=r.structUtils.parseDescriptor(e.range.slice(A.PROTOCOL.length),!0);return await n.resolver.getCandidates(i,t,n)}resolve(e,t){throw new Error("Unreachable")}}},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},A=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const i=n(0),o=n(0),s=n(0),a=r(n(15)),c=n(259),u=n(113),g=A(n(114)),l=s.structUtils.makeIdent(null,"node-gyp"),h=/\b(node-gyp|prebuild-install)\b/;t.NpmSemverResolver=class{supportsDescriptor(e,t){return!!e.range.startsWith(u.PROTOCOL)&&!!a.default.validRange(e.range.slice(u.PROTOCOL.length))}supportsLocator(e,t){if(!e.reference.startsWith(u.PROTOCOL))return!1;const{selector:n}=s.structUtils.parseRange(e.reference);return!!a.default.valid(n)}shouldPersistResolution(e,t){return!0}bindDescriptor(e,t,n){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,n){const r=e.range.slice(u.PROTOCOL.length),A=await g.get(g.getIdentUrl(e),{configuration:n.project.configuration,ident:e,json:!0}),i=Object.keys(A.versions).filter(e=>a.default.satisfies(e,r));return i.sort((e,t)=>-a.default.compare(e,t)),i.map(t=>{const r=s.structUtils.makeLocator(e,`${u.PROTOCOL}${t}`),i=A.versions[t].dist.tarball;return c.NpmSemverFetcher.isConventionalTarballUrl(r,i,{configuration:n.project.configuration})?r:s.structUtils.bindLocator(r,{__archiveUrl:i})})}async resolve(e,t){const{selector:n}=s.structUtils.parseRange(e.reference),r=a.default.clean(n);if(null===r)throw new i.ReportError(i.MessageName.RESOLVER_NOT_FOUND,"The npm semver resolver got selected, but the version isn't semver");const A=await g.get(g.getIdentUrl(e),{configuration:t.project.configuration,ident:e,json:!0});if(!Object.prototype.hasOwnProperty.call(A,"versions"))throw new i.ReportError(i.MessageName.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(!Object.prototype.hasOwnProperty.call(A.versions,r))throw new i.ReportError(i.MessageName.REMOTE_NOT_FOUND,`Registry failed to return reference "${r}"`);const c=new i.Manifest;if(c.load(A.versions[r]),!c.dependencies.has(l.identHash)&&!c.peerDependencies.has(l.identHash))for(const n of c.scripts.values())if(n.match(h)){c.dependencies.set(l.identHash,s.structUtils.makeDescriptor(l,"latest")),t.report.reportWarning(i.MessageName.NODE_GYP_INJECTED,`${s.structUtils.prettyLocator(t.project.configuration,e)}: Implicit dependencies on node-gyp are discouraged`);break}return Object.assign(Object.assign({},e),{version:r,languageName:"node",linkType:o.LinkType.HARD,dependencies:c.dependencies,peerDependencies:c.peerDependencies,dependenciesMeta:c.dependenciesMeta,peerDependenciesMeta:c.peerDependenciesMeta,bin:c.bin})}}},function(e,t,n){"use strict";var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const A=n(0),i=n(0),o=n(259),s=n(113),a=r(n(114));t.NpmTagResolver=class{supportsDescriptor(e,t){return!!e.range.startsWith(s.PROTOCOL)&&!!A.TAG_REGEXP.test(e.range.slice(s.PROTOCOL.length))}supportsLocator(e,t){return!1}shouldPersistResolution(e,t){throw new Error("Unreachable")}bindDescriptor(e,t,n){return e}getResolutionDependencies(e,t){return[]}async getCandidates(e,t,n){const r=e.range.slice(s.PROTOCOL.length),c=await a.get(a.getIdentUrl(e),{configuration:n.project.configuration,ident:e,json:!0});if(!Object.prototype.hasOwnProperty.call(c,"dist-tags"))throw new A.ReportError(A.MessageName.REMOTE_INVALID,'Registry returned invalid data - missing "dist-tags" field');const u=c["dist-tags"];if(!Object.prototype.hasOwnProperty.call(u,r))throw new A.ReportError(A.MessageName.REMOTE_NOT_FOUND,`Registry failed to return tag "${r}"`);const g=u[r],l=i.structUtils.makeLocator(e,`${s.PROTOCOL}${g}`),h=c.versions[g].dist.tarball;return o.NpmSemverFetcher.isConventionalTarballUrl(l,h,{configuration:n.project.configuration})?[l]:[i.structUtils.bindLocator(l,{__archiveUrl:h})]}async resolve(e,t){throw new Error("Unreachable")}}},function(e){e.exports=JSON.parse('{"name":"@yarnpkg/plugin-npm-cli","version":"2.0.0-rc.17","main":"./sources/index.ts","dependencies":{"@yarnpkg/fslib":"workspace:^2.0.0-rc.19","clipanion":"^2.1.5","inquirer":"^6.2.0","json5":"^2.1.1","semver":"^7.1.2","ssri":"^6.0.1","yup":"^0.27.0"},"peerDependencies":{"@yarnpkg/cli":"^2.0.0-rc.33","@yarnpkg/core":"^2.0.0-rc.27","@yarnpkg/plugin-npm":"^2.0.0-rc.19","@yarnpkg/plugin-pack":"^2.0.0-rc.19"},"devDependencies":{"@npm/types":"^1.0.1","@types/inquirer":"^0.0.43","@types/json5":"0.0.30","@types/semver":"^7.1.0","@types/ssri":"^6.0.1","@yarnpkg/cli":"workspace:^2.0.0-rc.33","@yarnpkg/core":"workspace:^2.0.0-rc.27","@yarnpkg/plugin-npm":"workspace:^2.0.0-rc.19","@yarnpkg/plugin-pack":"workspace:^2.0.0-rc.19"},"repository":{"type":"git","url":"ssh://git@github.com/yarnpkg/berry.git"},"scripts":{"postpack":"rm -rf lib","prepack":"run build:compile \\"$(pwd)\\""},"publishConfig":{"main":"./lib/index.js","typings":"./lib/index.d.ts"},"files":["/lib/**/*"]}')},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const A=n(0),i=r(n(1202)),o=r(n(1203)),s=r(n(1204)),a=r(n(1222)),c={configuration:{npmPublishAccess:{description:"Default access of the published packages",type:A.SettingsType.STRING,default:null}},commands:[i.default,o.default,s.default,a.default]};t.default=c},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o},A=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(7),o=n(0),s=n(0),a=n(112),c=n(2),u=A(n(4)),g=A(n(15)),l=n(6);class h extends i.BaseCommand{constructor(){super(...arguments),this.json=!1}async execute(){const e=await o.Configuration.find(this.context.cwd,this.context.plugins),{project:t}=await o.Project.find(e,this.context.cwd),n=void 0!==this.fields?new Set(["name",...this.fields.split(/\s*,\s*/)]):null,r=[];let A=!1;const i=await s.StreamReport.start({configuration:e,includeFooter:!1,json:this.json,stdout:this.context.stdout},async i=>{for(const l of this.packages){let h;if("."===l){const e=t.topLevelWorkspace;if(!e.manifest.name)throw new c.UsageError(`Missing 'name' field in ${u.default.join(e.cwd,"package.json")}`);h=o.structUtils.makeDescriptor(e.manifest.name,"unknown")}else h=o.structUtils.parseDescriptor(l);const f=a.npmHttpUtils.getIdentUrl(h);let C;try{C=p(await a.npmHttpUtils.get(f,{configuration:e,ident:h,json:!0}))}catch(e){throw"HTTPError"!==e.name?e:404===e.response.statusCode?new o.ReportError(s.MessageName.EXCEPTION,"Package not found"):new o.ReportError(s.MessageName.EXCEPTION,e.toString())}const d=Object.keys(C.versions).sort(g.default.compareLoose);let I=C["dist-tags"].latest||d[d.length-1];if(g.default.validRange(h.range)){const t=g.default.maxSatisfying(d,h.range);null!==t?I=t:(i.reportWarning(s.MessageName.UNNAMED,`Unmet range ${o.structUtils.prettyRange(e,h.range)}; falling back to the latest version`),A=!0)}else"unknown"!==h.range&&(i.reportWarning(s.MessageName.UNNAMED,`Invalid range ${o.structUtils.prettyRange(e,h.range)}; falling back to the latest version`),A=!0);const E=C.versions[I],B=Object.assign(Object.assign(Object.assign({},C),E),{version:I,versions:d});let y;if(null!==n){y={};for(const t of n){const n=B[t];void 0!==n?y[t]=n:(i.reportWarning(s.MessageName.EXCEPTION,`The '${t}' field doesn't exist inside ${o.structUtils.prettyIdent(e,h)}'s informations`),A=!0)}}else this.json||(delete B.dist,delete B.readme,delete B.users),y=B;i.reportJson(y),this.json||r.push(y)}});l.inspect.styles.name="cyan";for(const e of r)(e!==r[0]||A)&&this.context.stdout.write("\n"),this.context.stdout.write(`${l.inspect(e,{depth:1/0,colors:!0,compact:!1})}\n`);return i.exitCode()}}function p(e){if(Array.isArray(e)){const t=[];for(let n of e)(n=p(n))&&t.push(n);return t}if("object"==typeof e&&null!==e){const t={};for(const n of Object.keys(e)){if(n.startsWith("_"))continue;const r=p(e[n]);r&&(t[n]=r)}return t}return e||null}h.usage=c.Command.Usage({description:"show information about a package",details:"\n This command will fetch information about a package from the npm registry, and prints it in a tree format.\n\n The package does not have to be installed locally, but needs to have been published (in particular, local changes will be ignored even for workspaces).\n\n Append `@` to the package argument to provide information specific to the latest version that satisfies the range. If the range is invalid or if there is no version satisfying the range, the command will print a warning and fall back to the latest version.\n\n If the `-f,--fields` option is set, it's a comma-separated list of fields which will be used to only display part of the package informations.\n\n By default, this command won't return the `dist`, `readme`, and `users` fields, since they are often very long. To explicitly request those fields, explicitly list them with the `--fields` flag or request the output in JSON mode.\n\n If the `--json` flag is set the output will follow a JSON-stream output also known as NDJSON (https://github.com/ndjson/ndjson-spec).\n ",examples:[["Show all available information about react (except the `dist`, `readme`, and `users` fields)","yarn npm info react"],["Show all available information about react as valid JSON (including the `dist`, `readme`, and `users` fields)","yarn npm info react --json"],["Show all available information about react 16.12.0","yarn npm info react@16.12.0"],["Show the description of react","yarn npm info react --fields description"],["Show all available versions of react","yarn npm info react --fields versions"],["Show the readme of react","yarn npm info react --fields readme"],["Show a few fields of react","yarn npm info react --fields homepage,repository"]]}),r([c.Command.Rest()],h.prototype,"packages",void 0),r([c.Command.String("-f,--fields")],h.prototype,"fields",void 0),r([c.Command.Boolean("--json")],h.prototype,"json",void 0),r([c.Command.Path("npm","info")],h.prototype,"execute",null),t.default=h},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o},A=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(7),o=n(0),s=n(0),a=n(112),c=n(2),u=A(n(147));class g extends i.BaseCommand{constructor(){super(...arguments),this.publish=!1}async execute(){const e=await o.Configuration.find(this.context.cwd,this.context.plugins),t=u.default.createPromptModule({input:this.context.stdin,output:this.context.stdout});let n;return n=this.scope&&this.publish?a.npmConfigUtils.getScopeRegistry(this.scope,{configuration:e,type:a.npmConfigUtils.RegistryType.PUBLISH_REGISTRY}):this.scope?a.npmConfigUtils.getScopeRegistry(this.scope,{configuration:e}):this.publish?a.npmConfigUtils.getPublishRegistry((await i.openWorkspace(e,this.context.cwd)).manifest,{configuration:e}):a.npmConfigUtils.getDefaultRegistry({configuration:e}),(await s.StreamReport.start({configuration:e,stdout:this.context.stdout},async r=>{const A=await async function(e,{registry:t,report:n}){if(process.env.TEST_ENV)return{name:process.env.TEST_NPM_USER||"",password:process.env.TEST_NPM_PASSWORD||""};n.reportInfo(o.MessageName.UNNAMED,`Logging in to ${t}`);let r=!1;t.match(/^https:\/\/npm\.pkg\.github\.com(\/|$)/)&&(n.reportInfo(o.MessageName.UNNAMED,"You seem to be using the GitHub Package Registry. Tokens must be generated with the 'repo', 'write:packages', and 'read:packages' permissions."),r=!0);n.reportSeparator();const{username:A,password:i}=await e([{type:"input",name:"username",message:"Username:",validate:e=>l(e,"Username")},{type:"password",name:"password",message:r?"Token:":"Password:",validate:e=>l(e,"Password")}]);return n.reportSeparator(),{name:A,password:i}}(t,{registry:n,report:r}),i=`/-/user/org.couchdb.user:${encodeURIComponent(A.name)}`,s=await a.npmHttpUtils.put(i,A,{attemptedAs:A.name,configuration:e,registry:n,json:!0,authType:a.npmHttpUtils.AuthType.NO_AUTH});return await async function(e,t,{configuration:n}){return await o.Configuration.updateHomeConfiguration({npmRegistries:(n={})=>Object.assign(Object.assign({},n),{[e]:Object.assign(Object.assign({},n[e]),{npmAuthToken:t})})})}(n,s.token,{configuration:e}),r.reportInfo(o.MessageName.UNNAMED,"Successfully logged in")})).exitCode()}}function l(e,t){return e.length>0||`${t} is required`}g.usage=c.Command.Usage({category:"Npm-related commands",description:"store new login info to access the npm registry",details:"\n This command will ask you for your username, password, and 2FA One-Time-Password (when it applies). It will then modify your local configuration (in your home folder, never in the project itself) to reference the new tokens thus generated.\n\n Adding the `-s,--scope` flag will cause the authentication to be done against whatever registry is configured for the associated scope (see also `npmScopes`).\n\n Adding the `--publish` flag will cause the authentication to be done against the registry used when publishing the package (see also `publishConfig.registry` and `npmPublishRegistry`).\n ",examples:[["Login to the default registry","yarn npm login"],["Login to the registry linked to the @my-scope registry","yarn npm login --scope my-scope"],["Login to the publish registry for the current package","yarn npm login --publish"]]}),r([c.Command.String("-s,--scope")],g.prototype,"scope",void 0),r([c.Command.Boolean("--publish")],g.prototype,"publish",void 0),r([c.Command.Path("npm","login")],g.prototype,"execute",null),t.default=g},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o},A=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const i=n(7),o=n(0),s=n(0),a=n(112),c=n(437),u=n(2),g=n(54),l=A(n(1220));class h extends i.BaseCommand{constructor(){super(...arguments),this.tag="latest",this.tolerateRepublish=!1}async execute(){const e=await o.Configuration.find(this.context.cwd,this.context.plugins),{project:t,workspace:n}=await o.Project.find(e,this.context.cwd);if(!n)throw new i.WorkspaceRequiredError(t.cwd,this.context.cwd);if(n.manifest.private)throw new u.UsageError("Private workspaces cannot be published");if(null===n.manifest.name||null===n.manifest.version)throw new u.UsageError("Workspaces must have valid names and versions to be published on an external registry");await t.restoreInstallState();const r=n.manifest.name,A=n.manifest.version,h=a.npmConfigUtils.getPublishRegistry(n.manifest,{configuration:e});return(await o.StreamReport.start({configuration:e,stdout:this.context.stdout},async t=>{if(this.tolerateRepublish)try{const n=await a.npmHttpUtils.get(a.npmHttpUtils.getIdentUrl(r),{configuration:e,registry:h,ident:r,json:!0});if(!Object.prototype.hasOwnProperty.call(n,"versions"))throw new o.ReportError(o.MessageName.REMOTE_INVALID,'Registry returned invalid data for - missing "versions" field');if(Object.prototype.hasOwnProperty.call(n.versions,A))return void t.reportWarning(o.MessageName.UNNAMED,`Registry already knows about version ${A}; skipping.`)}catch(e){if("HTTPError"!==e.name)throw e;if(404!==e.response.statusCode)throw new o.ReportError(o.MessageName.NETWORK_ERROR,`The remote server answered with HTTP ${e.response.statusCode} ${e.response.statusMessage}`)}await c.packUtils.prepareForPack(n,{report:t},async()=>{const A=await c.packUtils.genPackList(n);for(const e of A)t.reportInfo(null,e);const i=await c.packUtils.genPackStream(n,A),u=await s.miscUtils.bufferStream(i),p=await async function(e,t,{access:n,tag:r,registry:A}){const i=e.project.configuration,o=e.manifest.name,a=e.manifest.version,u=s.structUtils.stringifyIdent(o),h=g.createHash("sha1").update(t).digest("hex"),p=l.default.fromData(t).toString();void 0===n&&(n=e.manifest.publishConfig&&"string"==typeof e.manifest.publishConfig.access?e.manifest.publishConfig.access:null!==i.get("npmPublishAccess")?i.get("npmPublishAccess"):o.scope?"restricted":"public");const f=await c.packUtils.genPackageManifest(e),C=`${u}-${a}.tgz`,d=new URL(`${u}/-/${C}`,A);return{_id:u,_attachments:{[C]:{content_type:"application/octet-stream",data:t.toString("base64"),length:t.length}},name:u,access:n,"dist-tags":{[r]:a},versions:{[a]:Object.assign(Object.assign({},f),{_id:`${u}@${a}`,name:u,version:a,dist:{shasum:h,integrity:p,tarball:d.toString()}})}}}(n,u,{access:this.access,tag:this.tag,registry:h});try{await a.npmHttpUtils.put(a.npmHttpUtils.getIdentUrl(r),p,{configuration:e,registry:h,ident:r,json:!0})}catch(e){if("HTTPError"!==e.name)throw e;{const n=e.response.body&&e.response.body.error?e.response.body.error:`The remote server answered with HTTP ${e.response.statusCode} ${e.response.statusMessage}`;t.reportError(o.MessageName.NETWORK_ERROR,n)}}}),t.hasErrors()||t.reportInfo(o.MessageName.UNNAMED,"Package archive published")})).exitCode()}}h.usage=u.Command.Usage({category:"Npm-related commands",description:"publish the active workspace to the npm registry",details:'\n This command will pack the active workspace into a fresh archive and upload it to the npm registry.\n\n The package will by default be attached to the `latest` tag on the registry, but this behavior can be overriden by using the `--tag` option.\n\n Note that for legacy reasons scoped packages are by default published with an access set to `restricted` (aka "private packages"). This requires you to register for a paid npm plan. In case you simply wish to publish a public scoped package to the registry (for free), just add the `--access public` flag. This behavior can be enabled by default through the `npmPublishAccess` settings.\n ',examples:[["Publish the active workspace","yarn npm publish"]]}),r([u.Command.String("--access")],h.prototype,"access",void 0),r([u.Command.String("--tag")],h.prototype,"tag",void 0),r([u.Command.Boolean("--tolerate-republish")],h.prototype,"tolerateRepublish",void 0),r([u.Command.Path("npm","publish")],h.prototype,"execute",null),t.default=h},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o},A=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const i=n(7),o=n(0),s=n(1),a=n(2),c=A(n(438));class u extends i.BaseCommand{constructor(){super(...arguments),this.installIfNeeded=!1,this.dryRun=!1,this.json=!1}async execute(){const e=await o.Configuration.find(this.context.cwd,this.context.plugins),{project:t,workspace:n}=await o.Project.find(e,this.context.cwd);if(!n)throw new i.WorkspaceRequiredError(t.cwd,this.context.cwd);await c.hasPackScripts(n)&&(this.installIfNeeded?await t.install({cache:await o.Cache.find(e),report:new o.ThrowReport}):await t.restoreInstallState());const r=void 0!==this.out?s.ppath.resolve(this.context.cwd,function(e,{workspace:t}){const n=e.replace("%s",function(e){return null!==e.manifest.name?o.structUtils.slugifyIdent(e.manifest.name):"package"}(t)).replace("%v",function(e){return null!==e.manifest.version?e.manifest.version:"unknown"}(t));return s.npath.toPortablePath(n)}(this.out,{workspace:n})):s.ppath.resolve(n.cwd,"package.tgz");return(await o.StreamReport.start({configuration:e,stdout:this.context.stdout,json:this.json},async t=>{await c.prepareForPack(n,{report:t},async()=>{t.reportJson({base:n.cwd});const e=await c.genPackList(n);for(const n of e)t.reportInfo(null,n),t.reportJson({location:n});if(!this.dryRun){const t=await c.genPackStream(n,e),A=s.xfs.createWriteStream(r);t.pipe(A),await new Promise(e=>{A.on("finish",e)})}}),this.dryRun||(t.reportInfo(o.MessageName.UNNAMED,`Package archive generated in ${e.format(r,"magenta")}`),t.reportJson({output:r}))})).exitCode()}}u.usage=a.Command.Usage({description:"generate a tarball from the active workspace",details:"\n This command will turn the active workspace into a compressed archive suitable for publishing. The archive will by default be stored at the root of the workspace (`package.tgz`).\n\n If the `--install-if-needed` flag is set Yarn will run a preliminary `yarn install` if the package contains build scripts.\n\n If the `-n,--dry-run` flag is set the command will just print the file paths without actually generating the package archive.\n\n If the `--json` flag is set the output will follow a JSON-stream output also known as NDJSON (https://github.com/ndjson/ndjson-spec).\n\n If the `-o,---out` is set the archive will be created at the specified path. The `%s` and `%v` variables can be used within the path and will be respectively replaced by the package name and version.\n ",examples:[["Create an archive from the active workspace","yarn pack"],["List the files that would be made part of the workspace's archive","yarn pack --dry-run"],["Name and output the archive in a dedicated folder","yarn pack --out /artifacts/%s-%v.tgz"]]}),r([a.Command.Boolean("--install-if-needed")],u.prototype,"installIfNeeded",void 0),r([a.Command.Boolean("-n,--dry-run")],u.prototype,"dryRun",void 0),r([a.Command.Boolean("--json")],u.prototype,"json",void 0),r([a.Command.String("--filename",{hidden:!1}),a.Command.String("-o,--out")],u.prototype,"out",void 0),r([a.Command.Path("pack")],u.prototype,"execute",null),t.default=u},function(e,t,n){t.extract=n(1207),t.pack=n(1215)},function(e,t,n){var r=n(6),A=n(1208),i=n(446),o=n(115).Writable,s=n(115).PassThrough,a=function(){},c=function(e){return(e&=511)&&512-e},u=function(e,t){this._parent=e,this.offset=t,s.call(this)};r.inherits(u,s),u.prototype.destroy=function(e){this._parent.destroy(e)};var g=function(e){if(!(this instanceof g))return new g(e);o.call(this,e),e=e||{},this._offset=0,this._buffer=A(),this._missing=0,this._partial=!1,this._onparse=a,this._header=null,this._stream=null,this._overflow=null,this._cb=null,this._locked=!1,this._destroyed=!1,this._pax=null,this._paxGlobal=null,this._gnuLongPath=null,this._gnuLongLinkPath=null;var t=this,n=t._buffer,r=function(){t._continue()},s=function(e){if(t._locked=!1,e)return t.destroy(e);t._stream||r()},l=function(){t._stream=null;var e=c(t._header.size);e?t._parse(e,h):t._parse(512,I),t._locked||r()},h=function(){t._buffer.consume(c(t._header.size)),t._parse(512,I),r()},p=function(){var e=t._header.size;t._paxGlobal=i.decodePax(n.slice(0,e)),n.consume(e),l()},f=function(){var e=t._header.size;t._pax=i.decodePax(n.slice(0,e)),t._paxGlobal&&(t._pax=Object.assign({},t._paxGlobal,t._pax)),n.consume(e),l()},C=function(){var r=t._header.size;this._gnuLongPath=i.decodeLongPath(n.slice(0,r),e.filenameEncoding),n.consume(r),l()},d=function(){var r=t._header.size;this._gnuLongLinkPath=i.decodeLongPath(n.slice(0,r),e.filenameEncoding),n.consume(r),l()},I=function(){var A,o=t._offset;try{A=t._header=i.decode(n.slice(0,512),e.filenameEncoding)}catch(e){t.emit("error",e)}return n.consume(512),A?"gnu-long-path"===A.type?(t._parse(A.size,C),void r()):"gnu-long-link-path"===A.type?(t._parse(A.size,d),void r()):"pax-global-header"===A.type?(t._parse(A.size,p),void r()):"pax-header"===A.type?(t._parse(A.size,f),void r()):(t._gnuLongPath&&(A.name=t._gnuLongPath,t._gnuLongPath=null),t._gnuLongLinkPath&&(A.linkname=t._gnuLongLinkPath,t._gnuLongLinkPath=null),t._pax&&(t._header=A=function(e,t){return t.path&&(e.name=t.path),t.linkpath&&(e.linkname=t.linkpath),t.size&&(e.size=parseInt(t.size,10)),e.pax=t,e}(A,t._pax),t._pax=null),t._locked=!0,A.size&&"directory"!==A.type?(t._stream=new u(t,o),t.emit("entry",A,t._stream,s),t._parse(A.size,l),void r()):(t._parse(512,I),void t.emit("entry",A,function(e,t){var n=new u(e,t);return n.end(),n}(t,o),s))):(t._parse(512,I),void r())};this._onheader=I,this._parse(512,I)};r.inherits(g,o),g.prototype.destroy=function(e){this._destroyed||(this._destroyed=!0,e&&this.emit("error",e),this.emit("close"),this._stream&&this._stream.emit("close"))},g.prototype._parse=function(e,t){this._destroyed||(this._offset+=e,this._missing=e,t===this._onheader&&(this._partial=!1),this._onparse=t)},g.prototype._continue=function(){if(!this._destroyed){var e=this._cb;this._cb=a,this._overflow?this._write(this._overflow,void 0,e):e()}},g.prototype._write=function(e,t,n){if(!this._destroyed){var r=this._stream,A=this._buffer,i=this._missing;if(e.length&&(this._partial=!0),e.lengthi&&(o=e.slice(i),e=e.slice(0,i)),r?r.end(e):A.append(e),this._overflow=o,this._onparse()}},g.prototype._final=function(e){if(this._partial)return this.destroy(new Error("Unexpected end of data"));e()},e.exports=g},function(e,t,n){"use strict";var r=n(115).Duplex;function A(e){if(!(this instanceof A))return new A(e);if(this._bufs=[],this.length=0,"function"==typeof e){this._callback=e;var t=function(e){this._callback&&(this._callback(e),this._callback=null)}.bind(this);this.on("pipe",(function(e){e.on("error",t)})),this.on("unpipe",(function(e){e.removeListener("error",t)}))}else this.append(e);r.call(this)}n(6).inherits(A,r),A.prototype._offset=function(e){var t,n=0,r=0;if(0===e)return[0,0];for(;rthis.length||e<0)){var t=this._offset(e);return this._bufs[t[0]][t[1]]}},A.prototype.slice=function(e,t){return"number"==typeof e&&e<0&&(e+=this.length),"number"==typeof t&&t<0&&(t+=this.length),this.copy(null,0,e,t)},A.prototype.copy=function(e,t,n,r){if(("number"!=typeof n||n<0)&&(n=0),("number"!=typeof r||r>this.length)&&(r=this.length),n>=this.length)return e||Buffer.alloc(0);if(r<=0)return e||Buffer.alloc(0);var A,i,o=!!e,s=this._offset(n),a=r-n,c=a,u=o&&t||0,g=s[1];if(0===n&&r==this.length){if(!o)return 1===this._bufs.length?this._bufs[0]:Buffer.concat(this._bufs,this.length);for(i=0;i(A=this._bufs[i].length-g))){this._bufs[i].copy(e,u,g,g+c);break}this._bufs[i].copy(e,u,g),u+=A,c-=A,g&&(g=0)}return e},A.prototype.shallowSlice=function(e,t){if(e=e||0,t="number"!=typeof t?this.length:t,e<0&&(e+=this.length),t<0&&(t+=this.length),e===t)return new A;var n=this._offset(e),r=this._offset(t),i=this._bufs.slice(n[0],r[0]+1);return 0==r[1]?i.pop():i[i.length-1]=i[i.length-1].slice(0,r[1]),0!=n[1]&&(i[0]=i[0].slice(n[1])),new A(i)},A.prototype.toString=function(e,t,n){return this.slice(t,n).toString(e)},A.prototype.consume=function(e){for(;this._bufs.length;){if(!(e>=this._bufs[0].length)){this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift()}return this},A.prototype.duplicate=function(){for(var e=0,t=new A;ethis.length?this.length:t;for(var r=this._offset(t),i=r[0],o=r[1];i=e.length){var a=s.indexOf(e,o);if(-1!==a)return this._reverseOffset([i,a]);o=s.length-e.length+1}else{var c=this._reverseOffset([i,o]);if(this._match(c,e))return c;o++}}o=0}return-1},A.prototype._match=function(e,t){if(this.length-e0?this.tail.next=t:this.head=t,this.tail=t,++this.length},t.unshift=function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length},t.shift=function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}},t.clear=function(){this.head=this.tail=null,this.length=0},t.join=function(e){if(0===this.length)return"";for(var t=this.head,n=""+t.data;t=t.next;)n+=e+t.data;return n},t.concat=function(e){if(0===this.length)return A.alloc(0);for(var t,n,r,i=A.allocUnsafe(e>>>0),o=this.head,s=0;o;)t=o.data,n=i,r=s,A.prototype.copy.call(t,n,r),s+=o.data.length,o=o.next;return i},t.consume=function(e,t){var n;return eA.length?A.length:e;if(i===A.length?r+=A:r+=A.slice(0,e),0===(e-=i)){i===A.length?(++n,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=A.slice(i));break}++n}return this.length-=n,r},t._getBuffer=function(e){var t=A.allocUnsafe(e),n=this.head,r=1;for(n.data.copy(t),e-=n.data.length;n=n.next;){var i=n.data,o=e>i.length?i.length:e;if(i.copy(t,t.length-e,0,o),0===(e-=o)){o===i.length?(++r,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=i.slice(o));break}++r}return this.length-=r,t},t[o]=function(e,t){return i(this,function(e){for(var t=1;t0,(function(e){u||(u=e),e&&l.forEach(a),i||(l.forEach(a),g(u))}))}));return t.reduce(c)}},function(e,t,n){var r=n(1216),A=n(1218),i=n(61),o=Buffer.alloc,s=n(115).Readable,a=n(115).Writable,c=n(132).StringDecoder,u=n(446),g=parseInt("755",8),l=parseInt("644",8),h=o(1024),p=function(){},f=function(e,t){(t&=511)&&e.push(h.slice(0,512-t))};var C=function(e){a.call(this),this.written=0,this._to=e,this._destroyed=!1};i(C,a),C.prototype._write=function(e,t,n){if(this.written+=e.length,this._to.push(e))return n();this._to._drain=n},C.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var d=function(){a.call(this),this.linkname="",this._decoder=new c("utf-8"),this._destroyed=!1};i(d,a),d.prototype._write=function(e,t,n){this.linkname+=this._decoder.write(e),n()},d.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var I=function(){a.call(this),this._destroyed=!1};i(I,a),I.prototype._write=function(e,t,n){n(new Error("No body allowed for this entry"))},I.prototype.destroy=function(){this._destroyed||(this._destroyed=!0,this.emit("close"))};var E=function(e){if(!(this instanceof E))return new E(e);s.call(this,e),this._drain=p,this._finalized=!1,this._finalizing=!1,this._destroyed=!1,this._stream=null};i(E,s),E.prototype.entry=function(e,t,n){if(this._stream)throw new Error("already piping an entry");if(!this._finalized&&!this._destroyed){"function"==typeof t&&(n=t,t=null),n||(n=p);var i=this;if(e.size&&"symlink"!==e.type||(e.size=0),e.type||(e.type=function(e){switch(e&r.S_IFMT){case r.S_IFBLK:return"block-device";case r.S_IFCHR:return"character-device";case r.S_IFDIR:return"directory";case r.S_IFIFO:return"fifo";case r.S_IFLNK:return"symlink"}return"file"}(e.mode)),e.mode||(e.mode="directory"===e.type?g:l),e.uid||(e.uid=0),e.gid||(e.gid=0),e.mtime||(e.mtime=new Date),"string"==typeof t&&(t=Buffer.from(t)),Buffer.isBuffer(t))return e.size=t.length,this._encode(e),this.push(t),f(i,e.size),process.nextTick(n),new I;if("symlink"===e.type&&!e.linkname){var o=new d;return A(o,(function(t){if(t)return i.destroy(),n(t);e.linkname=o.linkname,i._encode(e),n()})),o}if(this._encode(e),"file"!==e.type&&"contiguous-file"!==e.type)return process.nextTick(n),new I;var s=new C(this);return this._stream=s,A(s,(function(t){return i._stream=null,t?(i.destroy(),n(t)):s.written!==e.size?(i.destroy(),n(new Error("size mismatch"))):(f(i,e.size),i._finalizing&&i.finalize(),void n())})),s}},E.prototype.finalize=function(){this._stream?this._finalizing=!0:this._finalized||(this._finalized=!0,this.push(h),this.push(null))},E.prototype.destroy=function(e){this._destroyed||(this._destroyed=!0,e&&this.emit("error",e),this.emit("close"),this._stream&&this._stream.destroy&&this._stream.destroy())},E.prototype._encode=function(e){if(!e.pax){var t=u.encode(e);if(t)return void this.push(t)}this._encodePax(e)},E.prototype._encodePax=function(e){var t=u.encodePax({name:e.name,linkname:e.linkname,pax:e.pax}),n={name:"PaxHeader",mode:e.mode,uid:e.uid,gid:e.gid,size:t.length,mtime:e.mtime,type:"pax-header",linkname:e.linkname&&"PaxHeader",uname:e.uname,gname:e.gname,devmajor:e.devmajor,devminor:e.devminor};this.push(u.encode(n)),this.push(t),f(this,t.length),n.size=e.size,n.type=e.type,this.push(u.encode(n))},E.prototype._read=function(e){var t=this._drain;this._drain=p,t()},e.exports=E},function(e,t,n){e.exports=n(3).constants||n(1217)},function(e,t){e.exports=require("constants")},function(e,t,n){var r=n(1219),A=function(){},i=function(e,t,n){if("function"==typeof t)return i(e,null,t);t||(t={}),n=r(n||A);var o=e._writableState,s=e._readableState,a=t.readable||!1!==t.readable&&e.readable,c=t.writable||!1!==t.writable&&e.writable,u=function(){e.writable||g()},g=function(){c=!1,a||n.call(e)},l=function(){a=!1,c||n.call(e)},h=function(t){n.call(e,t?new Error("exited with error code: "+t):null)},p=function(t){n.call(e,t)},f=function(){return(!a||s&&s.ended)&&(!c||o&&o.ended)?void 0:n.call(e,new Error("premature close"))},C=function(){e.req.on("finish",g)};return!function(e){return e.setHeader&&"function"==typeof e.abort}(e)?c&&!o&&(e.on("end",u),e.on("close",u)):(e.on("complete",g),e.on("abort",f),e.req?C():e.on("request",C)),function(e){return e.stdio&&Array.isArray(e.stdio)&&3===e.stdio.length}(e)&&e.on("exit",h),e.on("end",l),e.on("finish",g),!1!==t.error&&e.on("error",p),e.on("close",f),function(){e.removeListener("complete",g),e.removeListener("abort",f),e.removeListener("request",C),e.req&&e.req.removeListener("finish",g),e.removeListener("end",u),e.removeListener("close",u),e.removeListener("finish",g),e.removeListener("exit",h),e.removeListener("end",l),e.removeListener("error",p),e.removeListener("close",f)}};e.exports=i},function(e,t,n){var r=n(176);function A(e){var t=function(){return t.called?t.value:(t.called=!0,t.value=e.apply(this,arguments))};return t.called=!1,t}function i(e){var t=function(){if(t.called)throw new Error(t.onceError);return t.called=!0,t.value=e.apply(this,arguments)},n=e.name||"Function wrapped with `once`";return t.onceError=n+" shouldn't be called more than once",t.called=!1,t}e.exports=r(A),e.exports.strict=r(i),A.proto=A((function(){Object.defineProperty(Function.prototype,"once",{value:function(){return A(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return i(this)},configurable:!0})}))},function(e,t,n){"use strict";const r=n(54),A=n(1221),i=n(8).Transform,o=["sha256","sha384","sha512"],s=/^[a-z0-9+/]+(?:=?=?)$/i,a=/^([^-]+)-([^?]+)([?\S*]*)$/,c=/^([^-]+)-([A-Za-z0-9+/=]{44,88})(\?[\x21-\x7E]*)*$/,u=/^[\x21-\x7E]+$/,g=A({algorithms:{default:["sha512"]},error:{default:!1},integrity:{},options:{default:[]},pickAlgorithm:{default:()=>B},Promise:{default:()=>Promise},sep:{default:" "},single:{default:!1},size:{},strict:{default:!1}});class l{get isHash(){return!0}constructor(e,t){const n=!!(t=g(t)).strict;this.source=e.trim();const r=this.source.match(n?c:a);if(!r)return;if(n&&!o.some(e=>e===r[1]))return;this.algorithm=r[1],this.digest=r[2];const A=r[3];this.options=A?A.slice(1).split("?"):[]}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}toString(e){if((e=g(e)).strict&&!(o.some(e=>e===this.algorithm)&&this.digest.match(s)&&(this.options||[]).every(e=>e.match(u))))return"";const t=this.options&&this.options.length?`?${this.options.join("?")}`:"";return`${this.algorithm}-${this.digest}${t}`}}class h{get isIntegrity(){return!0}toJSON(){return this.toString()}toString(e){let t=(e=g(e)).sep||" ";return e.strict&&(t=t.replace(/\S+/g," ")),Object.keys(this).map(n=>this[n].map(t=>l.prototype.toString.call(t,e)).filter(e=>e.length).join(t)).filter(e=>e.length).join(t)}concat(e,t){t=g(t);const n="string"==typeof e?e:C(e,t);return p(`${this.toString(t)} ${n}`,t)}hexDigest(){return p(this,{single:!0}).hexDigest()}match(e,t){const n=p(e,t=g(t)),r=n.pickAlgorithm(t);return this[r]&&n[r]&&this[r].find(e=>n[r].find(t=>e.digest===t.digest))||!1}pickAlgorithm(e){const t=(e=g(e)).pickAlgorithm,n=Object.keys(this);if(!n.length)throw new Error(`No algorithms available for ${JSON.stringify(this.toString())}`);return n.reduce((e,n)=>t(e,n)||e)}}function p(e,t){if(t=g(t),"string"==typeof e)return f(e,t);if(e.algorithm&&e.digest){const n=new h;return n[e.algorithm]=[e],f(C(n,t),t)}return f(C(e,t),t)}function f(e,t){return t.single?new l(e,t):e.trim().split(/\s+/).reduce((e,n)=>{const r=new l(n,t);if(r.algorithm&&r.digest){const t=r.algorithm;e[t]||(e[t]=[]),e[t].push(r)}return e},new h)}function C(e,t){return t=g(t),e.algorithm&&e.digest?l.prototype.toString.call(e,t):"string"==typeof e?C(p(e,t),t):h.prototype.toString.call(e,t)}function d(e){const t=(e=g(e)).integrity&&p(e.integrity,e),n=t&&Object.keys(t).length,A=n&&t.pickAlgorithm(e),o=n&&t[A],s=Array.from(new Set(e.algorithms.concat(A?[A]:[]))),a=s.map(r.createHash);let c=0;const u=new i({transform(e,t,n){c+=e.length,a.forEach(n=>n.update(e,t)),n(null,e,t)}}).on("end",()=>{const r=e.options&&e.options.length?`?${e.options.join("?")}`:"",i=p(a.map((e,t)=>`${s[t]}-${e.digest("base64")}${r}`).join(" "),e),g=n&&i.match(t,e);if("number"==typeof e.size&&c!==e.size){const n=new Error(`stream size mismatch when checking ${t}.\n Wanted: ${e.size}\n Found: ${c}`);n.code="EBADSIZE",n.found=c,n.expected=e.size,n.sri=t,u.emit("error",n)}else if(e.integrity&&!g){const e=new Error(`${t} integrity checksum failed when using ${A}: wanted ${o} but got ${i}. (${c} bytes)`);e.code="EINTEGRITY",e.found=i,e.expected=o,e.algorithm=A,e.sri=t,u.emit("error",e)}else u.emit("size",c),u.emit("integrity",i),g&&u.emit("verified",g)});return u}e.exports.parse=p,e.exports.stringify=C,e.exports.fromHex=function(e,t,n){const r=(n=g(n)).options&&n.options.length?`?${n.options.join("?")}`:"";return p(`${t}-${Buffer.from(e,"hex").toString("base64")}${r}`,n)},e.exports.fromData=function(e,t){const n=(t=g(t)).algorithms,A=t.options&&t.options.length?`?${t.options.join("?")}`:"";return n.reduce((n,i)=>{const o=r.createHash(i).update(e).digest("base64"),s=new l(`${i}-${o}${A}`,t);if(s.algorithm&&s.digest){const e=s.algorithm;n[e]||(n[e]=[]),n[e].push(s)}return n},new h)},e.exports.fromStream=function(e,t){const n=(t=g(t)).Promise||Promise,r=d(t);return new n((t,n)=>{let A;e.pipe(r),e.on("error",n),r.on("error",n),r.on("integrity",e=>{A=e}),r.on("end",()=>t(A)),r.on("data",()=>{})})},e.exports.checkData=function(e,t,n){if(n=g(n),t=p(t,n),!Object.keys(t).length){if(n.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}const A=t.pickAlgorithm(n),i=r.createHash(A).update(e).digest("base64"),o=p({algorithm:A,digest:i}),s=o.match(t,n);if(s||!n.error)return s;if("number"==typeof n.size&&e.length!==n.size){const r=new Error(`data size mismatch when checking ${t}.\n Wanted: ${n.size}\n Found: ${e.length}`);throw r.code="EBADSIZE",r.found=e.length,r.expected=n.size,r.sri=t,r}{const n=new Error(`Integrity checksum failed when using ${A}: Wanted ${t}, but got ${o}. (${e.length} bytes)`);throw n.code="EINTEGRITY",n.found=o,n.expected=t,n.algorithm=A,n.sri=t,n}},e.exports.checkStream=function(e,t,n){const r=(n=g(n)).Promise||Promise,A=d(n.concat({integrity:t}));return new r((t,n)=>{let r;e.pipe(A),e.on("error",n),A.on("error",n),A.on("verified",e=>{r=e}),A.on("end",()=>t(r)),A.on("data",()=>{})})},e.exports.integrityStream=d,e.exports.create=function(e){const t=(e=g(e)).algorithms,n=e.options.length?`?${e.options.join("?")}`:"",A=t.map(r.createHash);return{update:function(e,t){return A.forEach(n=>n.update(e,t)),this},digest:function(r){return t.reduce((t,r)=>{const i=A.shift().digest("base64"),o=new l(`${r}-${i}${n}`,e);if(o.algorithm&&o.digest){const e=o.algorithm;t[e]||(t[e]=[]),t[e].push(o)}return t},new h)}}};const I=new Set(r.getHashes()),E=["md5","whirlpool","sha1","sha224","sha256","sha384","sha512","sha3","sha3-256","sha3-384","sha3-512","sha3_256","sha3_384","sha3_512"].filter(e=>I.has(e));function B(e,t){return E.indexOf(e.toLowerCase())>=E.indexOf(t.toLowerCase())?e:t}},function(e,t,n){"use strict";class r{constructor(e,t,n){this.__specs=e||{},Object.keys(this.__specs).forEach(e=>{if("string"==typeof this.__specs[e]){const t=this.__specs[e],n=this.__specs[t];if(!n)throw new Error(`Alias refers to invalid key: ${t} -> ${e}`);{const r=n.aliases||[];r.push(e,t),n.aliases=[...new Set(r)],this.__specs[e]=n}}}),this.__opts=t||{},this.__providers=s(n.filter(e=>null!=e&&"object"==typeof e)),this.__isFiggyPudding=!0}get(e){return A(this,e,!0)}get[Symbol.toStringTag](){return"FiggyPudding"}forEach(e,t=this){for(let[n,r]of this.entries())e.call(t,r,n,this)}toJSON(){const e={};return this.forEach((t,n)=>{e[n]=t}),e}*entries(e){for(let e of Object.keys(this.__specs))yield[e,this.get(e)];const t=e||this.__opts.other;if(t){const e=new Set;for(let n of this.__providers){const r=n.entries?n.entries(t):a(n);for(let[n,A]of r)t(n)&&!e.has(n)&&(e.add(n),yield[n,A])}}}*[Symbol.iterator](){for(let[e,t]of this.entries())yield[e,t]}*keys(){for(let[e]of this.entries())yield e}*values(){for(let[,e]of this.entries())yield e}concat(...e){return new Proxy(new r(this.__specs,this.__opts,s(this.__providers).concat(e)),o)}}try{const e=n(6);r.prototype[e.inspect.custom]=function(t,n){return this[Symbol.toStringTag]+" "+e.inspect(this.toJSON(),n)}}catch(e){}function A(e,t,n){let r=e.__specs[t];if(!n||r||e.__opts.other&&e.__opts.other(t)){let n;r||(r={});for(let A of e.__providers){if(void 0===(n=i(t,A))&&r.aliases&&r.aliases.length)for(let e of r.aliases)if(e!==t&&void 0!==(n=i(e,A)))break;if(void 0!==n)break}return void 0===n&&void 0!==r.default?"function"==typeof r.default?r.default(e):r.default:n}!function(e){throw Object.assign(new Error(`invalid config key requested: ${e}`),{code:"EBADKEY"})}(t)}function i(e,t){let n;return n=t.__isFiggyPudding?A(t,e,!1):"function"==typeof t.get?t.get(e):t[e]}const o={has:(e,t)=>t in e.__specs&&void 0!==A(e,t,!1),ownKeys:e=>Object.keys(e.__specs),get:(e,t)=>"symbol"==typeof t||"__"===t.slice(0,2)||t in r.prototype?e[t]:e.get(t),set(e,t,n){if("symbol"==typeof t||"__"===t.slice(0,2))return e[t]=n,!0;throw new Error("figgyPudding options cannot be modified. Use .concat() instead.")},deleteProperty(){throw new Error("figgyPudding options cannot be deleted. Use .concat() and shadow them instead.")}};function s(e){const t=[];return e.forEach(e=>t.unshift(e)),t}function a(e){return Object.keys(e).map(t=>[t,e[t]])}e.exports=function(e,t){return function(...n){return new Proxy(new r(e,t,n),o)}}},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(7),i=n(0),o=n(0),s=n(112),a=n(2);class c extends A.BaseCommand{constructor(){super(...arguments),this.publish=!1}async execute(){const e=await i.Configuration.find(this.context.cwd,this.context.plugins);let t;return t=this.scope&&this.publish?s.npmConfigUtils.getScopeRegistry(this.scope,{configuration:e,type:s.npmConfigUtils.RegistryType.PUBLISH_REGISTRY}):this.scope?s.npmConfigUtils.getScopeRegistry(this.scope,{configuration:e}):this.publish?s.npmConfigUtils.getPublishRegistry((await A.openWorkspace(e,this.context.cwd)).manifest,{configuration:e}):s.npmConfigUtils.getDefaultRegistry({configuration:e}),(await o.StreamReport.start({configuration:e,stdout:this.context.stdout},async n=>{try{const r=await s.npmHttpUtils.get("/-/whoami",{configuration:e,registry:t,authType:s.npmHttpUtils.AuthType.ALWAYS_AUTH,json:!0});n.reportInfo(i.MessageName.UNNAMED,r.username)}catch(e){if("HTTPError"!==e.name)throw e;401===e.response.statusCode||403===e.response.statusCode?n.reportError(i.MessageName.AUTHENTICATION_INVALID,"Authentication failed - your credentials may have expired"):n.reportError(i.MessageName.AUTHENTICATION_INVALID,e.toString())}})).exitCode()}}c.usage=a.Command.Usage({category:"Npm-related commands",description:"display the name of the authenticated user",details:"\n Print the username associated with the current authentication settings to the standard output.\n\n When using `-s,--scope`, the username printed will be the one that matches the authentication settings of the registry associated with the given scope (those settings can be overriden using the `npmRegistries` map, and the registry associated with the scope is configured via the `npmScopes` map).\n\n When using `--publish`, the registry we'll select will by default be the one used when publishing packages (`publishConfig.registry` or `npmPublishRegistry` if available, otherwise we'll fallback to the regular `npmRegistryServer`).\n ",examples:[["Print username for the default registry","yarn npm whoami"],["Print username for the registry on a given scope","yarn npm whoami --scope company"]]}),r([a.Command.String("-s,--scope")],c.prototype,"scope",void 0),r([a.Command.Boolean("--publish")],c.prototype,"publish",void 0),r([a.Command.Path("npm","whoami")],c.prototype,"execute",null),t.default=c},function(e){e.exports=JSON.parse('{"name":"@yarnpkg/plugin-pack","version":"2.0.0-rc.19","main":"./sources/index.ts","dependencies":{"@yarnpkg/fslib":"workspace:^2.0.0-rc.19","clipanion":"^2.1.5","micromatch":"^4.0.2","tar-stream":"^2.0.1"},"peerDependencies":{"@yarnpkg/cli":"^2.0.0-rc.33","@yarnpkg/core":"^2.0.0-rc.27"},"devDependencies":{"@types/micromatch":"^3.1.0","@types/tar-stream":"1.6.0","@yarnpkg/cli":"workspace:^2.0.0-rc.33","@yarnpkg/core":"workspace:^2.0.0-rc.27","@yarnpkg/plugin-stage":"workspace:^2.0.0-rc.15"},"repository":{"type":"git","url":"ssh://git@github.com/yarnpkg/berry.git"},"scripts":{"postpack":"rm -rf lib","prepack":"run build:compile \\"$(pwd)\\""},"publishConfig":{"main":"./lib/index.js","typings":"./lib/index.d.ts"},"files":["/lib/**/*"]}')},function(e){e.exports=JSON.parse('{"name":"@yarnpkg/plugin-patch","version":"2.0.0-rc.8","main":"./sources/index.ts","dependencies":{"@yarnpkg/fslib":"workspace:^2.0.0-rc.19","@yarnpkg/libzip":"workspace:^2.0.0-rc.11","clipanion":"^2.1.5"},"peerDependencies":{"@yarnpkg/cli":"^2.0.0-rc.33","@yarnpkg/core":"^2.0.0-rc.27"},"devDependencies":{"@types/left-pad":"1.2.0","@yarnpkg/cli":"workspace:^2.0.0-rc.33","@yarnpkg/core":"workspace:^2.0.0-rc.27"},"repository":{"type":"git","url":"ssh://git@github.com/yarnpkg/berry.git"},"scripts":{"postpack":"rm -rf lib","prepack":"run build:compile \\"$(pwd)\\""},"publishConfig":{"main":"./lib/index.js","typings":"./lib/index.d.ts"},"files":["/lib/**/*"]}')},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},A=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const i=n(1226),o=n(1229),s=r(n(1230)),a=r(n(1236)),c=A(n(116));t.patchUtils=c;const u={commands:[s.default,a.default],fetchers:[i.PatchFetcher],resolvers:[o.PatchResolver]};t.default=u},function(e,t,n){"use strict";var r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const A=n(0),i=n(1),o=n(59),s=r(n(116));t.PatchFetcher=class{supports(e,t){return!!e.reference.startsWith("patch:")}getLocalPath(e,t){return null}async fetch(e,t){const n=t.checksums.get(e.locatorHash)||null,[r,i,o]=await t.cache.fetchPackageFromCache(e,n,{onHit:()=>t.report.reportCacheHit(e),onMiss:()=>t.report.reportCacheMiss(e,`${A.structUtils.prettyLocator(t.project.configuration,e)} can't be found in the cache and will be fetched from the disk`),loader:()=>this.patchPackage(e,t)});return{packageFs:r,releaseFs:i,prefixPath:A.structUtils.getIdentVendorPath(e),localPath:this.getLocalPath(e,t),checksum:o}}async patchPackage(e,t){const{parentLocator:n,sourceLocator:r,sourceVersion:a,patchPaths:c}=s.parseLocator(e),u=await s.loadPatchFiles(n,c,t),g=await i.xfs.mktempPromise(),l=i.ppath.join(g,"patched.zip"),h=await t.fetcher.fetch(r,t),p=A.structUtils.getIdentVendorPath(e),f=await o.getLibzipPromise(),C=new i.ZipFS(l,{libzip:f,create:!0,level:t.project.configuration.get("compressionLevel")});await C.mkdirpPromise(p),await A.miscUtils.releaseAfterUseAsync(async()=>{await C.copyPromise(p,h.prefixPath,{baseFs:h.packageFs})},h.releaseFs),C.saveAndClose();const d=new i.ZipFS(l,{libzip:f,level:t.project.configuration.get("compressionLevel")}),I=new i.CwdFS(p,{baseFs:d});for(const e of u)null!==e&&await s.applyPatchFile(s.parsePatchFile(e),{baseFs:I,version:a});return d}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(0),A=n(1),i=315532800;async function o(e,t,n){const r=await e.lstatPromise(t),A=await n();if(void 0!==A&&(t=A),e.lutimesPromise)await e.lutimesPromise(t,r.atime,r.mtime);else{if(r.isSymbolicLink())throw new Error("Cannot preserve the time values of a symlink");await e.utimesPromise(t,r.atime,r.mtime)}}function s(e){return(64&e)>0}function a(e){return e.replace(/\s+$/,"")}async function c({hunks:e,path:t},{baseFs:n,dryRun:A=!1}){const i=await n.statSync(t).mode,o=(await n.readFileSync(t,"utf8")).split(/\n/),s=[];let a=0,c=0;for(const t of e){const n=Math.max(c,t.header.patched.start+a),r=Math.max(0,n-c),A=Math.max(0,o.length-n-t.header.original.length),i=Math.max(r,A);let g=0,l=0,h=null;for(;g<=i&&!(g<=r&&null!==(h=u(t,o,l=n-g)))&&!(g<=A&&null!==(h=u(t,o,l=n+g)));)g+=1;if(null===h)throw new Error(`Cannot apply hunk #${e.indexOf(t)+1}`);s.push(h),a+=g,c=l+t.header.original.length}if(A)return;let g=0;for(const e of s)for(const t of e)switch(t.type){case"splice":{const e=t.index+g;o.splice(e,t.numToDelete,...t.linesToInsert),g+=t.linesToInsert.length-t.numToDelete}break;case"pop":o.pop();break;case"push":o.push(t.line);break;default:r.miscUtils.assertNever(t)}await n.writeFilePromise(t,o.join("\n"),{mode:i})}function u(e,t,n){const A=[];for(const o of e.parts)switch(o.type){case"deletion":case"context":for(const e of o.lines){const r=t[n];if(null==r||(i=e,a(r)!==a(i)))return null;n+=1}"deletion"===o.type&&(A.push({type:"splice",index:n-o.lines.length,numToDelete:o.lines.length,linesToInsert:[]}),o.noNewlineAtEndOfFile&&A.push({type:"push",line:""}));break;case"insertion":A.push({type:"splice",index:n,numToDelete:0,linesToInsert:o.lines}),o.noNewlineAtEndOfFile&&A.push({type:"pop"});break;default:r.miscUtils.assertNever(o.type)}var i;return A}t.applyPatchFile=async function(e,{baseFs:t=new A.NodeFS,dryRun:n=!1,version:a=null}={}){for(const u of e)if(null===u.semverExclusivity||null===a||r.semverUtils.satisfiesWithPrereleases(a,u.semverExclusivity))switch(u.type){case"file deletion":if(n){if(!t.existsSync(u.path))throw new Error(`Trying to delete file that doesn't exist: ${u.path}`)}else await o(t,A.ppath.dirname(u.path),async()=>{await t.unlinkPromise(u.path)});break;case"rename":if(n){if(!t.existsSync(u.fromPath))throw new Error(`Trying to move file that doesn't exist: ${u.fromPath}`)}else await o(t,A.ppath.dirname(u.fromPath),async()=>{await o(t,A.ppath.dirname(u.toPath),async()=>{await o(t,u.fromPath,async()=>(await t.movePromise(u.fromPath,u.toPath),u.toPath))})});break;case"file creation":if(n){if(t.existsSync(u.path))throw new Error(`Trying to create file that already exists: ${u.path}`)}else{const e=u.hunk?u.hunk.parts[0].lines.join("\n")+(u.hunk.parts[0].noNewlineAtEndOfFile?"":"\n"):"";await t.mkdirpPromise(A.ppath.dirname(u.path),{chmod:493,utimes:[i,i]}),await t.writeFilePromise(u.path,e,{mode:u.mode}),await t.utimesPromise(u.path,i,i)}break;case"patch":await o(t,u.path,async()=>{await c(u,{baseFs:t,dryRun:n})});break;case"mode change":{const e=(await t.statPromise(u.path)).mode;if(s(u.newMode)!==s(e))continue;await o(t,u.path,async()=>{await t.chmodPromise(u.path,u.newMode)})}break;default:r.miscUtils.assertNever(u)}},t.applyPatch=c},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(0),A=n(1),i=/^@@ -(\d+)(,(\d+))? \+(\d+)(,(\d+))? @@.*/;function o(e){const t=e.trim().match(i);if(!t)throw new Error(`Bad header line: '${e}'`);return{original:{start:Math.max(Number(t[1]),1),length:Number(t[3]||1)},patched:{start:Math.max(Number(t[4]),1),length:Number(t[6]||1)}}}t.parseHunkHeaderLine=o,t.NON_EXECUTABLE_FILE_MODE=420,t.EXECUTABLE_FILE_MODE=493;const s=()=>({semverExclusivity:null,diffLineFromPath:null,diffLineToPath:null,oldMode:null,newMode:null,deletedFileMode:null,newFileMode:null,renameFrom:null,renameTo:null,beforeHash:null,afterHash:null,fromPath:null,toPath:null,hunks:null}),a=e=>({header:o(e),parts:[]}),c={"@":"header","-":"deletion","+":"insertion"," ":"context","\\":"pragma",undefined:"context"};function u(e){const t=[];for(const n of e){const{semverExclusivity:e,diffLineFromPath:i,diffLineToPath:o,oldMode:s,newMode:a,deletedFileMode:c,newFileMode:u,renameFrom:l,renameTo:h,beforeHash:p,afterHash:f,fromPath:C,toPath:d,hunks:I}=n,E=l?"rename":c?"file deletion":u?"file creation":I&&I.length>0?"patch":"mode change";let B=null;switch(E){case"rename":if(!l||!h)throw new Error("Bad parser state: rename from & to not given");t.push({type:"rename",semverExclusivity:e,fromPath:A.npath.toPortablePath(l),toPath:A.npath.toPortablePath(h)}),B=h;break;case"file deletion":{const n=i||C;if(!n)throw new Error("Bad parse state: no path given for file deletion");t.push({type:"file deletion",semverExclusivity:e,hunk:I&&I[0]||null,path:A.npath.toPortablePath(n),mode:g(c),hash:p})}break;case"file creation":{const n=o||d;if(!n)throw new Error("Bad parse state: no path given for file creation");t.push({type:"file creation",semverExclusivity:e,hunk:I&&I[0]||null,path:A.npath.toPortablePath(n),mode:g(u),hash:f})}break;case"patch":case"mode change":B=d||o;break;default:r.miscUtils.assertNever(E)}B&&s&&a&&s!==a&&t.push({type:"mode change",semverExclusivity:e,path:A.npath.toPortablePath(B),oldMode:g(s),newMode:g(a)}),B&&I&&I.length&&t.push({type:"patch",semverExclusivity:e,path:A.npath.toPortablePath(B),hunks:I,beforeHash:p,afterHash:f})}return t}function g(e){const n=511&parseInt(e,8);if(n!==t.NON_EXECUTABLE_FILE_MODE&&n!==t.EXECUTABLE_FILE_MODE)throw new Error(`Unexpected file mode string: ${e}`);return n}function l(e){let t=0,n=0;for(const{type:A,lines:i}of e.parts)switch(A){case"context":n+=i.length,t+=i.length;break;case"deletion":t+=i.length;break;case"insertion":n+=i.length;break;default:r.miscUtils.assertNever(A)}if(t!==e.header.original.length||n!==e.header.patched.length){const r=e=>e<0?e:`+${e}`;throw new Error(`hunk header integrity check failed (expected @@ ${r(e.header.original.length)} ${r(e.header.patched.length)} @@, got @@ ${r(t)} ${r(n)} @@)`)}}t.interpretParsedPatchFile=u,t.parsePatchFile=function(e){const t=e.split(/\n/g);return""===t[t.length-1]&&t.pop(),u(function(e){const t=[];let n=s(),A="parsing header",i=null,o=null;function u(){i&&(o&&(i.parts.push(o),o=null),n.hunks.push(i),i=null)}function g(){u(),t.push(n),n=s()}for(let t=0;t!o.isParentRequired(e))?e:i.structUtils.bindDescriptor(e,{locator:i.structUtils.stringifyLocator(t)})}getResolutionDependencies(e,t){const{sourceDescriptor:n}=o.parseDescriptor(e);return[n]}async getCandidates(e,t,n){if(!n.fetchOptions)throw new Error("Assertion failed: This resolver cannot be used unless a fetcher is configured");const{parentLocator:r,sourceDescriptor:i,patchPaths:a}=o.parseDescriptor(e),c=await o.loadPatchFiles(r,a,n.fetchOptions),u=t.get(i.descriptorHash);if(void 0===u)throw new Error("Assertion failed: The dependency should have been resolved");const g=A.hashUtils.makeHash(`${s}`,...c).slice(0,6);return[o.makeLocator(e,{parentLocator:r,sourcePackage:u,patchPaths:a,patchHash:g})]}async resolve(e,t){const{sourceLocator:n}=o.parseLocator(e),r=await t.resolver.resolve(n,t);return Object.assign(Object.assign({},r),e)}}},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o},A=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const i=n(447),o=n(0),s=n(1),a=n(2),c=A(n(116));class u extends i.BaseCommand{async execute(){const e=await o.Configuration.find(this.context.cwd,this.context.plugins),{project:t,workspace:n}=await o.Project.find(e,this.context.cwd),r=await o.Cache.find(e);if(!n)throw new i.WorkspaceRequiredError(t.cwd,this.context.cwd);await t.restoreInstallState();const A=s.ppath.resolve(this.context.cwd,s.npath.toPortablePath(this.patchFolder)),u=s.ppath.join(A,".yarn-patch.json");if(!s.xfs.existsSync(u))throw new a.UsageError("The argument folder didn't get created by 'yarn patch'");const g=await s.xfs.readJsonPromise(u),l=o.structUtils.parseLocator(g.locator,!0);if(!t.storedPackages.has(l.locatorHash))throw new a.UsageError("No package found in the project for the given locator");const h=await c.extractPackageToDisk(l,{cache:r,project:t}),p=s.npath.fromPortablePath(h),f=s.npath.fromPortablePath(A);let{stdout:C}=await o.execUtils.execvp("git",["diff","--no-index",p,f],{cwd:this.context.cwd});C=(C=C.replace(new RegExp(o.miscUtils.escapeRegExp(p),"g"),"")).replace(new RegExp(o.miscUtils.escapeRegExp(f),"g"),""),this.context.stdout.write(C)}}u.usage=a.Command.Usage({description:"\n This will turn the folder passed in parameter into a patchfile suitable for consumption with the `patch:` protocol.\n\n Only folders generated through `yarn patch` are accepted as valid input for `yarn patch-commit`.\n "}),r([a.Command.String()],u.prototype,"patchFolder",void 0),r([a.Command.Path("patch-commit")],u.prototype,"execute",null),t.default=u},function(e,t,n){"use strict";var r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const A=r(n(1232)),i=n(450);t.getPluginConfiguration=function(){const e=new Set;for(const t of A.default["@yarnpkg/builder"].bundles.standard)e.add(t);const t=i.getDynamicLibs();for(const r of e)t.set(r,n(451)(r).default);return{plugins:e,modules:t}}},function(e){e.exports=JSON.parse('{"name":"@yarnpkg/cli","version":"2.0.0-rc.33","main":"./sources/index.ts","dependencies":{"@yarnpkg/core":"workspace:^2.0.0-rc.27","@yarnpkg/fslib":"workspace:^2.0.0-rc.19","@yarnpkg/libzip":"workspace:^2.0.0-rc.11","@yarnpkg/parsers":"workspace:^2.0.0-rc.11","@yarnpkg/plugin-compat":"workspace:^2.0.0-rc.11","@yarnpkg/plugin-dlx":"workspace:^2.0.0-rc.14","@yarnpkg/plugin-essentials":"workspace:^2.0.0-rc.27","@yarnpkg/plugin-file":"workspace:^2.0.0-rc.14","@yarnpkg/plugin-git":"workspace:^2.0.0-rc.19","@yarnpkg/plugin-github":"workspace:^2.0.0-rc.16","@yarnpkg/plugin-http":"workspace:^2.0.0-rc.13","@yarnpkg/plugin-init":"workspace:^2.0.0-rc.13","@yarnpkg/plugin-link":"workspace:^2.0.0-rc.11","@yarnpkg/plugin-node-modules":"workspace:^2.0.0-rc.9","@yarnpkg/plugin-npm":"workspace:^2.0.0-rc.19","@yarnpkg/plugin-npm-cli":"workspace:^2.0.0-rc.17","@yarnpkg/plugin-pack":"workspace:^2.0.0-rc.19","@yarnpkg/plugin-patch":"workspace:^2.0.0-rc.8","@yarnpkg/plugin-pnp":"workspace:^2.0.0-rc.21","@yarnpkg/shell":"workspace:^2.0.0-rc.11","chalk":"^3.0.0","clipanion":"^2.1.5","fromentries":"^1.2.0","semver":"^7.1.2","yup":"^0.27.0"},"devDependencies":{"@yarnpkg/builder":"workspace:^2.0.0-rc.21","@yarnpkg/monorepo":"workspace:0.0.0","@yarnpkg/pnpify":"workspace:^2.0.0-rc.22","micromatch":"^4.0.2","typescript":"^3.8.3"},"peerDependencies":{"@yarnpkg/core":"^2.0.0-rc.27"},"scripts":{"postpack":"rm -rf lib","prepack":"run build:compile \\"$(pwd)\\"","build:cli+hook":"run build:pnp:hook && builder build bundle","build:cli":"builder build bundle","run:cli":"builder run","update-local":"run build:cli --no-git-hash && rsync -a --delete bundles/ bin/"},"publishConfig":{"main":"./lib/index.js","types":"./lib/index.d.ts","bin":null},"files":["/lib/**/*","!/lib/pluginConfiguration.*","!/lib/cli.*"],"@yarnpkg/builder":{"bundles":{"standard":["@yarnpkg/plugin-essentials","@yarnpkg/plugin-compat","@yarnpkg/plugin-dlx","@yarnpkg/plugin-file","@yarnpkg/plugin-git","@yarnpkg/plugin-github","@yarnpkg/plugin-http","@yarnpkg/plugin-init","@yarnpkg/plugin-link","@yarnpkg/plugin-node-modules","@yarnpkg/plugin-npm","@yarnpkg/plugin-npm-cli","@yarnpkg/plugin-pack","@yarnpkg/plugin-patch","@yarnpkg/plugin-pnp"]}},"repository":{"type":"git","url":"ssh://git@github.com/yarnpkg/berry.git"}}')},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(0),A=n(449);t.openWorkspace=async function(e,t){const{project:n,workspace:i}=await r.Project.find(e,t);if(!i)throw new A.WorkspaceRequiredError(n.cwd,t);return i}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});const r=n(0),A=n(1),i=n(117),o=n(2),s=n(3),a=n(1235);t.main=async function({binaryVersion:e,pluginConfiguration:t}){async function n(){const c=new o.Cli({binaryLabel:"Yarn Package Manager",binaryName:"yarn",binaryVersion:e});c.register(a.WelcomeCommand);try{await async function(e){const o=await r.Configuration.find(A.npath.toPortablePath(process.cwd()),t,{strict:!1}),a=o.get("yarnPath"),c=o.get("ignorePath"),u=o.get("ignoreCwd");if(null===a||c){c&&delete process.env.YARN_IGNORE_PATH;for(const t of o.plugins.values())for(const n of t.commands||[])e.register(n);const r=e.process(process.argv.slice(2)),i=r.cwd;if(void 0!==i&&!u){const e=s.realpathSync(process.cwd()),t=s.realpathSync(i);if(e!==t)return process.chdir(i),await n()}e.runExit(r,{cwd:A.npath.toPortablePath(process.cwd()),plugins:t,quiet:!1,stdin:process.stdin,stdout:process.stdout,stderr:process.stderr})}else if(A.xfs.existsSync(a))try{!function(e){const t=A.npath.fromPortablePath(e);process.on("SIGINT",()=>{}),t?i.execFileSync(process.execPath,[t,...process.argv.slice(2)],{stdio:"inherit",env:Object.assign(Object.assign({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})}):i.execFileSync(t,process.argv.slice(2),{stdio:"inherit",env:Object.assign(Object.assign({},process.env),{YARN_IGNORE_PATH:"1",YARN_IGNORE_CWD:"1"})})}(a)}catch(e){process.exitCode=e.code||1}else process.stdout.write(e.error(new Error(`The "yarn-path" option has been set (in ${o.sources.get("yarnPath")}), but the specified location doesn't exist (${a}).`))),process.exitCode=1}(c)}catch(e){process.stdout.write(c.error(e)),process.exitCode=1}}return n().catch(e=>{process.stdout.write(e.stack||e.message),process.exitCode=1})}},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o};Object.defineProperty(t,"__esModule",{value:!0});const A=n(0),i=n(2),o=n(448),s=e=>`\n${e.format("Welcome on Yarn 2!","bold")} 🎉 Thanks for helping us shape our vision of how projects\nshould be managed going forward.\n\nBeing still in RC, Yarn 2 isn't completely stable yet. Some features might be\nmissing, and some behaviors may have received major overhaul. In case of doubt,\nuse the following URLs to get some insight:\n\n - The changelog:\n ${e.format("https://github.com/yarnpkg/berry/tree/CHANGELOG.md","cyan")}\n\n - Our issue tracker:\n ${e.format("https://github.com/yarnpkg/berry","cyan")}\n\n - Our Discord server:\n ${e.format("https://discord.gg/yarnpkg","cyan")}\n\nWe're hoping you will enjoy the experience. For now, a good start is to run\nthe two following commands:\n\n ${e.format("find . -name node_modules -prune -exec rm -r {} \\;","magenta")}\n ${e.format("yarn install","magenta")}\n\nOne last trick! If you need at some point to upgrade Yarn to a nightly build,\nthe following command will install the CLI straight from master:\n\n ${e.format("yarn set version from sources","magenta")}\n\nSee you later 👋\n`;class a extends o.BaseCommand{async execute(){const e=await A.Configuration.find(this.context.cwd,this.context.plugins);this.context.stdout.write(`${s(e).trim()}\n`)}}r([i.Command.Path("--welcome")],a.prototype,"execute",null),t.WelcomeCommand=a},function(e,t,n){"use strict";var r=this&&this.__decorate||function(e,t,n,r){var A,i=arguments.length,o=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(A=e[s])&&(o=(i<3?A(o):i>3?A(t,n,o):A(t,n))||o);return i>3&&o&&Object.defineProperty(t,n,o),o},A=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t};Object.defineProperty(t,"__esModule",{value:!0});const i=n(447),o=n(0),s=n(1),a=n(2),c=A(n(116));class u extends i.BaseCommand{async execute(){const e=await o.Configuration.find(this.context.cwd,this.context.plugins),{project:t,workspace:n}=await o.Project.find(e,this.context.cwd),r=await o.Cache.find(e);if(!n)throw new i.WorkspaceRequiredError(t.cwd,this.context.cwd);await t.restoreInstallState();let A=o.structUtils.parseLocator(this.package);if("unknown"===A.reference){const n=[...t.storedPackages.values()].filter(e=>e.identHash===A.identHash);if(0===n.length)throw new a.UsageError("No package found in the project for the given locator");if(n.length>1)throw new a.UsageError(`Multiple candidate packages found; explicitly choose one of them (use \`yarn why \` to get more information as to who depends on them):\n${n.map(t=>`\n- ${o.structUtils.prettyLocator(e,t)}`).join("")}`);A=n[0]}if(!t.storedPackages.has(A.locatorHash))throw new a.UsageError("No package found in the project for the given locator");await o.StreamReport.start({configuration:e,stdout:this.context.stdout},async n=>{const i=await c.extractPackageToDisk(A,{cache:r,project:t});n.reportInfo(o.MessageName.UNNAMED,`Package ${o.structUtils.prettyLocator(e,A)} got extracted with success!`),n.reportInfo(o.MessageName.UNNAMED,`You can now edit the following folder: ${e.format(s.npath.fromPortablePath(i),"magenta")}`),n.reportInfo(o.MessageName.UNNAMED,`Once you are done run ${e.format(`yarn patch-commit ${s.npath.fromPortablePath(i)}`,"cyan")} and Yarn will store a patchfile based on your changes.`)})}}u.usage=a.Command.Usage({description:'\n This command will cause a package to be extracted in a temporary directory (under a folder named "patch-workdir"). This folder will be editable at will; running `yarn patch` inside it will then cause Yarn to generate a patchfile and register it into your top-level manifest (cf the `patch:` protocol).\n '}),r([a.Command.String()],u.prototype,"package",void 0),r([a.Command.Path("patch")],u.prototype,"execute",null),t.default=u},function(e){e.exports=JSON.parse('{"name":"@yarnpkg/plugin-pnp","version":"2.0.0-rc.21","main":"./sources/index.ts","dependencies":{"@types/semver":"^7.1.0","@yarnpkg/fslib":"workspace:^2.0.0-rc.19","@yarnpkg/plugin-stage":"workspace:^2.0.0-rc.15","@yarnpkg/pnp":"workspace:^2.0.0-rc.20","clipanion":"^2.1.5","micromatch":"^4.0.2","semver":"^7.1.2"},"peerDependencies":{"@yarnpkg/cli":"^2.0.0-rc.33","@yarnpkg/core":"^2.0.0-rc.27"},"devDependencies":{"@types/micromatch":"^3.1.0","@yarnpkg/cli":"workspace:^2.0.0-rc.33","@yarnpkg/core":"workspace:^2.0.0-rc.27"},"repository":{"type":"git","url":"ssh://git@github.com/yarnpkg/berry.git"},"scripts":{"postpack":"rm -rf lib","prepack":"run build:compile \\"$(pwd)\\""},"publishConfig":{"main":"./lib/index.js","typings":"./lib/index.d.ts"},"files":["/lib/**/*"]}')}]); \ No newline at end of file diff --git a/.yarnrc b/.yarnrc deleted file mode 100644 index 19daacaa08..0000000000 --- a/.yarnrc +++ /dev/null @@ -1 +0,0 @@ -workspaces-experimental true diff --git a/.yarnrc.yml b/.yarnrc.yml new file mode 100644 index 0000000000..8f6733d0aa --- /dev/null +++ b/.yarnrc.yml @@ -0,0 +1,15 @@ +packageExtensions: + subscriptions-transport-ws@*: + peerDependenciesMeta: + "@types/ws": + optional: true + +plugins: + - path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.js + spec: "@yarnpkg/plugin-interactive-tools" + - path: .yarn/plugins/@yarnpkg/plugin-typescript.js + spec: "@yarnpkg/plugin-typescript" + - path: .yarn/plugins/@yarnpkg/plugin-workspace-tools.js + spec: "@yarnpkg/plugin-workspace-tools" + +yarnPath: .yarn/releases/yarn-berry.js diff --git a/README.md b/README.md index b1195bd302..73cf04c986 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,6 @@ Below is a quick-start, for more detailed instructions, please ```bash yarn -yarn lerna bootstrap yarn watch ``` @@ -85,7 +84,7 @@ terminal to run the tests (Note: your PostgreSQL server must be ```bash createdb graphileengine_test export TEST_DATABASE_URL="postgres:///graphileengine_test" -yarn lerna run test +yarn test ``` If the above succeeds, you're good to go! If not, please try again after running @@ -98,7 +97,6 @@ If you want to work in a Docker environment you can follow [the instructions on the wiki](https://github.com/graphile/graphile-build/wiki/Development-with-docker-compose). [postgraphile]: https://github.com/graphile/postgraphile -[lerna]: https://github.com/lerna/lerna [graphile-build]: packages/graphile-build/ [graphile-build-pg]: packages/graphile-build-pg/ [graphile-utils]: packages/graphile-utils/ diff --git a/__tests__/setup-mock-fs.ts b/__tests__/setup-mock-fs.ts new file mode 100644 index 0000000000..4f2fc8a01c --- /dev/null +++ b/__tests__/setup-mock-fs.ts @@ -0,0 +1,3 @@ +// mock-fs must be required before any 'fs' calls are made. We solve this by +// making every single test import mock-fs. +import "mock-fs"; diff --git a/jest.config.base.js b/jest.config.base.js new file mode 100644 index 0000000000..260e45c72e --- /dev/null +++ b/jest.config.base.js @@ -0,0 +1,32 @@ +module.exports = (dir) => { + const packageJson = require(`${dir}/package.json`); + + return { + testEnvironment: "node", + transform: { + "^.+\\.jsx?$": `${__dirname}/.jest-babel-transform.js`, + "^.+\\.tsx?$": require.resolve("ts-jest"), + }, + testMatch: ["/**/__tests__/**/*.test.[jt]s?(x)"], + moduleFileExtensions: ["js", "json", "jsx", "ts", "tsx", "node"], + roots: [``], + snapshotSerializers: [ + `${__dirname}/packages/jest-serializer-graphql-schema`, + ], + + rootDir: dir, + name: packageJson.name, + displayName: packageJson.name, + globals: { + "ts-jest": { + // Ref: https://github.com/votingworks/ballot-encoder/pull/13/files/b5bbb770c1cc0777c0aee1455b61497afd46cccd#r381505804 + // ts-jest assumes it can walk up from its location on disk to find + // package.json, but this is not true when operating in the yarn PnP + // virtual file system. Instead, we provide it directly. + packageJson, + }, + }, + + setupFiles: [`${__dirname}/__tests__/setup-mock-fs.ts`], + }; +}; diff --git a/jest.config.js b/jest.config.js index d7bc49ab96..bd883c5eec 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,12 +1,3 @@ module.exports = { - snapshotSerializers: ["jest-serializer-graphql-schema"], - roots: ["/packages"], - transform: { - "^.+\\.jsx?$": "/.jest-wrapper.js", - "^.+\\.tsx?$": "ts-jest", - }, - testMatch: ["/packages/*/**/__tests__/**/*.test.[jt]s?(x)"], - moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"], - testEnvironment: "node", - browser: false, + projects: ["/packages/*/jest.config.js"], }; diff --git a/package.json b/package.json index 008a013a7a..91750daf76 100644 --- a/package.json +++ b/package.json @@ -2,17 +2,18 @@ "private": true, "scripts": { "check": "yarn clean && yarn lint && yarn prepack:all && yarn test", - "lint:fix": "yarn prettier:fix && yarn run eslint --fix", - "pretest": "tsc -b && ./scripts/pretest && lerna run pretest", + "lint:fix": "yarn prettier:fix && yarn run eslint --fix .", + "pretest": "tsc -b && ./scripts/pretest && yarn workspaces foreach --topological run pretest", "test": "jest -i", - "posttest": "lerna run posttest", + "posttest": "yarn workspaces foreach --topological run posttest", "prepack:all": "scripts/prepack-all", - "watch": "yarn workspace postgraphile prebuild && tsc -b --watch", - "clean": "jest --clearCache && rm -Rf packages/*/dist packages/*/tsconfig.tsbuildinfo", + "build": "yarn workspace postgraphile prebuild && tsc -b", + "watch": "yarn build --watch", + "clean": "jest --clearCache && rm -Rf 'packages/*/dist' 'packages/*/tsconfig.tsbuildinfo'", "changelog": "(cat scripts/CHANGELOG_HEADER.md; npx conventional-changelog -p angular --release-count 0) > CHANGELOG.md", "version": "yarn run changelog && git add CHANGELOG.md", "-----": "-----", - "eslint": "eslint --ext .js,.jsx,.ts,.tsx .", + "eslint": "eslint --ext .js,.jsx,.ts,.tsx", "prettier": "prettier --ignore-path ./.eslintignore", "prettier:all": "yarn prettier '**/*.{json,md,html,js,jsx,ts,tsx}'", "prettier:fix": "yarn prettier:all --write", @@ -20,34 +21,40 @@ }, "devDependencies": { "@babel/cli": "^7.8.4", - "@babel/core": "^7.0.0", - "@babel/plugin-syntax-object-rest-spread": "^7.0.0", - "@babel/plugin-transform-modules-commonjs": "^7.9.0", - "@babel/plugin-transform-runtime": "^7.9.0", - "@babel/preset-env": "^7.9.5", + "@babel/core": "^7.9.6", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-modules-commonjs": "^7.9.6", + "@babel/plugin-transform-runtime": "^7.9.6", + "@babel/preset-env": "^7.9.6", "@babel/preset-typescript": "^7.9.0", - "@types/node": "^13.13.4", - "@typescript-eslint/eslint-plugin": "^2.29.0", - "@typescript-eslint/parser": "^2.29.0", - "@typescript-eslint/typescript-estree": "^2.29.0", - "babel-eslint": "^10.1.0", - "babel-jest": "^25.4.0", - "concurrently": "^4.1.0", - "conventional-changelog-cli": "^2.0.31", + "@types/mock-fs": "4.10.0", + "@types/node": "^14.0.1", + "@typescript-eslint/eslint-plugin": "^2.34.0", + "@typescript-eslint/parser": "^2.34.0", + "@typescript-eslint/typescript-estree": "^2.34.0", + "babel-eslint": "^10.0.0", + "babel-jest": "^26.0.1", + "concurrently": "^5.2.0", + "conventional-changelog-cli": "^2.0.34", "eslint": "^6.8.0", - "eslint-config-prettier": "^6.10.1", + "eslint-config-prettier": "^6.11.0", + "eslint-plugin-flowtype": "^4.0.0", "eslint-plugin-graphql": "^3.1.1", - "eslint-plugin-jest": "^23.8.2", + "eslint-plugin-import": "^2.20.2", + "eslint-plugin-jest": "^23.13.1", + "eslint-plugin-jsx-a11y": "^6.2.3", + "eslint-plugin-react": "^7.20.0", + "eslint-plugin-react-hooks": "^2.0.0", "eslint-plugin-tsdoc": "^0.2.4", "eslint_d": "^8.1.1", - "graphql": ">=0.9 <0.14 || ^14.0.2", - "jest": "^25.4.0", - "lerna": "^3.18.4", - "pg": ">=6.1.0 <9", - "prettier": "^1.19.1", - "ts-jest": "^25.4.0", - "typescript": "^3.9.0-beta", - "webpack": "^4.41.5" + "graphql": "^14.6.0", + "jest": "^26.0.1", + "mock-fs": "^4.12.0", + "pg": "^8.2.1", + "prettier": "^2.0.5", + "ts-jest": "^26.0.0", + "typescript": "^3.9.2", + "webpack": "^4.43.0" }, "workspaces": [ "packages/*" diff --git a/packages/graphile-build-pg/jest.config.js b/packages/graphile-build-pg/jest.config.js new file mode 100644 index 0000000000..cf8e7e8f9a --- /dev/null +++ b/packages/graphile-build-pg/jest.config.js @@ -0,0 +1 @@ +module.exports = require("../../jest.config.base")(__dirname); diff --git a/packages/graphile-build-pg/package.json b/packages/graphile-build-pg/package.json index 2fc1110480..741399c074 100644 --- a/packages/graphile-build-pg/package.json +++ b/packages/graphile-build-pg/package.json @@ -36,22 +36,35 @@ "homepage": "https://github.com/graphile/graphile-build/tree/master/packages/graphile-build-pg", "dependencies": { "@graphile/lru": "4.6.0-alpha.0", - "@types/lodash": "^4.14.149", - "@types/pg": "^7.11.2", - "chalk": "^2.4.2", - "debug": "^4.1.1", + "@types/debug": "^4.1.5", + "@types/jsonwebtoken": "^8.5.0", + "@types/lodash": "^4.14.151", + "@types/node": "^14.0.1", + "@types/pg": "^7.14.3", + "chalk": "^4.0.0", + "debug": "^4.2.0", "graphile-build": "4.7.0", - "graphql-iso-date": "^3.6.0", + "graphql-iso-date": "^3.6.1", "jsonwebtoken": "^8.5.1", - "lodash": ">=4 <5", - "lru-cache": ">=4 <5", + "lodash": "^4.17.15", + "lru-cache": "^5.1.1", "pg-sql2": "4.7.0", - "postgres-interval": "^1.2.0" + "postgres-interval": "^1.2.0", + "tslib": "^2.0.0" + }, + "devDependencies": { + "@types/jest": "^25.2.3", + "graphql": "^14.6.0", + "graphql-parse-resolve-info": "4.7.0", + "jest": "^26.0.1", + "ts-node": "^8.10.1", + "typescript": "^3.9.2" }, "peerDependencies": { + "graphql": "^14.6.0", + "graphql-parse-resolve-info": "4.7.0", "pg": ">=6.1.0 <9" }, - "devDependencies": {}, "files": [ "dist", "res", diff --git a/packages/graphile-build-pg/src/GraphQLJSON.ts b/packages/graphile-build-pg/src/GraphQLJSON.ts index f6bf0e15d3..e4ce92b05c 100644 --- a/packages/graphile-build-pg/src/GraphQLJSON.ts +++ b/packages/graphile-build-pg/src/GraphQLJSON.ts @@ -50,14 +50,14 @@ export default function makeGraphQLJSONType( return parseFloat(ast.value); case Kind.OBJECT: { const value = Object.create(null); - ast.fields.forEach(field => { + ast.fields.forEach((field) => { value[field.name.value] = parseLiteral(field.value, variables); }); return value; } case Kind.LIST: - return ast.values.map(n => parseLiteral(n, variables)); + return ast.values.map((n) => parseLiteral(n, variables)); case Kind.NULL: return null; case Kind.VARIABLE: { diff --git a/packages/graphile-build-pg/src/QueryBuilder.ts b/packages/graphile-build-pg/src/QueryBuilder.ts index c110360580..f7d0c57f7e 100644 --- a/packages/graphile-build-pg/src/QueryBuilder.ts +++ b/packages/graphile-build-pg/src/QueryBuilder.ts @@ -2,9 +2,6 @@ import sql, { SQL, SQLRawValue } from "pg-sql2"; import isSafeInteger from "lodash/isSafeInteger"; import chunk from "lodash/chunk"; import { PgClass, PgType } from "./plugins/PgIntrospectionPlugin"; -import { GraphileResolverContext } from "graphile-build"; - -export { GraphileResolverContext }; export { sql, SQL, SQLRawValue }; @@ -35,7 +32,7 @@ function callIfNecessaryArray( context: GenContext, ): Array { if (Array.isArray(o)) { - return o.map(v => callIfNecessary(v, context)); + return o.map((v) => callIfNecessary(v, context)); } else { return o; } @@ -72,7 +69,7 @@ function escapeLarge(sqlFragment: SQL, type: PgType) { class QueryBuilder { parentQueryBuilder: QueryBuilder | void; - context: GraphileResolverContext; + context: GraphileEngine.GraphileResolverContext; rootValue: any; locks: { [a: string]: false | true | string | undefined; @@ -142,14 +139,14 @@ class QueryBuilder { constructor( _options: QueryBuilderOptions = {}, - context: GraphileResolverContext, + context: GraphileEngine.GraphileResolverContext, rootValue?: any, ) { this.context = context || {}; this.rootValue = rootValue; this.locks = { - // As a performance optimisation, we're going to list a number of lock + // As a performance optimization, we're going to list a number of lock // types so that V8 doesn't need to mutate the object too much cursorComparator: false, fixedSelectExpression: false, @@ -190,7 +187,7 @@ class QueryBuilder { first: null, last: null, beforeLock: { - // As a performance optimisation, we're going to list a number of lock + // As a performance optimization, we're going to list a number of lock // types so that V8 doesn't need to mutate the object too much cursorComparator: [], fixedSelectExpression: [], @@ -322,7 +319,7 @@ class QueryBuilder { checkerGenerator(data), ); - return (record: any) => checkers.every(checker => checker(record)); + return (record: any) => checkers.every((checker) => checker(record)); }; if (this.parentQueryBuilder) { const parentQueryBuilder = this.parentQueryBuilder; @@ -345,7 +342,7 @@ class QueryBuilder { json_build_object('__id', ${sql.value(id)}::int ${sql.join( Object.keys(allRequirements).map( - key => sql`, ${sql.literal(key)}::text, ${allRequirements[key]}`, + (key) => sql`, ${sql.literal(key)}::text, ${allRequirements[key]}`, ), "", @@ -430,7 +427,7 @@ ${sql.join( const primaryKeys = primaryKey.keyAttributes; this.select( sql`json_build_array(${sql.join( - primaryKeys.map(key => + primaryKeys.map((key) => escapeLarge( sql`${this.getTableAlias()}.${sql.identifier(key.name)}`, key.type, @@ -496,7 +493,7 @@ ${sql.join( if (this.data.offset != null) { // Add the offsets together (this should be able to recurse) const previous = this.data.offset; - this.data.offset = context => { + this.data.offset = (context) => { return ( callIfNecessary(previous, context) + callIfNecessary(offsetGen, context) @@ -759,11 +756,15 @@ ${sql.join( let fragment = sql`\ select ${useAsterisk ? sql`${this.getTableAlias()}.*` : fields} -${(this.compiledData.from && - sql`from ${this.compiledData.from[0]} as ${this.getTableAlias()}`) || - sql.blank} -${(this.compiledData.join.length && sql.join(this.compiledData.join, " ")) || - sql.blank} +${ + (this.compiledData.from && + sql`from ${this.compiledData.from[0]} as ${this.getTableAlias()}`) || + sql.blank +} +${ + (this.compiledData.join.length && sql.join(this.compiledData.join, " ")) || + sql.blank +} where ${this.buildWhereClause(true, true, options)} ${ this.compiledData.orderBy.length @@ -800,7 +801,7 @@ order by (row_number() over (partition by 1)) desc`; /* We don't need to factor if (useAsterisk) { /* * NOTE[useAsterisk/row_number]: since LIMIT/OFFSET is inside this - * subquery, row_number() outside of this subquery WON'T include the + * sub-query, row_number() outside of this sub-query WON'T include the * offset. We must add it back wherever row_number() is used. */ fragment = sql`select ${fields} from (${fragment}) ${this.getTableAlias()}`; @@ -833,7 +834,9 @@ order by (row_number() over (partition by 1)) desc`; /* We don't need to factor } } if (type !== "select") { - this.locks[type] = isDev ? new Error("Initally locked here").stack : true; + this.locks[type] = isDev + ? new Error("Initially locked here").stack + : true; } if (type === "cursorComparator") { // It's meant to be a function @@ -879,7 +882,9 @@ order by (row_number() over (partition by 1)) desc`; /* We don't need to factor } } } - this.locks[type] = isDev ? new Error("Initally locked here").stack : true; + this.locks[type] = isDev + ? new Error("Initially locked here").stack + : true; this.compiledData[type] = data; } else if (type === "orderBy") { this.compiledData[type] = this.data[type].map(([a, b, c]) => [ diff --git a/packages/graphile-build-pg/src/index.ts b/packages/graphile-build-pg/src/index.ts index 278f8dcdd4..90aa20fb21 100644 --- a/packages/graphile-build-pg/src/index.ts +++ b/packages/graphile-build-pg/src/index.ts @@ -1,3 +1,5 @@ +import "graphile-build"; + import PgBasicsPlugin from "./plugins/PgBasicsPlugin"; import PgIntrospectionPlugin from "./plugins/PgIntrospectionPlugin"; import PgTypesPlugin from "./plugins/PgTypesPlugin"; @@ -138,7 +140,6 @@ export { default as QueryBuilder, sql, SQL, - GraphileResolverContext, GenContext, Gen, RawAlias, diff --git a/packages/graphile-build-pg/src/omit.ts b/packages/graphile-build-pg/src/omit.ts index 4aaf95992e..dafdabf755 100644 --- a/packages/graphile-build-pg/src/omit.ts +++ b/packages/graphile-build-pg/src/omit.ts @@ -54,7 +54,7 @@ function parse(arrOrNot: SmartTagValue | null, errorPrefix = "Error") { const perms: (string | null)[] = abbreviations.map( (p): string | null => aliases[p], ); - const badIndex = perms.findIndex(p => !p); + const badIndex = perms.findIndex((p) => !p); if (badIndex >= 0) { throw new Error( `${errorPrefix} - abbreviated parameter '${abbreviations[badIndex]}' in '${str}' not understood`, @@ -119,7 +119,7 @@ export default function omit( } if (omitSpec.indexOf(READ) >= 0) { const bad = PERMISSIONS_THAT_REQUIRE_READ.filter( - p => omitSpec.indexOf(p) === -1, + (p) => omitSpec.indexOf(p) === -1, ); if (bad.length > 0) { @@ -141,7 +141,7 @@ export default function omit( } if (includeSpec.indexOf(READ) === -1) { const bad = PERMISSIONS_THAT_REQUIRE_READ.find( - p => includeSpec.indexOf(p) >= 0, + (p) => includeSpec.indexOf(p) >= 0, ); if (bad) { diff --git a/packages/graphile-build-pg/src/pgPrepareAndRun.ts b/packages/graphile-build-pg/src/pgPrepareAndRun.ts index 0a9672fdd6..209abccd9b 100644 --- a/packages/graphile-build-pg/src/pgPrepareAndRun.ts +++ b/packages/graphile-build-pg/src/pgPrepareAndRun.ts @@ -11,9 +11,7 @@ let lastHash: string; const hash = (str: string): string => { if (str !== lastString) { lastString = str; - lastHash = createHash("sha1") - .update(str) - .digest("base64"); + lastHash = createHash("sha1").update(str).digest("base64"); } return lastHash; }; @@ -48,7 +46,7 @@ export default function pgPrepareAndRun( .then(() => { delete connection[PARSED_STATEMENTS][key]; }) - .catch(e => { + .catch((e) => { // eslint-disable-next-line no-console console.error("Error releasing prepared query", e); }); diff --git a/packages/graphile-build-pg/src/plugins/PageInfoStartEndCursor.ts b/packages/graphile-build-pg/src/plugins/PageInfoStartEndCursor.ts index f564efd866..b514b4eb04 100644 --- a/packages/graphile-build-pg/src/plugins/PageInfoStartEndCursor.ts +++ b/packages/graphile-build-pg/src/plugins/PageInfoStartEndCursor.ts @@ -1,9 +1,9 @@ -import { Plugin } from "graphile-build"; - -declare module "graphile-build" { - interface ScopeGraphQLObjectTypeFieldsField { - isPageInfoStartCursorField?: boolean; - isPageInfoEndCursorField?: boolean; +declare global { + namespace GraphileEngine { + interface ScopeGraphQLObjectTypeFieldsField { + isPageInfoStartCursorField?: boolean; + isPageInfoEndCursorField?: boolean; + } } } @@ -66,4 +66,4 @@ export default (function PageInfoStartEndCursor(builder) { [], ["Cursor"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgAllRows.ts b/packages/graphile-build-pg/src/plugins/PgAllRows.ts index 16b736dbe5..851432773c 100644 --- a/packages/graphile-build-pg/src/plugins/PgAllRows.ts +++ b/packages/graphile-build-pg/src/plugins/PgAllRows.ts @@ -1,10 +1,11 @@ -import { Plugin } from "graphile-build"; import debugSql from "./debugSql"; import { PgClass } from "./PgIntrospectionPlugin"; -declare module "graphile-build" { - interface GraphileBuildOptions { - pgViewUniqueKey?: string; // DEPRECATED; use the @primaryKey smart tag instead +declare global { + namespace GraphileEngine { + interface GraphileBuildOptions { + pgViewUniqueKey?: string; // DEPRECATED; use the @primaryKey smart tag instead + } } } @@ -77,7 +78,7 @@ export default (async function PgAllRows( const isView = (t: PgClass) => t.classKind === "v"; const viewUniqueKey = table.tags.uniqueKey || pgViewUniqueKey; const uniqueIdAttribute = viewUniqueKey - ? attributes.find(attr => attr.name === viewUniqueKey) + ? attributes.find((attr) => attr.name === viewUniqueKey) : undefined; if (isView && table.tags.uniqueKey && !uniqueIdAttribute) { throw new Error( @@ -131,11 +132,11 @@ export default (async function PgAllRows( withPaginationAsFields: isConnection, }, - queryBuilder => { + (queryBuilder) => { if (subscriptions) { queryBuilder.makeLiveCollection( table, - _checkerGenerator => { + (_checkerGenerator) => { checkerGenerator = _checkerGenerator; }, ); @@ -151,7 +152,7 @@ export default (async function PgAllRows( "primary_key_asc", ]; - primaryKeys.forEach(key => { + primaryKeys.forEach((key) => { queryBuilder.orderBy( sql`${queryBuilder.getTableAlias()}.${sql.identifier( key.name, @@ -217,7 +218,7 @@ export default (async function PgAllRows( liveRecord ) { result.rows.forEach( - row => + (row) => row && liveRecord("pg", table, row.__identifiers), ); } @@ -253,4 +254,4 @@ export default (async function PgAllRows( [], ["PgTables"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgBackwardRelationPlugin.ts b/packages/graphile-build-pg/src/plugins/PgBackwardRelationPlugin.ts index f675c547cc..de942070b2 100644 --- a/packages/graphile-build-pg/src/plugins/PgBackwardRelationPlugin.ts +++ b/packages/graphile-build-pg/src/plugins/PgBackwardRelationPlugin.ts @@ -1,16 +1,17 @@ import debugFactory from "debug"; -import { Plugin } from "graphile-build"; import { stringTag } from "./PgBasicsPlugin"; import { PgEntityKind } from "./PgIntrospectionPlugin"; -declare module "graphile-build" { - interface GraphileBuildOptions { - pgLegacyRelations?: "only" | "deprecated" | "omit"; - } - interface ScopeGraphQLObjectTypeFieldsField { - isPgBackwardSingleRelationField?: boolean; - isPgBackwardRelationField?: boolean; +declare global { + namespace GraphileEngine { + interface GraphileBuildOptions { + pgLegacyRelations?: "only" | "deprecated" | "omit"; + } + interface ScopeGraphQLObjectTypeFieldsField { + isPgBackwardSingleRelationField?: boolean; + isPgBackwardRelationField?: boolean; + } } } @@ -68,7 +69,7 @@ export default (function PgBackwardRelationPlugin( const foreignTable = pgIntrospection; // This is a relation in which WE are foreign const foreignKeyConstraints = foreignTable.foreignConstraints.filter( - con => con.type === "f", + (con) => con.type === "f", ); const foreignTableTypeName = inflection.tableType(foreignTable); @@ -119,17 +120,17 @@ export default (function PgBackwardRelationPlugin( const keys = constraint.keyAttributes; const foreignKeys = constraint.foreignKeyAttributes; - if (!keys.every(_ => _) || !foreignKeys.every(_ => _)) { + if (!keys.every((_) => _) || !foreignKeys.every((_) => _)) { throw new Error("Could not find key columns!"); } - if (keys.some(key => omit(key, "read"))) { + if (keys.some((key) => omit(key, "read"))) { return memo; } - if (foreignKeys.some(key => omit(key, "read"))) { + if (foreignKeys.some((key) => omit(key, "read"))) { return memo; } const isUnique = !!table.constraints.find( - c => + (c) => (c.type === "p" || c.type === "u") && c.keyAttributeNums.length === keys.length && c.keyAttributeNums.every((n, i) => keys[i].num === n), @@ -173,9 +174,9 @@ export default (function PgBackwardRelationPlugin( addDataGenerator, }) => { const sqlFrom = sql.identifier(schema.name, table.name); - addDataGenerator(parsedResolveInfoFragment => { + addDataGenerator((parsedResolveInfoFragment) => { return { - pgQuery: queryBuilder => { + pgQuery: (queryBuilder) => { queryBuilder.select(() => { const resolveData = getDataFromParsedResolveInfoFragment( parsedResolveInfoFragment, @@ -195,7 +196,7 @@ export default (function PgBackwardRelationPlugin( withPagination: false, }, - innerQueryBuilder => { + (innerQueryBuilder) => { innerQueryBuilder.parentQueryBuilder = queryBuilder; if ( subscriptions && @@ -293,9 +294,9 @@ export default (function PgBackwardRelationPlugin( asJsonAggregate: !isConnection, }; - addDataGenerator(parsedResolveInfoFragment => { + addDataGenerator((parsedResolveInfoFragment) => { return { - pgQuery: queryBuilder => { + pgQuery: (queryBuilder) => { queryBuilder.select(() => { const resolveData = getDataFromParsedResolveInfoFragment( parsedResolveInfoFragment, @@ -309,14 +310,14 @@ export default (function PgBackwardRelationPlugin( tableAlias, resolveData, queryOptions, - innerQueryBuilder => { + (innerQueryBuilder) => { innerQueryBuilder.parentQueryBuilder = queryBuilder; if (subscriptions) { innerQueryBuilder.makeLiveCollection(table); innerQueryBuilder.addLiveCondition( - data => record => { + (data) => (record) => { return keys.every( - key => + (key) => record[key.name] === data[key.name], ); }, @@ -349,7 +350,7 @@ export default (function PgBackwardRelationPlugin( "primary_key_asc", ]; - primaryKeys.forEach(key => { + primaryKeys.forEach((key) => { innerQueryBuilder.orderBy( sql`${innerQueryBuilder.getTableAlias()}.${sql.identifier( key.name, @@ -524,4 +525,4 @@ export default (function PgBackwardRelationPlugin( }, ["PgBackwardRelation"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgBasicsPlugin.ts b/packages/graphile-build-pg/src/plugins/PgBasicsPlugin.ts index 3f7a099859..7bb0b58a25 100644 --- a/packages/graphile-build-pg/src/plugins/PgBasicsPlugin.ts +++ b/packages/graphile-build-pg/src/plugins/PgBasicsPlugin.ts @@ -1,6 +1,5 @@ import sql, { PgSQL } from "pg-sql2"; import { inspect } from "util"; -import { Plugin, Context, Build, Inflection } from "graphile-build"; // @ts-ignore import { version } from "../../package.json"; import { @@ -61,218 +60,223 @@ export function stringTag(pgEntity: PgEntity, tagName: string): string | null { type PgColumnFilterFunction = ( attr: PgAttribute, - build: Build, - context: Context, + build: GraphileEngine.Build, + context: GraphileEngine.Context, ) => boolean; type PgConfig = import("pg").Pool | import("pg").PoolClient | string; -declare module "graphile-build" { - interface GraphileResolverContext { - pgClient: PoolClient; - } +declare global { + namespace GraphileEngine { + interface GraphileResolverContext { + pgClient: PoolClient; + } - interface GraphileBuildOptions { - pgConfig: PgConfig; - pgSchemas: Array; - persistentMemoizeWithKey?: (key: string, fn: () => T) => T; + interface GraphileBuildOptions { + pgConfig: PgConfig; + pgSchemas: Array; + persistentMemoizeWithKey?: (key: string, fn: () => T) => T; - pgDisableDefaultMutations?: boolean; - pgSimpleCollections?: "only" | "both" | "omit"; - pgStrictFunctions?: boolean; - pgColumnFilter?: PgColumnFilterFunction; - pgIgnoreRBAC?: boolean; - pgIgnoreIndexes?: boolean; - pgHideIndexWarnings?: boolean; - pgLegacyJsonUuid?: boolean; - } + pgDisableDefaultMutations?: boolean; + pgSimpleCollections?: "only" | "both" | "omit"; + pgStrictFunctions?: boolean; + pgColumnFilter?: PgColumnFilterFunction; + pgIgnoreRBAC?: boolean; + pgIgnoreIndexes?: boolean; + pgHideIndexWarnings?: boolean; + pgLegacyJsonUuid?: boolean; + } - interface Build { - pgSql: PgSQL; - graphileBuildPgVersion: string; - pgStrictFunctions: boolean; - pgColumnFilter: PgColumnFilterFunction; - pgQueryFromResolveData: ReturnType; - pgAddStartEndCursor: typeof addStartEndCursor; - pgOmit: typeof baseOmit; - pgMakeProcField: typeof makeProcField; - pgParseIdentifier: typeof parseIdentifier; - pgViaTemporaryTable: typeof viaTemporaryTable; - describePgEntity: typeof describePgEntity; - pgField: typeof pgField; - sqlCommentByAddingTags: typeof sqlCommentByAddingTags; - pgPrepareAndRun: typeof pgPrepareAndRun; - } + interface Build { + pgSql: PgSQL; + graphileBuildPgVersion: string; + pgStrictFunctions: boolean; + pgColumnFilter: PgColumnFilterFunction; + pgQueryFromResolveData: ReturnType; + pgAddStartEndCursor: typeof addStartEndCursor; + pgOmit: typeof baseOmit; + pgMakeProcField: typeof makeProcField; + pgParseIdentifier: typeof parseIdentifier; + pgViaTemporaryTable: typeof viaTemporaryTable; + describePgEntity: typeof describePgEntity; + pgField: typeof pgField; + sqlCommentByAddingTags: typeof sqlCommentByAddingTags; + pgPrepareAndRun: typeof pgPrepareAndRun; + } - interface Inflection { - conditionType(typeName: string): string; - inputType(typeName: string): string; - rangeBoundType(typeName: string): string; - rangeType(typeName: string): string; - patchType(typeName: string): string; - baseInputType(typeName: string): string; - patchField(itemName: string): string; - orderByType(typeName: string): string; - edge(typeName: string): string; - connection(typeName: string): string; + interface Inflection { + conditionType(typeName: string): string; + inputType(typeName: string): string; + rangeBoundType(typeName: string): string; + rangeType(typeName: string): string; + patchType(typeName: string): string; + baseInputType(typeName: string): string; + patchField(itemName: string): string; + orderByType(typeName: string): string; + edge(typeName: string): string; + connection(typeName: string): string; - // These helpers handle overrides via smart comments. They should only - // be used in other inflectors, hence the underscore prefix. - // - // IMPORTANT: do NOT do case transforms here, because detail can be - // lost, e.g. - // `constantCase(camelCase('foo_1')) !== constantCase('foo_1')` - _functionName(proc: PgProc): string; - _typeName(type: PgType): string; - _tableName(table: PgClass): string; - _singularizedTableName(table: PgClass): string; - _columnName(attr: PgAttribute, _options?: { skipRowId?: boolean }): string; + // These helpers handle overrides via smart comments. They should only + // be used in other inflectors, hence the underscore prefix. + // + // IMPORTANT: do NOT do case transforms here, because detail can be + // lost, e.g. + // `constantCase(camelCase('foo_1')) !== constantCase('foo_1')` + _functionName(proc: PgProc): string; + _typeName(type: PgType): string; + _tableName(table: PgClass): string; + _singularizedTableName(table: PgClass): string; + _columnName( + attr: PgAttribute, + _options?: { skipRowId?: boolean }, + ): string; - // From here down, functions are passed database introspection results - enumType(type: PgType): string; - argument(name: string | null | undefined, index: number): string; - orderByEnum(columnName: string, ascending: boolean): string; - orderByColumnEnum(attr: PgAttribute, ascending: boolean): string; - orderByComputedColumnEnum( - pseudoColumnName: string, - proc: PgProc, - table: PgClass, - ascending: boolean, - ): string; - domainType(type: PgType): string; - enumName(inValue: string): string; + // From here down, functions are passed database introspection results + enumType(type: PgType): string; + argument(name: string | null | undefined, index: number): string; + orderByEnum(columnName: string, ascending: boolean): string; + orderByColumnEnum(attr: PgAttribute, ascending: boolean): string; + orderByComputedColumnEnum( + pseudoColumnName: string, + proc: PgProc, + table: PgClass, + ascending: boolean, + ): string; + domainType(type: PgType): string; + enumName(inValue: string): string; - tableNode(table: PgClass): string; - tableFieldName(table: PgClass): string; - allRows(table: PgClass): string; - allRowsSimple(table: PgClass): string; - functionMutationName(proc: PgProc): string; - functionMutationResultFieldName( - proc: PgProc, - gqlType: import("graphql").GraphQLNamedType, - plural?: boolean, - outputArgNames?: Array, - ): string; - functionQueryName(proc: PgProc): string; - functionQueryNameList(proc: PgProc): string; - functionPayloadType(proc: PgProc): string; - functionInputType(proc: PgProc): string; - functionOutputFieldName( - proc: PgProc, - outputArgName: string, - index: number, - ): string; - tableType(table: PgClass): string; - column(attr: PgAttribute): string; - computedColumn( - pseudoColumnName: string, - proc: PgProc, - _table: PgClass, - ): string; - computedColumnList( - pseudoColumnName: string, - proc: PgProc, - _table: PgClass, - ): string; - singleRelationByKeys( - detailedKeys: PgAttribute[], - table: PgClass, - _foreignTable: PgClass, - constraint: PgConstraint, - ): string; - singleRelationByKeysBackwards( - detailedKeys: PgAttribute[], - table: PgClass, - _foreignTable: PgClass, - constraint: PgConstraint, - ): string; - manyRelationByKeys( - detailedKeys: PgAttribute[], - table: PgClass, - _foreignTable: PgClass, - constraint: PgConstraint, - ): string; - manyRelationByKeysSimple( - detailedKeys: PgAttribute[], - table: PgClass, - _foreignTable: PgClass, - constraint: PgConstraint, - ): string; - rowByUniqueKeys( - detailedKeys: PgAttribute[], - table: PgClass, - constraint: PgConstraint, - ): string; - updateByKeys( - detailedKeys: PgAttribute[], - table: PgClass, - constraint: PgConstraint, - ): string; - deleteByKeys( - detailedKeys: PgAttribute[], - table: PgClass, - constraint: PgConstraint, - ): string; - updateByKeysInputType( - detailedKeys: PgAttribute[], - table: PgClass, - constraint: PgConstraint, - ): string; - deleteByKeysInputType( - detailedKeys: PgAttribute[], - table: PgClass, - constraint: PgConstraint, - ): string; - updateNode(table: PgClass): string; - deleteNode(table: PgClass): string; - deletedNodeId(table: PgClass): string; - updateNodeInputType(table: PgClass): string; - deleteNodeInputType(table: PgClass): string; - edgeField(table: PgClass): string; - recordFunctionReturnType(proc: PgProc): string; - recordFunctionConnection(proc: PgProc): string; - recordFunctionEdge(proc: PgProc): string; - scalarFunctionConnection(proc: PgProc): string; - scalarFunctionEdge(proc: PgProc): string; - createField(table: PgClass): string; - createInputType(table: PgClass): string; - createPayloadType(table: PgClass): string; - updatePayloadType(table: PgClass): string; - deletePayloadType(table: PgClass): string; + tableNode(table: PgClass): string; + tableFieldName(table: PgClass): string; + allRows(table: PgClass): string; + allRowsSimple(table: PgClass): string; + functionMutationName(proc: PgProc): string; + functionMutationResultFieldName( + proc: PgProc, + gqlType: import("graphql").GraphQLNamedType, + plural?: boolean, + outputArgNames?: Array, + ): string; + functionQueryName(proc: PgProc): string; + functionQueryNameList(proc: PgProc): string; + functionPayloadType(proc: PgProc): string; + functionInputType(proc: PgProc): string; + functionOutputFieldName( + proc: PgProc, + outputArgName: string, + index: number, + ): string; + tableType(table: PgClass): string; + column(attr: PgAttribute): string; + computedColumn( + pseudoColumnName: string, + proc: PgProc, + _table: PgClass, + ): string; + computedColumnList( + pseudoColumnName: string, + proc: PgProc, + _table: PgClass, + ): string; + singleRelationByKeys( + detailedKeys: PgAttribute[], + table: PgClass, + _foreignTable: PgClass, + constraint: PgConstraint, + ): string; + singleRelationByKeysBackwards( + detailedKeys: PgAttribute[], + table: PgClass, + _foreignTable: PgClass, + constraint: PgConstraint, + ): string; + manyRelationByKeys( + detailedKeys: PgAttribute[], + table: PgClass, + _foreignTable: PgClass, + constraint: PgConstraint, + ): string; + manyRelationByKeysSimple( + detailedKeys: PgAttribute[], + table: PgClass, + _foreignTable: PgClass, + constraint: PgConstraint, + ): string; + rowByUniqueKeys( + detailedKeys: PgAttribute[], + table: PgClass, + constraint: PgConstraint, + ): string; + updateByKeys( + detailedKeys: PgAttribute[], + table: PgClass, + constraint: PgConstraint, + ): string; + deleteByKeys( + detailedKeys: PgAttribute[], + table: PgClass, + constraint: PgConstraint, + ): string; + updateByKeysInputType( + detailedKeys: PgAttribute[], + table: PgClass, + constraint: PgConstraint, + ): string; + deleteByKeysInputType( + detailedKeys: PgAttribute[], + table: PgClass, + constraint: PgConstraint, + ): string; + updateNode(table: PgClass): string; + deleteNode(table: PgClass): string; + deletedNodeId(table: PgClass): string; + updateNodeInputType(table: PgClass): string; + deleteNodeInputType(table: PgClass): string; + edgeField(table: PgClass): string; + recordFunctionReturnType(proc: PgProc): string; + recordFunctionConnection(proc: PgProc): string; + recordFunctionEdge(proc: PgProc): string; + scalarFunctionConnection(proc: PgProc): string; + scalarFunctionEdge(proc: PgProc): string; + createField(table: PgClass): string; + createInputType(table: PgClass): string; + createPayloadType(table: PgClass): string; + updatePayloadType(table: PgClass): string; + deletePayloadType(table: PgClass): string; + } } } -function makePgBaseInflectors(): Partial { - const inflectors: Partial = { +function makePgBaseInflectors(): Partial { + const inflectors: Partial = { // These helpers are passed GraphQL type names as strings - conditionType(this: Inflection, typeName: string) { + conditionType(this: GraphileEngine.Inflection, typeName: string) { return this.upperCamelCase(`${typeName}-condition`); }, - inputType(this: Inflection, typeName: string) { + inputType(this: GraphileEngine.Inflection, typeName: string) { return this.upperCamelCase(`${typeName}-input`); }, - rangeBoundType(this: Inflection, typeName: string) { + rangeBoundType(this: GraphileEngine.Inflection, typeName: string) { return this.upperCamelCase(`${typeName}-range-bound`); }, - rangeType(this: Inflection, typeName: string) { + rangeType(this: GraphileEngine.Inflection, typeName: string) { return this.upperCamelCase(`${typeName}-range`); }, - patchType(this: Inflection, typeName: string) { + patchType(this: GraphileEngine.Inflection, typeName: string) { return this.upperCamelCase(`${typeName}-patch`); }, - baseInputType(this: Inflection, typeName: string) { + baseInputType(this: GraphileEngine.Inflection, typeName: string) { return this.upperCamelCase(`${typeName}-base-input`); }, - patchField(this: Inflection, itemName: string) { + patchField(this: GraphileEngine.Inflection, itemName: string) { return this.camelCase(`${itemName}-patch`); }, - orderByType(this: Inflection, typeName: string) { + orderByType(this: GraphileEngine.Inflection, typeName: string) { return this.upperCamelCase(`${this.pluralize(typeName)}-order-by`); }, - edge(this: Inflection, typeName: string) { + edge(this: GraphileEngine.Inflection, typeName: string) { return this.upperCamelCase(`${this.pluralize(typeName)}-edge`); }, - connection(this: Inflection, typeName: string) { + connection(this: GraphileEngine.Inflection, typeName: string) { return this.upperCamelCase(`${this.pluralize(typeName)}-connection`); }, @@ -282,26 +286,29 @@ function makePgBaseInflectors(): Partial { // IMPORTANT: do NOT do case transforms here, because detail can be // lost, e.g. // `constantCase(camelCase('foo_1')) !== constantCase('foo_1')` - _functionName(this: Inflection, proc: PgProc) { + _functionName(this: GraphileEngine.Inflection, proc: PgProc) { return this.coerceToGraphQLName(stringTag(proc, "name") || proc.name); }, - _typeName(this: Inflection, type: PgType) { + _typeName(this: GraphileEngine.Inflection, type: PgType) { // 'type' introspection result return this.coerceToGraphQLName(stringTag(type, "name") || type.name); }, - _tableName(this: Inflection, table: PgClass) { + _tableName(this: GraphileEngine.Inflection, table: PgClass) { return this.coerceToGraphQLName( stringTag(table, "name") || stringTag(table.type, "name") || table.name, ); }, - _singularizedTableName(this: Inflection, table: PgClass): string { + _singularizedTableName( + this: GraphileEngine.Inflection, + table: PgClass, + ): string { return this.singularize(this._tableName(table)).replace( /.(?:(?:[_-]i|I)nput|(?:[_-]p|P)atch)$/, "$&_record", ); }, _columnName( - this: Inflection, + this: GraphileEngine.Inflection, attr: PgAttribute, _options?: { skipRowId?: boolean }, ) { @@ -309,23 +316,31 @@ function makePgBaseInflectors(): Partial { }, // From here down, functions are passed database introspection results - enumType(this: Inflection, type: PgType) { + enumType(this: GraphileEngine.Inflection, type: PgType) { return this.upperCamelCase(this._typeName(type)); }, - argument(this: Inflection, name: string | null | undefined, index: number) { + argument( + this: GraphileEngine.Inflection, + name: string | null | undefined, + index: number, + ) { return this.coerceToGraphQLName(this.camelCase(name || `arg${index}`)); }, - orderByEnum(this: Inflection, columnName, ascending) { + orderByEnum(this: GraphileEngine.Inflection, columnName, ascending) { return this.constantCase(`${columnName}_${ascending ? "asc" : "desc"}`); }, - orderByColumnEnum(this: Inflection, attr: PgAttribute, ascending: boolean) { + orderByColumnEnum( + this: GraphileEngine.Inflection, + attr: PgAttribute, + ascending: boolean, + ) { const columnName = this._columnName(attr, { skipRowId: true, // Because we messed up 😔 }); return this.orderByEnum(columnName, ascending); }, orderByComputedColumnEnum( - this: Inflection, + this: GraphileEngine.Inflection, pseudoColumnName: string, proc: PgProc, table: PgClass, @@ -335,10 +350,10 @@ function makePgBaseInflectors(): Partial { return this.orderByEnum(columnName, ascending); }, - domainType(this: Inflection, type: PgType) { + domainType(this: GraphileEngine.Inflection, type: PgType) { return this.upperCamelCase(this._typeName(type)); }, - enumName(this: Inflection, inValue: string) { + enumName(this: GraphileEngine.Inflection, inValue: string) { let value = inValue; if (value === "") { @@ -358,7 +373,7 @@ function makePgBaseInflectors(): Partial { // might find in enums. Generally we only support enums that are // alphanumeric, if these replacements don't work for you, you should // pass a custom inflector that replaces this `enumName` method - // with one of your own chosing. + // with one of your own choosing. value = { // SQL comparison operators @@ -420,27 +435,27 @@ function makePgBaseInflectors(): Partial { return value; }, - tableNode(this: Inflection, table: PgClass) { + tableNode(this: GraphileEngine.Inflection, table: PgClass) { return this.camelCase(this._singularizedTableName(table)); }, - tableFieldName(this: Inflection, table: PgClass) { + tableFieldName(this: GraphileEngine.Inflection, table: PgClass) { return this.camelCase(this._singularizedTableName(table)); }, - allRows(this: Inflection, table: PgClass) { + allRows(this: GraphileEngine.Inflection, table: PgClass) { return this.camelCase( `all-${this.pluralize(this._singularizedTableName(table))}`, ); }, - allRowsSimple(this: Inflection, table: PgClass) { + allRowsSimple(this: GraphileEngine.Inflection, table: PgClass) { return this.camelCase( `all-${this.pluralize(this._singularizedTableName(table))}-list`, ); }, - functionMutationName(this: Inflection, proc: PgProc) { + functionMutationName(this: GraphileEngine.Inflection, proc: PgProc) { return this.camelCase(this._functionName(proc)); }, functionMutationResultFieldName( - this: Inflection, + this: GraphileEngine.Inflection, proc: PgProc, gqlType: import("graphql").GraphQLNamedType, plural = false, @@ -469,34 +484,34 @@ function makePgBaseInflectors(): Partial { } return plural ? this.pluralize(name) : name; }, - functionQueryName(this: Inflection, proc: PgProc) { + functionQueryName(this: GraphileEngine.Inflection, proc: PgProc) { return this.camelCase(this._functionName(proc)); }, - functionQueryNameList(this: Inflection, proc: PgProc) { + functionQueryNameList(this: GraphileEngine.Inflection, proc: PgProc) { return this.camelCase(`${this._functionName(proc)}-list`); }, - functionPayloadType(this: Inflection, proc: PgProc) { + functionPayloadType(this: GraphileEngine.Inflection, proc: PgProc) { return this.upperCamelCase(`${this._functionName(proc)}-payload`); }, - functionInputType(this: Inflection, proc: PgProc) { + functionInputType(this: GraphileEngine.Inflection, proc: PgProc) { return this.upperCamelCase(`${this._functionName(proc)}-input`); }, functionOutputFieldName( - this: Inflection, + this: GraphileEngine.Inflection, _proc: PgProc, outputArgName: string, index: number, ) { return this.argument(outputArgName, index); }, - tableType(this: Inflection, table: PgClass) { + tableType(this: GraphileEngine.Inflection, table: PgClass) { return this.upperCamelCase(this._singularizedTableName(table)); }, - column(this: Inflection, attr: PgAttribute) { + column(this: GraphileEngine.Inflection, attr: PgAttribute) { return this.camelCase(this._columnName(attr)); }, computedColumn( - this: Inflection, + this: GraphileEngine.Inflection, pseudoColumnName: string, proc: PgProc, _table: PgClass, @@ -504,7 +519,7 @@ function makePgBaseInflectors(): Partial { return stringTag(proc, "fieldName") || this.camelCase(pseudoColumnName); }, computedColumnList( - this: Inflection, + this: GraphileEngine.Inflection, pseudoColumnName: string, proc: PgProc, _table: PgClass, @@ -514,7 +529,7 @@ function makePgBaseInflectors(): Partial { : this.camelCase(`${pseudoColumnName}-list`); }, singleRelationByKeys( - this: Inflection, + this: GraphileEngine.Inflection, detailedKeys: PgAttribute[], table: PgClass, _foreignTable: PgClass, @@ -526,12 +541,12 @@ function makePgBaseInflectors(): Partial { } return this.camelCase( `${this._singularizedTableName(table)}-by-${detailedKeys - .map(key => this.column(key)) + .map((key) => this.column(key)) .join("-and-")}`, ); }, singleRelationByKeysBackwards( - this: Inflection, + this: GraphileEngine.Inflection, detailedKeys: PgAttribute[], table: PgClass, _foreignTable: PgClass, @@ -556,7 +571,7 @@ function makePgBaseInflectors(): Partial { ); }, manyRelationByKeys( - this: Inflection, + this: GraphileEngine.Inflection, detailedKeys: PgAttribute[], table: PgClass, _foreignTable: PgClass, @@ -569,11 +584,11 @@ function makePgBaseInflectors(): Partial { return this.camelCase( `${this.pluralize( this._singularizedTableName(table), - )}-by-${detailedKeys.map(key => this.column(key)).join("-and-")}`, + )}-by-${detailedKeys.map((key) => this.column(key)).join("-and-")}`, ); }, manyRelationByKeysSimple( - this: Inflection, + this: GraphileEngine.Inflection, detailedKeys: PgAttribute[], table: PgClass, _foreignTable: PgClass, @@ -593,11 +608,13 @@ function makePgBaseInflectors(): Partial { return this.camelCase( `${this.pluralize( this._singularizedTableName(table), - )}-by-${detailedKeys.map(key => this.column(key)).join("-and-")}-list`, + )}-by-${detailedKeys + .map((key) => this.column(key)) + .join("-and-")}-list`, ); }, rowByUniqueKeys( - this: Inflection, + this: GraphileEngine.Inflection, detailedKeys: PgAttribute[], table: PgClass, constraint: PgConstraint, @@ -608,12 +625,12 @@ function makePgBaseInflectors(): Partial { } return this.camelCase( `${this._singularizedTableName(table)}-by-${detailedKeys - .map(key => this.column(key)) + .map((key) => this.column(key)) .join("-and-")}`, ); }, updateByKeys( - this: Inflection, + this: GraphileEngine.Inflection, detailedKeys: PgAttribute[], table: PgClass, constraint: PgConstraint, @@ -625,11 +642,11 @@ function makePgBaseInflectors(): Partial { return this.camelCase( `update-${this._singularizedTableName( table, - )}-by-${detailedKeys.map(key => this.column(key)).join("-and-")}`, + )}-by-${detailedKeys.map((key) => this.column(key)).join("-and-")}`, ); }, deleteByKeys( - this: Inflection, + this: GraphileEngine.Inflection, detailedKeys: PgAttribute[], table: PgClass, constraint: PgConstraint, @@ -641,11 +658,11 @@ function makePgBaseInflectors(): Partial { return this.camelCase( `delete-${this._singularizedTableName( table, - )}-by-${detailedKeys.map(key => this.column(key)).join("-and-")}`, + )}-by-${detailedKeys.map((key) => this.column(key)).join("-and-")}`, ); }, updateByKeysInputType( - this: Inflection, + this: GraphileEngine.Inflection, detailedKeys: PgAttribute[], table: PgClass, constraint: PgConstraint, @@ -657,11 +674,13 @@ function makePgBaseInflectors(): Partial { return this.upperCamelCase( `update-${this._singularizedTableName( table, - )}-by-${detailedKeys.map(key => this.column(key)).join("-and-")}-input`, + )}-by-${detailedKeys + .map((key) => this.column(key)) + .join("-and-")}-input`, ); }, deleteByKeysInputType( - this: Inflection, + this: GraphileEngine.Inflection, detailedKeys: PgAttribute[], table: PgClass, constraint: PgConstraint, @@ -673,72 +692,74 @@ function makePgBaseInflectors(): Partial { return this.upperCamelCase( `delete-${this._singularizedTableName( table, - )}-by-${detailedKeys.map(key => this.column(key)).join("-and-")}-input`, + )}-by-${detailedKeys + .map((key) => this.column(key)) + .join("-and-")}-input`, ); }, - updateNode(this: Inflection, table: PgClass) { + updateNode(this: GraphileEngine.Inflection, table: PgClass) { return this.camelCase(`update-${this._singularizedTableName(table)}`); }, - deleteNode(this: Inflection, table: PgClass) { + deleteNode(this: GraphileEngine.Inflection, table: PgClass) { return this.camelCase(`delete-${this._singularizedTableName(table)}`); }, - deletedNodeId(this: Inflection, table: PgClass) { + deletedNodeId(this: GraphileEngine.Inflection, table: PgClass) { return this.camelCase(`deleted-${this.singularize(table.name)}-id`); }, - updateNodeInputType(this: Inflection, table: PgClass) { + updateNodeInputType(this: GraphileEngine.Inflection, table: PgClass) { return this.upperCamelCase( `update-${this._singularizedTableName(table)}-input`, ); }, - deleteNodeInputType(this: Inflection, table: PgClass) { + deleteNodeInputType(this: GraphileEngine.Inflection, table: PgClass) { return this.upperCamelCase( `delete-${this._singularizedTableName(table)}-input`, ); }, - edgeField(this: Inflection, table: PgClass) { + edgeField(this: GraphileEngine.Inflection, table: PgClass) { return this.camelCase(`${this._singularizedTableName(table)}-edge`); }, - recordFunctionReturnType(this: Inflection, proc: PgProc) { + recordFunctionReturnType(this: GraphileEngine.Inflection, proc: PgProc) { return ( stringTag(proc, "resultTypeName") || this.upperCamelCase(`${this._functionName(proc)}-record`) ); }, - recordFunctionConnection(this: Inflection, proc: PgProc) { + recordFunctionConnection(this: GraphileEngine.Inflection, proc: PgProc) { return this.upperCamelCase(`${this._functionName(proc)}-connection`); }, - recordFunctionEdge(this: Inflection, proc: PgProc) { + recordFunctionEdge(this: GraphileEngine.Inflection, proc: PgProc) { return this.upperCamelCase( `${this.singularize(this._functionName(proc))}-edge`, ); }, - scalarFunctionConnection(this: Inflection, proc: PgProc) { + scalarFunctionConnection(this: GraphileEngine.Inflection, proc: PgProc) { return this.upperCamelCase(`${this._functionName(proc)}-connection`); }, - scalarFunctionEdge(this: Inflection, proc: PgProc) { + scalarFunctionEdge(this: GraphileEngine.Inflection, proc: PgProc) { return this.upperCamelCase( `${this.singularize(this._functionName(proc))}-edge`, ); }, - createField(this: Inflection, table: PgClass) { + createField(this: GraphileEngine.Inflection, table: PgClass) { return this.camelCase(`create-${this._singularizedTableName(table)}`); }, - createInputType(this: Inflection, table: PgClass) { + createInputType(this: GraphileEngine.Inflection, table: PgClass) { return this.upperCamelCase( `create-${this._singularizedTableName(table)}-input`, ); }, - createPayloadType(this: Inflection, table: PgClass) { + createPayloadType(this: GraphileEngine.Inflection, table: PgClass) { return this.upperCamelCase( `create-${this._singularizedTableName(table)}-payload`, ); }, - updatePayloadType(this: Inflection, table: PgClass) { + updatePayloadType(this: GraphileEngine.Inflection, table: PgClass) { return this.upperCamelCase( `update-${this._singularizedTableName(table)}-payload`, ); }, - deletePayloadType(this: Inflection, table: PgClass) { + deletePayloadType(this: GraphileEngine.Inflection, table: PgClass) { return this.upperCamelCase( `delete-${this._singularizedTableName(table)}-payload`, ); @@ -760,7 +781,7 @@ function identity(val: T): T { export function preventEmptyResult(obj: O): O { return Object.keys(obj).reduce((memo, key) => { const fn = obj[key]; - memo[key] = function(...args: any[]) { + memo[key] = function (...args: any[]) { const result = fn.apply(this, args); if (typeof result !== "string" || result.length === 0) { const stringifiedArgs = require("util").inspect(args); @@ -800,19 +821,19 @@ const omitWithRBACChecks = (omit: typeof baseOmit): typeof baseOmit => ( if ( (permission === READ || permission === ALL || permission === MANY) && !tableEntity.aclSelectable && - !tableEntity.attributes.some(attr => attr.aclSelectable) + !tableEntity.attributes.some((attr) => attr.aclSelectable) ) { return true; } else if ( permission === CREATE && !tableEntity.aclInsertable && - !tableEntity.attributes.some(attr => attr.aclInsertable) + !tableEntity.attributes.some((attr) => attr.aclInsertable) ) { return true; } else if ( permission === UPDATE && !tableEntity.aclUpdatable && - !tableEntity.attributes.some(attr => attr.aclUpdatable) + !tableEntity.attributes.some((attr) => attr.aclUpdatable) ) { return true; } else if (permission === DELETE && !tableEntity.aclDeletable) { @@ -825,7 +846,7 @@ const omitWithRBACChecks = (omit: typeof baseOmit): typeof baseOmit => ( // Have we got *any* permissions on the table? if ( klass.aclSelectable || - klass.attributes.some(attr => attr.aclSelectable) + klass.attributes.some((attr) => attr.aclSelectable) ) { // Yes; this is a regular table; omit if RBAC permissions tell us to. if ( @@ -874,12 +895,12 @@ const omitUnindexed = (omit: typeof baseOmit, hideIndexWarnings: boolean) => ( if (shouldOutputWarning) { entity["_omitUnindexedReadWarningGiven"] = true; // eslint-disable-next-line no-console - console.log( + console.warn( "%s", `Disabled 'read' permission for ${describePgEntity( entity, )} because it isn't indexed. For more information see https://graphile.org/postgraphile/best-practices/ To fix, perform\n\n CREATE INDEX ON ${`"${klass.namespaceName}"."${klass.name}"`}("${entity.keyAttributes - .map(a => a.name) + .map((a) => a.name) .join('", "')}");`, ); } @@ -904,7 +925,7 @@ export function describePgEntity( if (Object.keys(tags).length) { return ` (with smart comments: ${chalk.bold( Object.keys(tags) - .map(t => `@${t} ${tags[t]}`) + .map((t) => `@${t} ${tags[t]}`) .join(" | "), )})`; } @@ -960,7 +981,7 @@ function sqlCommentByAddingTags(entity: PgEntity, tagsToAdd: SmartTags) { const escape = (str: string) => str.replace( /['\\\b\f\n\r\t]/g, - chr => + (chr) => ({ "\b": "\\b", "\f": "\\f", @@ -983,7 +1004,7 @@ function sqlCommentByAddingTags(entity: PgEntity, tagsToAdd: SmartTags) { const tagValue = tags[tag]; const valueArray = Array.isArray(tagValue) ? tagValue : [tagValue]; const highlightOrNot = tag in tagsToAdd ? chalk.bold.green : identity; - valueArray.forEach(value => { + valueArray.forEach((value) => { memo.push( highlightOrNot( `@${escape(escape(tag))}${ @@ -1047,10 +1068,10 @@ export default (function PgBasicsPlugin( } builder.hook( "build", - build => { + (build) => { build.versions["graphile-build-pg"] = version; build.liveCoordinator.registerProvider(new PgLiveProvider()); - const buildExtensions: Partial = { + const buildExtensions: Partial = { graphileBuildPgVersion: version, pgSql: sql, pgStrictFunctions, @@ -1085,7 +1106,7 @@ export default (function PgBasicsPlugin( (inflection, build) => { // TODO:v5: move this to postgraphile-core const oldBuiltin = inflection.builtin; - inflection.builtin = function(name) { + inflection.builtin = function (name) { if (pgLegacyJsonUuid && name === "JSON") return "Json"; if (pgLegacyJsonUuid && name === "UUID") return "Uuid"; return oldBuiltin.call(this, name); @@ -1099,4 +1120,4 @@ export default (function PgBasicsPlugin( }, ["PgBasics"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgColumnDeprecationPlugin.ts b/packages/graphile-build-pg/src/plugins/PgColumnDeprecationPlugin.ts index 69bd217679..a92581956b 100644 --- a/packages/graphile-build-pg/src/plugins/PgColumnDeprecationPlugin.ts +++ b/packages/graphile-build-pg/src/plugins/PgColumnDeprecationPlugin.ts @@ -1,5 +1,3 @@ -import { Plugin } from "graphile-build"; - export default (function PgColumnDeprecationPlugin(builder) { builder.hook( "GraphQLObjectType:fields:field", @@ -23,4 +21,4 @@ export default (function PgColumnDeprecationPlugin(builder) { }, ["PgColumnDeprecation"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgColumnsPlugin.ts b/packages/graphile-build-pg/src/plugins/PgColumnsPlugin.ts index b214debbbb..a77bbdd58d 100644 --- a/packages/graphile-build-pg/src/plugins/PgColumnsPlugin.ts +++ b/packages/graphile-build-pg/src/plugins/PgColumnsPlugin.ts @@ -1,4 +1,3 @@ -import { Plugin, ContextGraphQLObjectTypeFieldsField } from "graphile-build"; import { ResolveTree } from "graphql-parse-resolve-info"; import { PgTypeModifier } from "./PgBasicsPlugin"; import { PgType } from "./PgIntrospectionPlugin"; @@ -7,7 +6,7 @@ import { nullableIf } from "../utils"; type PgGetSelectValueForFieldAndTypeAndModifier = ( ReturnType: import("graphql").GraphQLOutputType, - fieldContext: ContextGraphQLObjectTypeFieldsField, + fieldContext: GraphileEngine.ContextGraphQLObjectTypeFieldsField, parsedResolveInfoFragment: ResolveTree, sqlFullName: SQL, type: PgType, @@ -15,16 +14,18 @@ type PgGetSelectValueForFieldAndTypeAndModifier = ( parentQueryBuilder: QueryBuilder, ) => SQL; -declare module "graphile-build" { - interface Build { - pgGetSelectValueForFieldAndTypeAndModifier: PgGetSelectValueForFieldAndTypeAndModifier; +declare global { + namespace GraphileEngine { + interface Build { + pgGetSelectValueForFieldAndTypeAndModifier: PgGetSelectValueForFieldAndTypeAndModifier; + } } } export default (function PgColumnsPlugin(builder) { builder.hook( "build", - build => { + (build) => { const { pgSql: sql, pgTweakFragmentForTypeAndModifier, @@ -157,7 +158,7 @@ end { [fieldName]: fieldWithHooks( fieldName, - fieldContext => { + (fieldContext) => { const { type, typeModifier } = attr; const sqlColumn = sql.identifier(attr.name); const { addDataGenerator } = fieldContext; @@ -166,9 +167,9 @@ end attr.typeId, attr.typeModifier, ) || GraphQLString; - addDataGenerator(parsedResolveInfoFragment => { + addDataGenerator((parsedResolveInfoFragment) => { return { - pgQuery: queryBuilder => { + pgQuery: (queryBuilder) => { queryBuilder.select( getSelectValueForFieldAndTypeAndModifier( ReturnType, @@ -330,4 +331,4 @@ end }, ["PgColumns"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgComputedColumnsPlugin.ts b/packages/graphile-build-pg/src/plugins/PgComputedColumnsPlugin.ts index 4660d1aa07..cfc63d96d6 100644 --- a/packages/graphile-build-pg/src/plugins/PgComputedColumnsPlugin.ts +++ b/packages/graphile-build-pg/src/plugins/PgComputedColumnsPlugin.ts @@ -1,9 +1,8 @@ -import { Plugin, Build } from "graphile-build"; import { PgClass, PgProc, PgEntityKind, PgType } from "./PgIntrospectionPlugin"; // This interface is not official yet, don't rely on it. export const getComputedColumnDetails = ( - build: Build, + build: GraphileEngine.Build, table: PgClass, proc: PgProc, ) => { @@ -26,7 +25,9 @@ export const getComputedColumnDetails = ( if ( argTypes .slice(1) - .some(type => type.type === "c" && type.class && type.class.isSelectable) + .some( + (type) => type.type === "c" && type.class && type.class.isSelectable, + ) ) { // Accepts two input tables? Skip. return null; @@ -132,4 +133,4 @@ export default (function PgComputedColumnsPlugin( }, ["PgComputedColumns"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgConditionComputedColumnPlugin.ts b/packages/graphile-build-pg/src/plugins/PgConditionComputedColumnPlugin.ts index a721b22e29..6118eb72e6 100644 --- a/packages/graphile-build-pg/src/plugins/PgConditionComputedColumnPlugin.ts +++ b/packages/graphile-build-pg/src/plugins/PgConditionComputedColumnPlugin.ts @@ -1,9 +1,11 @@ -import { Plugin, Build } from "graphile-build"; import { getComputedColumnDetails } from "./PgComputedColumnsPlugin"; import assert from "assert"; import { PgClass, PgProc, PgType } from "./PgIntrospectionPlugin"; -function getCompatibleComputedColumns(build: Build, table: PgClass) { +function getCompatibleComputedColumns( + build: GraphileEngine.Build, + table: PgClass, +) { const { pgIntrospectionResultsByKind: introspectionResultsByKind, pgOmit: omit, @@ -191,7 +193,7 @@ export default (function PgConditionComputedColumnPlugin(builder) { const compatibleComputedColumns = getCompatibleComputedColumns( build, table, - ).map(o => { + ).map((o) => { const { proc, pseudoColumnName } = o; const fieldName = inflection.computedColumn( @@ -209,7 +211,7 @@ export default (function PgConditionComputedColumnPlugin(builder) { }); addArgDataGenerator(function connectionCondition({ condition }) { return { - pgQuery: queryBuilder => { + pgQuery: (queryBuilder) => { if (typeof condition === "object" && condition != null) { compatibleComputedColumns.forEach( ({ fieldName, sqlFnName, returnType }) => { @@ -233,4 +235,4 @@ export default (function PgConditionComputedColumnPlugin(builder) { }, ["PgConditionComputedColumn"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgConnectionArgCondition.ts b/packages/graphile-build-pg/src/plugins/PgConnectionArgCondition.ts index d14007c7ac..f3ee349063 100644 --- a/packages/graphile-build-pg/src/plugins/PgConnectionArgCondition.ts +++ b/packages/graphile-build-pg/src/plugins/PgConnectionArgCondition.ts @@ -1,11 +1,11 @@ -import { Plugin } from "graphile-build"; - -declare module "graphile-build" { - interface ScopeGraphQLInputObjectType { - isPgCondition?: boolean; - } - interface ScopeGraphQLInputObjectTypeFieldsField { - isPgConnectionConditionInputField?: boolean; +declare global { + namespace GraphileEngine { + interface ScopeGraphQLInputObjectType { + isPgCondition?: boolean; + } + interface ScopeGraphQLInputObjectTypeFieldsField { + isPgConnectionConditionInputField?: boolean; + } } } @@ -24,7 +24,7 @@ export default (function PgConnectionArgCondition(builder) { describePgEntity, sqlCommentByAddingTags, } = build; - introspectionResultsByKind.class.forEach(table => { + introspectionResultsByKind.class.forEach((table) => { // PERFORMANCE: These used to be .filter(...) calls if (!table.isSelectable || omit(table, "filter")) return; if (!table.namespace) return; @@ -36,7 +36,7 @@ export default (function PgConnectionArgCondition(builder) { { description: `A condition to be used against \`${tableTypeName}\` object types. All fields are tested for equality and combined with a logical ‘and.’`, name: inflection.conditionType(inflection.tableType(table)), - fields: context => { + fields: (context) => { const { fieldWithHooks } = context; return table.attributes.reduce((memo, attr) => { // PERFORMANCE: These used to be .filter(...) calls @@ -163,18 +163,18 @@ export default (function PgConnectionArgCondition(builder) { } const relevantAttributes = table.attributes.filter( - attr => pgColumnFilter(attr, build, context) && !omit(attr, "filter"), + (attr) => pgColumnFilter(attr, build, context) && !omit(attr, "filter"), ); addArgDataGenerator(function connectionCondition({ condition }) { return { - pgQuery: queryBuilder => { + pgQuery: (queryBuilder) => { if (typeof condition === "object" && condition != null) { - relevantAttributes.forEach(attr => { + relevantAttributes.forEach((attr) => { const fieldName = inflection.column(attr); const val = condition[fieldName]; if (val != null) { - queryBuilder.addLiveCondition(() => record => + queryBuilder.addLiveCondition(() => (record) => record[attr.name] === val, ); @@ -184,7 +184,7 @@ export default (function PgConnectionArgCondition(builder) { )} = ${gql2pg(val, attr.type, attr.typeModifier)}`, ); } else if (val === null) { - queryBuilder.addLiveCondition(() => record => + queryBuilder.addLiveCondition(() => (record) => record[attr.name] == null, ); @@ -215,4 +215,4 @@ export default (function PgConnectionArgCondition(builder) { }, ["PgConnectionArgCondition"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgConnectionArgFirstLastBeforeAfter.ts b/packages/graphile-build-pg/src/plugins/PgConnectionArgFirstLastBeforeAfter.ts index de8144fc18..6a6de5e63c 100644 --- a/packages/graphile-build-pg/src/plugins/PgConnectionArgFirstLastBeforeAfter.ts +++ b/packages/graphile-build-pg/src/plugins/PgConnectionArgFirstLastBeforeAfter.ts @@ -1,5 +1,3 @@ -import { Plugin } from "graphile-build"; - const base64Decode = (str: string) => Buffer.from(String(str), "base64").toString("utf8"); @@ -41,7 +39,7 @@ export default (function PgConnectionArgs(builder) { before, }) { return { - pgQuery: queryBuilder => { + pgQuery: (queryBuilder) => { if (typeof first === "number") { queryBuilder.first(first); } @@ -131,4 +129,4 @@ export default (function PgConnectionArgs(builder) { }, ["PgConnectionArgFirstLastBeforeAfter"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgConnectionArgOrderBy.ts b/packages/graphile-build-pg/src/plugins/PgConnectionArgOrderBy.ts index ea6e7c4ab8..b3d7733fa4 100644 --- a/packages/graphile-build-pg/src/plugins/PgConnectionArgOrderBy.ts +++ b/packages/graphile-build-pg/src/plugins/PgConnectionArgOrderBy.ts @@ -1,11 +1,12 @@ import isString from "lodash/isString"; -import { Plugin } from "graphile-build"; import { SQL } from "../QueryBuilder"; import { PgEntityKind } from "./PgIntrospectionPlugin"; -declare module "graphile-build" { - interface GraphileBuildOptions { - orderByNullsLast?: boolean | null; +declare global { + namespace GraphileEngine { + interface GraphileBuildOptions { + orderByNullsLast?: boolean | null; + } } } @@ -58,7 +59,7 @@ export default (function PgConnectionArgOrderBy(builder, { orderByNullsLast }) { sqlCommentByAddingTags, describePgEntity, } = build; - introspectionResultsByKind.class.forEach(table => { + introspectionResultsByKind.class.forEach((table) => { // PERFORMANCE: These used to be .filter(...) calls if (!table.isSelectable || omit(table, "order")) return; if (!table.namespace) return; @@ -196,9 +197,9 @@ export default (function PgConnectionArgOrderBy(builder, { orderByNullsLast }) { : null; return { pgCursorPrefix: cursorPrefixFromOrderBy(orderBy), - pgQuery: queryBuilder => { + pgQuery: (queryBuilder) => { if (orderBy != null) { - orderBy.forEach(item => { + orderBy.forEach((item) => { const { specs, unique } = item; const orders: OrderBySpec[] = isOrderBySpec(specs) ? [specs] @@ -242,4 +243,4 @@ export default (function PgConnectionArgOrderBy(builder, { orderByNullsLast }) { }, ["PgConnectionArgOrderBy"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgConnectionArgOrderByDefaultValue.ts b/packages/graphile-build-pg/src/plugins/PgConnectionArgOrderByDefaultValue.ts index 77b4d0972c..1fe4da6c6f 100644 --- a/packages/graphile-build-pg/src/plugins/PgConnectionArgOrderByDefaultValue.ts +++ b/packages/graphile-build-pg/src/plugins/PgConnectionArgOrderByDefaultValue.ts @@ -1,5 +1,3 @@ -import { Plugin } from "graphile-build"; - export default (function PgConnectionArgOrderByDefaultValue(builder) { builder.hook( "GraphQLObjectType:fields:field:args", @@ -40,8 +38,9 @@ export default (function PgConnectionArgOrderByDefaultValue(builder) { } const defaultValueEnum = - TableOrderByType.getValues().find(v => v.name === "PRIMARY_KEY_ASC") || - TableOrderByType.getValues()[0]; + TableOrderByType.getValues().find( + (v) => v.name === "PRIMARY_KEY_ASC", + ) || TableOrderByType.getValues()[0]; return extend( args, @@ -60,4 +59,4 @@ export default (function PgConnectionArgOrderByDefaultValue(builder) { }, ["PgConnectionArgOrderByDefaultValue"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgConnectionTotalCount.ts b/packages/graphile-build-pg/src/plugins/PgConnectionTotalCount.ts index 5c9251b2a2..79d78f067c 100644 --- a/packages/graphile-build-pg/src/plugins/PgConnectionTotalCount.ts +++ b/packages/graphile-build-pg/src/plugins/PgConnectionTotalCount.ts @@ -1,8 +1,8 @@ -import { Plugin } from "graphile-build"; - -declare module "graphile-build" { - interface ScopeGraphQLObjectTypeFieldsField { - isPgConnectionTotalCountField?: boolean; +declare global { + namespace GraphileEngine { + interface ScopeGraphQLObjectTypeFieldsField { + isPgConnectionTotalCountField?: boolean; + } } } @@ -44,7 +44,7 @@ export default (function PgConnectionTotalCount(builder) { ({ addDataGenerator }) => { addDataGenerator(() => { return { - pgAggregateQuery: aggregateQueryBuilder => { + pgAggregateQuery: (aggregateQueryBuilder) => { aggregateQueryBuilder.select(sql`count(1)`, "totalCount"); }, }; @@ -70,4 +70,4 @@ export default (function PgConnectionTotalCount(builder) { }, ["PgConnectionTotalCount"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgForwardRelationPlugin.ts b/packages/graphile-build-pg/src/plugins/PgForwardRelationPlugin.ts index 97c2c3321d..0e1018170c 100644 --- a/packages/graphile-build-pg/src/plugins/PgForwardRelationPlugin.ts +++ b/packages/graphile-build-pg/src/plugins/PgForwardRelationPlugin.ts @@ -1,10 +1,11 @@ -import { Plugin } from "graphile-build"; import debugFactory from "debug"; import { stringTag } from "./PgBasicsPlugin"; -declare module "graphile-build" { - interface ScopeGraphQLObjectTypeFieldsField { - isPgForwardRelationField?: boolean; +declare global { + namespace GraphileEngine { + interface ScopeGraphQLObjectTypeFieldsField { + isPgForwardRelationField?: boolean; + } } } @@ -62,7 +63,7 @@ export default (function PgForwardRelationPlugin(builder, { subscriptions }) { // This is a relation in which we (table) are local, and there's a foreign table const foreignKeyConstraints = table.constraints.filter( - con => con.type === "f", + (con) => con.type === "f", ); return extend( @@ -110,13 +111,13 @@ export default (function PgForwardRelationPlugin(builder, { subscriptions }) { const keys = constraint.keyAttributes; const foreignKeys = constraint.foreignKeyAttributes; - if (!keys.every(_ => _) || !foreignKeys.every(_ => _)) { + if (!keys.every((_) => _) || !foreignKeys.every((_) => _)) { throw new Error("Could not find key columns!"); } - if (keys.some(key => omit(key, "read"))) { + if (keys.some((key) => omit(key, "read"))) { return memo; } - if (foreignKeys.some(key => omit(key, "read"))) { + if (foreignKeys.some((key) => omit(key, "read"))) { return memo; } @@ -136,9 +137,9 @@ export default (function PgForwardRelationPlugin(builder, { subscriptions }) { getDataFromParsedResolveInfoFragment, addDataGenerator, }) => { - addDataGenerator(parsedResolveInfoFragment => { + addDataGenerator((parsedResolveInfoFragment) => { return { - pgQuery: queryBuilder => { + pgQuery: (queryBuilder) => { queryBuilder.select(() => { const resolveData = getDataFromParsedResolveInfoFragment( parsedResolveInfoFragment, @@ -159,7 +160,7 @@ export default (function PgForwardRelationPlugin(builder, { subscriptions }) { asJson: true, }, - innerQueryBuilder => { + (innerQueryBuilder) => { innerQueryBuilder.parentQueryBuilder = queryBuilder; if (subscriptions && table.primaryKeyConstraint) { queryBuilder.selectIdentifiers(table); @@ -238,4 +239,4 @@ export default (function PgForwardRelationPlugin(builder, { subscriptions }) { }, ["PgForwardRelation"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgIntrospectionPlugin.ts b/packages/graphile-build-pg/src/plugins/PgIntrospectionPlugin.ts index 92dc666660..f43339b994 100644 --- a/packages/graphile-build-pg/src/plugins/PgIntrospectionPlugin.ts +++ b/packages/graphile-build-pg/src/plugins/PgIntrospectionPlugin.ts @@ -1,4 +1,3 @@ -import { Plugin } from "graphile-build"; import { Client, PoolClient } from "pg"; import withPgClient, { getPgClientAndReleaserFromConfig, @@ -23,20 +22,22 @@ export type PgAugmentIntrospectionResultsFn = ( introspectionResult: RawishIntrospectionResults, ) => RawishIntrospectionResults; -declare module "graphile-build" { - interface GraphileBuildOptions { - pgEnableTags?: boolean; - pgThrowOnMissingSchema?: boolean; - pgIncludeExtensionResources?: boolean; - pgLegacyFunctionsOnly?: boolean; - pgSkipInstallingWatchFixtures?: boolean; - pgAugmentIntrospectionResults?: PgAugmentIntrospectionResultsFn; - pgOwnerConnectionString?: string; - } +declare global { + namespace GraphileEngine { + interface GraphileBuildOptions { + pgEnableTags?: boolean; + pgThrowOnMissingSchema?: boolean; + pgIncludeExtensionResources?: boolean; + pgLegacyFunctionsOnly?: boolean; + pgSkipInstallingWatchFixtures?: boolean; + pgAugmentIntrospectionResults?: PgAugmentIntrospectionResultsFn; + pgOwnerConnectionString?: string; + } - interface Build { - pgIntrospectionResultsByKind: PgIntrospectionResultsByKind; - pgAugmentIntrospectionResults?: PgAugmentIntrospectionResultsFn; + interface Build { + pgIntrospectionResultsByKind: PgIntrospectionResultsByKind; + pgAugmentIntrospectionResults?: PgAugmentIntrospectionResultsFn; + } } } @@ -320,16 +321,16 @@ function smartCommentConstraints( debugStr: string, ): PgAttribute[] => { const attributes = introspectionResults.attribute - .filter(a => a.classId === tbl.id) + .filter((a) => a.classId === tbl.id) .sort((a, b) => a.num - b.num); if (!cols) { const pk = introspectionResults.constraint.find( - c => c.classId == tbl.id && c.type === "p", + (c) => c.classId == tbl.id && c.type === "p", ); if (pk) { - return pk.keyAttributeNums.map(n => { - const attr = attributes.find(a => a.num === n); + return pk.keyAttributeNums.map((n) => { + const attr = attributes.find((a) => a.num === n); if (!attr) { throw new Error( `Could not find attribute '${n}' in '${describePgEntity(pk)}'`, @@ -343,8 +344,8 @@ function smartCommentConstraints( ); } } - return cols.map(colName => { - const attr = attributes.find(a => a.name === colName); + return cols.map((colName) => { + const attr = attributes.find((a) => a.name === colName); if (!attr) { throw new Error( `Could not find attribute '${colName}' in '${tbl.namespaceName}.${tbl.name}'`, @@ -355,9 +356,9 @@ function smartCommentConstraints( }; // First: primary keys - introspectionResults.class.forEach(klass => { + introspectionResults.class.forEach((klass) => { const namespace = introspectionResults.namespace.find( - n => n.id === klass.namespaceId, + (n) => n.id === klass.namespaceId, ); if (!namespace) { @@ -380,10 +381,10 @@ function smartCommentConstraints( `@primaryKey ${klass.tags.primaryKey}`, ); - attributes.forEach(attr => { + attributes.forEach((attr) => { attr.tags.notNull = true; }); - const keyAttributeNums = attributes.map(a => a.num); + const keyAttributeNums = attributes.map((a) => a.num); // Now we need to fake a constraint for this: const fakeConstraint: PgConstraint = { kind: PgEntityKind.CONSTRAINT, @@ -412,16 +413,16 @@ function smartCommentConstraints( } }); // Now primary keys are in place, we can apply foreign keys - introspectionResults.class.forEach(klass => { + introspectionResults.class.forEach((klass) => { const namespace = introspectionResults.namespace.find( - n => n.id === klass.namespaceId, + (n) => n.id === klass.namespaceId, ); if (!namespace) { return; } const getType = () => - introspectionResults.type.find(t => t.id === klass.typeId)!; + introspectionResults.type.find((t) => t.id === klass.typeId)!; const foreignKey = klass.tags.foreignKey || getType().tags.foreignKey; if (foreignKey) { const foreignKeys = @@ -469,16 +470,16 @@ function smartCommentConstraints( : null; const foreignKlass = introspectionResults.class.find( - k => k.name === foreignTable && k.namespaceName === foreignSchema, + (k) => k.name === foreignTable && k.namespaceName === foreignSchema, ); if (!foreignKlass) { throw new Error( - `@foreignKey smart comment referenced non-existant table/view '${foreignSchema}'.'${foreignTable}'. Note that this reference must use *database names* (i.e. it does not respect @name). (${fkSpecRaw})`, + `@foreignKey smart comment referenced non-existent table/view '${foreignSchema}'.'${foreignTable}'. Note that this reference must use *database names* (i.e. it does not respect @name). (${fkSpecRaw})`, ); } const foreignNamespace = introspectionResults.namespace.find( - n => n.id === foreignKlass.namespaceId, + (n) => n.id === foreignKlass.namespaceId, ); if (!foreignNamespace) { @@ -489,12 +490,12 @@ function smartCommentConstraints( klass, columns, `@foreignKey ${fkSpecRaw}`, - ).map(a => a.num); + ).map((a) => a.num); const foreignKeyAttributeNums = attributesByNames( foreignKlass, foreignColumns!, `@foreignKey ${fkSpecRaw}`, - ).map(a => a.num); + ).map((a) => a.num); // Now we need to fake a constraint for this: const fakeConstraint: PgConstraint = { @@ -542,7 +543,7 @@ export type RawishIntrospectionResults = Pick< /* The argument to this must not contain cyclic references! */ function deepClone(value: T): T { if (Array.isArray(value)) { - return value.map(val => deepClone(val)) as any; + return value.map((val) => deepClone(val)) as any; } else if (typeof value === "object" && value) { return Object.keys(value).reduce((memo, k) => { memo[k] = deepClone(value[k]); @@ -632,7 +633,7 @@ export default (async function PgIntrospectionPlugin( "procedure", "extension", "index", - ].forEach(kind => { + ].forEach((kind) => { result[kind].forEach((object: PgEntity) => { // Keep a copy of the raw comment object.comment = object.description; @@ -648,10 +649,10 @@ export default (async function PgIntrospectionPlugin( const extensionConfigurationClassIds = flatMap( result.extension, - e => e.configurationClassIds, + (e) => e.configurationClassIds, ); - result.class.forEach(klass => { + result.class.forEach((klass) => { klass.isExtensionConfigurationTable = extensionConfigurationClassIds.indexOf(klass.id) >= 0; }); @@ -665,7 +666,7 @@ export default (async function PgIntrospectionPlugin( "procedure", "extension", "index", - ].forEach(k => { + ].forEach((k) => { result[k].forEach(Object.freeze); }); @@ -676,9 +677,9 @@ export default (async function PgIntrospectionPlugin( ); const knownSchemas = rawishIntrospectionResultsByKind.namespace.map( - n => n.name, + (n) => n.name, ); - const missingSchemas = schemas.filter(s => knownSchemas.indexOf(s) < 0); + const missingSchemas = schemas.filter((s) => knownSchemas.indexOf(s) < 0); if (missingSchemas.length) { const errorMessage = `You requested to use schema '${schemas.join( "', '", @@ -730,11 +731,11 @@ export default (async function PgIntrospectionPlugin( lookup: { [id: string]: PgEntity }, missingOk = false, ) { - array.forEach(entry => { + array.forEach((entry) => { const key = entry[lookupAttr]; if (Array.isArray(key)) { entry[newAttr] = key - .map(innerKey => { + .map((innerKey) => { const result = lookup[innerKey]; if (innerKey && !result) { if (missingOk) { @@ -748,7 +749,7 @@ export default (async function PgIntrospectionPlugin( } return result; }) - .filter(_ => _); + .filter((_) => _); } else { const result = lookup[key]; if (key && !result) { @@ -767,7 +768,7 @@ export default (async function PgIntrospectionPlugin( } const augment = (introspectionResults: RawishIntrospectionResults) => { - [pgAugmentIntrospectionResults, smartCommentConstraints].forEach(fn => + [pgAugmentIntrospectionResults, smartCommentConstraints].forEach((fn) => fn ? fn(introspectionResults) : null, ); }; @@ -872,41 +873,41 @@ export default (async function PgIntrospectionPlugin( ); // Reverse arrayItemType -> arrayType - introspectionResultsByKind.type.forEach(type => { + introspectionResultsByKind.type.forEach((type) => { if (type.arrayItemType) { type.arrayItemType.arrayType = type; } }); // Table/type columns / constraints - introspectionResultsByKind.class.forEach(klass => { + introspectionResultsByKind.class.forEach((klass) => { klass.attributes = introspectionResultsByKind.attribute.filter( - attr => attr.classId === klass.id, + (attr) => attr.classId === klass.id, ); klass.canUseAsterisk = !klass.attributes.some( - attr => attr.columnLevelSelectGrant, + (attr) => attr.columnLevelSelectGrant, ); klass.constraints = introspectionResultsByKind.constraint.filter( - constraint => constraint.classId === klass.id, + (constraint) => constraint.classId === klass.id, ); klass.foreignConstraints = introspectionResultsByKind.constraint.filter( - constraint => constraint.foreignClassId === klass.id, + (constraint) => constraint.foreignClassId === klass.id, ); klass.primaryKeyConstraint = klass.constraints.find( - constraint => constraint.type === "p", + (constraint) => constraint.type === "p", ); }); // Constraint attributes - introspectionResultsByKind.constraint.forEach(constraint => { + introspectionResultsByKind.constraint.forEach((constraint) => { if (constraint.keyAttributeNums && constraint.class) { - constraint.keyAttributes = constraint.keyAttributeNums.map(nr => { + constraint.keyAttributes = constraint.keyAttributeNums.map((nr) => { const attr = constraint.class.attributes.find( - attr => attr.num === nr, + (attr) => attr.num === nr, ); if (!attr) { throw new Error( @@ -923,8 +924,10 @@ export default (async function PgIntrospectionPlugin( const { foreignClass } = constraint; if (constraint.foreignKeyAttributeNums && foreignClass) { constraint.foreignKeyAttributes = constraint.foreignKeyAttributeNums.map( - nr => { - const attr = foreignClass.attributes.find(attr => attr.num === nr); + (nr) => { + const attr = foreignClass.attributes.find( + (attr) => attr.num === nr, + ); if (!attr) { throw new Error( `Could not find attribute with index '${nr}' on '${describePgEntity( @@ -941,9 +944,9 @@ export default (async function PgIntrospectionPlugin( }); // Detect which columns and constraints are indexed - introspectionResultsByKind.index.forEach(index => { - const columns = index.attributeNums.map(nr => - index.class.attributes.find(attr => attr.num === nr), + introspectionResultsByKind.index.forEach((index) => { + const columns = index.attributeNums.map((nr) => + index.class.attributes.find((attr) => attr.num === nr), ); // Indexed column (for orderBy / filter): @@ -957,8 +960,8 @@ export default (async function PgIntrospectionPlugin( // Indexed constraints (for reverse relations): index.class.constraints - .filter(constraint => constraint.type === "f") - .forEach(constraint => { + .filter((constraint) => constraint.type === "f") + .forEach((constraint) => { if ( constraint.keyAttributeNums.every( (nr, idx) => index.attributeNums[idx] === nr, @@ -1027,7 +1030,7 @@ export default (async function PgIntrospectionPlugin( pgClient.on("notification", this._listener); pgClient.on("error", this._handleClientError); if (this.stopped) { - // In case watch mode was cancelled in the interrim. + // In case watch mode was cancelled in the interim. return this._releaseClient(); } else { await pgClient.query("listen postgraphile_watch"); @@ -1038,7 +1041,7 @@ export default (async function PgIntrospectionPlugin( const sql = `begin; ${watchSqlInner};`; await withPgClient( pgOwnerConnectionString || pgConfig, - async pgClient => { + async (pgClient) => { try { await pgClient.query(sql); } catch (error) { @@ -1141,7 +1144,7 @@ export default (async function PgIntrospectionPlugin( } } else if (payload.type === "drop") { const affectsOurSchemas = (payload.payload || []).some( - schemaName => schemas.indexOf(schemaName) >= 0, + (schemaName) => schemas.indexOf(schemaName) >= 0, ); if (affectsOurSchemas) { @@ -1151,7 +1154,7 @@ export default (async function PgIntrospectionPlugin( this._handleChange(); } else { throw new Error( - `Payload type '${(payload as any).type}' not recognised`, + `Payload type '${(payload as any).type}' not recognized`, ); } } catch (e) { @@ -1172,7 +1175,7 @@ export default (async function PgIntrospectionPlugin( this.client = null; this._reallyReleaseClient = null; if (pgClient) { - pgClient.query("unlisten postgraphile_watch").catch(e => { + pgClient.query("unlisten postgraphile_watch").catch((e) => { debug(`Error occurred trying to unlisten watch: ${e}`); }); pgClient.removeListener("notification", this._listener); @@ -1185,7 +1188,7 @@ export default (async function PgIntrospectionPlugin( } builder.registerWatcher( - async triggerRebuild => { + async (triggerRebuild) => { // In case we started listening before, clean up if (listener) { await listener.stop(); @@ -1205,7 +1208,7 @@ export default (async function PgIntrospectionPlugin( builder.hook( "build", - build => { + (build) => { const introspectionResultsByKind = introspectionResultsFromRaw( rawIntrospectionResultsByKind, build.pgAugmentIntrospectionResults, @@ -1222,4 +1225,4 @@ export default (async function PgIntrospectionPlugin( [], ["PgBasics"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgJWTPlugin.ts b/packages/graphile-build-pg/src/plugins/PgJWTPlugin.ts index 25610ed117..7844931555 100644 --- a/packages/graphile-build-pg/src/plugins/PgJWTPlugin.ts +++ b/packages/graphile-build-pg/src/plugins/PgJWTPlugin.ts @@ -1,20 +1,21 @@ -import { Plugin } from "graphile-build"; import { sign as signJwt } from "jsonwebtoken"; -declare module "graphile-build" { - interface GraphileBuildOptions { - pgJwtTypeIdentifier?: string; - pgJwtSecret?: - | string - | Buffer - | { - key: string | Buffer; - passphrase: string; - }; - pgJwtSignOptions?: import("jsonwebtoken").SignOptions; - } - interface ScopeGraphQLScalarType { - isPgJwtType?: boolean; +declare global { + namespace GraphileEngine { + interface GraphileBuildOptions { + pgJwtTypeIdentifier?: string; + pgJwtSecret?: + | string + | Buffer + | { + key: string | Buffer; + passphrase: string; + }; + pgJwtSignOptions?: import("jsonwebtoken").SignOptions; + } + interface ScopeGraphQLScalarType { + isPgJwtType?: boolean; + } } } @@ -52,7 +53,7 @@ export default (function PgJWTPlugin( ); const compositeClass = introspectionResultsByKind.class.find( - table => + (table) => !table.isSelectable && !table.isInsertable && !table.isUpdatable && @@ -78,7 +79,7 @@ export default (function PgJWTPlugin( const compositeTypeName = inflection.tableType(compositeClass); // NOTE: we deliberately do not create an input type - pgRegisterGqlTypeByTypeId(compositeType.id, cb => { + pgRegisterGqlTypeByTypeId(compositeType.id, (cb) => { const JWTType = newWithHooks( GraphQLScalarType, { @@ -135,10 +136,10 @@ export default (function PgJWTPlugin( cb(JWTType); pg2GqlMapper[compositeType.id] = { - map: value => { + map: (value) => { if (!value) return null; const values = Object.values(value); - if (values.some(v => v != null)) { + if (values.some((v) => v != null)) { return value; } return null; @@ -150,10 +151,10 @@ export default (function PgJWTPlugin( }, }; - pgTweaksByTypeId[compositeType.id] = fragment => + pgTweaksByTypeId[compositeType.id] = (fragment) => sql`json_build_object(${sql.join( compositeClass.attributes.map( - attr => + (attr) => sql`${sql.literal( attr.name, )}::text, ${pgTweakFragmentForTypeAndModifier( @@ -173,4 +174,4 @@ export default (function PgJWTPlugin( [], ["PgIntrospection"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgMutationCreatePlugin.ts b/packages/graphile-build-pg/src/plugins/PgMutationCreatePlugin.ts index 2331b69de1..fdea246496 100644 --- a/packages/graphile-build-pg/src/plugins/PgMutationCreatePlugin.ts +++ b/packages/graphile-build-pg/src/plugins/PgMutationCreatePlugin.ts @@ -1,19 +1,20 @@ -import { Plugin } from "graphile-build"; import debugFactory from "debug"; import { SQL } from "../QueryBuilder"; const debug = debugFactory("graphile-build-pg"); -declare module "graphile-build" { - interface ScopeGraphQLObjectType { - isPgCreatePayloadType?: boolean; - } - interface ScopeGraphQLObjectTypeFieldsField { - isPgCreateMutationField?: boolean; - isPgCreatePayloadResultField?: boolean; - } - interface ScopeGraphQLInputObjectType { - isPgCreateInputType?: boolean; +declare global { + namespace GraphileEngine { + interface ScopeGraphQLObjectType { + isPgCreatePayloadType?: boolean; + } + interface ScopeGraphQLObjectTypeFieldsField { + isPgCreateMutationField?: boolean; + isPgCreatePayloadResultField?: boolean; + } + interface ScopeGraphQLInputObjectType { + isPgCreateInputType?: boolean; + } } } @@ -185,10 +186,10 @@ export default (function PgMutationCreatePlugin( { [fieldName]: fieldWithHooks( fieldName, - context => { + (context) => { const { getDataFromParsedResolveInfoFragment } = context; const relevantAttributes = table.attributes.filter( - attr => + (attr) => pgColumnFilter(attr, build, context) && !omit(attr, "create"), ); @@ -230,7 +231,7 @@ export default (function PgMutationCreatePlugin( const sqlColumns: SQL[] = []; const sqlValues: SQL[] = []; const inputData = input[inflection.tableFieldName(table)]; - relevantAttributes.forEach(attr => { + relevantAttributes.forEach((attr) => { const fieldName = inflection.column(attr); const val = inputData[fieldName]; if ( @@ -311,4 +312,4 @@ insert into ${sql.identifier(table.namespace.name, table.name)} ${ [], ["PgTables"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgMutationPayloadEdgePlugin.ts b/packages/graphile-build-pg/src/plugins/PgMutationPayloadEdgePlugin.ts index 26c1141007..05d705f14c 100644 --- a/packages/graphile-build-pg/src/plugins/PgMutationPayloadEdgePlugin.ts +++ b/packages/graphile-build-pg/src/plugins/PgMutationPayloadEdgePlugin.ts @@ -1,15 +1,16 @@ -import { Plugin } from "graphile-build"; import isString from "lodash/isString"; import { SQL } from "../QueryBuilder"; import { OrderByValue, OrderBySpec } from "./PgConnectionArgOrderBy"; import { PgEntityKind } from "./PgIntrospectionPlugin"; -declare module "graphile-build" { - interface GraphileBuildOptions { - disableIssue397Fix?: boolean; - } - interface ScopeGraphQLObjectTypeFieldsField { - isPgMutationPayloadEdgeField?: boolean; +declare global { + namespace GraphileEngine { + interface GraphileBuildOptions { + disableIssue397Fix?: boolean; + } + interface ScopeGraphQLObjectTypeFieldsField { + isPgMutationPayloadEdgeField?: boolean; + } } } @@ -99,7 +100,9 @@ export default (function PgMutationPayloadEdgePlugin( const defaultValueEnum = canOrderBy && TableOrderByType instanceof GraphQLEnumType && - (TableOrderByType.getValues().find(v => v.name === "PRIMARY_KEY_ASC") || + (TableOrderByType.getValues().find( + (v) => v.name === "PRIMARY_KEY_ASC", + ) || TableOrderByType.getValues()[0]); return extend( fields, @@ -142,8 +145,8 @@ export default (function PgMutationPayloadEdgePlugin( : [rawOrderBy] : null; const order = - orderBy && orderBy.some(item => item.alias) - ? orderBy.filter(item => item.alias) + orderBy && orderBy.some((item) => item.alias) + ? orderBy.filter((item) => item.alias) : null; if (!order) { @@ -160,7 +163,9 @@ export default (function PgMutationPayloadEdgePlugin( return { ...edge, __cursor: - edge[`__order_${order.map(item => item.alias).join("__")}`], + edge[ + `__order_${order.map((item) => item.alias).join("__")}` + ], }; }, }, @@ -186,7 +191,7 @@ export default (function PgMutationPayloadEdgePlugin( const aliases: string[] = []; const expressions: SQL[] = []; let unique = false; - orderBy.forEach(item => { + orderBy.forEach((item) => { const { alias, specs, unique: itemIsUnique } = item; unique = unique || itemIsUnique || false; const orders: OrderBySpec[] = isOrderBySpecArray(specs) @@ -208,7 +213,7 @@ export default (function PgMutationPayloadEdgePlugin( }); if (!unique && primaryKeys) { // Add PKs - primaryKeys.forEach(key => { + primaryKeys.forEach((key) => { expressions.push( sql`${queryBuilder.getTableAlias()}.${sql.identifier( key.name, @@ -219,7 +224,7 @@ export default (function PgMutationPayloadEdgePlugin( if (aliases.length) { queryBuilder.select( sql`json_build_array(${sql.join( - aliases.map(a => sql`${sql.literal(a)}::text`), + aliases.map((a) => sql`${sql.literal(a)}::text`), ", ", )}, json_build_array(${sql.join(expressions, ", ")}))`, "__order_" + aliases.join("__"), @@ -238,4 +243,4 @@ export default (function PgMutationPayloadEdgePlugin( }, ["PgMutationPayloadEdge"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgMutationProceduresPlugin.ts b/packages/graphile-build-pg/src/plugins/PgMutationProceduresPlugin.ts index ee8e54eb7d..e3b768e06a 100644 --- a/packages/graphile-build-pg/src/plugins/PgMutationProceduresPlugin.ts +++ b/packages/graphile-build-pg/src/plugins/PgMutationProceduresPlugin.ts @@ -1,5 +1,3 @@ -import { Plugin } from "graphile-build"; - export default (function PgMutationProceduresPlugin(builder) { builder.hook( "GraphQLObjectType:fields", @@ -61,4 +59,4 @@ export default (function PgMutationProceduresPlugin(builder) { }, ["PgMutationProcedures"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgMutationUpdateDeletePlugin.ts b/packages/graphile-build-pg/src/plugins/PgMutationUpdateDeletePlugin.ts index 44390bc724..430bbc173a 100644 --- a/packages/graphile-build-pg/src/plugins/PgMutationUpdateDeletePlugin.ts +++ b/packages/graphile-build-pg/src/plugins/PgMutationUpdateDeletePlugin.ts @@ -1,32 +1,27 @@ -import { - Plugin, - GraphileObjectTypeConfig, - ScopeGraphQLObjectType, - GraphileResolverContext, - ContextGraphQLObjectTypeFieldsField, - GetDataFromParsedResolveInfoFragmentFunction, -} from "graphile-build"; +import { GetDataFromParsedResolveInfoFragmentFunction } from "graphile-build"; import debugFactory from "debug"; import { SQL } from "../QueryBuilder"; import { PgAttribute } from "./PgIntrospectionPlugin"; -declare module "graphile-build" { - interface ScopeGraphQLObjectType { - isPgUpdatePayloadType?: boolean; - isPgDeletePayloadType?: boolean; - } - interface ScopeGraphQLObjectTypeFieldsField { - isPgNodeMutation?: boolean; - isPgMutationPayloadDeletedNodeIdField?: boolean; - } - interface ScopeGraphQLInputObjectType { - isPgUpdateInputType?: boolean; - isPgUpdateNodeInputType?: boolean; - isPgDeleteInputType?: boolean; - isPgDeleteNodeInputType?: boolean; - isPgUpdateByKeysInputType?: boolean; - isPgDeleteByKeysInputType?: boolean; - pgKeys?: PgAttribute[]; +declare global { + namespace GraphileEngine { + interface ScopeGraphQLObjectType { + isPgUpdatePayloadType?: boolean; + isPgDeletePayloadType?: boolean; + } + interface ScopeGraphQLObjectTypeFieldsField { + isPgNodeMutation?: boolean; + isPgMutationPayloadDeletedNodeIdField?: boolean; + } + interface ScopeGraphQLInputObjectType { + isPgUpdateInputType?: boolean; + isPgUpdateNodeInputType?: boolean; + isPgDeleteInputType?: boolean; + isPgDeleteNodeInputType?: boolean; + isPgUpdateByKeysInputType?: boolean; + isPgDeleteByKeysInputType?: boolean; + pgKeys?: PgAttribute[]; + } } } @@ -96,7 +91,7 @@ export default (async function PgMutationUpdateDeletePlugin( table.isUpdatable && !omit(table, "update") && // Check at least one attribute is updatable - table.attributes.find(attr => !omit(attr, "update")); + table.attributes.find((attr) => !omit(attr, "update")); const canDelete = mode === "delete" && table.isDeletable && @@ -117,14 +112,14 @@ export default (async function PgMutationUpdateDeletePlugin( const TableType = tmpTableType; async function commonCodeRenameMe( - pgClient: GraphileResolverContext["pgClient"], + pgClient: GraphileEngine.GraphileResolverContext["pgClient"], resolveInfo: import("graphql").GraphQLResolveInfo, getDataFromParsedResolveInfoFragment: GetDataFromParsedResolveInfoFragmentFunction, PayloadType: import("graphql").GraphQLObjectType, args: { [argName: string]: any }, condition: SQL, - context: ContextGraphQLObjectTypeFieldsField, - resolveContext: GraphileResolverContext, + context: GraphileEngine.ContextGraphQLObjectTypeFieldsField, + resolveContext: GraphileEngine.GraphileResolverContext, ) { const { input } = args; const parsedResolveInfoFragment = parseResolveInfo( @@ -151,7 +146,7 @@ export default (async function PgMutationUpdateDeletePlugin( inflection.patchField(inflection.tableFieldName(table)) ]; - table.attributes.forEach(attr => { + table.attributes.forEach((attr) => { // PERFORMANCE: These used to be .filter(...) calls if (!pgColumnFilter(attr, build, context)) return; if (omit(attr, "update")) return; @@ -228,7 +223,7 @@ returning *`; } if (TableType) { const uniqueConstraints = table.constraints.filter( - con => con.type === "u" || con.type === "p", + (con) => con.type === "u" || con.type === "p", ); const Table = pgGetGqlTypeByTypeIdAndModifier( @@ -252,7 +247,10 @@ returning *`; ); } - const payloadSpec: GraphileObjectTypeConfig = { + const payloadSpec: GraphileEngine.GraphileObjectTypeConfig< + any, + any + > = { name: inflection[ mode === "delete" ? "deletePayloadType" @@ -304,7 +302,7 @@ returning *`; ]; if (gens) { - gens.forEach(gen => addDataGenerator(gen)); + gens.forEach((gen) => addDataGenerator(gen)); } return { type: GraphQLID, @@ -328,7 +326,7 @@ returning *`; ); }, }; - const payloadScope: ScopeGraphQLObjectType = { + const payloadScope: GraphileEngine.ScopeGraphQLObjectType = { __origin: `Adding table ${mode} mutation payload type for ${describePgEntity( table, )}. You can rename the table's GraphQL type via a 'Smart Comment':\n\n ${sqlCommentByAddingTags( @@ -430,7 +428,7 @@ returning *`; { [fieldName]: fieldWithHooks( fieldName, - context => { + (context) => { const { getDataFromParsedResolveInfoFragment, } = context; @@ -449,7 +447,7 @@ returning *`; async resolve( _parent, args, - resolveContext: GraphileResolverContext, + resolveContext: GraphileEngine.GraphileResolverContext, resolveInfo, ) { const { input } = args; @@ -512,19 +510,19 @@ returning *`; } // Unique - uniqueConstraints.forEach(constraint => { + uniqueConstraints.forEach((constraint) => { if (omit(constraint, mode)) { return; } const keys = constraint.keyAttributes; - if (!keys.every(_ => _)) { + if (!keys.every((_) => _)) { throw new Error( `Consistency error: could not find an attribute in the constraint when building the ${mode} mutation for ${describePgEntity( table, )}!`, ); } - if (keys.some(key => omit(key, "read"))) { + if (keys.some((key) => omit(key, "read"))) { return; } const fieldName = inflection[ @@ -614,7 +612,7 @@ returning *`; { [fieldName]: fieldWithHooks( fieldName, - context => { + (context) => { const { getDataFromParsedResolveInfoFragment, } = context; @@ -646,7 +644,7 @@ returning *`; args, sql`(${sql.join( keys.map( - key => + (key) => sql`${sql.identifier( key.name, )} = ${gql2pg( @@ -691,4 +689,4 @@ returning *`; }, ["PgMutationUpdateDelete"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgNodeAliasPostGraphile.ts b/packages/graphile-build-pg/src/plugins/PgNodeAliasPostGraphile.ts index 92cc0ac0da..8fa46809d5 100644 --- a/packages/graphile-build-pg/src/plugins/PgNodeAliasPostGraphile.ts +++ b/packages/graphile-build-pg/src/plugins/PgNodeAliasPostGraphile.ts @@ -1,5 +1,3 @@ -import { Plugin } from "graphile-build"; - export default (async function PgNodeAliasPostGraphile(builder) { builder.hook( "GraphQLObjectType", @@ -22,4 +20,4 @@ export default (async function PgNodeAliasPostGraphile(builder) { }, ["PgNodeAliasPostGraphile"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgOrderAllColumnsPlugin.ts b/packages/graphile-build-pg/src/plugins/PgOrderAllColumnsPlugin.ts index 8013853b33..039cad1845 100644 --- a/packages/graphile-build-pg/src/plugins/PgOrderAllColumnsPlugin.ts +++ b/packages/graphile-build-pg/src/plugins/PgOrderAllColumnsPlugin.ts @@ -1,4 +1,3 @@ -import { Plugin } from "graphile-build"; import { OrderByValue } from "./PgConnectionArgOrderBy"; export default (function PgOrderAllColumnsPlugin(builder) { @@ -87,4 +86,4 @@ export default (function PgOrderAllColumnsPlugin(builder) { }, ["PgOrderAllColumns"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgOrderByPrimaryKeyPlugin.ts b/packages/graphile-build-pg/src/plugins/PgOrderByPrimaryKeyPlugin.ts index b4a109bf5c..00e26a0314 100644 --- a/packages/graphile-build-pg/src/plugins/PgOrderByPrimaryKeyPlugin.ts +++ b/packages/graphile-build-pg/src/plugins/PgOrderByPrimaryKeyPlugin.ts @@ -1,5 +1,3 @@ -import { Plugin } from "graphile-build"; - export default (function PgOrderByPrimaryKeyPlugin(builder) { builder.hook( "GraphQLEnumType:values", @@ -24,7 +22,7 @@ export default (function PgOrderByPrimaryKeyPlugin(builder) { PRIMARY_KEY_ASC: { value: { alias: "primary_key_asc", - specs: primaryKeys.map(key => [key.name, true]), + specs: primaryKeys.map((key) => [key.name, true]), unique: true, }, }, @@ -32,7 +30,7 @@ export default (function PgOrderByPrimaryKeyPlugin(builder) { PRIMARY_KEY_DESC: { value: { alias: "primary_key_desc", - specs: primaryKeys.map(key => [key.name, false]), + specs: primaryKeys.map((key) => [key.name, false]), unique: true, }, }, @@ -43,4 +41,4 @@ export default (function PgOrderByPrimaryKeyPlugin(builder) { }, ["PgOrderByPrimaryKey"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgOrderComputedColumnsPlugin.ts b/packages/graphile-build-pg/src/plugins/PgOrderComputedColumnsPlugin.ts index 99bb950045..09468d13e3 100644 --- a/packages/graphile-build-pg/src/plugins/PgOrderComputedColumnsPlugin.ts +++ b/packages/graphile-build-pg/src/plugins/PgOrderComputedColumnsPlugin.ts @@ -1,4 +1,3 @@ -import { Plugin } from "graphile-build"; import { getComputedColumnDetails } from "./PgComputedColumnsPlugin"; import { PgProc, PgEntityKind } from "./PgIntrospectionPlugin"; import QueryBuilder, { SQL } from "../QueryBuilder"; @@ -139,4 +138,4 @@ export default (function PgOrderComputedColumnsPlugin(builder) { }, ["PgOrderComputedColumns"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgQueryProceduresPlugin.ts b/packages/graphile-build-pg/src/plugins/PgQueryProceduresPlugin.ts index 2313832785..39898a90d8 100644 --- a/packages/graphile-build-pg/src/plugins/PgQueryProceduresPlugin.ts +++ b/packages/graphile-build-pg/src/plugins/PgQueryProceduresPlugin.ts @@ -1,4 +1,3 @@ -import { Plugin } from "graphile-build"; import { PgType } from "./PgIntrospectionPlugin"; export default (function PgQueryProceduresPlugin( @@ -47,7 +46,7 @@ export default (function PgQueryProceduresPlugin( }, [] as PgType[]); if ( argTypes.some( - type => + (type) => type.type === "c" && type.class && type.class.isSelectable, ) ) { @@ -111,4 +110,4 @@ export default (function PgQueryProceduresPlugin( }, ["PgQueryProcedures"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgRecordFunctionConnectionPlugin.ts b/packages/graphile-build-pg/src/plugins/PgRecordFunctionConnectionPlugin.ts index b9a2d7fc62..e294b8e325 100644 --- a/packages/graphile-build-pg/src/plugins/PgRecordFunctionConnectionPlugin.ts +++ b/packages/graphile-build-pg/src/plugins/PgRecordFunctionConnectionPlugin.ts @@ -1,8 +1,3 @@ -import { - Plugin, - GraphileObjectTypeConfig, - ScopeGraphQLObjectType, -} from "graphile-build"; import { base64, nullableIf } from "../utils"; export default (function PgRecordFunctionConnectionPlugin( @@ -34,7 +29,7 @@ export default (function PgRecordFunctionConnectionPlugin( const Cursor = getTypeByName("Cursor"); - introspectionResultsByKind.procedure.forEach(proc => { + introspectionResultsByKind.procedure.forEach((proc) => { // PERFORMANCE: These used to be .filter(...) calls if (!proc.returnsSet) return; if (!proc.namespace) return; @@ -65,7 +60,7 @@ export default (function PgRecordFunctionConnectionPlugin( throw new Error("Cursor type not found"); } - const edgeSpec: GraphileObjectTypeConfig = { + const edgeSpec: GraphileEngine.GraphileObjectTypeConfig = { name: inflection.recordFunctionEdge(proc), description: `A \`${ getNamedType(NodeType).name @@ -119,7 +114,7 @@ export default (function PgRecordFunctionConnectionPlugin( }; }, }; - const edgeScope: ScopeGraphQLObjectType = { + const edgeScope: GraphileEngine.ScopeGraphQLObjectType = { __origin: `Adding function result edge type for ${describePgEntity( proc, )}. You can rename the function's GraphQL field (and its dependent types) via a 'Smart Comment':\n\n ${sqlCommentByAddingTags( @@ -227,4 +222,4 @@ export default (function PgRecordFunctionConnectionPlugin( }, ["PgRecordFunctionConnection"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgRecordReturnTypesPlugin.ts b/packages/graphile-build-pg/src/plugins/PgRecordReturnTypesPlugin.ts index 4cc3e9e1b1..f8e5582eee 100644 --- a/packages/graphile-build-pg/src/plugins/PgRecordReturnTypesPlugin.ts +++ b/packages/graphile-build-pg/src/plugins/PgRecordReturnTypesPlugin.ts @@ -1,13 +1,10 @@ -import { - Plugin, - GraphileObjectTypeConfig, - ScopeGraphQLObjectType, -} from "graphile-build"; import { PgType } from "./PgIntrospectionPlugin"; -declare module "graphile-build" { - interface ScopeGraphQLObjectType { - isRecordReturnType?: boolean; +declare global { + namespace GraphileEngine { + interface ScopeGraphQLObjectType { + isRecordReturnType?: boolean; + } } } @@ -34,7 +31,7 @@ export default (function PgRecordReturnTypesPlugin(builder) { throw new Error("Required Build properties were not present"); } - introspectionResultsByKind.procedure.forEach(proc => { + introspectionResultsByKind.procedure.forEach((proc) => { // PERFORMANCE: These used to be .filter(...) calls if (!proc.namespace) return; if (omit(proc, "execute")) return; @@ -88,7 +85,10 @@ export default (function PgRecordReturnTypesPlugin(builder) { firstArgType.class, ) : inflection.functionQueryName(proc); - const recordReturnSpec: GraphileObjectTypeConfig = { + const recordReturnSpec: GraphileEngine.GraphileObjectTypeConfig< + any, + any + > = { name: inflection.recordFunctionReturnType(proc), description: `The return type of our \`${procFieldName}\` ${ isMutation ? "mutation" : "query" @@ -109,7 +109,7 @@ export default (function PgRecordReturnTypesPlugin(builder) { ); if (!fieldType) { throw new Error( - `Could not determing GraphQL type for record returning function '${proc.name}'`, + `Could not determine GraphQL type for record returning function '${proc.name}'`, ); } @@ -122,15 +122,15 @@ export default (function PgRecordReturnTypesPlugin(builder) { } memo[fieldName] = fieldWithHooks( fieldName, - fieldContext => { + (fieldContext) => { const { addDataGenerator } = fieldContext; - addDataGenerator(parsedResolveInfoFragment => { + addDataGenerator((parsedResolveInfoFragment) => { const safeAlias = getSafeAliasFromAlias( parsedResolveInfoFragment.alias, ); return { - pgQuery: queryBuilder => { + pgQuery: (queryBuilder) => { queryBuilder.select( getSelectValueForFieldAndTypeAndModifier( fieldType, @@ -172,7 +172,7 @@ export default (function PgRecordReturnTypesPlugin(builder) { }, {}); }, }; - const recordReturnScope: ScopeGraphQLObjectType = { + const recordReturnScope: GraphileEngine.ScopeGraphQLObjectType = { __origin: `Adding record return type for ${describePgEntity( proc, )}. You can rename the function's GraphQL field (and its dependent types) via a 'Smart Comment':\n\n ${sqlCommentByAddingTags( @@ -200,4 +200,4 @@ export default (function PgRecordReturnTypesPlugin(builder) { }, ["PgRecordReturnTypes"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgRowByUniqueConstraint.ts b/packages/graphile-build-pg/src/plugins/PgRowByUniqueConstraint.ts index 570c5bdb04..71629ae0b6 100644 --- a/packages/graphile-build-pg/src/plugins/PgRowByUniqueConstraint.ts +++ b/packages/graphile-build-pg/src/plugins/PgRowByUniqueConstraint.ts @@ -1,10 +1,11 @@ -import { Plugin } from "graphile-build"; import debugSql from "./debugSql"; import QueryBuilder from "../QueryBuilder"; -declare module "graphile-build" { - interface ScopeGraphQLObjectTypeFieldsField { - isPgRowByUniqueConstraintField?: boolean; +declare global { + namespace GraphileEngine { + interface ScopeGraphQLObjectTypeFieldsField { + isPgRowByUniqueConstraintField?: boolean; + } } } @@ -57,18 +58,18 @@ export default (async function PgRowByUniqueConstraint( if (TableType) { const uniqueConstraints = table.constraints.filter( - con => con.type === "u" || con.type === "p", + (con) => con.type === "u" || con.type === "p", ); - uniqueConstraints.forEach(constraint => { + uniqueConstraints.forEach((constraint) => { if (omit(constraint, "read")) { return; } const keys = constraint.keyAttributes; - if (keys.some(key => omit(key, "read"))) { + if (keys.some((key) => omit(key, "read"))) { return; } - if (!keys.every(_ => _)) { + if (!keys.every((_) => _)) { throw new Error( "Consistency error: could not find an attribute!", ); @@ -79,13 +80,13 @@ export default (async function PgRowByUniqueConstraint( constraint, ); - const keysIncludingMeta = keys.map(key => ({ + const keysIncludingMeta = keys.map((key) => ({ ...key, sqlIdentifier: sql.identifier(key.name), columnName: inflection.column(key), })); - // Precomputation for performance + // Pre-computation for performance const queryFromResolveDataOptions = { useAsterisk: false, // Because it's only a single relation, no need }; @@ -159,7 +160,7 @@ export default (async function PgRowByUniqueConstraint( undefined, resolveData, queryFromResolveDataOptions, - queryBuilder => + (queryBuilder) => queryFromResolveDataCallback(queryBuilder, args), resolveContext, resolveInfo.rootValue, @@ -191,4 +192,4 @@ export default (async function PgRowByUniqueConstraint( }, ["PgRowByUniqueConstraint"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgRowNode.ts b/packages/graphile-build-pg/src/plugins/PgRowNode.ts index cb5908c8b2..e38416120b 100644 --- a/packages/graphile-build-pg/src/plugins/PgRowNode.ts +++ b/packages/graphile-build-pg/src/plugins/PgRowNode.ts @@ -1,10 +1,11 @@ -import { Plugin } from "graphile-build"; import debugSql from "./debugSql"; import { PgEntityKind } from "./PgIntrospectionPlugin"; -declare module "graphile-build" { - interface ScopeGraphQLObjectTypeFieldsField { - isPgNodeQuery?: boolean; +declare global { + namespace GraphileEngine { + interface ScopeGraphQLObjectTypeFieldsField { + isPgNodeQuery?: boolean; + } } } @@ -71,7 +72,7 @@ export default (async function PgRowNode(builder, { subscriptions }) { { useAsterisk: false, // Because it's only a single relation, no need }, - queryBuilder => { + (queryBuilder) => { if (subscriptions && table.primaryKeyConstraint) { queryBuilder.selectIdentifiers(table); } @@ -223,7 +224,7 @@ export default (async function PgRowNode(builder, { subscriptions }) { { useAsterisk: false, // Because it's only a single relation, no need }, - queryBuilder => { + (queryBuilder) => { if (subscriptions && table.primaryKeyConstraint) { queryBuilder.selectIdentifiers(table); } @@ -280,4 +281,4 @@ export default (async function PgRowNode(builder, { subscriptions }) { }, ["PgRowNode"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgScalarFunctionConnectionPlugin.ts b/packages/graphile-build-pg/src/plugins/PgScalarFunctionConnectionPlugin.ts index 6219cdaac9..681f65923a 100644 --- a/packages/graphile-build-pg/src/plugins/PgScalarFunctionConnectionPlugin.ts +++ b/packages/graphile-build-pg/src/plugins/PgScalarFunctionConnectionPlugin.ts @@ -1,9 +1,3 @@ -import { - Plugin, - GraphileObjectTypeConfig, - ScopeGraphQLObjectType, -} from "graphile-build"; - const base64 = (str: string) => Buffer.from(String(str)).toString("base64"); export default (function PgScalarFunctionConnectionPlugin(builder) { @@ -33,7 +27,7 @@ export default (function PgScalarFunctionConnectionPlugin(builder) { } = build; const Cursor = getTypeByName("Cursor"); - introspectionResultsByKind.procedure.forEach(proc => { + introspectionResultsByKind.procedure.forEach((proc) => { // PERFORMANCE: These used to be .filter(...) calls if (!proc.returnsSet) return; if (!proc.namespace) return; @@ -68,7 +62,7 @@ export default (function PgScalarFunctionConnectionPlugin(builder) { ); } - const edgeSpec: GraphileObjectTypeConfig = { + const edgeSpec: GraphileEngine.GraphileObjectTypeConfig = { name: inflection.scalarFunctionEdge(proc), description: `A \`${ getNamedType(NodeType).name @@ -109,7 +103,7 @@ export default (function PgScalarFunctionConnectionPlugin(builder) { }; }, }; - const edgeScope: ScopeGraphQLObjectType = { + const edgeScope: GraphileEngine.ScopeGraphQLObjectType = { __origin: `Adding function result edge type for ${describePgEntity( proc, )}. You can rename the function's GraphQL field (and its dependent types) via a 'Smart Comment':\n\n ${sqlCommentByAddingTags( @@ -207,4 +201,4 @@ export default (function PgScalarFunctionConnectionPlugin(builder) { [], ["PgTypes"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgTablesPlugin.ts b/packages/graphile-build-pg/src/plugins/PgTablesPlugin.ts index c9d1789907..c610005c0a 100644 --- a/packages/graphile-build-pg/src/plugins/PgTablesPlugin.ts +++ b/packages/graphile-build-pg/src/plugins/PgTablesPlugin.ts @@ -1,53 +1,50 @@ -import { - Plugin, - GraphileObjectTypeConfig, - ScopeGraphQLObjectType, -} from "graphile-build"; import { PgType, PgAttribute } from "./PgIntrospectionPlugin"; import { PgTypeModifier } from "./PgBasicsPlugin"; import { nullableIf, base64 } from "../utils"; -declare module "graphile-build" { - interface ScopeGraphQLObjectType { - isPgRowType?: boolean; - isPgCompoundType?: boolean; - isPgCompositeType?: boolean; - - /* Connections */ - isEdgeType?: boolean; - isPgRowEdgeType?: boolean; - isConnectionType?: boolean; - isPgRowConnectionType?: boolean; - nodeType?: import("graphql").GraphQLType /* But not a list */; - edgeType?: import("graphql").GraphQLObjectType; - } +declare global { + namespace GraphileEngine { + interface ScopeGraphQLObjectType { + isPgRowType?: boolean; + isPgCompoundType?: boolean; + isPgCompositeType?: boolean; + + /* Connections */ + isEdgeType?: boolean; + isPgRowEdgeType?: boolean; + isConnectionType?: boolean; + isPgRowConnectionType?: boolean; + nodeType?: import("graphql").GraphQLType /* But not a list */; + edgeType?: import("graphql").GraphQLObjectType; + } - interface ScopeGraphQLInputObjectType { - /** Mutation input type? */ - isInputType?: boolean; - - /** Mutation input for 'update' mutations */ - isPgPatch?: boolean; - - /** Mutation input for the 'base' variant */ - isPgBaseInput?: boolean; - - isPgRowType?: boolean; - isPgCompoundType?: boolean; - pgAddSubfield?: ( - fieldName: string, - attrName: string, - pgType: PgType, - spec: import("graphql").GraphQLInputFieldConfig, - typeModifier?: PgTypeModifier, - ) => import("graphql").GraphQLInputFieldConfig; + interface ScopeGraphQLInputObjectType { + /** Mutation input type? */ + isInputType?: boolean; + + /** Mutation input for 'update' mutations */ + isPgPatch?: boolean; + + /** Mutation input for the 'base' variant */ + isPgBaseInput?: boolean; + + isPgRowType?: boolean; + isPgCompoundType?: boolean; + pgAddSubfield?: ( + fieldName: string, + attrName: string, + pgType: PgType, + spec: import("graphql").GraphQLInputFieldConfig, + typeModifier?: PgTypeModifier, + ) => import("graphql").GraphQLInputFieldConfig; + } } } const hasNonNullKey = (row: { [key: string]: unknown }) => { if ( Array.isArray(row.__identifiers) && - row.__identifiers.every(i => i != null) + row.__identifiers.every((i) => i != null) ) { return true; } @@ -82,7 +79,7 @@ export default (function PgTablesPlugin( if ( (identifiers && Array.isArray(identifiers) && - identifiers.some(i => i !== null)) || + identifiers.some((i) => i !== null)) || hasNonNullKey(row) ) { return row; @@ -130,7 +127,7 @@ export default (function PgTablesPlugin( throw new Error("Expected 'Cursor' type to exist"); } - introspectionResultsByKind.class.forEach(table => { + introspectionResultsByKind.class.forEach((table) => { const tablePgType = table.type; if (!tablePgType) { throw new Error("Could not determine the type for this table"); @@ -158,7 +155,7 @@ export default (function PgTablesPlugin( | null = null; pgRegisterGqlTypeByTypeId( tablePgType.id, - cb => { + (cb) => { if (TableType) { return TableType; } @@ -168,7 +165,10 @@ export default (function PgTablesPlugin( `Register was called but there's already a mapper in place for '${tablePgType.id}'!`, ); } - const tableSpec: GraphileObjectTypeConfig = { + const tableSpec: GraphileEngine.GraphileObjectTypeConfig< + any, + any + > = { description: table.description || tablePgType.description || null, name: tableTypeName, interfaces: () => { @@ -186,7 +186,7 @@ export default (function PgTablesPlugin( // Enable nodeId interface addDataGeneratorForField(nodeIdFieldName, () => { return { - pgQuery: queryBuilder => { + pgQuery: (queryBuilder) => { queryBuilder.selectIdentifiers(table); }, }; @@ -390,7 +390,7 @@ export default (function PgTablesPlugin( } pg2GqlMapper[tablePgType.id] = { - map: _ => _, + map: (_) => _, unmap: (obj, modifier) => { let fieldLookup: FieldSpecMap; if (modifier === "patch") { @@ -428,7 +428,10 @@ export default (function PgTablesPlugin( }, }; - const edgeSpec: GraphileObjectTypeConfig = { + const edgeSpec: GraphileEngine.GraphileObjectTypeConfig< + any, + any + > = { description: `A \`${tableTypeName}\` edge in the connection.`, name: inflection.edge(TableType.name), fields: ({ fieldWithHooks }) => { @@ -438,7 +441,7 @@ export default (function PgTablesPlugin( ({ addDataGenerator }) => { addDataGenerator(() => ({ usesCursor: true, - pgQuery: queryBuilder => { + pgQuery: (queryBuilder) => { if (primaryKeys) { queryBuilder.selectIdentifiers(table); } @@ -501,7 +504,7 @@ export default (function PgTablesPlugin( {}, false, { - withQueryBuilder: queryBuilder => { + withQueryBuilder: (queryBuilder) => { if (subscriptions) { queryBuilder.selectIdentifiers(table); } @@ -535,7 +538,10 @@ export default (function PgTablesPlugin( const PageInfo = getTypeByName(inflection.builtin("PageInfo")); /*const ConnectionType = */ - const connectionSpec: GraphileObjectTypeConfig = { + const connectionSpec: GraphileEngine.GraphileObjectTypeConfig< + any, + any + > = { description: `A connection to a list of \`${tableTypeName}\` values.`, name: inflection.connection(TableType.name), fields: ({ @@ -595,7 +601,7 @@ export default (function PgTablesPlugin( {}, false, { - withQueryBuilder: queryBuilder => { + withQueryBuilder: (queryBuilder) => { if (subscriptions) { queryBuilder.selectIdentifiers(table); } @@ -646,7 +652,7 @@ export default (function PgTablesPlugin( }; }, }; - const connectionScope: ScopeGraphQLObjectType = { + const connectionScope: GraphileEngine.ScopeGraphQLObjectType = { __origin: `Adding table connection type for ${describePgEntity( table, )}. You can rename the table's GraphQL type via a 'Smart Comment':\n\n ${sqlCommentByAddingTags( @@ -747,4 +753,4 @@ export default (function PgTablesPlugin( [], ["PgTypes"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build-pg/src/plugins/PgTypesPlugin.ts b/packages/graphile-build-pg/src/plugins/PgTypesPlugin.ts index c79490c35d..0efaa02986 100644 --- a/packages/graphile-build-pg/src/plugins/PgTypesPlugin.ts +++ b/packages/graphile-build-pg/src/plugins/PgTypesPlugin.ts @@ -1,12 +1,3 @@ -import { - Plugin, - GraphileObjectTypeConfig, - ScopeGraphQLObjectType, - GraphileInputObjectTypeConfig, - Build, - Inflection, - ResolvedLookAhead, -} from "graphile-build"; import makeGraphQLJSONType from "../GraphQLJSON"; import rawParseInterval from "postgres-interval"; import LRU from "@graphile/lru"; @@ -30,7 +21,10 @@ interface GqlInputTypeByTypeIdAndModifier { }; } -type FragmentTweaker = (fragment: SQL, resolveData: ResolvedLookAhead) => SQL; +type FragmentTweaker = ( + fragment: SQL, + resolveData: GraphileEngine.ResolvedLookAhead, +) => SQL; type TypeGen = ( set: (type: T) => void, @@ -44,100 +38,102 @@ type Pg2GqlMapper = { }; }; -declare module "graphile-build" { - interface Build { - pgGqlTypeByTypeIdAndModifier?: GqlTypeByTypeIdAndModifier; - pgGqlInputTypeByTypeIdAndModifier?: GqlInputTypeByTypeIdAndModifier; - - pgRegisterGqlTypeByTypeId( - typeId: string, - gen: TypeGen, - yieldToExisting?: boolean, - ): void; - pgRegisterGqlInputTypeByTypeId( - typeId: string, - gen: TypeGen, - yieldToExisting?: boolean, - ): void; - pgGetGqlTypeByTypeIdAndModifier( - typeId: string, - typeModifier: PgTypeModifier, - useFallback?: boolean, - ): import("graphql").GraphQLOutputType | null; - pgGetGqlInputTypeByTypeIdAndModifier( - typeId: string, - typeModifier: PgTypeModifier, - useFallback?: boolean, - ): import("graphql").GraphQLInputType | null; - pg2GqlMapper: Pg2GqlMapper; - pg2gql: (val: any, type: PgType) => any; - pg2gqlForType: (type: PgType) => (value: any) => any; - gql2pg: (val: any, type: PgType, modifier?: PgTypeModifier) => SQL; - pgTweakFragmentForTypeAndModifier: ( - fragment: SQL, - type: PgType, - typeModifier: PgTypeModifier, - resolveData: ResolvedLookAhead, - ) => SQL; - pgTweaksByTypeId: { - [typeId: string]: FragmentTweaker; - }; - pgTweaksByTypeIdAndModifer: { - [modifier: string]: { +declare global { + namespace GraphileEngine { + interface Build { + pgGqlTypeByTypeIdAndModifier?: GqlTypeByTypeIdAndModifier; + pgGqlInputTypeByTypeIdAndModifier?: GqlInputTypeByTypeIdAndModifier; + + pgRegisterGqlTypeByTypeId( + typeId: string, + gen: TypeGen, + yieldToExisting?: boolean, + ): void; + pgRegisterGqlInputTypeByTypeId( + typeId: string, + gen: TypeGen, + yieldToExisting?: boolean, + ): void; + pgGetGqlTypeByTypeIdAndModifier( + typeId: string, + typeModifier: PgTypeModifier, + useFallback?: boolean, + ): import("graphql").GraphQLOutputType | null; + pgGetGqlInputTypeByTypeIdAndModifier( + typeId: string, + typeModifier: PgTypeModifier, + useFallback?: boolean, + ): import("graphql").GraphQLInputType | null; + pg2GqlMapper: Pg2GqlMapper; + pg2gql: (val: any, type: PgType) => any; + pg2gqlForType: (type: PgType) => (value: any) => any; + gql2pg: (val: any, type: PgType, modifier?: PgTypeModifier) => SQL; + pgTweakFragmentForTypeAndModifier: ( + fragment: SQL, + type: PgType, + typeModifier: PgTypeModifier, + resolveData: ResolvedLookAhead, + ) => SQL; + pgTweaksByTypeId: { [typeId: string]: FragmentTweaker; }; - }; - } + pgTweaksByTypeIdAndModifier: { + [modifier: string]: { + [typeId: string]: FragmentTweaker; + }; + }; + } - interface GraphileBuildOptions { - pgExtendedTypes?: boolean; - pgSkipHstore?: boolean; - pgUseCustomNetworkScalars?: boolean; - disableIssue390Fix?: boolean; - } + interface GraphileBuildOptions { + pgExtendedTypes?: boolean; + pgSkipHstore?: boolean; + pgUseCustomNetworkScalars?: boolean; + disableIssue390Fix?: boolean; + } - interface ScopeGraphQLObjectType { - pgIntrospection?: PgEntity; - pgIntrospectionTable?: PgClass; - pgSubtypeIntrospection?: PgEntity; - pgTypeModifier?: PgTypeModifier; - isIntervalType?: boolean; - isPointType?: boolean; - isPgRangeType?: boolean; - isPgRangeBoundType?: boolean; - } + interface ScopeGraphQLObjectType { + pgIntrospection?: PgEntity; + pgIntrospectionTable?: PgClass; + pgSubtypeIntrospection?: PgEntity; + pgTypeModifier?: PgTypeModifier; + isIntervalType?: boolean; + isPointType?: boolean; + isPgRangeType?: boolean; + isPgRangeBoundType?: boolean; + } - interface ScopeGraphQLObjectTypeFieldsField { - pgFieldIntrospection?: PgEntity; - pgFieldIntrospectionTable?: PgClass; - pgFieldConstraint?: PgConstraint; - isPgFieldConnection?: boolean; - isPgFieldSimpleCollection?: boolean; - isCursorField?: boolean; - } + interface ScopeGraphQLObjectTypeFieldsField { + pgFieldIntrospection?: PgEntity; + pgFieldIntrospectionTable?: PgClass; + pgFieldConstraint?: PgConstraint; + isPgFieldConnection?: boolean; + isPgFieldSimpleCollection?: boolean; + isCursorField?: boolean; + } - interface ScopeGraphQLInputObjectType { - pgIntrospection?: PgEntity; - pgSubtypeIntrospection?: PgEntity; - pgTypeModifier?: PgTypeModifier; - isIntervalInputType?: boolean; - isPointInputType?: boolean; - isPgRangeInputType?: boolean; - isPgRangeBoundInputType?: boolean; - } + interface ScopeGraphQLInputObjectType { + pgIntrospection?: PgEntity; + pgSubtypeIntrospection?: PgEntity; + pgTypeModifier?: PgTypeModifier; + isIntervalInputType?: boolean; + isPointInputType?: boolean; + isPgRangeInputType?: boolean; + isPgRangeBoundInputType?: boolean; + } - interface ScopeGraphQLInputObjectTypeFieldsField { - pgFieldIntrospection?: PgEntity; - } + interface ScopeGraphQLInputObjectTypeFieldsField { + pgFieldIntrospection?: PgEntity; + } - interface ScopeGraphQLEnumType { - pgIntrospection?: PgEntity; - isPgEnumType?: boolean; - isPgRowSortEnum?: boolean; - } + interface ScopeGraphQLEnumType { + pgIntrospection?: PgEntity; + isPgEnumType?: boolean; + isPgRowSortEnum?: boolean; + } - interface Inflection { - hstoreType(): string; + interface Inflection { + hstoreType(): string; + } } } @@ -173,7 +169,7 @@ export default (function PgTypesPlugin( // XXX: most of this should be in an "init" hook, not a "build" hook builder.hook( "build", - build => { + (build) => { const { pgIntrospectionResultsByKind: rawIntrospectionResultsByKind, getTypeByName, @@ -249,7 +245,7 @@ export default (function PgTypesPlugin( ): ((valueFromPostgres: any) => any) => { if (pg2GqlMapper[type.id]) { const map = pg2GqlMapper[type.id].map; - return val => (isNull(val) ? null : map(val)); + return (val) => (isNull(val) ? null : map(val)); } else if (type.domainBaseType) { return pg2gqlForType(type.domainBaseType); } else if (type.isPgArray) { @@ -257,7 +253,7 @@ export default (function PgTypesPlugin( throw new Error("isPgArray without arrayItemType"); } const elementHandler = pg2gqlForType(type.arrayItemType); - return val => { + return (val) => { if (isNull(val)) return null; if (!Array.isArray(val)) { throw new Error( @@ -316,7 +312,7 @@ export default (function PgTypesPlugin( ); } return sql`array[${sql.join( - val.map(v => gql2pg(v, arrayItemType, modifier)), + val.map((v) => gql2pg(v, arrayItemType, modifier)), ", ", )}]::${sql.identifier(type.namespaceName)}.${sql.identifier( type.name, @@ -360,13 +356,13 @@ export default (function PgTypesPlugin( }, }; }; - const intervalSpec: GraphileObjectTypeConfig = { + const intervalSpec: GraphileEngine.GraphileObjectTypeConfig = { name: inflection.builtin("Interval"), description: "An interval of time that has passed where the smallest distinct unit is a second.", fields: makeIntervalFields(), }; - const intervalScope: ScopeGraphQLObjectType = { + const intervalScope: GraphileEngine.ScopeGraphQLObjectType = { isIntervalType: true, }; const GQLInterval = newWithHooks( @@ -401,9 +397,9 @@ export default (function PgTypesPlugin( new GraphQLScalarType({ name, description, - serialize: value => String(value), - parseValue: value => String(value), - parseLiteral: ast => { + serialize: (value) => String(value), + parseValue: (value) => String(value), + parseLiteral: (ast) => { if (ast.kind !== Kind.STRING) { throw new Error("Can only parse string values"); } @@ -437,7 +433,7 @@ export default (function PgTypesPlugin( const tweakToText = (fragment: SQL) => sql`(${fragment})::text`; const tweakToNumericText = (fragment: SQL) => sql`(${fragment})::numeric::text`; - const pgTweaksByTypeIdAndModifer: { + const pgTweaksByTypeIdAndModifier: { [modifier: string]: { [typeId: string]: FragmentTweaker; }; @@ -467,12 +463,12 @@ export default (function PgTypesPlugin( fragment: SQL, type: PgType, typeModifier: PgTypeModifier, - resolveData: ResolvedLookAhead, + resolveData: GraphileEngine.ResolvedLookAhead, ): SQL => { const typeModifierKey = typeModifier != null ? typeModifier : -1; const tweaker: FragmentTweaker = - (pgTweaksByTypeIdAndModifer[type.id] && - pgTweaksByTypeIdAndModifer[type.id][typeModifierKey]) || + (pgTweaksByTypeIdAndModifier[type.id] && + pgTweaksByTypeIdAndModifier[type.id][typeModifierKey]) || pgTweaksByTypeId[type.id]; if (tweaker) { return tweaker(fragment, resolveData); @@ -656,20 +652,20 @@ export default (function PgTypesPlugin( if (pgExtendedTypes) { pg2GqlMapper[114] = { map: identity, - unmap: o => sql.value(jsonStringify(o)), + unmap: (o) => sql.value(jsonStringify(o)), }; } else { pg2GqlMapper[114] = { map: jsonStringify, - unmap: str => sql.value(str), + unmap: (str) => sql.value(str), }; } pg2GqlMapper[3802] = pg2GqlMapper[114]; // jsonb // interval pg2GqlMapper[1186] = { - map: str => parseInterval(str), - unmap: o => { + map: (str) => parseInterval(str), + unmap: (o) => { const keys = [ "seconds", "minutes", @@ -690,8 +686,8 @@ export default (function PgTypesPlugin( }; pg2GqlMapper[790] = { - map: _ => _, - unmap: val => sql`(${sql.value(val)})::money`, + map: (_) => _, + unmap: (val) => sql`(${sql.value(val)})::money`, }; // point @@ -701,11 +697,11 @@ export default (function PgTypesPlugin( const [x, y] = f .substr(1, f.length - 2) .split(",") - .map(f => parseFloat(f)); + .map((f) => parseFloat(f)); return { x, y }; } }, - unmap: o => sql`point(${sql.value(o.x)}, ${sql.value(o.y)})`, + unmap: (o) => sql`point(${sql.value(o.x)}, ${sql.value(o.y)})`, }; // TODO: add more support for geometric types @@ -721,7 +717,9 @@ export default (function PgTypesPlugin( typeId: string, typeModifier: PgTypeModifier, ) => { - const type = introspectionResultsByKind.type.find(t => t.id === typeId); + const type = introspectionResultsByKind.type.find( + (t) => t.id === typeId, + ); if (!type) { throw new Error( `Could not find type with oid '${typeId}' in the introspection results`, @@ -839,7 +837,10 @@ export default (function PgTypesPlugin( | import("graphql").GraphQLInputObjectType | null = null; if (!Range) { - const rangeBoundSpec: GraphileObjectTypeConfig = { + const rangeBoundSpec: GraphileEngine.GraphileObjectTypeConfig< + any, + any + > = { name: inflection.rangeBoundType(gqlRangeSubType.name), description: "The value at one end of a range. A range can either include this value, or not.", @@ -874,7 +875,7 @@ export default (function PgTypesPlugin( ); } - const rangeBoundInputSpec: GraphileInputObjectTypeConfig = { + const rangeBoundInputSpec: GraphileEngine.GraphileInputObjectTypeConfig = { name: inflection.inputType(RangeBound.name), description: "The value at one end of a range. A range can either include this value, or not.", @@ -908,7 +909,10 @@ export default (function PgTypesPlugin( ); } - const rangeSpec: GraphileObjectTypeConfig = { + const rangeSpec: GraphileEngine.GraphileObjectTypeConfig< + any, + any + > = { name: inflection.rangeType(gqlRangeSubType.name), description: `A range of \`${gqlRangeSubType.name}\`.`, fields: { @@ -923,7 +927,7 @@ export default (function PgTypesPlugin( }, }, }; - const rangeScope: ScopeGraphQLObjectType = { + const rangeScope: GraphileEngine.ScopeGraphQLObjectType = { isPgRangeType: true, pgIntrospection: type, pgSubtypeIntrospection: subtype, @@ -936,7 +940,7 @@ export default (function PgTypesPlugin( ); } - const rangeInputSpec: GraphileInputObjectTypeConfig = { + const rangeInputSpec: GraphileEngine.GraphileInputObjectTypeConfig = { name: inflection.inputType(Range.name), description: `A range of \`${gqlRangeSubType.name}\`.`, fields: { @@ -980,12 +984,12 @@ export default (function PgTypesPlugin( gqlInputTypeByTypeIdAndModifier[type.id][ typeModifierKey ] = RangeInput; - if (pgTweaksByTypeIdAndModifer[type.id] === undefined) { - pgTweaksByTypeIdAndModifer[type.id] = {}; + if (pgTweaksByTypeIdAndModifier[type.id] === undefined) { + pgTweaksByTypeIdAndModifier[type.id] = {}; } - pgTweaksByTypeIdAndModifer[type.id][ - typeModifierKey - ] = fragment => sql`\ + pgTweaksByTypeIdAndModifier[type.id][typeModifierKey] = ( + fragment, + ) => sql`\ case when (${fragment}) is null then null else json_build_object( @@ -1152,7 +1156,7 @@ end`; } if (!gqlTypeByTypeIdAndModifier[typeId][typeModifierKey]) { const type = introspectionResultsByKind.type.find( - t => t.id === typeId, + (t) => t.id === typeId, ); if (!type) { @@ -1320,7 +1324,7 @@ end`; fragment: SQL, type: PgType, typeModifier: PgTypeModifier, - resolveData: ResolvedLookAhead, + resolveData: GraphileEngine.ResolvedLookAhead, ) { if (typeModifier === undefined) { // eslint-disable-next-line no-console @@ -1337,7 +1341,7 @@ end`; } // END OF DEPRECATIONS! - const buildExtension: Partial = { + const buildExtension: Partial = { pgRegisterGqlTypeByTypeId: registerGqlTypeByTypeId, pgRegisterGqlInputTypeByTypeId: registerGqlInputTypeByTypeId, pgGetGqlTypeByTypeIdAndModifier: getGqlTypeByTypeIdAndModifier, @@ -1348,7 +1352,7 @@ end`; gql2pg, pgTweakFragmentForTypeAndModifier, pgTweaksByTypeId, - pgTweaksByTypeIdAndModifer, + pgTweaksByTypeIdAndModifier, }; // DEPRECATED METHODS: @@ -1376,7 +1380,7 @@ end`; // This hook allows you to append a plugin which renames the KeyValueHash // (hstore) type name. if (pgSkipHstore) return inflection; - const newInflectors: Partial = { + const newInflectors: Partial = { hstoreType() { return "KeyValueHash"; }, @@ -1388,7 +1392,7 @@ end`; builder.hook( "build", - build => { + (build) => { // This hook tells graphile-build-pg about the hstore database type so it // knows how to express it in input/output. if (pgSkipHstore) return build; @@ -1415,7 +1419,7 @@ end`; // Check we have the hstore extension const hstoreExtension = introspectionResultsByKind.extension.find( - e => e.name === "hstore", + (e) => e.name === "hstore", ); if (!hstoreExtension) { @@ -1424,7 +1428,7 @@ end`; // Get the 'hstore' type itself: const hstoreType = introspectionResultsByKind.type.find( - t => + (t) => t.name === "hstore" && t.namespaceId === hstoreExtension.namespaceId, ); @@ -1448,7 +1452,7 @@ end`; // node-postgres parses hstore for us, no action required on map map: identity, // When unmapping we need to convert back to hstore - unmap: o => + unmap: (o) => sql`(${sql.value(hstoreStringify(o))}::${sql.identifier( hstoreType.namespaceName, hstoreType.name, @@ -1463,7 +1467,7 @@ end`; ); /* End of hstore type */ -} as Plugin); +} as GraphileEngine.Plugin); interface HStoreValue { [key: string]: string | null; diff --git a/packages/graphile-build-pg/src/plugins/makeProcField.ts b/packages/graphile-build-pg/src/plugins/makeProcField.ts index d9fc26aa01..b54e86bec8 100644 --- a/packages/graphile-build-pg/src/plugins/makeProcField.ts +++ b/packages/graphile-build-pg/src/plugins/makeProcField.ts @@ -1,21 +1,16 @@ -import { - Build, - FieldWithHooksFunction, - ScopeGraphQLObjectTypeFieldsField, - ScopeGraphQLObjectType, - GraphileInputObjectTypeConfig, -} from "graphile-build"; import { PgProc, PgType, SmartTags } from "./PgIntrospectionPlugin"; import { SQL } from "pg-sql2"; import debugSql from "./debugSql"; import chalk from "chalk"; import { ResolveTree } from "graphql-parse-resolve-info"; -import QueryBuilder, { GraphileResolverContext } from "../QueryBuilder"; +import QueryBuilder from "../QueryBuilder"; import { nullableIf } from "../utils"; -declare module "graphile-build" { - interface GraphileBuildOptions { - pgForbidSetofFunctionsToReturnNull?: boolean; +declare global { + namespace GraphileEngine { + interface GraphileBuildOptions { + pgForbidSetofFunctionsToReturnNull?: boolean; + } } } @@ -32,14 +27,14 @@ const firstValue = (obj: { [key: string]: any }): any => { export default function makeProcField( fieldName: string, proc: PgProc, - build: Build, + build: GraphileEngine.Build, { fieldWithHooks, computed = false, isMutation = false, forceList = false, }: { - fieldWithHooks: FieldWithHooksFunction; + fieldWithHooks: GraphileEngine.FieldWithHooksFunction; computed?: boolean; isMutation?: boolean; forceList?: boolean; @@ -192,10 +187,10 @@ export default function makeProcField( ); } let type: import("graphql").GraphQLOutputType; - const fieldScope: ScopeGraphQLObjectTypeFieldsField = { + const fieldScope: GraphileEngine.ScopeGraphQLObjectTypeFieldsField = { fieldName, }; - const payloadTypeScope: ScopeGraphQLObjectType = {}; + const payloadTypeScope: GraphileEngine.ScopeGraphQLObjectType = {}; fieldScope.pgFieldIntrospection = proc; payloadTypeScope.pgIntrospection = proc; let returnFirstValueAsValue = false; @@ -392,7 +387,7 @@ export default function makeProcField( sqlMutationQuery: SQL, functionAlias: SQL, parentQueryBuilder: QueryBuilder | null, - resolveContext?: GraphileResolverContext, + resolveContext?: GraphileEngine.GraphileResolverContext, resolveInfo?: import("graphql").GraphQLResolveInfo, ) { const resolveData = getDataFromParsedResolveInfoFragment( @@ -425,7 +420,7 @@ export default function makeProcField( (isTableLike || isRecordLike), }, - innerQueryBuilder => { + (innerQueryBuilder) => { if (parentQueryBuilder) { innerQueryBuilder.parentQueryBuilder = parentQueryBuilder; } @@ -473,7 +468,7 @@ export default function makeProcField( if (computed) { addDataGenerator((parsedResolveInfoFragment, ReturnType) => { return { - pgQuery: queryBuilder => { + pgQuery: (queryBuilder) => { queryBuilder.select(() => { const parentTableAlias = queryBuilder.getTableAlias(); const functionAlias = sql.identifier(Symbol()); @@ -582,7 +577,7 @@ export default function makeProcField( ); ReturnType = PayloadType; - const inputTypeSpec: GraphileInputObjectTypeConfig = { + const inputTypeSpec: GraphileEngine.GraphileInputObjectTypeConfig = { name: inflection.functionInputType(proc), description: `All input for the \`${inflection.functionMutationName( proc, @@ -666,7 +661,7 @@ export default function makeProcField( } else { const makeRecordLive: (record: any) => void = subscriptions && isTableLike && returnTypeTable && liveRecord - ? record => { + ? (record) => { if (record) { liveRecord( "pg", @@ -675,7 +670,7 @@ export default function makeProcField( ); } } - : _record => {}; + : (_record) => {}; if (proc.returnsSet && !isMutation && !forceList) { // Connection - do not make live (the connection will handle this) return addStartEndCursor({ @@ -795,7 +790,7 @@ export default function makeProcField( const result = (() => { const makeRecordLive: (record: any) => void = subscriptions && isTableLike && returnTypeTable && liveRecord - ? record => { + ? (record) => { if (record) { liveRecord( "pg", @@ -804,7 +799,7 @@ export default function makeProcField( ); } } - : _record => {}; + : (_record) => {}; if (returnFirstValueAsValue) { // `returnFirstValueAsValue` implies either `isMutation` is // true, or `ConnectionType` does not exist - either way, @@ -816,7 +811,7 @@ export default function makeProcField( return pg2gql(fv, returnType); }); } else if (proc.returnsSet || rawReturnType.isPgArray) { - return rows.map(v => { + return rows.map((v) => { const fv = firstValue(v); makeRecordLive(fv); return pg2gql(fv, returnType); @@ -839,7 +834,7 @@ export default function makeProcField( }); } else if (proc.returnsSet || rawReturnType.isPgArray) { // List - return rows.map(row => { + return rows.map((row) => { makeRecordLive(row); return pg2gql(row, returnType); }); diff --git a/packages/graphile-build-pg/src/plugins/pgField.ts b/packages/graphile-build-pg/src/plugins/pgField.ts index 8e8ba7225a..949e3a4467 100644 --- a/packages/graphile-build-pg/src/plugins/pgField.ts +++ b/packages/graphile-build-pg/src/plugins/pgField.ts @@ -1,17 +1,8 @@ -import { - Build, - ContextGraphQLObjectTypeFieldsField, - ScopeGraphQLObjectTypeFieldsField, - ScopeGraphQLInputObjectTypeFieldsField, -} from "graphile-build"; import { PgType } from "./PgIntrospectionPlugin"; import QueryBuilder, { SQL } from "../QueryBuilder"; -import { FieldWithHooksFunction } from "graphile-build"; import { ResolveTree } from "graphql-parse-resolve-info"; import { PgTypeModifier } from "./PgBasicsPlugin"; -export { FieldWithHooksFunction }; - interface PgFieldOptions { pgType?: PgType; pgTypeModifier?: PgTypeModifier; @@ -25,18 +16,23 @@ interface PgFieldOptions { type FieldSpec = import("graphql").GraphQLFieldConfig; export default function pgField( - build: Build, - fieldWithHooks: FieldWithHooksFunction, + build: GraphileEngine.Build, + fieldWithHooks: GraphileEngine.FieldWithHooksFunction, fieldName: string, fieldSpecGenerator: - | ((fieldContext: ContextGraphQLObjectTypeFieldsField) => FieldSpec) + | (( + fieldContext: GraphileEngine.ContextGraphQLObjectTypeFieldsField, + ) => FieldSpec) | FieldSpec, - inFieldScope: Omit = {}, + inFieldScope: Omit< + GraphileEngine.ScopeGraphQLObjectTypeFieldsField, + "fieldName" + > = {}, whereFrom: ((queryBuilder: QueryBuilder) => SQL) | false = false, options: PgFieldOptions = {}, ) { - const fieldScope: ScopeGraphQLInputObjectTypeFieldsField = { + const fieldScope: GraphileEngine.ScopeGraphQLInputObjectTypeFieldsField = { ...inFieldScope, fieldName, }; @@ -49,7 +45,7 @@ export default function pgField( } = build; return fieldWithHooks( fieldName, - fieldContext => { + (fieldContext) => { const fieldSpec = typeof fieldSpecGenerator === "function" ? fieldSpecGenerator(fieldContext) @@ -71,7 +67,7 @@ export default function pgField( getDataFromParsedResolveInfoFragment, addDataGenerator, } = fieldContext; - addDataGenerator(parsedResolveInfoFragment => { + addDataGenerator((parsedResolveInfoFragment) => { const safeAlias = getSafeAliasFromAlias( parsedResolveInfoFragment.alias, ); @@ -87,7 +83,7 @@ export default function pgField( resolveData.usesCursor.length ? { usesCursor: true } : null), - pgQuery: queryBuilder => { + pgQuery: (queryBuilder) => { queryBuilder.select(() => { const tableAlias = whereFrom === false @@ -107,7 +103,7 @@ export default function pgField( whereFrom === false ? { onlyJsonField: true } : { asJson: true }, - innerQueryBuilder => { + (innerQueryBuilder) => { innerQueryBuilder.parentQueryBuilder = queryBuilder; if (typeof options.withQueryBuilder === "function") { options.withQueryBuilder(innerQueryBuilder, { diff --git a/packages/graphile-build-pg/src/plugins/viaTemporaryTable.ts b/packages/graphile-build-pg/src/plugins/viaTemporaryTable.ts index 9072354ad6..4a05a22637 100644 --- a/packages/graphile-build-pg/src/plugins/viaTemporaryTable.ts +++ b/packages/graphile-build-pg/src/plugins/viaTemporaryTable.ts @@ -106,13 +106,13 @@ export default async function viaTemporaryTable( ); const { rows } = result; - const firstNonNullRow = rows.find(row => row !== null); + const firstNonNullRow = rows.find((row) => row !== null); // TODO: we should be able to have `pg` not interpret the results as // objects and instead just return them as arrays - then we can just do // `row[0]`. PR welcome! const firstKey = firstNonNullRow && Object.keys(firstNonNullRow)[0]; - const rawValues = rows.map(row => row && row[firstKey]); - const values = rawValues.filter(rawValue => rawValue !== null); + const rawValues = rows.map((row) => row && row[firstKey]); + const values = rawValues.filter((rawValue) => rawValue !== null); const sqlValuesAlias = sql.identifier(Symbol()); const convertFieldBack = isPgClassLike ? sql`\ @@ -139,7 +139,7 @@ select ${sql.join( ", ", )} from (values ${sql.join( - values.map(value => sql`(${sql.value(value)}::text[])`), + values.map((value) => sql`(${sql.value(value)}::text[])`), ", ", )}) as ${sqlValuesAlias}(output_value_list)` : sql`\ @@ -152,7 +152,7 @@ from unnest((${sql.value(values)})::text[]) str`; sql`with ${sqlResultSourceAlias} as (${convertFieldBack}) ${sqlResultQuery}`, ) : { rows: [] }; - const finalRows = rawValues.map(rawValue => + const finalRows = rawValues.map((rawValue) => /* * We can't simply return 'null' here because this is expected to have * come from PG, and that would never return 'null' for a row - only diff --git a/packages/graphile-build-pg/src/queryFromResolveDataFactory.ts b/packages/graphile-build-pg/src/queryFromResolveDataFactory.ts index 0ee61388ef..0486abaf03 100644 --- a/packages/graphile-build-pg/src/queryFromResolveDataFactory.ts +++ b/packages/graphile-build-pg/src/queryFromResolveDataFactory.ts @@ -4,30 +4,31 @@ import sql, { SQL } from "pg-sql2"; import isSafeInteger from "lodash/isSafeInteger"; import flatten from "lodash/flatten"; import assert from "assert"; -import { ResolvedLookAhead, GraphileResolverContext } from "graphile-build"; type QueryBuilderCallback = ( queryBuilder: QueryBuilder, - resolveData: ResolvedLookAhead, + resolveData: GraphileEngine.ResolvedLookAhead, ) => void; type AggregateQueryBuilderCallback = (queryBuilder: QueryBuilder) => void; -declare module "graphile-build" { - interface LookAheadData { - pgQuery: QueryBuilderCallback; - pgAggregateQuery: AggregateQueryBuilderCallback; - pgCursorPrefix: SQL | SQL[] | null; - pgDontUseAsterisk: boolean; - calculateHasNextPage: boolean; - calculateHasPreviousPage: boolean; - usesCursor: boolean; +declare global { + namespace GraphileEngine { + interface LookAheadData { + pgQuery: QueryBuilderCallback; + pgAggregateQuery: AggregateQueryBuilderCallback; + pgCursorPrefix: SQL | SQL[] | null; + pgDontUseAsterisk: boolean; + calculateHasNextPage: boolean; + calculateHasPreviousPage: boolean; + usesCursor: boolean; + } } } export default (queryBuilderOptions: QueryBuilderOptions = {}) => ( from: SQL, fromAlias: SQL | null | undefined, - resolveData: ResolvedLookAhead, + resolveData: GraphileEngine.ResolvedLookAhead, inOptions: { withPagination?: boolean; withPaginationAsFields?: boolean; @@ -42,7 +43,7 @@ export default (queryBuilderOptions: QueryBuilderOptions = {}) => ( // TODO:v5: context is not optional withBuilder: ((builder: QueryBuilder) => void) | null | undefined, - context: GraphileResolverContext, + context: GraphileEngine.GraphileResolverContext, rootValue: any, ): SQL => { const { @@ -241,7 +242,7 @@ exists( * `sqlCommon` and see if it's larger than `first`: * `(select count(*) > ${first} from (${sqlCommon}) __random_table_alias__)` * - * If !queryHasBefore, we could build a subquery table of offsetData + * If !queryHasBefore, we could build a sub-query table of offsetData * from sqlCommon and see if it contains any rows: * `EXISTS(select 1 from (${sqlCommon} OFFSET ${first}) __random_table_alias__)`. * @@ -256,8 +257,9 @@ exists( return sql`\ exists( ${sqlCommon} - and (${queryBuilder.getSelectCursor() || - sql.null})::text not in (select __cursor::text from ${sqlQueryAlias}) + and (${ + queryBuilder.getSelectCursor() || sql.null + })::text not in (select __cursor::text from ${sqlQueryAlias}) ${offset === 0 ? sql.blank : sql`offset ${sql.value(offset)}`} )`; } @@ -296,7 +298,7 @@ exists( const getPgCursorPrefix = (): SQL[] => rawCursorPrefix && rawCursorPrefix.length > 0 ? rawCursorPrefix - : queryBuilder.data.cursorPrefix.map(val => sql.literal(val)); + : queryBuilder.data.cursorPrefix.map((val) => sql.literal(val)); if ( options.withPagination || options.withPaginationAsFields || @@ -325,7 +327,7 @@ exists( )}, ${ /* * NOTE[useAsterisk/row_number]: If we have useAsterisk then the - * query with limit offset is in a subquery, so our row_number() + * query with limit offset is in a sub-query, so our row_number() * call doesn't know about it. Here we add the offset back in * again. See matching NOTE in QueryBuilder.js. */ @@ -361,7 +363,7 @@ exists( return; } let sqlFilter = sql`false`; - const sqlCursors = rawCursors.map(val => sql.value(val)); + const sqlCursors = rawCursors.map((val) => sql.value(val)); for (let i = orderByExpressionsAndDirections.length - 1; i >= 0; i--) { const [sqlExpression, ascending] = orderByExpressionsAndDirections[i]; // If ascending and isAfter then > @@ -388,7 +390,7 @@ OR\ getPgCursorPrefix(), ", ", )}) = (${sql.join( - rawPrefixes.map(val => sql.value(val)), + rawPrefixes.map((val) => sql.value(val)), ", ", )})) AND (${sqlFilter}))`; queryBuilder.whereBound(sqlFilter, isAfter); diff --git a/packages/graphile-build-pg/src/withPgClient.ts b/packages/graphile-build-pg/src/withPgClient.ts index 7eb8e420d3..541f3f4421 100644 --- a/packages/graphile-build-pg/src/withPgClient.ts +++ b/packages/graphile-build-pg/src/withPgClient.ts @@ -63,16 +63,16 @@ export const getPgClientAndReleaserFromConfig = async ( } else if (pgConfig === undefined || typeof pgConfig === "string") { const client = new Client(pgConfig); pgClient = client; - client.on("error", e => { + client.on("error", (e) => { debug("pgClient error occurred: %s", e); }); releasePgClient = () => new Promise((resolve, reject) => - client.end(err => (err ? reject(err) : resolve())), + client.end((err) => (err ? reject(err) : resolve())), ); await new Promise((resolve, reject) => - client.connect(err => (err ? reject(err) : resolve())), + client.connect((err) => (err ? reject(err) : resolve())), ); } else { throw new Error( diff --git a/packages/graphile-build/__tests__/fieldData.test.js b/packages/graphile-build/__tests__/fieldData.test.js index 44757bae02..39dd8273b2 100644 --- a/packages/graphile-build/__tests__/fieldData.test.js +++ b/packages/graphile-build/__tests__/fieldData.test.js @@ -9,8 +9,9 @@ const { } = require("graphql"); const { buildSchema, defaultPlugins } = require("../"); -const base64 = str => Buffer.from(String(str)).toString("base64"); -const base64Decode = str => Buffer.from(String(str), "base64").toString("utf8"); +const base64 = (str) => Buffer.from(String(str)).toString("base64"); +const base64Decode = (str) => + Buffer.from(String(str), "base64").toString("utf8"); const dummyData = [ { ID: "foo", CAPS: "FOO" }, @@ -28,7 +29,7 @@ const compare = (a, b, ascending) => { } }; -const DummyConnectionPlugin = async builder => { +const DummyConnectionPlugin = async (builder) => { builder.hook("GraphQLObjectType:fields", (fields, build, context) => { const { extend, @@ -51,12 +52,12 @@ const DummyConnectionPlugin = async builder => { fields: ({ addDataGeneratorForField }) => { addDataGeneratorForField("id", ({ alias }) => { return { - map: obj => ({ [getSafeAliasFromAlias(alias)]: obj.ID }), + map: (obj) => ({ [getSafeAliasFromAlias(alias)]: obj.ID }), }; }); addDataGeneratorForField("caps", ({ alias }) => { return { - map: obj => ({ [getSafeAliasFromAlias(alias)]: obj.CAPS }), + map: (obj) => ({ [getSafeAliasFromAlias(alias)]: obj.CAPS }), }; }); addDataGeneratorForField("random", ({ alias }) => { @@ -114,7 +115,7 @@ const DummyConnectionPlugin = async builder => { for (let i = sorts.length - 1; i >= 0; i--) { const [field, ascending] = sorts[i]; const oldFilter = filter; - filter = obj => { + filter = (obj) => { if (!afterValues[i]) return true; const comparison = compare( afterValues[i], @@ -170,7 +171,7 @@ const DummyConnectionPlugin = async builder => { ) => { if (data.sort) { return { - map: obj => ({ + map: (obj) => ({ __cursor: base64( JSON.stringify( data.sort.map( @@ -273,7 +274,7 @@ const DummyConnectionPlugin = async builder => { result.sort((a, b) => compare(a[field], b[field], ascending)); } } - const ret = result.map(entry => { + const ret = result.map((entry) => { const idx = dummyData.indexOf(entry); return (resolveData.map || []).reduce( (memo, map) => Object.assign(memo, map(entry, idx)), @@ -319,10 +320,10 @@ test("no arguments", async () => { ); if (result.errors) { // eslint-disable-next-line no-console - console.log(result.errors.map(e => e.originalError)); + console.log(result.errors.map((e) => e.originalError)); } expect(result.errors).toBeFalsy(); - expect(result.data.dummyConnection.nodes.map(n => n.id)).toEqual([ + expect(result.data.dummyConnection.nodes.map((n) => n.id)).toEqual([ "foo", "bar", "baz", @@ -358,10 +359,10 @@ test("sort", async () => { ); if (result.errors) { // eslint-disable-next-line no-console - console.log(result.errors.map(e => e.originalError)); + console.log(result.errors.map((e) => e.originalError)); } expect(result.errors).toBeFalsy(); - expect(result.data.dummyConnection.nodes.map(n => n.id)).toEqual([ + expect(result.data.dummyConnection.nodes.map((n) => n.id)).toEqual([ "bar", "baz", "foo", @@ -397,7 +398,7 @@ test("after", async () => { } `, ); - expect(result.data.dummyConnection.nodes.map(n => n.id)).toEqual([ + expect(result.data.dummyConnection.nodes.map((n) => n.id)).toEqual([ "baz", "qux", ]); @@ -431,10 +432,10 @@ test("sort, after", async () => { ); if (result.errors) { // eslint-disable-next-line no-console - console.log(result.errors.map(e => e.originalError)); + console.log(result.errors.map((e) => e.originalError)); } expect(result.errors).toBeFalsy(); - expect(result.data.dummyConnection.nodes.map(n => n.id)).toEqual([ + expect(result.data.dummyConnection.nodes.map((n) => n.id)).toEqual([ "foo", "qux", ]); diff --git a/packages/graphile-build/__tests__/hasVersion.test.js b/packages/graphile-build/__tests__/hasVersion.test.js index 4543ef3937..3cd92dbe5a 100644 --- a/packages/graphile-build/__tests__/hasVersion.test.js +++ b/packages/graphile-build/__tests__/hasVersion.test.js @@ -1,28 +1,28 @@ const { buildSchema, defaultPlugins } = require("../"); function EarlyPlugin(builder) { - builder.hook("build", build => { + builder.hook("build", (build) => { build.versions["early-plugin"] = "2.5.0"; return build; }); } function BetaPlugin(builder) { - builder.hook("build", build => { + builder.hook("build", (build) => { build.versions["beta-plugin"] = "3.4.0-beta.1"; return build; }); } function IncompatiblePlugin(builder) { - builder.hook("build", build => { + builder.hook("build", (build) => { build.versions["incompatible-plugin"] = "1.9.0"; return build; }); } function FooPlugin(builder) { - builder.hook("build", build => { + builder.hook("build", (build) => { if (!build.hasVersion("early-plugin", "^2.0.0")) { throw new Error("early-plugin should be loaded at this point"); } @@ -44,7 +44,7 @@ function FooPlugin(builder) { } function LatePlugin(builder) { - builder.hook("build", build => { + builder.hook("build", (build) => { build.versions["late-plugin"] = "2.5.0"; return build; }); diff --git a/packages/graphile-build/__tests__/watch.test.js b/packages/graphile-build/__tests__/watch.test.js index fbc118faba..a87ac1ec71 100644 --- a/packages/graphile-build/__tests__/watch.test.js +++ b/packages/graphile-build/__tests__/watch.test.js @@ -16,7 +16,7 @@ const options = {}; const EventEmitter = require("events"); const defaultPlugins = allDefaultPlugins.filter( - plugin => plugin !== MutationPlugin, + (plugin) => plugin !== MutationPlugin, ); const makePluginEtc = (defaultCounter = 0) => { @@ -24,16 +24,16 @@ const makePluginEtc = (defaultCounter = 0) => { const eventEmitter = new EventEmitter(); - const DummyWatchPlugin = async builder => { + const DummyWatchPlugin = async (builder) => { builder.registerWatcher( - triggerRebuild => { + (triggerRebuild) => { eventEmitter.on("change", triggerRebuild); }, - triggerRebuild => { + (triggerRebuild) => { eventEmitter.removeListener("change", triggerRebuild); }, ); - builder.hook("build", build => { + builder.hook("build", (build) => { return build.extend(build, { dummyCounter: counter, }); @@ -140,7 +140,7 @@ test("schema is updated when rebuild triggered", async () => { expect(schema0).not.toEqual(schema1); expect(printSchema(schema0)).not.toEqual(printSchema(schema1)); - const getNFrom = async schema => { + const getNFrom = async (schema) => { const result = await graphql( schema, ` @@ -153,7 +153,7 @@ test("schema is updated when rebuild triggered", async () => { ); if (result.errors) { // eslint-disable-next-line no-console - console.log(result.errors.map(e => e.originalError)); + console.log(result.errors.map((e) => e.originalError)); } expect(result.errors).toBeFalsy(); return result.data.dummy.n; diff --git a/packages/graphile-build/examples/README-1.js b/packages/graphile-build/examples/README-1.js index ae4cfa1f49..d6fadc1eeb 100644 --- a/packages/graphile-build/examples/README-1.js +++ b/packages/graphile-build/examples/README-1.js @@ -33,7 +33,7 @@ function MyRandomFieldPlugin( }); } -(async function() { +(async function () { // Create our GraphQL schema by applying all the plugins const schema = await buildSchema([...defaultPlugins, MyRandomFieldPlugin], { // ... options @@ -53,7 +53,7 @@ function MyRandomFieldPlugin( {}, ); console.log(result); // { data: { random: 4 } } -})().catch(e => { +})().catch((e) => { console.error(e); process.exit(1); }); diff --git a/packages/graphile-build/jest.config.js b/packages/graphile-build/jest.config.js new file mode 100644 index 0000000000..cf8e7e8f9a --- /dev/null +++ b/packages/graphile-build/jest.config.js @@ -0,0 +1 @@ +module.exports = require("../../jest.config.base")(__dirname); diff --git a/packages/graphile-build/package.json b/packages/graphile-build/package.json index 5076bcacf9..54abd2e2e8 100644 --- a/packages/graphile-build/package.json +++ b/packages/graphile-build/package.json @@ -29,25 +29,35 @@ "homepage": "https://graphile.org/graphile-build/", "dependencies": { "@graphile/lru": "4.6.0-alpha.0", + "@types/node": "^14.0.1", "@types/pluralize": "^0.0.29", - "@types/semver": "^6.2.0", - "chalk": "^2.4.2", - "debug": "^4.1.1", + "@types/semver": "^7.2.0", + "chalk": "^4.0.0", + "debug": "^4.2.0", "graphql-parse-resolve-info": "4.7.0", - "iterall": "^1.2.2", - "lodash": ">=4 <5", + "iterall": "^1.3.0", + "lodash": "^4.17.15", "pluralize": "^7.0.0", - "semver": "^6.0.0" + "semver": "^7.3.2", + "tslib": "^2.0.0" }, "engines": { "node": ">=12.16" }, - "devDependencies": {}, "peerDependencies": { - "graphql": ">=0.9 <0.14 || ^14.0.2" + "graphql": "^14.6.0" }, "files": [ "dist", "index.js" - ] + ], + "devDependencies": { + "@types/debug": "^4.1.5", + "@types/jest": "^25.2.3", + "@types/lodash": "^4.14.151", + "graphql": "^14.6.0", + "jest": "^26.0.1", + "ts-node": "^8.10.1", + "typescript": "^3.9.2" + } } diff --git a/packages/graphile-build/src/Live.ts b/packages/graphile-build/src/Live.ts index a3c6d8d6e9..1927241b32 100644 --- a/packages/graphile-build/src/Live.ts +++ b/packages/graphile-build/src/Live.ts @@ -106,7 +106,7 @@ export class LiveMonitor { this.changeCallback = null; this.changeCounter = 0; this.liveConditionsByCounter = {}; - const handleChange = function() { + const handleChange = function () { /* This function is throttled to ~25ms (see constructor); it's purpose is * to bundle up all the changes that occur in a small window into the same * handle change flow, so _reallyHandleChange doesn't get called twice in @@ -124,7 +124,7 @@ export class LiveMonitor { trailing: true, }); - const _reallyHandleChange = function() { + const _reallyHandleChange = function () { // This function is throttled to MONITOR_THROTTLE_DURATION (see constructor) if (this.changeCallback) { // Convince Flow this won't suddenly become null @@ -158,7 +158,7 @@ export class LiveMonitor { } }; - this.onChange = function(callback: () => void): ReleaseType { + this.onChange = function (callback: () => void): ReleaseType { if (this.released) { throw new Error("Monitors cannot be reused."); } @@ -195,7 +195,7 @@ export class LiveMonitor { { const oldCounters = Object.keys( this.subscriptionReleasersByCounter, - ).filter(n => parseInt(n, 10) < currentCounter); + ).filter((n) => parseInt(n, 10) < currentCounter); for (const oldCounter of oldCounters) { const arry = this.subscriptionReleasersByCounter[oldCounter]; for (const releaser of arry) { @@ -207,7 +207,7 @@ export class LiveMonitor { // Clear out of date liveConditions { const oldCounters = Object.keys(this.liveConditionsByCounter).filter( - n => parseInt(n, 10) < currentCounter, + (n) => parseInt(n, 10) < currentCounter, ); for (const oldCounter of oldCounters) { @@ -357,7 +357,7 @@ export class LiveCoordinator { export function makeAsyncIteratorFromMonitor(monitor: LiveMonitor) { return callbackToAsyncIterator(monitor.onChange, { - onClose: release => { + onClose: (release) => { if (release) release(); }, }); diff --git a/packages/graphile-build/src/SchemaBuilder.ts b/packages/graphile-build/src/SchemaBuilder.ts index 1d267187fe..b74d8b0feb 100644 --- a/packages/graphile-build/src/SchemaBuilder.ts +++ b/packages/graphile-build/src/SchemaBuilder.ts @@ -1,8 +1,6 @@ import debugFactory from "debug"; import makeNewBuild, { InflectionBase, - FieldWithHooksFunction, - InputFieldWithHooksFunction, GetDataFromParsedResolveInfoFragmentFunction, } from "./makeNewBuild"; import { bindAll } from "./utils"; @@ -40,214 +38,212 @@ import { LiveCoordinator } from "./Live"; import { ResolveTree } from "graphql-parse-resolve-info"; import { NodeFetcher } from "./plugins/NodePlugin"; -export { FieldWithHooksFunction, InputFieldWithHooksFunction }; - -export interface GraphileResolverContext {} - const debug = debugFactory("graphile-builder"); const INDENT = " "; -export interface DirectiveMap { - [directiveName: string]: { - [directiveArgument: string]: any; - }; -} +declare global { + namespace GraphileEngine { + interface DirectiveMap { + [directiveName: string]: { + [directiveArgument: string]: any; + }; + } -export interface GraphileBuildOptions { - subscriptions?: boolean; - live?: boolean; - nodeIdFieldName?: string; - dontSwallowErrors?: boolean; -} + interface GraphileBuildOptions { + subscriptions?: boolean; + live?: boolean; + nodeIdFieldName?: string; + dontSwallowErrors?: boolean; + } + interface GraphileResolverContext {} -// Deprecated 'Options' in favour of 'GraphileBuildOptions': -export type Options = GraphileBuildOptions; + type InitObject = never; -export interface Plugin { - (builder: SchemaBuilder, options: GraphileBuildOptions): Promise | void; - displayName?: string; -} + interface Plugin { + (builder: SchemaBuilder, options: GraphileBuildOptions): Promise< + void + > | void; + displayName?: string; + } -export type InitObject = never; - -type TriggerChangeType = () => void; - -/** - * This contains all the possibilities for lookahead data when raw (submitted - * directly from `addDataGenerator` functions, etc). It's up to the plugins - * that define these entries to declare them using declaration merging. - * - * NOTE: the types of these entries are concrete (e.g. `usesCursor: boolean`) - * because we need the concrete types to build ResolvedLookAhead. We then use - * `Partial` in the relevant places if we need fields to be - * optional. - */ -export interface LookAheadData {} - -/** - * This contains all the possibilities for lookahead data, once "baked". It's - * an object that maps from key (string) to an array of entries for that type. - * - * We made this generic so that TypeScript has to look it up _after_ the - * declaration merging has taken place, rather than computing it as an empty - * object ahead of time. - */ -export type ResolvedLookAhead = { - [P in keyof T]?: Array; -}; - -export interface Inflection extends InflectionBase {} - -export interface GraphileObjectTypeConfig< - TSource, - TContext, - TArgs = { [key: string]: any } -> extends Omit, "fields"> { - fields?: - | GraphQLFieldConfigMap - | (( - context: ContextGraphQLObjectTypeFields, - ) => GraphQLFieldConfigMap); -} + type TriggerChangeType = () => void; + + /** + * This contains all the possibilities for lookahead data when raw (submitted + * directly from `addDataGenerator` functions, etc). It's up to the plugins + * that define these entries to declare them using declaration merging. + * + * NOTE: the types of these entries are concrete (e.g. `usesCursor: boolean`) + * because we need the concrete types to build ResolvedLookAhead. We then use + * `Partial` in the relevant places if we need fields to be + * optional. + */ + interface LookAheadData {} + + /** + * This contains all the possibilities for lookahead data, once "baked". It's + * an object that maps from key (string) to an array of entries for that type. + * + * We made this generic so that TypeScript has to look it up _after_ the + * declaration merging has taken place, rather than computing it as an empty + * object ahead of time. + */ + type ResolvedLookAhead = { + [P in keyof T]?: Array; + }; -export interface GraphileInputObjectTypeConfig - extends Omit { - fields?: - | GraphQLInputFieldConfigMap - | (( - context: ContextGraphQLInputObjectTypeFields, - ) => GraphQLInputFieldConfigMap); -} + interface Inflection extends InflectionBase {} -export interface GraphileUnionTypeConfig - extends Omit, "types"> { - types?: - | GraphQLObjectType[] - | ((context: ContextGraphQLUnionTypeTypes) => GraphQLObjectType[]); -} + interface GraphileObjectTypeConfig + extends Omit, "fields"> { + fields?: + | GraphQLFieldConfigMap + | (( + context: ContextGraphQLObjectTypeFields, + ) => GraphQLFieldConfigMap); + } -export interface BuildBase { - options: GraphileBuildOptions; - graphileBuildVersion: string; - versions: { - [packageName: string]: string; - }; - hasVersion( - packageName: string, - range: string, - options?: { includePrerelease?: boolean }, - ): boolean; - - _pluginMeta: any /*{ [key: symbol]: any }*/; - - graphql: typeof import("graphql"); - parseResolveInfo: typeof import("graphql-parse-resolve-info").parseResolveInfo; - simplifyParsedResolveInfoFragmentWithType: typeof import("graphql-parse-resolve-info").simplifyParsedResolveInfoFragmentWithType; - - // DEPRECATED: getAliasFromResolveInfo: (resolveInfo: GraphQLResolveInfo) => string, - getSafeAliasFromResolveInfo: (resolveInfo: GraphQLResolveInfo) => string; - getSafeAliasFromAlias: (alias: string) => string; - resolveAlias: ( - data: {}, - _args: unknown, - _context: unknown, - resolveInfo: GraphQLResolveInfo, - ) => string; - - addType: (type: GraphQLNamedType, origin: string | null | undefined) => void; - getTypeByName: (typeName: string) => GraphQLType | null | undefined; - - extend: ( - base: Obj1, - extra: Obj2, - hint: string, - ) => Obj1 & Obj2; - - newWithHooks( - constructor: typeof GraphQLSchema, - spec: Partial, - scope: ScopeGraphQLSchema, - ): GraphQLSchema; - newWithHooks( - constructor: typeof GraphQLSchema, - spec: Partial, - scope: ScopeGraphQLSchema, - performNonEmptyFieldsCheck?: boolean, - ): GraphQLSchema | null; - - newWithHooks( - constructor: typeof GraphQLScalarType, - spec: GraphQLScalarTypeConfig, - scope: ScopeGraphQLScalarType, - ): GraphQLScalarType; - newWithHooks( - constructor: typeof GraphQLScalarType, - spec: GraphQLScalarTypeConfig, - scope: ScopeGraphQLScalarType, - performNonEmptyFieldsCheck?: boolean, - ): GraphQLScalarType | null; - - newWithHooks( - constructor: typeof GraphQLObjectType, - spec: GraphileObjectTypeConfig, - scope: ScopeGraphQLObjectType, - ): GraphQLObjectType; - newWithHooks( - constructor: typeof GraphQLObjectType, - spec: GraphileObjectTypeConfig, - scope: ScopeGraphQLObjectType, - performNonEmptyFieldsCheck?: boolean, - ): GraphQLObjectType | null; - - newWithHooks( - constructor: typeof GraphQLInterfaceType, - spec: GraphQLInterfaceTypeConfig, - scope: ScopeGraphQLInterfaceType, - ): GraphQLInterfaceType; - newWithHooks( - constructor: typeof GraphQLInterfaceType, - spec: GraphQLInterfaceTypeConfig, - scope: ScopeGraphQLInterfaceType, - performNonEmptyFieldsCheck?: boolean, - ): GraphQLInterfaceType | null; - - newWithHooks( - constructor: typeof GraphQLUnionType, - spec: GraphileUnionTypeConfig, - scope: ScopeGraphQLUnionType, - ): GraphQLUnionType; - newWithHooks( - constructor: typeof GraphQLUnionType, - spec: GraphileUnionTypeConfig, - scope: ScopeGraphQLUnionType, - performNonEmptyFieldsCheck?: boolean, - ): GraphQLUnionType | null; - - newWithHooks( - constructor: typeof GraphQLEnumType, - spec: GraphQLEnumTypeConfig, - scope: ScopeGraphQLEnumType, - ): GraphQLEnumType; - newWithHooks( - constructor: typeof GraphQLEnumType, - spec: GraphQLEnumTypeConfig, - scope: ScopeGraphQLEnumType, - performNonEmptyFieldsCheck?: boolean, - ): GraphQLEnumType | null; - - newWithHooks( - constructor: typeof GraphQLInputObjectType, - spec: GraphileInputObjectTypeConfig, - scope: ScopeGraphQLInputObjectType, - ): GraphQLInputObjectType; - newWithHooks( - constructor: typeof GraphQLInputObjectType, - spec: GraphileInputObjectTypeConfig, - scope: ScopeGraphQLInputObjectType, - performNonEmptyFieldsCheck?: boolean, - ): GraphQLInputObjectType | null; - /* + interface GraphileInputObjectTypeConfig + extends Omit { + fields?: + | GraphQLInputFieldConfigMap + | (( + context: ContextGraphQLInputObjectTypeFields, + ) => GraphQLInputFieldConfigMap); + } + + interface GraphileUnionTypeConfig + extends Omit, "types"> { + types?: + | GraphQLObjectType[] + | ((context: ContextGraphQLUnionTypeTypes) => GraphQLObjectType[]); + } + + interface BuildBase { + options: GraphileBuildOptions; + graphileBuildVersion: string; + versions: { + [packageName: string]: string; + }; + hasVersion( + packageName: string, + range: string, + options?: { includePrerelease?: boolean }, + ): boolean; + + _pluginMeta: any /*{ [key: symbol]: any }*/; + + graphql: typeof import("graphql"); + parseResolveInfo: typeof import("graphql-parse-resolve-info").parseResolveInfo; + simplifyParsedResolveInfoFragmentWithType: typeof import("graphql-parse-resolve-info").simplifyParsedResolveInfoFragmentWithType; + + // DEPRECATED: getAliasFromResolveInfo: (resolveInfo: GraphQLResolveInfo) => string, + getSafeAliasFromResolveInfo: (resolveInfo: GraphQLResolveInfo) => string; + getSafeAliasFromAlias: (alias: string) => string; + resolveAlias: ( + data: {}, + _args: unknown, + _context: unknown, + resolveInfo: GraphQLResolveInfo, + ) => string; + + addType: ( + type: GraphQLNamedType, + origin: string | null | undefined, + ) => void; + getTypeByName: (typeName: string) => GraphQLType | null | undefined; + + extend: ( + base: Obj1, + extra: Obj2, + hint: string, + ) => Obj1 & Obj2; + + newWithHooks( + constructor: typeof GraphQLSchema, + spec: Partial, + scope: ScopeGraphQLSchema, + ): GraphQLSchema; + newWithHooks( + constructor: typeof GraphQLSchema, + spec: Partial, + scope: ScopeGraphQLSchema, + performNonEmptyFieldsCheck?: boolean, + ): GraphQLSchema | null; + + newWithHooks( + constructor: typeof GraphQLScalarType, + spec: GraphQLScalarTypeConfig, + scope: ScopeGraphQLScalarType, + ): GraphQLScalarType; + newWithHooks( + constructor: typeof GraphQLScalarType, + spec: GraphQLScalarTypeConfig, + scope: ScopeGraphQLScalarType, + performNonEmptyFieldsCheck?: boolean, + ): GraphQLScalarType | null; + + newWithHooks( + constructor: typeof GraphQLObjectType, + spec: GraphileObjectTypeConfig, + scope: ScopeGraphQLObjectType, + ): GraphQLObjectType; + newWithHooks( + constructor: typeof GraphQLObjectType, + spec: GraphileObjectTypeConfig, + scope: ScopeGraphQLObjectType, + performNonEmptyFieldsCheck?: boolean, + ): GraphQLObjectType | null; + + newWithHooks( + constructor: typeof GraphQLInterfaceType, + spec: GraphQLInterfaceTypeConfig, + scope: ScopeGraphQLInterfaceType, + ): GraphQLInterfaceType; + newWithHooks( + constructor: typeof GraphQLInterfaceType, + spec: GraphQLInterfaceTypeConfig, + scope: ScopeGraphQLInterfaceType, + performNonEmptyFieldsCheck?: boolean, + ): GraphQLInterfaceType | null; + + newWithHooks( + constructor: typeof GraphQLUnionType, + spec: GraphileUnionTypeConfig, + scope: ScopeGraphQLUnionType, + ): GraphQLUnionType; + newWithHooks( + constructor: typeof GraphQLUnionType, + spec: GraphileUnionTypeConfig, + scope: ScopeGraphQLUnionType, + performNonEmptyFieldsCheck?: boolean, + ): GraphQLUnionType | null; + + newWithHooks( + constructor: typeof GraphQLEnumType, + spec: GraphQLEnumTypeConfig, + scope: ScopeGraphQLEnumType, + ): GraphQLEnumType; + newWithHooks( + constructor: typeof GraphQLEnumType, + spec: GraphQLEnumTypeConfig, + scope: ScopeGraphQLEnumType, + performNonEmptyFieldsCheck?: boolean, + ): GraphQLEnumType | null; + + newWithHooks( + constructor: typeof GraphQLInputObjectType, + spec: GraphileInputObjectTypeConfig, + scope: ScopeGraphQLInputObjectType, + ): GraphQLInputObjectType; + newWithHooks( + constructor: typeof GraphQLInputObjectType, + spec: GraphileInputObjectTypeConfig, + scope: ScopeGraphQLInputObjectType, + performNonEmptyFieldsCheck?: boolean, + ): GraphQLInputObjectType | null; + /* newWithHooks< T extends | typeof GraphQLScalarType @@ -267,350 +263,350 @@ export interface BuildBase { ): InstanceType | null | undefined; */ - /** - * @deprecated use fieldDataGeneratorsByFieldNameByType instead (they're the same, but that one is named better) - */ - fieldDataGeneratorsByType: Map< - GraphQLNamedType, - { [fieldName: string]: DataGeneratorFunction[] } - >; - - fieldDataGeneratorsByFieldNameByType: Map< - GraphQLNamedType, - { [fieldName: string]: DataGeneratorFunction[] } - >; - fieldArgDataGeneratorsByFieldNameByType: Map< - GraphQLNamedType, - { [fieldName: string]: ArgDataGeneratorFunction[] } - >; - scopeByType: Map; - - inflection: Inflection; - - swallowError: (e: Error) => void; - - // resolveNode: EXPERIMENTAL, API might change! - resolveNode: typeof import("./resolveNode").default; - - status: { - currentHookName: string | null | undefined; - currentHookEvent: string | null | undefined; - }; + /** + * @deprecated use fieldDataGeneratorsByFieldNameByType instead (they're the same, but that one is named better) + */ + fieldDataGeneratorsByType: Map< + GraphQLNamedType, + { [fieldName: string]: DataGeneratorFunction[] } + >; + + fieldDataGeneratorsByFieldNameByType: Map< + GraphQLNamedType, + { [fieldName: string]: DataGeneratorFunction[] } + >; + fieldArgDataGeneratorsByFieldNameByType: Map< + GraphQLNamedType, + { [fieldName: string]: ArgDataGeneratorFunction[] } + >; + scopeByType: Map; + + inflection: Inflection; + + swallowError: (e: Error) => void; + + // resolveNode: EXPERIMENTAL, API might change! + resolveNode: typeof import("./resolveNode").default; + + status: { + currentHookName: string | null | undefined; + currentHookEvent: string | null | undefined; + }; - liveCoordinator: LiveCoordinator; -} + liveCoordinator: LiveCoordinator; + } -export interface Build extends BuildBase { - // QueryPlugin - $$isQuery: symbol; - - // NodePlugin - nodeIdFieldName: string; - $$nodeType: symbol; - nodeFetcherByTypeName: { [typeName: string]: NodeFetcher }; - getNodeIdForTypeAndIdentifiers: ( - Type: import("graphql").GraphQLType, - ...identifiers: Array - ) => string; - getTypeAndIdentifiersFromNodeId: ( - nodeId: string, - ) => { - Type: import("graphql").GraphQLType; - identifiers: Array; - }; + interface Build extends BuildBase { + // QueryPlugin + $$isQuery: symbol; + + // NodePlugin + nodeIdFieldName: string; + $$nodeType: symbol; + nodeFetcherByTypeName: { [typeName: string]: NodeFetcher }; + getNodeIdForTypeAndIdentifiers: ( + Type: import("graphql").GraphQLType, + ...identifiers: Array + ) => string; + getTypeAndIdentifiersFromNodeId: ( + nodeId: string, + ) => { + Type: import("graphql").GraphQLType; + identifiers: Array; + }; - addNodeFetcherForTypeName: (typeName: string, fetcher: NodeFetcher) => void; - getNodeAlias: (typeName: string) => string; - getNodeType: (alias: string) => import("graphql").GraphQLType; - setNodeAlias: (typeName: string, alias: string) => void; -} + addNodeFetcherForTypeName: ( + typeName: string, + fetcher: NodeFetcher, + ) => void; + getNodeAlias: (typeName: string) => string; + getNodeType: (alias: string) => import("graphql").GraphQLType; + setNodeAlias: (typeName: string, alias: string) => void; + } -export interface Scope { - __origin?: string | null | undefined; - directives?: DirectiveMap; -} + interface Scope { + __origin?: string | null | undefined; + directives?: DirectiveMap; + } -export type DataGeneratorFunction = { - ( - parsedResolveInfoFragment: ResolveTree, - ReturnType: GraphQLOutputType, - data: ResolvedLookAhead, - ): Partial; - displayName?: string; -}; - -export type ArgDataGeneratorFunction = { - ( - args: { [key: string]: unknown }, - ReturnType: GraphQLOutputType, - data: ResolvedLookAhead, - ): Partial; - displayName?: string; -}; - -export interface Context { - scope: Scope; - type: - | "Build" - | "Inflection" - | "Init" - | "GraphQLSchema" - | "GraphQLScalarType" - | "GraphQLObjectType" - | "GraphQLInterfaceType" - | "GraphQLUnionType" - | "GraphQLEnumType" - | "GraphQLInputObjectType" - | "Finalize"; -} + type DataGeneratorFunction = { + ( + parsedResolveInfoFragment: ResolveTree, + ReturnType: GraphQLOutputType, + data: ResolvedLookAhead, + ): Partial; + displayName?: string; + }; -export interface ScopeBuild extends Scope {} -export interface ContextBuild extends Context { - scope: ScopeBuild; - type: "Build"; -} + type ArgDataGeneratorFunction = { + ( + args: { [key: string]: unknown }, + ReturnType: GraphQLOutputType, + data: ResolvedLookAhead, + ): Partial; + displayName?: string; + }; -export interface ScopeInflection extends Scope {} -export interface ContextInflection extends Context { - scope: ScopeInflection; - type: "Inflection"; -} + interface Context { + scope: Scope; + type: + | "Build" + | "Inflection" + | "Init" + | "GraphQLSchema" + | "GraphQLScalarType" + | "GraphQLObjectType" + | "GraphQLInterfaceType" + | "GraphQLUnionType" + | "GraphQLEnumType" + | "GraphQLInputObjectType" + | "Finalize"; + } -export interface ScopeInit extends Scope {} -export interface ContextInit extends Context { - scope: ScopeInit; - type: "Init"; -} + interface ScopeBuild extends Scope {} + interface ContextBuild extends Context { + scope: ScopeBuild; + type: "Build"; + } -export interface ScopeGraphQLSchema extends Scope { - isSchema: true; -} -export interface ContextGraphQLSchema extends Context { - scope: ScopeGraphQLSchema; - type: "GraphQLSchema"; -} + interface ScopeInflection extends Scope {} + interface ContextInflection extends Context { + scope: ScopeInflection; + type: "Inflection"; + } -export interface ScopeGraphQLScalarType extends Scope {} -export interface ContextGraphQLScalarType extends Context { - scope: ScopeGraphQLScalarType; - type: "GraphQLScalarType"; -} + interface ScopeInit extends Scope {} + interface ContextInit extends Context { + scope: ScopeInit; + type: "Init"; + } -export interface ScopeGraphQLObjectType extends Scope { - isRootQuery?: boolean; - isRootMutation?: boolean; - isRootSubscription?: boolean; - isMutationPayload?: boolean; - isPageInfo?: boolean; -} -export interface ContextGraphQLObjectTypeBase extends Context { - scope: ScopeGraphQLObjectType; - type: "GraphQLObjectType"; -} -export interface ContextGraphQLObjectType extends ContextGraphQLObjectTypeBase { - addDataGeneratorForField: ( - fieldName: string, - fn: DataGeneratorFunction, - ) => void; - /** YOU PROBABLY DON'T WANT THIS! */ - recurseDataGeneratorsForField( - fieldName: string, - iKnowWhatIAmDoing?: boolean, - ): void; -} + interface ScopeGraphQLSchema extends Scope { + isSchema: true; + } + interface ContextGraphQLSchema extends Context { + scope: ScopeGraphQLSchema; + type: "GraphQLSchema"; + } -export interface ScopeGraphQLObjectTypeInterfaces - extends ScopeGraphQLObjectType {} -export interface ContextGraphQLObjectTypeInterfaces - extends ContextGraphQLObjectTypeBase { - scope: ScopeGraphQLObjectTypeInterfaces; - Self: GraphQLObjectType; - GraphQLObjectType: GraphileObjectTypeConfig; -} + interface ScopeGraphQLScalarType extends Scope {} + interface ContextGraphQLScalarType extends Context { + scope: ScopeGraphQLScalarType; + type: "GraphQLScalarType"; + } -export interface ScopeGraphQLObjectTypeFields extends ScopeGraphQLObjectType {} -export interface ContextGraphQLObjectTypeFields - extends ContextGraphQLObjectType { - scope: ScopeGraphQLObjectTypeFields; - addDataGeneratorForField: ( - fieldName: string, - fn: DataGeneratorFunction, - ) => void; - recurseDataGeneratorsForField: ( - fieldName: string, - iKnowWhatIAmDoing: boolean, - ) => void; // @deprecated - DO NOT USE! - Self: GraphQLObjectType; - GraphQLObjectType: GraphQLObjectTypeConfig; - fieldWithHooks: FieldWithHooksFunction; -} + interface ScopeGraphQLObjectType extends Scope { + isRootQuery?: boolean; + isRootMutation?: boolean; + isRootSubscription?: boolean; + isMutationPayload?: boolean; + isPageInfo?: boolean; + } + interface ContextGraphQLObjectTypeBase extends Context { + scope: ScopeGraphQLObjectType; + type: "GraphQLObjectType"; + } + interface ContextGraphQLObjectType extends ContextGraphQLObjectTypeBase { + addDataGeneratorForField: ( + fieldName: string, + fn: DataGeneratorFunction, + ) => void; + /** YOU PROBABLY DON'T WANT THIS! */ + recurseDataGeneratorsForField( + fieldName: string, + iKnowWhatIAmDoing?: boolean, + ): void; + } -export interface ScopeGraphQLObjectTypeFieldsField - extends ScopeGraphQLObjectType { - fieldName?: string; - autoField?: boolean; - fieldDirectives?: DirectiveMap; - - isLiveField?: boolean; - originalField?: import("graphql").GraphQLField; - isRootNodeField?: boolean; - isPageInfoHasNextPageField?: boolean; - isPageInfoHasPreviousPageField?: boolean; -} -export interface ScopeGraphQLObjectTypeFieldsFieldWithFieldName - extends ScopeGraphQLObjectTypeFieldsField { - fieldName: string; -} -export interface ContextGraphQLObjectTypeFieldsField - extends ContextGraphQLObjectTypeBase { - scope: ScopeGraphQLObjectTypeFieldsFieldWithFieldName; - Self: GraphQLObjectType; - addDataGenerator: (fn: DataGeneratorFunction) => void; - addArgDataGenerator: (fn: ArgDataGeneratorFunction) => void; - getDataFromParsedResolveInfoFragment: GetDataFromParsedResolveInfoFragmentFunction; -} + interface ScopeGraphQLObjectTypeInterfaces extends ScopeGraphQLObjectType {} + interface ContextGraphQLObjectTypeInterfaces + extends ContextGraphQLObjectTypeBase { + scope: ScopeGraphQLObjectTypeInterfaces; + Self: GraphQLObjectType; + GraphQLObjectType: GraphileObjectTypeConfig; + } -export interface ScopeGraphQLObjectTypeFieldsFieldArgs - extends ScopeGraphQLObjectTypeFieldsField { - fieldName: string; -} -export interface ContextGraphQLObjectTypeFieldsFieldArgs - extends ContextGraphQLObjectTypeFieldsField { - scope: ScopeGraphQLObjectTypeFieldsFieldArgs; - Self: GraphQLObjectType; - field: GraphQLFieldConfig; - returnType: GraphQLOutputType; -} + interface ScopeGraphQLObjectTypeFields extends ScopeGraphQLObjectType {} + interface ContextGraphQLObjectTypeFields extends ContextGraphQLObjectType { + scope: ScopeGraphQLObjectTypeFields; + addDataGeneratorForField: ( + fieldName: string, + fn: DataGeneratorFunction, + ) => void; + recurseDataGeneratorsForField: ( + fieldName: string, + iKnowWhatIAmDoing: boolean, + ) => void; // @deprecated - DO NOT USE! + Self: GraphQLObjectType; + GraphQLObjectType: GraphQLObjectTypeConfig; + fieldWithHooks: FieldWithHooksFunction; + } -export interface ScopeGraphQLInterfaceType extends Scope {} -export interface ContextGraphQLInterfaceType extends Context { - scope: ScopeGraphQLInterfaceType; - type: "GraphQLInterfaceType"; -} + interface ScopeGraphQLObjectTypeFieldsField extends ScopeGraphQLObjectType { + fieldName?: string; + autoField?: boolean; + fieldDirectives?: DirectiveMap; -export interface ScopeGraphQLUnionType extends Scope {} -export interface ContextGraphQLUnionType extends Context { - scope: ScopeGraphQLUnionType; - type: "GraphQLUnionType"; -} + isLiveField?: boolean; + originalField?: import("graphql").GraphQLField; + isRootNodeField?: boolean; + isPageInfoHasNextPageField?: boolean; + isPageInfoHasPreviousPageField?: boolean; + } + interface ScopeGraphQLObjectTypeFieldsFieldWithFieldName + extends ScopeGraphQLObjectTypeFieldsField { + fieldName: string; + } + interface ContextGraphQLObjectTypeFieldsField + extends ContextGraphQLObjectTypeBase { + scope: ScopeGraphQLObjectTypeFieldsFieldWithFieldName; + Self: GraphQLObjectType; + addDataGenerator: (fn: DataGeneratorFunction) => void; + addArgDataGenerator: (fn: ArgDataGeneratorFunction) => void; + getDataFromParsedResolveInfoFragment: GetDataFromParsedResolveInfoFragmentFunction; + } -export interface ScopeGraphQLUnionTypeTypes extends ScopeGraphQLUnionType {} -export interface ContextGraphQLUnionTypeTypes extends ContextGraphQLUnionType { - scope: ScopeGraphQLUnionTypeTypes; - Self: GraphQLUnionType; - GraphQLUnionType: GraphileUnionTypeConfig; -} + interface ScopeGraphQLObjectTypeFieldsFieldArgs + extends ScopeGraphQLObjectTypeFieldsField { + fieldName: string; + } + interface ContextGraphQLObjectTypeFieldsFieldArgs + extends ContextGraphQLObjectTypeFieldsField { + scope: ScopeGraphQLObjectTypeFieldsFieldArgs; + Self: GraphQLObjectType; + field: GraphQLFieldConfig; + returnType: GraphQLOutputType; + } -export interface ScopeGraphQLInputObjectType extends Scope { - isMutationInput?: boolean; -} -export interface ContextGraphQLInputObjectType extends Context { - scope: ScopeGraphQLInputObjectType; - type: "GraphQLInputObjectType"; -} + interface ScopeGraphQLInterfaceType extends Scope {} + interface ContextGraphQLInterfaceType extends Context { + scope: ScopeGraphQLInterfaceType; + type: "GraphQLInterfaceType"; + } -export interface ScopeGraphQLInputObjectTypeFields - extends ScopeGraphQLInputObjectType {} -export interface ContextGraphQLInputObjectTypeFields - extends ContextGraphQLInputObjectType { - scope: ScopeGraphQLInputObjectTypeFields; - Self: GraphQLInputObjectType; - GraphQLInputObjectType: GraphileInputObjectTypeConfig; - fieldWithHooks: InputFieldWithHooksFunction; -} + interface ScopeGraphQLUnionType extends Scope {} + interface ContextGraphQLUnionType extends Context { + scope: ScopeGraphQLUnionType; + type: "GraphQLUnionType"; + } -export interface ScopeGraphQLInputObjectTypeFieldsField - extends ScopeGraphQLInputObjectType { - fieldName?: string; - autoField?: boolean; -} -export interface ScopeGraphQLInputObjectTypeFieldsFieldWithFieldName - extends ScopeGraphQLInputObjectTypeFieldsField { - fieldName: string; -} -export interface ContextGraphQLInputObjectTypeFieldsField - extends ContextGraphQLInputObjectType { - scope: ScopeGraphQLInputObjectTypeFieldsFieldWithFieldName; - Self: GraphQLInputObjectType; -} + interface ScopeGraphQLUnionTypeTypes extends ScopeGraphQLUnionType {} + interface ContextGraphQLUnionTypeTypes extends ContextGraphQLUnionType { + scope: ScopeGraphQLUnionTypeTypes; + Self: GraphQLUnionType; + GraphQLUnionType: GraphileUnionTypeConfig; + } -export interface ScopeGraphQLEnumType extends Scope {} -export interface ContextGraphQLEnumType extends Context { - scope: ScopeGraphQLEnumType; - type: "GraphQLEnumType"; -} + interface ScopeGraphQLInputObjectType extends Scope { + isMutationInput?: boolean; + } + interface ContextGraphQLInputObjectType extends Context { + scope: ScopeGraphQLInputObjectType; + type: "GraphQLInputObjectType"; + } -export interface ScopeGraphQLEnumTypeValues extends ScopeGraphQLEnumType {} -export interface ContextGraphQLEnumTypeValues extends ContextGraphQLEnumType { - scope: ScopeGraphQLEnumTypeValues; -} + interface ScopeGraphQLInputObjectTypeFields + extends ScopeGraphQLInputObjectType {} + interface ContextGraphQLInputObjectTypeFields + extends ContextGraphQLInputObjectType { + scope: ScopeGraphQLInputObjectTypeFields; + Self: GraphQLInputObjectType; + GraphQLInputObjectType: GraphileInputObjectTypeConfig; + fieldWithHooks: InputFieldWithHooksFunction; + } -export interface ScopeGraphQLEnumTypeValuesValue extends ScopeGraphQLEnumType {} -export interface ContextGraphQLEnumTypeValuesValue - extends ContextGraphQLEnumType { - scope: ScopeGraphQLEnumTypeValuesValue; -} + interface ScopeGraphQLInputObjectTypeFieldsField + extends ScopeGraphQLInputObjectType { + fieldName?: string; + autoField?: boolean; + } + interface ScopeGraphQLInputObjectTypeFieldsFieldWithFieldName + extends ScopeGraphQLInputObjectTypeFieldsField { + fieldName: string; + } + interface ContextGraphQLInputObjectTypeFieldsField + extends ContextGraphQLInputObjectType { + scope: ScopeGraphQLInputObjectTypeFieldsFieldWithFieldName; + Self: GraphQLInputObjectType; + } -export interface ScopeFinalize extends Scope {} -export interface ContextFinalize extends Context { - scope: ScopeFinalize; - type: "Finalize"; -} + interface ScopeGraphQLEnumType extends Scope {} + interface ContextGraphQLEnumType extends Context { + scope: ScopeGraphQLEnumType; + type: "GraphQLEnumType"; + } -export type SomeScope = - | Scope - | ScopeBuild - | ScopeInflection - | ScopeInit - | ScopeGraphQLSchema - | ScopeGraphQLScalarType - | ScopeGraphQLObjectType - | ScopeGraphQLObjectTypeInterfaces - | ScopeGraphQLObjectTypeFields - | ScopeGraphQLObjectTypeFieldsField - | ScopeGraphQLObjectTypeFieldsFieldWithFieldName - | ScopeGraphQLObjectTypeFieldsFieldArgs - | ScopeGraphQLInterfaceType - | ScopeGraphQLUnionType - | ScopeGraphQLUnionTypeTypes - | ScopeGraphQLInputObjectType - | ScopeGraphQLInputObjectTypeFields - | ScopeGraphQLInputObjectTypeFieldsField - | ScopeGraphQLInputObjectTypeFieldsFieldWithFieldName - | ScopeGraphQLEnumType - | ScopeGraphQLEnumTypeValues - | ScopeGraphQLEnumTypeValuesValue - | ScopeFinalize; - -export interface Hook { - (input: Type, build: TBuild, context: TContext): Type; - displayName?: string; - provides?: Array; - before?: Array; - after?: Array; -} + interface ScopeGraphQLEnumTypeValues extends ScopeGraphQLEnumType {} + interface ContextGraphQLEnumTypeValues extends ContextGraphQLEnumType { + scope: ScopeGraphQLEnumTypeValues; + } + + interface ScopeGraphQLEnumTypeValuesValue extends ScopeGraphQLEnumType {} + interface ContextGraphQLEnumTypeValuesValue extends ContextGraphQLEnumType { + scope: ScopeGraphQLEnumTypeValuesValue; + } + + interface ScopeFinalize extends Scope {} + interface ContextFinalize extends Context { + scope: ScopeFinalize; + type: "Finalize"; + } -export type WatchUnwatch = (triggerChange: TriggerChangeType) => void; + type SomeScope = + | Scope + | ScopeBuild + | ScopeInflection + | ScopeInit + | ScopeGraphQLSchema + | ScopeGraphQLScalarType + | ScopeGraphQLObjectType + | ScopeGraphQLObjectTypeInterfaces + | ScopeGraphQLObjectTypeFields + | ScopeGraphQLObjectTypeFieldsField + | ScopeGraphQLObjectTypeFieldsFieldWithFieldName + | ScopeGraphQLObjectTypeFieldsFieldArgs + | ScopeGraphQLInterfaceType + | ScopeGraphQLUnionType + | ScopeGraphQLUnionTypeTypes + | ScopeGraphQLInputObjectType + | ScopeGraphQLInputObjectTypeFields + | ScopeGraphQLInputObjectTypeFieldsField + | ScopeGraphQLInputObjectTypeFieldsFieldWithFieldName + | ScopeGraphQLEnumType + | ScopeGraphQLEnumTypeValues + | ScopeGraphQLEnumTypeValuesValue + | ScopeFinalize; + interface Hook { + (input: Type, build: TBuild, context: TContext): Type; + displayName?: string; + provides?: Array; + before?: Array; + after?: Array; + } -export type SchemaListener = (newSchema: GraphQLSchema) => void; + type WatchUnwatch = (triggerChange: TriggerChangeType) => void; + + type SchemaListener = (newSchema: GraphQLSchema) => void; + } +} class SchemaBuilder extends EventEmitter { - options: GraphileBuildOptions; - watchers: Array; - unwatchers: Array; - triggerChange: TriggerChangeType | null | undefined; + options: GraphileEngine.GraphileBuildOptions; + watchers: Array; + unwatchers: Array; + triggerChange: GraphileEngine.TriggerChangeType | null | undefined; depth: number; hooks: { - [a: string]: Array>; + [a: string]: Array>; }; _currentPluginName: string | null | undefined; _generatedSchema: GraphQLSchema | null | undefined; - _explicitSchemaListener: SchemaListener | null | undefined; + _explicitSchemaListener: GraphileEngine.SchemaListener | null | undefined; _busy: boolean; _watching: boolean; - constructor(options: GraphileBuildOptions) { + constructor(options: GraphileEngine.GraphileBuildOptions) { super(); this.options = options; @@ -633,11 +629,11 @@ class SchemaBuilder extends EventEmitter { build: [], // Inflection is used for naming resulting types/fields/args/etc - it's - // hookable so that other plugins may extend it or override it + // hook-able so that other plugins may extend it or override it inflection: [], // 'build' phase should not generate any GraphQL objects (because the - // build object isn't finalised yet so it risks weirdness occurring); so + // build object isn't finalized yet so it risks weirdness occurring); so // if you need to set up any global types you can do so here. init: [], @@ -656,7 +652,7 @@ class SchemaBuilder extends EventEmitter { // - 'GraphQLObjectType:fields' to add additional fields to this object type (is // ran asynchronously and gets a reference to the final GraphQL Object as // `Self` in the context) - // - 'GraphQLObjectType:fields:field' to customise an individual field from above + // - 'GraphQLObjectType:fields:field' to customize an individual field from above // - 'GraphQLObjectType:fields:field:args' to customize the arguments to a field GraphQLObjectType: [], "GraphQLObjectType:interfaces": [], @@ -670,7 +666,7 @@ class SchemaBuilder extends EventEmitter { // - 'GraphQLInputObjectType:fields' to add additional fields to this object type (is // ran asynchronously and gets a reference to the final GraphQL Object as // `Self` in the context) - // - 'GraphQLInputObjectType:fields:field' to customise an individual field from above + // - 'GraphQLInputObjectType:fields:field' to customize an individual field from above GraphQLInputObjectType: [], "GraphQLInputObjectType:fields": [], "GraphQLInputObjectType:fields:field": [], @@ -707,17 +703,21 @@ class SchemaBuilder extends EventEmitter { */ hook( hookName: "build", - fn: Hook & BuildBase, ContextBuild, BuildBase>, + fn: GraphileEngine.Hook< + Partial & GraphileEngine.BuildBase, + GraphileEngine.ContextBuild, + GraphileEngine.BuildBase + >, provides?: Array, before?: Array, after?: Array, ): void; hook( hookName: "inflection", - fn: Hook< - Partial & InflectionBase, - ContextInflection, - BuildBase + fn: GraphileEngine.Hook< + Partial & InflectionBase, + GraphileEngine.ContextInflection, + GraphileEngine.BuildBase >, provides?: Array, before?: Array, @@ -725,23 +725,29 @@ class SchemaBuilder extends EventEmitter { ): void; hook( hookName: "init", - fn: Hook, + fn: GraphileEngine.Hook< + GraphileEngine.InitObject, + GraphileEngine.ContextInit + >, provides?: Array, before?: Array, after?: Array, ): void; hook( hookName: "GraphQLSchema", - fn: Hook, + fn: GraphileEngine.Hook< + GraphQLSchemaConfig, + GraphileEngine.ContextGraphQLSchema + >, provides?: Array, before?: Array, after?: Array, ): void; hook( hookName: "GraphQLObjectType", - fn: Hook< + fn: GraphileEngine.Hook< GraphQLObjectTypeConfig, - ContextGraphQLObjectType + GraphileEngine.ContextGraphQLObjectType >, provides?: Array, before?: Array, @@ -749,9 +755,9 @@ class SchemaBuilder extends EventEmitter { ): void; hook( hookName: "GraphQLObjectType:interfaces", - fn: Hook< + fn: GraphileEngine.Hook< Array>, - ContextGraphQLObjectTypeInterfaces + GraphileEngine.ContextGraphQLObjectTypeInterfaces >, provides?: Array, before?: Array, @@ -759,9 +765,9 @@ class SchemaBuilder extends EventEmitter { ): void; hook( hookName: "GraphQLObjectType:fields", - fn: Hook< + fn: GraphileEngine.Hook< GraphQLFieldConfigMap, - ContextGraphQLObjectTypeFields + GraphileEngine.ContextGraphQLObjectTypeFields >, provides?: Array, before?: Array, @@ -769,9 +775,9 @@ class SchemaBuilder extends EventEmitter { ): void; hook( hookName: "GraphQLObjectType:fields:field", - fn: Hook< + fn: GraphileEngine.Hook< GraphQLFieldConfig, - ContextGraphQLObjectTypeFieldsField + GraphileEngine.ContextGraphQLObjectTypeFieldsField >, provides?: Array, before?: Array, @@ -779,9 +785,9 @@ class SchemaBuilder extends EventEmitter { ): void; hook( hookName: "GraphQLObjectType:fields:field:args", - fn: Hook< + fn: GraphileEngine.Hook< GraphQLFieldConfigArgumentMap, - ContextGraphQLObjectTypeFieldsFieldArgs + GraphileEngine.ContextGraphQLObjectTypeFieldsFieldArgs >, provides?: Array, before?: Array, @@ -789,51 +795,69 @@ class SchemaBuilder extends EventEmitter { ): void; hook( hookName: "GraphQLInputObjectType", - fn: Hook, + fn: GraphileEngine.Hook< + GraphileEngine.GraphileInputObjectTypeConfig, + GraphileEngine.ContextGraphQLInputObjectType + >, provides?: Array, before?: Array, after?: Array, ): void; hook( hookName: "GraphQLInputObjectType:fields", - fn: Hook, + fn: GraphileEngine.Hook< + GraphQLInputFieldConfigMap, + GraphileEngine.ContextGraphQLInputObjectTypeFields + >, provides?: Array, before?: Array, after?: Array, ): void; hook( hookName: "GraphQLInputObjectType:fields:field", - fn: Hook, + fn: GraphileEngine.Hook< + GraphQLInputFieldConfig, + GraphileEngine.ContextGraphQLInputObjectTypeFieldsField + >, provides?: Array, before?: Array, after?: Array, ): void; hook( hookName: "GraphQLEnumType", - fn: Hook, + fn: GraphileEngine.Hook< + GraphQLEnumTypeConfig, + GraphileEngine.ContextGraphQLEnumType + >, provides?: Array, before?: Array, after?: Array, ): void; hook( hookName: "GraphQLEnumType:values", - fn: Hook, + fn: GraphileEngine.Hook< + GraphQLEnumValueConfigMap, + GraphileEngine.ContextGraphQLEnumTypeValues + >, provides?: Array, before?: Array, after?: Array, ): void; hook( hookName: "GraphQLEnumType:values:value", - fn: Hook, + fn: GraphileEngine.Hook< + GraphQLEnumValueConfig, + GraphileEngine.ContextGraphQLEnumTypeValuesValue + >, provides?: Array, before?: Array, after?: Array, ): void; hook( hookName: "GraphQLUnionType", - fn: Hook< + fn: GraphileEngine.Hook< GraphQLUnionTypeConfig, - ContextGraphQLUnionType + GraphileEngine.ContextGraphQLUnionType >, provides?: Array, before?: Array, @@ -841,9 +865,9 @@ class SchemaBuilder extends EventEmitter { ): void; hook( hookName: "GraphQLUnionType:types", - fn: Hook< - Array>, - ContextGraphQLUnionTypeTypes + fn: GraphileEngine.Hook< + Array>, + GraphileEngine.ContextGraphQLUnionTypeTypes >, provides?: Array, before?: Array, @@ -851,14 +875,14 @@ class SchemaBuilder extends EventEmitter { ): void; hook( hookName: "finalize", - fn: Hook, + fn: GraphileEngine.Hook, provides?: Array, before?: Array, after?: Array, ): void; - hook( + hook( hookName: string, - fn: Hook, + fn: GraphileEngine.Hook, provides?: Array, before?: Array, after?: Array, @@ -867,12 +891,12 @@ class SchemaBuilder extends EventEmitter { throw new Error(`Sorry, '${hookName}' is not a supported hook`); } if (this._currentPluginName) { - fn.displayName = `${this._currentPluginName}/${hookName}/${(provides && - provides.length && - provides.join("+")) || + fn.displayName = `${this._currentPluginName}/${hookName}/${ + (provides && provides.length && provides.join("+")) || fn.displayName || fn.name || - "unnamed"}`; + "unnamed" + }`; } if (provides) { if (!fn.displayName && provides.length) { @@ -894,9 +918,9 @@ class SchemaBuilder extends EventEmitter { // TODO: I think there are situations in which this algorithm may result in unnecessary conflict errors; we should take a more iterative approach or find a better algorithm const relevantHooks = this.hooks[hookName]; let minIndex = 0; - let minReason: Hook | null = null; + let minReason: GraphileEngine.Hook | null = null; let maxIndex = relevantHooks.length; - let maxReason: Hook | null = null; + let maxReason: GraphileEngine.Hook | null = null; const { provides: newProvides, before: newBefore, after: newAfter } = fn; const describe = (hook: any, index?: number) => { if (!hook) { @@ -923,14 +947,20 @@ class SchemaBuilder extends EventEmitter { ); } }; - const setMin = (newMin: number, reason: Hook) => { + const setMin = ( + newMin: number, + reason: GraphileEngine.Hook, + ) => { if (newMin > minIndex) { minIndex = newMin; minReason = reason; check(); } }; - const setMax = (newMax: number, reason: Hook) => { + const setMax = ( + newMax: number, + reason: GraphileEngine.Hook, + ) => { if (newMax < maxIndex) { maxIndex = newMax; maxReason = reason; @@ -944,21 +974,21 @@ class SchemaBuilder extends EventEmitter { after: oldAfter, } = oldHook; if (newProvides) { - if (oldBefore && oldBefore.some(dep => newProvides.includes(dep))) { + if (oldBefore && oldBefore.some((dep) => newProvides.includes(dep))) { // Old says it has to come before new setMin(idx + 1, oldHook); } - if (oldAfter && oldAfter.some(dep => newProvides.includes(dep))) { + if (oldAfter && oldAfter.some((dep) => newProvides.includes(dep))) { // Old says it has to be after new setMax(idx, oldHook); } } if (oldProvides) { - if (newBefore && newBefore.some(dep => oldProvides.includes(dep))) { + if (newBefore && newBefore.some((dep) => oldProvides.includes(dep))) { // New says it has to come before old setMax(idx, oldHook); } - if (newAfter && newAfter.some(dep => oldProvides.includes(dep))) { + if (newAfter && newAfter.some((dep) => oldProvides.includes(dep))) { // New says it has to be after old setMin(idx + 1, oldHook); } @@ -971,147 +1001,147 @@ class SchemaBuilder extends EventEmitter { } applyHooks( - build: BuildBase, + build: GraphileEngine.BuildBase, hookName: "build", - input: Partial & BuildBase, - context: ContextBuild, + input: Partial & GraphileEngine.BuildBase, + context: GraphileEngine.ContextBuild, debugStr?: string, - ): Build; + ): GraphileEngine.Build; applyHooks( - build: BuildBase, + build: GraphileEngine.BuildBase, hookName: "inflection", - input: Partial & InflectionBase, - context: ContextInflection, + input: Partial & InflectionBase, + context: GraphileEngine.ContextInflection, debugStr?: string, - ): Inflection; + ): GraphileEngine.Inflection; applyHooks( - build: Build, + build: GraphileEngine.Build, hookName: "init", - input: InitObject, - context: ContextInit, + input: GraphileEngine.InitObject, + context: GraphileEngine.ContextInit, debugStr?: string, - ): InitObject; + ): GraphileEngine.InitObject; applyHooks( - build: Build, + build: GraphileEngine.Build, hookName: "GraphQLSchema", input: GraphQLSchemaConfig, - context: ContextGraphQLSchema, + context: GraphileEngine.ContextGraphQLSchema, debugStr?: string, ): GraphQLSchemaConfig; applyHooks( - build: Build, + build: GraphileEngine.Build, hookName: "GraphQLScalarType", input: GraphQLScalarTypeConfig, - context: ContextGraphQLScalarType, + context: GraphileEngine.ContextGraphQLScalarType, debugStr?: string, ): GraphQLScalarTypeConfig; applyHooks( - build: Build, + build: GraphileEngine.Build, hookName: "GraphQLObjectType", - input: GraphileObjectTypeConfig, - context: ContextGraphQLObjectType, + input: GraphileEngine.GraphileObjectTypeConfig, + context: GraphileEngine.ContextGraphQLObjectType, debugStr?: string, ): GraphQLObjectTypeConfig; applyHooks( - build: Build, + build: GraphileEngine.Build, hookName: "GraphQLObjectType:interfaces", - input: Array>, - context: ContextGraphQLObjectTypeInterfaces, + input: Array>, + context: GraphileEngine.ContextGraphQLObjectTypeInterfaces, debugStr?: string, - ): Array>; + ): Array>; applyHooks( - build: Build, + build: GraphileEngine.Build, hookName: "GraphQLObjectType:fields", - input: GraphQLFieldConfigMap, - context: ContextGraphQLObjectTypeFields, + input: GraphQLFieldConfigMap, + context: GraphileEngine.ContextGraphQLObjectTypeFields, debugStr?: string, - ): GraphQLFieldConfigMap; + ): GraphQLFieldConfigMap; applyHooks( - build: Build, + build: GraphileEngine.Build, hookName: "GraphQLObjectType:fields:field", input: GraphQLFieldConfig, - context: ContextGraphQLObjectTypeFieldsField, + context: GraphileEngine.ContextGraphQLObjectTypeFieldsField, debugStr?: string, ): GraphQLFieldConfig; applyHooks( - build: Build, + build: GraphileEngine.Build, hookName: "GraphQLObjectType:fields:field:args", input: GraphQLFieldConfigArgumentMap, - context: ContextGraphQLObjectTypeFieldsFieldArgs, + context: GraphileEngine.ContextGraphQLObjectTypeFieldsFieldArgs, debugStr?: string, ): GraphQLFieldConfigArgumentMap; applyHooks( - build: Build, + build: GraphileEngine.Build, hookName: "GraphQLInterfaceType", - input: GraphQLInterfaceTypeConfig, - context: ContextGraphQLInterfaceType, + input: GraphQLInterfaceTypeConfig, + context: GraphileEngine.ContextGraphQLInterfaceType, debugStr?: string, - ): GraphQLInterfaceTypeConfig; + ): GraphQLInterfaceTypeConfig; applyHooks( - build: Build, + build: GraphileEngine.Build, hookName: "GraphQLUnionType", - input: GraphileUnionTypeConfig, - context: ContextGraphQLUnionType, + input: GraphileEngine.GraphileUnionTypeConfig, + context: GraphileEngine.ContextGraphQLUnionType, debugStr?: string, - ): GraphileUnionTypeConfig; + ): GraphileEngine.GraphileUnionTypeConfig; applyHooks( - build: Build, + build: GraphileEngine.Build, hookName: "GraphQLUnionType:types", input: Array>, - context: ContextGraphQLUnionTypeTypes, + context: GraphileEngine.ContextGraphQLUnionTypeTypes, debugStr?: string, ): Array>; applyHooks( - build: Build, + build: GraphileEngine.Build, hookName: "GraphQLEnumType", input: GraphQLEnumTypeConfig, - context: ContextGraphQLEnumType, + context: GraphileEngine.ContextGraphQLEnumType, debugStr?: string, ): GraphQLEnumTypeConfig; applyHooks( - build: Build, + build: GraphileEngine.Build, hookName: "GraphQLEnumType:values", input: GraphQLEnumValueConfigMap, - context: ContextGraphQLEnumTypeValues, + context: GraphileEngine.ContextGraphQLEnumTypeValues, debugStr?: string, ): GraphQLEnumValueConfigMap; applyHooks( - build: Build, + build: GraphileEngine.Build, hookName: "GraphQLEnumType:values:value", input: GraphQLEnumValueConfig, - context: ContextGraphQLEnumTypeValuesValue, + context: GraphileEngine.ContextGraphQLEnumTypeValuesValue, debugStr?: string, ): GraphQLEnumValueConfig; applyHooks( - build: Build, + build: GraphileEngine.Build, hookName: "GraphQLInputObjectType", - input: GraphileInputObjectTypeConfig, - context: ContextGraphQLInputObjectType, + input: GraphileEngine.GraphileInputObjectTypeConfig, + context: GraphileEngine.ContextGraphQLInputObjectType, debugStr?: string, ): GraphQLInputObjectTypeConfig; applyHooks( - build: Build, + build: GraphileEngine.Build, hookName: "GraphQLInputObjectType:fields", input: GraphQLInputFieldConfigMap, - context: ContextGraphQLInputObjectTypeFields, + context: GraphileEngine.ContextGraphQLInputObjectTypeFields, debugStr?: string, ): GraphQLInputFieldConfigMap; applyHooks( - build: Build, + build: GraphileEngine.Build, hookName: "GraphQLInputObjectType:fields:field", input: GraphQLInputFieldConfig, - context: ContextGraphQLInputObjectTypeFieldsField, + context: GraphileEngine.ContextGraphQLInputObjectTypeFieldsField, debugStr?: string, ): GraphQLInputFieldConfig; applyHooks( - build: Build, + build: GraphileEngine.Build, hookName: "finalize", input: GraphQLSchema, - context: ContextFinalize, + context: GraphileEngine.ContextFinalize, debugStr?: string, ): GraphQLSchema; - applyHooks( - build: Build, + applyHooks( + build: GraphileEngine.Build, hookName: string, input: TConfig, context: TContext, @@ -1124,7 +1154,9 @@ class SchemaBuilder extends EventEmitter { try { debug(`${INDENT.repeat(this.depth)}[${hookName}${debugStr}]: Running...`); - const hooks: Array> = this.hooks[hookName]; + const hooks: Array> = this.hooks[ + hookName + ]; if (!hooks) { throw new Error(`Sorry, '${hookName}' is not a registered hook`); } @@ -1162,7 +1194,7 @@ class SchemaBuilder extends EventEmitter { // Copy everything from newObj back to oldObj Object.assign(oldObj, newObj); - // Go back to the old objectect + // Go back to the old object newObj = oldObj; } } @@ -1171,9 +1203,9 @@ class SchemaBuilder extends EventEmitter { if (!newObj) { throw new Error( - `Hook '${hook.displayName || - hook.name || - "anonymous"}' for '${hookName}' returned falsy value '${newObj}'`, + `GraphileEngine.Hook '${ + hook.displayName || hook.name || "anonymous" + }' for '${hookName}' returned falsy value '${newObj}'`, ); } debug( @@ -1194,7 +1226,10 @@ class SchemaBuilder extends EventEmitter { } } - registerWatcher(listen: WatchUnwatch, unlisten: WatchUnwatch): void { + registerWatcher( + listen: GraphileEngine.WatchUnwatch, + unlisten: GraphileEngine.WatchUnwatch, + ): void { if (!listen || !unlisten) { throw new Error("You must provide both a listener and an unlistener"); } @@ -1202,10 +1237,10 @@ class SchemaBuilder extends EventEmitter { this.unwatchers.push(unlisten); } - createBuild(): Build { + createBuild(): GraphileEngine.Build { const initialBuild = makeNewBuild(this); // Inflection needs to come first, in case 'build' hooks depend on it - const scopeContext: ContextInflection = { + const scopeContext: GraphileEngine.ContextInflection = { scope: {}, type: "Inflection", }; @@ -1224,12 +1259,12 @@ class SchemaBuilder extends EventEmitter { // Bind all functions so they can be dereferenced bindAll( build, - Object.keys(build).filter(key => typeof build[key] === "function"), + Object.keys(build).filter((key) => typeof build[key] === "function"), ); Object.freeze(build); - const initContext: ContextInit = { scope: {}, type: "Init" }; - const initObject: InitObject = {} as never; + const initContext: GraphileEngine.ContextInit = { scope: {}, type: "Init" }; + const initObject: GraphileEngine.InitObject = {} as never; this.applyHooks(build, "init", initObject, initContext); return build; } @@ -1240,13 +1275,13 @@ class SchemaBuilder extends EventEmitter { const schemaSpec: Partial = { directives: [...build.graphql.specifiedDirectives], }; - const schemaScope: ScopeGraphQLSchema = { + const schemaScope: GraphileEngine.ScopeGraphQLSchema = { __origin: `GraphQL built-in`, isSchema: true, }; const schema = build.newWithHooks(GraphQLSchema, schemaSpec, schemaScope); - const finalizeContext: ContextFinalize = { + const finalizeContext: GraphileEngine.ContextFinalize = { scope: {}, type: "Finalize", }; @@ -1256,7 +1291,7 @@ class SchemaBuilder extends EventEmitter { "finalize", schema, finalizeContext, - "Finalising GraphQL schema", + "Finalizing GraphQL schema", ) : schema; } @@ -1266,7 +1301,7 @@ class SchemaBuilder extends EventEmitter { return this._generatedSchema; } - async watchSchema(listener?: SchemaListener): Promise { + async watchSchema(listener?: GraphileEngine.SchemaListener): Promise { if (this._busy) { throw new Error("An operation is in progress"); } @@ -1297,7 +1332,7 @@ class SchemaBuilder extends EventEmitter { // primarily used in development. // eslint-disable-next-line no-console console.error( - "⚠️⚠️⚠️ An error occured when building the schema on watch:", + "⚠️⚠️⚠️ An error occurred when building the schema on watch:", ); // eslint-disable-next-line no-console diff --git a/packages/graphile-build/src/callbackToAsyncIterator.ts b/packages/graphile-build/src/callbackToAsyncIterator.ts index 1dae0c8766..ba8639cfee 100644 --- a/packages/graphile-build/src/callbackToAsyncIterator.ts +++ b/packages/graphile-build/src/callbackToAsyncIterator.ts @@ -35,7 +35,7 @@ export default function callbackToAsyncIterator( } function pullValue() { - return new Promise(resolve => { + return new Promise((resolve) => { if (pushQueue.length !== 0) { resolve({ value: pushQueue.shift(), done: false }); } else { @@ -47,7 +47,7 @@ export default function callbackToAsyncIterator( function emptyQueue() { if (listening) { listening = false; - pullQueue.forEach(resolve => resolve({ value: undefined, done: true })); + pullQueue.forEach((resolve) => resolve({ value: undefined, done: true })); pullQueue = []; pushQueue = []; onClose && onClose(listenerReturnValue); @@ -56,11 +56,11 @@ export default function callbackToAsyncIterator( try { // Start listener - Promise.resolve(listener(value => pushValue(value))) - .then(a => { + Promise.resolve(listener((value) => pushValue(value))) + .then((a) => { listenerReturnValue = a; }) - .catch(err => { + .catch((err) => { onError(err); }); diff --git a/packages/graphile-build/src/index.ts b/packages/graphile-build/src/index.ts index 379b1c8062..23d01ccf04 100644 --- a/packages/graphile-build/src/index.ts +++ b/packages/graphile-build/src/index.ts @@ -13,8 +13,6 @@ import { } from "./plugins"; import resolveNode from "./resolveNode"; -import { Plugin, GraphileBuildOptions } from "./SchemaBuilder"; - export { GetDataFromParsedResolveInfoFragmentFunction } from "./makeNewBuild"; export { @@ -30,79 +28,11 @@ export { export { SchemaBuilder }; -export { - DirectiveMap, - GraphileResolverContext, - Plugin, - GraphileBuildOptions, - GraphileObjectTypeConfig, - GraphileInputObjectTypeConfig, - GraphileUnionTypeConfig, - FieldWithHooksFunction, - InputFieldWithHooksFunction, - Options, - BuildBase, - Build, - Hook, - WatchUnwatch, - SchemaListener, - InitObject, - Inflection, - LookAheadData, - ResolvedLookAhead, - Scope, - Context, - ScopeBuild, - ContextBuild, - ScopeInflection, - ContextInflection, - ScopeInit, - ContextInit, - ScopeGraphQLSchema, - ContextGraphQLSchema, - ScopeGraphQLScalarType, - ContextGraphQLScalarType, - ScopeGraphQLObjectType, - ContextGraphQLObjectTypeBase, - ContextGraphQLObjectType, - ScopeGraphQLObjectTypeInterfaces, - ContextGraphQLObjectTypeInterfaces, - ScopeGraphQLObjectTypeFields, - ContextGraphQLObjectTypeFields, - ScopeGraphQLObjectTypeFieldsField, - ScopeGraphQLObjectTypeFieldsFieldWithFieldName, - ContextGraphQLObjectTypeFieldsField, - ScopeGraphQLObjectTypeFieldsFieldArgs, - ContextGraphQLObjectTypeFieldsFieldArgs, - ScopeGraphQLInterfaceType, - ContextGraphQLInterfaceType, - ScopeGraphQLUnionType, - ContextGraphQLUnionType, - ScopeGraphQLUnionTypeTypes, - ContextGraphQLUnionTypeTypes, - ScopeGraphQLInputObjectType, - ContextGraphQLInputObjectType, - ScopeGraphQLInputObjectTypeFields, - ContextGraphQLInputObjectTypeFields, - ScopeGraphQLInputObjectTypeFieldsField, - ScopeGraphQLInputObjectTypeFieldsFieldWithFieldName, - ContextGraphQLInputObjectTypeFieldsField, - ScopeGraphQLEnumType, - ContextGraphQLEnumType, - ScopeGraphQLEnumTypeValues, - ContextGraphQLEnumTypeValues, - ScopeGraphQLEnumTypeValuesValue, - ContextGraphQLEnumTypeValuesValue, - ScopeFinalize, - ContextFinalize, - SomeScope, -} from "./SchemaBuilder"; - export { LiveSource, LiveProvider, LiveMonitor, LiveCoordinator } from "./Live"; export const getBuilder = async ( - plugins: Array, - options: GraphileBuildOptions = {}, + plugins: Array, + options: GraphileEngine.GraphileBuildOptions = {}, ): Promise => { const builder = new SchemaBuilder(options); for (let i = 0, l = plugins.length; i < l; i++) { @@ -123,14 +53,14 @@ export const getBuilder = async ( }; export const buildSchema = async ( - plugins: Array, - options: GraphileBuildOptions = {}, + plugins: Array, + options: GraphileEngine.GraphileBuildOptions = {}, ): Promise => { const builder: SchemaBuilder = await getBuilder(plugins, options); return builder.buildSchema(); }; -export const defaultPlugins: Array = [ +export const defaultPlugins: Array = [ SwallowErrorsPlugin, StandardTypesPlugin, NodePlugin, diff --git a/packages/graphile-build/src/makeNewBuild.ts b/packages/graphile-build/src/makeNewBuild.ts index 72f433a1f5..ca49aa267c 100644 --- a/packages/graphile-build/src/makeNewBuild.ts +++ b/packages/graphile-build/src/makeNewBuild.ts @@ -14,32 +14,7 @@ import swallowError from "./swallowError"; import resolveNode from "./resolveNode"; import { LiveCoordinator } from "./Live"; -import SchemaBuilder, { - BuildBase, - ResolvedLookAhead, - ContextGraphQLSchema, - ContextGraphQLUnionType, - ContextGraphQLUnionTypeTypes, - GraphileUnionTypeConfig, - ContextGraphQLEnumType, - ContextGraphQLInputObjectType, - ContextGraphQLInputObjectTypeFields, - ContextGraphQLInputObjectTypeFieldsField, - ContextGraphQLObjectTypeInterfaces, - ContextGraphQLObjectType, - ContextGraphQLObjectTypeFields, - GraphileObjectTypeConfig, - ContextGraphQLObjectTypeBase, - ContextGraphQLObjectTypeFieldsField, - ContextGraphQLObjectTypeFieldsFieldArgs, - ScopeGraphQLObjectTypeFieldsField, - ScopeGraphQLObjectTypeFieldsFieldWithFieldName, - ScopeGraphQLInputObjectTypeFieldsField, - ArgDataGeneratorFunction, - DataGeneratorFunction, - Build, - ScopeGraphQLInputObjectTypeFieldsFieldWithFieldName, -} from "./SchemaBuilder"; +import SchemaBuilder from "./SchemaBuilder"; import extend, { indent } from "./extend"; import chalk from "chalk"; @@ -151,9 +126,7 @@ const hashCache = new LRU({ maxLength: 100000 }); function hashFieldAlias(str: string) { const precomputed = hashCache.get(str); if (precomputed) return precomputed; - const hash = createHash("sha1") - .update(str) - .digest("hex"); + const hash = createHash("sha1").update(str).digest("hex"); hashCache.set(str, hash); return hash; } @@ -201,26 +174,29 @@ type FieldSpec = graphql.GraphQLFieldConfig; export type GetDataFromParsedResolveInfoFragmentFunction = ( parsedResolveInfoFragment: ResolveTree, Type: graphql.GraphQLOutputType, -) => ResolvedLookAhead; - -export type FieldWithHooksFunction = ( - fieldName: string, - spec: - | FieldSpec - | ((context: ContextGraphQLObjectTypeFieldsField) => FieldSpec), - fieldScope: ScopeGraphQLObjectTypeFieldsField, -) => graphql.GraphQLFieldConfig; - -export type InputFieldWithHooksFunction = ( - fieldName: string, - spec: - | graphql.GraphQLInputFieldConfig - | (( - context: ContextGraphQLInputObjectTypeFieldsField, - ) => graphql.GraphQLInputFieldConfig), - fieldScope: ScopeGraphQLInputObjectTypeFieldsField, -) => graphql.GraphQLInputFieldConfig; - +) => GraphileEngine.ResolvedLookAhead; + +declare global { + namespace GraphileEngine { + type FieldWithHooksFunction = ( + fieldName: string, + spec: + | FieldSpec + | ((context: ContextGraphQLObjectTypeFieldsField) => FieldSpec), + fieldScope: ScopeGraphQLObjectTypeFieldsField, + ) => graphql.GraphQLFieldConfig; + + type InputFieldWithHooksFunction = ( + fieldName: string, + spec: + | graphql.GraphQLInputFieldConfig + | (( + context: ContextGraphQLInputObjectTypeFieldsField, + ) => graphql.GraphQLInputFieldConfig), + fieldScope: ScopeGraphQLInputObjectTypeFieldsField, + ) => graphql.GraphQLInputFieldConfig; + } +} function getNameFromType( Type: graphql.GraphQLNamedType | graphql.GraphQLSchema, ) { @@ -244,25 +220,27 @@ const { } = graphql; function mergeData( - data: ResolvedLookAhead, - gen: DataGeneratorFunction, + data: GraphileEngine.ResolvedLookAhead, + gen: GraphileEngine.DataGeneratorFunction, ReturnType: graphql.GraphQLOutputType, arg: ResolveTree, ): void; function mergeData( - data: ResolvedLookAhead, - gen: ArgDataGeneratorFunction, + data: GraphileEngine.ResolvedLookAhead, + gen: GraphileEngine.ArgDataGeneratorFunction, ReturnType: graphql.GraphQLOutputType, arg: { [fieldName: string]: unknown }, ): void; function mergeData( - data: ResolvedLookAhead, - gen: DataGeneratorFunction | ArgDataGeneratorFunction, + data: GraphileEngine.ResolvedLookAhead, + gen: + | GraphileEngine.DataGeneratorFunction + | GraphileEngine.ArgDataGeneratorFunction, ReturnType: graphql.GraphQLOutputType, arg: any, ): void { - const results: Array | void = ensureArray< - ResolvedLookAhead + const results: Array | void = ensureArray< + GraphileEngine.ResolvedLookAhead >(gen(arg, ReturnType, data)); if (!results) { @@ -273,7 +251,7 @@ function mergeData( resultIndex < resultCount; resultIndex++ ) { - const result: ResolvedLookAhead = results[resultIndex]; + const result: GraphileEngine.ResolvedLookAhead = results[resultIndex]; const keys = Object.keys(result); for (let i = 0, l = keys.length; i < l; i++) { const k = keys[i]; @@ -295,7 +273,7 @@ const knownTypes = [ GraphQLUnionType, ]; -const knownTypeNames = knownTypes.map(k => k.name); +const knownTypeNames = knownTypes.map((k) => k.name); /** * In v4 if you're not using TypeScript we allow users to return arrays of the @@ -319,9 +297,9 @@ function ensureArray(val: null | T | Array): void | Array { let ensureName: (fn: { (...args: any[]): any; displayName?: string; -}) => void = _fn => {}; +}) => void = (_fn) => {}; if (["development", "test"].indexOf(process.env.NODE_ENV || "") >= 0) { - ensureName = fn => { + ensureName = (fn) => { // $FlowFixMe: displayName if (isDev && !fn.displayName && !fn.name && debug.enabled) { // eslint-disable-next-line no-console @@ -332,7 +310,9 @@ if (["development", "test"].indexOf(process.env.NODE_ENV || "") >= 0) { }; } -export default function makeNewBuild(builder: SchemaBuilder): BuildBase { +export default function makeNewBuild( + builder: SchemaBuilder, +): GraphileEngine.BuildBase { const allTypes = { Int: graphql.GraphQLInt, Float: graphql.GraphQLFloat, @@ -355,7 +335,7 @@ export default function makeNewBuild(builder: SchemaBuilder): BuildBase { // When a field is defined, it may add to this field data. // When something resolves referencing this type, the resolver may - // request the fieldData, e.g. to perform optimisations. + // request the fieldData, e.g. to perform optimizations. // fieldData is an object whose keys are the fields on this // GraphQLObjectType and whose values are an object (whose keys are @@ -363,11 +343,11 @@ export default function makeNewBuild(builder: SchemaBuilder): BuildBase { // information of this kind) const fieldDataGeneratorsByFieldNameByType = new Map< graphql.GraphQLNamedType, - { [fieldName: string]: DataGeneratorFunction[] } + { [fieldName: string]: GraphileEngine.DataGeneratorFunction[] } >(); const fieldArgDataGeneratorsByFieldNameByType = new Map< graphql.GraphQLNamedType, - { [fieldName: string]: ArgDataGeneratorFunction[] } + { [fieldName: string]: GraphileEngine.ArgDataGeneratorFunction[] } >(); const newWithHooks: any = function newWithHooks< @@ -380,7 +360,7 @@ export default function makeNewBuild(builder: SchemaBuilder): BuildBase { | graphql.GraphQLEnumType | graphql.GraphQLInputObjectType >( - this: Build, + this: GraphileEngine.Build, Type: { new (...args: any[]): T }, spec: any, inScope: any, @@ -402,10 +382,10 @@ export default function makeNewBuild(builder: SchemaBuilder): BuildBase { ); } const fieldDataGeneratorsByFieldName: { - [fieldName: string]: DataGeneratorFunction[]; + [fieldName: string]: GraphileEngine.DataGeneratorFunction[]; } = {}; const fieldArgDataGeneratorsByFieldName: { - [fieldName: string]: ArgDataGeneratorFunction[]; + [fieldName: string]: GraphileEngine.ArgDataGeneratorFunction[]; } = {}; let newSpec = spec; if ( @@ -413,11 +393,12 @@ export default function makeNewBuild(builder: SchemaBuilder): BuildBase { knownTypeNames.indexOf(Type.name) >= 0 ) { throw new Error( - `GraphQL conflict for '${Type.name}' detected! Multiple versions of graphql exist in your node_modules?`, + `GraphQL conflict for '${Type.name}' detected! Multiple versions of graphql exist in your node_` + + /* yarn doctor */ `modules?`, ); } if (Type === GraphQLSchema) { - const context: ContextGraphQLSchema = { + const context: GraphileEngine.ContextGraphQLSchema = { type: "GraphQLSchema", scope, }; @@ -430,7 +411,7 @@ export default function makeNewBuild(builder: SchemaBuilder): BuildBase { } else if (Type === GraphQLObjectType) { const addDataGeneratorForField = ( fieldName: string, - fn: DataGeneratorFunction, + fn: GraphileEngine.DataGeneratorFunction, ): void => { // $FlowFixMe: displayName fn.displayName = @@ -460,7 +441,7 @@ export default function makeNewBuild(builder: SchemaBuilder): BuildBase { "Use of `recurseDataGeneratorsForField` is NOT SAFE. e.g. `{n1: node { a: field1 }, n2: node { a: field2 } }` cannot resolve correctly.", ); } - const fn: DataGeneratorFunction = ( + const fn: GraphileEngine.DataGeneratorFunction = ( parsedResolveInfoFragment, ReturnType, data, @@ -543,13 +524,16 @@ export default function makeNewBuild(builder: SchemaBuilder): BuildBase { // get type from field, get }; - const commonContext: ContextGraphQLObjectTypeBase = { + const commonContext: GraphileEngine.ContextGraphQLObjectTypeBase = { type: "GraphQLObjectType", scope, }; - const objectSpec: GraphileObjectTypeConfig = newSpec; - const objectContext: ContextGraphQLObjectType = { + const objectSpec: GraphileEngine.GraphileObjectTypeConfig< + any, + any + > = newSpec; + const objectContext: GraphileEngine.ContextGraphQLObjectType = { ...commonContext, addDataGeneratorForField, recurseDataGeneratorsForField, @@ -567,7 +551,7 @@ export default function makeNewBuild(builder: SchemaBuilder): BuildBase { newSpec = { ...newSpec, interfaces: () => { - const interfacesContext: ContextGraphQLObjectTypeInterfaces = { + const interfacesContext: GraphileEngine.ContextGraphQLObjectTypeInterfaces = { ...commonContext, Self: Self as graphql.GraphQLObjectType, GraphQLObjectType: rawSpec, @@ -587,7 +571,7 @@ export default function makeNewBuild(builder: SchemaBuilder): BuildBase { }, fields: () => { const processedFields: graphql.GraphQLFieldConfig[] = []; - const fieldWithHooks: FieldWithHooksFunction = ( + const fieldWithHooks: GraphileEngine.FieldWithHooksFunction = ( fieldName, spec, fieldScope, @@ -609,11 +593,11 @@ export default function makeNewBuild(builder: SchemaBuilder): BuildBase { ); } - const argDataGenerators: ArgDataGeneratorFunction[] = []; + const argDataGenerators: GraphileEngine.ArgDataGeneratorFunction[] = []; fieldArgDataGeneratorsByFieldName[fieldName] = argDataGenerators; let newSpec = spec; - const scopeWithFieldName: ScopeGraphQLObjectTypeFieldsFieldWithFieldName = extend( + const scopeWithFieldName: GraphileEngine.ScopeGraphQLObjectTypeFieldsFieldWithFieldName = extend( extend( { ...scope }, { @@ -626,7 +610,7 @@ export default function makeNewBuild(builder: SchemaBuilder): BuildBase { fieldScope, `Extending scope for field '${fieldName}' within context for GraphQLObjectType '${rawSpec.name}'`, ); - const context: ContextGraphQLObjectTypeFieldsField = { + const context: GraphileEngine.ContextGraphQLObjectTypeFieldsField = { ...commonContext, Self: Self as graphql.GraphQLObjectType, addDataGenerator(fn) { @@ -639,9 +623,9 @@ export default function makeNewBuild(builder: SchemaBuilder): BuildBase { getDataFromParsedResolveInfoFragment: ( parsedResolveInfoFragment, ReturnType, - ): ResolvedLookAhead => { + ): GraphileEngine.ResolvedLookAhead => { const Type = getNamedType(ReturnType as graphql.GraphQLType); - const data: ResolvedLookAhead = {}; + const data: GraphileEngine.ResolvedLookAhead = {}; const { fields, @@ -722,7 +706,7 @@ export default function makeNewBuild(builder: SchemaBuilder): BuildBase { ); newSpec.args = newSpec.args || {}; - const argsContext: ContextGraphQLObjectTypeFieldsFieldArgs = { + const argsContext: GraphileEngine.ContextGraphQLObjectTypeFieldsFieldArgs = { ...context, field: newSpec, returnType: newSpec.type, @@ -743,7 +727,7 @@ export default function makeNewBuild(builder: SchemaBuilder): BuildBase { processedFields.push(finalSpec); return finalSpec; }; - const fieldsContext: ContextGraphQLObjectTypeFields = { + const fieldsContext: GraphileEngine.ContextGraphQLObjectTypeFields = { ...commonContext, addDataGeneratorForField, recurseDataGeneratorsForField, @@ -789,7 +773,7 @@ export default function makeNewBuild(builder: SchemaBuilder): BuildBase { }, }; } else if (Type === GraphQLInputObjectType) { - const commonContext: ContextGraphQLInputObjectType = { + const commonContext: GraphileEngine.ContextGraphQLInputObjectType = { type: "GraphQLInputObjectType", scope, }; @@ -809,7 +793,7 @@ export default function makeNewBuild(builder: SchemaBuilder): BuildBase { ...newSpec, fields: () => { const processedFields: graphql.GraphQLInputFieldConfig[] = []; - const fieldWithHooks: InputFieldWithHooksFunction = ( + const fieldWithHooks: GraphileEngine.InputFieldWithHooksFunction = ( fieldName, spec, fieldScope = {}, @@ -819,7 +803,7 @@ export default function makeNewBuild(builder: SchemaBuilder): BuildBase { "It looks like you forgot to pass the fieldName to `fieldWithHooks`, we're sorry this is current necessary.", ); } - const finalFieldScope: ScopeGraphQLInputObjectTypeFieldsFieldWithFieldName = extend( + const finalFieldScope: GraphileEngine.ScopeGraphQLInputObjectTypeFieldsFieldWithFieldName = extend( extend( { ...scope }, { @@ -832,7 +816,7 @@ export default function makeNewBuild(builder: SchemaBuilder): BuildBase { fieldScope, `Extending scope for field '${fieldName}' within context for GraphQLInputObjectType '${rawSpec.name}'`, ); - const context: ContextGraphQLInputObjectTypeFieldsField = { + const context: GraphileEngine.ContextGraphQLInputObjectTypeFieldsField = { ...commonContext, Self: Self as graphql.GraphQLInputObjectType, scope: finalFieldScope, @@ -854,7 +838,7 @@ export default function makeNewBuild(builder: SchemaBuilder): BuildBase { processedFields.push(finalSpec); return finalSpec; }; - const fieldsContext: ContextGraphQLInputObjectTypeFields = { + const fieldsContext: GraphileEngine.ContextGraphQLInputObjectTypeFields = { ...commonContext, Self: Self as graphql.GraphQLInputObjectType, GraphQLInputObjectType: rawSpec, @@ -898,7 +882,7 @@ export default function makeNewBuild(builder: SchemaBuilder): BuildBase { }, }; } else if (Type === GraphQLEnumType) { - const commonContext: ContextGraphQLEnumType = { + const commonContext: GraphileEngine.ContextGraphQLEnumType = { type: "GraphQLEnumType", scope, }; @@ -934,7 +918,7 @@ export default function makeNewBuild(builder: SchemaBuilder): BuildBase { return memo; }, {}); } else if (Type === GraphQLUnionType) { - const commonContext: ContextGraphQLUnionType = { + const commonContext: GraphileEngine.ContextGraphQLUnionType = { type: "GraphQLUnionType", scope, }; @@ -947,11 +931,14 @@ export default function makeNewBuild(builder: SchemaBuilder): BuildBase { `|${newSpec.name}`, ); - const rawSpec = newSpec as GraphileUnionTypeConfig; + const rawSpec = newSpec as GraphileEngine.GraphileUnionTypeConfig< + any, + any + >; newSpec = { ...newSpec, types: () => { - const typesContext: ContextGraphQLUnionTypeTypes = { + const typesContext: GraphileEngine.ContextGraphQLUnionTypeTypes = { ...commonContext, Self: Self as graphql.GraphQLUnionType, GraphQLUnionType: rawSpec, diff --git a/packages/graphile-build/src/plugins/AddQueriesToSubscriptionsPlugin.ts b/packages/graphile-build/src/plugins/AddQueriesToSubscriptionsPlugin.ts index 24de8ec922..38cadee0d1 100644 --- a/packages/graphile-build/src/plugins/AddQueriesToSubscriptionsPlugin.ts +++ b/packages/graphile-build/src/plugins/AddQueriesToSubscriptionsPlugin.ts @@ -1,6 +1,4 @@ -import { Plugin } from "../SchemaBuilder"; - -const AddQueriesToSubscriptionsPlugin: Plugin = function( +const AddQueriesToSubscriptionsPlugin: GraphileEngine.Plugin = function ( builder, { subscriptions, live }, ) { diff --git a/packages/graphile-build/src/plugins/ClientMutationIdDescriptionPlugin.ts b/packages/graphile-build/src/plugins/ClientMutationIdDescriptionPlugin.ts index f22a8c5e09..4e986a5a55 100644 --- a/packages/graphile-build/src/plugins/ClientMutationIdDescriptionPlugin.ts +++ b/packages/graphile-build/src/plugins/ClientMutationIdDescriptionPlugin.ts @@ -1,4 +1,4 @@ -import SchemaBuilder, { Plugin } from "../SchemaBuilder"; +import SchemaBuilder from "../SchemaBuilder"; export default (function ClientMutationIdDescriptionPlugin( builder: SchemaBuilder, @@ -85,4 +85,4 @@ export default (function ClientMutationIdDescriptionPlugin( }, ["ClientMutationIdDescription"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build/src/plugins/MutationPayloadQueryPlugin.ts b/packages/graphile-build/src/plugins/MutationPayloadQueryPlugin.ts index 0e3151b461..e9139a3cae 100644 --- a/packages/graphile-build/src/plugins/MutationPayloadQueryPlugin.ts +++ b/packages/graphile-build/src/plugins/MutationPayloadQueryPlugin.ts @@ -1,5 +1,3 @@ -import { Plugin } from "../SchemaBuilder"; - export default (function MutationPayloadQueryPlugin(builder) { builder.hook( "GraphQLObjectType:fields", @@ -31,4 +29,4 @@ export default (function MutationPayloadQueryPlugin(builder) { }, ["MutationPayloadQuery"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build/src/plugins/MutationPlugin.ts b/packages/graphile-build/src/plugins/MutationPlugin.ts index 0d4e943053..bc1a854673 100644 --- a/packages/graphile-build/src/plugins/MutationPlugin.ts +++ b/packages/graphile-build/src/plugins/MutationPlugin.ts @@ -1,5 +1,3 @@ -import { Plugin } from "../SchemaBuilder"; - function isValidMutation(Mutation: import("graphql").GraphQLObjectType | null) { try { if (!Mutation) { @@ -55,4 +53,4 @@ export default (async function MutationPlugin(builder) { [], ["Query"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build/src/plugins/NodePlugin.ts b/packages/graphile-build/src/plugins/NodePlugin.ts index 376fb3f8f7..edecb5fde5 100644 --- a/packages/graphile-build/src/plugins/NodePlugin.ts +++ b/packages/graphile-build/src/plugins/NodePlugin.ts @@ -1,10 +1,3 @@ -import { - Plugin, - ResolvedLookAhead, - Hook, - ContextGraphQLObjectTypeInterfaces, - GraphileResolverContext, -} from "../SchemaBuilder"; import { ResolveTree } from "graphql-parse-resolve-info"; const base64 = (str: string) => Buffer.from(String(str)).toString("base64"); @@ -14,10 +7,10 @@ const base64Decode = (str: string) => export type NodeFetcher = ( data: unknown, identifiers: Array, - context: GraphileResolverContext, + context: GraphileEngine.GraphileResolverContext, parsedResolveInfoFragment: ResolveTree, type: import("graphql").GraphQLType, - resolveData: ResolvedLookAhead, + resolveData: GraphileEngine.ResolvedLookAhead, resolveInfo: import("graphql").GraphQLResolveInfo, ) => T; @@ -30,7 +23,7 @@ export default (function NodePlugin( : "id"; builder.hook( "build", - build => { + (build) => { const nodeFetcherByTypeName = {}; const nodeAliasByTypeName = {}; const nodeTypeNameByAlias = {}; @@ -115,7 +108,7 @@ export default (function NodePlugin( { name: inflection.builtin("Node"), description: "An object with a globally unique `ID`.", - resolveType: value => { + resolveType: (value) => { if (value === $$isQuery) { if (!Query) { const type = getTypeByName(inflection.builtin("Query")); @@ -174,9 +167,9 @@ export default (function NodePlugin( } else { return interfaces; } - } as Hook< + } as GraphileEngine.Hook< Array>, - ContextGraphQLObjectTypeInterfaces + GraphileEngine.ContextGraphQLObjectTypeInterfaces >, ["Node"], ); @@ -256,4 +249,4 @@ export default (function NodePlugin( }, ["Node"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build/src/plugins/QueryPlugin.ts b/packages/graphile-build/src/plugins/QueryPlugin.ts index aa36e47907..e0658c2057 100644 --- a/packages/graphile-build/src/plugins/QueryPlugin.ts +++ b/packages/graphile-build/src/plugins/QueryPlugin.ts @@ -1,9 +1,7 @@ -import { Plugin } from "../SchemaBuilder"; - export default (async function QueryPlugin(builder) { builder.hook( "build", - build => + (build) => build.extend( build, { @@ -69,4 +67,4 @@ export default (async function QueryPlugin(builder) { }, ["Query"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build/src/plugins/StandardTypesPlugin.ts b/packages/graphile-build/src/plugins/StandardTypesPlugin.ts index 5df74e8879..21c8794928 100644 --- a/packages/graphile-build/src/plugins/StandardTypesPlugin.ts +++ b/packages/graphile-build/src/plugins/StandardTypesPlugin.ts @@ -1,23 +1,17 @@ -import { - Plugin, - Build, - GraphileObjectTypeConfig, - ScopeGraphQLObjectType, -} from "../SchemaBuilder"; import { Kind } from "graphql/language"; export default (function StandardTypesPlugin(builder) { // XXX: this should be in an "init" plugin, but PgTypesPlugin requires it in build - fix that, then fix this builder.hook( "build", - (build: Build): Build => { + (build: GraphileEngine.Build): GraphileEngine.Build => { const stringType = (name: string, description: string | null) => new build.graphql.GraphQLScalarType({ name, description, - serialize: value => String(value), - parseValue: value => String(value), - parseLiteral: ast => { + serialize: (value) => String(value), + parseValue: (value) => String(value), + parseLiteral: (ast) => { if (ast.kind !== Kind.STRING) { throw new Error("Can only parse string values"); } @@ -44,7 +38,7 @@ export default (function StandardTypesPlugin(builder) { graphql: { GraphQLNonNull, GraphQLObjectType, GraphQLBoolean }, inflection, } = build; - const spec: GraphileObjectTypeConfig = { + const spec: GraphileEngine.GraphileObjectTypeConfig = { name: inflection.builtin("PageInfo"), description: "Information about pagination in a connection.", fields({ fieldWithHooks }) { @@ -85,7 +79,7 @@ export default (function StandardTypesPlugin(builder) { }; }, }; - const scope: ScopeGraphQLObjectType = { + const scope: GraphileEngine.ScopeGraphQLObjectType = { __origin: `graphile-build built-in`, isPageInfo: true, }; @@ -97,4 +91,4 @@ export default (function StandardTypesPlugin(builder) { }, ["StandardTypes", "PageInfo"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build/src/plugins/SubscriptionPlugin.ts b/packages/graphile-build/src/plugins/SubscriptionPlugin.ts index c6cb758eb5..b8989c19a5 100644 --- a/packages/graphile-build/src/plugins/SubscriptionPlugin.ts +++ b/packages/graphile-build/src/plugins/SubscriptionPlugin.ts @@ -1,5 +1,3 @@ -import { Plugin, ScopeGraphQLObjectType } from "../SchemaBuilder"; - function isValidSubscription( Subscription: import("graphql").GraphQLObjectType | null, ) { @@ -51,7 +49,7 @@ export default (async function SubscriptionPlugin(builder, { live }) { description: live ? liveDescription : description, fields: {}, }; - const scope: ScopeGraphQLObjectType = { + const scope: GraphileEngine.ScopeGraphQLObjectType = { __origin: `graphile-build built-in (root subscription type)`, isRootSubscription: true, }; @@ -74,4 +72,4 @@ export default (async function SubscriptionPlugin(builder, { live }) { [], ["Query"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build/src/plugins/SwallowErrorsPlugin.ts b/packages/graphile-build/src/plugins/SwallowErrorsPlugin.ts index 2e15aed5bb..5316fba431 100644 --- a/packages/graphile-build/src/plugins/SwallowErrorsPlugin.ts +++ b/packages/graphile-build/src/plugins/SwallowErrorsPlugin.ts @@ -1,12 +1,10 @@ -import { Plugin, Build } from "../SchemaBuilder"; - export default (function SwallowErrorsPlugin( builder, { dontSwallowErrors = false }, ) { builder.hook( "build", - (build: Build): Build => { + (build: GraphileEngine.Build): GraphileEngine.Build => { if (dontSwallowErrors) { // This plugin is a bit of a misnomer - to better maintain backwards // compatibility, `swallowError` still exists on `makeNewBuild`; and @@ -23,4 +21,4 @@ export default (function SwallowErrorsPlugin( }, ["SwallowErrors"], ); -} as Plugin); +} as GraphileEngine.Plugin); diff --git a/packages/graphile-build/src/resolveNode.ts b/packages/graphile-build/src/resolveNode.ts index 9d0efbca12..17dc0eb2c1 100644 --- a/packages/graphile-build/src/resolveNode.ts +++ b/packages/graphile-build/src/resolveNode.ts @@ -1,17 +1,16 @@ -import { Build, Context } from "./SchemaBuilder"; import { GetDataFromParsedResolveInfoFragmentFunction } from "./makeNewBuild"; import { NodeFetcher } from "./plugins/NodePlugin"; export default async function resolveNode( nodeId: string, - build: Build, + build: GraphileEngine.Build, { getDataFromParsedResolveInfoFragment, }: { getDataFromParsedResolveInfoFragment: GetDataFromParsedResolveInfoFragmentFunction; }, data: unknown, - context: Context, + context: GraphileEngine.Context, resolveInfo: import("graphql").GraphQLResolveInfo, ): Promise { const { diff --git a/packages/graphile-build/src/swallowError.ts b/packages/graphile-build/src/swallowError.ts index b314271e27..cfbe7cba37 100644 --- a/packages/graphile-build/src/swallowError.ts +++ b/packages/graphile-build/src/swallowError.ts @@ -12,10 +12,7 @@ export default function swallowError(e: Error): void { } else { const errorSnippet = e && typeof e.toString === "function" - ? String(e) - .replace(/\n.*/g, "") - .substr(0, 320) - .trim() + ? String(e).replace(/\n.*/g, "").substr(0, 320).trim() : null; if (errorSnippet) { // eslint-disable-next-line no-console diff --git a/packages/graphile-build/src/utils.ts b/packages/graphile-build/src/utils.ts index 6d3ef2aaba..ed7ad4ac0f 100644 --- a/packages/graphile-build/src/utils.ts +++ b/packages/graphile-build/src/utils.ts @@ -3,7 +3,7 @@ import camelCaseAll from "lodash/camelCase"; import plz from "pluralize"; const bindAll = (obj: {}, keys: Array) => { - keys.forEach(key => { + keys.forEach((key) => { // The Object.assign is to copy across any function properties obj[key] = Object.assign(obj[key].bind(obj), obj[key]); }); diff --git a/packages/graphile-utils/README.md b/packages/graphile-utils/README.md index f53fe1e7df..ef2a0d077f 100644 --- a/packages/graphile-utils/README.md +++ b/packages/graphile-utils/README.md @@ -77,7 +77,7 @@ module.exports = MySchemaExtensionPlugin; e.g.: ```js -makeExtendSchemaPlugin(build => ({ +makeExtendSchemaPlugin((build) => ({ typeDefs: gql` type Random { float: Float! diff --git a/packages/graphile-utils/__tests__/ExtendSchemaPlugin-pg.test.js b/packages/graphile-utils/__tests__/ExtendSchemaPlugin-pg.test.js index b87da16904..d12e836c7c 100644 --- a/packages/graphile-utils/__tests__/ExtendSchemaPlugin-pg.test.js +++ b/packages/graphile-utils/__tests__/ExtendSchemaPlugin-pg.test.js @@ -3,7 +3,7 @@ import { graphql } from "graphql"; import { createPostGraphileSchema } from "postgraphile-core"; import { makeExtendSchemaPlugin, gql, embed } from "../"; -const clean = data => { +const clean = (data) => { if (Array.isArray(data)) { return data.map(clean); } else if (data && typeof data === "object") { @@ -24,7 +24,7 @@ const clean = data => { }; function mockSendEmail() { - return new Promise(resolve => setTimeout(resolve, 1)); + return new Promise((resolve) => setTimeout(resolve, 1)); } let pgPool; @@ -45,7 +45,7 @@ it("allows adding a custom single field to PG schema", async () => { const schema = await createPostGraphileSchema(pgPool, ["graphile_utils"], { disableDefaultMutations: true, appendPlugins: [ - makeExtendSchemaPlugin(build => { + makeExtendSchemaPlugin((build) => { const { pgSql: sql } = build; return { typeDefs: gql` @@ -107,7 +107,7 @@ it("allows adding a custom field returning a list to PG schema", async () => { const schema = await createPostGraphileSchema(pgPool, ["graphile_utils"], { disableDefaultMutations: true, appendPlugins: [ - makeExtendSchemaPlugin(build => { + makeExtendSchemaPlugin((build) => { const { pgSql: sql } = build; return { typeDefs: gql` @@ -170,7 +170,7 @@ it("allows adding a simple mutation field to PG schema", async () => { const schema = await createPostGraphileSchema(pgPool, ["graphile_utils"], { disableDefaultMutations: true, appendPlugins: [ - makeExtendSchemaPlugin(build => { + makeExtendSchemaPlugin((build) => { const { pgSql: sql } = build; return { typeDefs: gql` @@ -300,7 +300,7 @@ it("allows adding a field to an existing table, and requesting necessary data al `, resolvers: { User: { - customField: user => { + customField: (user) => { return `User ${user.id} fetched (name: ${ user.name }) ${JSON.stringify(user.renamedComplexColumn)}`; @@ -342,10 +342,11 @@ it("allows adding a custom connection", async () => { const schema = await createPostGraphileSchema(pgPool, ["graphile_utils"], { disableDefaultMutations: true, appendPlugins: [ - makeExtendSchemaPlugin(build => { + makeExtendSchemaPlugin((build) => { const { pgSql: sql } = build; const table = build.pgIntrospectionResultsByKind.class.find( - tbl => tbl.namespaceName === "graphile_utils" && tbl.name === "users", + (tbl) => + tbl.namespaceName === "graphile_utils" && tbl.name === "users", ); return { typeDefs: gql` @@ -425,7 +426,7 @@ it("allows adding a custom connection without requiring directives", async () => const schema = await createPostGraphileSchema(pgPool, ["graphile_utils"], { disableDefaultMutations: true, appendPlugins: [ - makeExtendSchemaPlugin(build => { + makeExtendSchemaPlugin((build) => { const { pgSql: sql } = build; return { typeDefs: gql` @@ -502,14 +503,14 @@ it("allows adding a custom connection to a nested type", async () => { const schema = await createPostGraphileSchema(pgPool, ["graphile_utils"], { disableDefaultMutations: true, appendPlugins: [ - makeExtendSchemaPlugin(build => { + makeExtendSchemaPlugin((build) => { const { pgSql: sql } = build; return { typeDefs: gql` extend type User { pets: PetsConnection @pgQuery( source: ${embed(sql`graphile_utils.pets`)} - withQueryBuilder: ${embed(queryBuilder => { + withQueryBuilder: ${embed((queryBuilder) => { queryBuilder.where( sql`${queryBuilder.getTableAlias()}.user_id = ${queryBuilder.parentQueryBuilder.getTableAlias()}.id`, ); @@ -584,7 +585,7 @@ it("allows adding a custom connection to a nested type", async () => { expect(caroline.p2).toBeTruthy(); expect(caroline.p2.nodes).toHaveLength(2); expect(caroline.p2.totalCount).toEqual(3); - expect(caroline.p2.nodes.map(n => n.name)).toEqual(["Goldie", "Spot"]); + expect(caroline.p2.nodes.map((n) => n.name)).toEqual(["Goldie", "Spot"]); expect(data).toMatchSnapshot(); } finally { pgClient.release(); @@ -595,7 +596,7 @@ it("allows adding a custom list to a nested type", async () => { const schema = await createPostGraphileSchema(pgPool, ["graphile_utils"], { disableDefaultMutations: true, appendPlugins: [ - makeExtendSchemaPlugin(build => { + makeExtendSchemaPlugin((build) => { const { pgSql: sql } = build; return { typeDefs: gql` @@ -654,7 +655,7 @@ it("allows adding a single table entry to a nested type", async () => { const schema = await createPostGraphileSchema(pgPool, ["graphile_utils"], { disableDefaultMutations: true, appendPlugins: [ - makeExtendSchemaPlugin(build => { + makeExtendSchemaPlugin((build) => { const { pgSql: sql } = build; return { typeDefs: gql` @@ -717,7 +718,7 @@ it("allows to retrieve a single scalar value", async () => { const schema = await createPostGraphileSchema(pgPool, ["graphile_utils"], { disableDefaultMutations: true, appendPlugins: [ - makeExtendSchemaPlugin(build => { + makeExtendSchemaPlugin((build) => { const { pgSql: sql } = build; return { typeDefs: gql` @@ -727,7 +728,7 @@ it("allows to retrieve a single scalar value", async () => { ) myCustomScalarWithFunction: String! @pgQuery( fragment: ${embed( - queryBuilder => + (queryBuilder) => sql`(${queryBuilder.getTableAlias()}.name || ' ' || ${queryBuilder.getTableAlias()}.email)`, )} ) @@ -786,7 +787,7 @@ it("allows to retrieve array scalar values", async () => { const schema = await createPostGraphileSchema(pgPool, ["graphile_utils"], { disableDefaultMutations: true, appendPlugins: [ - makeExtendSchemaPlugin(build => { + makeExtendSchemaPlugin((build) => { const { pgSql: sql } = build; return { typeDefs: gql` diff --git a/packages/graphile-utils/__tests__/ExtendSchemaPlugin.test.js b/packages/graphile-utils/__tests__/ExtendSchemaPlugin.test.js index 17e949c405..cf13e42f96 100644 --- a/packages/graphile-utils/__tests__/ExtendSchemaPlugin.test.js +++ b/packages/graphile-utils/__tests__/ExtendSchemaPlugin.test.js @@ -27,7 +27,7 @@ function TestUtils_ExtractScopePlugin( ? fieldNameOrCallback : possiblyCallback; const fieldName = possiblyCallback && fieldNameOrCallback; - return builder => { + return (builder) => { builder.hook(hook, (_, build, context) => { const { Self } = context; const currentObjectTypeName = (Self && Self.name) || _.name; @@ -78,7 +78,7 @@ const resolvers = { if (frequency == null) { throw new Error("No frequency specified"); } - return new Promise(resolve => + return new Promise((resolve) => setTimeout(() => resolve(Date.now()), frequency), ); }, @@ -109,7 +109,7 @@ const resolvers = { if (valueQueue.length) { return Promise.resolve(valueQueue.shift()); } else { - return new Promise(resolve => { + return new Promise((resolve) => { callbackQueue.push(resolve); }); } @@ -145,7 +145,7 @@ const resolvers = { it("allows adding a simple type", async () => { const schema = await buildSchema([ ...simplePlugins, - makeExtendSchemaPlugin(_build => ({ + makeExtendSchemaPlugin((_build) => ({ typeDefs: gql` extend type Query { """ @@ -172,7 +172,7 @@ it("allows adding a simple type", async () => { it("allows adding a non-null type", async () => { const schema = await buildSchema([ ...simplePlugins, - makeExtendSchemaPlugin(_build => ({ + makeExtendSchemaPlugin((_build) => ({ typeDefs: gql` extend type Query { """ @@ -199,7 +199,7 @@ it("allows adding a non-null type", async () => { it("allows adding a non-null list of non-null type", async () => { const schema = await buildSchema([ ...simplePlugins, - makeExtendSchemaPlugin(_build => ({ + makeExtendSchemaPlugin((_build) => ({ typeDefs: gql` extend type Query { """ @@ -226,7 +226,7 @@ it("allows adding a non-null list of non-null type", async () => { it("accepts an array of typedefs", async () => { const schema = await buildSchema([ ...simplePlugins, - makeExtendSchemaPlugin(_build => ({ + makeExtendSchemaPlugin((_build) => ({ typeDefs: [ gql` extend type Query { @@ -266,7 +266,7 @@ it("throws the proper error if an array of typeDefs aren't all DocumentNodes", ( return expect( buildSchema([ ...simplePlugins, - makeExtendSchemaPlugin(_build => ({ + makeExtendSchemaPlugin((_build) => ({ typeDefs: [ gql` extend type Query { @@ -297,7 +297,7 @@ it("throws the proper error if a single typeDef isn't a DocumentNode", () => { return expect( buildSchema([ ...simplePlugins, - makeExtendSchemaPlugin(_build => ({ + makeExtendSchemaPlugin((_build) => ({ typeDefs: ` extend type Query { """ @@ -317,7 +317,7 @@ it("throws the proper error if a single typeDef isn't a DocumentNode", () => { it("allows adding a field with arguments", async () => { const schema = await buildSchema([ ...simplePlugins, - makeExtendSchemaPlugin(_build => ({ + makeExtendSchemaPlugin((_build) => ({ typeDefs: gql` extend type Query { """ @@ -349,7 +349,7 @@ it("allows adding a field with arguments named using a custom inflector", async return this.camelCase("my-custom-echo-field-name"); }, }), - makeExtendSchemaPlugin(build => ({ + makeExtendSchemaPlugin((build) => ({ typeDefs: gql` extend type Query { """ @@ -390,7 +390,7 @@ it("supports @scope directive with simple values", async () => { } const schema = await buildSchema([ ...simplePlugins, - makeExtendSchemaPlugin(_build => ({ + makeExtendSchemaPlugin((_build) => ({ typeDefs: gql` extend type Query { """ @@ -446,7 +446,7 @@ it("supports @scope directive with variable value", async () => { const secret = Symbol("test-secret"); const schema = await buildSchema([ ...simplePlugins, - makeExtendSchemaPlugin(_build => ({ + makeExtendSchemaPlugin((_build) => ({ typeDefs: gql` extend type Query { """ @@ -522,7 +522,7 @@ it("supports defining new types", async () => { `; const schema = await buildSchema([ ...simplePlugins, - makeExtendSchemaPlugin(_build => ({ + makeExtendSchemaPlugin((_build) => ({ typeDefs: gql` ${EchoCount} ${EchoInput} @@ -613,7 +613,7 @@ it("supports defining new types", async () => { expect(data).toMatchSnapshot(); expect(inputsSeen.length).toEqual(4); expect(enumsSeen.length).toEqual(4); - expect(inputsSeen.map(s => s.count)).toEqual([ + expect(inputsSeen.map((s) => s.count)).toEqual([ "forever and ever and ever", "ONCE", "TWICE", @@ -630,7 +630,7 @@ it("supports defining new types", async () => { it("supports defining a simple mutation", async () => { const schema = await buildSchema([ ...simplePlugins, - makeExtendSchemaPlugin(_build => ({ + makeExtendSchemaPlugin((_build) => ({ typeDefs: gql` extend type Mutation { add(a: Int, b: Int): Int @@ -655,7 +655,7 @@ it("supports defining a simple mutation", async () => { it("supports defining a more complex mutation", async () => { const schema = await buildSchema([ ...simplePlugins, - makeExtendSchemaPlugin(_build => ({ + makeExtendSchemaPlugin((_build) => ({ typeDefs: gql` input EchoInput { text: String! @@ -724,7 +724,7 @@ it("supports defining a more complex mutation", async () => { it("supports defining a simple subscription", async () => { const schema = await buildSchema([ ...simplePlugins, - makeExtendSchemaPlugin(_build => ({ + makeExtendSchemaPlugin((_build) => ({ typeDefs: gql` extend type Subscription { clockTicks( diff --git a/packages/graphile-utils/__tests__/makeAddPgTableConditionPlugin.test.js b/packages/graphile-utils/__tests__/makeAddPgTableConditionPlugin.test.js index 3ac9a3a1f8..994acc6df6 100644 --- a/packages/graphile-utils/__tests__/makeAddPgTableConditionPlugin.test.js +++ b/packages/graphile-utils/__tests__/makeAddPgTableConditionPlugin.test.js @@ -8,7 +8,7 @@ import { makeAddPgTableConditionPlugin, } from "../dist"; -const clean = data => { +const clean = (data) => { if (Array.isArray(data)) { return data.map(clean); } else if (data && typeof data === "object") { @@ -47,7 +47,7 @@ const PetsCountPlugin = makeAddPgTableConditionPlugin( "graphile_utils", "users", "petCountAtLeast", - build => ({ + (build) => ({ description: "Filters users to those that have at least this many pets", type: build.graphql.GraphQLInt, }), diff --git a/packages/graphile-utils/__tests__/makePgSmartTagsPlugin.test.js b/packages/graphile-utils/__tests__/makePgSmartTagsPlugin.test.js index a36f23b6bb..a34b18ec2f 100644 --- a/packages/graphile-utils/__tests__/makePgSmartTagsPlugin.test.js +++ b/packages/graphile-utils/__tests__/makePgSmartTagsPlugin.test.js @@ -178,7 +178,7 @@ test.each([ disableDefaultMutations: true, appendPlugins: [makeJSONPgSmartTagsPlugin(json)], }); - await withContext(async context => { + await withContext(async (context) => { const { data, errors } = await graphql( schema, testQuery, diff --git a/packages/graphile-utils/__tests__/makeProcessSchemaPlugin.test.js b/packages/graphile-utils/__tests__/makeProcessSchemaPlugin.test.js index 57c8e261d7..6a0e162178 100644 --- a/packages/graphile-utils/__tests__/makeProcessSchemaPlugin.test.js +++ b/packages/graphile-utils/__tests__/makeProcessSchemaPlugin.test.js @@ -10,7 +10,7 @@ import { } from "graphile-build"; import { GraphQLSchema, GraphQLObjectType, GraphQLString } from "graphql"; -const makeSchemaWithSpy = spy => +const makeSchemaWithSpy = (spy) => buildSchema( [ StandardTypesPlugin, @@ -25,11 +25,11 @@ const makeSchemaWithSpy = spy => }, ); -const makeSpy = fn => jest.fn(fn || (schema => schema)); +const makeSpy = (fn) => jest.fn(fn || ((schema) => schema)); it("Gets passed the final schema", async () => { let spySchema; - const spy = makeSpy(_schema => { + const spy = makeSpy((_schema) => { spySchema = _schema; return _schema; }); @@ -52,7 +52,7 @@ const simpleSchema = new GraphQLSchema({ it("Can replace the schema", async () => { let spySchema; - const spy = makeSpy(_schema => { + const spy = makeSpy((_schema) => { spySchema = _schema; return simpleSchema; }); @@ -64,7 +64,7 @@ it("Can replace the schema", async () => { it("Can tweak the schema", async () => { let spySchema; - const spy = makeSpy(_schema => { + const spy = makeSpy((_schema) => { _schema.getQueryType().description = "MODIFIED DESCRIPTION"; spySchema = _schema; return _schema; diff --git a/packages/graphile-utils/__tests__/makeWrapResolversPlugin-pg.test.js b/packages/graphile-utils/__tests__/makeWrapResolversPlugin-pg.test.js index 8c6e1bb3a2..b203d4f617 100644 --- a/packages/graphile-utils/__tests__/makeWrapResolversPlugin-pg.test.js +++ b/packages/graphile-utils/__tests__/makeWrapResolversPlugin-pg.test.js @@ -18,7 +18,7 @@ afterAll(() => { } }); -const makeSchemaWithPlugins = plugins => +const makeSchemaWithPlugins = (plugins) => createPostGraphileSchema(pgPool, ["graphile_utils"], { appendPlugins: plugins, }); @@ -71,7 +71,7 @@ it("requests the required sibling columns", async () => { }, ); expect(result.errors).toBeFalsy(); - result.data.allUsers.nodes.forEach(user => { + result.data.allUsers.nodes.forEach((user) => { if (user.id === 2) { expect(user.email).not.toBeNull(); } else { diff --git a/packages/graphile-utils/__tests__/makeWrapResolversPlugin.test.js b/packages/graphile-utils/__tests__/makeWrapResolversPlugin.test.js index 80dbb3540f..8f5533d024 100644 --- a/packages/graphile-utils/__tests__/makeWrapResolversPlugin.test.js +++ b/packages/graphile-utils/__tests__/makeWrapResolversPlugin.test.js @@ -10,7 +10,7 @@ import { } from "graphile-build"; import { graphql } from "graphql"; -const delay = ms => new Promise(resolve => setTimeout(resolve, ms)); +const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); const makeSchemaWithSpyAndPlugins = (spy, plugins) => buildSchema( @@ -20,7 +20,7 @@ const makeSchemaWithSpyAndPlugins = (spy, plugins) => MutationPlugin, SubscriptionPlugin, MutationPayloadQueryPlugin, - makeExtendSchemaPlugin(_build => ({ + makeExtendSchemaPlugin((_build) => ({ typeDefs: gql` extend type Query { echo(message: String!): String @@ -39,7 +39,7 @@ const makeSchemaWithSpyAndPlugins = (spy, plugins) => }, ); -const makeEchoSpy = fn => +const makeEchoSpy = (fn) => jest.fn( fn || ((parent, args, _context, _resolveInfo) => { @@ -50,7 +50,7 @@ const makeEchoSpy = fn => describe("wrapping named resolvers", () => { it("passes args by default", async () => { const wrappers = [ - resolve => resolve(), + (resolve) => resolve(), (resolve, parent) => resolve(parent), (resolve, parent, args) => resolve(parent, args), (resolve, parent, args, context) => resolve(parent, args, context), @@ -164,7 +164,7 @@ describe("wrapping named resolvers", () => { }); it("can asynchronously abort resolver after", async () => { - const wrapper = async resolve => { + const wrapper = async (resolve) => { const result = await resolve(); // eslint-disable-next-line no-constant-condition if (true) { @@ -204,7 +204,7 @@ describe("wrapping named resolvers", () => { }); it("can modify result of resolver", async () => { - const wrapper = async resolve => { + const wrapper = async (resolve) => { const result = await resolve(); return result.toLowerCase(); }; @@ -239,14 +239,14 @@ describe("wrapping named resolvers", () => { }); it("can supports options modify result of resolver", async () => { - const wrapper = async resolve => { + const wrapper = async (resolve) => { const result = await resolve(); return result.toLowerCase(); }; const spy = makeEchoSpy(); let options; const schema = await makeSchemaWithSpyAndPlugins(spy, [ - makeWrapResolversPlugin(_options => { + makeWrapResolversPlugin((_options) => { options = _options; return { Query: { @@ -284,7 +284,7 @@ describe("wrapping named resolvers", () => { describe("wrapping resolvers matching a filter", () => { it("filters correctly", async () => { - const filter = context => { + const filter = (context) => { if (context.scope.isRootMutation && context.scope.fieldName !== "c") { return { scope: context.scope }; } diff --git a/packages/graphile-utils/jest.config.js b/packages/graphile-utils/jest.config.js new file mode 100644 index 0000000000..cf8e7e8f9a --- /dev/null +++ b/packages/graphile-utils/jest.config.js @@ -0,0 +1 @@ +module.exports = require("../../jest.config.base")(__dirname); diff --git a/packages/graphile-utils/package.json b/packages/graphile-utils/package.json index f9e78eb67d..35e2500518 100644 --- a/packages/graphile-utils/package.json +++ b/packages/graphile-utils/package.json @@ -28,19 +28,30 @@ }, "homepage": "https://github.com/graphile/graphile-build/tree/master/packages/graphile-utils", "dependencies": { - "debug": "^4.1.1", - "graphql": ">=0.9 <0.14 || ^14.0.2" + "@types/node": "^14.0.1", + "debug": "^4.2.0", + "graphql": "^14.6.0", + "tslib": "^2.0.0" }, "engines": { "node": ">=12.16" }, "devDependencies": { + "@types/jest": "^25.2.3", + "@types/pg": "^7.14.3", "graphile-build": "4.7.0", - "graphile-build-pg": "4.7.0" + "graphile-build-pg": "4.7.0", + "iterall": "^1.3.0", + "jest": "^26.0.1", + "pg": "^8.2.1", + "postgraphile-core": "4.7.0", + "ts-node": "^8.10.1", + "typescript": "^3.9.2" }, "peerDependencies": { - "graphile-build": "^4.5.0", - "graphile-build-pg": "^4.5.0" + "graphile-build": "4.7.0", + "graphile-build-pg": "4.7.0", + "pg": ">=6.1.0 <9" }, "files": [ "dist" diff --git a/packages/graphile-utils/src/fieldHelpers.ts b/packages/graphile-utils/src/fieldHelpers.ts index 0de0934557..683522bc85 100644 --- a/packages/graphile-utils/src/fieldHelpers.ts +++ b/packages/graphile-utils/src/fieldHelpers.ts @@ -1,4 +1,3 @@ -import { Build, ContextGraphQLObjectTypeFieldsField } from "graphile-build"; import { QueryBuilder, SQL } from "graphile-build-pg"; export type SelectGraphQLResultFromTable = ( @@ -7,14 +6,14 @@ export type SelectGraphQLResultFromTable = ( ) => Promise; export interface GraphileHelpers { - build: Build; - fieldContext: ContextGraphQLObjectTypeFieldsField; + build: GraphileEngine.Build; + fieldContext: GraphileEngine.ContextGraphQLObjectTypeFieldsField; selectGraphQLResultFromTable: SelectGraphQLResultFromTable; } export function makeFieldHelpers( - build: Build, - fieldContext: ContextGraphQLObjectTypeFieldsField, + build: GraphileEngine.Build, + fieldContext: GraphileEngine.ContextGraphQLObjectTypeFieldsField, context: any, resolveInfo: import("graphql").GraphQLResolveInfo, ) { @@ -99,8 +98,8 @@ export function makeFieldHelpers( } export function requireColumn( - build: Build, - context: ContextGraphQLObjectTypeFieldsField, + build: GraphileEngine.Build, + context: GraphileEngine.ContextGraphQLObjectTypeFieldsField, method: "addArgDataGenerator" | "addDataGenerator", col: string, alias: string, @@ -117,8 +116,8 @@ export function requireColumn( } export function requireChildColumn( - build: Build, - context: ContextGraphQLObjectTypeFieldsField, + build: GraphileEngine.Build, + context: GraphileEngine.ContextGraphQLObjectTypeFieldsField, col: string, alias: string, ): void { @@ -126,8 +125,8 @@ export function requireChildColumn( } export function requireSiblingColumn( - build: Build, - context: ContextGraphQLObjectTypeFieldsField, + build: GraphileEngine.Build, + context: GraphileEngine.ContextGraphQLObjectTypeFieldsField, col: string, alias: string, ): void { diff --git a/packages/graphile-utils/src/gql.ts b/packages/graphile-utils/src/gql.ts index a9cc6dc68b..da2200e4de 100644 --- a/packages/graphile-utils/src/gql.ts +++ b/packages/graphile-utils/src/gql.ts @@ -56,8 +56,9 @@ export function gql( additionalDefinitions.push(...interpolatedValue.definitions); } else { throw new Error( - `Placeholder ${idx + - 1} is invalid - expected string or GraphQL AST, but received '${typeof interpolatedValue}'. Happened after '${gqlStrings.join( + `Placeholder ${ + idx + 1 + } is invalid - expected string or GraphQL AST, but received '${typeof interpolatedValue}'. Happened after '${gqlStrings.join( "", )}'`, ); diff --git a/packages/graphile-utils/src/introspectionHelpers.ts b/packages/graphile-utils/src/introspectionHelpers.ts index c57afdec0b..64af195722 100644 --- a/packages/graphile-utils/src/introspectionHelpers.ts +++ b/packages/graphile-utils/src/introspectionHelpers.ts @@ -8,10 +8,9 @@ import { RawishIntrospectionResults, } from "graphile-build-pg"; import parseIdentifierParts from "./parseIdentifierParts"; -import { Build, BuildBase } from "graphile-build"; -export type BuildWithIntrospection = BuildBase & - Omit, "pgIntrospectionResultsByKind"> & { +export type BuildWithIntrospection = GraphileEngine.BuildBase & + Omit, "pgIntrospectionResultsByKind"> & { pgIntrospectionResultsByKind: RawishIntrospectionResults; }; diff --git a/packages/graphile-utils/src/makeAddInflectorsPlugin.ts b/packages/graphile-utils/src/makeAddInflectorsPlugin.ts index 0c40fac87c..8f534742c6 100644 --- a/packages/graphile-utils/src/makeAddInflectorsPlugin.ts +++ b/packages/graphile-utils/src/makeAddInflectorsPlugin.ts @@ -1,18 +1,16 @@ -import { Plugin, Options, BuildBase } from "graphile-build"; - interface Inflectors { [str: string]: (...args: Array) => any; } type InflectorsGenerator = ( inflection: Partial, - build: BuildBase, - options: Options, + build: GraphileEngine.BuildBase, + options: GraphileEngine.GraphileBuildOptions, ) => Inflectors; export default function makeAddInflectorsPlugin( additionalInflectorsOrGenerator: Inflectors | InflectorsGenerator, replace = false, -): Plugin { +): GraphileEngine.Plugin { return (builder, options) => { builder.hook("inflection", (inflection, build) => { const additionalInflectors = diff --git a/packages/graphile-utils/src/makeAddPgTableConditionPlugin.ts b/packages/graphile-utils/src/makeAddPgTableConditionPlugin.ts index 7741ee2cf4..c4cbbfedee 100644 --- a/packages/graphile-utils/src/makeAddPgTableConditionPlugin.ts +++ b/packages/graphile-utils/src/makeAddPgTableConditionPlugin.ts @@ -1,15 +1,17 @@ // BELOW HERE, IMPORTS ARE ONLY TYPES (not values) +import "graphile-build"; import { SQL, sql as sqlType, QueryBuilder } from "graphile-build-pg"; -import { Build, Plugin } from "graphile-build"; -declare module "graphile-build" { - interface ScopeGraphQLInputObjectTypeFieldsField { - addPgTableCondition?: { - schemaName: string; - tableName: string; - conditionFieldSpec: import("graphql").GraphQLInputFieldConfig; - conditionFieldName: string; - }; +declare global { + namespace GraphileEngine { + interface ScopeGraphQLInputObjectTypeFieldsField { + addPgTableCondition?: { + schemaName: string; + tableName: string; + conditionFieldSpec: import("graphql").GraphQLInputFieldConfig; + conditionFieldName: string; + }; + } } } @@ -18,7 +20,7 @@ export default function makeAddPgTableConditionPlugin( tableName: string, conditionFieldName: string, conditionFieldSpecGenerator: ( - build: Build, + build: GraphileEngine.Build, ) => import("graphql").GraphQLInputFieldConfig, conditionGenerator: ( value: unknown, @@ -27,11 +29,11 @@ export default function makeAddPgTableConditionPlugin( sql: typeof sqlType; sqlTableAlias: SQL; }, - build: Build, + build: GraphileEngine.Build, ) => SQL | null | void, ) { const displayName = `makeAddPgTableConditionPlugin__${schemaName}__${tableName}__${conditionFieldName}`; - const plugin: Plugin = builder => { + const plugin: GraphileEngine.Plugin = (builder) => { const instance = Symbol(displayName); builder.hook("build", function trackSeen(build) { if (!build._pluginMeta) { diff --git a/packages/graphile-utils/src/makeAddPgTableOrderByPlugin.ts b/packages/graphile-utils/src/makeAddPgTableOrderByPlugin.ts index 85fe40e889..2978a5c53e 100644 --- a/packages/graphile-utils/src/makeAddPgTableOrderByPlugin.ts +++ b/packages/graphile-utils/src/makeAddPgTableOrderByPlugin.ts @@ -1,6 +1,5 @@ // BELOW HERE, IMPORTS ARE ONLY TYPES (not values) import { SQL } from "graphile-build-pg"; -import { Build, Plugin } from "graphile-build"; type OrderSpec = [string | SQL, boolean] | [string | SQL, boolean, boolean]; export interface MakeAddPgTableOrderByPluginOrders { @@ -16,11 +15,13 @@ export interface MakeAddPgTableOrderByPluginOrders { export default function makeAddPgTableOrderByPlugin( schemaName: string, tableName: string, - ordersGenerator: (build: Build) => MakeAddPgTableOrderByPluginOrders, + ordersGenerator: ( + build: GraphileEngine.Build, + ) => MakeAddPgTableOrderByPluginOrders, hint = `Adding orders with makeAddPgTableOrderByPlugin to "${schemaName}"."${tableName}"`, ) { const displayName = `makeAddPgTableOrderByPlugin_${schemaName}_${tableName}`; - const plugin: Plugin = builder => { + const plugin: GraphileEngine.Plugin = (builder) => { builder.hook("GraphQLEnumType:values", (values, build, context) => { const { extend } = build; const { diff --git a/packages/graphile-utils/src/makeChangeNullabilityPlugin.ts b/packages/graphile-utils/src/makeChangeNullabilityPlugin.ts index 74a7c30510..7cc2367f61 100644 --- a/packages/graphile-utils/src/makeChangeNullabilityPlugin.ts +++ b/packages/graphile-utils/src/makeChangeNullabilityPlugin.ts @@ -1,11 +1,4 @@ -import { - SchemaBuilder, - Build, - Plugin, - Options, - ContextGraphQLObjectTypeFieldsField, - ContextGraphQLInputObjectTypeFieldsField, -} from "graphile-build"; +import { SchemaBuilder } from "graphile-build"; interface ChangeNullabilityRules { [typeName: string]: { @@ -15,26 +8,33 @@ interface ChangeNullabilityRules { export default function makeChangeNullabilityPlugin( rules: ChangeNullabilityRules, -): Plugin { - return (builder: SchemaBuilder, _options: Options) => { +): GraphileEngine.Plugin { + return ( + builder: SchemaBuilder, + _options: GraphileEngine.GraphileBuildOptions, + ) => { function changeNullability( field: import("graphql").GraphQLInputFieldConfig, - build: Build, - context: ContextGraphQLInputObjectTypeFieldsField, + build: GraphileEngine.Build, + context: GraphileEngine.ContextGraphQLInputObjectTypeFieldsField, ): typeof field; function changeNullability( field: import("graphql").GraphQLFieldConfig, - build: Build, - context: ContextGraphQLObjectTypeFieldsField, + build: GraphileEngine.Build, + context: GraphileEngine.ContextGraphQLObjectTypeFieldsField, ): typeof field; function changeNullability< Field extends | import("graphql").GraphQLInputFieldConfig | import("graphql").GraphQLFieldConfig, Context extends - | ContextGraphQLInputObjectTypeFieldsField - | ContextGraphQLObjectTypeFieldsField - >(field: Field, build: Build, context: Context): typeof field { + | GraphileEngine.ContextGraphQLInputObjectTypeFieldsField + | GraphileEngine.ContextGraphQLObjectTypeFieldsField + >( + field: Field, + build: GraphileEngine.Build, + context: Context, + ): typeof field { const { Self, scope: { fieldName }, @@ -57,7 +57,7 @@ export default function makeChangeNullabilityPlugin( ? nullableType : nullableType === field.type ? new GraphQLNonNull(field.type) - : field.type, // Optimisation if it's already non-null + : field.type, // Optimization if it's already non-null }; } builder.hook("GraphQLInputObjectType:fields:field", changeNullability); diff --git a/packages/graphile-utils/src/makeExtendSchemaPlugin.ts b/packages/graphile-utils/src/makeExtendSchemaPlugin.ts index e15d5c7c48..505718a02c 100644 --- a/packages/graphile-utils/src/makeExtendSchemaPlugin.ts +++ b/packages/graphile-utils/src/makeExtendSchemaPlugin.ts @@ -1,25 +1,9 @@ -import { - SchemaBuilder, - Build, - Plugin, - Options, - ContextGraphQLObjectTypeFieldsField, - BuildBase, - ScopeGraphQLEnumType, - ScopeGraphQLObjectType, - GraphileObjectTypeConfig, - ContextGraphQLObjectTypeFields, - ContextGraphQLInputObjectTypeFields, - ScopeGraphQLUnionType, - GraphileUnionTypeConfig, - ScopeGraphQLObjectTypeFieldsField, -} from "graphile-build"; +import { SchemaBuilder } from "graphile-build"; import { QueryBuilder, PgClass, PgEntityKind } from "graphile-build-pg"; import { GraphileEmbed } from "./gql"; import { InputObjectTypeExtensionNode } from "graphql/language/ast"; import { GraphileHelpers, makeFieldHelpers } from "./fieldHelpers"; -import { DirectiveMap } from "graphile-build/dist/SchemaBuilder"; // TODO:v5: Remove const recurseDataGeneratorsWorkaroundFieldByType = new Map(); @@ -99,15 +83,18 @@ export default function makeExtendSchemaPlugin( generator: | ExtensionDefinition | (( - build: Partial & BuildBase, - schemaOptions: Options, + build: Partial & GraphileEngine.BuildBase, + schemaOptions: GraphileEngine.GraphileBuildOptions, ) => ExtensionDefinition), uniqueId = String(Math.random()).substr(2), -): Plugin { - let graphql: Build["graphql"]; - return (builder: SchemaBuilder, schemaOptions: Options): void => { +): GraphileEngine.Plugin { + let graphql: GraphileEngine.Build["graphql"]; + return ( + builder: SchemaBuilder, + schemaOptions: GraphileEngine.GraphileBuildOptions, + ): void => { // Add stuff to the schema - builder.hook("build", build => { + builder.hook("build", (build) => { // Extract GraphQL into the scope so that our other functions can use it. graphql = build.graphql; @@ -148,7 +135,7 @@ export default function makeExtendSchemaPlugin( GraphQLObjectType: {}, }; const newTypes: Array = []; - mergedTypeDefinitions.forEach(definition => { + mergedTypeDefinitions.forEach((definition) => { if (definition.kind === "EnumTypeDefinition") { newTypes.push({ type: GraphQLEnumType, @@ -298,7 +285,7 @@ export default function makeExtendSchemaPlugin( }, {}, ); - const scope: ScopeGraphQLEnumType = { + const scope: GraphileEngine.ScopeGraphQLEnumType = { directives, ...(directives.scope || {}), }; @@ -309,15 +296,17 @@ export default function makeExtendSchemaPlugin( const description = getDescription(definition.description); const interfaces = getInterfaces(definition.interfaces, build); const directives = getDirectives(definition.directives); - const scope: ScopeGraphQLObjectType = { + const scope: GraphileEngine.ScopeGraphQLObjectType = { __origin: `makeExtendSchemaPlugin`, directives, ...(directives.scope || {}), }; - const spec: GraphileObjectTypeConfig = { + const spec: GraphileEngine.GraphileObjectTypeConfig = { name, interfaces, - fields: (fieldsContext: ContextGraphQLObjectTypeFields) => + fields: ( + fieldsContext: GraphileEngine.ContextGraphQLObjectTypeFields, + ) => getFields( fieldsContext.Self, definition.fields, @@ -346,7 +335,9 @@ export default function makeExtendSchemaPlugin( type, { name, - fields: ({ Self }: ContextGraphQLInputObjectTypeFields) => + fields: ({ + Self, + }: GraphileEngine.ContextGraphQLInputObjectTypeFields) => getInputFields(Self, definition.fields, build), ...(description ? { @@ -361,14 +352,14 @@ export default function makeExtendSchemaPlugin( const name = getName(definition.name); const description = getDescription(definition.description); const directives = getDirectives(definition.directives); - const scope: ScopeGraphQLUnionType = { + const scope: GraphileEngine.ScopeGraphQLUnionType = { __origin: `makeExtendSchemaPlugin`, directives, ...(directives.scope || {}), }; const resolver = resolvers[name] as UnionResolver | undefined; const resolveType = resolver && resolver.__resolveType; - const spec: GraphileUnionTypeConfig = { + const spec: GraphileEngine.GraphileUnionTypeConfig = { name, types: (): import("graphql").GraphQLObjectType[] => { if (Array.isArray(definition.types)) { @@ -546,7 +537,7 @@ export default function makeExtendSchemaPlugin( function getType( type: import("graphql").TypeNode, - build: Build, + build: GraphileEngine.Build, ): import("graphql").GraphQLType { if (type.kind === "NamedType") { const Type = build.getTypeByName(getName(type.name)); @@ -569,7 +560,7 @@ export default function makeExtendSchemaPlugin( function getInterfaces( interfaces: ReadonlyArray, - _build: Build, + _build: GraphileEngine.Build, ) { if (interfaces.length) { throw new Error( @@ -616,7 +607,7 @@ export default function makeExtendSchemaPlugin( } const values = enumType.getValues(); - const enumValue = values.find(v => v.name === enumValueName); + const enumValue = values.find((v) => v.name === enumValueName); return enumValue ? enumValue.value : undefined; } else if (value.kind === "NullValue") { return null; @@ -625,7 +616,7 @@ export default function makeExtendSchemaPlugin( const childType: | import("graphql").GraphQLList | null = type && graphql.isListType(type) ? type.ofType : null; - return value.values.map(value => getValue(value, childType)); + return value.values.map((value) => getValue(value, childType)); } else if (value.kind === "GraphileEmbed") { // RAW! return value.value; @@ -638,7 +629,7 @@ export default function makeExtendSchemaPlugin( function getDirectives( directives: ReadonlyArray | void, - ): DirectiveMap { + ): GraphileEngine.DirectiveMap { return (directives || []).reduce((directivesList, directive) => { if (directive.kind === "Directive") { const name = getName(directive.name); @@ -679,7 +670,7 @@ export default function makeExtendSchemaPlugin( function getArguments( args: ReadonlyArray | void, - build: Build, + build: GraphileEngine.Build, ): import("graphql").GraphQLFieldConfigArgumentMap { if (args && args.length) { return args.reduce((memo, arg) => { @@ -719,7 +710,7 @@ export default function makeExtendSchemaPlugin( }: { fieldWithHooks: any; }, - build: Build, + build: GraphileEngine.Build, ) { const scopeByType = build.scopeByType || new Map(); if (!build.graphql.isNamedType(SelfGeneric)) { @@ -732,7 +723,7 @@ export default function makeExtendSchemaPlugin( } = build; function augmentResolver( resolver: AugmentedGraphQLFieldResolver, - fieldContext: ContextGraphQLObjectTypeFieldsField, + fieldContext: GraphileEngine.ContextGraphQLObjectTypeFieldsField, type: import("graphql").GraphQLOutputType, ) { let got = false; @@ -790,10 +781,13 @@ export default function makeExtendSchemaPlugin( const nullableType = build.graphql.getNullableType(type); const namedType = build.graphql.getNamedType(type); const typeScope = (scopeByType.get(namedType) || {}) as Partial< - ScopeGraphQLObjectType + GraphileEngine.ScopeGraphQLObjectType >; const directives = getDirectives(field.directives); - const scope: Omit = { + const scope: Omit< + GraphileEngine.ScopeGraphQLObjectTypeFieldsField, + "fieldName" + > = { ...(typeScope.pgIntrospection && typeScope.pgIntrospection.kind === "class" ? { @@ -897,12 +891,12 @@ export default function makeExtendSchemaPlugin( } } const fieldSpecGenerator = ( - fieldContext: ContextGraphQLObjectTypeFieldsField, + fieldContext: GraphileEngine.ContextGraphQLObjectTypeFieldsField, ): { type: import("graphql").GraphQLOutputType; args?: {}; deprecationReason?: string; - descroption?: string; + description?: string; } => { const { pgIntrospection } = fieldContext.scope; // @requires directive: pulls down necessary columns from table. @@ -917,13 +911,13 @@ export default function makeExtendSchemaPlugin( const table: PgClass = pgIntrospection; if (Array.isArray(directives.requires.columns)) { const attrs = table.attributes.filter( - attr => directives.requires.columns.indexOf(attr.name) >= 0, + (attr) => directives.requires.columns.indexOf(attr.name) >= 0, ); - const fieldNames = attrs.map(attr => + const fieldNames = attrs.map((attr) => build.inflection.column(attr), ); const ReturnTypes = attrs.map( - attr => + (attr) => build.pgGetGqlTypeByTypeIdAndModifier( attr.typeId, attr.typeModifier, @@ -1115,7 +1109,7 @@ export default function makeExtendSchemaPlugin( function getInputFields( _Self: TSource, fields: ReadonlyArray | void, - build: Build, + build: GraphileEngine.Build, ) { if (fields && fields.length) { return fields.reduce((memo, field) => { diff --git a/packages/graphile-utils/src/makePgSmartTagsPlugin.ts b/packages/graphile-utils/src/makePgSmartTagsPlugin.ts index 790303e0bd..a49e3ed7f6 100644 --- a/packages/graphile-utils/src/makePgSmartTagsPlugin.ts +++ b/packages/graphile-utils/src/makePgSmartTagsPlugin.ts @@ -1,4 +1,3 @@ -import { Plugin } from "graphile-build"; import { PgEntityKind, PgEntity, @@ -109,13 +108,13 @@ export type SubscribeToPgSmartTagUpdatesCallback = ( export function makePgSmartTagsPlugin( ruleOrRules: PgSmartTagRule | PgSmartTagRule[] | null, subscribeToUpdatesCallback?: SubscribeToPgSmartTagUpdatesCallback | null, -): Plugin { +): GraphileEngine.Plugin { let [rules, rawRules] = rulesFrom(ruleOrRules); - const plugin: Plugin = (builder, _options) => { + const plugin: GraphileEngine.Plugin = (builder, _options) => { if (subscribeToUpdatesCallback) { builder.registerWatcher( - async triggerRebuild => { - await subscribeToUpdatesCallback(newRuleOrRules => { + async (triggerRebuild) => { + await subscribeToUpdatesCallback((newRuleOrRules) => { [rules, rawRules] = rulesFrom(newRuleOrRules); triggerRebuild(); }); @@ -128,10 +127,12 @@ export function makePgSmartTagsPlugin( builder.hook( "build", - build => { + (build) => { const oldPgAugmentIntrospectionResults = build.pgAugmentIntrospectionResults; - const newPgAugmentIntrospectionResults: PgAugmentIntrospectionResultsFn = inIntrospectionResult => { + const newPgAugmentIntrospectionResults: PgAugmentIntrospectionResultsFn = ( + inIntrospectionResult, + ) => { let pgIntrospectionResultsByKind = inIntrospectionResult; if (oldPgAugmentIntrospectionResults) { pgIntrospectionResultsByKind = oldPgAugmentIntrospectionResults( @@ -154,7 +155,7 @@ export function makePgSmartTagsPlugin( pgIntrospectionResultsByKind[rule.kind]; let hits = 0; - relevantIntrospectionResults.forEach(entity => { + relevantIntrospectionResults.forEach((entity) => { if (!rule.match(entity, buildWithIntrospection)) { return; } @@ -393,17 +394,17 @@ export type SubscribeToJSONPgSmartTagsUpdatesCallback = ( export function makeJSONPgSmartTagsPlugin( json: JSONPgSmartTags | null, subscribeToJSONUpdatesCallback?: SubscribeToJSONPgSmartTagsUpdatesCallback | null, -): Plugin { +): GraphileEngine.Plugin { // Get rules from JSON let rules = pgSmartTagRulesFromJSON(json); // Wrap listener callback with JSON conversion const subscribeToUpdatesCallback: SubscribeToPgSmartTagUpdatesCallback | null = subscribeToJSONUpdatesCallback - ? cb => { + ? (cb) => { if (!cb) { return subscribeToJSONUpdatesCallback(cb); } else { - return subscribeToJSONUpdatesCallback(json => { + return subscribeToJSONUpdatesCallback((json) => { try { rules = pgSmartTagRulesFromJSON(json); return cb(rules); diff --git a/packages/graphile-utils/src/makePluginByCombiningPlugins.ts b/packages/graphile-utils/src/makePluginByCombiningPlugins.ts index 3e121fbc20..c65c88e745 100644 --- a/packages/graphile-utils/src/makePluginByCombiningPlugins.ts +++ b/packages/graphile-utils/src/makePluginByCombiningPlugins.ts @@ -1,8 +1,6 @@ -import { Plugin } from "graphile-build"; - export default function makePluginByCombiningPlugins( - ...plugins: Array -): Plugin { + ...plugins: Array +): GraphileEngine.Plugin { return async (builder, options) => { for (const plugin of plugins) { await plugin(builder, options); diff --git a/packages/graphile-utils/src/makeWrapResolversPlugin.ts b/packages/graphile-utils/src/makeWrapResolversPlugin.ts index 56e60d89e1..2e6a587e34 100644 --- a/packages/graphile-utils/src/makeWrapResolversPlugin.ts +++ b/packages/graphile-utils/src/makeWrapResolversPlugin.ts @@ -1,10 +1,4 @@ -import { - SchemaBuilder, - Options, - Plugin, - Build, - ContextGraphQLObjectTypeFieldsField, -} from "graphile-build"; +import { SchemaBuilder } from "graphile-build"; import { makeFieldHelpers, requireChildColumn, @@ -39,13 +33,15 @@ interface ResolverWrapperRules { }; } -type ResolverWrapperRulesGenerator = (options: Options) => ResolverWrapperRules; +type ResolverWrapperRulesGenerator = ( + options: GraphileEngine.GraphileBuildOptions, +) => ResolverWrapperRules; type ResolverWrapperFilter = ( - context: ContextGraphQLObjectTypeFieldsField, - build: Build, + context: GraphileEngine.ContextGraphQLObjectTypeFieldsField, + build: GraphileEngine.Build, field: import("graphql").GraphQLFieldConfig, - options: Options, + options: GraphileEngine.GraphileBuildOptions, ) => T | null; type ResolverWrapperFilterRule = ( @@ -54,24 +50,27 @@ type ResolverWrapperFilterRule = ( export default function makeWrapResolversPlugin( rulesOrGenerator: ResolverWrapperRules | ResolverWrapperRulesGenerator, -): Plugin; +): GraphileEngine.Plugin; export default function makeWrapResolversPlugin( filter: ResolverWrapperFilter, rule: ResolverWrapperFilterRule, -): Plugin; +): GraphileEngine.Plugin; export default function makeWrapResolversPlugin( rulesOrGeneratorOrFilter: | ResolverWrapperRules | ResolverWrapperRulesGenerator | ResolverWrapperFilter, rule?: ResolverWrapperFilterRule, -): Plugin { +): GraphileEngine.Plugin { if (rule && typeof rule !== "function") { throw new Error( "Invalid call signature for makeWrapResolversPlugin, expected second argument to be a function", ); } - return (builder: SchemaBuilder, options: Options) => { + return ( + builder: SchemaBuilder, + options: GraphileEngine.GraphileBuildOptions, + ) => { // Disambiguate first argument const rulesOrGenerator: | ResolverWrapperRules diff --git a/packages/graphile/jest.config.js b/packages/graphile/jest.config.js new file mode 100644 index 0000000000..cf8e7e8f9a --- /dev/null +++ b/packages/graphile/jest.config.js @@ -0,0 +1 @@ +module.exports = require("../../jest.config.base")(__dirname); diff --git a/packages/graphile/package.json b/packages/graphile/package.json index a79da22c8b..0711eaeb3d 100644 --- a/packages/graphile/package.json +++ b/packages/graphile/package.json @@ -19,5 +19,11 @@ "homepage": "https://www.graphile.org", "files": [ "index.js" - ] + ], + "devDependencies": { + "@types/jest": "^25.2.3", + "jest": "^26.0.1", + "ts-node": "^8.10.1", + "typescript": "^3.9.2" + } } diff --git a/packages/graphql-parse-resolve-info/__tests__/test.test.js b/packages/graphql-parse-resolve-info/__tests__/test.test.js index 5456bb98ca..fa5ef036b3 100644 --- a/packages/graphql-parse-resolve-info/__tests__/test.test.js +++ b/packages/graphql-parse-resolve-info/__tests__/test.test.js @@ -64,9 +64,9 @@ const query = ` const Cursor = new GraphQLScalarType({ name: "Cursor", - serialize: value => String(value), - parseValue: value => String(value), - parseLiteral: ast => { + serialize: (value) => String(value), + parseValue: (value) => String(value), + parseLiteral: (ast) => { if (ast.kind !== Kind.STRING) { throw new Error("Can only parse string values"); } @@ -220,10 +220,10 @@ test("basic", async () => { query, null, { - test: _o => (o = _o), + test: (_o) => (o = _o), }, variables, - ).then(d => { + ).then((d) => { try { const { errors } = d; expect(errors).toBeFalsy(); @@ -255,10 +255,10 @@ test("directives", async () => { query, null, { - test: _o => (o = _o), + test: (_o) => (o = _o), }, variables, - ).then(d => { + ).then((d) => { try { const { errors } = d; expect(errors).toBeFalsy(); diff --git a/packages/graphql-parse-resolve-info/jest.config.js b/packages/graphql-parse-resolve-info/jest.config.js new file mode 100644 index 0000000000..cf8e7e8f9a --- /dev/null +++ b/packages/graphql-parse-resolve-info/jest.config.js @@ -0,0 +1 @@ +module.exports = require("../../jest.config.base")(__dirname); diff --git a/packages/graphql-parse-resolve-info/package.json b/packages/graphql-parse-resolve-info/package.json index 8691448ecb..c80c468271 100644 --- a/packages/graphql-parse-resolve-info/package.json +++ b/packages/graphql-parse-resolve-info/package.json @@ -27,15 +27,21 @@ }, "homepage": "https://github.com/graphile/graphile-build/tree/master/packages/graphql-parse-resolve-info", "peerDependencies": { - "graphql": ">=0.9 <0.14 || ^14.0.2" + "graphql": "^14.6.0" }, "devDependencies": { - "@types/debug": "^4.1.4", - "@types/node": "^12.0.0", - "eslint_d": "^8.0.0" + "@types/debug": "^4.1.5", + "@types/jest": "^25.2.3", + "@types/node": "^14.0.1", + "eslint_d": "^8.1.1", + "graphql": "^14.6.0", + "jest": "^26.0.1", + "ts-node": "^8.10.1", + "typescript": "^3.9.2" }, "dependencies": { - "debug": "^4.1.1" + "debug": "^4.2.0", + "tslib": "^2.0.0" }, "files": [ "dist" diff --git a/packages/graphql-parse-resolve-info/src/index.ts b/packages/graphql-parse-resolve-info/src/index.ts index ef73f29043..17197d9c7a 100644 --- a/packages/graphql-parse-resolve-info/src/index.ts +++ b/packages/graphql-parse-resolve-info/src/index.ts @@ -56,7 +56,7 @@ function skipField( { directives = [] }: SelectionNode, ) { let skip = false; - directives.forEach(directive => { + directives.forEach((directive) => { const directiveName = directive.name.value; if (Array.isArray(directive.arguments)) { const ifArgumentAst = directive.arguments.find(argNameIsIf); diff --git a/packages/jest-serializer-graphql-schema/__tests__/schema.test.ts b/packages/jest-serializer-graphql-schema/__tests__/schema.test.ts index d7e234516f..4ea4ee4c2a 100644 --- a/packages/jest-serializer-graphql-schema/__tests__/schema.test.ts +++ b/packages/jest-serializer-graphql-schema/__tests__/schema.test.ts @@ -1,6 +1,7 @@ import { buildASTSchema, parse } from "graphql"; -const GraphQLSchemaSnapshotSerializer = require("../src"); +import * as GraphQLSchemaSnapshotSerializer from "../src"; + expect.addSnapshotSerializer(GraphQLSchemaSnapshotSerializer); /** schema from https://graphql-pokemon.now.sh" */ diff --git a/packages/jest-serializer-graphql-schema/jest.config.js b/packages/jest-serializer-graphql-schema/jest.config.js new file mode 100644 index 0000000000..cf8e7e8f9a --- /dev/null +++ b/packages/jest-serializer-graphql-schema/jest.config.js @@ -0,0 +1 @@ +module.exports = require("../../jest.config.base")(__dirname); diff --git a/packages/jest-serializer-graphql-schema/package.json b/packages/jest-serializer-graphql-schema/package.json index d9f7f03963..609654a1bc 100644 --- a/packages/jest-serializer-graphql-schema/package.json +++ b/packages/jest-serializer-graphql-schema/package.json @@ -24,10 +24,16 @@ }, "homepage": "https://github.com/graphile/graphile-engine/tree/master/packages/jest-serializer-graphql-schema#readme", "peerDependencies": { - "graphql": "^14.0.2" + "graphql": "^14.6.0" }, "devDependencies": { - "pretty-format": "^24.9.0" + "@types/jest": "^25.2.3", + "graphql": "^14.6.0", + "jest": "^26.0.1", + "pretty-format": "^26.0.1", + "ts-node": "^8.10.1", + "tslib": "^2.0.0", + "typescript": "^3.9.2" }, "files": [ "dist" diff --git a/packages/jest-serializer-graphql-schema/src/index.ts b/packages/jest-serializer-graphql-schema/src/index.ts index eff448de7d..0501485434 100644 --- a/packages/jest-serializer-graphql-schema/src/index.ts +++ b/packages/jest-serializer-graphql-schema/src/index.ts @@ -1,13 +1,9 @@ import { GraphQLSchema, isSchema, printSchema } from "graphql"; import { Plugin } from "pretty-format"; -const GraphQLSchemaSnapshotSerializer: Plugin = { - test(val: any) { - return isSchema(val); - }, - serialize(schema: GraphQLSchema) { - return printSchema(schema); - }, +export const test: Plugin["test"] = (val: any) => { + return isSchema(val); +}; +export const serialize = (schema: GraphQLSchema) => { + return printSchema(schema); }; - -module.exports = GraphQLSchemaSnapshotSerializer; diff --git a/packages/lds/__tests__/helpers.ts b/packages/lds/__tests__/helpers.ts index 02c2774105..149020fe33 100644 --- a/packages/lds/__tests__/helpers.ts +++ b/packages/lds/__tests__/helpers.ts @@ -6,7 +6,7 @@ export { PoolClient } from "pg"; export async function tryDropSlot(slotName: string) { try { - await withClient(DATABASE_URL, pgClient => + await withClient(DATABASE_URL, (pgClient) => pgClient.query("select pg_drop_replication_slot($1)", [slotName]), ); } catch (e) { @@ -34,14 +34,14 @@ export async function withClient( } export async function query(text: string, values: Array = []) { - return withClient(DATABASE_URL, pgClient => pgClient.query(text, values)); + return withClient(DATABASE_URL, (pgClient) => pgClient.query(text, values)); } export async function withLdAndClient( callback: (ld: PgLogicalDecoding, client: PoolClient) => Promise, ): Promise { - return withClient(DATABASE_URL, pgClient => - withLd(ld => callback(ld, pgClient)), + return withClient(DATABASE_URL, (pgClient) => + withLd((ld) => callback(ld, pgClient)), ); } diff --git a/packages/lds/__tests__/index.test.ts b/packages/lds/__tests__/index.test.ts index 4bdfa319e5..02517dd559 100644 --- a/packages/lds/__tests__/index.test.ts +++ b/packages/lds/__tests__/index.test.ts @@ -1,7 +1,7 @@ import subscribeToLogicalDecoding from "../src/index"; import { DATABASE_URL, withClient } from "./helpers"; -const sleep = (ms: number) => new Promise(resolve => setTimeout(resolve, ms)); +const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)); test("gets expected data, cleans up, doesn't receive data after cleanup", async () => { const mockCallback = jest.fn(); @@ -10,7 +10,7 @@ test("gets expected data, cleans up, doesn't receive data after cleanup", async sleepDuration: 50, slotName: "index_test_slot", }); - await withClient(DATABASE_URL, async pgClient => { + await withClient(DATABASE_URL, async (pgClient) => { const { rows: [{ id }], } = await pgClient.query( @@ -28,7 +28,7 @@ test("gets expected data, cleans up, doesn't receive data after cleanup", async await sub.close(); expect(mockCallback).toHaveBeenCalledTimes(4); // Now run a new mutation, and expect the mockCallback not to have been called - await withClient(DATABASE_URL, pgClient => + await withClient(DATABASE_URL, (pgClient) => pgClient.query( "insert into app_public.foo(name) values ('temp') returning id", ), @@ -38,13 +38,13 @@ test("gets expected data, cleans up, doesn't receive data after cleanup", async const { mock: { calls }, } = mockCallback; - calls.forEach(call => { + calls.forEach((call) => { expect(Array.isArray(call)).toBe(true); const o = call[0]; expect(o.schema).toEqual("app_public"); expect(o.table).toEqual("foo"); }); - const [insertC, update, updateC, del] = calls.map(c => c[0]); + const [insertC, update, updateC, del] = calls.map((c) => c[0]); expect(insertC._).toEqual("insertC"); expect(insertC.data.name).toEqual("temp"); diff --git a/packages/lds/__tests__/pg-logical-decoding.test.ts b/packages/lds/__tests__/pg-logical-decoding.test.ts index f59db06333..2bd19bf2fa 100644 --- a/packages/lds/__tests__/pg-logical-decoding.test.ts +++ b/packages/lds/__tests__/pg-logical-decoding.test.ts @@ -1,7 +1,7 @@ import PgLogicalDecoding from "../src/pg-logical-decoding"; import { tryDropSlot, DATABASE_URL, query, withLdAndClient } from "./helpers"; -const sleep = (ms: number) => new Promise(resolve => setTimeout(resolve, ms)); +const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)); test("opens and closes cleanly", async () => { const ld = new PgLogicalDecoding(DATABASE_URL, { diff --git a/packages/lds/jest.config.js b/packages/lds/jest.config.js new file mode 100644 index 0000000000..cf8e7e8f9a --- /dev/null +++ b/packages/lds/jest.config.js @@ -0,0 +1 @@ +module.exports = require("../../jest.config.base")(__dirname); diff --git a/packages/lds/package.json b/packages/lds/package.json index 7ef61ce7e9..288080e381 100644 --- a/packages/lds/package.json +++ b/packages/lds/package.json @@ -32,13 +32,19 @@ }, "homepage": "https://github.com/graphile/graphile-engine/tree/master/packages/lds#readme", "dependencies": { - "@types/pg": "^7.4.14", - "@types/ws": "^6.0.1", - "pg": ">=6.1.0 <9", - "ws": "^7.0.0" + "@types/pg": "^7.14.3", + "@types/ws": "^7.2.4", + "pg": "^8.2.1", + "tslib": "^2.0.0", + "ws": "^7.3.0" }, - "devDependencies": {}, "files": [ "dist" - ] + ], + "devDependencies": { + "@types/jest": "^25.2.3", + "jest": "^26.0.1", + "ts-node": "^8.10.1", + "typescript": "^3.9.2" + } } diff --git a/packages/lds/src/cli.ts b/packages/lds/src/cli.ts index 6042db6a9c..ef46ed545b 100644 --- a/packages/lds/src/cli.ts +++ b/packages/lds/src/cli.ts @@ -35,7 +35,7 @@ async function main() { } = {}; // Send keepalive every 25 seconds setInterval(() => { - clients.forEach(ws => { + clients.forEach((ws) => { if (ws && ws.readyState === WebSocket.OPEN) { ws.send( JSON.stringify({ @@ -113,7 +113,7 @@ async function main() { console.error("Socket is already registered for ", stringifiedKey); return; } - const emptyIndex = channelClients.findIndex(s => !s); + const emptyIndex = channelClients.findIndex((s) => !s); if (emptyIndex < 0) { console.error("All sockets are full"); return; @@ -135,7 +135,7 @@ async function main() { ); }); - const callback: AnnounceCallback = function(announcement) { + const callback: AnnounceCallback = function (announcement) { const { _: kind, schema, table } = announcement; if (!channels[schema] || !channels[schema][table]) return; const stringifiedKey = @@ -162,7 +162,7 @@ async function main() { }); } -main().catch(e => { +main().catch((e) => { console.error(e); process.exit(1); }); diff --git a/packages/lds/src/index.ts b/packages/lds/src/index.ts index d827b294c1..d71e83a06a 100755 --- a/packages/lds/src/index.ts +++ b/packages/lds/src/index.ts @@ -156,7 +156,7 @@ export default async function subscribeToLogicalDecoding( if (!temporary && nextStaleCheck < Date.now()) { // Roughly every 15 minutes, drop stale slots. nextStaleCheck = Date.now() + DROP_STALE_SLOTS_INTERVAL; - client.dropStaleSlots().catch(e => { + client.dropStaleSlots().catch((e) => { console.error("Failed to drop stale slots:", e.message); }); } diff --git a/packages/lds/src/pg-logical-decoding.ts b/packages/lds/src/pg-logical-decoding.ts index c55ccc0dcf..52622688bb 100644 --- a/packages/lds/src/pg-logical-decoding.ts +++ b/packages/lds/src/pg-logical-decoding.ts @@ -3,7 +3,7 @@ import { Pool, PoolClient } from "pg"; import { EventEmitter } from "events"; import FatalError from "./fatal-error"; -const sleep = (ms: number) => new Promise(resolve => setTimeout(resolve, ms)); +const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)); declare module "pg" { interface ClientConfig { @@ -238,7 +238,7 @@ export default class PgLogicalDecoding extends EventEmitter { return this.client; } this.client = this.pool.connect(); - return this.client.catch(e => { + return this.client.catch((e) => { this.client = null; return Promise.reject(e); }); @@ -247,7 +247,7 @@ export default class PgLogicalDecoding extends EventEmitter { private onPoolError = (err: Error) => { if (this.client) { this.client - .then(c => c.release(err)) + .then((c) => c.release(err)) .catch(() => { // noop }); diff --git a/packages/lru/jest.config.js b/packages/lru/jest.config.js new file mode 100644 index 0000000000..cf8e7e8f9a --- /dev/null +++ b/packages/lru/jest.config.js @@ -0,0 +1 @@ +module.exports = require("../../jest.config.base")(__dirname); diff --git a/packages/lru/package.json b/packages/lru/package.json index 0e2de4fb82..058c5ce08f 100644 --- a/packages/lru/package.json +++ b/packages/lru/package.json @@ -23,8 +23,16 @@ "engines": { "node": ">=12.16" }, - "devDependencies": {}, "files": [ "dist" - ] + ], + "dependencies": { + "tslib": "^2.0.0" + }, + "devDependencies": { + "@types/jest": "^25.2.3", + "jest": "^26.0.1", + "ts-node": "^8.10.1", + "typescript": "^3.9.2" + } } diff --git a/packages/pg-pubsub/__tests__/runQuery.ts b/packages/pg-pubsub/__tests__/runQuery.ts index 2aca1c0ab9..0c3dc98eda 100644 --- a/packages/pg-pubsub/__tests__/runQuery.ts +++ b/packages/pg-pubsub/__tests__/runQuery.ts @@ -97,7 +97,7 @@ export const runQuery = function runGraphQLQuery( ), ); }); - ctx.middleware(req, res, err => { + ctx.middleware(req, res, (err) => { reject(err); }); }); diff --git a/packages/pg-pubsub/__tests__/subs.test.ts b/packages/pg-pubsub/__tests__/subs.test.ts index ed91e31358..c93fd30a3e 100644 --- a/packages/pg-pubsub/__tests__/subs.test.ts +++ b/packages/pg-pubsub/__tests__/subs.test.ts @@ -1,8 +1,4 @@ -import { - postgraphile, - makePluginHook, - PostGraphileOptions, -} from "postgraphile"; +import { postgraphile, makePluginHook } from "postgraphile"; import { introspectionQuery as INTROSPECTION_QUERY, buildClientSchema, @@ -14,7 +10,7 @@ import { runQuery, TestCtx } from "./runQuery"; let ctx: TestCtx | null = null; const CLI_DEFAULTS = {}; -const init = async (options: PostGraphileOptions = {}) => { +const init = async (options: GraphileEngine.PostGraphileOptions = {}) => { if (ctx) { throw new Error("CTX wasn't torn down"); } @@ -25,10 +21,10 @@ const init = async (options: PostGraphileOptions = {}) => { // Keep track of the clients, one of them is our subscriptions client which we // must release manually. const clients: Array = []; - pgPool.on("acquire", client => { + pgPool.on("acquire", (client) => { clients.push(client); }); - pgPool.on("remove", client => { + pgPool.on("remove", (client) => { const i = clients.indexOf(client); clients.splice(i, 1); }); @@ -36,6 +32,7 @@ const init = async (options: PostGraphileOptions = {}) => { const pluginHook = makePluginHook([PgPubsub]); const middleware = postgraphile(pgPool, ["pubsub_test"], { pluginHook, + disableQueryLog: true, ignoreRBAC: false, ...options, }); @@ -44,7 +41,7 @@ const init = async (options: PostGraphileOptions = {}) => { pgPool, release: async () => { const endPromise = pgPool.end(); - clients.forEach(c => c.release()); + clients.forEach((c) => c.release()); await endPromise; }, }; diff --git a/packages/pg-pubsub/jest.config.js b/packages/pg-pubsub/jest.config.js new file mode 100644 index 0000000000..cf8e7e8f9a --- /dev/null +++ b/packages/pg-pubsub/jest.config.js @@ -0,0 +1 @@ +module.exports = require("../../jest.config.base")(__dirname); diff --git a/packages/pg-pubsub/package.json b/packages/pg-pubsub/package.json index 27f29defd6..3f30bcc9f3 100644 --- a/packages/pg-pubsub/package.json +++ b/packages/pg-pubsub/package.json @@ -27,26 +27,30 @@ }, "homepage": "https://github.com/graphile/graphile-engine/tree/master/packages/pg-pubsub#readme", "dependencies": { - "@types/debug": "^4.1.4", - "@types/pg": "^7.4.14", - "debug": "^4.1.1", - "graphql-subscriptions": "^1.1.0" + "@types/debug": "^4.1.5", + "@types/pg": "^7.14.3", + "debug": "^4.2.0", + "graphile-build": "4.7.0", + "graphql-subscriptions": "^1.1.0", + "tslib": "^2.0.0" }, "peerDependencies": { - "graphile-build": "^4.7.0", - "graphile-build-pg": "^4.7.0", - "graphql": ">=0.6 <15", + "graphile-build-pg": "4.7.0", + "graphql": "^14.6.0", + "graphql-parse-resolve-info": "4.7.0", "postgraphile": "^4.7.0" }, "devDependencies": { - "@types/jest": "^24.0.12", - "graphile-build": "4.7.0", + "@types/jest": "^25.2.3", "graphile-build-pg": "4.7.0", - "graphql": ">=0.6 <15", + "graphql": "^14.6.0", + "jest": "^26.0.1", "mock-req": "^0.2.0", "mock-res": "^0.5.0", - "pg": ">=6.1.0 <9", - "postgraphile": "4.7.0" + "pg": "^8.2.1", + "postgraphile": "4.7.0", + "ts-node": "^8.10.1", + "typescript": "^3.9.2" }, "files": [ "dist" diff --git a/packages/pg-pubsub/src/PgGenericSubscriptionPlugin.ts b/packages/pg-pubsub/src/PgGenericSubscriptionPlugin.ts index 7c09bcf6ea..e2c2902a61 100644 --- a/packages/pg-pubsub/src/PgGenericSubscriptionPlugin.ts +++ b/packages/pg-pubsub/src/PgGenericSubscriptionPlugin.ts @@ -1,32 +1,28 @@ import debugFactory from "debug"; -import { - Plugin, - GraphileObjectTypeConfig, - ScopeGraphQLObjectTypeFieldsField, - Inflection, -} from "graphile-build"; import { PubSub } from "graphql-subscriptions"; import "graphile-build-pg"; // For the types -declare module "graphile-build" { - interface GraphileBuildOptions { - pubsub?: PubSub; - pgSubscriptionPrefix?: string; - pgSubscriptionAuthorizationFunction?: string; - } +declare global { + namespace GraphileEngine { + interface GraphileBuildOptions { + pubsub?: PubSub; + pgSubscriptionPrefix?: string; + pgSubscriptionAuthorizationFunction?: string; + } - interface Inflection { - listen(): string; - listenPayload(): string; - } + interface Inflection { + listen(): string; + listenPayload(): string; + } - interface ScopeGraphQLObjectType { - isPgGenericSubscriptionPayloadType?: boolean; - } + interface ScopeGraphQLObjectType { + isPgGenericSubscriptionPayloadType?: boolean; + } - interface ScopeGraphQLObjectTypeFieldsField { - isPgGenericSubscriptionPayloadRelatedNodeField?: boolean; - isPgGenericSubscriptionRootField?: boolean; + interface ScopeGraphQLObjectTypeFieldsField { + isPgGenericSubscriptionPayloadRelatedNodeField?: boolean; + isPgGenericSubscriptionRootField?: boolean; + } } } @@ -39,7 +35,7 @@ function isPubSub(pubsub: any): pubsub is PubSub { return !!pubsub; } -const PgGenericSubscriptionPlugin: Plugin = function( +const PgGenericSubscriptionPlugin: GraphileEngine.Plugin = function ( builder, { pubsub, @@ -58,10 +54,10 @@ const PgGenericSubscriptionPlugin: Plugin = function( build.extend( inflection, { - listen(this: Inflection) { + listen(this: GraphileEngine.Inflection) { return "listen"; }, - listenPayload(this: Inflection) { + listenPayload(this: GraphileEngine.Inflection) { return this.upperCamelCase(`${this.listen()}-payload`); }, }, @@ -106,10 +102,10 @@ const PgGenericSubscriptionPlugin: Plugin = function( throw new Error("Failed to load Query type"); } - const scope: ScopeGraphQLObjectTypeFieldsField = { + const scope: GraphileEngine.ScopeGraphQLObjectTypeFieldsField = { isPgGenericSubscriptionPayloadRelatedNodeField: true, }; - const spec: GraphileObjectTypeConfig = { + const spec: GraphileEngine.GraphileObjectTypeConfig = { name: inflection.listenPayload(), fields: () => ({ query: { @@ -165,7 +161,7 @@ const PgGenericSubscriptionPlugin: Plugin = function( }); const listen = inflection.listen(); - const listenScope: ScopeGraphQLObjectTypeFieldsField = { + const listenScope: GraphileEngine.ScopeGraphQLObjectTypeFieldsField = { isPgGenericSubscriptionRootField: true, }; diff --git a/packages/pg-pubsub/src/PgSubscriptionResolverPlugin.ts b/packages/pg-pubsub/src/PgSubscriptionResolverPlugin.ts index 67ac5a16ae..bce2c4f6b7 100644 --- a/packages/pg-pubsub/src/PgSubscriptionResolverPlugin.ts +++ b/packages/pg-pubsub/src/PgSubscriptionResolverPlugin.ts @@ -1,5 +1,4 @@ import debugFactory from "debug"; -import { Plugin } from "graphile-build"; import { PubSub, withFilter } from "graphql-subscriptions"; const debug = debugFactory("pg-pubsub"); @@ -13,7 +12,10 @@ function isPubSub(pubsub: any): pubsub is PubSub { * `subscribe` method. */ -const PgSubscriptionResolverPlugin: Plugin = function(builder, { pubsub }) { +const PgSubscriptionResolverPlugin: GraphileEngine.Plugin = function ( + builder, + { pubsub }, +) { if (!isPubSub(pubsub)) { debug("Subscriptions disabled - no pubsub provided"); return; @@ -74,12 +76,12 @@ const PgSubscriptionResolverPlugin: Plugin = function(builder, { pubsub }) { ) ? unsubscribeTopic : [unsubscribeTopic]; - const unsubscribeIterators = unsubscribeTopics.map(t => { + const unsubscribeIterators = unsubscribeTopics.map((t) => { const i = pubsub.asyncIterator(t); i["topic"] = t; return i; }); - unsubscribeIterators.forEach(unsubscribeIterator => { + unsubscribeIterators.forEach((unsubscribeIterator) => { unsubscribeIterator.next().then(() => { debug( "Unsubscribe triggered on channel %s", @@ -88,7 +90,7 @@ const PgSubscriptionResolverPlugin: Plugin = function(builder, { pubsub }) { if (asyncIterator.return) { asyncIterator.return(); } - unsubscribeIterators.forEach(i => { + unsubscribeIterators.forEach((i) => { if (i.return) { i.return(); } diff --git a/packages/pg-pubsub/src/index.ts b/packages/pg-pubsub/src/index.ts index 249bec0e33..7c37a7a470 100644 --- a/packages/pg-pubsub/src/index.ts +++ b/packages/pg-pubsub/src/index.ts @@ -9,20 +9,19 @@ import { PoolClient } from "pg"; const RECONNECT_BASE_DELAY = 100; const RECONNECT_MAX_DELAY = 30000; -declare module "postgraphile" { - interface PostGraphileOptions { - simpleSubscriptions?: boolean; - subscriptionAuthorizationFunction?: string; +declare global { + namespace GraphileEngine { + interface PostGraphileOptions { + simpleSubscriptions?: boolean; + subscriptionAuthorizationFunction?: string; + } + interface GraphileBuildOptions { + pubsub?: PubSub; + } } } -declare module "graphile-build" { - interface Options { - pubsub: PubSub; - } -} - -const sleep = (ms: number) => new Promise(resolve => setTimeout(resolve, ms)); +const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)); const debugSubscriptions = createDebugger("postgraphile:subscriptions"); @@ -64,7 +63,7 @@ const plugin: PostGraphilePlugin = { eventEmitter, }); - const handleNotification = function(msg: { + const handleNotification = function (msg: { channel: string; payload?: string; }) { @@ -81,7 +80,7 @@ const plugin: PostGraphilePlugin = { pubsub.publish(msg.channel, payload); }; let listeningClient: PoolClient | null; - const cleanClient = function(client: PoolClient) { + const cleanClient = function (client: PoolClient) { client.removeListener("notification", handleNotification); clearInterval(client["keepAliveInterval"]); delete client["keepAliveInterval"]; @@ -89,7 +88,7 @@ const plugin: PostGraphilePlugin = { listeningClient = null; } }; - const releaseClient = function(client: PoolClient): void { + const releaseClient = function (client: PoolClient): void { if (!client) { return; } @@ -98,14 +97,14 @@ const plugin: PostGraphilePlugin = { client.release(); } }; - const listenToChannelWithClient = async function( + const listenToChannelWithClient = async function ( client: PoolClient, channel: string, ): Promise { const sql = "LISTEN " + client.escapeIdentifier(channel); await client.query(sql); }; - const unlistenFromChannelWithClient = async function( + const unlistenFromChannelWithClient = async function ( client: PoolClient, channel: string, ): Promise { @@ -113,22 +112,22 @@ const plugin: PostGraphilePlugin = { await client.query(sql); }; const channelListenCount: { [key: string]: number } = {}; - const listen = async function(channel: string) { + const listen = async function (channel: string) { channelListenCount[channel] = (channelListenCount[channel] || 0) + 1; if (channelListenCount[channel] === 1 && listeningClient) { await listenToChannelWithClient(listeningClient, channel); } }; - const unlisten = async function(channel: string) { + const unlisten = async function (channel: string) { channelListenCount[channel] = (channelListenCount[channel] || 1) - 1; if (channelListenCount[channel] === 0 && listeningClient) { await unlistenFromChannelWithClient(listeningClient, channel); } }; const aL = eventEmitter.addListener; - eventEmitter.addListener = function(name, hook) { + eventEmitter.addListener = function (name, hook) { if (typeof name === "string") { - listen(name).catch(e => { + listen(name).catch((e) => { // eslint-disable-next-line no-console console.error("Error occurred when unlistening:", e.message); }); @@ -136,9 +135,9 @@ const plugin: PostGraphilePlugin = { return aL.call(this, name, hook); }; const rL = eventEmitter.removeListener; - eventEmitter.removeListener = function(name, hook) { + eventEmitter.removeListener = function (name, hook) { if (typeof name === "string") { - unlisten(name).catch(e => { + unlisten(name).catch((e) => { // eslint-disable-next-line no-console console.error("Error occurred when unlistening:", e.message); }); @@ -146,7 +145,7 @@ const plugin: PostGraphilePlugin = { return rL.call(this, name, hook); }; - const setupClient = async function(attempts = 0): Promise { + const setupClient = async function (attempts = 0): Promise { if (attempts > 0 && attempts % 5 === 0) { // eslint-disable-next-line no-console console.warn( @@ -172,7 +171,7 @@ const plugin: PostGraphilePlugin = { listeningClient.addListener("notification", handleNotification); // Every 25 seconds, send 'select 1' to keep the connection alive client["keepAliveInterval"] = setInterval(() => { - client.query("select 1").catch(e => { + client.query("select 1").catch((e) => { // eslint-disable-next-line no-console console.error( "Listen client keepalive error (will attempt reconnect):", @@ -190,13 +189,14 @@ const plugin: PostGraphilePlugin = { .map(([channel]) => channel); try { await Promise.all( - channels.map(channel => listenToChannelWithClient(client, channel)), + channels.map((channel) => listenToChannelWithClient(client, channel)), ); } catch (e) { // eslint-disable-next-line no-console console.error( - `Error occurred when listening to channel; retrying after ${attempts * - 2} seconds`, + `Error occurred when listening to channel; retrying after ${ + attempts * 2 + } seconds`, ); // eslint-disable-next-line no-console console.error(e); @@ -207,7 +207,7 @@ const plugin: PostGraphilePlugin = { } } }; - setupClient().catch(e => { + setupClient().catch((e) => { // eslint-disable-next-line no-console console.error( "Error occurred when trying to set up initial client. Current state is undefined. Suggest server restart.", diff --git a/packages/pg-sql2/README.md b/packages/pg-sql2/README.md index 26fc8e3931..0dadcb827c 100644 --- a/packages/pg-sql2/README.md +++ b/packages/pg-sql2/README.md @@ -40,7 +40,7 @@ const fields = ["name", "age", "height"]; // sql.join is used to join fragments with a common separator, NOT to join tables! const sqlFields = sql.join( // sql.identifier safely escapes arguments and joins them with dots - fields.map(fieldName => sql.identifier(tableName, fieldName)), + fields.map((fieldName) => sql.identifier(tableName, fieldName)), ", ", ); @@ -123,7 +123,7 @@ Joins an array of `sql` values using the delimiter (which is treated as a raw SQL string); e.g. ```js -const arrayOfSqlFields = ["a", "b", "c", "d"].map(n => sql.identifier(n)); +const arrayOfSqlFields = ["a", "b", "c", "d"].map((n) => sql.identifier(n)); sql`select ${sql.join(arrayOfSqlFields, ", ")}`; // -> select "a", "b", "c", "d" const arrayOfSqlConditions = [sql`a = 1`, sql`b = 2`, sql`c = 3`]; diff --git a/packages/pg-sql2/jest.config.js b/packages/pg-sql2/jest.config.js new file mode 100644 index 0000000000..cf8e7e8f9a --- /dev/null +++ b/packages/pg-sql2/jest.config.js @@ -0,0 +1 @@ +module.exports = require("../../jest.config.base")(__dirname); diff --git a/packages/pg-sql2/package.json b/packages/pg-sql2/package.json index 06259d9b22..f11ebc5cf4 100644 --- a/packages/pg-sql2/package.json +++ b/packages/pg-sql2/package.json @@ -33,12 +33,16 @@ "homepage": "https://github.com/graphile/graphile-build/tree/master/packages/pg-sql2", "devDependencies": { "@types/debug": "4.1.5", - "@types/node": "12.7.5", - "markdown-doctest": "^1.0.0" + "@types/jest": "^25.2.3", + "@types/node": "14.0.1", + "jest": "^26.0.1", + "markdown-doctest": "^1.0.0", + "ts-node": "^8.10.1", + "typescript": "^3.9.2" }, - "peerDependencies": {}, "dependencies": { - "@graphile/lru": "4.6.0-alpha.0" + "@graphile/lru": "4.6.0-alpha.0", + "tslib": "^2.0.0" }, "files": [ "dist" diff --git a/packages/pg-sql2/src/index.ts b/packages/pg-sql2/src/index.ts index 0adcce39cf..4838f2cd2e 100644 --- a/packages/pg-sql2/src/index.ts +++ b/packages/pg-sql2/src/index.ts @@ -73,7 +73,7 @@ function mangleName(str: string): string { return ( str // Keep the identifier simple so it doesn't need escaping. - .replace(/[A-Z]/g, l => `_${l.toLowerCase()}`) + .replace(/[A-Z]/g, (l) => `_${l.toLowerCase()}`) .replace(/[^a-z0-9_]+/g, "_") // Avoid double-underscores. @@ -260,7 +260,7 @@ export function compile( "[pg-sql2] This SQL statement would contain too many placeholders; PostgreSQL supports at most 65535 placeholders. To solve this, consider refactoring the query to use arrays/unnest where possible, or split it into multiple queries.", ); } - values[valueCount] = item.value; + values[valueCount - 1] = item.value; sqlFragments.push(`$${valueCount}`); break; default: diff --git a/packages/postgraphile-core/README.md b/packages/postgraphile-core/README.md index d2edbd6871..c34d7b8bcf 100644 --- a/packages/postgraphile-core/README.md +++ b/packages/postgraphile-core/README.md @@ -132,11 +132,11 @@ runQuery( // This query obviously depends on your database schema "query MyQuery { allPosts { nodes { id, title, author: userByAuthorId { username } } } }", ) - .then(result => { + .then((result) => { console.dir(result); pgPool.end(); }) - .catch(e => { + .catch((e) => { console.error(e); process.exit(1); }); diff --git a/packages/postgraphile-core/__tests__/helpers.js b/packages/postgraphile-core/__tests__/helpers.js index c84069cf00..214e06d2ea 100644 --- a/packages/postgraphile-core/__tests__/helpers.js +++ b/packages/postgraphile-core/__tests__/helpers.js @@ -40,7 +40,8 @@ const withPgClient = (url, fn) => { fn = url; url = process.env.TEST_DATABASE_URL; } - return withTransactionlessPgClient(url, async client => { + return withTransactionlessPgClient(url, async (client) => { + client.setMaxListeners(100); await client.query("begin"); try { await client.query("set local timezone to '+04:00'"); @@ -52,13 +53,13 @@ const withPgClient = (url, fn) => { }; const transactionlessQuery = (query, variables) => { - return withTransactionlessPgClient(pgClient => + return withTransactionlessPgClient((pgClient) => pgClient.query(query, variables), ); }; const withDbFromUrl = async (url, fn) => { - return withPgClient(url, async client => { + return withPgClient(url, async (client) => { try { await client.query("BEGIN ISOLATION LEVEL SERIALIZABLE;"); return fn(client); @@ -68,18 +69,18 @@ const withDbFromUrl = async (url, fn) => { }); }; -const withRootDb = fn => withDbFromUrl(process.env.TEST_DATABASE_URL, fn); +const withRootDb = (fn) => withDbFromUrl(process.env.TEST_DATABASE_URL, fn); let prepopulatedDBKeepalive; -const populateDatabase = async client => { +const populateDatabase = async (client) => { await client.query( await readFilePromise(`${__dirname}/kitchen-sink-data.sql`, "utf8"), ); return {}; }; -const withPrepopulatedDb = async fn => { +const withPrepopulatedDb = async (fn) => { if (!prepopulatedDBKeepalive) { throw new Error("You must call setup and teardown to use this"); } @@ -104,7 +105,7 @@ const withPrepopulatedDb = async fn => { } }; -withPrepopulatedDb.setup = done => { +withPrepopulatedDb.setup = (done) => { if (prepopulatedDBKeepalive) { throw new Error("There's already a prepopulated DB running"); } @@ -116,7 +117,7 @@ withPrepopulatedDb.setup = done => { }); prepopulatedDBKeepalive.resolve = res; prepopulatedDBKeepalive.reject = rej; - withRootDb(async client => { + withRootDb(async (client) => { prepopulatedDBKeepalive.client = client; try { prepopulatedDBKeepalive.vars = await populateDatabase(client); diff --git a/packages/postgraphile-core/__tests__/integration/ToyCategoriesPlugin.js b/packages/postgraphile-core/__tests__/integration/ToyCategoriesPlugin.js index 91a664f61e..3f21d4581e 100644 --- a/packages/postgraphile-core/__tests__/integration/ToyCategoriesPlugin.js +++ b/packages/postgraphile-core/__tests__/integration/ToyCategoriesPlugin.js @@ -1,4 +1,4 @@ -module.exports = builder => { +module.exports = (builder) => { // This hook adds the 'Toy.categories' field builder.hook("GraphQLObjectType:fields", (fields, build, context) => { const { @@ -20,9 +20,9 @@ module.exports = builder => { categories: fieldWithHooks( "categories", ({ addDataGenerator, getDataFromParsedResolveInfoFragment }) => { - addDataGenerator(parsedResolveInfoFragment => { + addDataGenerator((parsedResolveInfoFragment) => { return { - pgQuery: queryBuilder => { + pgQuery: (queryBuilder) => { queryBuilder.select(() => { const resolveData = getDataFromParsedResolveInfoFragment( parsedResolveInfoFragment, @@ -37,7 +37,7 @@ module.exports = builder => { useAsterisk: false, asJsonAggregate: true, }, - innerQueryBuilder => { + (innerQueryBuilder) => { innerQueryBuilder.parentQueryBuilder = queryBuilder; const alias = Symbol("toyCategoriesSubquery"); const innerInnerQueryBuilder = innerQueryBuilder.buildNamedChildSelecting( @@ -98,7 +98,7 @@ module.exports = builder => { addArgDataGenerator(({ approved }) => { return { - pgQuery: queryBuilder => { + pgQuery: (queryBuilder) => { if (approved != null) { const toyCategoriesQueryBuilder = queryBuilder.getNamedChild( "toyCategoriesSubquery", diff --git a/packages/postgraphile-core/__tests__/integration/__snapshots__/extend-errors.test.js.snap b/packages/postgraphile-core/__tests__/integration/__snapshots__/extend-errors.test.js.snap index 712949361e..cfeaaadd75 100644 --- a/packages/postgraphile-core/__tests__/integration/__snapshots__/extend-errors.test.js.snap +++ b/packages/postgraphile-core/__tests__/integration/__snapshots__/extend-errors.test.js.snap @@ -7,13 +7,13 @@ exports[`column naming clash - rename 1`] = ` Adding ascending orderBy enum value for column "wont_cast_easy" on table "c"."edge_case". You can rename this field with a 'Smart Comment':  -  COMMENT ON COLUMN "c"."edge_case"."wont_cast_easy" IS E'@name newNameHere'; +  COMMENT ON COLUMN "c"."edge_case"."wont_cast_easy" IS E'@name newNameHere'; The second entity was: Adding ascending orderBy enum value for column "row_id" on table "c"."edge_case" (with smart comments: @name wontCastEasy). You can rename this field with a 'Smart Comment':  -  COMMENT ON COLUMN "c"."edge_case"."row_id" IS E'@name newNameHere\\nRest of existing \\'comment\\' \\nhere.';] +  COMMENT ON COLUMN "c"."edge_case"."row_id" IS E'@name newNameHere\\nRest of existing \\'comment\\' \\nhere.';] `; exports[`function naming clash - computed 1`] = ` @@ -23,13 +23,13 @@ exports[`function naming clash - computed 1`] = ` Adding field for column "row_id" on table "c"."edge_case". You can rename this field with a 'Smart Comment':  -  COMMENT ON COLUMN "c"."edge_case"."row_id" IS E'@name newNameHere'; +  COMMENT ON COLUMN "c"."edge_case"."row_id" IS E'@name newNameHere'; The second entity was: Adding computed column for function "c"."edge_case_computed"(...args...) (with smart comments: @fieldName rowId). You can rename this field with a 'Smart Comment':  -  COMMENT ON FUNCTION "c"."edge_case_computed"(...arg types go here...) IS E'@fieldName newNameHere\\nRest of existing \\'comment\\' \\nhere.';] +  COMMENT ON FUNCTION "c"."edge_case_computed"(...arg types go here...) IS E'@fieldName newNameHere\\nRest of existing \\'comment\\' \\nhere.';] `; exports[`function naming clash - createPost 1`] = ` @@ -39,17 +39,17 @@ exports[`function naming clash - createPost 1`] = ` Adding table create payload type for table "a"."post". You can rename the table's GraphQL type via a 'Smart Comment':  -  COMMENT ON TABLE "a"."post" IS E'@name newNameHere'; +  COMMENT ON TABLE "a"."post" IS E'@name newNameHere';  or disable the built-in create mutation via:  -  COMMENT ON TABLE "a"."post" IS E'@omit create'; +  COMMENT ON TABLE "a"."post" IS E'@omit create'; The second entity was: Adding mutation function payload type for function "a"."mutation_text_array"(...args...) (with smart comments: @name createPost). You can rename the function's GraphQL field (and its dependent types) via a 'Smart Comment':  -  COMMENT ON FUNCTION "a"."mutation_text_array"(...arg types go here...) IS E'@name newNameHere\\nRest of existing \\'comment\\' \\nhere.';] +  COMMENT ON FUNCTION "a"."mutation_text_array"(...arg types go here...) IS E'@name newNameHere\\nRest of existing \\'comment\\' \\nhere.';] `; exports[`function naming clash - deletePost 1`] = ` @@ -59,13 +59,13 @@ exports[`function naming clash - deletePost 1`] = ` Adding table delete mutation payload type for table "a"."post". You can rename the table's GraphQL type via a 'Smart Comment':  -  COMMENT ON TABLE "a"."post" IS E'@name newNameHere'; +  COMMENT ON TABLE "a"."post" IS E'@name newNameHere'; The second entity was: Adding mutation function payload type for function "a"."mutation_text_array"(...args...) (with smart comments: @name deletePost). You can rename the function's GraphQL field (and its dependent types) via a 'Smart Comment':  -  COMMENT ON FUNCTION "a"."mutation_text_array"(...arg types go here...) IS E'@name newNameHere\\nRest of existing \\'comment\\' \\nhere.';] +  COMMENT ON FUNCTION "a"."mutation_text_array"(...arg types go here...) IS E'@name newNameHere\\nRest of existing \\'comment\\' \\nhere.';] `; exports[`function naming clash - nodeId 1`] = ` @@ -79,7 +79,7 @@ exports[`function naming clash - nodeId 1`] = ` Adding query field for function "c"."int_set_query"(...args...) (with smart comments: @name nodeId). You can rename this field with a 'Smart Comment':  -  COMMENT ON FUNCTION "c"."int_set_query"(...arg types go here...) IS E'@name newNameHere\\nRest of existing \\'comment\\' \\nhere.';] +  COMMENT ON FUNCTION "c"."int_set_query"(...arg types go here...) IS E'@name newNameHere\\nRest of existing \\'comment\\' \\nhere.';] `; exports[`function naming clash - payload 1`] = ` @@ -89,13 +89,13 @@ exports[`function naming clash - payload 1`] = ` Adding function result edge type for function "c"."int_set_query"(...args...) (with smart comments: @name q). You can rename the function's GraphQL field (and its dependent types) via a 'Smart Comment':  -  COMMENT ON FUNCTION "c"."int_set_query"(...arg types go here...) IS E'@name newNameHere\\nRest of existing \\'comment\\' \\nhere.'; +  COMMENT ON FUNCTION "c"."int_set_query"(...arg types go here...) IS E'@name newNameHere\\nRest of existing \\'comment\\' \\nhere.'; The second entity was: Adding table type for table "a"."post" (with smart comments: @name q_edge). You can rename the table's GraphQL type via a 'Smart Comment':  -  COMMENT ON TABLE "a"."post" IS E'@name newNameHere\\nRest of existing \\'comment\\' \\nhere.';] +  COMMENT ON TABLE "a"."post" IS E'@name newNameHere\\nRest of existing \\'comment\\' \\nhere.';] `; exports[`function naming clash - updatePost 1`] = ` @@ -105,13 +105,13 @@ exports[`function naming clash - updatePost 1`] = ` Adding table update mutation payload type for table "a"."post". You can rename the table's GraphQL type via a 'Smart Comment':  -  COMMENT ON TABLE "a"."post" IS E'@name newNameHere'; +  COMMENT ON TABLE "a"."post" IS E'@name newNameHere'; The second entity was: Adding mutation function payload type for function "a"."mutation_text_array"(...args...) (with smart comments: @name updatePost). You can rename the function's GraphQL field (and its dependent types) via a 'Smart Comment':  -  COMMENT ON FUNCTION "a"."mutation_text_array"(...arg types go here...) IS E'@name newNameHere\\nRest of existing \\'comment\\' \\nhere.';] +  COMMENT ON FUNCTION "a"."mutation_text_array"(...arg types go here...) IS E'@name newNameHere\\nRest of existing \\'comment\\' \\nhere.';] `; exports[`simple collections naming clash 1`] = ` @@ -121,13 +121,13 @@ exports[`simple collections naming clash 1`] = ` Backward relation (connection) for constraint "post_author_id_fkey" on table "a"."post" (with smart comments: @foreignFieldName clash). To rename this relation with a 'Smart Comment':  -  COMMENT ON CONSTRAINT "post_author_id_fkey" ON "a"."post" IS E'@foreignFieldName newNameHere\\nRest of existing \\'comment\\' \\nhere.'; +  COMMENT ON CONSTRAINT "post_author_id_fkey" ON "a"."post" IS E'@foreignFieldName newNameHere\\nRest of existing \\'comment\\' \\nhere.'; The second entity was: Backward relation (simple collection) for constraint "post_author_id_fkey" on table "a"."post" (with smart comments: @foreignFieldName clash). To rename this relation with a 'Smart Comment':  -  COMMENT ON CONSTRAINT "post_author_id_fkey" ON "a"."post" IS E'@foreignSimpleFieldName newNameHere\\n@foreignFieldName clash\\nRest of existing \\'comment\\' \\nhere.';] +  COMMENT ON CONSTRAINT "post_author_id_fkey" ON "a"."post" IS E'@foreignSimpleFieldName newNameHere\\n@foreignFieldName clash\\nRest of existing \\'comment\\' \\nhere.';] `; exports[`table naming clash - condition 1`] = ` @@ -137,13 +137,13 @@ exports[`table naming clash - condition 1`] = ` Adding condition type for table "c"."person". You can rename the table's GraphQL type via a 'Smart Comment':  -  COMMENT ON TABLE "c"."person" IS E'@name newNameHere\\nPerson test comment'; +  COMMENT ON TABLE "c"."person" IS E'@name newNameHere\\nPerson test comment'; The second entity was: Adding table type for table "a"."post" (with smart comments: @name person_condition). You can rename the table's GraphQL type via a 'Smart Comment':  -  COMMENT ON TABLE "a"."post" IS E'@name newNameHere\\nRest of existing \\'comment\\' \\nhere.';] +  COMMENT ON TABLE "a"."post" IS E'@name newNameHere\\nRest of existing \\'comment\\' \\nhere.';] `; exports[`table naming clash - direct 1`] = ` @@ -153,13 +153,13 @@ exports[`table naming clash - direct 1`] = ` Adding connection "orderBy" argument for table "a"."post" (with smart comments: @name person). You can rename the table's GraphQL type via a 'Smart Comment':  -  COMMENT ON TABLE "a"."post" IS E'@name newNameHere\\nRest of existing \\'comment\\' \\nhere.'; +  COMMENT ON TABLE "a"."post" IS E'@name newNameHere\\nRest of existing \\'comment\\' \\nhere.'; The second entity was: Adding connection "orderBy" argument for table "c"."person". You can rename the table's GraphQL type via a 'Smart Comment':  -  COMMENT ON TABLE "c"."person" IS E'@name newNameHere\\nPerson test comment';] +  COMMENT ON TABLE "c"."person" IS E'@name newNameHere\\nPerson test comment';] `; exports[`table naming clash - mutation 1`] = ` @@ -169,7 +169,7 @@ exports[`table naming clash - mutation 1`] = ` Adding table type for table "a"."post" (with smart comments: @name mutation). You can rename the table's GraphQL type via a 'Smart Comment':  -  COMMENT ON TABLE "a"."post" IS E'@name newNameHere\\nRest of existing \\'comment\\' \\nhere.'; +  COMMENT ON TABLE "a"."post" IS E'@name newNameHere\\nRest of existing \\'comment\\' \\nhere.'; The second entity was: @@ -183,13 +183,13 @@ exports[`table naming clash - order 1`] = ` Adding connection "orderBy" argument for table "c"."person". You can rename the table's GraphQL type via a 'Smart Comment':  -  COMMENT ON TABLE "c"."person" IS E'@name newNameHere\\nPerson test comment'; +  COMMENT ON TABLE "c"."person" IS E'@name newNameHere\\nPerson test comment'; The second entity was: Adding table type for table "a"."post" (with smart comments: @name people_order_by). You can rename the table's GraphQL type via a 'Smart Comment':  -  COMMENT ON TABLE "a"."post" IS E'@name newNameHere\\nRest of existing \\'comment\\' \\nhere.';] +  COMMENT ON TABLE "a"."post" IS E'@name newNameHere\\nRest of existing \\'comment\\' \\nhere.';] `; exports[`table naming clash - query 1`] = ` @@ -203,7 +203,7 @@ exports[`table naming clash - query 1`] = ` Adding row by globally unique identifier field for table "a"."post" (with smart comments: @name query). You can rename this table via a 'Smart Comment':  -  COMMENT ON TABLE "a"."post" IS E'@name newNameHere\\nRest of existing \\'comment\\' \\nhere.';] +  COMMENT ON TABLE "a"."post" IS E'@name newNameHere\\nRest of existing \\'comment\\' \\nhere.';] `; exports[`table naming clash - subscription 1`] = ` @@ -213,7 +213,7 @@ exports[`table naming clash - subscription 1`] = ` Adding table type for table "a"."post" (with smart comments: @name subscription). You can rename the table's GraphQL type via a 'Smart Comment':  -  COMMENT ON TABLE "a"."post" IS E'@name newNameHere\\nRest of existing \\'comment\\' \\nhere.'; +  COMMENT ON TABLE "a"."post" IS E'@name newNameHere\\nRest of existing \\'comment\\' \\nhere.'; The second entity was: diff --git a/packages/postgraphile-core/__tests__/integration/extend-errors.test.js b/packages/postgraphile-core/__tests__/integration/extend-errors.test.js index c04bfa67d0..131ed31083 100644 --- a/packages/postgraphile-core/__tests__/integration/extend-errors.test.js +++ b/packages/postgraphile-core/__tests__/integration/extend-errors.test.js @@ -8,7 +8,7 @@ function check(description, sql) { let error; // eslint-disable-next-line no-unused-vars let schema; - await withPgClient(async pgClient => { + await withPgClient(async (pgClient) => { await pgClient.query(sql); try { schema = await createPostGraphileSchema(pgClient, ["a", "b", "c"], { diff --git a/packages/postgraphile-core/__tests__/integration/live/collections.test.js b/packages/postgraphile-core/__tests__/integration/live/collections.test.js index f01d970561..33893d7607 100644 --- a/packages/postgraphile-core/__tests__/integration/live/collections.test.js +++ b/packages/postgraphile-core/__tests__/integration/live/collections.test.js @@ -17,7 +17,7 @@ if (skipLDSTests) { beforeAll(() => createSchema()); afterAll(() => releaseSchema()); - [true, false].forEach(simpleCollection => { + [true, false].forEach((simpleCollection) => { describe( simpleCollection ? "simple collections" : "relay connections", () => { @@ -101,7 +101,7 @@ if (skipLDSTests) { ); data = await next(getLatest); expect(getNodes()).toHaveLength(1); - expect(getNodes().map(n => n.name)).toEqual(["Alice"]); + expect(getNodes().map((n) => n.name)).toEqual(["Alice"]); await pgClient.query( "insert into live_test.users (name, favorite_color) values ($1, $2)", diff --git a/packages/postgraphile-core/__tests__/integration/live_helpers.js b/packages/postgraphile-core/__tests__/integration/live_helpers.js index 0d5f85fdac..22fe55452b 100644 --- a/packages/postgraphile-core/__tests__/integration/live_helpers.js +++ b/packages/postgraphile-core/__tests__/integration/live_helpers.js @@ -3,7 +3,7 @@ const { withTransactionlessPgClient } = require("../helpers"); const { createPostGraphileSchema } = require("../.."); const { default: SubscriptionsLDS } = require("@graphile/subscriptions-lds"); -const sleep = ms => new Promise(resolve => setTimeout(resolve, ms)); +const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); const v = parseFloat(process.env.PGVERSION); @@ -11,13 +11,13 @@ exports.skipLDSTests = v && v < 10; let schema; exports.resetDatabase = async function resetDatabase() { - await withTransactionlessPgClient(pgClient => + await withTransactionlessPgClient((pgClient) => pgClient.query("delete from live_test.users"), ); }; exports.createSchema = async function createSchema() { - await withTransactionlessPgClient(async pgClient => { + await withTransactionlessPgClient(async (pgClient) => { schema = await createPostGraphileSchema(pgClient, "live_test", { live: true, ownerConnectionString: process.env.TEST_DATABASE_URL, @@ -50,7 +50,7 @@ exports.liveTest = (query, variables, cb) => { const errors = validate(schema, query); if (errors && errors.length) throw errors[0]; - return withTransactionlessPgClient(async pgClient => { + return withTransactionlessPgClient(async (pgClient) => { const iterator = await subscribe( schema, query, diff --git a/packages/postgraphile-core/__tests__/integration/mutations.test.js b/packages/postgraphile-core/__tests__/integration/mutations.test.js index dcbbcd7f85..a6a59eeb74 100644 --- a/packages/postgraphile-core/__tests__/integration/mutations.test.js +++ b/packages/postgraphile-core/__tests__/integration/mutations.test.js @@ -30,7 +30,7 @@ let mutationResults = []; beforeAll(() => { // Get a GraphQL schema instance that we can query. - const gqlSchemaPromise = withPgClient(async pgClient => { + const gqlSchemaPromise = withPgClient(async (pgClient) => { // A selection of omit/rename comments on the d schema await pgClient.query(await dSchemaComments()); const serverVersionNum = await getServerVersionNum(pgClient); @@ -82,7 +82,7 @@ beforeAll(() => { // // All of our mutations get there own Postgres client instance. Queries share // a client instance. - mutationResults = mutationFileNames.map(async fileName => { + mutationResults = mutationFileNames.map(async (fileName) => { // Wait for the schema to resolve. We need the schema to be introspected // before we can do anything else! let { @@ -95,7 +95,7 @@ beforeAll(() => { rbacSchema, } = await gqlSchemaPromise; // Get a new Postgres client and run the mutation. - return await withPgClient(async pgClient => { + return await withPgClient(async (pgClient) => { // Read the mutation from the file system. const mutation = await readFile( resolvePath(mutationsDir, fileName), @@ -154,7 +154,19 @@ beforeAll(() => { ); if (result.errors) { // eslint-disable-next-line no-console - console.log(result.errors.map(e => e.originalError)); + console.log( + `GraphQL mutation '${fileName}' had an error:\n ` + + result.errors + .map((e) => { + const error = e.originalError || e; + let message = error.message || String(e); + if (e.locations && e.locations[0]) { + message = `[${e.locations[0].line}:${e.locations[0].column}]: ${message}`; + } + return message; + }) + .join("\n "), + ); } return result; }); diff --git a/packages/postgraphile-core/__tests__/integration/queries-jwt.test.js b/packages/postgraphile-core/__tests__/integration/queries-jwt.test.js index 23825e4f50..267a5291e4 100644 --- a/packages/postgraphile-core/__tests__/integration/queries-jwt.test.js +++ b/packages/postgraphile-core/__tests__/integration/queries-jwt.test.js @@ -121,7 +121,7 @@ const tests = [ beforeAll(() => { // Get a few GraphQL schema instance that we can query. - const gqlSchemasPromise = withPgClient(async pgClient => { + const gqlSchemasPromise = withPgClient(async (pgClient) => { // Different fixtures need different schemas with different configurations. // Make all of the different schemas with different configurations that we // need and wait for them to be created in parallel. @@ -148,7 +148,7 @@ beforeAll(() => { // before we can do anything else! const gqlSchemas = await gqlSchemasPromise; // Get a new Postgres client instance. - return await withPgClient(async pgClient => { + return await withPgClient(async (pgClient) => { // Add data to the client instance we are using. await pgClient.query(await kitchenSinkData()); // Run all of our queries in parallel. @@ -161,7 +161,7 @@ beforeAll(() => { }); if (result.errors && result.errors.length) { // eslint-disable-next-line no-console - console.log(result.errors.map(e => e.originalError || e)); + console.log(result.errors.map((e) => e.originalError || e)); } return result; }), @@ -176,7 +176,7 @@ beforeAll(() => { }); for (let i = 0; i < tests.length; i++) { - const { name, process = _ => _ } = tests[i]; + const { name, process = (_) => _ } = tests[i]; test(name, async () => { expect(process(await queryResults[i])).toMatchSnapshot(); }); diff --git a/packages/postgraphile-core/__tests__/integration/queries-ranges.test.js b/packages/postgraphile-core/__tests__/integration/queries-ranges.test.js index d9c36168de..b27871868b 100644 --- a/packages/postgraphile-core/__tests__/integration/queries-ranges.test.js +++ b/packages/postgraphile-core/__tests__/integration/queries-ranges.test.js @@ -6,13 +6,13 @@ let schema; beforeAll(async () => { // Get a few GraphQL schema instance that we can query. - schema = await withPgClient(async pgClient => + schema = await withPgClient(async (pgClient) => createPostGraphileSchema(pgClient, ["ranges"]), ); }); test("numeric range", () => - withPgClient(async pgClient => { + withPgClient(async (pgClient) => { const { rows: [row], } = await pgClient.query( @@ -42,7 +42,7 @@ test("numeric range", () => })); test("bigint range", () => - withPgClient(async pgClient => { + withPgClient(async (pgClient) => { const { rows: [row], } = await pgClient.query( @@ -72,7 +72,7 @@ test("bigint range", () => })); test("ts range", () => - withPgClient(async pgClient => { + withPgClient(async (pgClient) => { const { rows: [row], } = await pgClient.query( @@ -98,7 +98,7 @@ test("ts range", () => })); test("tstz range", () => - withPgClient(async pgClient => { + withPgClient(async (pgClient) => { const { rows: [row], } = await pgClient.query( diff --git a/packages/postgraphile-core/__tests__/integration/queries.test.js b/packages/postgraphile-core/__tests__/integration/queries.test.js index 555a2f5d45..f1d6040fe6 100644 --- a/packages/postgraphile-core/__tests__/integration/queries.test.js +++ b/packages/postgraphile-core/__tests__/integration/queries.test.js @@ -32,7 +32,7 @@ const dSchemaComments = () => beforeAll(() => { // Get a few GraphQL schema instance that we can query. - const gqlSchemasPromise = withPgClient(async pgClient => { + const gqlSchemasPromise = withPgClient(async (pgClient) => { const serverVersionNum = await getServerVersionNum(pgClient); // A selection of omit/rename comments on the d schema await pgClient.query(await dSchemaComments()); @@ -83,7 +83,7 @@ beforeAll(() => { }), createPostGraphileSchema(pgClient, ["a", "b", "c"], { subscriptions: true, - pgColumnFilter: attr => attr.name !== "headline", + pgColumnFilter: (attr) => attr.name !== "headline", setofFunctionsContainNulls: false, }), createPostGraphileSchema(pgClient, ["a", "b", "c"], { @@ -123,11 +123,17 @@ beforeAll(() => { ]); // Now for RBAC-enabled tests await pgClient.query("set role postgraphile_test_authenticator"); + + const spy = jest.spyOn(console, "warn").mockImplementation(() => {}); const [rbac] = await Promise.all([ createPostGraphileSchema(pgClient, ["a", "b", "c"], { ignoreRBAC: false, }), ]); + // Expect rbac schema to output Recoverable error about post_with_suffix + expect(spy.mock.calls).toHaveLength(1); + spy.mockRestore(); + debug(printSchema(normal)); return { normal, @@ -156,7 +162,7 @@ beforeAll(() => { // before we can do anything else! const gqlSchemas = await gqlSchemasPromise; // Get a new Postgres client instance. - return await withPgClient(async pgClient => { + return await withPgClient(async (pgClient) => { // Add data to the client instance we are using. await pgClient.query(await kitchenSinkData()); const serverVersionNum = await getServerVersionNum(pgClient); @@ -170,7 +176,7 @@ beforeAll(() => { results.push(Promise.resolve()); continue; } - const process = async fileName => { + const process = async (fileName) => { if (fileName.startsWith("pg10.")) { if (serverVersionNum < 100000) { console.log("Skipping test as PG version is less than 10"); @@ -235,7 +241,19 @@ beforeAll(() => { }); if (result.errors) { // eslint-disable-next-line no-console - console.log(result.errors.map(e => e.originalError || e)); + console.log( + `GraphQL query '${fileName}' had an error:\n ` + + result.errors + .map((e) => { + const error = e.originalError || e; + let message = error.message || String(e); + if (e.locations && e.locations[0]) { + message = `[${e.locations[0].line}:${e.locations[0].column}]: ${message}`; + } + return message; + }) + .join("\n "), + ); } return result; } finally { diff --git a/packages/postgraphile-core/__tests__/integration/schema/core.js b/packages/postgraphile-core/__tests__/integration/schema/core.js index 33f682c675..dd39fb528d 100644 --- a/packages/postgraphile-core/__tests__/integration/schema/core.js +++ b/packages/postgraphile-core/__tests__/integration/schema/core.js @@ -3,7 +3,7 @@ const { withPgClient } = require("../../helpers"); const { createPostGraphileSchema } = require("../../.."); exports.test = (schemas, options, setup, finalCheck = () => {}) => () => - withPgClient(async client => { + withPgClient(async (client) => { if (setup) { if (typeof setup === "function") { await setup(client); @@ -11,6 +11,14 @@ exports.test = (schemas, options, setup, finalCheck = () => {}) => () => await client.query(setup); } } + let spy; + if ( + options && + (options.ignoreRBAC === false || options.ignoreIndexes === false) + ) { + // Ignore warnings from ignoreRBAC/ignoreIndexes + spy = jest.spyOn(console, "warn").mockImplementation(() => {}); + } const schema = await createPostGraphileSchema(client, schemas, options); expect(lexicographicSortSchema(schema)).toMatchSnapshot(); await finalCheck(schema); diff --git a/packages/postgraphile-core/__tests__/integration/schema/function-clash.test.js b/packages/postgraphile-core/__tests__/integration/schema/function-clash.test.js index 3274913795..3cf7ccb436 100644 --- a/packages/postgraphile-core/__tests__/integration/schema/function-clash.test.js +++ b/packages/postgraphile-core/__tests__/integration/schema/function-clash.test.js @@ -2,7 +2,7 @@ const core = require("./core"); let consoleWarnSpy; beforeAll(() => { - consoleWarnSpy = jest.spyOn(global.console, "warn"); + consoleWarnSpy = jest.spyOn(console, "warn").mockImplementation(() => {}); }); afterAll(() => { if (consoleWarnSpy) { @@ -15,7 +15,7 @@ test( core.test( ["a", "b", "c"], {}, - pgClient => { + (pgClient) => { return pgClient.query( "create function a.create_post(t text) returns a.post as $$ select null::a.post; $$ language sql volatile;", ); diff --git a/packages/postgraphile-core/__tests__/integration/schema/indexes.test.js b/packages/postgraphile-core/__tests__/integration/schema/indexes.test.js index dcb03ba926..d81548b8bf 100644 --- a/packages/postgraphile-core/__tests__/integration/schema/indexes.test.js +++ b/packages/postgraphile-core/__tests__/integration/schema/indexes.test.js @@ -10,11 +10,11 @@ test( core.test(["index_expressions"], { disableDefaultMutations: true }), ); -const IndexTypeCheckerPlugin = builder => { - builder.hook("build", build => { +const IndexTypeCheckerPlugin = (builder) => { + builder.hook("build", (build) => { const { pgIntrospectionResultsByKind } = build; if ( - !pgIntrospectionResultsByKind.index.every(idx => idx.indexType != null) + !pgIntrospectionResultsByKind.index.every((idx) => idx.indexType != null) ) { throw new Error("indexType missing"); } diff --git a/packages/postgraphile-core/__tests__/integration/schema/invalidSkipPlugins.test.js b/packages/postgraphile-core/__tests__/integration/schema/invalidSkipPlugins.test.js index b1bf324c1a..c523c68452 100644 --- a/packages/postgraphile-core/__tests__/integration/schema/invalidSkipPlugins.test.js +++ b/packages/postgraphile-core/__tests__/integration/schema/invalidSkipPlugins.test.js @@ -4,7 +4,7 @@ const { createPostGraphileSchema } = require("../../.."); const PluginThatWouldNotHaveLoadedAnyway = () => {}; test("throws error when skipPlugins is passed a plugin that would not have loaded", () => - withPgClient(async client => { + withPgClient(async (client) => { let err; try { await createPostGraphileSchema(client, "a", { diff --git a/packages/postgraphile-core/__tests__/integration/schema/pgColumnFilter.test.js b/packages/postgraphile-core/__tests__/integration/schema/pgColumnFilter.test.js index 9c281cdfe8..b544b90217 100644 --- a/packages/postgraphile-core/__tests__/integration/schema/pgColumnFilter.test.js +++ b/packages/postgraphile-core/__tests__/integration/schema/pgColumnFilter.test.js @@ -3,7 +3,7 @@ const core = require("./core"); test( "prints a schema without posts headlines", core.test("a", { - pgColumnFilter: attr => attr.name !== "headline", + pgColumnFilter: (attr) => attr.name !== "headline", setofFunctionsContainNulls: false, }), ); diff --git a/packages/postgraphile-core/__tests__/integration/schema/rbac.test.js b/packages/postgraphile-core/__tests__/integration/schema/rbac.test.js index 41483f7d91..81cc1d379c 100644 --- a/packages/postgraphile-core/__tests__/integration/schema/rbac.test.js +++ b/packages/postgraphile-core/__tests__/integration/schema/rbac.test.js @@ -2,13 +2,13 @@ const core = require("./core"); test( "prints a schema from non-root role, using RBAC permissions", - core.test(["a", "b", "c"], { ignoreRBAC: false }, client => + core.test(["a", "b", "c"], { ignoreRBAC: false }, (client) => client.query("set role postgraphile_test_authenticator"), ), ); test( "prints a schema from non-root role, with RBAC ignored", - core.test(["a", "b", "c"], { ignoreRBAC: true }, client => + core.test(["a", "b", "c"], { ignoreRBAC: true }, (client) => client.query("set role postgraphile_test_authenticator"), ), ); diff --git a/packages/postgraphile-core/__tests__/integration/schema/simple-collections.test.js b/packages/postgraphile-core/__tests__/integration/schema/simple-collections.test.js index 054ee52c5f..ce9f6912e5 100644 --- a/packages/postgraphile-core/__tests__/integration/schema/simple-collections.test.js +++ b/packages/postgraphile-core/__tests__/integration/schema/simple-collections.test.js @@ -24,7 +24,7 @@ test( simpleCollections: "only", setofFunctionsContainNulls: false, }, - pgClient => + (pgClient) => pgClient.query(` comment on table simple_collections.people is E'@simpleCollections omit'; `), @@ -39,7 +39,7 @@ test( simpleCollections: "omit", setofFunctionsContainNulls: false, }, - pgClient => + (pgClient) => pgClient.query(` comment on function simple_collections.people_odd_pets(simple_collections.people) is E'@simpleCollections only'; `), @@ -54,7 +54,7 @@ test( simpleCollections: "omit", setofFunctionsContainNulls: false, }, - pgClient => + (pgClient) => pgClient.query(` comment on constraint pets_owner_id_fkey on simple_collections.pets is E'@simpleCollections only'; `), diff --git a/packages/postgraphile-core/__tests__/integration/schema/simplePrint.test.js b/packages/postgraphile-core/__tests__/integration/schema/simplePrint.test.js index ad6b4090f5..21196ff8ef 100644 --- a/packages/postgraphile-core/__tests__/integration/schema/simplePrint.test.js +++ b/packages/postgraphile-core/__tests__/integration/schema/simplePrint.test.js @@ -2,7 +2,7 @@ const { withPgClient } = require("../../helpers"); const { createPostGraphileSchema } = require("../../.."); test("Simple schema print (no ordering)", () => - withPgClient(async client => { + withPgClient(async (client) => { const schema = await createPostGraphileSchema(client, ["a", "b", "c"], { subscriptions: true, }); diff --git a/packages/postgraphile-core/__tests__/integration/schema/smart_comment_relations.test.js b/packages/postgraphile-core/__tests__/integration/schema/smart_comment_relations.test.js index 84e11de3b6..c046bc4835 100644 --- a/packages/postgraphile-core/__tests__/integration/schema/smart_comment_relations.test.js +++ b/packages/postgraphile-core/__tests__/integration/schema/smart_comment_relations.test.js @@ -1,7 +1,7 @@ const core = require("./core"); // WARNING: this function is not guaranteed to be SQL injection safe. -const offerViewComment = comment => pgClient => +const offerViewComment = (comment) => (pgClient) => pgClient.query( `comment on view smart_comment_relations.offer_view is E'${comment.replace( /'/g, @@ -29,7 +29,7 @@ test("referencing non-existent table (throws error)", async () => { } expect(error).toBeTruthy(); expect(error).toMatchInlineSnapshot( - `[Error: @foreignKey smart comment referenced non-existant table/view 'smart_comment_relations'.'posts'. Note that this reference must use *database names* (i.e. it does not respect @name). ((post_id) references posts)]`, + `[Error: @foreignKey smart comment referenced non-existent table/view 'smart_comment_relations'.'posts'. Note that this reference must use *database names* (i.e. it does not respect @name). ((post_id) references posts)]`, ); }); @@ -41,18 +41,18 @@ test( offerViewComment(`@name offers @primaryKey id @foreignKey (post_id) references post`), - schema => { + (schema) => { const Offer = schema.getType("Offer"); const fields = Offer.getFields(); expect(fields.nodeId).toBeTruthy(); expect(fields.postsByPostId).toBeFalsy(); expect(Object.keys(fields)).toMatchInlineSnapshot(` -Array [ - "nodeId", - "id", - "postId", -] -`); + Array [ + "nodeId", + "id", + "postId", + ] + `); }, ), ); @@ -66,7 +66,7 @@ test( @primaryKey id @foreignKey (post_id) references post_view`, ), - schema => { + (schema) => { const Offer = schema.getType("Offer"); const fields = Offer.getFields(); expect(fields.nodeId).toBeTruthy(); @@ -80,7 +80,7 @@ test( core.test( ["smart_comment_relations"], {}, - pgClient => + (pgClient) => pgClient.query( ` comment on view smart_comment_relations.post_view is E'@name posts @@ -90,7 +90,7 @@ comment on view smart_comment_relations.offer_view is E'@name offers @primaryKey id @foreignKey (post_id) references post_view(id)';`, ), - schema => { + (schema) => { const Offer = schema.getType("Offer"); const fields = Offer.getFields(); expect(fields.nodeId).toBeTruthy(); diff --git a/packages/postgraphile-core/__tests__/kitchen-sink-data.sql b/packages/postgraphile-core/__tests__/kitchen-sink-data.sql index 7a3187aa72..09c794df6c 100644 --- a/packages/postgraphile-core/__tests__/kitchen-sink-data.sql +++ b/packages/postgraphile-core/__tests__/kitchen-sink-data.sql @@ -1,3 +1,5 @@ +alter sequence inheritence.file_id_seq restart with 1; +alter sequence c.issue756_id_seq restart with 1; insert into a.no_primary_key (id, str) values (1, 'one'), (2, 'two'), @@ -132,6 +134,7 @@ insert into b.types values ( '192.168.0.0/24', 'feed.dead.beef' ); +alter sequence b.types_id_seq restart with 13; insert into c.edge_case values (default, 20, 1), diff --git a/packages/postgraphile-core/__tests__/kitchen-sink-schema.sql b/packages/postgraphile-core/__tests__/kitchen-sink-schema.sql index 04dfc3159c..cd4660b7ee 100644 --- a/packages/postgraphile-core/__tests__/kitchen-sink-schema.sql +++ b/packages/postgraphile-core/__tests__/kitchen-sink-schema.sql @@ -53,7 +53,7 @@ if current_setting('server_version_num')::int >= 90500 then -- JSONB supported -- current_setting(x, true) supported create function c.current_user_id() returns int as $$ - select nullif(current_setting('jwt.claims.user_id', true), '')::int; + select nullif(current_setting('jwt.claims.user_id'::text, true), '')::int; $$ language sql stable; else execute 'alter database ' || quote_ident(current_database()) || ' set jwt.claims.user_id to '''''; diff --git a/packages/postgraphile-core/__tests__/pg10-data.sql b/packages/postgraphile-core/__tests__/pg10-data.sql index d61a00bafa..02ac241bb6 100644 --- a/packages/postgraphile-core/__tests__/pg10-data.sql +++ b/packages/postgraphile-core/__tests__/pg10-data.sql @@ -9,3 +9,5 @@ insert into pg10.network values (8, '::ffff:1.2.3.0/128', '::ffff:1.2.3.0/128', 'AABBCCDDEEFF', '08002b0102030405'); alter sequence pg10.network_id_seq restart with 9; +alter table pg10.always_as_identity alter column id restart with 1; +alter table pg10.by_default_as_identity alter column id restart with 1; diff --git a/packages/postgraphile-core/__tests__/unit/read-cache.test.js b/packages/postgraphile-core/__tests__/unit/read-cache.test.js index 5d080e2719..020e61b85b 100644 --- a/packages/postgraphile-core/__tests__/unit/read-cache.test.js +++ b/packages/postgraphile-core/__tests__/unit/read-cache.test.js @@ -1,4 +1,5 @@ jest.mock("graphile-build"); +jest.setTimeout(20000); const mockFs = require("mock-fs"); const fs = require("fs"); @@ -8,6 +9,7 @@ const { getPostGraphileBuilder } = require("../.."); beforeEach(() => { // required for mocks assertions jest.resetAllMocks(); + mockFs.restore(); }); afterEach(() => { diff --git a/packages/postgraphile-core/jest.config.js b/packages/postgraphile-core/jest.config.js new file mode 100644 index 0000000000..cf8e7e8f9a --- /dev/null +++ b/packages/postgraphile-core/jest.config.js @@ -0,0 +1 @@ +module.exports = require("../../jest.config.base")(__dirname); diff --git a/packages/postgraphile-core/package.json b/packages/postgraphile-core/package.json index a5faa26f17..9c032fafe3 100644 --- a/packages/postgraphile-core/package.json +++ b/packages/postgraphile-core/package.json @@ -17,19 +17,30 @@ "url": "https://github.com/graphile/graphile-build/issues" }, "dependencies": { + "@types/jsonwebtoken": "^8.5.0", "graphile-build": "4.7.0", - "graphile-build-pg": "4.7.0" + "graphile-build-pg": "4.7.0", + "graphql-parse-resolve-info": "4.7.0", + "tslib": "^2.0.0" }, "devDependencies": { - "@types/node": "^12.0.0", - "@types/pg": "^7.4.14", - "debug": "^4.1.1", + "@graphile/subscriptions-lds": "4.7.0", + "@types/jest": "^25.2.3", + "@types/node": "^14.0.1", + "@types/pg": "^7.14.3", + "debug": "^4.2.0", + "graphile-utils": "4.7.0", + "graphql": "^14.6.0", + "jest": "^26.0.1", "jsonwebtoken": "^8.5.1", - "mock-fs": "^4.11.0", - "pg-connection-string": "^2.1.0" + "mock-fs": "^4.12.0", + "pg": "^8.2.1", + "pg-connection-string": "^2.2.3", + "ts-node": "^8.10.1", + "typescript": "^3.9.2" }, "peerDependencies": { - "graphql": ">=0.9 <0.14 || ^14.0.2", + "graphql": "^14.6.0", "pg": ">=6.1.0 <9" }, "files": [ diff --git a/packages/postgraphile-core/src/index.ts b/packages/postgraphile-core/src/index.ts index a5d274b987..21076d45c7 100644 --- a/packages/postgraphile-core/src/index.ts +++ b/packages/postgraphile-core/src/index.ts @@ -1,41 +1,21 @@ import * as fs from "fs"; -import { - defaultPlugins, - getBuilder, - Plugin, - GraphileBuildOptions, - SchemaListener, - Build, - Context, - SchemaBuilder, - Inflection, - GraphileResolverContext, -} from "graphile-build"; +import { defaultPlugins, getBuilder, SchemaBuilder } from "graphile-build"; import { defaultPlugins as pgDefaultPlugins, - Inflector, PgAttribute, formatSQLForDebugging, } from "graphile-build-pg"; import { Pool, PoolClient } from "pg"; import { SignOptions, Secret } from "jsonwebtoken"; -export { - Plugin, - Build, - Context, - SchemaBuilder, - SchemaListener, - Inflection, - GraphileBuildOptions, - GraphileBuildOptions as Options, - formatSQLForDebugging, - GraphileResolverContext, -}; +export { SchemaBuilder, formatSQLForDebugging }; export type mixed = {} | string | number | boolean | undefined | null; -const ensureValidPlugins = (name: string, arr: Array) => { +const ensureValidPlugins = ( + name: string, + arr: Array, +) => { if (!Array.isArray(arr)) { throw new Error(`Option '${name}' should be an array`); } @@ -51,69 +31,69 @@ const ensureValidPlugins = (name: string, arr: Array) => { } }; -export interface PostGraphileCoreOptions { - dynamicJson?: boolean; - classicIds?: boolean; - disableDefaultMutations?: boolean; - nodeIdFieldName?: string; - /** - * Additional Options to pass through into the graphile schema building - * system (received via the second argument of a plugin). - */ - graphileBuildOptions?: Partial; - /** - * @deprecated Use graphileBuildOptions instead - */ - graphqlBuildOptions?: Partial; - replaceAllPlugins?: Array; - appendPlugins?: Array; - /** - * @deprecated Use `appendPlugins` with dependencies instead. - */ - prependPlugins?: Array; - skipPlugins?: Array; - jwtPgTypeIdentifier?: string; - jwtSecret?: Secret; - jwtSignOptions?: SignOptions; - /** - * @deprecated UNSUPPORTED! Use an inflector plugin instead. - */ - inflector?: Inflector; - /** - * @deprecated Use smart comments/tags instead - */ - pgColumnFilter?: ( - attr: mixed, - build: Build, - context: TContext, - ) => boolean; +declare global { + namespace GraphileEngine { + export interface PostGraphileCoreOptions { + dynamicJson?: boolean; + classicIds?: boolean; + disableDefaultMutations?: boolean; + nodeIdFieldName?: string; + /** + * Additional Options to pass through into the graphile schema building + * system (received via the second argument of a plugin). + */ + graphileBuildOptions?: Partial; + /** + * @deprecated Use graphileBuildOptions instead + */ + graphqlBuildOptions?: Partial; + replaceAllPlugins?: Array; + appendPlugins?: Array; + /** + * @deprecated Use `appendPlugins` with dependencies instead. + */ + prependPlugins?: Array; + skipPlugins?: Array; + jwtPgTypeIdentifier?: string; + jwtSecret?: Secret; + jwtSignOptions?: SignOptions; + /** + * @deprecated Use smart comments/tags instead + */ + pgColumnFilter?: ( + attr: mixed, + build: GraphileEngine.Build, + context: TContext, + ) => boolean; - /** - * @deprecated Use '\@primaryKey' smart comment instead - */ - viewUniqueKey?: string; - enableTags?: boolean; - readCache?: string | object; - writeCache?: string; - setWriteCacheCallback?: (fn: () => Promise) => void; - legacyRelations?: "only" | "deprecated" | "omit"; - setofFunctionsContainNulls?: boolean; - legacyJsonUuid?: boolean; - simpleCollections?: "only" | "both" | "omit"; - includeExtensionResources?: boolean; - ignoreRBAC?: boolean; - legacyFunctionsOnly?: boolean; - ignoreIndexes?: boolean; - hideIndexWarnings?: boolean; - subscriptions?: boolean; - live?: boolean; - ownerConnectionString?: string; + /** + * @deprecated Use '\@primaryKey' smart comment instead + */ + viewUniqueKey?: string; + enableTags?: boolean; + readCache?: string | object; + writeCache?: string; + setWriteCacheCallback?: (fn: () => Promise) => void; + legacyRelations?: "only" | "deprecated" | "omit"; + setofFunctionsContainNulls?: boolean; + legacyJsonUuid?: boolean; + simpleCollections?: "only" | "both" | "omit"; + includeExtensionResources?: boolean; + ignoreRBAC?: boolean; + legacyFunctionsOnly?: boolean; + ignoreIndexes?: boolean; + hideIndexWarnings?: boolean; + subscriptions?: boolean; + live?: boolean; + ownerConnectionString?: string; + } + } } type PgConfig = Pool | PoolClient | string; -export const PostGraphileInflectionPlugin = function(builder: SchemaBuilder) { - builder.hook("inflection", (inflection: Inflection) => { +export const PostGraphileInflectionPlugin = function (builder: SchemaBuilder) { + builder.hook("inflection", (inflection: GraphileEngine.Inflection) => { const previous = inflection.enumName; // Overwrite directly so that we don't lose the 'extend' hints Object.assign(inflection, { @@ -123,12 +103,12 @@ export const PostGraphileInflectionPlugin = function(builder: SchemaBuilder) { }); return inflection; }); -} as Plugin; +} as GraphileEngine.Plugin; -export const PostGraphileClassicIdsInflectionPlugin = function( +export const PostGraphileClassicIdsInflectionPlugin = function ( builder: SchemaBuilder, ) { - builder.hook("inflection", (inflection: Inflection) => { + builder.hook("inflection", (inflection: GraphileEngine.Inflection) => { const previous = inflection._columnName; // Overwrite directly so that we don't lose the 'extend' hints Object.assign(inflection, { @@ -141,7 +121,7 @@ export const PostGraphileClassicIdsInflectionPlugin = function( }); return inflection; }); -} as Plugin; +} as GraphileEngine.Plugin; const awaitKeys = async (obj: { [key: string]: Promise }) => { const result = {}; @@ -156,7 +136,7 @@ const awaitKeys = async (obj: { [key: string]: Promise }) => { export const getPostGraphileBuilder = async ( pgConfig: PgConfig, schemas: string | Array, - options: PostGraphileCoreOptions = {}, + options: GraphileEngine.PostGraphileCoreOptions = {}, ) => { // @ts-ignore if (options.inflector) { @@ -178,7 +158,6 @@ export const getPostGraphileBuilder = async ( disableDefaultMutations, graphileBuildOptions, graphqlBuildOptions, // DEPRECATED! - inflector, // NO LONGER SUPPORTED! pgColumnFilter, viewUniqueKey, enableTags = true, @@ -287,9 +266,9 @@ export const getPostGraphileBuilder = async ( if (writeCache && setWriteCacheCallback) { setWriteCacheCallback(() => awaitKeys(memoizeCache).then( - obj => + (obj) => new Promise((resolve, reject) => { - fs.writeFile(writeCache, JSON.stringify(obj), err => { + fs.writeFile(writeCache, JSON.stringify(obj), (err) => { memoizeCache = {}; if (err) { reject(err); @@ -309,11 +288,6 @@ export const getPostGraphileBuilder = async ( ensureValidPlugins("prependPlugins", prependPlugins); ensureValidPlugins("appendPlugins", appendPlugins); ensureValidPlugins("skipPlugins", skipPlugins); - if (inflector) { - throw new Error( - "Custom inflector arguments are not supported, please use the inflector plugin API instead: https://www.graphile.org/postgraphile/inflection/", - ); - } const inflectionOverridePlugins = classicIds ? [PostGraphileInflectionPlugin, PostGraphileClassicIdsInflectionPlugin] : [PostGraphileInflectionPlugin]; @@ -332,20 +306,21 @@ export const getPostGraphileBuilder = async ( ...appendPlugins, ]; const invalidSkipPlugins = skipPlugins.filter( - pluginToSkip => basePluginList.indexOf(pluginToSkip) < 0, + (pluginToSkip) => basePluginList.indexOf(pluginToSkip) < 0, ); if (invalidSkipPlugins.length) { - function getFunctionName(fn: Plugin) { + function getFunctionName(fn: GraphileEngine.Plugin) { return fn.displayName || fn.name || String(fn); } throw new Error( - `You tried to skip plugins that would never have been loaded anyway. Perhaps you've made a mistake in your skipPlugins list, or have sourced the plugin from a duplicate plugin module - check for duplicate modules in your 'node_modules' folder. The plugins that you requested to skip were: ${invalidSkipPlugins - .map(getFunctionName) - .join(", ")}`, + `You tried to skip plugins that would never have been loaded anyway. Perhaps you've made a mistake in your skipPlugins list, or have sourced the plugin from a duplicate plugin module - check for duplicate modules in your 'node_` + + /* calm yarn doctor */ `modules' folder. The plugins that you requested to skip were: ${invalidSkipPlugins + .map(getFunctionName) + .join(", ")}`, ); } const finalPluginList = basePluginList.filter( - p => skipPlugins.indexOf(p) === -1, + (p) => skipPlugins.indexOf(p) === -1, ); return getBuilder(finalPluginList, { pgConfig, @@ -398,7 +373,7 @@ function abort(e: Error) { export const createPostGraphileSchema = async ( pgConfig: PgConfig, schemas: Array | string, - options: PostGraphileCoreOptions = {}, + options: GraphileEngine.PostGraphileCoreOptions = {}, ) => { let writeCache: undefined | (() => Promise); const builder = await getPostGraphileBuilder(pgConfig, schemas, { @@ -420,8 +395,8 @@ export const createPostGraphileSchema = async ( export const watchPostGraphileSchema = async ( pgConfig: PgConfig, schemas: Array | string, - options: PostGraphileCoreOptions = {}, - onNewSchema: SchemaListener, + options: GraphileEngine.PostGraphileCoreOptions = {}, + onNewSchema: GraphileEngine.SchemaListener, ) => { if (typeof onNewSchema !== "function") { throw new Error( diff --git a/packages/postgraphile/.npmignore b/packages/postgraphile/.npmignore index a4726b47e9..f56569213b 100644 --- a/packages/postgraphile/.npmignore +++ b/packages/postgraphile/.npmignore @@ -15,3 +15,4 @@ scripts examples docs resources/jest-* +*-test.js diff --git a/packages/postgraphile/CONTRIBUTING.md b/packages/postgraphile/CONTRIBUTING.md index 81b3b84f41..ab4c56549c 100644 --- a/packages/postgraphile/CONTRIBUTING.md +++ b/packages/postgraphile/CONTRIBUTING.md @@ -74,8 +74,6 @@ cd graphile-engine # Install deps: yarn -# Monorepo stuff: -yarn lerna bootstrap # Run initial build: yarn prepack:all diff --git a/packages/postgraphile/jest.config.js b/packages/postgraphile/jest.config.js new file mode 100644 index 0000000000..66243ce9b5 --- /dev/null +++ b/packages/postgraphile/jest.config.js @@ -0,0 +1,5 @@ +module.exports = { + ...require("../../jest.config.base")(__dirname), + testMatch: ["/**/__tests__/*-test.[jt]s"], + roots: ["/src"], +}; diff --git a/packages/postgraphile/package.json b/packages/postgraphile/package.json index 689cfa5fd0..9920755c82 100644 --- a/packages/postgraphile/package.json +++ b/packages/postgraphile/package.json @@ -29,16 +29,15 @@ "repository": "github:graphile/postgraphile", "main": "dist/index.js", "types": "dist/index.d.ts", - "bin": { - "postgraphile": "dist/postgraphile/cli.js" - }, + "bin": "dist/postgraphile/cli.js", "scripts": { - "prebuild": "rm -rf build && mkdir build && scripts/make-assets", + "prebuild": "rm -rf build && mkdir build && scripts/make-assets.js", "build": "tsc -b", "dev": "./scripts/dev", "lint": "eslint --ext .ts,.js .", "lint:fix": "yarn run lint --fix", - "make-assets": "./scripts/make-assets", + "test": "jest -i", + "make-assets": "./scripts/make-assets.js", "prepack": "yarn build", "preprepack": "yarn prebuild", "changelog": "(cat scripts/CHANGELOG_HEADER.md; npx conventional-changelog -p angular --release-count 0) > CHANGELOG.md", @@ -46,69 +45,78 @@ }, "dependencies": { "@graphile/lru": "4.6.0-alpha.0", + "@types/body-parser": "^1.19.0", "@types/json5": "^0.0.30", - "@types/jsonwebtoken": "^8.3.2", - "@types/koa": "^2.0.44", - "@types/pg": "^7.4.10", - "@types/ws": "^6.0.1", - "body-parser": "^1.15.2", - "chalk": "^2.4.2", + "@types/jsonwebtoken": "^8.5.0", + "@types/koa": "^2.11.3", + "@types/pg": "^7.14.3", + "@types/ws": "^7.2.4", + "body-parser": "^1.19.0", + "chalk": "^4.0.0", "commander": "^5.1.0", - "debug": "^4.1.1", - "finalhandler": "^1.0.6", + "debug": "^4.2.0", + "finalhandler": "^1.1.2", + "graphile-build": "4.7.0", + "graphile-build-pg": "4.7.0", "graphile-utils": "^4.7.0", - "graphql": "^0.6.0 || ^0.7.0 || ^0.8.0-b || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.2", - "http-errors": "^1.5.1", - "iterall": "^1.0.2", - "json5": "^2.1.1", - "jsonwebtoken": "^8.0.0", - "parseurl": "^1.3.2", - "pg": ">=6.1.0 <9", - "pg-connection-string": "^2.0.0", + "graphql": "^14.6.0", + "graphql-parse-resolve-info": "4.7.0", + "http-errors": "^1.7.3", + "iterall": "^1.3.0", + "json5": "^2.1.3", + "jsonwebtoken": "^8.5.1", + "parseurl": "^1.3.3", + "pg": "^8.2.1", + "pg-connection-string": "^2.2.3", "pg-sql2": "4.7.0", "postgraphile-core": "4.7.0", - "subscriptions-transport-ws": "^0.9.15", - "tslib": "^1.5.0", - "ws": "^6.1.3" + "subscriptions-transport-ws": "^0.9.16", + "tslib": "^2.0.0", + "ws": "^7.3.0" }, "devDependencies": { - "@babel/core": "^7.4.3", - "@babel/plugin-proposal-class-properties": "^7.4.0", - "@babel/plugin-transform-runtime": "^7.4.3", - "@babel/preset-env": "^7.4.3", - "@babel/preset-react": "^7.0.0", - "@babel/runtime": "^7.4.3", + "@babel/core": "^7.9.6", + "@babel/plugin-proposal-class-properties": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.9.6", + "@babel/preset-env": "^7.9.6", + "@babel/preset-react": "^7.9.4", + "@babel/runtime": "^7.9.6", "@types/chalk": "^2.2.0", "@types/commander": "^2.12.2", - "@types/debug": "^4.1.4", + "@types/debug": "^4.1.5", "@types/finalhandler": "^1.1.0", - "@types/http-errors": "^1.6.1", - "@types/jest": "^24.0.11", - "@types/node": "^10.9.4", + "@types/http-errors": "^1.6.3", + "@types/jest": "^25.2.3", + "@types/node": "^14.0.1", "@types/parseurl": "^1.3.1", - "@types/superagent": "^4.1.4", - "@typescript-eslint/eslint-plugin": "^2.3.0", - "@typescript-eslint/parser": "^2.3.0", - "babel-loader": "^8.0.6", - "connect": "^3.5.0", - "conventional-changelog-cli": "^2.0.27", - "css-loader": "2.1.1", - "express": "^4.14.0", - "fastify": "^2.2.0", - "html-webpack-inline-source-plugin": "^0.0.10", - "html-webpack-plugin": "^3.2.0", - "koa": "^2.5.1", - "koa-compress": "^3.0.0", + "@types/superagent": "^4.1.7", + "@typescript-eslint/eslint-plugin": "^2.34.0", + "@typescript-eslint/parser": "^2.34.0", + "babel-loader": "^8.1.0", + "connect": "^3.7.0", + "conventional-changelog-cli": "^2.0.34", + "css-loader": "3.5.3", + "eslint": "^6.8.0", + "express": "^4.17.1", + "fastify": "^2.14.1", + "html-webpack-inline-source-plugin": "^1.0.0-beta.2", + "html-webpack-plugin": "^4.3.0", + "jest": "^26.0.1", + "koa": "^2.12.0", + "koa-compress": "^4.0.1", "koa-mount": "^4.0.0", - "mock-fs": "^4.11.0", - "nodemon": "^1.11.0", - "pg-minify": "~1.0.0", + "mock-fs": "^4.12.0", + "nodemon": "^2.0.4", + "pg-minify": "~1.6.0", + "pnp-webpack-plugin": "^1.6.4", "postgraphiql": "1.0.0", - "prettier": "^1.19.1", - "source-map-support": "^0.5.12", - "style-loader": "^0.23.0", - "superagent": "^4.1.0", - "webpack": "^4.41.5" + "prettier": "^2.0.5", + "source-map-support": "^0.5.19", + "style-loader": "^1.2.1", + "superagent": "^5.2.2", + "ts-node": "^8.10.1", + "typescript": "^3.9.2", + "webpack": "^4.43.0" }, "files": [ "sponsors.json", diff --git a/packages/postgraphile/scripts/make-assets b/packages/postgraphile/scripts/make-assets.js similarity index 77% rename from packages/postgraphile/scripts/make-assets rename to packages/postgraphile/scripts/make-assets.js index ddd04d24a0..3038c89f37 100755 --- a/packages/postgraphile/scripts/make-assets +++ b/packages/postgraphile/scripts/make-assets.js @@ -1,9 +1,9 @@ #!/usr/bin/env node const fs = require("fs"); -const { execSync } = require("child_process"); const webpack = require("webpack"); const HtmlWebpackPlugin = require("html-webpack-plugin"); const HtmlWebpackInlineSourcePlugin = require("html-webpack-inline-source-plugin"); +const PnpWebpackPlugin = require("pnp-webpack-plugin"); const ASSETS_SOURCE_DIR = `${__dirname}/../assets/`; const ASSETS_DEST_DIR = `${__dirname}/../src/assets/`; @@ -47,6 +47,15 @@ async function main() { // Webpack up everything webpack( { + /* yarn pnp; remove when we've upgraded to Webpack 5 */ + resolve: { + plugins: [PnpWebpackPlugin], + }, + resolveLoader: { + plugins: [PnpWebpackPlugin.moduleLoader(module)], + }, + /* end: yarn pnp */ + mode: "production", target: "web", entry: `${__dirname}/../../postgraphiql/src/index.js`, @@ -67,19 +76,25 @@ async function main() { test: /\.jsx?$/, exclude: /node_modules/, use: { - loader: "babel-loader", + loader: require.resolve("babel-loader"), options: { - presets: ["@babel/preset-env", "@babel/preset-react"], + presets: [ + require.resolve("@babel/preset-env"), + require.resolve("@babel/preset-react"), + ], plugins: [ - "@babel/plugin-proposal-class-properties", - "@babel/plugin-transform-runtime", + require.resolve("@babel/plugin-proposal-class-properties"), + require.resolve("@babel/plugin-transform-runtime"), ], }, }, }, { test: /\.css$/, - use: [{ loader: "style-loader" }, { loader: "css-loader" }], + use: [ + { loader: require.resolve("style-loader") }, + { loader: require.resolve("css-loader") }, + ], }, ], }, @@ -102,16 +117,19 @@ async function main() { inlineSource: ".(js|css)$", // embed all javascript and css inline inject: "body", }), - new HtmlWebpackInlineSourcePlugin(), + new HtmlWebpackInlineSourcePlugin(HtmlWebpackPlugin), ], }, (err, stats) => { if (err) { console.error(err); + reject(err); process.exit(1); } if (stats.hasErrors()) { - console.log(stats.toString("minimal")); + const message = stats.toString("minimal"); + console.log(message); + reject(new Error(message)); process.exit(2); } // We only want the HTML file @@ -122,14 +140,14 @@ async function main() { ); }); - const shouldBeBinary = filename => !filename.match(/\.html$/); + const shouldBeBinary = (filename) => !filename.match(/\.html$/); console.log("... Compiling the assets"); // Step 2: compile the assets const files = fs.readdirSync(ASSETS_SOURCE_DIR); files - .filter(f => f[0] !== ".") - .map(filename => { + .filter((f) => f[0] !== ".") + .map((filename) => { const fileContent = fs.readFileSync(`${ASSETS_SOURCE_DIR}/${filename}`); let output; if (shouldBeBinary(filename)) { @@ -148,7 +166,7 @@ async function main() { main().then( () => {}, - err => { + (err) => { console.error("An error occurred"); console.error(err); process.exit(3); diff --git a/packages/postgraphile/src/__tests__/utils/createTestInParallel.ts b/packages/postgraphile/src/__tests__/utils/createTestInParallel.ts index b1163e0430..1428ef852d 100644 --- a/packages/postgraphile/src/__tests__/utils/createTestInParallel.ts +++ b/packages/postgraphile/src/__tests__/utils/createTestInParallel.ts @@ -25,7 +25,7 @@ export default function createTestInParallel(): ( test(name, async () => { // If the tests have not yet been run then run all of our tests. if (!testResults) { - testResults = testFns.map(testFn => Promise.resolve(testFn())); + testResults = testFns.map((testFn) => Promise.resolve(testFn())); } // Await the result. await testResults[index]; diff --git a/packages/postgraphile/src/__tests__/utils/kitchenSinkSchemaSql.ts b/packages/postgraphile/src/__tests__/utils/kitchenSinkSchemaSql.ts index cb427006ae..16276323ce 100644 --- a/packages/postgraphile/src/__tests__/utils/kitchenSinkSchemaSql.ts +++ b/packages/postgraphile/src/__tests__/utils/kitchenSinkSchemaSql.ts @@ -1,5 +1,5 @@ import { readFile } from "fs"; -import * as minify from "pg-minify"; +import minify from "pg-minify"; const kitchenSinkSchemaSql = new Promise((resolve, reject) => { readFile("examples/kitchen-sink/schema.sql", (error, data) => { diff --git a/packages/postgraphile/src/__tests__/utils/pgPool.ts b/packages/postgraphile/src/__tests__/utils/pgPool.ts index 54751d4630..f9035e91c5 100644 --- a/packages/postgraphile/src/__tests__/utils/pgPool.ts +++ b/packages/postgraphile/src/__tests__/utils/pgPool.ts @@ -7,6 +7,6 @@ const pgPool = new Pool({ ...parsePgConnectionString(pgUrl), max: 15, idleTimeoutMillis: 500, -}); +} as any); export default pgPool; diff --git a/packages/postgraphile/src/__tests__/utils/printSchemaOrdered.js b/packages/postgraphile/src/__tests__/utils/printSchemaOrdered.js index 0d3dea6466..9f5eb8974a 100644 --- a/packages/postgraphile/src/__tests__/utils/printSchemaOrdered.js +++ b/packages/postgraphile/src/__tests__/utils/printSchemaOrdered.js @@ -6,14 +6,14 @@ export default function printSchemaOrdered(originalSchema) { const schema = buildASTSchema(parse(printSchema(originalSchema))); const typeMap = schema.getTypeMap(); - Object.keys(typeMap).forEach(name => { + Object.keys(typeMap).forEach((name) => { const gqlType = typeMap[name]; // Object? if (gqlType.getFields) { const fields = gqlType.getFields(); const keys = Object.keys(fields).sort(); - keys.forEach(key => { + keys.forEach((key) => { const value = fields[key]; // Move the key to the end of the object diff --git a/packages/postgraphile/src/index.ts b/packages/postgraphile/src/index.ts index c99eb48aa5..f07b7e74c8 100644 --- a/packages/postgraphile/src/index.ts +++ b/packages/postgraphile/src/index.ts @@ -3,7 +3,6 @@ export * from "graphile-utils"; export { mixed, Middleware, - PostGraphileOptions, CreateRequestHandlerOptions, GraphQLFormattedErrorExtended, GraphQLErrorExtended, @@ -12,16 +11,9 @@ export { } from "./interfaces"; export { - Plugin, - Build, - Context, SchemaBuilder, - SchemaListener, - Inflection, - Options, PostGraphileInflectionPlugin, PostGraphileClassicIdsInflectionPlugin, - GraphileResolverContext, } from "postgraphile-core"; export { diff --git a/packages/postgraphile/src/interfaces.ts b/packages/postgraphile/src/interfaces.ts index b5525a0a99..7495d39c93 100644 --- a/packages/postgraphile/src/interfaces.ts +++ b/packages/postgraphile/src/interfaces.ts @@ -8,21 +8,273 @@ import { import { IncomingMessage, ServerResponse } from "http"; import { PluginHookFn } from "./postgraphile/pluginHook"; import { Pool, PoolClient } from "pg"; -import { Plugin, PostGraphileCoreOptions } from "postgraphile-core"; import jwt from "jsonwebtoken"; import { EventEmitter } from "events"; -import { GraphileResolverContext } from "postgraphile-core"; export interface GraphileClaims { [claimName: string]: undefined | null | string | number | boolean; } -declare module "postgraphile-core" { - interface GraphileResolverContext { - pgClient: PoolClient; - pgRole?: string; - jwtClaims?: GraphileClaims | null; - getExplainResults?: () => any; +declare global { + namespace GraphileEngine { + interface GraphileResolverContext { + pgClient: PoolClient; + pgRole?: string; + jwtClaims?: GraphileClaims | null; + getExplainResults?: () => any; + } + + // Please note that the comments for this type are turned into documentation + // automatically. We try and specify the options in the same order as the CLI. + // Anything tagged `@middlewareOnly` will not appear in the schema-only docs. + // Only comments written beginning with `//` will be put in the docs. + interface PostGraphileOptions< + Request extends IncomingMessage = IncomingMessage, + Response extends ServerResponse = ServerResponse + > extends PostGraphileCoreOptions { + // When true, PostGraphile will update the GraphQL API whenever your database + // schema changes. This feature requires some changes to your database in the + // form of the + // [`postgraphile_watch`](https://github.com/graphile/graphile-engine/blob/master/packages/graphile-build-pg/res/watch-fixtures.sql) + // schema; PostGraphile will try to add this itself but requires DB superuser + // privileges to do so. If PostGraphile can't install it, you can do so + // manually. PostGraphile will not drop the schema when it exits, to remove + // it you can execute: + // + // `DROP SCHEMA postgraphile_watch CASCADE;` + /* @middlewareOnly */ + watchPg?: boolean; + // When false (default), PostGraphile will exit if it fails to build the + // initial schema (for example if it cannot connect to the database, or if + // there are fatal naming conflicts in the schema). When true, PostGraphile + // will keep trying to rebuild the schema indefinitely, using an exponential + // back-off between attempts, starting at 100ms and increasing up to 30s delay + // between retries. + /* @middlewareOnly */ + retryOnInitFail?: boolean; + // Connection string to use to connect to the database as a privileged user (e.g. for setting up watch fixtures, logical decoding, etc). + ownerConnectionString?: string; + // Enable GraphQL websocket transport support for subscriptions (you still need a subscriptions plugin currently) + subscriptions?: boolean; + // [EXPERIMENTAL] Enables live-query support via GraphQL subscriptions (sends updated payload any time nested collections/records change) + live?: boolean; + // [EXPERIMENTAL] If you're using websockets (subscriptions || live) then you + // may want to authenticate your users using sessions or similar. You can + // pass some simple middlewares here that will be executed against the + // websocket connection in order to perform authentication. We current only + // support express (not Koa) middlewares here. + /* @middlewareOnly */ + websocketMiddlewares?: Array>; + // The default Postgres role to use. If no role was provided in a provided + // JWT token, this role will be used. + pgDefaultRole?: string; + // By default, JSON and JSONB fields are presented as strings (JSON encoded) + // from the GraphQL schema. Setting this to `true` (recommended) enables raw + // JSON input and output, saving the need to parse / stringify JSON manually. + dynamicJson?: boolean; + // If none of your `RETURNS SETOF compound_type` functions mix NULLs with the + // results then you may set this false to reduce the nullables in the GraphQL + // schema. + setofFunctionsContainNulls?: boolean; + // Enables classic ids for Relay support. Instead of using the field name + // `nodeId` for globally unique ids, PostGraphile will instead use the field + // name `id` for its globally unique ids. This means that table `id` columns + // will also get renamed to `rowId`. + classicIds?: boolean; + // Setting this to `true` will prevent the creation of the default mutation + // types & fields. Database mutation will only be possible through Postgres + // functions. + disableDefaultMutations?: boolean; + // Set false (recommended) to exclude fields, queries and mutations that are + // not available to any possible user (determined from the user in connection + // string and any role they can become); set this option true to skip these + // checks and create GraphQL fields and types for everything. + // The default is `true`, in v5 the default will change to `false`. + ignoreRBAC?: boolean; + // Set false (recommended) to exclude filters, orderBy, and relations that + // would be expensive to access due to missing indexes. Changing this from + // true to false is a breaking change, but false to true is not, so we + // recommend you start with it set to `false`. + // The default is `true`, in v5 the default may change to `false`. + ignoreIndexes?: boolean; + // By default, tables and functions that come from extensions are excluded + // from the generated GraphQL schema as general applications don't need them + // to be exposed to the end user. You can use this flag to include them in + // the generated schema (not recommended). + includeExtensionResources?: boolean; + // Enables adding a `stack` field to the error response. Can be either the + // boolean `true` (which results in a single stack string) or the string + // `json` (which causes the stack to become an array with elements for each + // line of the stack). Recommended in development, not recommended in + // production. + /* @middlewareOnly */ + showErrorStack?: boolean | "json"; + // Extends the error response with additional details from the Postgres + // error. Can be any combination of `['hint', 'detail', 'errcode']`. + // Default is `[]`. + /* @middlewareOnly */ + extendedErrors?: Array; + // Enables ability to modify errors before sending them down to the client. + // Optionally can send down custom responses. If you use this then + // `showErrorStack` and `extendedError` may have no + // effect. + /* @middlewareOnly */ + handleErrors?: ( + errors: ReadonlyArray, + req: Request, + res: Response, + ) => Array; + // An array of [Graphile Engine](/graphile-build/plugins/) schema plugins to load + // after the default plugins. + appendPlugins?: Array; + // An array of [Graphile Engine](/graphile-build/plugins/) schema plugins to load + // before the default plugins (you probably don't want this). + prependPlugins?: Array; + // The full array of [Graphile Engine](/graphile-build/plugins/) schema plugins to + // use for schema generation (you almost definitely don't want this!). + replaceAllPlugins?: Array; + // An array of [Graphile Engine](/graphile-build/plugins/) schema plugins to skip. + skipPlugins?: Array; + // A file path string. Reads cached values from local cache file to improve + // startup time (you may want to do this in production). + readCache?: string; + // A file path string. Writes computed values to local cache file so startup + // can be faster (do this during the build phase). + writeCache?: string; + // Enables saving the detected schema, in JSON format, to the given location. + // The directories must exist already, if the file exists it will be + // overwritten. + /* @middlewareOnly */ + exportJsonSchemaPath?: string; + // Enables saving the detected schema, in GraphQL schema format, to the given + // location. The directories must exist already, if the file exists it will + // be overwritten. + /* @middlewareOnly */ + exportGqlSchemaPath?: string; + // If true, lexicographically (alphabetically) sort exported schema for + // more stable diffing. + /* @middlewareOnly */ + sortExport?: boolean; + // The endpoint the GraphQL executer will listen on. Defaults to `/graphql`. + /* @middlewareOnly */ + graphqlRoute?: string; + // The endpoint the GraphiQL query interface will listen on (**NOTE:** + // GraphiQL will not be enabled unless the `graphiql` option is set to + // `true`). Defaults to `/graphiql`. + /* @middlewareOnly */ + graphiqlRoute?: string; + // If you are using watch mode, or have enabled GraphiQL, and you either + // mount PostGraphile under a path, or use PostGraphile behind some kind of + // proxy that puts PostGraphile under a sub-path (or both!) then you must + // specify this setting so that PostGraphile can figure out it's external + // URL. + // (e.g. if you do `app.use('/path/to', postgraphile(...))`), which is not + // officially supported, then you should pass `externalUrlBase: '/path/to'`.) + // This setting should never end in a slash (`/`). To specify that the + // external URL is the expected one, either omit this setting or set it to the + // empty string `''`. + /* @middlewareOnly */ + externalUrlBase?: string; + // Set this to `true` to enable the GraphiQL interface. + /* @middlewareOnly */ + graphiql?: boolean; + // Set this to `true` to add some enhancements to GraphiQL; intended for development usage only (automatically enables with `subscriptions` and `live`). + /* @middlewareOnly */ + enhanceGraphiql?: boolean; + // Enables some generous CORS settings for the GraphQL endpoint. There are + // some costs associated when enabling this, if at all possible try to put + // your API behind a reverse proxy. + /* @middlewareOnly */ + enableCors?: boolean; + // Set the maximum size of HTTP request bodies that can be parsed (default + // 100kB). The size can be given as a human-readable string, such as '200kB' + // or '5MB' (case insensitive). + /* @middlewareOnly */ + bodySizeLimit?: string; + // [Experimental] Enable the middleware to process multiple GraphQL queries + // in one request. + /* @middlewareOnly */ + enableQueryBatching?: boolean; + // The secret for your JSON web tokens. This will be used to verify tokens in + // the `Authorization` header, and signing JWT tokens you return in + // procedures. + jwtSecret?: jwt.Secret; + jwtPublicKey?: jwt.Secret | jwt.GetPublicKeyOrSecret; + // Options with which to perform JWT verification - see + // https://github.com/auth0/node-jsonwebtoken#jwtverifytoken-secretorpublickey-options-callback + // If 'audience' property is unspecified, it will default to + // ['postgraphile']; to prevent audience verification set it explicitly to + // null. + /* @middlewareOnly */ + jwtVerifyOptions?: jwt.VerifyOptions; + // An array of (strings) path components that make up the path in the jwt from which to extract the postgres role. + // By default, the role is extracted from `token.role`, so the default value is `['role']`. + // e.g. `{ iat: 123456789, creds: { local: { role: "my_role" } } }` + // the path would be `token.creds.local.role` i.e. `['creds', 'local', 'role']` + /* @middlewareOnly */ + jwtRole?: Array; + // The Postgres type identifier for the compound type which will be signed as + // a JWT token if ever found as the return type of a procedure. Can be of the + // form: `my_schema.my_type`. You may use quotes as needed: + // `"my-special-schema".my_type`. + jwtPgTypeIdentifier?: string; + // [DEPRECATED] The audience to use when verifying the JWT token. Deprecated, + // use `jwtVerifyOptions.audience` instead. + /* @middlewareOnly */ + jwtAudiences?: Array; + // Some one-to-one relations were previously detected as one-to-many - should + // we export 'only' the old relation shapes, both new and old but mark the + // old ones as 'deprecated' (default), or 'omit' (recommended) the old + // relation shapes entirely. + legacyRelations?: "only" | "deprecated" | "omit"; + // ONLY use this option if you require the v3 type names 'Json' and 'Uuid' + // over 'JSON' and 'UUID'. + legacyJsonUuid?: boolean; + // Turns off GraphQL query logging. By default PostGraphile will log every + // GraphQL query it processes along with some other information. Set this to + // `true` (recommended in production) to disable that feature. + /* @middlewareOnly */ + disableQueryLog?: boolean; + // A plain object specifying custom config values to set in the PostgreSQL + // transaction (accessed via `current_setting('my.custom.setting')`) **or** + // an (optionally asynchronous) function which will return the same (or a + // Promise to the same) based on the incoming web request (e.g. to extract + // session data). + /* @middlewareOnly */ + pgSettings?: DirectOrCallback; + // [Experimental] Determines if the 'Explain' feature in GraphiQL can be used + // to show the user the SQL statements that were executed. Set to a boolean to + // enable all users to use this, or to a function that filters each request to + // determine if the request may use Explain. DO NOT USE IN PRODUCTION unless + // you're comfortable with the security repercussions of doing so. + /* @middlewareOnly */ + allowExplain?: DirectOrCallback; + // Some Graphile Engine schema plugins may need additional information + // available on the `context` argument to the resolver - you can use this + // function to provide such information based on the incoming request - you + // can even use this to change the response [experimental], e.g. setting + // cookies. + /* @middlewareOnly */ + additionalGraphQLContextFromRequest?: ( + req: Request, + res: Response, + ) => Promise>; + // [experimental] Plugin hook function, enables functionality within + // PostGraphile to be expanded with plugins. Generate with + // `makePluginHook(plugins)` passing a list of plugin objects. + /* @middlewareOnly */ + pluginHook?: PluginHookFn; + // Should we use relay pagination, or simple collections? + // "omit" (default) - relay connections only, + // "only" (not recommended) - simple collections only (no Relay connections), + // "both" - both. + simpleCollections?: "omit" | "both" | "only"; + // Max query cache size in bytes (extremely approximate, not + // accurate at all). Default `50000000` (~50MB). Set to 0 to + // disable. + /* @middlewareOnly */ + queryCacheMaxSize?: number; + } } } @@ -57,259 +309,8 @@ export type Middleware< Response extends ServerResponse = ServerResponse > = (req: Request, res: Response, next: (err?: Error) => void) => void; -// Please note that the comments for this type are turned into documentation -// automatically. We try and specify the options in the same order as the CLI. -// Anything tagged `@middlewareOnly` will not appear in the schema-only docs. -// Only comments written beginning with `//` will be put in the docs. -export interface PostGraphileOptions< - Request extends IncomingMessage = IncomingMessage, - Response extends ServerResponse = ServerResponse -> extends PostGraphileCoreOptions { - // When true, PostGraphile will update the GraphQL API whenever your database - // schema changes. This feature requires some changes to your database in the - // form of the - // [`postgraphile_watch`](https://github.com/graphile/graphile-engine/blob/master/packages/graphile-build-pg/res/watch-fixtures.sql) - // schema; PostGraphile will try to add this itself but requires DB superuser - // privileges to do so. If PostGraphile can't install it, you can do so - // manually. PostGraphile will not drop the schema when it exits, to remove - // it you can execute: - // - // `DROP SCHEMA postgraphile_watch CASCADE;` - /* @middlewareOnly */ - watchPg?: boolean; - // When false (default), PostGraphile will exit if it fails to build the - // initial schema (for example if it cannot connect to the database, or if - // there are fatal naming conflicts in the schema). When true, PostGraphile - // will keep trying to rebuild the schema indefinitely, using an exponential - // backoff between attempts, starting at 100ms and increasing up to 30s delay - // between retries. - /* @middlewareOnly */ - retryOnInitFail?: boolean; - // Connection string to use to connect to the database as a privileged user (e.g. for setting up watch fixtures, logical decoding, etc). - ownerConnectionString?: string; - // Enable GraphQL websocket transport support for subscriptions (you still need a subscriptions plugin currently) - subscriptions?: boolean; - // [EXPERIMENTAL] Enables live-query support via GraphQL subscriptions (sends updated payload any time nested collections/records change) - live?: boolean; - // [EXPERIMENTAL] If you're using websockets (subscriptions || live) then you - // may want to authenticate your users using sessions or similar. You can - // pass some simple middlewares here that will be executed against the - // websocket connection in order to perform authentication. We current only - // support express (not Koa) middlewares here. - /* @middlewareOnly */ - websocketMiddlewares?: Array>; - // The default Postgres role to use. If no role was provided in a provided - // JWT token, this role will be used. - pgDefaultRole?: string; - // By default, JSON and JSONB fields are presented as strings (JSON encoded) - // from the GraphQL schema. Setting this to `true` (recommended) enables raw - // JSON input and output, saving the need to parse / stringify JSON manually. - dynamicJson?: boolean; - // If none of your `RETURNS SETOF compound_type` functions mix NULLs with the - // results then you may set this false to reduce the nullables in the GraphQL - // schema. - setofFunctionsContainNulls?: boolean; - // Enables classic ids for Relay support. Instead of using the field name - // `nodeId` for globally unique ids, PostGraphile will instead use the field - // name `id` for its globally unique ids. This means that table `id` columns - // will also get renamed to `rowId`. - classicIds?: boolean; - // Setting this to `true` will prevent the creation of the default mutation - // types & fields. Database mutation will only be possible through Postgres - // functions. - disableDefaultMutations?: boolean; - // Set false (recommended) to exclude fields, queries and mutations that are - // not available to any possible user (determined from the user in connection - // string and any role they can become); set this option true to skip these - // checks and create GraphQL fields and types for everything. - // The default is `true`, in v5 the default will change to `false`. - ignoreRBAC?: boolean; - // Set false (recommended) to exclude filters, orderBy, and relations that - // would be expensive to access due to missing indexes. Changing this from - // true to false is a breaking change, but false to true is not, so we - // recommend you start with it set to `false`. - // The default is `true`, in v5 the default may change to `false`. - ignoreIndexes?: boolean; - // By default, tables and functions that come from extensions are excluded - // from the generated GraphQL schema as general applications don't need them - // to be exposed to the end user. You can use this flag to include them in - // the generated schema (not recommended). - includeExtensionResources?: boolean; - // Enables adding a `stack` field to the error response. Can be either the - // boolean `true` (which results in a single stack string) or the string - // `json` (which causes the stack to become an array with elements for each - // line of the stack). Recommended in development, not recommended in - // production. - /* @middlewareOnly */ - showErrorStack?: boolean | "json"; - // Extends the error response with additional details from the Postgres - // error. Can be any combination of `['hint', 'detail', 'errcode']`. - // Default is `[]`. - /* @middlewareOnly */ - extendedErrors?: Array; - // Enables ability to modify errors before sending them down to the client. - // Optionally can send down custom responses. If you use this then - // `showErrorStack` and `extendedError` may have no - // effect. - /* @middlewareOnly */ - handleErrors?: ( - errors: ReadonlyArray, - req: Request, - res: Response, - ) => Array; - // An array of [Graphile Engine](/graphile-build/plugins/) schema plugins to load - // after the default plugins. - appendPlugins?: Array; - // An array of [Graphile Engine](/graphile-build/plugins/) schema plugins to load - // before the default plugins (you probably don't want this). - prependPlugins?: Array; - // The full array of [Graphile Engine](/graphile-build/plugins/) schema plugins to - // use for schema generation (you almost definitely don't want this!). - replaceAllPlugins?: Array; - // An array of [Graphile Engine](/graphile-build/plugins/) schema plugins to skip. - skipPlugins?: Array; - // A file path string. Reads cached values from local cache file to improve - // startup time (you may want to do this in production). - readCache?: string; - // A file path string. Writes computed values to local cache file so startup - // can be faster (do this during the build phase). - writeCache?: string; - // Enables saving the detected schema, in JSON format, to the given location. - // The directories must exist already, if the file exists it will be - // overwritten. - /* @middlewareOnly */ - exportJsonSchemaPath?: string; - // Enables saving the detected schema, in GraphQL schema format, to the given - // location. The directories must exist already, if the file exists it will - // be overwritten. - /* @middlewareOnly */ - exportGqlSchemaPath?: string; - // If true, lexicographically (alphabetically) sort exported schema for - // more stable diffing. - /* @middlewareOnly */ - sortExport?: boolean; - // The endpoint the GraphQL executer will listen on. Defaults to `/graphql`. - /* @middlewareOnly */ - graphqlRoute?: string; - // The endpoint the GraphiQL query interface will listen on (**NOTE:** - // GraphiQL will not be enabled unless the `graphiql` option is set to - // `true`). Defaults to `/graphiql`. - /* @middlewareOnly */ - graphiqlRoute?: string; - // If you are using watch mode, or have enabled GraphiQL, and you either - // mount PostGraphile under a path, or use PostGraphile behind some kind of - // proxy that puts PostGraphile under a subpath (or both!) then you must - // specify this setting so that PostGraphile can figure out it's external - // URL. - // (e.g. if you do `app.use('/path/to', postgraphile(...))`), which is not - // officially supported, then you should pass `externalUrlBase: '/path/to'`.) - // This setting should never end in a slash (`/`). To specify that the - // external URL is the expected one, either omit this setting or set it to the - // empty string `''`. - /* @middlewareOnly */ - externalUrlBase?: string; - // Set this to `true` to enable the GraphiQL interface. - /* @middlewareOnly */ - graphiql?: boolean; - // Set this to `true` to add some enhancements to GraphiQL; intended for development usage only (automatically enables with `subscriptions` and `live`). - /* @middlewareOnly */ - enhanceGraphiql?: boolean; - // Enables some generous CORS settings for the GraphQL endpoint. There are - // some costs associated when enabling this, if at all possible try to put - // your API behind a reverse proxy. - /* @middlewareOnly */ - enableCors?: boolean; - // Set the maximum size of HTTP request bodies that can be parsed (default - // 100kB). The size can be given as a human-readable string, such as '200kB' - // or '5MB' (case insensitive). - /* @middlewareOnly */ - bodySizeLimit?: string; - // [Experimental] Enable the middleware to process multiple GraphQL queries - // in one request. - /* @middlewareOnly */ - enableQueryBatching?: boolean; - // The secret for your JSON web tokens. This will be used to verify tokens in - // the `Authorization` header, and signing JWT tokens you return in - // procedures. - jwtSecret?: jwt.Secret; - jwtPublicKey?: jwt.Secret | jwt.GetPublicKeyOrSecret; - // Options with which to perform JWT verification - see - // https://github.com/auth0/node-jsonwebtoken#jwtverifytoken-secretorpublickey-options-callback - // If 'audience' property is unspecified, it will default to - // ['postgraphile']; to prevent audience verification set it explicitly to - // null. - /* @middlewareOnly */ - jwtVerifyOptions?: jwt.VerifyOptions; - // An array of (strings) path components that make up the path in the jwt from which to extract the postgres role. - // By default, the role is extracted from `token.role`, so the default value is `['role']`. - // e.g. `{ iat: 123456789, creds: { local: { role: "my_role" } } }` - // the path would be `token.creds.local.role` i.e. `['creds', 'local', 'role']` - /* @middlewareOnly */ - jwtRole?: Array; - // The Postgres type identifier for the compound type which will be signed as - // a JWT token if ever found as the return type of a procedure. Can be of the - // form: `my_schema.my_type`. You may use quotes as needed: - // `"my-special-schema".my_type`. - jwtPgTypeIdentifier?: string; - // [DEPRECATED] The audience to use when verifing the JWT token. Deprecated, - // use `jwtVerifyOptions.audience` instead. - /* @middlewareOnly */ - jwtAudiences?: Array; - // Some one-to-one relations were previously detected as one-to-many - should - // we export 'only' the old relation shapes, both new and old but mark the - // old ones as 'deprecated' (default), or 'omit' (recommended) the old - // relation shapes entirely. - legacyRelations?: "only" | "deprecated" | "omit"; - // ONLY use this option if you require the v3 typenames 'Json' and 'Uuid' - // over 'JSON' and 'UUID'. - legacyJsonUuid?: boolean; - // Turns off GraphQL query logging. By default PostGraphile will log every - // GraphQL query it processes along with some other information. Set this to - // `true` (recommended in production) to disable that feature. - /* @middlewareOnly */ - disableQueryLog?: boolean; - // A plain object specifying custom config values to set in the PostgreSQL - // transaction (accessed via `current_setting('my.custom.setting')`) **or** - // an (optionally asynchronous) function which will return the same (or a - // Promise to the same) based on the incoming web request (e.g. to extract - // session data). - /* @middlewareOnly */ - pgSettings?: DirectOrCallback; - // [Experimental] Determines if the 'Explain' feature in GraphiQL can be used - // to show the user the SQL statements that were executed. Set to a boolean to - // enable all users to use this, or to a function that filters each request to - // determine if the request may use Explain. DO NOT USE IN PRODUCTION unless - // you're comfortable with the security repurcussions of doing so. - /* @middlewareOnly */ - allowExplain?: DirectOrCallback; - // Some Graphile Engine schema plugins may need additional information - // available on the `context` argument to the resolver - you can use this - // function to provide such information based on the incoming request - you - // can even use this to change the response [experimental], e.g. setting - // cookies. - /* @middlewareOnly */ - additionalGraphQLContextFromRequest?: ( - req: Request, - res: Response, - ) => Promise>; - // [experimental] Plugin hook function, enables functionality within - // PostGraphile to be expanded with plugins. Generate with - // `makePluginHook(plugins)` passing a list of plugin objects. - /* @middlewareOnly */ - pluginHook?: PluginHookFn; - // Should we use relay pagination, or simple collections? - // "omit" (default) - relay connections only, - // "only" (not recommended) - simple collections only (no Relay connections), - // "both" - both. - simpleCollections?: "omit" | "both" | "only"; - // Max query cache size in bytes (extremely approximate, not - // accurate at all). Default `50000000` (~50MB). Set to 0 to - // disable. - /* @middlewareOnly */ - queryCacheMaxSize?: number; -} - -export interface CreateRequestHandlerOptions extends PostGraphileOptions { +export interface CreateRequestHandlerOptions + extends GraphileEngine.PostGraphileOptions { // The actual GraphQL schema we will use. getGqlSchema: () => Promise; // A Postgres client pool we use to connect Postgres clients. @@ -352,7 +353,7 @@ export interface HttpRequestHandler< req: Request, res: Response, moreOptions: any, - fn: (ctx: GraphileResolverContext) => Promise | T, + fn: (ctx: GraphileEngine.GraphileResolverContext) => Promise | T, ) => Promise; options: CreateRequestHandlerOptions; handleErrors: ( diff --git a/packages/postgraphile/src/plugins.ts b/packages/postgraphile/src/plugins.ts index aabe89c599..fe30eae7de 100644 --- a/packages/postgraphile/src/plugins.ts +++ b/packages/postgraphile/src/plugins.ts @@ -1,17 +1,16 @@ import { readFileSync, Stats, readFile, watchFile, unwatchFile } from "fs"; import { makeJSONPgSmartTagsPlugin, JSONPgSmartTags } from "graphile-utils"; import * as JSON5 from "json5"; -import { Plugin } from "postgraphile-core"; export const makePgSmartTagsFromFilePlugin = ( tagsFile = process.cwd() + "/postgraphile.tags.json5", -): Plugin => { +): GraphileEngine.Plugin => { /* * We're wrapping the `smartTagsPlugin` defined below with a plugin wrapper * so that any errors from reading the smart tags file are thrown when the * plugin is *loaded* rather than from when it is defined. */ - const plugin: Plugin = (builder, options) => { + const plugin: GraphileEngine.Plugin = (builder, options) => { function handleTagsError(err: Error): void { console.error( `Failed to process smart tags file '${tagsFile}': ${err.message}`, @@ -25,7 +24,7 @@ export const makePgSmartTagsFromFilePlugin = ( let tagsListener: null | ((current: Stats, previous: Stats) => void) = null; const smartTagsPlugin = makeJSONPgSmartTagsPlugin( initialTagsJSON, - updateJSON => { + (updateJSON) => { if (tagsListener) { unwatchFile(tagsFile, tagsListener); tagsListener = null; diff --git a/packages/postgraphile/src/postgraphile/__tests__/postgraphile-test.js b/packages/postgraphile/src/postgraphile/__tests__/postgraphile-test.js index 6585384ee8..57860067de 100644 --- a/packages/postgraphile/src/postgraphile/__tests__/postgraphile-test.js +++ b/packages/postgraphile/src/postgraphile/__tests__/postgraphile-test.js @@ -9,6 +9,21 @@ import { createPostGraphileSchema, watchPostGraphileSchema } from ".."; import createPostGraphileHttpRequestHandler from "../http/createPostGraphileHttpRequestHandler"; import postgraphile from "../postgraphile"; import chalk from "chalk"; +import { GraphQLSchema, GraphQLObjectType, GraphQLInt } from "graphql"; + +const blankSchema = new GraphQLSchema({ + query: new GraphQLObjectType({ + name: "Query", + fields: { + _: { + type: GraphQLInt, + }, + }, + }), +}); +watchPostGraphileSchema.mockImplementation((a, b, c, d) => { + d(blankSchema); +}); createPostGraphileHttpRequestHandler.mockImplementation(({ getGqlSchema }) => Promise.resolve(getGqlSchema()).then(() => null), @@ -88,7 +103,15 @@ test("will watch Postgres schemas when `watchPg` is true", async () => { test("will not error if jwtSecret is provided without jwtPgTypeIdentifier", async () => { const pgPool = new Pool(); + const spy = jest.spyOn(console, "warn").mockImplementation(() => {}); expect(() => postgraphile(pgPool, [], { jwtSecret: "test" })).not.toThrow(); + expect(spy.mock.calls).toMatchInlineSnapshot(` + Array [ + Array [ + "WARNING: jwtSecret provided, however jwtPgTypeIdentifier (token identifier) not provided.", + ], + ] + `); }); test("will throw on undefined positional arguments", async () => { diff --git a/packages/postgraphile/src/postgraphile/__tests__/postgraphileIntegrationMutations-test.js b/packages/postgraphile/src/postgraphile/__tests__/postgraphileIntegrationMutations-test.js index be5169130e..2b68909213 100644 --- a/packages/postgraphile/src/postgraphile/__tests__/postgraphileIntegrationMutations-test.js +++ b/packages/postgraphile/src/postgraphile/__tests__/postgraphileIntegrationMutations-test.js @@ -7,6 +7,11 @@ import withPgClient from "../../__tests__/utils/withPgClient"; import { $$pgClient } from "../../postgres/inventory/pgClientFromContext"; import { createPostGraphileSchema } from ".."; +// When running jest from the root of the monorepo, the directory is the +// repository root, so all the file paths are incorrect. I couldn't find a way +// to have jest automatically `process.chdir` for each test suite. +process.chdir(__dirname + "/../../.."); + // This test suite can be flaky. Increase it’s timeout. jasmine.DEFAULT_TIMEOUT_INTERVAL = 1000 * 20; @@ -23,7 +28,7 @@ let mutationResults = []; beforeAll(() => { // Get a GraphQL schema instance that we can query. - const gqlSchemaPromise = withPgClient(async pgClient => { + const gqlSchemaPromise = withPgClient(async (pgClient) => { return await createPostGraphileSchema(pgClient, ["a", "b", "c"]); })(); @@ -32,12 +37,12 @@ beforeAll(() => { // // All of our mutations get there own Postgres client instance. Queries share // a client instance. - mutationResults = mutationFileNames.map(async fileName => { + mutationResults = mutationFileNames.map(async (fileName) => { // Wait for the schema to resolve. We need the schema to be introspected // before we can do anything else! let gqlSchema = await gqlSchemaPromise; // Get a new Postgres client and run the mutation. - return await withPgClient(async pgClient => { + return await withPgClient(async (pgClient) => { // Read the mutation from the file system. const mutation = await new Promise((resolve, reject) => { readFile(resolvePath(mutationsDir, fileName), "utf8", (error, data) => { diff --git a/packages/postgraphile/src/postgraphile/__tests__/postgraphileIntegrationQueries-test.js b/packages/postgraphile/src/postgraphile/__tests__/postgraphileIntegrationQueries-test.js index 1f225a5b0c..0179dd7386 100644 --- a/packages/postgraphile/src/postgraphile/__tests__/postgraphileIntegrationQueries-test.js +++ b/packages/postgraphile/src/postgraphile/__tests__/postgraphileIntegrationQueries-test.js @@ -7,6 +7,11 @@ import withPgClient from "../../__tests__/utils/withPgClient"; import { $$pgClient } from "../../postgres/inventory/pgClientFromContext"; import { createPostGraphileSchema } from ".."; +// When running jest from the root of the monorepo, the directory is the +// repository root, so all the file paths are incorrect. I couldn't find a way +// to have jest automatically `process.chdir` for each test suite. +process.chdir(__dirname + "/../../.."); + // This test suite can be flaky. Increase it’s timeout. jasmine.DEFAULT_TIMEOUT_INTERVAL = 1000 * 20; @@ -23,7 +28,7 @@ let queryResults = []; beforeAll(() => { // Get a few GraphQL schema instance that we can query. - const gqlSchemasPromise = withPgClient(async pgClient => { + const gqlSchemasPromise = withPgClient(async (pgClient) => { // Different fixtures need different schemas with different configurations. // Make all of the different schemas with different configurations that we // need and wait for them to be created in parallel. @@ -50,12 +55,12 @@ beforeAll(() => { // before we can do anything else! const gqlSchemas = await gqlSchemasPromise; // Get a new Postgres client instance. - return await withPgClient(async pgClient => { + return await withPgClient(async (pgClient) => { // Add data to the client instance we are using. await pgClient.query(await kitchenSinkData); // Run all of our queries in parallel. return await Promise.all( - queryFileNames.map(async fileName => { + queryFileNames.map(async (fileName) => { // Read the query from the file system. const query = await new Promise((resolve, reject) => { readFile( diff --git a/packages/postgraphile/src/postgraphile/__tests__/postgraphileIntegrationSchema-test.js b/packages/postgraphile/src/postgraphile/__tests__/postgraphileIntegrationSchema-test.js index 4a4d8d416e..09bdc5c590 100644 --- a/packages/postgraphile/src/postgraphile/__tests__/postgraphileIntegrationSchema-test.js +++ b/packages/postgraphile/src/postgraphile/__tests__/postgraphileIntegrationSchema-test.js @@ -7,6 +7,11 @@ import printSchemaOrdered from "../../__tests__/utils/printSchemaOrdered"; import withPgClient from "../../__tests__/utils/withPgClient"; import { createPostGraphileSchema } from ".."; +// When running jest from the root of the monorepo, the directory is the +// repository root, so all the file paths are incorrect. I couldn't find a way +// to have jest automatically `process.chdir` for each test suite. +process.chdir(__dirname + "/../../.."); + // This test suite can be flaky. Increase it’s timeout. jasmine.DEFAULT_TIMEOUT_INTERVAL = 1000 * 20; @@ -15,16 +20,16 @@ let testResults; const testFixtures = [ { name: "prints a schema with the default options", - createSchema: client => createPostGraphileSchema(client, ["a", "b", "c"]), + createSchema: (client) => createPostGraphileSchema(client, ["a", "b", "c"]), }, { name: "prints a schema with Relay 1 style ids", - createSchema: client => + createSchema: (client) => createPostGraphileSchema(client, "c", { classicIds: true }), }, { name: "prints a schema with a JWT generating mutation", - createSchema: client => + createSchema: (client) => createPostGraphileSchema(client, "b", { jwtSecret: "secret", jwtPgTypeIdentifier: "b.jwt_token", @@ -32,12 +37,12 @@ const testFixtures = [ }, { name: "prints a schema without default mutations", - createSchema: client => + createSchema: (client) => createPostGraphileSchema(client, "c", { disableDefaultMutations: true }), }, { name: "prints a schema with nulls reduced and old Json, Uuid", - createSchema: client => + createSchema: (client) => createPostGraphileSchema(client, ["a", "b", "c"], { setofFunctionsContainNulls: false, legacyJsonUuid: true, @@ -46,8 +51,8 @@ const testFixtures = [ ]; beforeAll(() => { - testResults = testFixtures.map(testFixture => - withPgClient(async client => { + testResults = testFixtures.map((testFixture) => + withPgClient(async (client) => { return await testFixture.createSchema(client); })(), ); diff --git a/packages/postgraphile/src/postgraphile/__tests__/postgraphileIntegrationSchemaExport-test.js b/packages/postgraphile/src/postgraphile/__tests__/postgraphileIntegrationSchemaExport-test.js index ae1ed074f3..307aca8c2d 100644 --- a/packages/postgraphile/src/postgraphile/__tests__/postgraphileIntegrationSchemaExport-test.js +++ b/packages/postgraphile/src/postgraphile/__tests__/postgraphileIntegrationSchemaExport-test.js @@ -7,48 +7,59 @@ import exportPostGraphileSchema from "../schema/exportPostGraphileSchema"; import mockFs from "mock-fs"; import { readFileSync, existsSync } from "fs"; +// When running jest from the root of the monorepo, the directory is the +// repository root, so all the file paths are incorrect. I couldn't find a way +// to have jest automatically `process.chdir` for each test suite. +process.chdir(__dirname + "/../../.."); + // This test suite can be flaky. Increase it’s timeout. jasmine.DEFAULT_TIMEOUT_INTERVAL = 1000 * 20; -const gqlSchemaPromise = withPgClient(async pgClient => { +const gqlSchemaPromise = withPgClient(async (pgClient) => { return await createPostGraphileSchema(pgClient, ["a", "b", "c"]); })(); afterEach(() => mockFs.restore()); test("exports a schema as JSON", async () => { - mockFs(); const gqlSchema = await gqlSchemaPromise; + mockFs(); await exportPostGraphileSchema(gqlSchema, { exportJsonSchemaPath: "/schema.json", }); - expect(readFileSync("/schema.json", "utf8").toMatchSnapshot()); + const schemaJson = readFileSync("/schema.json", "utf8"); mockFs.restore(); + expect(schemaJson).toMatchSnapshot(); }); test("exports a schema as GQL", async () => { - mockFs(); const gqlSchema = await gqlSchemaPromise; + mockFs(); await exportPostGraphileSchema(gqlSchema, { exportGqlSchemaPath: "/schema.gql", }); - expect(readFileSync("/schema.gql", "utf8").toMatchSnapshot()); + const schemaGql = readFileSync("/schema.gql", "utf8"); + mockFs.restore(); + expect(schemaGql).toMatchSnapshot(); }); test("exports a sorted schema as GQL", async () => { - mockFs(); const gqlSchema = await gqlSchemaPromise; + mockFs(); await exportPostGraphileSchema(gqlSchema, { exportGqlSchemaPath: "/schema.gql", sortExport: true, }); - expect(readFileSync("/schema.gql", "utf8").toMatchSnapshot()); + const schemaGql = readFileSync("/schema.gql", "utf8"); + mockFs.restore(); + expect(schemaGql).toMatchSnapshot(); }); test("does not export a schema when not enabled", async () => { - mockFs(); const gqlSchema = await gqlSchemaPromise; + mockFs(); await exportPostGraphileSchema(gqlSchema); expect(existsSync("/schema.gql")).toBe(false); expect(existsSync("/schema.json")).toBe(false); + mockFs.restore(); }); diff --git a/packages/postgraphile/src/postgraphile/__tests__/withPostGraphileContext-test.js b/packages/postgraphile/src/postgraphile/__tests__/withPostGraphileContext-test.js index c08d99d865..7b7bbdda20 100644 --- a/packages/postgraphile/src/postgraphile/__tests__/withPostGraphileContext-test.js +++ b/packages/postgraphile/src/postgraphile/__tests__/withPostGraphileContext-test.js @@ -4,6 +4,10 @@ import { $$pgClient } from "../../postgres/inventory/pgClientFromContext"; import withPostGraphileContext from "../withPostGraphileContext"; import { readFileSync, readFile } from "fs"; +beforeEach(() => { + jest.restoreAllMocks(); +}); + const jwt = require("jsonwebtoken"); /** @@ -15,7 +19,7 @@ function expectHttpError(promise, statusCode, message) { () => { throw new Error("Expected a Http error."); }, - error => { + (error) => { expect(error.statusCode).toBe(statusCode); expect(error.message).toBe(message); }, @@ -32,7 +36,7 @@ test("will be a noop for no token, secret, or default role", async () => { test("will pass in a context object with the client", async () => { const pgClient = { query: jest.fn(), release: jest.fn() }; const pgPool = { connect: jest.fn(() => pgClient) }; - await withPostGraphileContext({ pgPool }, client => { + await withPostGraphileContext({ pgPool }, (client) => { expect(client[$$pgClient]).toBe(pgClient); }); }); @@ -42,7 +46,7 @@ test("will record queries run inside the transaction", async () => { const query2 = Symbol(); const pgClient = { query: jest.fn(), release: jest.fn() }; const pgPool = { connect: jest.fn(() => pgClient) }; - await withPostGraphileContext({ pgPool }, client => { + await withPostGraphileContext({ pgPool }, (client) => { client[$$pgClient].query(query1); client[$$pgClient].query(query2); }); @@ -73,6 +77,7 @@ test("will return the asynchronous value from the callback", async () => { test("will throw an error if there was a `jwtToken`, but no `jwtSecret`", async () => { const pgClient = { query: jest.fn(), release: jest.fn() }; const pgPool = { connect: jest.fn(() => pgClient) }; + const spy = jest.spyOn(console, "error").mockImplementation(() => {}); await expectHttpError( withPostGraphileContext({ pgPool, jwtToken: "asd" }, () => {}), 403, @@ -80,11 +85,20 @@ test("will throw an error if there was a `jwtToken`, but no `jwtSecret`", async ); // Never set up the transaction due to error expect(pgClient.query.mock.calls).toEqual([]); + expect(spy.mock.calls).toMatchInlineSnapshot(` + Array [ + Array [ + "ERROR: 'jwtSecret' was not set to a string or buffer - rejecting JWT-authenticated request.", + ], + ] + `); }); test("will throw an error if there was a `jwtToken`, but `jwtSecret` had unsupported format", async () => { const pgClient = { query: jest.fn(), release: jest.fn() }; const pgPool = { connect: jest.fn(() => pgClient) }; + const spy = jest.spyOn(console, "error").mockImplementation(() => {}); + await expectHttpError( withPostGraphileContext( { pgPool, jwtToken: "asd", jwtSecret: true }, @@ -95,6 +109,13 @@ test("will throw an error if there was a `jwtToken`, but `jwtSecret` had unsuppo ); // Never set up the transaction due to error expect(pgClient.query.mock.calls).toEqual([]); + expect(spy.mock.calls).toMatchInlineSnapshot(` + Array [ + Array [ + "ERROR: 'jwtSecret' was not set to a string or buffer - rejecting JWT-authenticated request.", + ], + ] + `); }); test("will throw an error for a malformed `jwtToken`", async () => { @@ -272,7 +293,7 @@ test("will include JWT claims as jwtClaims in context callback", async () => { }), jwtSecret: "secret", }, - context => context, + (context) => context, ); expect(jwtClaims).toEqual({ aud: "postgraphile", a: 1, b: 2, c: 3 }); }); @@ -284,7 +305,7 @@ test("jwtClaims should be null if there is no JWT token", async () => { { pgPool, }, - context => context, + (context) => context, ); expect(jwtClaims).toBeNull(); }); diff --git a/packages/postgraphile/src/postgraphile/cli.ts b/packages/postgraphile/src/postgraphile/cli.ts index b9c4de6bbe..426b7ce99e 100755 --- a/packages/postgraphile/src/postgraphile/cli.ts +++ b/packages/postgraphile/src/postgraphile/cli.ts @@ -212,7 +212,7 @@ program .option( "--extended-errors ", "a comma separated list of extended Postgres error fields to display in the GraphQL result. Recommended in development: 'hint,detail,errcode'. Default: none", - (option: string) => option.split(",").filter(_ => _), + (option: string) => option.split(",").filter((_) => _), ); pluginHook("cli:flags:add:errorHandling", addFlag); @@ -328,7 +328,7 @@ program .option( "-A, --jwt-verify-audience ", "a comma separated list of JWT audiences that will be accepted; defaults to 'postgraphile'. To disable audience verification, set to ''.", - (option: string) => option.split(",").filter(_ => _), + (option: string) => option.split(",").filter((_) => _), ) .option( "--jwt-verify-clock-tolerance ", @@ -449,7 +449,7 @@ process.on("SIGINT", () => { const configOptions = config["options"] || {}; const overridesFromOptions = {}; ["ignoreIndexes", "ignoreRbac", "setofFunctionsContainNulls"].forEach( - option => { + (option) => { if (option in configOptions) { overridesFromOptions[option] = configOptions[option]; } @@ -529,7 +529,7 @@ const { ...overridesFromOptions, } as typeof program; -const showErrorStack = (val => { +const showErrorStack = ((val) => { switch (val) { case "string": case true: @@ -620,7 +620,7 @@ const loadPlugins = (rawNames: mixed) => { const names = Array.isArray(rawNames) ? rawNames : String(rawNames).split(","); - return names.map(rawName => { + return names.map((rawName) => { if (typeof rawName === "function") { return rawName; } @@ -771,7 +771,7 @@ if (noServer) { // No need for a server, let's just spin up the schema builder (async (): Promise => { const pgPool = new Pool(pgConfig); - pgPool.on("error", err => { + pgPool.on("error", (err) => { // tslint:disable-next-line no-console console.error("PostgreSQL client generated error: ", err.message); }); @@ -784,7 +784,7 @@ if (noServer) { if (!watchPg) { await pgPool.end(); } - })().then(null, e => { + })().then(null, (e) => { console.error("Error occurred!"); console.error(e); process.exit(1); @@ -932,7 +932,7 @@ if (noServer) { safeConnectionString, )}${postgraphileOptions.watchPg ? " (watching)" : ""}`, `Postgres schema(s): ${schemas - .map(schema => chalk.magenta(schema)) + .map((schema) => chalk.magenta(schema)) .join(", ")}`, `Documentation: ${chalk.underline( `https://graphile.org/postgraphile/introduction/`, @@ -952,7 +952,7 @@ if (noServer) { chalk, }, ).filter(isString); - console.log(information.map(msg => ` ‣ ${msg}`).join("\n")); + console.log(information.map((msg) => ` ‣ ${msg}`).join("\n")); console.log(""); console.log(chalk.gray("* * *")); diff --git a/packages/postgraphile/src/postgraphile/http/__tests__/createPostGraphileHttpRequestHandler-test.js b/packages/postgraphile/src/postgraphile/http/__tests__/createPostGraphileHttpRequestHandler-test.js index d982db0ae4..ec7964af96 100644 --- a/packages/postgraphile/src/postgraphile/http/__tests__/createPostGraphileHttpRequestHandler-test.js +++ b/packages/postgraphile/src/postgraphile/http/__tests__/createPostGraphileHttpRequestHandler-test.js @@ -4,7 +4,7 @@ import { $$pgClient } from "../../../postgres/inventory/pgClientFromContext"; import createPostGraphileHttpRequestHandler from "../createPostGraphileHttpRequestHandler"; import request from "./supertest"; -const sleep = ms => new Promise(resolve => setTimeout(resolve, ms)); +const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms)); const http = require("http"); const http2 = require("http2"); @@ -85,7 +85,7 @@ const defaultOptions = { const serverCreators = new Map([ [ "http", - handler => { + (handler) => { return http.createServer(handler); }, ], @@ -211,9 +211,7 @@ for (const { name, createServerFromHandler, subpath = "" } of toTest) { describe(name + (subpath ? ` (@${subpath})` : ""), () => { test("will 404 for route other than that specified 1", async () => { const server1 = await createServer(); - await request(server1) - .post("/x") - .expect(404); + await request(server1).post("/x").expect(404); }); if (subpath) { @@ -221,23 +219,17 @@ for (const { name, createServerFromHandler, subpath = "" } of toTest) { const server2 = await createServer({ graphqlRoute: `${subpath}/graphql`, }); - await request(server2) - .post(`${subpath}/graphql`) - .expect(404); + await request(server2).post(`${subpath}/graphql`).expect(404); }); test("will 404 for route other than that specified 3", async () => { const server3 = await createServer({ graphqlRoute: `/graphql` }); - await request(server3) - .post(`/graphql`) - .expect(404); + await request(server3).post(`/graphql`).expect(404); }); } test("will 404 for route other than that specified 4", async () => { const server4 = await createServer({ graphqlRoute: `/x` }); - await request(server4) - .post(`${subpath}/graphql`) - .expect(404); + await request(server4).post(`${subpath}/graphql`).expect(404); }); test("will respond to queries on a different route", async () => { @@ -815,8 +807,8 @@ for (const { name, createServerFromHandler, subpath = "" } of toTest) { pgClient.query.mockClear(); pgClient.release.mockClear(); const server = await createServer({ - handleErrors: errors => { - return errors.map(error => { + handleErrors: (errors) => { + return errors.map((error) => { return { ...error, message: "my custom error message", @@ -905,21 +897,15 @@ for (const { name, createServerFromHandler, subpath = "" } of toTest) { test("will not serve a favicon when graphiql is disabled", async () => { const server1 = await createServer({ graphiql: false }); - await request(server1) - .get(`/favicon.ico`) - .expect(404); + await request(server1).get(`/favicon.ico`).expect(404); if (subpath) { - await request(server1) - .get(`${subpath}/favicon.ico`) - .expect(404); + await request(server1).get(`${subpath}/favicon.ico`).expect(404); } }); test("will not allow if no text/event-stream headers are set", async () => { const server = await createServer({ graphiql: true }); - await request(server) - .get(`${subpath}/graphql/stream`) - .expect(405); + await request(server).get(`${subpath}/graphql/stream`).expect(405); }); test("will return an event-stream", async () => { @@ -929,7 +915,7 @@ for (const { name, createServerFromHandler, subpath = "" } of toTest) { .set("Accept", "text/event-stream") .expect(200) .expect("event: open\n\nevent: change\ndata: schema\n\n") - .then(res => res); // Trick superagent into finishing + .then((res) => res); // Trick superagent into finishing await sleep(200); server._emitter.emit("schemas:changed"); await sleep(100); @@ -941,9 +927,7 @@ for (const { name, createServerFromHandler, subpath = "" } of toTest) { test("will render GraphiQL if enabled", async () => { const server1 = await createServer(); const server2 = await createServer({ graphiql: true }); - await request(server1) - .get(`${subpath}/graphiql`) - .expect(404); + await request(server1).get(`${subpath}/graphiql`).expect(404); await request(server2) .get(`${subpath}/graphiql`) .expect(200) @@ -983,19 +967,13 @@ for (const { name, createServerFromHandler, subpath = "" } of toTest) { graphiql: false, graphiqlRoute: `/x`, }); - await request(server1) - .get(`${subpath}/x`) - .expect(404); + await request(server1).get(`${subpath}/x`).expect(404); await request(server2) .get(`${subpath}/x`) .expect(200) .expect("Content-Type", "text/html; charset=utf-8"); - await request(server3) - .get(`${subpath}/x`) - .expect(404); - await request(server3) - .get(`${subpath}/graphiql`) - .expect(404); + await request(server3).get(`${subpath}/x`).expect(404); + await request(server3).get(`${subpath}/graphiql`).expect(404); }); test("cannot use a rejected GraphQL schema", async () => { @@ -1058,7 +1036,7 @@ for (const { name, createServerFromHandler, subpath = "" } of toTest) { pgClient.query.mockClear(); pgClient.release.mockClear(); const server = await createServer({ - pgSettings: req => ({ + pgSettings: (req) => ({ "foo.string": "test1", "foo.number": 42, }), @@ -1128,7 +1106,7 @@ for (const { name, createServerFromHandler, subpath = "" } of toTest) { createServer( { graphiql: true }, { - onPreCreate: app => { + onPreCreate: (app) => { app.use( compress({ threshold: 0, diff --git a/packages/postgraphile/src/postgraphile/http/__tests__/supertest/index.ts b/packages/postgraphile/src/postgraphile/http/__tests__/supertest/index.ts index 5620fea60e..ac24b06803 100644 --- a/packages/postgraphile/src/postgraphile/http/__tests__/supertest/index.ts +++ b/packages/postgraphile/src/postgraphile/http/__tests__/supertest/index.ts @@ -3,7 +3,7 @@ import * as http from "http"; import Test from "./lib/test"; import agent from "./lib/agent"; -const methods = http.METHODS.map(m => m.toLowerCase()); +const methods = http.METHODS.map((m) => m.toLowerCase()); /** * Test against the given `app`, @@ -17,7 +17,7 @@ export default (appOrCallback: http.Server | http.RequestListener): Test => { ? http.createServer(appOrCallback) : appOrCallback; - methods.forEach(method => { + methods.forEach((method) => { obj[method] = (url: string) => { return new Test(app, method, url); }; diff --git a/packages/postgraphile/src/postgraphile/http/__tests__/supertest/lib/agent.ts b/packages/postgraphile/src/postgraphile/http/__tests__/supertest/lib/agent.ts index d3f7753fe3..1f82faf47a 100644 --- a/packages/postgraphile/src/postgraphile/http/__tests__/supertest/lib/agent.ts +++ b/packages/postgraphile/src/postgraphile/http/__tests__/supertest/lib/agent.ts @@ -7,7 +7,7 @@ import { agent as Agent } from "superagent"; import * as http from "http"; import Test from "./test"; -const methods = http.METHODS.map(m => m.toLowerCase()); +const methods = http.METHODS.map((m) => m.toLowerCase()); /** * Initialize a new `TestAgent`. @@ -33,14 +33,14 @@ function TestAgent(app: http.RequestListener | http.Server, options: any) { Object.setPrototypeOf(TestAgent.prototype, Agent.prototype); // set a host name -TestAgent.prototype.host = function(host: any) { +TestAgent.prototype.host = function (host: any) { this._host = host; return this; }; // override HTTP verb methods -methods.forEach(method => { - TestAgent.prototype[method] = function(url: any, _fn: any) { +methods.forEach((method) => { + TestAgent.prototype[method] = function (url: any, _fn: any) { // eslint-disable-line no-unused-vars let req = new Test(this.app, method.toUpperCase(), url, this._host); req.ca(this._ca); diff --git a/packages/postgraphile/src/postgraphile/http/__tests__/supertest/lib/test.ts b/packages/postgraphile/src/postgraphile/http/__tests__/supertest/lib/test.ts index d5bcd9df37..799ff0f3d3 100644 --- a/packages/postgraphile/src/postgraphile/http/__tests__/supertest/lib/test.ts +++ b/packages/postgraphile/src/postgraphile/http/__tests__/supertest/lib/test.ts @@ -50,7 +50,7 @@ class Test extends Request { // Make awaiting work const oldThen = this.then; - const donePromise = new Promise(resolve => { + const donePromise = new Promise((resolve) => { this.completeCallback = resolve; }); let promise: Promise | null = null; diff --git a/packages/postgraphile/src/postgraphile/http/createPostGraphileHttpRequestHandler.ts b/packages/postgraphile/src/postgraphile/http/createPostGraphileHttpRequestHandler.ts index 93f70bfccf..a3e33af8b6 100644 --- a/packages/postgraphile/src/postgraphile/http/createPostGraphileHttpRequestHandler.ts +++ b/packages/postgraphile/src/postgraphile/http/createPostGraphileHttpRequestHandler.ts @@ -51,11 +51,10 @@ import favicon from "../../assets/favicon.ico"; */ import baseGraphiqlHtml from "../../assets/graphiql.html"; import { enhanceHttpServerWithSubscriptions } from "./subscriptions"; -import { GraphileResolverContext } from "postgraphile-core"; /** * When writing JSON to the browser, we need to be careful that it doesn't get - * interpretted as HTML. + * interpreted as HTML. */ const JS_ESCAPE_LOOKUP = { "<": "\\u003c", @@ -67,7 +66,7 @@ const JS_ESCAPE_LOOKUP = { function safeJSONStringify(obj: {}) { return JSON.stringify(obj).replace( /[<>/\u2028\u2029]/g, - chr => JS_ESCAPE_LOOKUP[chr], + (chr) => JS_ESCAPE_LOOKUP[chr], ); } @@ -83,9 +82,7 @@ let lastHash: string; const calculateQueryHash = (queryString: string): string => { if (queryString !== lastString) { lastString = queryString; - lastHash = createHash("sha1") - .update(queryString) - .digest("base64"); + lastHash = createHash("sha1").update(queryString).digest("base64"); } return lastHash; }; @@ -94,14 +91,12 @@ const calculateQueryHash = (queryString: string): string => { // faster than `Object.keys(value).length === 0`. // NOTE: we don't need a `hasOwnProperty` call here because isEmpty is called // with an `Object.create(null)` object, so it has no no-own properties. -/* tslint:disable forin */ export function isEmpty(value: any): boolean { for (const _key in value) { return false; } return true; } -/* tslint:enable forin */ const isPostGraphileDevelopmentMode = process.env.POSTGRAPHILE_ENV === "development"; @@ -126,7 +121,9 @@ function withPostGraphileContextFromReqResGenerator( req: IncomingMessage, res: ServerResponse, moreOptions: any, - fn: (ctx: GraphileResolverContext) => Promise | TResult, + fn: ( + ctx: GraphileEngine.GraphileResolverContext, + ) => Promise | TResult, ): Promise => { const jwtToken = jwtSecret ? getJwtToken(req) : null; const additionalContext = @@ -149,7 +146,7 @@ function withPostGraphileContextFromReqResGenerator( explain: allowExplain && req.headers["x-postgraphile-explain"] === "on", ...moreOptions, }, - context => { + (context) => { const graphqlContext = additionalContext ? { ...additionalContext, ...context } : context; @@ -221,7 +218,7 @@ export default function createPostGraphileHttpRequestHandler( pgSettings && typeof pgSettings === "object" && Object.keys(pgSettings) - .map(s => s.toLowerCase()) + .map((s) => s.toLowerCase()) .includes("role") ) { throw new Error( @@ -297,7 +294,7 @@ export default function createPostGraphileHttpRequestHandler( }), ]; - // We'll turn this into one function now so it can be better JIT optimised + // We'll turn this into one function now so it can be better JIT optimized const bodyParserMiddlewaresComposed = bodyParserMiddlewares.reduce( ( parent: ( @@ -316,7 +313,7 @@ export default function createPostGraphileHttpRequestHandler( next: (err?: Error) => void, ) => void) => { return (req, res, next) => { - parent(req, res, error => { + parent(req, res, (error) => { if (error) { return next(error); } @@ -437,7 +434,7 @@ export default function createPostGraphileHttpRequestHandler( originalPathname !== pathname && originalPathname.endsWith(pathname) ) { - // We were mounted on a subpath (e.g. `app.use('/path/to', postgraphile(...))`). + // We were mounted on a sub-path (e.g. `app.use('/path/to', postgraphile(...))`). // Figure out our externalUrlBase for ourselves. externalUrlBase = originalPathname.substr( 0, @@ -487,7 +484,7 @@ export default function createPostGraphileHttpRequestHandler( let theOneAndOnlyGraphQLSchema: GraphQLSchema | null = null; if (!watchPg) { getGqlSchema() - .then(schema => { + .then((schema) => { theOneAndOnlyGraphQLSchema = schema; }) .catch(noop); @@ -821,9 +818,7 @@ export default function createPostGraphileHttpRequestHandler( if (debugGraphql.enabled) debugGraphql( "%s", - printGraphql(queryDocumentAst) - .replace(/\s+/g, " ") - .trim(), + printGraphql(queryDocumentAst).replace(/\s+/g, " ").trim(), ); result = await withPostGraphileContextFromReqRes( @@ -835,7 +830,7 @@ export default function createPostGraphileHttpRequestHandler( variables, operationName, }, - (graphqlContext: GraphileResolverContext) => { + (graphqlContext: GraphileEngine.GraphileResolverContext) => { pgRole = graphqlContext.pgRole; const graphqlResult = executeGraphql( gqlSchema, @@ -847,7 +842,7 @@ export default function createPostGraphileHttpRequestHandler( ); const { getExplainResults } = graphqlContext; if (typeof getExplainResults === "function") { - return Promise.resolve(graphqlResult).then(async obj => ({ + return Promise.resolve(graphqlResult).then(async (obj) => ({ ...obj, // Add our explain data explain: await getExplainResults(), @@ -1005,7 +1000,7 @@ export default function createPostGraphileHttpRequestHandler( const res = b as ServerResponse; const next = c || finalHandler(req, res); - // Execute our request handler. If the request errored out, call `next` with the error. + // Execute our request handler. If the request triggered an error, call `next` with the error. requestHandler(req, res, next).catch(next); } }; diff --git a/packages/postgraphile/src/postgraphile/http/liveSubscribe.ts b/packages/postgraphile/src/postgraphile/http/liveSubscribe.ts index 16d040ead4..d33ff1f0e4 100644 --- a/packages/postgraphile/src/postgraphile/http/liveSubscribe.ts +++ b/packages/postgraphile/src/postgraphile/http/liveSubscribe.ts @@ -20,7 +20,6 @@ import { } from "graphql"; import mapAsyncIterator from "./mapAsyncIterator"; import { isAsyncIterable } from "iterall"; -import { GraphileResolverContext } from "postgraphile-core"; type mixed = any; @@ -28,7 +27,7 @@ export default function liveSubscribe( argsOrSchema: any | GraphQLSchema, document: DocumentNode, rootValue?: any, - contextValue?: GraphileResolverContext, + contextValue?: GraphileEngine.GraphileResolverContext, variableValues?: { [key: string]: any }, operationName?: string, fieldResolver?: GraphQLFieldResolver, @@ -63,7 +62,7 @@ function liveSubscribeImpl( schema: GraphQLSchema, document: DocumentNode, rootValue?: any, - contextValue?: GraphileResolverContext, + contextValue?: GraphileEngine.GraphileResolverContext, variableValues?: { [key: string]: any }, operationName?: string, fieldResolver?: GraphQLFieldResolver, @@ -113,7 +112,7 @@ function liveSubscribeImpl( // Resolve the Source Stream, then map every source value to a // ExecutionResult value as described above. return sourcePromise.then( - resultOrStream => + (resultOrStream) => // Note: Flow can't refine isAsyncIterable, so explicit casts are used. isAsyncIterable(resultOrStream) ? mapAsyncIterator( diff --git a/packages/postgraphile/src/postgraphile/http/mapAsyncIterator.ts b/packages/postgraphile/src/postgraphile/http/mapAsyncIterator.ts index 353141d7ac..3752cf245f 100644 --- a/packages/postgraphile/src/postgraphile/http/mapAsyncIterator.ts +++ b/packages/postgraphile/src/postgraphile/http/mapAsyncIterator.ts @@ -74,7 +74,7 @@ function asyncMapValue( value: T, callback: (val: T) => PromiseOrValue, ): Promise { - return new Promise(resolve => resolve(callback(value))); + return new Promise((resolve) => resolve(callback(value))); } function iteratorResult(value: T) { diff --git a/packages/postgraphile/src/postgraphile/http/subscriptions.ts b/packages/postgraphile/src/postgraphile/http/subscriptions.ts index fe48ffda49..5bb19ec451 100644 --- a/packages/postgraphile/src/postgraphile/http/subscriptions.ts +++ b/packages/postgraphile/src/postgraphile/http/subscriptions.ts @@ -24,7 +24,6 @@ import parseUrl from "parseurl"; import { pluginHookFromOptions } from "../pluginHook"; import { isEmpty } from "./createPostGraphileHttpRequestHandler"; import liveSubscribe from "./liveSubscribe"; -import { GraphileResolverContext } from "postgraphile-core"; interface Deferred extends Promise { resolve: (input?: T | PromiseLike | undefined) => void; @@ -99,7 +98,7 @@ export async function enhanceHttpServerWithSubscriptions< }; const addContextForSocketAndOpId = ( - context: GraphileResolverContext, + context: GraphileEngine.GraphileResolverContext, ws: WebSocket, opId: string, ): Deferred => { @@ -118,7 +117,7 @@ export async function enhanceHttpServerWithSubscriptions< for (const middleware of middlewares) { // TODO: add Koa support await new Promise((resolve, reject): void => { - middleware(req, res, err => (err ? reject(err) : resolve())); + middleware(req, res, (err) => (err ? reject(err) : resolve())); }); } }; @@ -173,7 +172,7 @@ export async function enhanceHttpServerWithSubscriptions< const getContext = ( socket: WebSocket, opId: string, - ): Promise => { + ): Promise => { return new Promise((resolve, reject): void => { reqResFromSocket(socket) .then(({ req, res }) => @@ -181,7 +180,7 @@ export async function enhanceHttpServerWithSubscriptions< req, res, { singleStatement: true }, - context => { + (context) => { const promise = addContextForSocketAndOpId(context, socket, opId); resolve(promise["context"]); return promise; @@ -200,7 +199,7 @@ export async function enhanceHttpServerWithSubscriptions< const { pathname = "" } = parseUrl(req) || {}; const isGraphqlRoute = pathname === externalUrlBase + graphqlRoute; if (isGraphqlRoute) { - wss.handleUpgrade(req, socket, head, ws => { + wss.handleUpgrade(req, socket, head, (ws) => { wss.emit("connection", ws, req); }); } @@ -332,7 +331,7 @@ export async function enhanceHttpServerWithSubscriptions< if (validationErrors.length) { const error = new Error( "Query validation failed: \n" + - validationErrors.map(e => e.message).join("\n"), + validationErrors.map((e) => e.message).join("\n"), ); error["errors"] = validationErrors; return Promise.reject(error); diff --git a/packages/postgraphile/src/postgraphile/pluginHook.ts b/packages/postgraphile/src/postgraphile/pluginHook.ts index 6e3daa88e9..7e665eb3d2 100644 --- a/packages/postgraphile/src/postgraphile/pluginHook.ts +++ b/packages/postgraphile/src/postgraphile/pluginHook.ts @@ -1,6 +1,6 @@ import { AddFlagFn } from "./cli"; import { Server, IncomingMessage } from "http"; -import { HttpRequestHandler, PostGraphileOptions } from "../interfaces"; +import { HttpRequestHandler } from "../interfaces"; import { WithPostGraphileContextFn } from "./withPostGraphileContext"; // @ts-ignore import { version } from "../../package.json"; @@ -45,14 +45,14 @@ export interface PostGraphilePlugin { "cli:flags:add:workarounds"?: HookFn; // tslint:disable-next-line no-any "cli:library:options"?: HookFn< - PostGraphileOptions, + GraphileEngine.PostGraphileOptions, { config: any; cliOptions: any } >; "cli:server:middleware"?: HookFn; "cli:server:created"?: HookFn; "cli:greeting"?: HookFn>; - "postgraphile:options"?: HookFn; + "postgraphile:options"?: HookFn; "postgraphile:validationRules:static"?: HookFn; "postgraphile:graphiql:html"?: HookFn; "postgraphile:http:handler"?: HookFn; @@ -176,7 +176,7 @@ export function makePluginHook( } export function pluginHookFromOptions( - options: PostGraphileOptions, + options: GraphileEngine.PostGraphileOptions, ): PluginHookFn { if (typeof options.pluginHook === "function") { return options.pluginHook; diff --git a/packages/postgraphile/src/postgraphile/postgraphile.ts b/packages/postgraphile/src/postgraphile/postgraphile.ts index 6a9e8d6026..63bcb94471 100644 --- a/packages/postgraphile/src/postgraphile/postgraphile.ts +++ b/packages/postgraphile/src/postgraphile/postgraphile.ts @@ -9,11 +9,11 @@ import { import createPostGraphileHttpRequestHandler from "./http/createPostGraphileHttpRequestHandler"; import exportPostGraphileSchema from "./schema/exportPostGraphileSchema"; import { pluginHookFromOptions } from "./pluginHook"; -import { PostGraphileOptions, mixed, HttpRequestHandler } from "../interfaces"; +import { mixed, HttpRequestHandler } from "../interfaces"; import chalk from "chalk"; import { debugPgClient } from "./withPostGraphileContext"; -const sleep = (ms: number) => new Promise(resolve => setTimeout(resolve, ms)); +const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)); // tslint:disable-next-line no-any function isPlainObject(obj: any) { @@ -32,7 +32,7 @@ export interface PostgraphileSchemaBuilder< > { _emitter: EventEmitter; getGraphQLSchema: () => Promise; - options: PostGraphileOptions; + options: GraphileEngine.PostGraphileOptions; } /** @@ -46,7 +46,7 @@ export function getPostgraphileSchemaBuilder< >( pgPool: Pool, schema: string | Array, - incomingOptions: PostGraphileOptions, + incomingOptions: GraphileEngine.PostGraphileOptions, ): PostgraphileSchemaBuilder { if (incomingOptions.live && incomingOptions.subscriptions == null) { // live implies subscriptions @@ -105,7 +105,7 @@ export function getPostgraphileSchemaBuilder< pgPool, pgSchemas, options, - newSchema => { + (newSchema) => { gqlSchema = newSchema; _emitter.emit("schemas:changed"); exportGqlSchema(gqlSchema); @@ -172,14 +172,14 @@ export default function postgraphile< >( poolOrConfig?: Pool | PoolConfig | string, schema?: string | Array, - options?: PostGraphileOptions, + options?: GraphileEngine.PostGraphileOptions, ): HttpRequestHandler; export default function postgraphile< Request extends IncomingMessage = IncomingMessage, Response extends ServerResponse = ServerResponse >( poolOrConfig?: Pool | PoolConfig | string, - options?: PostGraphileOptions, + options?: GraphileEngine.PostGraphileOptions, ): HttpRequestHandler; export default function postgraphile< Request extends IncomingMessage = IncomingMessage, @@ -189,13 +189,13 @@ export default function postgraphile< schemaOrOptions?: | string | Array - | PostGraphileOptions, - maybeOptions?: PostGraphileOptions, + | GraphileEngine.PostGraphileOptions, + maybeOptions?: GraphileEngine.PostGraphileOptions, ): HttpRequestHandler { let schema: string | Array; // These are the raw options we're passed in; getPostgraphileSchemaBuilder // must process them with `pluginHook` before we can rely on them. - let incomingOptions: PostGraphileOptions; + let incomingOptions: GraphileEngine.PostGraphileOptions; // If the second argument is a string or array, it is the schemas so set the // `schema` value and try to use the third argument (or a default) for @@ -232,7 +232,7 @@ export default function postgraphile< // Postgres pool. const pgPool = toPgPool(poolOrConfig); - pgPool.on("error", err => { + pgPool.on("error", (err) => { /* * This handler is required so that client connection errors don't bring * the server down (via `unhandledError`). @@ -245,7 +245,7 @@ export default function postgraphile< console.error("PostgreSQL client generated error: ", err.message); }); - pgPool.on("connect", pgClient => { + pgPool.on("connect", (pgClient) => { // Enhance our Postgres client with debugging stuffs. debugPgClient(pgClient, !!options.allowExplain); }); diff --git a/packages/postgraphile/src/postgraphile/schema/exportPostGraphileSchema.ts b/packages/postgraphile/src/postgraphile/schema/exportPostGraphileSchema.ts index a8657bc529..02281d1875 100644 --- a/packages/postgraphile/src/postgraphile/schema/exportPostGraphileSchema.ts +++ b/packages/postgraphile/src/postgraphile/schema/exportPostGraphileSchema.ts @@ -2,11 +2,10 @@ import { readFile as origReadFile, writeFile as origWriteFile } from "fs"; import { graphql, GraphQLSchema, - introspectionQuery, + getIntrospectionQuery, printSchema, lexicographicSortSchema, } from "graphql"; -import { PostGraphileOptions } from "../../interfaces"; import { promisify } from "util"; const readFile = promisify(origReadFile); @@ -32,7 +31,7 @@ async function writeFileIfDiffers( */ export default async function exportPostGraphileSchema( schema: GraphQLSchema, - options: PostGraphileOptions = {}, + options: GraphileEngine.PostGraphileOptions = {}, ): Promise { const jsonPath = typeof options.exportJsonSchemaPath === "string" @@ -51,7 +50,7 @@ export default async function exportPostGraphileSchema( // JSON version if (jsonPath) { - const result = await graphql(finalSchema, introspectionQuery); + const result = await graphql(finalSchema, getIntrospectionQuery()); await writeFileIfDiffers(jsonPath, JSON.stringify(result, null, 2)); } diff --git a/packages/postgraphile/src/postgraphile/withPostGraphileContext.ts b/packages/postgraphile/src/postgraphile/withPostGraphileContext.ts index 98475c3fe2..895e8d01a2 100644 --- a/packages/postgraphile/src/postgraphile/withPostGraphileContext.ts +++ b/packages/postgraphile/src/postgraphile/withPostGraphileContext.ts @@ -10,10 +10,7 @@ import { WithPostGraphileContextOptions, GraphileClaims, } from "../interfaces"; -import { - formatSQLForDebugging, - GraphileResolverContext, -} from "postgraphile-core"; +import { formatSQLForDebugging } from "postgraphile-core"; const undefinedIfEmpty = ( o?: Array | string | RegExp, @@ -22,7 +19,9 @@ const undefinedIfEmpty = ( export type WithPostGraphileContextFn = ( options: WithPostGraphileContextOptions, - callback: (context: GraphileResolverContext) => Promise | TResult, + callback: ( + context: GraphileEngine.GraphileResolverContext, + ) => Promise | TResult, ) => Promise; const debugPg = createDebugger("postgraphile:postgres"); @@ -59,7 +58,7 @@ function simpleWithPgClient(pgPool: Pool) { if (cached) { return cached; } - const func: WithAuthenticatedPgClientFunction = async cb => { + const func: WithAuthenticatedPgClientFunction = async (cb) => { const pgClient = await pgPool.connect(); try { return await cb(pgClient); @@ -73,7 +72,9 @@ function simpleWithPgClient(pgPool: Pool) { const withDefaultPostGraphileContext = async ( options: WithPostGraphileContextOptions, - callback: (context: GraphileResolverContext) => Promise | TResult, + callback: ( + context: GraphileEngine.GraphileResolverContext, + ) => Promise | TResult, ): Promise => { const { pgPool, @@ -164,7 +165,7 @@ const withDefaultPostGraphileContext = async ( // Now we've caught as many errors as we can at this stage, let's create a DB connection. const withAuthenticatedPgClient: WithAuthenticatedPgClientFunction = !needTransaction ? simpleWithPgClient(pgPool) - : async cb => { + : async (cb) => { // Connect a new Postgres client const pgClient = await pgPool.connect(); @@ -226,7 +227,7 @@ const withDefaultPostGraphileContext = async ( ); } // Generate an authenticated client on the fly - return withAuthenticatedPgClient(pgClient => + return withAuthenticatedPgClient((pgClient) => pgClient.query(textOrQueryOptions, values), ); }, @@ -238,7 +239,7 @@ const withDefaultPostGraphileContext = async ( jwtClaims, }); } else { - return withAuthenticatedPgClient(async pgClient => { + return withAuthenticatedPgClient(async (pgClient) => { let results: Promise> | null = null; if (explain) { pgClient.startExplain(); @@ -293,7 +294,9 @@ const withDefaultPostGraphileContext = async ( */ async function withPostGraphileContext( options: WithPostGraphileContextOptions, - callback: (context: GraphileResolverContext) => Promise | TResult, + callback: ( + context: GraphileEngine.GraphileResolverContext, + ) => Promise | TResult, ): Promise { const pluginHook = pluginHookFromOptions(options); const withContext = pluginHook( @@ -435,7 +438,7 @@ async function getSettingsForPgClientTransaction({ const localSettings: Array<[string, string]> = []; // Set the custom provided settings before jwt claims and role are set - // this prevents an accidentional overwriting + // this prevents an accidental overwriting if (pgSettings && typeof pgSettings === "object") { for (const key in pgSettings) { if ( @@ -499,7 +502,7 @@ declare module "pg" { } /** - * Adds debug logging funcionality to a Postgres client. + * Adds debug logging functionality to a Postgres client. */ // tslint:disable no-any export function debugPgClient( @@ -525,7 +528,7 @@ export function debugPgClient( } return ( await Promise.all( - results.map(async r => { + results.map(async (r) => { const { result: resultPromise, ...rest } = r; const result = await resultPromise; const firstKey = result && result[0] && Object.keys(result[0])[0]; @@ -557,7 +560,7 @@ export function debugPgClient( if (debugPg.enabled || debugPgNotice.enabled || allowExplain) { // tslint:disable-next-line only-arrow-functions - pgClient.query = function(...args: Array): any { + pgClient.query = function (...args: Array): any { const [a, b, c] = args; // If we understand it (and it uses the promises API) if ( diff --git a/packages/postgraphile/tsconfig.json b/packages/postgraphile/tsconfig.json index cf27ed8134..37ba4ea637 100644 --- a/packages/postgraphile/tsconfig.json +++ b/packages/postgraphile/tsconfig.json @@ -19,9 +19,6 @@ "examples", "utils", "resources", - "src/postgraphile/graphiql", - "__tests__", - "**/__tests__", - "*-test.js" + "src/postgraphile/graphiql" ] } diff --git a/packages/postgraphiql/jest.config.js b/packages/postgraphiql/jest.config.js new file mode 100644 index 0000000000..cf8e7e8f9a --- /dev/null +++ b/packages/postgraphiql/jest.config.js @@ -0,0 +1 @@ +module.exports = require("../../jest.config.base")(__dirname); diff --git a/packages/postgraphiql/package.json b/packages/postgraphiql/package.json index 348d51a8ed..32216ecbc7 100644 --- a/packages/postgraphiql/package.json +++ b/packages/postgraphiql/package.json @@ -4,12 +4,17 @@ "version": "1.0.0", "homepage": "https://graphile.org/postgraphile/", "dependencies": { - "graphiql": "^0.17.0", - "graphiql-explorer": "^0.4.5", - "graphql": "^14.5.8", - "react": "^16.12.0", - "react-dom": "^16.12.0", - "react-scripts": "^3.0.0" + "@babel/runtime": "^7.9.6", + "@types/ws": "^7.2.4", + "graphiql": "^0.17.5", + "graphiql-explorer": "^0.6.2", + "graphql": "^14.0.0", + "prop-types": "^15.7.2", + "react": "^16.13.1", + "react-dom": "^16.13.1", + "react-scripts": "^3.4.1", + "subscriptions-transport-ws": "^0.9.16", + "ws": "^7.3.0" }, "browserslist": [ ">0.2%", @@ -17,5 +22,20 @@ "not ie <= 11", "not op_mini all" ], - "devDependencies": {} + "devDependencies": { + "@types/jest": "^25.2.3", + "@typescript-eslint/eslint-plugin": "^2.34.0", + "@typescript-eslint/parser": "^2.34.0", + "babel-eslint": "^10.0.0", + "eslint": "^6.8.0", + "eslint-config-react-app": "^5.2.1", + "eslint-plugin-flowtype": "^4.0.0", + "eslint-plugin-import": "^2.20.2", + "eslint-plugin-jsx-a11y": "^6.2.3", + "eslint-plugin-react": "^7.20.0", + "eslint-plugin-react-hooks": "^2.0.0", + "jest": "^26.0.1", + "ts-node": "^8.10.1", + "typescript": "^3.9.2" + } } diff --git a/packages/postgraphiql/src/components/PostGraphiQL.js b/packages/postgraphiql/src/components/PostGraphiQL.js index d44795e81d..7c71cfa68a 100644 --- a/packages/postgraphiql/src/components/PostGraphiQL.js +++ b/packages/postgraphiql/src/components/PostGraphiQL.js @@ -64,7 +64,7 @@ const { }, } = window; -const isValidJSON = json => { +const isValidJSON = (json) => { try { JSON.parse(json); return true; @@ -117,7 +117,7 @@ class PostGraphiQL extends React.PureComponent { : null, }; - _onEditQuery = query => { + _onEditQuery = (query) => { this.setState({ query }); }; @@ -148,7 +148,7 @@ class PostGraphiQL extends React.PureComponent { const unlisten4 = this.subscriptionsClient.on("reconnected", () => { this.setState({ socketStatus: "reconnected", error: null }); setTimeout(() => { - this.setState(state => + this.setState((state) => state.socketStatus === "reconnected" ? { socketStatus: "connected" } : {}, @@ -158,7 +158,7 @@ class PostGraphiQL extends React.PureComponent { const unlisten5 = this.subscriptionsClient.on("reconnecting", () => { this.setState({ socketStatus: "reconnecting" }); }); - const unlisten6 = this.subscriptionsClient.on("error", error => { + const unlisten6 = this.subscriptionsClient.on("error", (error) => { // tslint:disable-next-line no-console console.error("Client connection error", error); this.setState({ @@ -203,7 +203,7 @@ class PostGraphiQL extends React.PureComponent { ); eventSource.addEventListener( "error", - error => { + (error) => { // tslint:disable-next-line no-console console.error( "PostGraphile: Failed to connect to event stream", @@ -253,7 +253,7 @@ class PostGraphiQL extends React.PureComponent { const position = relevantMousePos; - const def = parsedQuery.definitions.find(definition => { + const def = parsedQuery.definitions.find((definition) => { if (!definition.loc) { console.log("Missing location information for definition"); return false; @@ -352,16 +352,16 @@ class PostGraphiQL extends React.PureComponent { /** * Routes the request either to the subscriptionClient or to executeQuery. */ - fetcher = graphQLParams => { + fetcher = (graphQLParams) => { this.cancelSubscription(); if (isSubscription(graphQLParams) && this.subscriptionsClient) { return { - subscribe: observer => { + subscribe: (observer) => { observer.next("Waiting for subscription to yield data…"); // Hack because GraphiQL logs `[object Object]` on error otherwise const oldError = observer.error; - observer.error = function(error) { + observer.error = function (error) { let stack; try { stack = JSON.stringify(error, null, 2); @@ -507,7 +507,7 @@ class PostGraphiQL extends React.PureComponent { return { ...navStackItem, def: nextField }; } }) - .filter(_ => _); + .filter((_) => _); // This is very hacky but works. React is cool. if (allOk) { @@ -541,7 +541,7 @@ class PostGraphiQL extends React.PureComponent { } }; - handleToggleHistory = e => { + handleToggleHistory = (e) => { this.graphiql.handleToggleHistory(e); }; @@ -561,7 +561,7 @@ class PostGraphiQL extends React.PureComponent { handleToggleSaveHeaders = () => { this.setState( - oldState => ({ saveHeadersText: !oldState.saveHeadersText }), + (oldState) => ({ saveHeadersText: !oldState.saveHeadersText }), () => { this._storage.set( STORAGE_KEYS.SAVE_HEADERS_TEXT, @@ -577,7 +577,7 @@ class PostGraphiQL extends React.PureComponent { handleToggleExplain = () => { this.setState( - oldState => ({ explain: !oldState.explain }), + (oldState) => ({ explain: !oldState.explain }), () => { this._storage.set( STORAGE_KEYS.EXPLAIN, @@ -674,7 +674,7 @@ class PostGraphiQL extends React.PureComponent { ); } - setGraphiqlRef = ref => { + setGraphiqlRef = (ref) => { if (!ref) { return; } @@ -706,7 +706,7 @@ class PostGraphiQL extends React.PureComponent { schema={schema} query={this.state.query} onEdit={this._onEditQuery} - onRunOperation={operationName => + onRunOperation={(operationName) => this.graphiql.handleRunQuery(operationName) } explorerIsOpen={this.state.explorerIsOpen} @@ -770,7 +770,7 @@ class PostGraphiQL extends React.PureComponent {

{this.state.explainResult && this.state.explainResult.length ? (
- {this.state.explainResult.map(res => ( + {this.state.explainResult.map((res) => (

Result from SQL{" "} @@ -840,7 +840,7 @@ class PostGraphiQL extends React.PureComponent { valid={this.state.headersTextValid} toggleSaveHeaders={this.handleToggleSaveHeaders} saveHeaders={this.state.saveHeadersText} - onChange={e => + onChange={(e) => this.setState( { headersText: e.target.value, diff --git a/packages/postgraphiql/tsconfig.json b/packages/postgraphiql/tsconfig.json new file mode 100644 index 0000000000..6af146b047 --- /dev/null +++ b/packages/postgraphiql/tsconfig.json @@ -0,0 +1,9 @@ +{ + "compilerOptions": { + "allowJs": true, + "noEmit": true, + "rootDir": "src", + "outDir": "./dist" + }, + "include": ["src/**/*"] +} diff --git a/packages/subscriptions-lds/__tests__/helpers.ts b/packages/subscriptions-lds/__tests__/helpers.ts index 8a72af353c..4080ba710a 100644 --- a/packages/subscriptions-lds/__tests__/helpers.ts +++ b/packages/subscriptions-lds/__tests__/helpers.ts @@ -24,7 +24,7 @@ export async function withClient( } export async function query(text: string, values: Array = []) { - return withClient(DATABASE_URL, pgClient => pgClient.query(text, values)); + return withClient(DATABASE_URL, (pgClient) => pgClient.query(text, values)); } export async function withLiveSource( @@ -45,7 +45,7 @@ export async function withLiveSource( export async function withLiveSourceAndClient( callback: (ls: LDSLiveSource, pgClient: PoolClient) => Promise, ): Promise { - return withClient(DATABASE_URL, pgClient => - withLiveSource(liveSource => callback(liveSource, pgClient)), + return withClient(DATABASE_URL, (pgClient) => + withLiveSource((liveSource) => callback(liveSource, pgClient)), ); } diff --git a/packages/subscriptions-lds/__tests__/main.test.ts b/packages/subscriptions-lds/__tests__/main.test.ts index 95b7fb7852..4d4642393a 100644 --- a/packages/subscriptions-lds/__tests__/main.test.ts +++ b/packages/subscriptions-lds/__tests__/main.test.ts @@ -2,7 +2,7 @@ import { LDSLiveSource } from "../src/PgLDSSourcePlugin"; import { DATABASE_URL, query, withLiveSourceAndClient } from "./helpers"; const fooTableSpec = { namespaceName: "app_public", name: "foo" }; -const sleep = (ms: number) => new Promise(resolve => setTimeout(resolve, ms)); +const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)); test("cleans up", async () => { const l = new LDSLiveSource({ @@ -36,7 +36,7 @@ test("reports changes", () => liveSource.subscribeCollection( collectionWithPredicateMockCb, fooTableSpec, - d => d.name === "Ciao", + (d) => d.name === "Ciao", ); const { rows: [{ id }], diff --git a/packages/subscriptions-lds/jest.config.js b/packages/subscriptions-lds/jest.config.js new file mode 100644 index 0000000000..cf8e7e8f9a --- /dev/null +++ b/packages/subscriptions-lds/jest.config.js @@ -0,0 +1 @@ +module.exports = require("../../jest.config.base")(__dirname); diff --git a/packages/subscriptions-lds/package.json b/packages/subscriptions-lds/package.json index 2c12b72f93..46296a32ee 100644 --- a/packages/subscriptions-lds/package.json +++ b/packages/subscriptions-lds/package.json @@ -31,14 +31,26 @@ "homepage": "https://github.com/graphile/graphile-engine/tree/master/packages/subscriptions-lds#readme", "dependencies": { "@graphile/lds": "4.7.0", - "@types/ws": "^6.0.1", - "ws": "^7.0.0" + "@types/ws": "^7.2.4", + "tslib": "^2.0.0", + "ws": "^7.3.0" }, "peerDependencies": { - "postgraphile-core": ">4.3.1 <5" + "graphile-build": "4.7.0", + "graphile-build-pg": "4.7.0" }, "devDependencies": { - "pg": ">=6.1.0 <9" + "@types/jest": "^25.2.3", + "@types/pg": "^7.14.3", + "graphile-build": "4.7.0", + "graphile-build-pg": "4.7.0", + "graphql": "^14.6.0", + "graphql-parse-resolve-info": "4.7.0", + "jest": "^26.0.1", + "pg": "^8.2.1", + "postgraphile-core": ">4.3.1 <5", + "ts-node": "^8.10.1", + "typescript": "^3.9.2" }, "files": [ "dist" diff --git a/packages/subscriptions-lds/src/PgLDSSourcePlugin.ts b/packages/subscriptions-lds/src/PgLDSSourcePlugin.ts index c2fc0722f3..796b5e6c16 100644 --- a/packages/subscriptions-lds/src/PgLDSSourcePlugin.ts +++ b/packages/subscriptions-lds/src/PgLDSSourcePlugin.ts @@ -1,16 +1,19 @@ /* eslint-disable no-console */ -import { Plugin } from "postgraphile-core"; +import "graphile-build"; +import "graphile-build-pg"; import WebSocket from "ws"; import subscribeToLogicalDecoding, { Announcement, LDSubscription, } from "@graphile/lds"; -declare module "graphile-build" { - interface GraphileBuildOptions { - pgLDSUrl?: string; - ldsSleepDuration?: number; - ldsTablePattern?: string; +declare global { + namespace GraphileEngine { + interface GraphileBuildOptions { + pgLDSUrl?: string; + ldsSleepDuration?: number; + ldsTablePattern?: string; + } } } @@ -143,7 +146,7 @@ export class LDSLiveSource { ); } this.ws = new WebSocket(this.url); - this.ws.on("error", err => { + this.ws.on("error", (err) => { console.error("Websocket error: ", err.message); this.reconnect(); }); @@ -318,7 +321,7 @@ function getSafeNumber(str: string | undefined): number | undefined { return undefined; } -const PgLDSSourcePlugin: Plugin = async function( +const PgLDSSourcePlugin: GraphileEngine.Plugin = async function ( builder, { pgLDSUrl = process.env.LDS_URL, @@ -338,7 +341,7 @@ const PgLDSSourcePlugin: Plugin = async function( }); builder.hook( "build", - build => { + (build) => { build.liveCoordinator.registerSource("pg", source); return build; }, @@ -346,7 +349,7 @@ const PgLDSSourcePlugin: Plugin = async function( ); if (process.env.NODE_ENV === "test") { // Need a way of releasing it - builder.hook("finalize", schema => { + builder.hook("finalize", (schema) => { Object.defineProperty(schema, "__pgLdsSource", { value: source, enumerable: false, diff --git a/release b/release index 60aaa97312..03854f3fdb 100755 --- a/release +++ b/release @@ -1,7 +1,7 @@ #!/bin/bash set -e echo "BOOTSTRAP" -yarn lerna bootstrap +# yarn lerna bootstrap echo "CLEANING BUILT FILES" yarn clean echo "PREPACKING" @@ -14,7 +14,9 @@ TAG="${1:-next}" # Only shift if there's something to shift if [ "x$1" != "x" ]; then shift; fi; -npx lerna publish --exact --npm-tag="$TAG" "$@" +echo 'NEED A PUBLISH COMMAND!' +exit 1 +# npx lerna publish --exact --npm-tag="$TAG" "$@" yarn run changelog git add CHANGELOG.md git commit -m"chore: update CHANGELOG" diff --git a/scripts/ci b/scripts/ci index c38cb2080f..f2b7575c42 100755 --- a/scripts/ci +++ b/scripts/ci @@ -4,22 +4,18 @@ export PATH="$PATH:`pwd`/node_modules/.bin" set -e echo "[1/4]: Building Code" -npm run prepack:all +yarn prepack:all echo "[2/4]: Checking Code Format" -npm run prettier:check +yarn prettier:check echo "[3/4]: Linting Code" -npm run eslint +yarn eslint . echo "[4/4]: Testing Project" -for I in packages/*/; do - if [[ "$PGVERSION" != "9.6" || ( "$I" != "packages/lds/" && "$I" != "packages/subscriptions-lds/" ) ]]; then - cd $I - npm run test - cd - - fi; -done +yarn run pretest +yarn workspaces foreach run test +yarn run posttest echo "" echo "CI completed succesfully 🎉" diff --git a/scripts/prepack-all b/scripts/prepack-all index 98ab0332c9..baec2bd986 100755 --- a/scripts/prepack-all +++ b/scripts/prepack-all @@ -2,10 +2,10 @@ set -e # Make sure any generated assets are built -lerna run preprepack --stream +yarn workspaces foreach --parallel --topological run preprepack # Build everything in the relevant order according to TypeScript project references tsc -b # Now run `prepack` on each package (slightly parallelised) -lerna run prepack --stream +yarn workspaces foreach --parallel --topological run prepack diff --git a/scripts/pretest b/scripts/pretest index 8e2f7ae8b8..57e894df95 100755 --- a/scripts/pretest +++ b/scripts/pretest @@ -62,9 +62,11 @@ if [ $SERVER_VERSION_NUM -ge 100000 ]; then psql -Xqv ON_ERROR_STOP=1 -f packages/postgraphile-core/__tests__/pg10-schema.sql "$TEST_DATABASE_URL" fi; -dropdb --if-exists lds_test -createdb lds_test -psql -X1v ON_ERROR_STOP=1 -v VERBOSITY=verbose -f packages/lds/__tests__/schema.sql lds_test +psql -Xqv ON_ERROR_STOP=1 "$TEST_DATABASE_URL" <= 8" - -"@sinonjs/commons@^1.7.0": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.7.2.tgz#505f55c74e0272b43f6c52d81946bed7058fc0e2" - integrity sha512-+DUO6pnp3udV/v2VfUWgaY5BIE1IfT7lLfeDzPVeMT1XKkaAp9LgSI9x5RtrFQoZ9Oi0PgXQQHPaoKu7dCjVxw== - dependencies: - type-detect "4.0.8" - -"@svgr/babel-plugin-add-jsx-attribute@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-4.2.0.tgz#dadcb6218503532d6884b210e7f3c502caaa44b1" - integrity sha512-j7KnilGyZzYr/jhcrSYS3FGWMZVaqyCG0vzMCwzvei0coIkczuYMcniK07nI0aHJINciujjH11T72ICW5eL5Ig== - -"@svgr/babel-plugin-remove-jsx-attribute@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-4.2.0.tgz#297550b9a8c0c7337bea12bdfc8a80bb66f85abc" - integrity sha512-3XHLtJ+HbRCH4n28S7y/yZoEQnRpl0tvTZQsHqvaeNXPra+6vE5tbRliH3ox1yZYPCxrlqaJT/Mg+75GpDKlvQ== - -"@svgr/babel-plugin-remove-jsx-empty-expression@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-4.2.0.tgz#c196302f3e68eab6a05e98af9ca8570bc13131c7" - integrity sha512-yTr2iLdf6oEuUE9MsRdvt0NmdpMBAkgK8Bjhl6epb+eQWk6abBaX3d65UZ3E3FWaOwePyUgNyNCMVG61gGCQ7w== - -"@svgr/babel-plugin-replace-jsx-attribute-value@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-4.2.0.tgz#310ec0775de808a6a2e4fd4268c245fd734c1165" - integrity sha512-U9m870Kqm0ko8beHawRXLGLvSi/ZMrl89gJ5BNcT452fAjtF2p4uRzXkdzvGJJJYBgx7BmqlDjBN/eCp5AAX2w== - -"@svgr/babel-plugin-svg-dynamic-title@^4.3.3": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-4.3.3.tgz#2cdedd747e5b1b29ed4c241e46256aac8110dd93" - integrity sha512-w3Be6xUNdwgParsvxkkeZb545VhXEwjGMwExMVBIdPQJeyMQHqm9Msnb2a1teHBqUYL66qtwfhNkbj1iarCG7w== - -"@svgr/babel-plugin-svg-em-dimensions@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-4.2.0.tgz#9a94791c9a288108d20a9d2cc64cac820f141391" - integrity sha512-C0Uy+BHolCHGOZ8Dnr1zXy/KgpBOkEUYY9kI/HseHVPeMbluaX3CijJr7D4C5uR8zrc1T64nnq/k63ydQuGt4w== - -"@svgr/babel-plugin-transform-react-native-svg@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-4.2.0.tgz#151487322843359a1ca86b21a3815fd21a88b717" - integrity sha512-7YvynOpZDpCOUoIVlaaOUU87J4Z6RdD6spYN4eUb5tfPoKGSF9OG2NuhgYnq4jSkAxcpMaXWPf1cePkzmqTPNw== - -"@svgr/babel-plugin-transform-svg-component@^4.2.0": - version "4.2.0" - resolved "https://registry.yarnpkg.com/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-4.2.0.tgz#5f1e2f886b2c85c67e76da42f0f6be1b1767b697" - integrity sha512-hYfYuZhQPCBVotABsXKSCfel2slf/yvJY8heTVX1PCTaq/IgASq1IyxPPKJ0chWREEKewIU/JMSsIGBtK1KKxw== - -"@svgr/babel-preset@^4.3.3": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@svgr/babel-preset/-/babel-preset-4.3.3.tgz#a75d8c2f202ac0e5774e6bfc165d028b39a1316c" - integrity sha512-6PG80tdz4eAlYUN3g5GZiUjg2FMcp+Wn6rtnz5WJG9ITGEF1pmFdzq02597Hn0OmnQuCVaBYQE1OVFAnwOl+0A== - dependencies: - "@svgr/babel-plugin-add-jsx-attribute" "^4.2.0" - "@svgr/babel-plugin-remove-jsx-attribute" "^4.2.0" - "@svgr/babel-plugin-remove-jsx-empty-expression" "^4.2.0" - "@svgr/babel-plugin-replace-jsx-attribute-value" "^4.2.0" - "@svgr/babel-plugin-svg-dynamic-title" "^4.3.3" - "@svgr/babel-plugin-svg-em-dimensions" "^4.2.0" - "@svgr/babel-plugin-transform-react-native-svg" "^4.2.0" - "@svgr/babel-plugin-transform-svg-component" "^4.2.0" - -"@svgr/core@^4.3.3": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@svgr/core/-/core-4.3.3.tgz#b37b89d5b757dc66e8c74156d00c368338d24293" - integrity sha512-qNuGF1QON1626UCaZamWt5yedpgOytvLj5BQZe2j1k1B8DUG4OyugZyfEwBeXozCUwhLEpsrgPrE+eCu4fY17w== - dependencies: - "@svgr/plugin-jsx" "^4.3.3" - camelcase "^5.3.1" - cosmiconfig "^5.2.1" - -"@svgr/hast-util-to-babel-ast@^4.3.2": - version "4.3.2" - resolved "https://registry.yarnpkg.com/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-4.3.2.tgz#1d5a082f7b929ef8f1f578950238f630e14532b8" - integrity sha512-JioXclZGhFIDL3ddn4Kiq8qEqYM2PyDKV0aYno8+IXTLuYt6TOgHUbUAAFvqtb0Xn37NwP0BTHglejFoYr8RZg== - dependencies: - "@babel/types" "^7.4.4" - -"@svgr/plugin-jsx@^4.3.3": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@svgr/plugin-jsx/-/plugin-jsx-4.3.3.tgz#e2ba913dbdfbe85252a34db101abc7ebd50992fa" - integrity sha512-cLOCSpNWQnDB1/v+SUENHH7a0XY09bfuMKdq9+gYvtuwzC2rU4I0wKGFEp1i24holdQdwodCtDQdFtJiTCWc+w== - dependencies: - "@babel/core" "^7.4.5" - "@svgr/babel-preset" "^4.3.3" - "@svgr/hast-util-to-babel-ast" "^4.3.2" - svg-parser "^2.0.0" - -"@svgr/plugin-svgo@^4.3.1": - version "4.3.1" - resolved "https://registry.yarnpkg.com/@svgr/plugin-svgo/-/plugin-svgo-4.3.1.tgz#daac0a3d872e3f55935c6588dd370336865e9e32" - integrity sha512-PrMtEDUWjX3Ea65JsVCwTIXuSqa3CG9px+DluF1/eo9mlDrgrtFE7NE/DjdhjJgSM9wenlVBzkzneSIUgfUI/w== - dependencies: - cosmiconfig "^5.2.1" - merge-deep "^3.0.2" - svgo "^1.2.2" - -"@svgr/webpack@4.3.3": - version "4.3.3" - resolved "https://registry.yarnpkg.com/@svgr/webpack/-/webpack-4.3.3.tgz#13cc2423bf3dff2d494f16b17eb7eacb86895017" - integrity sha512-bjnWolZ6KVsHhgyCoYRFmbd26p8XVbulCzSG53BDQqAr+JOAderYK7CuYrB3bDjHJuF6LJ7Wrr42+goLRV9qIg== - dependencies: - "@babel/core" "^7.4.5" - "@babel/plugin-transform-react-constant-elements" "^7.0.0" - "@babel/preset-env" "^7.4.5" - "@babel/preset-react" "^7.0.0" - "@svgr/core" "^4.3.3" - "@svgr/plugin-jsx" "^4.3.3" - "@svgr/plugin-svgo" "^4.3.1" - loader-utils "^1.2.3" - -"@types/accepts@*": - version "1.3.5" - resolved "https://registry.yarnpkg.com/@types/accepts/-/accepts-1.3.5.tgz#c34bec115cfc746e04fe5a059df4ce7e7b391575" - integrity sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ== - dependencies: - "@types/node" "*" - -"@types/babel__core@^7.1.0", "@types/babel__core@^7.1.7": - version "7.1.7" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.7.tgz#1dacad8840364a57c98d0dd4855c6dd3752c6b89" - integrity sha512-RL62NqSFPCDK2FM1pSDH0scHpJvsXtZNiYlMB73DgPBaG1E38ZYVL+ei5EkWRbr+KC4YNiAUNBnRj+bgwpgjMw== - dependencies: - "@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.1" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.1.tgz#4901767b397e8711aeb99df8d396d7ba7b7f0e04" - integrity sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" - integrity sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.0.11" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.11.tgz#1ae3010e8bf8851d324878b42acec71986486d18" - integrity sha512-ddHK5icION5U6q11+tV2f9Mo6CZVuT8GJKld2q9LqHSZbvLbH34Kcu2yFGckZut453+eQU6btIA3RihmnRgI+Q== - dependencies: - "@babel/types" "^7.3.0" - -"@types/body-parser@*": - version "1.19.0" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.0.tgz#0685b3c47eb3006ffed117cdd55164b61f80538f" - integrity sha512-W98JrE0j2K78swW4ukqMleo8R7h/pFETjM2DQ90MF6XK2i4LO4W3gQ71Lt4w3bfm2EvVSyWHplECvB5sK22yFQ== - dependencies: - "@types/connect" "*" - "@types/node" "*" - -"@types/chalk@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@types/chalk/-/chalk-2.2.0.tgz#b7f6e446f4511029ee8e3f43075fb5b73fbaa0ba" - integrity sha512-1zzPV9FDe1I/WHhRkf9SNgqtRJWZqrBWgu7JGveuHmmyR9CnAPCie2N/x+iHrgnpYBIcCJWHBoMRv2TRWktsvw== - dependencies: - chalk "*" - -"@types/color-name@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" - integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== - -"@types/commander@^2.12.2": - version "2.12.2" - resolved "https://registry.yarnpkg.com/@types/commander/-/commander-2.12.2.tgz#183041a23842d4281478fa5d23c5ca78e6fd08ae" - integrity sha512-0QEFiR8ljcHp9bAbWxecjVRuAMr16ivPiGOw6KFQBVrVd0RQIcM3xKdRisH2EDWgVWujiYtHwhSkSUoAAGzH7Q== - dependencies: - commander "*" - -"@types/connect@*": - version "3.4.33" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.33.tgz#31610c901eca573b8713c3330abc6e6b9f588546" - integrity sha512-2+FrkXY4zllzTNfJth7jOqEHC+enpLeGslEhpnTAkg21GkRrWV4SsAtqchtT4YS9/nODBU2/ZfsBY2X4J/dX7A== - dependencies: - "@types/node" "*" - -"@types/content-disposition@*": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@types/content-disposition/-/content-disposition-0.5.3.tgz#0aa116701955c2faa0717fc69cd1596095e49d96" - integrity sha512-P1bffQfhD3O4LW0ioENXUhZ9OIa0Zn+P7M+pWgkCKaT53wVLSq0mrKksCID/FGHpFhRSxRGhgrQmfhRuzwtKdg== - -"@types/cookiejar@*": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@types/cookiejar/-/cookiejar-2.1.1.tgz#90b68446364baf9efd8e8349bb36bd3852b75b80" - integrity sha512-aRnpPa7ysx3aNW60hTiCtLHlQaIFsXFCgQlpakNgDNVFzbtusSY8PwjAQgRWfSk0ekNoBjO51eQRB6upA9uuyw== - -"@types/cookies@*": - version "0.7.4" - resolved "https://registry.yarnpkg.com/@types/cookies/-/cookies-0.7.4.tgz#26dedf791701abc0e36b5b79a5722f40e455f87b" - integrity sha512-oTGtMzZZAVuEjTwCjIh8T8FrC8n/uwy+PG0yTvQcdZ7etoel7C7/3MSd7qrukENTgQtotG7gvBlBojuVs7X5rw== - dependencies: - "@types/connect" "*" - "@types/express" "*" - "@types/keygrip" "*" - "@types/node" "*" - -"@types/debug@4.1.5", "@types/debug@^4.1.4": - version "4.1.5" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.5.tgz#b14efa8852b7768d898906613c23f688713e02cd" - integrity sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ== - -"@types/eslint-visitor-keys@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" - integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== - -"@types/events@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/events/-/events-3.0.0.tgz#2862f3f58a9a7f7c3e78d79f130dd4d71c25c2a7" - integrity sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g== - -"@types/express-serve-static-core@*": - version "4.17.5" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.5.tgz#a00ac7dadd746ae82477443e4d480a6a93ea083c" - integrity sha512-578YH5Lt88AKoADy0b2jQGwJtrBxezXtVe/MBqWXKZpqx91SnC0pVkVCcxcytz3lWW+cHBYDi3Ysh0WXc+rAYw== - dependencies: - "@types/node" "*" - "@types/range-parser" "*" - -"@types/express@*": - version "4.17.6" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.6.tgz#6bce49e49570507b86ea1b07b806f04697fac45e" - integrity sha512-n/mr9tZI83kd4azlPG5y997C/M4DNABK9yErhFM6hKdym4kkmd9j0vtsJyjFIwfRBxtrxZtAfGZCNRIBMFLK5w== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "*" - "@types/qs" "*" - "@types/serve-static" "*" - -"@types/finalhandler@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@types/finalhandler/-/finalhandler-1.1.0.tgz#7c62084bac116918c55ad3f884f7c68ca8921124" - integrity sha512-iMD07b+UPNuqA6cm3yjbTJUfFfZNZpDc6MGQGK60jy5sdqX1W4wUC5RAi3FhaW72+RmVnzYxba8byPP9FWL8/w== - dependencies: - "@types/node" "*" - -"@types/glob@^7.1.1": - version "7.1.1" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.1.tgz#aa59a1c6e3fbc421e07ccd31a944c30eba521575" - integrity sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w== - dependencies: - "@types/events" "*" - "@types/minimatch" "*" - "@types/node" "*" - -"@types/http-assert@*": - version "1.5.1" - resolved "https://registry.yarnpkg.com/@types/http-assert/-/http-assert-1.5.1.tgz#d775e93630c2469c2f980fc27e3143240335db3b" - integrity sha512-PGAK759pxyfXE78NbKxyfRcWYA/KwW17X290cNev/qAsn9eQIxkH4shoNBafH37wewhDG/0p1cHPbK6+SzZjWQ== - -"@types/http-errors@^1.6.1": - version "1.6.3" - resolved "https://registry.yarnpkg.com/@types/http-errors/-/http-errors-1.6.3.tgz#619a55768eab98299e8f76747339f3373f134e69" - integrity sha512-4KCE/agIcoQ9bIfa4sBxbZdnORzRjIw8JNQPLfqoNv7wQl/8f8mRbW68Q8wBsQFoJkPUHGlQYZ9sqi5WpfGSEQ== - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.1.tgz#42995b446db9a48a11a07ec083499a860e9138ff" - integrity sha512-hRJD2ahnnpLgsj6KWMYSrmXkM3rm2Dl1qkx6IOFD5FnuNPXJIG5L0dhgKXCYTRMGzU4n0wImQ/xfmRc4POUFlg== - -"@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.1.tgz#7a8cbf6a406f36c8add871625b278eaf0b0d255a" - integrity sha512-UpYjBi8xefVChsCoBpKShdxTllC9pwISirfoZsUa2AAdQg/Jd2KQGtSbw+ya7GPo7x/wAPlH6JBhKhAsXUEZNA== - dependencies: - "@types/istanbul-lib-coverage" "*" - "@types/istanbul-lib-report" "*" - -"@types/jest@^24.0.11", "@types/jest@^24.0.12": - version "24.9.1" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.9.1.tgz#02baf9573c78f1b9974a5f36778b366aa77bd534" - integrity sha512-Fb38HkXSVA4L8fGKEZ6le5bB8r6MRWlOCZbVuWZcmOMSCd2wCYOwN1ibj8daIoV9naq7aaOZjrLCoCMptKU/4Q== - dependencies: - jest-diff "^24.3.0" - -"@types/json-schema@^7.0.3": - version "7.0.4" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.4.tgz#38fd73ddfd9b55abb1e1b2ed578cb55bd7b7d339" - integrity sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA== - -"@types/json5@^0.0.30": - version "0.0.30" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.30.tgz#44cb52f32a809734ca562e685c6473b5754a7818" - integrity sha512-sqm9g7mHlPY/43fcSNrCYfOeX9zkTTK+euO5E6+CVijSMm5tTjkVdwdqRkY3ljjIAf8679vps5jKUoJBCLsMDA== - -"@types/jsonwebtoken@^8.3.2": - version "8.3.9" - resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-8.3.9.tgz#48da9a49997e4eb046733e6878f583d7448f0594" - integrity sha512-00rI8GbOKuRtoYxltFSRTVUXCRLbuYwln2/nUMPtFU9JGS7if+nnmLjeoFGmqsNCmblPLAaeQ/zMLVsHr6T5bg== - dependencies: - "@types/node" "*" - -"@types/keygrip@*": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@types/keygrip/-/keygrip-1.0.2.tgz#513abfd256d7ad0bf1ee1873606317b33b1b2a72" - integrity sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw== - -"@types/koa-compose@*": - version "3.2.5" - resolved "https://registry.yarnpkg.com/@types/koa-compose/-/koa-compose-3.2.5.tgz#85eb2e80ac50be95f37ccf8c407c09bbe3468e9d" - integrity sha512-B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ== - dependencies: - "@types/koa" "*" - -"@types/koa@*", "@types/koa@^2.0.44": - version "2.11.3" - resolved "https://registry.yarnpkg.com/@types/koa/-/koa-2.11.3.tgz#540ece376581b12beadf9a417dd1731bc31c16ce" - integrity sha512-ABxVkrNWa4O/Jp24EYI/hRNqEVRlhB9g09p48neQp4m3xL1TJtdWk2NyNQSMCU45ejeELMQZBYyfstyVvO2H3Q== - dependencies: - "@types/accepts" "*" - "@types/content-disposition" "*" - "@types/cookies" "*" - "@types/http-assert" "*" - "@types/keygrip" "*" - "@types/koa-compose" "*" - "@types/node" "*" - -"@types/lodash@^4.14.149": - version "4.14.150" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.150.tgz#649fe44684c3f1fcb6164d943c5a61977e8cf0bd" - integrity sha512-kMNLM5JBcasgYscD9x/Gvr6lTAv2NVgsKtet/hm93qMyf/D1pt+7jeEZklKJKxMVmXjxbRVQQGfqDSfipYCO6w== - -"@types/mime@*": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.1.tgz#dc488842312a7f075149312905b5e3c0b054c79d" - integrity sha512-FwI9gX75FgVBJ7ywgnq/P7tw+/o1GUbtP0KzbtusLigAOgIgNISRK0ZPl4qertvXSIE8YbsVJueQ90cDt9YYyw== - -"@types/minimatch@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" - integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== - -"@types/node@*", "@types/node@>= 8", "@types/node@^13.13.4": - version "13.13.4" - resolved "https://registry.yarnpkg.com/@types/node/-/node-13.13.4.tgz#1581d6c16e3d4803eb079c87d4ac893ee7501c2c" - integrity sha512-x26ur3dSXgv5AwKS0lNfbjpCakGIduWU1DU91Zz58ONRWrIKGunmZBNv4P7N+e27sJkiGDsw/3fT4AtsqQBrBA== - -"@types/node@12.7.5": - version "12.7.5" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.7.5.tgz#e19436e7f8e9b4601005d73673b6dc4784ffcc2f" - integrity sha512-9fq4jZVhPNW8r+UYKnxF1e2HkDWOWKM5bC2/7c9wPV835I0aOrVbS/Hw/pWPk2uKrNXQqg9Z959Kz+IYDd5p3w== - -"@types/node@^10.9.4": - version "10.17.21" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.21.tgz#c00e9603399126925806bed2d9a1e37da506965e" - integrity sha512-PQKsydPxYxF1DsAFWmunaxd3sOi3iMt6Zmx/tgaagHYmwJ/9cRH91hQkeJZaUGWbvn0K5HlSVEXkn5U/llWPpQ== - -"@types/node@^12.0.0": - version "12.12.37" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.37.tgz#cb4782d847f801fa58316da5b4801ca3a59ae790" - integrity sha512-4mXKoDptrXAwZErQHrLzpe0FN/0Wmf5JRniSVIdwUrtDf9wnmEV1teCNLBo/TwuXhkK/bVegoEn/wmb+x0AuPg== - -"@types/normalize-package-data@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" - integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== - -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== - -"@types/parseurl@^1.3.1": - version "1.3.1" - resolved "https://registry.yarnpkg.com/@types/parseurl/-/parseurl-1.3.1.tgz#e3cb1102160e48efa59f497c4ec22dee4f3b5b27" - integrity sha1-48sRAhYOSO+ln0l8TsIt7k87Wyc= - dependencies: - "@types/node" "*" - -"@types/pg-types@*": - version "1.11.5" - resolved "https://registry.yarnpkg.com/@types/pg-types/-/pg-types-1.11.5.tgz#1eebbe62b6772fcc75c18957a90f933d155e005b" - integrity sha512-L8ogeT6vDzT1vxlW3KITTCt+BVXXVkLXfZ/XNm6UqbcJgxf+KPO7yjWx7dQQE8RW07KopL10x2gNMs41+IkMGQ== - -"@types/pg@>=6 <8", "@types/pg@^7.11.2", "@types/pg@^7.4.10", "@types/pg@^7.4.14": - version "7.14.3" - resolved "https://registry.yarnpkg.com/@types/pg/-/pg-7.14.3.tgz#eb166e4f4287923890b10ed20371f937938cb995" - integrity sha512-go5zddQ1FrUQHeBvqPzQ1svKo4KKucSwvqLsvwc/EIuQ9sxDA21b68xc/RwhzAK5pPCnez8NrkYatFIGdJBVvA== - dependencies: - "@types/node" "*" - "@types/pg-types" "*" - -"@types/pluralize@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/pluralize/-/pluralize-0.0.29.tgz#6ffa33ed1fc8813c469b859681d09707eb40d03c" - integrity sha512-BYOID+l2Aco2nBik+iYS4SZX0Lf20KPILP5RGmM1IgzdwNdTs0eebiFriOPcej1sX9mLnSoiNte5zcFxssgpGA== - -"@types/prettier@^1.19.0": - version "1.19.1" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-1.19.1.tgz#33509849f8e679e4add158959fdb086440e9553f" - integrity sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ== - -"@types/q@^1.5.1": - version "1.5.2" - resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.2.tgz#690a1475b84f2a884fd07cd797c00f5f31356ea8" - integrity sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw== - -"@types/qs@*": - version "6.9.1" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.1.tgz#937fab3194766256ee09fcd40b781740758617e7" - integrity sha512-lhbQXx9HKZAPgBkISrBcmAcMpZsmpe/Cd/hY7LGZS5OfkySUBItnPZHgQPssWYUET8elF+yCFBbP1Q0RZPTdaw== - -"@types/range-parser@*": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c" - integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA== - -"@types/semver@^6.2.0": - version "6.2.1" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-6.2.1.tgz#a236185670a7860f1597cf73bea2e16d001461ba" - integrity sha512-+beqKQOh9PYxuHvijhVl+tIHvT6tuwOrE9m14zd+MT2A38KoKZhh7pYJ0SNleLtwDsiIxHDsIk9bv01oOxvSvA== - -"@types/serve-static@*": - version "1.13.3" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.3.tgz#eb7e1c41c4468272557e897e9171ded5e2ded9d1" - integrity sha512-oprSwp094zOglVrXdlo/4bAHtKTAxX6VT8FOZlBKrmyLbNvE1zxZyJ6yikMVtHIvwP45+ZQGJn+FdXGKTozq0g== - dependencies: - "@types/express-serve-static-core" "*" - "@types/mime" "*" - -"@types/stack-utils@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" - integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== - -"@types/superagent@^4.1.4": - version "4.1.7" - resolved "https://registry.yarnpkg.com/@types/superagent/-/superagent-4.1.7.tgz#a7d92d98c490ee0f802a127fdf149b9a114f77a5" - integrity sha512-JSwNPgRYjIC4pIeOqLwWwfGj6iP1n5NE6kNBEbGx2V8H78xCPwx7QpNp9plaI30+W3cFEzJO7BIIsXE+dbtaGg== - dependencies: - "@types/cookiejar" "*" - "@types/node" "*" - -"@types/ws@^6.0.1": - version "6.0.4" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-6.0.4.tgz#7797707c8acce8f76d8c34b370d4645b70421ff1" - integrity sha512-PpPrX7SZW9re6+Ha8ojZG4Se8AZXgf0GK6zmfqEuCsY49LFDNXO3SByp44X3dFEqtB73lkCDAdUazhAjVPiNwg== - dependencies: - "@types/node" "*" - -"@types/yargs-parser@*": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" - integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== - -"@types/yargs@^13.0.0": - version "13.0.8" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.8.tgz#a38c22def2f1c2068f8971acb3ea734eb3c64a99" - integrity sha512-XAvHLwG7UQ+8M4caKIH0ZozIOYay5fQkAgyIXegXT9jPtdIGdhga+sUEdAr1CiG46aB+c64xQEYyEzlwWVTNzA== - dependencies: - "@types/yargs-parser" "*" - -"@types/yargs@^15.0.0": - version "15.0.4" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.4.tgz#7e5d0f8ca25e9d5849f2ea443cf7c402decd8299" - integrity sha512-9T1auFmbPZoxHz0enUFlUuKRy3it01R+hlggyVUMtnCTQRunsQYifnSGb8hET4Xo8yiC0o0r1paW3ud5+rbURg== - dependencies: - "@types/yargs-parser" "*" - -"@typescript-eslint/eslint-plugin@^2.10.0", "@typescript-eslint/eslint-plugin@^2.29.0", "@typescript-eslint/eslint-plugin@^2.3.0": - version "2.30.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.30.0.tgz#312a37e80542a764d96e8ad88a105316cdcd7b05" - integrity sha512-PGejii0qIZ9Q40RB2jIHyUpRWs1GJuHP1pkoCiaeicfwO9z7Fx03NQzupuyzAmv+q9/gFNHu7lo1ByMXe8PNyg== - dependencies: - "@typescript-eslint/experimental-utils" "2.30.0" - functional-red-black-tree "^1.0.1" - regexpp "^3.0.0" - tsutils "^3.17.1" - -"@typescript-eslint/experimental-utils@2.30.0", "@typescript-eslint/experimental-utils@^2.5.0": - version "2.30.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-2.30.0.tgz#9845e868c01f3aed66472c561d4b6bac44809dd0" - integrity sha512-L3/tS9t+hAHksy8xuorhOzhdefN0ERPDWmR9CclsIGOUqGKy6tqc/P+SoXeJRye5gazkuPO0cK9MQRnolykzkA== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/typescript-estree" "2.30.0" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - -"@typescript-eslint/parser@^2.10.0", "@typescript-eslint/parser@^2.29.0", "@typescript-eslint/parser@^2.3.0": - version "2.30.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-2.30.0.tgz#7681c305a6f4341ae2579f5e3a75846c29eee9ce" - integrity sha512-9kDOxzp0K85UnpmPJqUzdWaCNorYYgk1yZmf4IKzpeTlSAclnFsrLjfwD9mQExctLoLoGAUXq1co+fbr+3HeFw== - dependencies: - "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "2.30.0" - "@typescript-eslint/typescript-estree" "2.30.0" - eslint-visitor-keys "^1.1.0" - -"@typescript-eslint/typescript-estree@2.30.0", "@typescript-eslint/typescript-estree@^2.29.0": - version "2.30.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-2.30.0.tgz#1b8e848b55144270255ffbfe4c63291f8f766615" - integrity sha512-nI5WOechrA0qAhnr+DzqwmqHsx7Ulr/+0H7bWCcClDhhWkSyZR5BmTvnBEyONwJCTWHfc5PAQExX24VD26IAVw== - dependencies: - debug "^4.1.1" - eslint-visitor-keys "^1.1.0" - glob "^7.1.6" - is-glob "^4.0.1" - lodash "^4.17.15" - semver "^6.3.0" - tsutils "^3.17.1" - -"@webassemblyjs/ast@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359" - integrity sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ== - dependencies: - "@webassemblyjs/helper-module-context" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/wast-parser" "1.8.5" - -"@webassemblyjs/ast@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964" - integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== - dependencies: - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - -"@webassemblyjs/floating-point-hex-parser@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz#1ba926a2923613edce496fd5b02e8ce8a5f49721" - integrity sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ== - -"@webassemblyjs/floating-point-hex-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4" - integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== - -"@webassemblyjs/helper-api-error@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz#c49dad22f645227c5edb610bdb9697f1aab721f7" - integrity sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA== - -"@webassemblyjs/helper-api-error@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2" - integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== - -"@webassemblyjs/helper-buffer@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz#fea93e429863dd5e4338555f42292385a653f204" - integrity sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q== - -"@webassemblyjs/helper-buffer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00" - integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== - -"@webassemblyjs/helper-code-frame@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz#9a740ff48e3faa3022b1dff54423df9aa293c25e" - integrity sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ== - dependencies: - "@webassemblyjs/wast-printer" "1.8.5" - -"@webassemblyjs/helper-code-frame@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27" - integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== - dependencies: - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/helper-fsm@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz#ba0b7d3b3f7e4733da6059c9332275d860702452" - integrity sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow== - -"@webassemblyjs/helper-fsm@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8" - integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== - -"@webassemblyjs/helper-module-context@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz#def4b9927b0101dc8cbbd8d1edb5b7b9c82eb245" - integrity sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g== - dependencies: - "@webassemblyjs/ast" "1.8.5" - mamacro "^0.0.3" - -"@webassemblyjs/helper-module-context@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07" - integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== - dependencies: - "@webassemblyjs/ast" "1.9.0" - -"@webassemblyjs/helper-wasm-bytecode@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz#537a750eddf5c1e932f3744206551c91c1b93e61" - integrity sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ== - -"@webassemblyjs/helper-wasm-bytecode@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790" - integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== - -"@webassemblyjs/helper-wasm-section@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz#74ca6a6bcbe19e50a3b6b462847e69503e6bfcbf" - integrity sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - -"@webassemblyjs/helper-wasm-section@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346" - integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - -"@webassemblyjs/ieee754@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz#712329dbef240f36bf57bd2f7b8fb9bf4154421e" - integrity sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/ieee754@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4" - integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.8.5.tgz#044edeb34ea679f3e04cd4fd9824d5e35767ae10" - integrity sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/leb128@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95" - integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.8.5.tgz#a8bf3b5d8ffe986c7c1e373ccbdc2a0915f0cedc" - integrity sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw== - -"@webassemblyjs/utf8@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab" - integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== - -"@webassemblyjs/wasm-edit@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz#962da12aa5acc1c131c81c4232991c82ce56e01a" - integrity sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/helper-wasm-section" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - "@webassemblyjs/wasm-opt" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - "@webassemblyjs/wast-printer" "1.8.5" - -"@webassemblyjs/wasm-edit@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf" - integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/helper-wasm-section" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-opt" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - "@webassemblyjs/wast-printer" "1.9.0" - -"@webassemblyjs/wasm-gen@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz#54840766c2c1002eb64ed1abe720aded714f98bc" - integrity sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/ieee754" "1.8.5" - "@webassemblyjs/leb128" "1.8.5" - "@webassemblyjs/utf8" "1.8.5" - -"@webassemblyjs/wasm-gen@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c" - integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wasm-opt@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz#b24d9f6ba50394af1349f510afa8ffcb8a63d264" - integrity sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-buffer" "1.8.5" - "@webassemblyjs/wasm-gen" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - -"@webassemblyjs/wasm-opt@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61" - integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-buffer" "1.9.0" - "@webassemblyjs/wasm-gen" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - -"@webassemblyjs/wasm-parser@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz#21576f0ec88b91427357b8536383668ef7c66b8d" - integrity sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-api-error" "1.8.5" - "@webassemblyjs/helper-wasm-bytecode" "1.8.5" - "@webassemblyjs/ieee754" "1.8.5" - "@webassemblyjs/leb128" "1.8.5" - "@webassemblyjs/utf8" "1.8.5" - -"@webassemblyjs/wasm-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e" - integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-wasm-bytecode" "1.9.0" - "@webassemblyjs/ieee754" "1.9.0" - "@webassemblyjs/leb128" "1.9.0" - "@webassemblyjs/utf8" "1.9.0" - -"@webassemblyjs/wast-parser@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz#e10eecd542d0e7bd394f6827c49f3df6d4eefb8c" - integrity sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/floating-point-hex-parser" "1.8.5" - "@webassemblyjs/helper-api-error" "1.8.5" - "@webassemblyjs/helper-code-frame" "1.8.5" - "@webassemblyjs/helper-fsm" "1.8.5" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/wast-parser@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914" - integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/floating-point-hex-parser" "1.9.0" - "@webassemblyjs/helper-api-error" "1.9.0" - "@webassemblyjs/helper-code-frame" "1.9.0" - "@webassemblyjs/helper-fsm" "1.9.0" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/wast-printer@1.8.5": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz#114bbc481fd10ca0e23b3560fa812748b0bae5bc" - integrity sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/wast-parser" "1.8.5" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/wast-printer@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899" - integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/wast-parser" "1.9.0" - "@xtuc/long" "4.2.2" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -"@zkochan/cmd-shim@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@zkochan/cmd-shim/-/cmd-shim-3.1.0.tgz#2ab8ed81f5bb5452a85f25758eb9b8681982fd2e" - integrity sha512-o8l0+x7C7sMZU3v9GuJIAU10qQLtwR1dtRQIOmlNMtyaqhmpXOzx1HWiYoWfmmf9HHZoAkXpc9TM9PQYF9d4Jg== - dependencies: - is-windows "^1.0.0" - mkdirp-promise "^5.0.1" - mz "^2.5.0" - -JSONStream@^1.0.4, JSONStream@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - -abab@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.3.tgz#623e2075e02eb2d3f2475e49f99c91846467907a" - integrity sha512-tsFzPpcttalNjFBCFMqsKYQcWxxen1pgJR56by//QwvJc4/OUS3kPOOttx2tSIfjsylB0pYu7f5D3K1RCxUnUg== - -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -abstract-logging@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/abstract-logging/-/abstract-logging-2.0.0.tgz#08a85814946c98ef06f4256ad470aba1886d4490" - integrity sha512-/oA9z7JszpIioo6J6dB79LVUgJ3eD3cxkAmdCkvWWS+Y9tPtALs1rLqOekLUXUbYqM2fB9TTK0ibAyZJJOP/CA== - -accepts@^1.3.5, accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" - integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== - dependencies: - mime-types "~2.1.24" - negotiator "0.6.2" - -acorn-globals@^4.1.0, acorn-globals@^4.3.0, acorn-globals@^4.3.2: - version "4.3.4" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7" - integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A== - dependencies: - acorn "^6.0.1" - acorn-walk "^6.0.1" - -acorn-jsx@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe" - integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ== - -acorn-walk@^6.0.1: - version "6.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c" - integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA== - -acorn@^5.5.3: - version "5.7.4" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e" - integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg== - -acorn@^6.0.1, acorn@^6.0.4, acorn@^6.2.1, acorn@^6.4.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.1.tgz#531e58ba3f51b9dacb9a6646ca4debf5b14ca474" - integrity sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA== - -acorn@^7.1.0, acorn@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.1.tgz#e35668de0b402f359de515c5482a1ab9f89a69bf" - integrity sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg== - -add-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa" - integrity sha1-anmQQ3ynNtXhKI25K9MmbV9csqo= - -address@1.1.2, address@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/address/-/address-1.1.2.tgz#bf1116c9c758c51b7a933d296b72c221ed9428b6" - integrity sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA== - -adjust-sourcemap-loader@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/adjust-sourcemap-loader/-/adjust-sourcemap-loader-2.0.0.tgz#6471143af75ec02334b219f54bc7970c52fb29a4" - integrity sha512-4hFsTsn58+YjrU9qKzML2JSSDqKvN8mUGQ0nNIrfPi8hmIONT4L3uUaT6MKdMsZ9AjsU6D2xDkZxCkbQPxChrA== - dependencies: - assert "1.4.1" - camelcase "5.0.0" - loader-utils "1.2.3" - object-path "0.11.4" - regex-parser "2.2.10" - -agent-base@4, agent-base@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" - integrity sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg== - dependencies: - es6-promisify "^5.0.0" - -agent-base@~4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.2.1.tgz#d89e5999f797875674c07d87f260fc41e83e8ca9" - integrity sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg== - dependencies: - es6-promisify "^5.0.0" - -agentkeepalive@^3.4.1: - version "3.5.2" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-3.5.2.tgz#a113924dd3fa24a0bc3b78108c450c2abee00f67" - integrity sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ== - dependencies: - humanize-ms "^1.2.1" - -aggregate-error@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0" - integrity sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv-errors@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" - integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== - -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da" - integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ== - -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.11.0, ajv@^6.12.0, ajv@^6.5.5: - version "6.12.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.2.tgz#c629c5eced17baf314437918d2da88c99d5958cd" - integrity sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ== - 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" - -ajv@~6.10.2: - version "6.10.2" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52" - integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw== - dependencies: - fast-deep-equal "^2.0.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -alphanum-sort@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" - integrity sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM= - -ansi-align@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" - integrity sha1-w2rsy6VjuJzrVW82kPCx2eNUf38= - dependencies: - string-width "^2.0.0" - -ansi-colors@^3.0.0: - version "3.2.4" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf" - integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== - -ansi-escapes@^3.0.0, ansi-escapes@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b" - integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ== - -ansi-escapes@^4.2.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" - integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== - dependencies: - type-fest "^0.11.0" - -ansi-html@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ansi-html/-/ansi-html-0.0.7.tgz#813584021962a9e9e6fd039f940d12f56ca7859e" - integrity sha1-gTWEAhliqenm/QOflA0S9WynhZ4= - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - -ansi-regex@^4.0.0, ansi-regex@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" - integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" - integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= - -ansi-styles@^3.2.0, ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" - integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== - dependencies: - "@types/color-name" "^1.1.1" - color-convert "^2.0.1" - -any-promise@^1.0.0, any-promise@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" - integrity sha1-q8av7tzqUugJzcA3au0845Y10X8= - -anymatch@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" - integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw== - dependencies: - micromatch "^3.1.4" - normalize-path "^2.1.1" - -anymatch@^3.0.3, anymatch@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -aproba@^1.0.3, aproba@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" - integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== - -aproba@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" - integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== - -archy@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" - integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= - -are-we-there-yet@~1.1.2: - version "1.1.5" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" - integrity sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w== - dependencies: - delegates "^1.0.0" - readable-stream "^2.0.6" - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -aria-query@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc" - integrity sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w= - dependencies: - ast-types-flow "0.0.7" - commander "^2.11.0" - -arity-n@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/arity-n/-/arity-n-1.0.4.tgz#d9e76b11733e08569c0847ae7b39b2860b30b745" - integrity sha1-2edrEXM+CFacCEeuezmyhgswt0U= - -arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= - -arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - -arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= - -array-differ@^2.0.3: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-2.1.0.tgz#4b9c1c3f14b906757082925769e8ab904f4801b1" - integrity sha512-KbUpJgx909ZscOc/7CLATBFam7P1Z1QRQInvgT0UztM9Q72aGKCunKASAl7WNW0tnPmPyEMeMhdsfWhfmW037w== - -array-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" - integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= - -array-find-index@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" - integrity sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E= - -array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= - -array-flatten@^2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" - integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== - -array-ify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece" - integrity sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4= - -array-includes@^3.0.3, array-includes@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348" - integrity sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0" - is-string "^1.0.5" - -array-union@^1.0.1, array-union@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= - dependencies: - array-uniq "^1.0.1" - -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= - -array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= - -array.prototype.flat@^1.2.1: - version "1.2.3" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.3.tgz#0de82b426b0318dbfdb940089e38b043d37f6c7b" - integrity sha512-gBlRZV0VSmfPIeWfuuy56XZMvbVfbEUnOXUvt3F/eUUUSyzlgLxhEX4YAEpxNAogRGehPSnfXyPtYyKAhkzQhQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - -arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0= - -asap@^2.0.0, asap@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= - -asn1.js@^4.0.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" - integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -asn1@~0.2.3: - version "0.2.4" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" - integrity sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg== - dependencies: - safer-buffer "~2.1.0" - -assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU= - -assert@1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" - integrity sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE= - dependencies: - util "0.10.3" - -assert@^1.1.1: - version "1.5.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" - integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== - dependencies: - object-assign "^4.1.1" - util "0.10.3" - -assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= - -ast-types-flow@0.0.7, ast-types-flow@^0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" - integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= - -astral-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" - integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== - -async-each@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf" - integrity sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ== - -async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" - integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== - -async@^2.6.2: - version "2.6.3" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.3.tgz#d72625e2344a3656e3a3ad4fa749fa83299d82ff" - integrity sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== - dependencies: - lodash "^4.17.14" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -atob-lite@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/atob-lite/-/atob-lite-2.0.0.tgz#0fef5ad46f1bd7a8502c65727f0367d5ee43d696" - integrity sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY= - -atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - -atomic-sleep@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" - integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== - -autoprefixer@^9.6.1: - version "9.7.6" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.7.6.tgz#63ac5bbc0ce7934e6997207d5bb00d68fa8293a4" - integrity sha512-F7cYpbN7uVVhACZTeeIeealwdGM6wMtfWARVLTy5xmKtgVdBNJvbDRoCK3YO1orcs7gv/KwYlb3iXwu9Ug9BkQ== - dependencies: - browserslist "^4.11.1" - caniuse-lite "^1.0.30001039" - chalk "^2.4.2" - normalize-range "^0.1.2" - num2fraction "^1.2.2" - postcss "^7.0.27" - postcss-value-parser "^4.0.3" - -avvio@^6.3.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/avvio/-/avvio-6.4.1.tgz#bb4127ca8b9b9c322d742a9b40962dfdca5d68b1" - integrity sha512-jeZaUK+F7MuWSNT3VHfltskPJZKqVeTWQqBA4SDaDoLaQ0lb5TOgLeQT1BEuhTIUNISCDCGY3zjYyVmQQ48gKA== - dependencies: - archy "^1.0.0" - debug "^4.0.0" - fastq "^1.6.0" - -aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= - -aws4@^1.8.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.9.1.tgz#7e33d8f7d449b3f673cd72deb9abdc552dbe528e" - integrity sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug== - -axobject-query@^2.0.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.1.2.tgz#2bdffc0371e643e5f03ba99065d5179b9ca79799" - integrity sha512-ICt34ZmrVt8UQnvPl6TVyDTkmhXmAyAT4Jh5ugfGUX4MOrZ+U/ZY6/sdylRw3qGNr9Ub5AJsaHeDMzNLehRdOQ== - -babel-code-frame@^6.22.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" - integrity sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= - dependencies: - chalk "^1.1.3" - esutils "^2.0.2" - js-tokens "^3.0.2" - -babel-eslint@10.1.0, babel-eslint@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" - integrity sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg== - dependencies: - "@babel/code-frame" "^7.0.0" - "@babel/parser" "^7.7.0" - "@babel/traverse" "^7.7.0" - "@babel/types" "^7.7.0" - eslint-visitor-keys "^1.0.0" - resolve "^1.12.0" - -babel-extract-comments@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/babel-extract-comments/-/babel-extract-comments-1.0.0.tgz#0a2aedf81417ed391b85e18b4614e693a0351a21" - integrity sha512-qWWzi4TlddohA91bFwgt6zO/J0X+io7Qp184Fw0m2JYRSTZnJbFR8+07KmzudHCZgOiKRCrjhylwv9Xd8gfhVQ== - dependencies: - babylon "^6.18.0" - -babel-jest@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-24.9.0.tgz#3fc327cb8467b89d14d7bc70e315104a783ccd54" - integrity sha512-ntuddfyiN+EhMw58PTNL1ph4C9rECiQXjI4nMMBKBaNjXvqLdkXpPRcMSr4iyBrJg/+wz9brFUD6RhOAT6r4Iw== - dependencies: - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/babel__core" "^7.1.0" - babel-plugin-istanbul "^5.1.0" - babel-preset-jest "^24.9.0" - chalk "^2.4.2" - slash "^2.0.0" - -babel-jest@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-25.4.0.tgz#409eb3e2ddc2ad9a92afdbb00991f1633f8018d0" - integrity sha512-p+epx4K0ypmHuCnd8BapfyOwWwosNCYhedetQey1awddtfmEX0MmdxctGl956uwUmjwXR5VSS5xJcGX9DvdIog== - dependencies: - "@jest/transform" "^25.4.0" - "@jest/types" "^25.4.0" - "@types/babel__core" "^7.1.7" - babel-plugin-istanbul "^6.0.0" - babel-preset-jest "^25.4.0" - chalk "^3.0.0" - slash "^3.0.0" - -babel-loader@8.1.0, babel-loader@^8.0.6: - version "8.1.0" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.1.0.tgz#c611d5112bd5209abe8b9fa84c3e4da25275f1c3" - integrity sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw== - dependencies: - find-cache-dir "^2.1.0" - loader-utils "^1.4.0" - mkdirp "^0.5.3" - pify "^4.0.1" - schema-utils "^2.6.5" - -babel-plugin-dynamic-import-node@^2.3.0: - version "2.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" - integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== - dependencies: - object.assign "^4.1.0" - -babel-plugin-istanbul@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-5.2.0.tgz#df4ade83d897a92df069c4d9a25cf2671293c854" - integrity sha512-5LphC0USA8t4i1zCtjbbNb6jJj/9+X6P37Qfirc/70EQ34xKlMW+a1RHGwxGI+SwWpNwZ27HqvzAobeqaXwiZw== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - find-up "^3.0.0" - istanbul-lib-instrument "^3.3.0" - test-exclude "^5.2.3" - -babel-plugin-istanbul@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" - integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^4.0.0" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-24.9.0.tgz#4f837091eb407e01447c8843cbec546d0002d756" - integrity sha512-2EMA2P8Vp7lG0RAzr4HXqtYwacfMErOuv1U3wrvxHX6rD1sV6xS3WXG3r8TRQ2r6w8OhvSdWt+z41hQNwNm3Xw== - dependencies: - "@types/babel__traverse" "^7.0.6" - -babel-plugin-jest-hoist@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-25.4.0.tgz#0c122c1b93fb76f52d2465be2e8069e798e9d442" - integrity sha512-M3a10JCtTyKevb0MjuH6tU+cP/NVQZ82QPADqI1RQYY1OphztsCeIeQmTsHmF/NS6m0E51Zl4QNsI3odXSQF5w== - dependencies: - "@types/babel__traverse" "^7.0.6" - -babel-plugin-macros@2.8.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-2.8.0.tgz#0f958a7cc6556b1e65344465d99111a1e5e10138" - integrity sha512-SEP5kJpfGYqYKpBrj5XU3ahw5p5GOHJ0U5ssOSQ/WBVdwkD2Dzlce95exQTs3jOVWPPKLBN2rlEWkCK7dSmLvg== - dependencies: - "@babel/runtime" "^7.7.2" - cosmiconfig "^6.0.0" - resolve "^1.12.0" - -babel-plugin-named-asset-import@^0.3.6: - version "0.3.6" - resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.6.tgz#c9750a1b38d85112c9e166bf3ef7c5dbc605f4be" - integrity sha512-1aGDUfL1qOOIoqk9QKGIo2lANk+C7ko/fqH0uIyC71x3PEGz0uVP8ISgfEsFuG+FKmjHTvFK/nNM8dowpmUxLA== - -babel-plugin-syntax-object-rest-spread@^6.8.0: - version "6.13.0" - resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" - integrity sha1-/WU28rzhODb/o6VFjEkDpZe7O/U= - -babel-plugin-transform-object-rest-spread@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" - integrity sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY= - dependencies: - babel-plugin-syntax-object-rest-spread "^6.8.0" - babel-runtime "^6.26.0" - -babel-plugin-transform-react-remove-prop-types@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz#f2edaf9b4c6a5fbe5c1d678bfb531078c1555f3a" - integrity sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA== - -babel-preset-current-node-syntax@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-0.1.2.tgz#fb4a4c51fe38ca60fede1dc74ab35eb843cb41d6" - integrity sha512-u/8cS+dEiK1SFILbOC8/rUI3ml9lboKuuMvZ/4aQnQmhecQAgPw5ew066C1ObnEAUmlx7dv/s2z52psWEtLNiw== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@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-preset-jest@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-24.9.0.tgz#192b521e2217fb1d1f67cf73f70c336650ad3cdc" - integrity sha512-izTUuhE4TMfTRPF92fFwD2QfdXaZW08qvWTFCI51V8rW5x00UuPgc3ajRoWofXOuxjfcOM5zzSYsQS3H8KGCAg== - dependencies: - "@babel/plugin-syntax-object-rest-spread" "^7.0.0" - babel-plugin-jest-hoist "^24.9.0" - -babel-preset-jest@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-25.4.0.tgz#10037cc32b751b994b260964629e49dc479abf4c" - integrity sha512-PwFiEWflHdu3JCeTr0Pb9NcHHE34qWFnPQRVPvqQITx4CsDCzs6o05923I10XvLvn9nNsRHuiVgB72wG/90ZHQ== - dependencies: - babel-plugin-jest-hoist "^25.4.0" - babel-preset-current-node-syntax "^0.1.2" - -babel-preset-react-app@^9.1.2: - version "9.1.2" - resolved "https://registry.yarnpkg.com/babel-preset-react-app/-/babel-preset-react-app-9.1.2.tgz#54775d976588a8a6d1a99201a702befecaf48030" - integrity sha512-k58RtQOKH21NyKtzptoAvtAODuAJJs3ZhqBMl456/GnXEQ/0La92pNmwgWoMn5pBTrsvk3YYXdY7zpY4e3UIxA== - dependencies: - "@babel/core" "7.9.0" - "@babel/plugin-proposal-class-properties" "7.8.3" - "@babel/plugin-proposal-decorators" "7.8.3" - "@babel/plugin-proposal-nullish-coalescing-operator" "7.8.3" - "@babel/plugin-proposal-numeric-separator" "7.8.3" - "@babel/plugin-proposal-optional-chaining" "7.9.0" - "@babel/plugin-transform-flow-strip-types" "7.9.0" - "@babel/plugin-transform-react-display-name" "7.8.3" - "@babel/plugin-transform-runtime" "7.9.0" - "@babel/preset-env" "7.9.0" - "@babel/preset-react" "7.9.1" - "@babel/preset-typescript" "7.9.0" - "@babel/runtime" "7.9.0" - babel-plugin-macros "2.8.0" - babel-plugin-transform-react-remove-prop-types "0.4.24" - -babel-runtime@^6.26.0: - version "6.26.0" - resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" - integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= - dependencies: - core-js "^2.4.0" - regenerator-runtime "^0.11.0" - -babylon@^6.18.0: - version "6.18.0" - resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" - integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== - -backo2@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" - integrity sha1-MasayLEpNjRj41s+u2n038+6eUc= - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -base64-js@^1.0.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== - -base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - -batch@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" - integrity sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= - -bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4= - dependencies: - tweetnacl "^0.14.3" - -before-after-hook@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.1.0.tgz#b6c03487f44e24200dd30ca5e6a1979c5d2fb635" - integrity sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A== - -big.js@^3.1.3: - version "3.2.0" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" - integrity sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q== - -big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - -binary-extensions@^1.0.0: - version "1.13.1" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65" - integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== - -binary-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" - integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== - -bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - -bluebird@^3.5.1, bluebird@^3.5.3, bluebird@^3.5.5: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: - version "4.11.8" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" - integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== - -body-parser@1.19.0, body-parser@^1.15.2: - version "1.19.0" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a" - integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== - 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" - -bonjour@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5" - integrity sha1-jokKGD2O6aI5OzhExpGkK897yfU= - 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" - -boolbase@^1.0.0, boolbase@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" - integrity sha1-aN/1++YMUes3cl6p4+0xDcwed24= - -boxen@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" - integrity sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw== - dependencies: - ansi-align "^2.0.0" - camelcase "^4.0.0" - chalk "^2.0.1" - cli-boxes "^1.0.0" - string-width "^2.0.0" - term-size "^1.2.0" - widest-line "^2.0.0" - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^2.3.1, braces@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - -braces@^3.0.1, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -brorand@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= - -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - -browser-resolve@^1.11.3: - version "1.11.3" - resolved "https://registry.yarnpkg.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6" - integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ== - dependencies: - resolve "1.1.7" - -browserify-aes@^1.0.0, browserify-aes@^1.0.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - 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" - -browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - -browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -browserify-rsa@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= - dependencies: - bn.js "^4.1.0" - randombytes "^2.0.1" - -browserify-sign@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" - integrity sha1-qk62jl17ZYuqa/alfmMMvXqT0pg= - dependencies: - bn.js "^4.1.1" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.2" - elliptic "^6.0.0" - inherits "^2.0.1" - parse-asn1 "^5.0.0" - -browserify-zlib@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" - integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== - dependencies: - pako "~1.0.5" - -browserslist@4.10.0: - version "4.10.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.10.0.tgz#f179737913eaf0d2b98e4926ac1ca6a15cbcc6a9" - integrity sha512-TpfK0TDgv71dzuTsEAlQiHeWQ/tiPqgNZVdv046fvNtBZrjbv2O3TsWCDU0AWGJJKCF/KsjNdLzR9hXOsh/CfA== - dependencies: - caniuse-lite "^1.0.30001035" - electron-to-chromium "^1.3.378" - node-releases "^1.1.52" - pkg-up "^3.1.0" - -browserslist@^4.0.0, browserslist@^4.11.1, browserslist@^4.6.2, browserslist@^4.6.4, browserslist@^4.8.5, browserslist@^4.9.1: - version "4.12.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.12.0.tgz#06c6d5715a1ede6c51fc39ff67fd647f740b656d" - integrity sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg== - dependencies: - caniuse-lite "^1.0.30001043" - electron-to-chromium "^1.3.413" - node-releases "^1.1.53" - pkg-up "^2.0.0" - -bs-logger@0.x: - version "0.2.6" - resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" - integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== - dependencies: - fast-json-stable-stringify "2.x" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -btoa-lite@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/btoa-lite/-/btoa-lite-1.0.0.tgz#337766da15801210fdd956c22e9c6891ab9d0337" - integrity sha1-M3dm2hWAEhD92VbCLpxokaudAzc= - -buffer-equal-constant-time@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819" - integrity sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk= - -buffer-from@1.x, buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -buffer-indexof@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c" - integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== - -buffer-writer@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/buffer-writer/-/buffer-writer-2.0.0.tgz#ce7eb81a38f7829db09c873f2fbb792c0c98ec04" - integrity sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw== - -buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= - -buffer@^4.3.0: - version "4.9.2" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" - integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - isarray "^1.0.0" - -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= - -builtins@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" - integrity sha1-y5T662HIaWRR2zZTThQi+U8K7og= - -byline@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/byline/-/byline-5.0.0.tgz#741c5216468eadc457b03410118ad77de8c1ddb1" - integrity sha1-dBxSFkaOrcRXsDQQEYrXfejB3bE= - -byte-size@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/byte-size/-/byte-size-5.0.1.tgz#4b651039a5ecd96767e71a3d7ed380e48bed4191" - integrity sha512-/XuKeqWocKsYa/cBY1YbSJSWWqTi4cFgr9S6OyM7PBaPbr9zvNGwWP33vt0uqGhwDdN+y3yhbXVILEUpnwEWGw== - -bytes@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" - integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= - -bytes@3.1.0, bytes@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" - integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== - -cacache@^12.0.0, cacache@^12.0.2, cacache@^12.0.3: - version "12.0.4" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c" - integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== - dependencies: - bluebird "^3.5.5" - chownr "^1.1.1" - figgy-pudding "^3.5.1" - glob "^7.1.4" - graceful-fs "^4.1.15" - infer-owner "^1.0.3" - lru-cache "^5.1.1" - mississippi "^3.0.0" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - promise-inflight "^1.0.1" - rimraf "^2.6.3" - ssri "^6.0.1" - unique-filename "^1.1.1" - y18n "^4.0.0" - -cacache@^13.0.1: - version "13.0.1" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-13.0.1.tgz#a8000c21697089082f85287a1aec6e382024a71c" - integrity sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w== - dependencies: - chownr "^1.1.2" - figgy-pudding "^3.5.1" - fs-minipass "^2.0.0" - glob "^7.1.4" - graceful-fs "^4.2.2" - infer-owner "^1.0.4" - lru-cache "^5.1.1" - minipass "^3.0.0" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.2" - mkdirp "^0.5.1" - move-concurrently "^1.0.1" - p-map "^3.0.0" - promise-inflight "^1.0.1" - rimraf "^2.7.1" - ssri "^7.0.0" - unique-filename "^1.1.1" - -cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - -cache-content-type@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-content-type/-/cache-content-type-1.0.1.tgz#035cde2b08ee2129f4a8315ea8f00a00dba1453c" - integrity sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA== - dependencies: - mime-types "^2.1.18" - ylru "^1.2.0" - -call-me-maybe@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.1.tgz#26d208ea89e37b5cbde60250a15f031c16a4d66b" - integrity sha1-JtII6onje1y95gJQoV8DHBak1ms= - -caller-callsite@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134" - integrity sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ= - dependencies: - callsites "^2.0.0" - -caller-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4" - integrity sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ= - dependencies: - caller-callsite "^2.0.0" - -callsites@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" - integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camel-case@3.0.x: - version "3.0.0" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" - integrity sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M= - dependencies: - no-case "^2.2.0" - upper-case "^1.1.1" - -camel-case@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.1.tgz#1fc41c854f00e2f7d0139dfeba1542d6896fe547" - integrity sha512-7fa2WcG4fYFkclIvEmxBbTvmibwF2/agfEBc6q3lOpVu0A13ltLsA+Hr/8Hp6kp5f+G7hKi6t8lys6XxP+1K6Q== - dependencies: - pascal-case "^3.1.1" - tslib "^1.10.0" - -camelcase-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" - integrity sha1-MIvur/3ygRkFHvodkyITyRuPkuc= - dependencies: - camelcase "^2.0.0" - map-obj "^1.0.0" - -camelcase-keys@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-4.2.0.tgz#a2aa5fb1af688758259c32c141426d78923b9b77" - integrity sha1-oqpfsa9oh1glnDLBQUJteJI7m3c= - dependencies: - camelcase "^4.1.0" - map-obj "^2.0.0" - quick-lru "^1.0.0" - -camelcase@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.0.0.tgz#03295527d58bd3cd4aa75363f35b2e8d97be2f42" - integrity sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA== - -camelcase@5.3.1, camelcase@^5.0.0, camelcase@^5.2.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - integrity sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8= - -camelcase@^4.0.0, camelcase@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" - integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= - -caniuse-api@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0" - integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw== - dependencies: - browserslist "^4.0.0" - caniuse-lite "^1.0.0" - lodash.memoize "^4.1.2" - lodash.uniq "^4.5.0" - -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001035, caniuse-lite@^1.0.30001039, caniuse-lite@^1.0.30001043: - version "1.0.30001048" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001048.tgz#4bb4f1bc2eb304e5e1154da80b93dee3f1cf447e" - integrity sha512-g1iSHKVxornw0K8LG9LLdf+Fxnv7T1Z+mMsf0/YYLclQX4Cd522Ap0Lrw6NFqHgezit78dtyWxzlV2Xfc7vgRg== - -capture-exit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/capture-exit/-/capture-exit-2.0.0.tgz#fb953bfaebeb781f62898239dabb426d08a509a4" - integrity sha512-PiT/hQmTonHhl/HFGN+Lx3JJUznrVYJ3+AQsnthneZbvW7x+f08Tk7yLJTLEOUvBTbduLeeBkxEaYXUOUrRq6g== - dependencies: - rsvp "^4.8.4" - -capture-stack-trace@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" - integrity sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw== - -case-sensitive-paths-webpack-plugin@2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz#23ac613cc9a856e4f88ff8bb73bbb5e989825cf7" - integrity sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ== - -caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw= - -chalk@*: - version "4.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72" - integrity sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.1, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" - integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - -chokidar@^2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917" - integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg== - dependencies: - anymatch "^2.0.0" - async-each "^1.0.1" - braces "^2.3.2" - glob-parent "^3.1.0" - inherits "^2.0.3" - is-binary-path "^1.0.0" - is-glob "^4.0.0" - normalize-path "^3.0.0" - path-is-absolute "^1.0.0" - readdirp "^2.2.1" - upath "^1.1.1" - optionalDependencies: - fsevents "^1.2.7" - -chokidar@^3.3.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.0.tgz#b30611423ce376357c765b9b8f904b9fba3c0be8" - integrity sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ== - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.4.0" - optionalDependencies: - fsevents "~2.1.2" - -chownr@^1.1.1, chownr@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - -chrome-trace-event@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" - integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== - dependencies: - tslib "^1.9.0" - -ci-info@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" - integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - -cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - -clean-css@4.2.x, clean-css@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" - integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== - dependencies: - source-map "~0.6.0" - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cli-boxes@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" - integrity sha1-T6kXw+WclKAEzWH47lCdplFocUM= - -cli-cursor@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" - integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU= - dependencies: - restore-cursor "^2.0.0" - -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-width@^2.0.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48" - integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw== - -cliui@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" - integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - wrap-ansi "^2.0.0" - -cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== - dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" - -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - -clone-deep@^0.2.4: - version "0.2.4" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-0.2.4.tgz#4e73dd09e9fb971cc38670c5dced9c1896481cc6" - integrity sha1-TnPdCen7lxzDhnDF3O2cGJZIHMY= - dependencies: - for-own "^0.1.3" - is-plain-object "^2.0.1" - kind-of "^3.0.2" - lazy-cache "^1.0.3" - shallow-clone "^0.1.2" - -clone-deep@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387" - integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ== - dependencies: - is-plain-object "^2.0.4" - kind-of "^6.0.2" - shallow-clone "^3.0.0" - -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha1-2jCcwmPfFZlMaIypAheco8fNfH4= - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= - -coa@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3" - integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA== - dependencies: - "@types/q" "^1.5.1" - chalk "^2.4.1" - q "^1.1.2" - -code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= - -codemirror-graphql@^0.11.6: - version "0.11.6" - resolved "https://registry.yarnpkg.com/codemirror-graphql/-/codemirror-graphql-0.11.6.tgz#885e34afb5b7aacf0e328d4d5949e73ad21d5a4e" - integrity sha512-/zVKgOVS2/hfjAY0yoBkLz9ESHnWKBWpBNXQSoFF4Hl5q5AS2DmM22coonWKJcCvNry6TLak2F+QkzPeKVv3Eg== - dependencies: - graphql-language-service-interface "^2.3.3" - graphql-language-service-parser "^1.5.2" - -codemirror@^5.47.0: - version "5.53.2" - resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.53.2.tgz#9799121cf8c50809cca487304e9de3a74d33f428" - integrity sha512-wvSQKS4E+P8Fxn/AQ+tQtJnF1qH5UOlxtugFLpubEZ5jcdH2iXTVinb+Xc/4QjshuOxRm4fUsU2QPF1JJKiyXA== - -collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - -collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - -color-convert@^1.9.0, color-convert@^1.9.1: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@^1.0.0, color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-string@^1.5.2: - version "1.5.3" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" - integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" - integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg== - dependencies: - color-convert "^1.9.1" - color-string "^1.5.2" - -columnify@^1.5.4: - version "1.5.4" - resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.5.4.tgz#4737ddf1c7b69a8a7c340570782e947eec8e78bb" - integrity sha1-Rzfd8ce2mop8NAVweC6UfuyOeLs= - dependencies: - strip-ansi "^3.0.0" - wcwidth "^1.0.0" - -combined-stream@^1.0.6, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@*, commander@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" - integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== - -commander@2.17.x: - version "2.17.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" - integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== - -commander@^2.11.0, commander@^2.20.0, commander@~2.20.3: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^4.0.1, commander@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" - integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== - -commander@~2.19.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a" - integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg== - -common-tags@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" - integrity sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - -compare-func@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-1.3.2.tgz#99dd0ba457e1f9bc722b12c08ec33eeab31fa648" - integrity sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg= - dependencies: - array-ify "^1.0.0" - dot-prop "^3.0.0" - -component-emitter@^1.2.0, component-emitter@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - -compose-function@3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/compose-function/-/compose-function-3.0.3.tgz#9ed675f13cc54501d30950a486ff6a7ba3ab185f" - integrity sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8= - dependencies: - arity-n "^1.0.4" - -compressible@^2.0.0, compressible@~2.0.16: - version "2.0.18" - resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba" - integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== - dependencies: - mime-db ">= 1.43.0 < 2" - -compression@^1.7.4: - version "1.7.4" - resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f" - integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== - 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" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -concat-stream@^1.5.0: - version "1.6.2" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" - integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -concat-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1" - integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.0.2" - typedarray "^0.0.6" - -concurrently@^4.1.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-4.1.2.tgz#1a683b2b5c41e9ed324c9002b9f6e4c6e1f3b6d7" - integrity sha512-Kim9SFrNr2jd8/0yNYqDTFALzUX1tvimmwFWxmp/D4mRI+kbqIIwE2RkBDrxS2ic25O1UgQMI5AtBqdtX3ynYg== - dependencies: - chalk "^2.4.2" - date-fns "^1.30.1" - lodash "^4.17.15" - read-pkg "^4.0.1" - rxjs "^6.5.2" - spawn-command "^0.0.2-1" - supports-color "^4.5.0" - tree-kill "^1.2.1" - yargs "^12.0.5" - -config-chain@^1.1.11: - version "1.1.12" - resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa" - integrity sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA== - dependencies: - ini "^1.3.4" - proto-list "~1.2.1" - -configstore@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f" - integrity sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw== - dependencies: - dot-prop "^4.1.0" - graceful-fs "^4.1.2" - make-dir "^1.0.0" - unique-string "^1.0.0" - write-file-atomic "^2.0.0" - xdg-basedir "^3.0.0" - -confusing-browser-globals@^1.0.9: - version "1.0.9" - resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.9.tgz#72bc13b483c0276801681871d4898516f8f54fdd" - integrity sha512-KbS1Y0jMtyPgIxjO7ZzMAuUpAKMt1SzCL9fsrKsX6b0zJPTaT0SiSPmewwVZg9UAO83HVIlEhZF84LIjZ0lmAw== - -connect-history-api-fallback@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc" - integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== - -connect@^3.5.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8" - integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ== - dependencies: - debug "2.6.9" - finalhandler "1.1.2" - parseurl "~1.3.3" - utils-merge "1.0.1" - -console-browserify@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" - integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== - -console-control-strings@^1.0.0, console-control-strings@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= - -constants-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" - integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= - -contains-path@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" - integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= - -content-disposition@0.5.3, content-disposition@~0.5.2: - version "0.5.3" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd" - integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== - dependencies: - safe-buffer "5.1.2" - -content-type@^1.0.4, content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -conventional-changelog-angular@^5.0.3, conventional-changelog-angular@^5.0.6: - version "5.0.6" - resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.6.tgz#269540c624553aded809c29a3508fdc2b544c059" - integrity sha512-QDEmLa+7qdhVIv8sFZfVxU1VSyVvnXPsxq8Vam49mKUcO1Z8VTLEJk9uI21uiJUsnmm0I4Hrsdc9TgkOQo9WSA== - dependencies: - compare-func "^1.3.1" - q "^1.5.1" - -conventional-changelog-atom@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/conventional-changelog-atom/-/conventional-changelog-atom-2.0.3.tgz#3bd14280aa09fe3ec49a0e8fe97b5002db02aad4" - integrity sha512-szZe2ut97qNO6vCCMkm1I/tWu6ol4Rr8a9Lx0y/VlpDnpY0PNp+oGpFgU55lplhx+I3Lro9Iv4/gRj0knfgjzg== - dependencies: - q "^1.5.1" - -conventional-changelog-cli@^2.0.27, conventional-changelog-cli@^2.0.31: - version "2.0.31" - resolved "https://registry.yarnpkg.com/conventional-changelog-cli/-/conventional-changelog-cli-2.0.31.tgz#3345581170fbb540416946e460fef519a64aef43" - integrity sha512-nMINylKAamBLM3OmD7/44d9TPZ3V58IDTXoGC/QtXxve+1Sj37BQTzIEW3TNaviZ2ZV/b5Dqg0eSk4DNP5fBdA== - dependencies: - add-stream "^1.0.0" - conventional-changelog "^3.1.18" - lodash "^4.17.15" - meow "^5.0.0" - tempfile "^3.0.0" - -conventional-changelog-codemirror@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/conventional-changelog-codemirror/-/conventional-changelog-codemirror-2.0.3.tgz#ebc088154684f8f5171446b8d546ba6b460d46f2" - integrity sha512-t2afackdgFV2yBdHhWPqrKbpaQeVnz2hSJKdWqjasPo5EpIB6TBL0er3cOP1mnGQmuzk9JSvimNSuqjWGDtU5Q== - dependencies: - q "^1.5.1" - -conventional-changelog-conventionalcommits@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-4.2.3.tgz#22855b32d57d0328951c1c2dc01b172a5f24ea37" - integrity sha512-atGa+R4vvEhb8N/8v3IoW59gCBJeeFiX6uIbPu876ENAmkMwsenyn0R21kdDHJFLQdy6zW4J6b4xN8KI3b9oww== - dependencies: - compare-func "^1.3.1" - lodash "^4.17.15" - q "^1.5.1" - -conventional-changelog-core@^3.1.6: - version "3.2.3" - resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-3.2.3.tgz#b31410856f431c847086a7dcb4d2ca184a7d88fb" - integrity sha512-LMMX1JlxPIq/Ez5aYAYS5CpuwbOk6QFp8O4HLAcZxe3vxoCtABkhfjetk8IYdRB9CDQGwJFLR3Dr55Za6XKgUQ== - dependencies: - conventional-changelog-writer "^4.0.6" - conventional-commits-parser "^3.0.3" - dateformat "^3.0.0" - get-pkg-repo "^1.0.0" - git-raw-commits "2.0.0" - git-remote-origin-url "^2.0.0" - git-semver-tags "^2.0.3" - lodash "^4.2.1" - normalize-package-data "^2.3.5" - q "^1.5.1" - read-pkg "^3.0.0" - read-pkg-up "^3.0.0" - through2 "^3.0.0" - -conventional-changelog-core@^4.1.4: - version "4.1.4" - resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-4.1.4.tgz#39be27fca6ef20a0f998d7a3a1e97cfa8a055cb6" - integrity sha512-LO58ZbEpp1Ul+y/vOI8rJRsWkovsYkCFbOCVgi6UnVfU8WC0F8K8VQQwaBZWWUpb6JvEiN4GBR5baRP2txZ+Vg== - dependencies: - add-stream "^1.0.0" - conventional-changelog-writer "^4.0.11" - conventional-commits-parser "^3.0.8" - dateformat "^3.0.0" - get-pkg-repo "^1.0.0" - git-raw-commits "2.0.0" - git-remote-origin-url "^2.0.0" - git-semver-tags "^3.0.1" - lodash "^4.17.15" - normalize-package-data "^2.3.5" - q "^1.5.1" - read-pkg "^3.0.0" - read-pkg-up "^3.0.0" - through2 "^3.0.0" - -conventional-changelog-ember@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/conventional-changelog-ember/-/conventional-changelog-ember-2.0.4.tgz#c29b78e4af7825cbecb6c3fd6086ca5c09471ac1" - integrity sha512-q1u73sO9uCnxN4TSw8xu6MRU8Y1h9kpwtcdJuNRwu/LSKI1IE/iuNSH5eQ6aLlQ3HTyrIpTfUuVybW4W0F17rA== - dependencies: - q "^1.5.1" - -conventional-changelog-eslint@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/conventional-changelog-eslint/-/conventional-changelog-eslint-3.0.4.tgz#8f4736a23e0cd97e890e76fccc287db2f205f2ff" - integrity sha512-CPwTUENzhLGl3auunrJxiIEWncAGaby7gOFCdj2gslIuOFJ0KPJVOUhRz4Da/I53sdo/7UncUJkiLg94jEsjxg== - dependencies: - q "^1.5.1" - -conventional-changelog-express@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/conventional-changelog-express/-/conventional-changelog-express-2.0.1.tgz#fea2231d99a5381b4e6badb0c1c40a41fcacb755" - integrity sha512-G6uCuCaQhLxdb4eEfAIHpcfcJ2+ao3hJkbLrw/jSK/eROeNfnxCJasaWdDAfFkxsbpzvQT4W01iSynU3OoPLIw== - dependencies: - q "^1.5.1" - -conventional-changelog-jquery@^3.0.6: - version "3.0.6" - resolved "https://registry.yarnpkg.com/conventional-changelog-jquery/-/conventional-changelog-jquery-3.0.6.tgz#460236ad8fb1d29ff932a14fe4e3a45379b63c5e" - integrity sha512-gHAABCXUNA/HjnZEm+vxAfFPJkgtrZvCDIlCKfdPVXtCIo/Q0lN5VKpx8aR5p8KdVRQFF3OuTlvv5kv6iPuRqA== - dependencies: - q "^1.5.1" - -conventional-changelog-jshint@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/conventional-changelog-jshint/-/conventional-changelog-jshint-2.0.3.tgz#ef6e2caf2ee6ffdfda78fcdf7ce87cf6c512d728" - integrity sha512-Pc2PnMPcez634ckzr4EOWviwRSpZcURaK7bjyD9oK6N5fsC/a+3G7LW5m/JpcHPhA9ZxsfIbm7uqZ3ZDGsQ/sw== - dependencies: - compare-func "^1.3.1" - q "^1.5.1" - -conventional-changelog-preset-loader@^2.1.1, conventional-changelog-preset-loader@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.0.tgz#580fa8ab02cef22c24294d25e52d7ccd247a9a6a" - integrity sha512-/rHb32J2EJnEXeK4NpDgMaAVTFZS3o1ExmjKMtYVgIC4MQn0vkNSbYpdGRotkfGGRWiqk3Ri3FBkiZGbAfIfOQ== - -conventional-changelog-writer@^4.0.11, conventional-changelog-writer@^4.0.6: - version "4.0.11" - resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-4.0.11.tgz#9f56d2122d20c96eb48baae0bf1deffaed1edba4" - integrity sha512-g81GQOR392I+57Cw3IyP1f+f42ME6aEkbR+L7v1FBBWolB0xkjKTeCWVguzRrp6UiT1O6gBpJbEy2eq7AnV1rw== - dependencies: - compare-func "^1.3.1" - conventional-commits-filter "^2.0.2" - dateformat "^3.0.0" - handlebars "^4.4.0" - json-stringify-safe "^5.0.1" - lodash "^4.17.15" - meow "^5.0.0" - semver "^6.0.0" - split "^1.0.0" - through2 "^3.0.0" - -conventional-changelog@^3.1.18: - version "3.1.18" - resolved "https://registry.yarnpkg.com/conventional-changelog/-/conventional-changelog-3.1.18.tgz#7da0a5ab34a604b920b8bf71c6cf5d952f0e805e" - integrity sha512-aN6a3rjgV8qwAJj3sC/Lme2kvswWO7fFSGQc32gREcwIOsaiqBaO6f2p0NomFaPDnTqZ+mMZFLL3hlzvEnZ0mQ== - dependencies: - conventional-changelog-angular "^5.0.6" - conventional-changelog-atom "^2.0.3" - conventional-changelog-codemirror "^2.0.3" - conventional-changelog-conventionalcommits "^4.2.3" - conventional-changelog-core "^4.1.4" - conventional-changelog-ember "^2.0.4" - conventional-changelog-eslint "^3.0.4" - conventional-changelog-express "^2.0.1" - conventional-changelog-jquery "^3.0.6" - conventional-changelog-jshint "^2.0.3" - conventional-changelog-preset-loader "^2.3.0" - -conventional-commits-filter@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.2.tgz#f122f89fbcd5bb81e2af2fcac0254d062d1039c1" - integrity sha512-WpGKsMeXfs21m1zIw4s9H5sys2+9JccTzpN6toXtxhpw2VNF2JUXwIakthKBy+LN4DvJm+TzWhxOMWOs1OFCFQ== - dependencies: - lodash.ismatch "^4.4.0" - modify-values "^1.0.0" - -conventional-commits-parser@^3.0.3, conventional-commits-parser@^3.0.8: - version "3.0.8" - resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.0.8.tgz#23310a9bda6c93c874224375e72b09fb275fe710" - integrity sha512-YcBSGkZbYp7d+Cr3NWUeXbPDFUN6g3SaSIzOybi8bjHL5IJ5225OSCxJJ4LgziyEJ7AaJtE9L2/EU6H7Nt/DDQ== - dependencies: - JSONStream "^1.0.4" - is-text-path "^1.0.1" - lodash "^4.17.15" - meow "^5.0.0" - split2 "^2.0.0" - through2 "^3.0.0" - trim-off-newlines "^1.0.0" - -conventional-recommended-bump@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-5.0.1.tgz#5af63903947b6e089e77767601cb592cabb106ba" - integrity sha512-RVdt0elRcCxL90IrNP0fYCpq1uGt2MALko0eyeQ+zQuDVWtMGAy9ng6yYn3kax42lCj9+XBxQ8ZN6S9bdKxDhQ== - dependencies: - concat-stream "^2.0.0" - conventional-changelog-preset-loader "^2.1.1" - conventional-commits-filter "^2.0.2" - conventional-commits-parser "^3.0.3" - git-raw-commits "2.0.0" - git-semver-tags "^2.0.3" - meow "^4.0.0" - q "^1.5.1" - -convert-source-map@1.7.0, convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== - dependencies: - safe-buffer "~5.1.1" - -convert-source-map@^0.3.3: - version "0.3.5" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-0.3.5.tgz#f1d802950af7dd2631a1febe0596550c86ab3190" - integrity sha1-8dgClQr33SYxof6+BZZVDIarMZA= - -cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw= - -cookie@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba" - integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== - -cookie@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" - integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== - -cookiejar@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.2.tgz#dd8a235530752f988f9a0844f3fc589e3111125c" - integrity sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA== - -cookies@~0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/cookies/-/cookies-0.8.0.tgz#1293ce4b391740a8406e3c9870e828c4b54f3f90" - integrity sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow== - dependencies: - depd "~2.0.0" - keygrip "~1.1.0" - -copy-concurrently@^1.0.0: - version "1.0.5" - resolved "https://registry.yarnpkg.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0" - integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== - dependencies: - aproba "^1.1.1" - fs-write-stream-atomic "^1.0.8" - iferr "^0.1.5" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.0" - -copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= - -copy-to-clipboard@^3.2.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz#115aa1a9998ffab6196f93076ad6da3b913662ae" - integrity sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw== - dependencies: - toggle-selection "^1.0.6" - -core-js-compat@^3.6.2: - version "3.6.5" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c" - integrity sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng== - dependencies: - browserslist "^4.8.5" - semver "7.0.0" - -core-js-pure@^3.0.0: - version "3.6.5" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.5.tgz#c79e75f5e38dbc85a662d91eea52b8256d53b813" - integrity sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA== - -core-js@^2.4.0: - version "2.6.11" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" - integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== - -core-js@^3.5.0: - version "3.6.5" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.6.5.tgz#7395dc273af37fb2e50e9bd3d9fe841285231d1a" - integrity sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA== - -core-util-is@1.0.2, core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= - -core_d@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/core_d/-/core_d-1.0.1.tgz#656d91065717c0119c168bbe2b3e2b70089f80cf" - integrity sha512-Uge+GU4vDha5IEf0PxX/NdBZBMAE69t93OKasRfWlr+tylp5DDhRQSb7QDDFw/EySwgdS0HV9bsN9iFk6SBDHg== - dependencies: - supports-color "^5.5.0" - -cosmiconfig@^5.0.0, cosmiconfig@^5.1.0, cosmiconfig@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a" - integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA== - dependencies: - import-fresh "^2.0.0" - is-directory "^0.3.1" - js-yaml "^3.13.1" - parse-json "^4.0.0" - -cosmiconfig@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982" - integrity sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== - dependencies: - "@types/parse-json" "^4.0.0" - import-fresh "^3.1.0" - parse-json "^5.0.0" - path-type "^4.0.0" - yaml "^1.7.2" - -create-ecdh@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" - integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== - dependencies: - bn.js "^4.1.0" - elliptic "^6.0.0" - -create-error-class@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" - integrity sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y= - dependencies: - capture-stack-trace "^1.0.0" - -create-hash@^1.1.0, create-hash@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - 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@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - 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" - -cross-fetch@2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-2.2.2.tgz#a47ff4f7fc712daba8f6a695a11c948440d45723" - integrity sha1-pH/09/xxLauo9qaVoRyUhEDUVyM= - dependencies: - node-fetch "2.1.2" - whatwg-fetch "2.0.4" - -cross-spawn@7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.1.tgz#0ab56286e0f7c24e153d04cc2aa027e43a9a5d14" - integrity sha512-u7v4o84SwFpD32Z8IIcPZ6z1/ie24O6RU3RbtL5Y316l3KuHVPx9ItBgWQ6VlfAFnRnTtMUrsQ9MUUTuEZjogg== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -cross-spawn@^5.0.1: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk= - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^6.0.0, cross-spawn@^6.0.5: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - -cross-spawn@^7.0.0: - version "7.0.2" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.2.tgz#d0d7dcfa74e89115c7619f4f721a94e1fdb716d6" - integrity sha512-PD6G8QG3S4FK/XCGFbEQrDqO2AnMMsy0meR7lerlIOHAAbkuavGU/pOqprrlvfTNjvowivTeBsjebAL0NSoMxw== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -crypto-browserify@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - 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" - -crypto-random-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" - integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= - -css-blank-pseudo@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5" - integrity sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w== - dependencies: - postcss "^7.0.5" - -css-color-names@0.0.4, css-color-names@^0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" - integrity sha1-gIrcLnnPhHOAabZGyyDsJ762KeA= - -css-declaration-sorter@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22" - integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA== - dependencies: - postcss "^7.0.1" - timsort "^0.3.0" - -css-has-pseudo@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz#3c642ab34ca242c59c41a125df9105841f6966ee" - integrity sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ== - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^5.0.0-rc.4" - -css-loader@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-2.1.1.tgz#d8254f72e412bb2238bb44dd674ffbef497333ea" - integrity sha512-OcKJU/lt232vl1P9EEDamhoO9iKY3tIjY5GU+XDLblAykTdgs6Ux9P1hTHve8nFKy5KPpOXOsVI/hIwi3841+w== - dependencies: - camelcase "^5.2.0" - icss-utils "^4.1.0" - loader-utils "^1.2.3" - normalize-path "^3.0.0" - postcss "^7.0.14" - postcss-modules-extract-imports "^2.0.0" - postcss-modules-local-by-default "^2.0.6" - postcss-modules-scope "^2.1.0" - postcss-modules-values "^2.0.0" - postcss-value-parser "^3.3.0" - schema-utils "^1.0.0" - -css-loader@3.4.2: - version "3.4.2" - resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-3.4.2.tgz#d3fdb3358b43f233b78501c5ed7b1c6da6133202" - integrity sha512-jYq4zdZT0oS0Iykt+fqnzVLRIeiPWhka+7BqPn+oSIpWJAHak5tmB/WZrJ2a21JhCeFyNnnlroSl8c+MtVndzA== - dependencies: - camelcase "^5.3.1" - cssesc "^3.0.0" - icss-utils "^4.1.1" - loader-utils "^1.2.3" - normalize-path "^3.0.0" - postcss "^7.0.23" - postcss-modules-extract-imports "^2.0.0" - postcss-modules-local-by-default "^3.0.2" - postcss-modules-scope "^2.1.1" - postcss-modules-values "^3.0.0" - postcss-value-parser "^4.0.2" - schema-utils "^2.6.0" - -css-prefers-color-scheme@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz#6f830a2714199d4f0d0d0bb8a27916ed65cff1f4" - integrity sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg== - dependencies: - postcss "^7.0.5" - -css-select-base-adapter@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" - integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== - -css-select@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" - integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= - dependencies: - boolbase "~1.0.0" - css-what "2.1" - domutils "1.5.1" - nth-check "~1.0.1" - -css-select@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" - integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ== - dependencies: - boolbase "^1.0.0" - css-what "^3.2.1" - domutils "^1.7.0" - nth-check "^1.0.2" - -css-tree@1.0.0-alpha.37: - version "1.0.0-alpha.37" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" - integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg== - dependencies: - mdn-data "2.0.4" - source-map "^0.6.1" - -css-tree@1.0.0-alpha.39: - version "1.0.0-alpha.39" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.39.tgz#2bff3ffe1bb3f776cf7eefd91ee5cba77a149eeb" - integrity sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA== - dependencies: - mdn-data "2.0.6" - source-map "^0.6.1" - -css-what@2.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" - integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== - -css-what@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.2.1.tgz#f4a8f12421064621b456755e34a03a2c22df5da1" - integrity sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw== - -css@^2.0.0: - version "2.2.4" - resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" - integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw== - dependencies: - inherits "^2.0.3" - source-map "^0.6.1" - source-map-resolve "^0.5.2" - urix "^0.1.0" - -cssdb@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" - integrity sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ== - -cssesc@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" - integrity sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg== - -cssesc@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" - integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== - -cssnano-preset-default@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76" - integrity sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA== - dependencies: - css-declaration-sorter "^4.0.1" - cssnano-util-raw-cache "^4.0.1" - postcss "^7.0.0" - postcss-calc "^7.0.1" - postcss-colormin "^4.0.3" - postcss-convert-values "^4.0.1" - postcss-discard-comments "^4.0.2" - postcss-discard-duplicates "^4.0.2" - postcss-discard-empty "^4.0.1" - postcss-discard-overridden "^4.0.1" - postcss-merge-longhand "^4.0.11" - postcss-merge-rules "^4.0.3" - postcss-minify-font-values "^4.0.2" - postcss-minify-gradients "^4.0.2" - postcss-minify-params "^4.0.2" - postcss-minify-selectors "^4.0.2" - postcss-normalize-charset "^4.0.1" - postcss-normalize-display-values "^4.0.2" - postcss-normalize-positions "^4.0.2" - postcss-normalize-repeat-style "^4.0.2" - postcss-normalize-string "^4.0.2" - postcss-normalize-timing-functions "^4.0.2" - postcss-normalize-unicode "^4.0.1" - postcss-normalize-url "^4.0.1" - postcss-normalize-whitespace "^4.0.2" - postcss-ordered-values "^4.1.2" - postcss-reduce-initial "^4.0.3" - postcss-reduce-transforms "^4.0.2" - postcss-svgo "^4.0.2" - postcss-unique-selectors "^4.0.1" - -cssnano-util-get-arguments@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f" - integrity sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8= - -cssnano-util-get-match@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d" - integrity sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0= - -cssnano-util-raw-cache@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282" - integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA== - dependencies: - postcss "^7.0.0" - -cssnano-util-same-parent@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3" - integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== - -cssnano@^4.1.10: - version "4.1.10" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" - integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ== - dependencies: - cosmiconfig "^5.0.0" - cssnano-preset-default "^4.0.7" - is-resolvable "^1.0.0" - postcss "^7.0.0" - -csso@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/csso/-/csso-4.0.3.tgz#0d9985dc852c7cc2b2cacfbbe1079014d1a8e903" - integrity sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ== - dependencies: - css-tree "1.0.0-alpha.39" - -cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0", cssom@^0.3.4, cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssom@^0.4.1: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -cssstyle@^1.0.0, cssstyle@^1.1.1: - version "1.4.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1" - integrity sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA== - dependencies: - cssom "0.3.x" - -cssstyle@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.2.0.tgz#e4c44debccd6b7911ed617a4395e5754bba59992" - integrity sha512-sEb3XFPx3jNnCAMtqrXPDeSgQr+jojtCeNf8cvMNMh1cG970+lljssvQDzPq6lmmJu2Vhqood/gtEomBiHOGnA== - dependencies: - cssom "~0.3.6" - -currently-unhandled@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" - integrity sha1-mI3zP+qxke95mmE2nddsF635V+o= - dependencies: - array-find-index "^1.0.1" - -cyclist@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cyclist/-/cyclist-1.0.1.tgz#596e9698fd0c80e12038c2b82d6eb1b35b6224d9" - integrity sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= - -d@1, d@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" - integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== - dependencies: - es5-ext "^0.10.50" - type "^1.0.1" - -damerau-levenshtein@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz#143c1641cb3d85c60c32329e26899adea8701791" - integrity sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug== - -dargs@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/dargs/-/dargs-4.1.0.tgz#03a9dbb4b5c2f139bf14ae53f0b8a2a6a86f4e17" - integrity sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc= - dependencies: - number-is-nan "^1.0.0" - -dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA= - dependencies: - assert-plus "^1.0.0" - -data-urls@^1.0.0, data-urls@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe" - integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ== - dependencies: - abab "^2.0.0" - whatwg-mimetype "^2.2.0" - whatwg-url "^7.0.0" - -date-fns@^1.30.1: - version "1.30.1" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c" - integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw== - -dateformat@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" - integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== - -debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@3.1.0, debug@~3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - -"debug@>=3 <5", debug@^4.0.0, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== - dependencies: - ms "^2.1.1" - -debug@^3.0.0, debug@^3.1.0, debug@^3.1.1, debug@^3.2.5, debug@^3.2.6: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - -debuglog@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/debuglog/-/debuglog-1.0.1.tgz#aa24ffb9ac3df9a2351837cfb2d279360cd78492" - integrity sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI= - -decamelize-keys@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" - integrity sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk= - dependencies: - decamelize "^1.1.0" - map-obj "^1.0.0" - -decamelize@^1.1.0, decamelize@^1.1.2, decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decode-uri-component@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" - integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= - -deep-equal@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.1.1.tgz#b5c98c942ceffaf7cb051e24e1434a25a2e6076a" - integrity sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== - 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" - -deep-equal@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" - integrity sha1-9dJgKStmDghO/0zbyfCK0yR0SLU= - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - -default-gateway@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b" - integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== - dependencies: - execa "^1.0.0" - ip-regex "^2.1.0" - -defaults@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" - integrity sha1-xlYFHpgX2f8I7YgUd/P+QBnz730= - dependencies: - clone "^1.0.2" - -define-properties@^1.1.2, define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= - dependencies: - is-descriptor "^0.1.0" - -define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha1-dp66rz9KY6rTr56NMEybvnm/sOY= - dependencies: - is-descriptor "^1.0.0" - -define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - -del@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4" - integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== - dependencies: - "@types/glob" "^7.1.1" - globby "^6.1.0" - is-path-cwd "^2.0.0" - is-path-in-cwd "^2.0.0" - p-map "^2.0.0" - pify "^4.0.1" - rimraf "^2.6.3" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o= - -depd@^1.1.2, depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - -depd@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -deprecation@^2.0.0, deprecation@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919" - integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== - -des.js@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" - integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - -destroy@^1.0.4, destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= - -detect-indent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-5.0.0.tgz#3871cc0a6a002e8c3e5b3cf7f336264675f06b9d" - integrity sha1-OHHMCmoALow+Wzz38zYmRnXwa50= - -detect-newline@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2" - integrity sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I= - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -detect-node@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" - integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== - -detect-port-alt@1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/detect-port-alt/-/detect-port-alt-1.1.6.tgz#24707deabe932d4a3cf621302027c2b266568275" - integrity sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q== - dependencies: - address "^1.0.1" - debug "^2.6.0" - -dezalgo@^1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.3.tgz#7f742de066fc748bc8db820569dddce49bf0d456" - integrity sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY= - dependencies: - asap "^2.0.0" - wrappy "1" - -diff-sequences@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" - integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== - -diff-sequences@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-25.2.6.tgz#5f467c00edd35352b7bca46d7927d60e687a76dd" - integrity sha512-Hq8o7+6GaZeoFjtpgvRBUknSXNeJiCx7V9Fr94ZMljNiCr9n9L8H8aJqgWOQiDDGdyn29fRNcDdRVJ5fdyihfg== - -diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - -dir-glob@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034" - integrity sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag== - dependencies: - arrify "^1.0.1" - path-type "^3.0.0" - -dir-glob@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4" - integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw== - dependencies: - path-type "^3.0.0" - -dns-equal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d" - integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= - -dns-packet@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" - integrity sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg== - dependencies: - ip "^1.1.0" - safe-buffer "^5.0.1" - -dns-txt@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6" - integrity sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= - dependencies: - buffer-indexof "^1.0.0" - -doctrine@1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" - integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - -doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -dom-converter@^0.2: - version "0.2.0" - resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" - integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== - dependencies: - utila "~0.4" - -dom-serializer@0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" - integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g== - dependencies: - domelementtype "^2.0.1" - entities "^2.0.0" - -domain-browser@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" - integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== - -domelementtype@1, domelementtype@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" - integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== - -domelementtype@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d" - integrity sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ== - -domexception@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90" - integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug== - dependencies: - webidl-conversions "^4.0.2" - -domhandler@^2.3.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" - integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== - dependencies: - domelementtype "1" - -domutils@1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" - integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= - dependencies: - dom-serializer "0" - domelementtype "1" - -domutils@^1.5.1, domutils@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" - integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== - dependencies: - dom-serializer "0" - domelementtype "1" - -dot-case@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.3.tgz#21d3b52efaaba2ea5fda875bb1aa8124521cf4aa" - integrity sha512-7hwEmg6RiSQfm/GwPL4AAWXKy3YNNZA3oFv2Pdiey0mwkRCPZ9x6SZbkLcn8Ma5PYeVokzoD4Twv2n7LKp5WeA== - dependencies: - no-case "^3.0.3" - tslib "^1.10.0" - -dot-prop@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" - integrity sha1-G3CK8JSknJoOfbyteQq6U52sEXc= - dependencies: - is-obj "^1.0.0" - -dot-prop@^4.1.0, dot-prop@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" - integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== - dependencies: - is-obj "^1.0.0" - -dot-prop@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb" - integrity sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A== - dependencies: - is-obj "^2.0.0" - -dotenv-expand@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0" - integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA== - -dotenv@8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.2.0.tgz#97e619259ada750eea3e4ea3e26bceea5424b16a" - integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== - -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= - -duplexer@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" - integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= - -duplexify@^3.4.2, duplexify@^3.6.0: - version "3.7.1" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309" - integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== - dependencies: - end-of-stream "^1.0.0" - inherits "^2.0.1" - readable-stream "^2.0.0" - stream-shift "^1.0.0" - -ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha1-OoOpBOVDUyh4dMVkt1SThoSamMk= - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - -ecdsa-sig-formatter@1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf" - integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ== - dependencies: - safe-buffer "^5.0.1" - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= - -electron-to-chromium@^1.3.378, electron-to-chromium@^1.3.413: - version "1.3.420" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.420.tgz#e95b731f475433d29d2835a200dab413e45ba819" - integrity sha512-iVmQhf25F+5bdAyDrfOmCMjyLlIwsr9UT/LyYPQ3J1Vrypr9IgHf2PxqlsnzicnRAYDev6S9cl1tYlDHZUHY/g== - -elliptic@^6.0.0: - version "6.5.2" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.2.tgz#05c5678d7173c049d8ca433552224a495d0e3762" - integrity sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw== - dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" - hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" - -emoji-regex@^7.0.1, emoji-regex@^7.0.2: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -emojis-list@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" - integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= - -emojis-list@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" - integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== - -encodeurl@^1.0.2, encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= - -encoding@^0.1.11: - version "0.1.12" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" - integrity sha1-U4tm8+5izRq1HsMjgp0flIDHS+s= - dependencies: - iconv-lite "~0.4.13" - -end-of-stream@^1.0.0, end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enhanced-resolve@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz#2937e2b8066cd0fe7ce0990a98f0d71a35189f66" - integrity sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA== - dependencies: - graceful-fs "^4.1.2" - memory-fs "^0.5.0" - tapable "^1.0.0" - -entities@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" - integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== - -entities@^2.0.0, entities@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.0.tgz#68d6084cab1b079767540d80e56a39b423e4abf4" - integrity sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw== - -env-paths@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.0.tgz#cdca557dc009152917d6166e2febe1f039685e43" - integrity sha512-6u0VYSCo/OW6IoD5WCLLy9JUGARbamfSavcNXry/eu8aHVFei6CD3Sw+VGX5alea1i9pgPHW0mbu6Xj0uBh7gA== - -envinfo@^7.3.1: - version "7.5.1" - resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.5.1.tgz#93c26897225a00457c75e734d354ea9106a72236" - integrity sha512-hQBkDf2iO4Nv0CNHpCuSBeaSrveU6nThVxFGTrq/eDlV716UQk09zChaJae4mZRsos1x4YLY2TaH3LHUae3ZmQ== - -err-code@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/err-code/-/err-code-1.1.2.tgz#06e0116d3028f6aef4806849eb0ea6a748ae6960" - integrity sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA= - -errno@^0.1.3, errno@~0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== - dependencies: - prr "~1.0.1" - -error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -error-inject@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/error-inject/-/error-inject-1.0.0.tgz#e2b3d91b54aed672f309d950d154850fa11d4f37" - integrity sha1-4rPZG1Su1nLzCdlQ0VSFD6EdTzc= - -es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.5: - version "1.17.5" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.5.tgz#d8c9d1d66c8981fb9200e2251d799eee92774ae9" - integrity sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg== - dependencies: - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - is-callable "^1.1.5" - is-regex "^1.0.5" - object-inspect "^1.7.0" - object-keys "^1.1.1" - object.assign "^4.1.0" - string.prototype.trimleft "^2.1.1" - string.prototype.trimright "^2.1.1" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -es5-ext@^0.10.35, es5-ext@^0.10.50: - version "0.10.53" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.53.tgz#93c5a3acfdbef275220ad72644ad02ee18368de1" - integrity sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q== - dependencies: - es6-iterator "~2.0.3" - es6-symbol "~3.1.3" - next-tick "~1.0.0" - -es6-iterator@2.0.3, es6-iterator@~2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha1-p96IkUGgWpSwhUQDstCg+/qY87c= - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - -es6-promise@^4.0.3: - version "4.2.8" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" - integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== - -es6-promisify@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" - integrity sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM= - dependencies: - es6-promise "^4.0.3" - -es6-symbol@^3.1.1, es6-symbol@~3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" - integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== - dependencies: - d "^1.0.1" - ext "^1.1.2" - -escape-html@^1.0.3, escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= - -escape-string-regexp@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escodegen@^1.11.0, escodegen@^1.11.1, escodegen@^1.9.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.14.1.tgz#ba01d0c8278b5e95a9a45350142026659027a457" - integrity sha512-Bmt7NcRySdIfNPfU2ZoXDrrXsG9ZjvDxcAlMfDUgRBjLOWTuIACXPBFJH7Z+cLb40JeQco5toikyc9t9P8E9SQ== - dependencies: - esprima "^4.0.1" - estraverse "^4.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-config-prettier@^6.10.1: - version "6.11.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-6.11.0.tgz#f6d2238c1290d01c859a8b5c1f7d352a0b0da8b1" - integrity sha512-oB8cpLWSAjOVFEJhhyMZh6NOEOtBVziaqdDQ86+qhDHFbZXoRTM7pNSvFRfW/W/L/LrQ38C99J5CGuRBBzBsdA== - dependencies: - get-stdin "^6.0.0" - -eslint-config-react-app@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz#698bf7aeee27f0cea0139eaef261c7bf7dd623df" - integrity sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ== - dependencies: - confusing-browser-globals "^1.0.9" - -eslint-import-resolver-node@^0.3.2: - version "0.3.3" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.3.tgz#dbaa52b6b2816b50bc6711af75422de808e98404" - integrity sha512-b8crLDo0M5RSe5YG8Pu2DYBj71tSB6OvXkfzwbJU2w7y8P4/yo0MyF8jU26IEuEuHF2K5/gcAJE3LhQGqBBbVg== - dependencies: - debug "^2.6.9" - resolve "^1.13.1" - -eslint-loader@3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/eslint-loader/-/eslint-loader-3.0.3.tgz#e018e3d2722381d982b1201adb56819c73b480ca" - integrity sha512-+YRqB95PnNvxNp1HEjQmvf9KNvCin5HXYYseOXVC2U0KEcw4IkQ2IQEBG46j7+gW39bMzeu0GsUhVbBY3Votpw== - dependencies: - fs-extra "^8.1.0" - loader-fs-cache "^1.0.2" - loader-utils "^1.2.3" - object-hash "^2.0.1" - schema-utils "^2.6.1" - -eslint-module-utils@^2.4.1: - version "2.6.0" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz#579ebd094f56af7797d19c9866c9c9486629bfa6" - integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA== - dependencies: - debug "^2.6.9" - pkg-dir "^2.0.0" - -eslint-plugin-flowtype@4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-4.6.0.tgz#82b2bd6f21770e0e5deede0228e456cb35308451" - integrity sha512-W5hLjpFfZyZsXfo5anlu7HM970JBDqbEshAJUkeczP6BFCIfJXuiIBQXyberLRtOStT0OGPF8efeTbxlHk4LpQ== - dependencies: - lodash "^4.17.15" - -eslint-plugin-graphql@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-graphql/-/eslint-plugin-graphql-3.1.1.tgz#640f7f73f12cee2f7145140bd2ff21694018bff5" - integrity sha512-VNu2AipS8P1BAnE/tcJ2EmBWjFlCnG+1jKdUlFNDQjocWZlFiPpMu9xYNXePoEXK+q+jG51M/6PdhOjEgJZEaQ== - dependencies: - graphql-config "^2.0.1" - lodash "^4.11.1" - -eslint-plugin-import@2.20.1: - version "2.20.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.20.1.tgz#802423196dcb11d9ce8435a5fc02a6d3b46939b3" - integrity sha512-qQHgFOTjguR+LnYRoToeZWT62XM55MBVXObHM6SKFd1VzDcX/vqT1kAz8ssqigh5eMj8qXcRoXXGZpPP6RfdCw== - dependencies: - array-includes "^3.0.3" - array.prototype.flat "^1.2.1" - contains-path "^0.1.0" - debug "^2.6.9" - doctrine "1.5.0" - eslint-import-resolver-node "^0.3.2" - eslint-module-utils "^2.4.1" - has "^1.0.3" - minimatch "^3.0.4" - object.values "^1.1.0" - read-pkg-up "^2.0.0" - resolve "^1.12.0" - -eslint-plugin-jest@^23.8.2: - version "23.8.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-23.8.2.tgz#6f28b41c67ef635f803ebd9e168f6b73858eb8d4" - integrity sha512-xwbnvOsotSV27MtAe7s8uGWOori0nUsrXh2f1EnpmXua8sDfY6VZhHAhHg2sqK7HBNycRQExF074XSZ7DvfoFg== - dependencies: - "@typescript-eslint/experimental-utils" "^2.5.0" - -eslint-plugin-jsx-a11y@6.2.3: - version "6.2.3" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.2.3.tgz#b872a09d5de51af70a97db1eea7dc933043708aa" - integrity sha512-CawzfGt9w83tyuVekn0GDPU9ytYtxyxyFZ3aSWROmnRRFQFT2BiPJd7jvRdzNDi6oLWaS2asMeYSNMjWTV4eNg== - dependencies: - "@babel/runtime" "^7.4.5" - aria-query "^3.0.0" - array-includes "^3.0.3" - ast-types-flow "^0.0.7" - axobject-query "^2.0.2" - damerau-levenshtein "^1.0.4" - emoji-regex "^7.0.2" - has "^1.0.3" - jsx-ast-utils "^2.2.1" - -eslint-plugin-react-hooks@^1.6.1: - version "1.7.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-1.7.0.tgz#6210b6d5a37205f0b92858f895a4e827020a7d04" - integrity sha512-iXTCFcOmlWvw4+TOE8CLWj6yX1GwzT0Y6cUfHHZqWnSk144VmVIRcVGtUAzrLES7C798lmvnt02C7rxaOX1HNA== - -eslint-plugin-react@7.19.0: - version "7.19.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.19.0.tgz#6d08f9673628aa69c5559d33489e855d83551666" - integrity sha512-SPT8j72CGuAP+JFbT0sJHOB80TX/pu44gQ4vXH/cq+hQTiY2PuZ6IHkqXJV6x1b28GDdo1lbInjKUrrdUf0LOQ== - dependencies: - array-includes "^3.1.1" - doctrine "^2.1.0" - has "^1.0.3" - jsx-ast-utils "^2.2.3" - object.entries "^1.1.1" - object.fromentries "^2.0.2" - object.values "^1.1.1" - prop-types "^15.7.2" - resolve "^1.15.1" - semver "^6.3.0" - string.prototype.matchall "^4.0.2" - xregexp "^4.3.0" - -eslint-plugin-tsdoc@^0.2.4: - version "0.2.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-tsdoc/-/eslint-plugin-tsdoc-0.2.4.tgz#b4e554838b9d0b09acd0955b6d9a0dd00978dc93" - integrity sha512-iUHb4SkithNERIfrHGWAdsR0cjHplF9F9Mop4cnDSplAw/0oKyPb9eDjcqwFfO4E2pz+JLv24TzgM7gFAGqO9A== - dependencies: - "@microsoft/tsdoc" "0.12.19" - "@microsoft/tsdoc-config" "0.13.3" - -eslint-scope@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848" - integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-scope@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.0.0.tgz#e87c8887c73e8d1ec84f1ca591645c358bfc8fb9" - integrity sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-utils@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f" - integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-utils@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.0.0.tgz#7be1cc70f27a72a76cd14aa698bcabed6890e1cd" - integrity sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2" - integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A== - -"eslint@^4 || ^5 || ^6", eslint@^6.6.0, eslint@^6.8.0: - version "6.8.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb" - integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig== - dependencies: - "@babel/code-frame" "^7.0.0" - ajv "^6.10.0" - chalk "^2.1.0" - cross-spawn "^6.0.5" - debug "^4.0.1" - doctrine "^3.0.0" - eslint-scope "^5.0.0" - eslint-utils "^1.4.3" - eslint-visitor-keys "^1.1.0" - espree "^6.1.2" - esquery "^1.0.1" - esutils "^2.0.2" - file-entry-cache "^5.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" - globals "^12.1.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - inquirer "^7.0.0" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.3.0" - lodash "^4.17.14" - minimatch "^3.0.4" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - optionator "^0.8.3" - progress "^2.0.0" - regexpp "^2.0.1" - semver "^6.1.2" - strip-ansi "^5.2.0" - strip-json-comments "^3.0.1" - table "^5.2.3" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -eslint_d@^8.0.0, eslint_d@^8.1.1: - version "8.1.1" - resolved "https://registry.yarnpkg.com/eslint_d/-/eslint_d-8.1.1.tgz#19f86ef86c6afdac2e6a89c5b380f3c90f6c3b69" - integrity sha512-eYr8vOwCQynnI8b5e5R07D2JI6jCItT9QZzWKGZnqMs9lKN+z0bvn1ULCNKp0u4mz1V+lLRglIDiSGIkIDDcLw== - dependencies: - core_d "^1.0.1" - eslint "^4 || ^5 || ^6" - nanolru "^1.0.0" - optionator "^0.8.1" - resolve "^1.8.1" - -espree@^6.1.2: - version "6.2.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a" - integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw== - dependencies: - acorn "^7.1.1" - acorn-jsx "^5.2.0" - eslint-visitor-keys "^1.1.0" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.0.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.3.1.tgz#b78b5828aa8e214e29fb74c4d5b752e1c033da57" - integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" - integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== - dependencies: - estraverse "^4.1.0" - -estraverse@^4.1.0, estraverse@^4.1.1, estraverse@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642" - integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= - -eventemitter3@^3.1.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" - integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== - -eventemitter3@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.0.tgz#d65176163887ee59f386d64c82610b696a4a74eb" - integrity sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg== - -events@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.1.0.tgz#84279af1b34cb75aa88bf5ff291f6d0bd9b31a59" - integrity sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg== - -eventsource@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" - integrity sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ== - dependencies: - original "^1.0.0" - -evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - -exec-sh@^0.3.2: - version "0.3.4" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" - integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== - -execa@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" - integrity sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c= - dependencies: - cross-spawn "^5.0.1" - get-stream "^3.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - -execa@^3.2.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-3.4.0.tgz#c08ed4550ef65d858fac269ffc8572446f37eb89" - integrity sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - p-finally "^2.0.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha1-BjJjj42HfMghB9MKD/8aF8uhzQw= - -expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha1-t3c14xXOMPa27/D4OwQVGiJEliI= - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -expect@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" - integrity sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q== - dependencies: - "@jest/types" "^24.9.0" - ansi-styles "^3.2.0" - jest-get-type "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-regex-util "^24.9.0" - -expect@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-25.4.0.tgz#0b16c17401906d1679d173e59f0d4580b22f8dc8" - integrity sha512-7BDIX99BTi12/sNGJXA9KMRcby4iAmu1xccBOhyKCyEhjcVKS3hPmHdA/4nSI9QGIOkUropKqr3vv7WMDM5lvQ== - dependencies: - "@jest/types" "^25.4.0" - ansi-styles "^4.0.0" - jest-get-type "^25.2.6" - jest-matcher-utils "^25.4.0" - jest-message-util "^25.4.0" - jest-regex-util "^25.2.6" - -express@^4.14.0, express@^4.17.1: - version "4.17.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134" - integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== - 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" - -ext@^1.1.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244" - integrity sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A== - dependencies: - type "^2.0.0" - -extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= - dependencies: - is-extendable "^0.1.0" - -extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - -extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -external-editor@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" - integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - -extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= - -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - -fast-decode-uri-component@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz#46f8b6c22b30ff7a81357d4f59abfae938202543" - integrity sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg== - -fast-deep-equal@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" - integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= - -fast-deep-equal@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" - integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== - -fast-glob@^2.0.2, fast-glob@^2.2.6: - version "2.2.7" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" - integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== - dependencies: - "@mrmlnc/readdir-enhanced" "^2.2.1" - "@nodelib/fs.stat" "^1.1.2" - glob-parent "^3.1.0" - is-glob "^4.0.0" - merge2 "^1.2.3" - micromatch "^3.1.10" - -fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-json-stringify@^1.18.0: - version "1.20.1" - resolved "https://registry.yarnpkg.com/fast-json-stringify/-/fast-json-stringify-1.20.1.tgz#07e30057718d85c39a798d43678a4a91ea7fa30e" - integrity sha512-PEPWrRZvKqI11fY2uDhLLuoapIda9wVQ2mzAj8rkBfVD7jWvOSIICL0Om1knoReIWKF5y/5bbR/GzcZANaaJfQ== - dependencies: - ajv "^6.11.0" - deepmerge "^4.2.2" - string-similarity "^4.0.1" - -fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fast-redact@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-2.0.0.tgz#17bb8f5e1f56ecf4a38c8455985e5eab4c478431" - integrity sha512-zxpkULI9W9MNTK2sJ3BpPQrTEXFNESd2X6O1tXMFpK/XM0G5c5Rll2EVYZH2TqI3xRGK/VaJ+eEOt7pnENJpeA== - -fast-safe-stringify@^2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz#124aa885899261f68aedb42a7c080de9da608743" - integrity sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA== - -fastify@^2.2.0: - version "2.14.0" - resolved "https://registry.yarnpkg.com/fastify/-/fastify-2.14.0.tgz#296c300884bf9dbf403bac1723f3ae0f0325dfe4" - integrity sha512-uofJOU9Zf20iklDrACZZVe+qef6dswOe8IUnxUdHTY9QfHv301MgPxodvJFiRE2WAse7YrWr4sI5Lx6YIAuUAA== - dependencies: - abstract-logging "^2.0.0" - ajv "^6.12.0" - avvio "^6.3.1" - fast-json-stringify "^1.18.0" - find-my-way "^2.2.2" - flatstr "^1.0.12" - light-my-request "^3.7.3" - middie "^4.1.0" - pino "^5.17.0" - proxy-addr "^2.0.6" - readable-stream "^3.6.0" - rfdc "^1.1.2" - secure-json-parse "^2.1.0" - tiny-lru "^7.0.2" - -fastq@^1.6.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.7.0.tgz#fcd79a08c5bd7ec5b55cd3f5c4720db551929801" - integrity sha512-YOadQRnHd5q6PogvAR/x62BGituF2ufiEA6s8aavQANw5YKHERI4AREboX6KotzP8oX2klxYF2wcV/7bn1clfQ== - dependencies: - reusify "^1.0.4" - -faye-websocket@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.10.0.tgz#4e492f8d04dfb6f89003507f6edbf2d501e7c6f4" - integrity sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= - dependencies: - websocket-driver ">=0.5.1" - -faye-websocket@~0.11.1: - version "0.11.3" - resolved "https://registry.yarnpkg.com/faye-websocket/-/faye-websocket-0.11.3.tgz#5c0e9a8968e8912c286639fde977a8b209f2508e" - integrity sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA== - dependencies: - websocket-driver ">=0.5.1" - -fb-watchman@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" - integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== - dependencies: - bser "2.1.1" - -figgy-pudding@^3.4.1, figgy-pudding@^3.5.1: - version "3.5.2" - resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e" - integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== - -figures@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" - integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI= - dependencies: - escape-string-regexp "^1.0.5" - -figures@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - -file-entry-cache@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c" - integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g== - dependencies: - flat-cache "^2.0.1" - -file-loader@4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-4.3.0.tgz#780f040f729b3d18019f20605f723e844b8a58af" - integrity sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA== - dependencies: - loader-utils "^1.2.3" - schema-utils "^2.5.0" - -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - -filesize@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/filesize/-/filesize-6.0.1.tgz#f850b509909c7c86f7e450ea19006c31c2ed3d2f" - integrity sha512-u4AYWPgbI5GBhs6id1KdImZWn5yfyFrrQ8OWZdN7ZMfA8Bf4HcO0BGo9bmUIEV8yrp8I1xVfJ/dn90GtFNNJcg== - -fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -finalhandler@1.1.2, finalhandler@^1.0.6, finalhandler@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== - 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" - -find-cache-dir@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" - integrity sha1-yN765XyKUqinhPnjHFfHQumToLk= - dependencies: - commondir "^1.0.1" - mkdirp "^0.5.1" - pkg-dir "^1.0.0" - -find-cache-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7" - integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== - dependencies: - commondir "^1.0.1" - make-dir "^2.0.0" - pkg-dir "^3.0.0" - -find-cache-dir@^3.2.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" - integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-my-way@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/find-my-way/-/find-my-way-2.2.2.tgz#0d119a6daa354e20d61591a850a112d424c5bc06" - integrity sha512-zk3eOsS1tABNQjII0vCbhkqgsX/COpRUxl0b5rlA41V2Ft7jWDr30LhYq4BZXLAlzw5yskg24XQG/U1wCT30vQ== - dependencies: - fast-decode-uri-component "^1.0.0" - safe-regex2 "^2.0.0" - semver-store "^0.3.0" - -find-up@4.1.0, find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" - integrity sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8= - dependencies: - path-exists "^2.0.0" - pinkie-promise "^2.0.0" - -find-up@^2.0.0, find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - -find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - -flat-cache@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0" - integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA== - dependencies: - flatted "^2.0.0" - rimraf "2.6.3" - write "1.0.3" - -flatstr@^1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/flatstr/-/flatstr-1.0.12.tgz#c2ba6a08173edbb6c9640e3055b95e287ceb5931" - integrity sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw== - -flatted@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138" - integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA== - -flatten@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" - integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg== - -flush-write-stream@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8" - integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== - dependencies: - inherits "^2.0.3" - readable-stream "^2.3.6" - -follow-redirects@^1.0.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.11.0.tgz#afa14f08ba12a52963140fe43212658897bc0ecb" - integrity sha512-KZm0V+ll8PfBrKwMzdo5D13b1bur9Iq9Zd/RMmAoQQcl2PxxFml8cxXPaaPYVbV0RjNjq1CU7zIzAOqtUPudmA== - dependencies: - debug "^3.0.0" - -for-in@^0.1.3: - version "0.1.8" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-0.1.8.tgz#d8773908e31256109952b1fdb9b3fa867d2775e1" - integrity sha1-2Hc5COMSVhCZUrH9ubP6hn0ndeE= - -for-in@^1.0.1, for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= - -for-own@^0.1.3: - version "0.1.5" - resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" - integrity sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4= - dependencies: - for-in "^1.0.1" - -forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha1-+8cfDEGt6zf5bFd60e1C2P2sypE= - -fork-ts-checker-webpack-plugin@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-3.1.1.tgz#a1642c0d3e65f50c2cc1742e9c0a80f441f86b19" - integrity sha512-DuVkPNrM12jR41KM2e+N+styka0EgLkTnXmNcXdgOM37vtGeY+oCBK/Jx0hzSeEU6memFCtWb4htrHPMDfwwUQ== - dependencies: - babel-code-frame "^6.22.0" - chalk "^2.4.1" - chokidar "^3.3.0" - micromatch "^3.1.10" - minimatch "^3.0.4" - semver "^5.6.0" - tapable "^1.0.0" - worker-rpc "^0.1.0" - -form-data@^2.3.3: - version "2.5.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.5.1.tgz#f2cbec57b5e59e23716e128fe44d4e5dd23895f4" - integrity sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - -formidable@^1.2.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/formidable/-/formidable-1.2.2.tgz#bf69aea2972982675f00865342b982986f6b8dd9" - integrity sha512-V8gLm+41I/8kguQ4/o1D3RIHRmhYFG4pnNyonvua+40rqcEmT4+V71yaZ3B457xbbgCsCfjSPi65u/W6vK1U5Q== - -forwarded@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" - integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= - -fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= - dependencies: - map-cache "^0.2.2" - -fresh@0.5.2, fresh@~0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= - -from2@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" - integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= - dependencies: - inherits "^2.0.1" - readable-stream "^2.0.0" - -fs-extra@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" - integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" - integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-minipass@^1.2.5: - version "1.2.7" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" - integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== - dependencies: - minipass "^2.6.0" - -fs-minipass@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== - dependencies: - minipass "^3.0.0" - -fs-readdir-recursive@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" - integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA== - -fs-write-stream-atomic@^1.0.8: - version "1.0.10" - resolved "https://registry.yarnpkg.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9" - integrity sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= - dependencies: - graceful-fs "^4.1.2" - iferr "^0.1.5" - imurmurhash "^0.1.4" - readable-stream "1 || 2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.2.tgz#4c0a1fb34bc68e543b4b82a9ec392bfbda840805" - integrity sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA== +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 4 + +"@babel/cli@npm:^7.8.4": + version: 7.8.4 + resolution: "@babel/cli@npm:7.8.4" + dependencies: + chokidar: ^2.1.8 + commander: ^4.0.1 + convert-source-map: ^1.1.0 + fs-readdir-recursive: ^1.1.0 + glob: ^7.0.0 + lodash: ^4.17.13 + make-dir: ^2.1.0 + slash: ^2.0.0 + source-map: ^0.5.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + dependenciesMeta: + chokidar: + optional: true + bin: + babel: ./bin/babel.js + babel-external-helpers: ./bin/babel-external-helpers.js + checksum: 3/c378a1ad7d9001811a98472c3dec54f9c6efbd2acf9786bc75e7763b5cdc6f5c4437fdda5792b54b419a3fff9347a416b544d0e341335770ce6e26f041926517 + languageName: node + linkType: hard + +"@babel/code-frame@npm:7.8.3, @babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/code-frame@npm:7.8.3" + dependencies: + "@babel/highlight": ^7.8.3 + checksum: 3/0552a3e3667ad5af3bbffd537a7d177f321af3ff416522a9e9c7c671b9fc5d7f5eb6847e676e8de7a7362819e9670d9fe684e95d1c98adad0c0a0763c096955e + languageName: node + linkType: hard + +"@babel/compat-data@npm:^7.9.0, @babel/compat-data@npm:^7.9.6": + version: 7.9.6 + resolution: "@babel/compat-data@npm:7.9.6" + dependencies: + browserslist: ^4.11.1 + invariant: ^2.2.4 + semver: ^5.5.0 + checksum: 3/2063b92c99c4ac1c4ffe7659e30b075cb4d7a665310e037e374982b5b0a46f8cf64dd0097d94420709345adc294071237d434d4e991cfdd66feb5ec950b8b734 + languageName: node + linkType: hard + +"@babel/core@npm:7.9.0": + version: 7.9.0 + resolution: "@babel/core@npm:7.9.0" + dependencies: + "@babel/code-frame": ^7.8.3 + "@babel/generator": ^7.9.0 + "@babel/helper-module-transforms": ^7.9.0 + "@babel/helpers": ^7.9.0 + "@babel/parser": ^7.9.0 + "@babel/template": ^7.8.6 + "@babel/traverse": ^7.9.0 + "@babel/types": ^7.9.0 + convert-source-map: ^1.7.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.1 + json5: ^2.1.2 + lodash: ^4.17.13 + resolve: ^1.3.2 + semver: ^5.4.1 + source-map: ^0.5.0 + checksum: 3/969b99c3aa93836cda851b28cd5d254ce197b3c78274c2c0aff4c42682a10d105b2052c2808d526a9d39c5e2d4fc26e78c88f2c33aeeb9c5cfcdb4019fc1c3bd + languageName: node + linkType: hard + +"@babel/core@npm:^7.1.0, @babel/core@npm:^7.4.5, @babel/core@npm:^7.6.4, @babel/core@npm:^7.7.5, @babel/core@npm:^7.9.6": + version: 7.9.6 + resolution: "@babel/core@npm:7.9.6" + dependencies: + "@babel/code-frame": ^7.8.3 + "@babel/generator": ^7.9.6 + "@babel/helper-module-transforms": ^7.9.0 + "@babel/helpers": ^7.9.6 + "@babel/parser": ^7.9.6 + "@babel/template": ^7.8.6 + "@babel/traverse": ^7.9.6 + "@babel/types": ^7.9.6 + convert-source-map: ^1.7.0 + debug: ^4.1.0 + gensync: ^1.0.0-beta.1 + json5: ^2.1.2 + lodash: ^4.17.13 + resolve: ^1.3.2 + semver: ^5.4.1 + source-map: ^0.5.0 + checksum: 3/5e9d9199e6994e1de40f7012c3fae43a06c7fec938019a459d1222380523ef257b8b72f0ca0650468d77505dc9a957e816306e5a1f4f3ecbf5bbf6ed3e718258 + languageName: node + linkType: hard + +"@babel/generator@npm:^7.4.0, @babel/generator@npm:^7.9.0, @babel/generator@npm:^7.9.6": + version: 7.9.6 + resolution: "@babel/generator@npm:7.9.6" + dependencies: + "@babel/types": ^7.9.6 + jsesc: ^2.5.1 + lodash: ^4.17.13 + source-map: ^0.5.0 + checksum: 3/b90d4cb82aaf3a054eaa70179c591dd205204d1dba9db2806fa50aacada236a046e3efd0e0a37ea15da35ee49834155c1b0091c0c8c288520eec2c401c78af31 + languageName: node + linkType: hard + +"@babel/helper-annotate-as-pure@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/helper-annotate-as-pure@npm:7.8.3" + dependencies: + "@babel/types": ^7.8.3 + checksum: 3/594212a764dc72bbcb1afea1f3a08481693049d19de80a86e0fe4affb3dc112def836ee9bc45eecc5ca34d0ec44db345c9ae2c477209dc92e1c8bb4914a06a8a + languageName: node + linkType: hard + +"@babel/helper-builder-binary-assignment-operator-visitor@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/helper-builder-binary-assignment-operator-visitor@npm:7.8.3" + dependencies: + "@babel/helper-explode-assignable-expression": ^7.8.3 + "@babel/types": ^7.8.3 + checksum: 3/e6729cf99bad9095ebd43deffd5f2d26646a500f7356aafab7e9f5a58a99956782e6220579ac014e972925882d84c026fb06625cdd66fc935eb513af282d98cd + languageName: node + linkType: hard + +"@babel/helper-builder-react-jsx-experimental@npm:^7.9.0": + version: 7.9.5 + resolution: "@babel/helper-builder-react-jsx-experimental@npm:7.9.5" + dependencies: + "@babel/helper-annotate-as-pure": ^7.8.3 + "@babel/helper-module-imports": ^7.8.3 + "@babel/types": ^7.9.5 + checksum: 3/26ed0e1466097b543aac193c16fb6226aa24526acb54ca6bbe5c641852f2e87fb5dcd8c1d67d6612efff1a8b1da9db69dbcf78b11a276b3a98592635bc1f81db + languageName: node + linkType: hard + +"@babel/helper-builder-react-jsx@npm:^7.9.0": + version: 7.9.0 + resolution: "@babel/helper-builder-react-jsx@npm:7.9.0" + dependencies: + "@babel/helper-annotate-as-pure": ^7.8.3 + "@babel/types": ^7.9.0 + checksum: 3/3c1b38de180ecaa415fa90c23ebc49fb611a72b8cef88cf2d7754cede305869aea6b11742b69444c1a58bf2f9614d9ac674d90f061ba39acd24a54150b55bd57 + languageName: node + linkType: hard + +"@babel/helper-compilation-targets@npm:^7.8.7, @babel/helper-compilation-targets@npm:^7.9.6": + version: 7.9.6 + resolution: "@babel/helper-compilation-targets@npm:7.9.6" + dependencies: + "@babel/compat-data": ^7.9.6 + browserslist: ^4.11.1 + invariant: ^2.2.4 + levenary: ^1.1.1 + semver: ^5.5.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 3/5fb16b4fc2438c55a41712a107c0338944de7fb9d9c20db59b87fffe95b48cee82a968ac154be76d3492301cbd4c8003ca746c062917c181d76cac6004e536a1 + languageName: node + linkType: hard + +"@babel/helper-create-class-features-plugin@npm:^7.8.3, @babel/helper-create-class-features-plugin@npm:^7.9.6": + version: 7.9.6 + resolution: "@babel/helper-create-class-features-plugin@npm:7.9.6" + dependencies: + "@babel/helper-function-name": ^7.9.5 + "@babel/helper-member-expression-to-functions": ^7.8.3 + "@babel/helper-optimise-call-expression": ^7.8.3 + "@babel/helper-plugin-utils": ^7.8.3 + "@babel/helper-replace-supers": ^7.9.6 + "@babel/helper-split-export-declaration": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 3/bdd3f0e26846db4efd890ba0ac273102c5947c68619f15fd69cad09a78d535c6cad53057b63d73561beefc9d708aaa5ffceabaac21405126948cfca3fe2abf1a + languageName: node + linkType: hard + +"@babel/helper-create-regexp-features-plugin@npm:^7.8.3, @babel/helper-create-regexp-features-plugin@npm:^7.8.8": + version: 7.8.8 + resolution: "@babel/helper-create-regexp-features-plugin@npm:7.8.8" + dependencies: + "@babel/helper-annotate-as-pure": ^7.8.3 + "@babel/helper-regex": ^7.8.3 + regexpu-core: ^4.7.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 3/f288ada304dfe48e6090f16520f1e9258f2db1b13234a6e5329eadaf231c9b7c071a303fdd4014db952b89c02d748929ccd6de3d59844b010bf46c27b5a02c53 + languageName: node + linkType: hard + +"@babel/helper-define-map@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/helper-define-map@npm:7.8.3" + dependencies: + "@babel/helper-function-name": ^7.8.3 + "@babel/types": ^7.8.3 + lodash: ^4.17.13 + checksum: 3/3a570d152ab5c3710c5bd48eadbb3d5c31f0bb74fb569f0dd5081e301613f3adb0daf3d6dc7e0597cc760f833fe66c80e2c1c3c9a8fc6083135d705f4e53e933 + languageName: node + linkType: hard + +"@babel/helper-explode-assignable-expression@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/helper-explode-assignable-expression@npm:7.8.3" + dependencies: + "@babel/traverse": ^7.8.3 + "@babel/types": ^7.8.3 + checksum: 3/e6cab12b350c74f3317bca6eafd5eea18773a3d413629a12073670d3472ef14943759a4112ff3762e91dd125b053f498e3071d31f3f69cd6ba3a90b6b47cda9f + languageName: node + linkType: hard + +"@babel/helper-function-name@npm:^7.8.3, @babel/helper-function-name@npm:^7.9.5": + version: 7.9.5 + resolution: "@babel/helper-function-name@npm:7.9.5" + dependencies: + "@babel/helper-get-function-arity": ^7.8.3 + "@babel/template": ^7.8.3 + "@babel/types": ^7.9.5 + checksum: 3/6d5a6f645bd37347f133a69eff3f7078b471e0a73b608c5a0107b58f05fd4f7d7f7344f7713a757db43bc3ce71b5e8aa9f12bc9f2f1fb34b14f33b267958b0ad + languageName: node + linkType: hard + +"@babel/helper-get-function-arity@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/helper-get-function-arity@npm:7.8.3" + dependencies: + "@babel/types": ^7.8.3 + checksum: 3/173ce64f2bc357ca6deb6c639c02fc3842b9c88750501decfe1fa3b7cfe449280f1ced0b7d754a9bf338e7227300af3b28a3447d60048dfceb6405c017b0b84b + languageName: node + linkType: hard + +"@babel/helper-hoist-variables@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/helper-hoist-variables@npm:7.8.3" + dependencies: + "@babel/types": ^7.8.3 + checksum: 3/b5a95ca28dfc44d2bafbc9c9e4e39a592988113eaa14dcf218832e8480388ec857cd06b0816316de5add6951d844b3de1d5ecfb2d5c4bdd9f04cd52e6c9761fa + languageName: node + linkType: hard + +"@babel/helper-member-expression-to-functions@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/helper-member-expression-to-functions@npm:7.8.3" + dependencies: + "@babel/types": ^7.8.3 + checksum: 3/75dc46c0f64d21985fe62f39c67673fea925815f7576a6a83eec70ec50c0baa969d672df1bee6d0d65cea4c0fd11bcfcebfe1f3642ec57009bf3d3195034ba18 + languageName: node + linkType: hard + +"@babel/helper-module-imports@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/helper-module-imports@npm:7.8.3" + dependencies: + "@babel/types": ^7.8.3 + checksum: 3/48a64ca882aa5fcbd8969ae57f10ff44d68c45507675199f8c6d750e4695524072dbd00102155b89106a6f06ca466ad8a607475eded156471d45d5014ce410d7 + languageName: node + linkType: hard + +"@babel/helper-module-transforms@npm:^7.9.0": + version: 7.9.0 + resolution: "@babel/helper-module-transforms@npm:7.9.0" + dependencies: + "@babel/helper-module-imports": ^7.8.3 + "@babel/helper-replace-supers": ^7.8.6 + "@babel/helper-simple-access": ^7.8.3 + "@babel/helper-split-export-declaration": ^7.8.3 + "@babel/template": ^7.8.6 + "@babel/types": ^7.9.0 + lodash: ^4.17.13 + checksum: 3/a667ba69306ede8dc1a710f0d5e08fa1f7ef15677c489153f0a6b26b97e4f31557392c884ad72c6f7024ab2953c2aba3851a20d7594265090ea986a9ef93c725 + languageName: node + linkType: hard + +"@babel/helper-optimise-call-expression@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/helper-optimise-call-expression@npm:7.8.3" + dependencies: + "@babel/types": ^7.8.3 + checksum: 3/db54d15185bbe12affcc013db3f8e556490f3ad82e2a56ee9e927056a10adc37c8d1cd6c6db4900bb45ae557e572f571089f276001ea34308b775b1ad7dabf19 + languageName: node + linkType: hard + +"@babel/helper-plugin-utils@npm:^7.0.0, @babel/helper-plugin-utils@npm:^7.8.0, @babel/helper-plugin-utils@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/helper-plugin-utils@npm:7.8.3" + checksum: 3/56f09626f24511aadd36a96aacd8658274ededc2e94f5e85bb6e51c9e6ad72eb1dd9f9a28a4ee5a8691de7601cf2a8e63ce235db01dda8964779940281f2787f + languageName: node + linkType: hard + +"@babel/helper-regex@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/helper-regex@npm:7.8.3" + dependencies: + lodash: ^4.17.13 + checksum: 3/b36d0111bc99e4b8c2e6d338bd2c321f51eeb281dcf3763cbfbb8d91cfe7da8cf8df0dc6ee7892848abb1794eeae8650275b8787de62d51f62cbde02a8d1cbad + languageName: node + linkType: hard + +"@babel/helper-remap-async-to-generator@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/helper-remap-async-to-generator@npm:7.8.3" + dependencies: + "@babel/helper-annotate-as-pure": ^7.8.3 + "@babel/helper-wrap-function": ^7.8.3 + "@babel/template": ^7.8.3 + "@babel/traverse": ^7.8.3 + "@babel/types": ^7.8.3 + checksum: 3/50f71e309d45f1c8f30e7228cef7e406d9d15cf2af63d875e114e1fb8fe4229c508340809b6d479159424b78c8f66b5a670358ea6ce387f1a30f8a332bfd25b7 + languageName: node + linkType: hard + +"@babel/helper-replace-supers@npm:^7.8.3, @babel/helper-replace-supers@npm:^7.8.6, @babel/helper-replace-supers@npm:^7.9.6": + version: 7.9.6 + resolution: "@babel/helper-replace-supers@npm:7.9.6" + dependencies: + "@babel/helper-member-expression-to-functions": ^7.8.3 + "@babel/helper-optimise-call-expression": ^7.8.3 + "@babel/traverse": ^7.9.6 + "@babel/types": ^7.9.6 + checksum: 3/1b08944da1b7dd4969c4350407fc9566918381dde4964f407c8ec37fa4f5bc6ed39b346a8517cc07afb3b8cf1fb2fdf3bb6d3b33a5a247ba102ebd0e90e0a203 + languageName: node + linkType: hard + +"@babel/helper-simple-access@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/helper-simple-access@npm:7.8.3" + dependencies: + "@babel/template": ^7.8.3 + "@babel/types": ^7.8.3 + checksum: 3/1cdd8a6710e97238d15f1200881b86366b2f0b10c3c04c726b4092919afd1fdba9dd43fad8648a5e565c10fdb9654a9885ae1679526128aca7cf6e746ad458f3 + languageName: node + linkType: hard + +"@babel/helper-split-export-declaration@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/helper-split-export-declaration@npm:7.8.3" + dependencies: + "@babel/types": ^7.8.3 + checksum: 3/dd72c412171315f1952f30a7a71a237fb4f1b11edfc4ae8945db905f000e945f6c7a791d166a5c3fb90dd8336bbf9891091bd7f139eaf7ea4dfb30c54c888eb1 + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.9.0, @babel/helper-validator-identifier@npm:^7.9.5": + version: 7.9.5 + resolution: "@babel/helper-validator-identifier@npm:7.9.5" + checksum: 3/f4dd825c0b959d2b634a7b8397f826e6b69d0a0213686ed3a0fc1ed42d278e374d821dc036dffc3a27223b8465eb62a6c30363f5e20427f29c6b6f8bef456ca3 + languageName: node + linkType: hard + +"@babel/helper-wrap-function@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/helper-wrap-function@npm:7.8.3" + dependencies: + "@babel/helper-function-name": ^7.8.3 + "@babel/template": ^7.8.3 + "@babel/traverse": ^7.8.3 + "@babel/types": ^7.8.3 + checksum: 3/ab1956051d3a731d8e2fe5fbc493aaf8581f6681ffbf654239b0370e37873a5fbc670a0f949a4062aef6630cf8e782ca87761c254af32bdf14f51ef192c7320d + languageName: node + linkType: hard + +"@babel/helpers@npm:^7.9.0, @babel/helpers@npm:^7.9.6": + version: 7.9.6 + resolution: "@babel/helpers@npm:7.9.6" + dependencies: + "@babel/template": ^7.8.3 + "@babel/traverse": ^7.9.6 + "@babel/types": ^7.9.6 + checksum: 3/1ffe25b91f63553a40fbe1ba80de8963683a45dc5a3760ee039253555798cc446d438e6fca1fefbe2b8969269653c210daff11b391e26fe4b977e5e54bf3cc77 + languageName: node + linkType: hard + +"@babel/highlight@npm:^7.8.3": + version: 7.9.0 + resolution: "@babel/highlight@npm:7.9.0" + dependencies: + "@babel/helper-validator-identifier": ^7.9.0 + chalk: ^2.0.0 + js-tokens: ^4.0.0 + checksum: 3/9887f2fe93b10b53bffb70cccd22dff179a10230985c67dbcf8f27a536714777b8ed68548181af80f132125e8ff7464362b73081ed1510899b5040734a91e202 + languageName: node + linkType: hard + +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.4.3, @babel/parser@npm:^7.7.0, @babel/parser@npm:^7.8.6, @babel/parser@npm:^7.9.0, @babel/parser@npm:^7.9.6": + version: 7.9.6 + resolution: "@babel/parser@npm:7.9.6" + bin: + parser: ./bin/babel-parser.js + checksum: 3/95ece64d01b30eb29964a6c678844b8bb3d9e2289f956467c58c9bed68c52a9b09f500b98d8488d0df636b4d062c5abe0a9611d27d6761d278e4c3208e4295c4 + languageName: node + linkType: hard + +"@babel/plugin-proposal-async-generator-functions@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-proposal-async-generator-functions@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + "@babel/helper-remap-async-to-generator": ^7.8.3 + "@babel/plugin-syntax-async-generators": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/4844ede310563e7f030c58217b0b33bb96d17a698b689f5d3b5fbca9245802061afe68dd025a9ea5d243765c180f470c1a2e145afd3c274ac20b318c763027c3 + languageName: node + linkType: hard + +"@babel/plugin-proposal-class-properties@npm:7.8.3, @babel/plugin-proposal-class-properties@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-proposal-class-properties@npm:7.8.3" + dependencies: + "@babel/helper-create-class-features-plugin": ^7.8.3 + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/09072d267cd00c89057cab37817b2bc8dd397e56f849a63596aa40dc0962b4daedb2c1fc0b8f7b842baffe0042b21a1758f3b9c53e1bfcc9345b7db3336220aa + languageName: node + linkType: hard + +"@babel/plugin-proposal-decorators@npm:7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-proposal-decorators@npm:7.8.3" + dependencies: + "@babel/helper-create-class-features-plugin": ^7.8.3 + "@babel/helper-plugin-utils": ^7.8.3 + "@babel/plugin-syntax-decorators": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/d56e31cc7b7b8a2e89dda534a64535ad82994719d5105fcafbd4b3867bf939981282021fbf4083c4036475d250841dc99de323ce494a7fa94cc347d03ae42c4b + languageName: node + linkType: hard + +"@babel/plugin-proposal-dynamic-import@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-proposal-dynamic-import@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + "@babel/plugin-syntax-dynamic-import": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/7dacffad8c9027589c038bd5d58eae5ed1786623312485411a6c11d168c2ba8b96ab6638344c08b48c9aa224fe7013f9371cf9baf0ccf4591b3516440517dc1e + languageName: node + linkType: hard + +"@babel/plugin-proposal-json-strings@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-proposal-json-strings@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + "@babel/plugin-syntax-json-strings": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/d77c14cf01d41440345ed963fafd16a7da3df8f1ba778780672fa7cbd730e1114a88dbc4c1411ee3dcb29a2fc8565081c9ad2f887f04b4c124e10842986c88fe + languageName: node + linkType: hard + +"@babel/plugin-proposal-nullish-coalescing-operator@npm:7.8.3, @babel/plugin-proposal-nullish-coalescing-operator@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-proposal-nullish-coalescing-operator@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/99b6683ae81309453ae55b2a8681e02de52efc7c5cdf30342cb0585ad4a2ef07d1a7781cfa6c4b0b7329538e11576263a5f217043b56ab15980e3ae9007738db + languageName: node + linkType: hard + +"@babel/plugin-proposal-numeric-separator@npm:7.8.3, @babel/plugin-proposal-numeric-separator@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-proposal-numeric-separator@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + "@babel/plugin-syntax-numeric-separator": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/8ab823d0d2d20e6439787fbb2c1b52e634fccf414e92268914b482edfb5d863cb9b85a0b2e37f0956efb20d968335420afe0b7d31197c9f84faaf9af3c65fd74 + languageName: node + linkType: hard + +"@babel/plugin-proposal-object-rest-spread@npm:^7.9.0, @babel/plugin-proposal-object-rest-spread@npm:^7.9.6": + version: 7.9.6 + resolution: "@babel/plugin-proposal-object-rest-spread@npm:7.9.6" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + "@babel/plugin-syntax-object-rest-spread": ^7.8.0 + "@babel/plugin-transform-parameters": ^7.9.5 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/7e5b19c48723bb42ae61a7ac60547e52e31de229dc0855afb92a817d7ea5f81a7153f116d742e783fab0b6f322ccddba846d13aa718b5eb2692a4f15f2a0c755 + languageName: node + linkType: hard + +"@babel/plugin-proposal-optional-catch-binding@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-proposal-optional-catch-binding@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + "@babel/plugin-syntax-optional-catch-binding": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/6241b347b611e91f436022649def5f08359608db5b9b133c4d32ab8ac1e5d693bd95799e6bfd9dac4f641f561ca9f65f424f7813ffaddf33b88878bfe2714107 + languageName: node + linkType: hard + +"@babel/plugin-proposal-optional-chaining@npm:7.9.0, @babel/plugin-proposal-optional-chaining@npm:^7.9.0": + version: 7.9.0 + resolution: "@babel/plugin-proposal-optional-chaining@npm:7.9.0" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + "@babel/plugin-syntax-optional-chaining": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/88c2000597877a1bae264aa7fb3529225123772d4680b4468032ebcbc170b7fe3f2d3028712cfad2180af147a2bfdb50ad36d191a7753b05ef7f502c66b48e70 + languageName: node + linkType: hard + +"@babel/plugin-proposal-unicode-property-regex@npm:^7.4.4, @babel/plugin-proposal-unicode-property-regex@npm:^7.8.3": + version: 7.8.8 + resolution: "@babel/plugin-proposal-unicode-property-regex@npm:7.8.8" + dependencies: + "@babel/helper-create-regexp-features-plugin": ^7.8.8 + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/f7aa13afc1d93f3e825ae63e94b1d8b28d2a517d2200c76310b462e8463a776067c44ded826651e23a971489a8f20df6335b3da4fe06aaec01f1cae8fc0b7e5b + languageName: node + linkType: hard + +"@babel/plugin-syntax-async-generators@npm:^7.8.0, @babel/plugin-syntax-async-generators@npm:^7.8.4": + version: 7.8.4 + resolution: "@babel/plugin-syntax-async-generators@npm:7.8.4" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/39685944ffe342981afb1fe3af824305e94ee249b1841c78c1112f93d256d3d405902ac146ab3bad8c243710f081621f9fbf53c62474800d398293c99521c8ef + languageName: node + linkType: hard + +"@babel/plugin-syntax-bigint@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-bigint@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/8c9b610377af48e1d8ec0d5ad5eec5e462fbc775b20f367e0ebc2656b98b4cc73a952e8b5ab8641e6de0d04923f3843dd73ce00a71ef5cac9940822ff776c8ec + languageName: node + linkType: hard + +"@babel/plugin-syntax-class-properties@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-class-properties@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/b80f7a4e1592bd76d854d96cd67e20e9d10ef30bf767dca97d3679ae928b31cb706e1a258c034191f9ec463a2430551d3e1e49b12abd6425b958613c8e81246e + languageName: node + linkType: hard + +"@babel/plugin-syntax-decorators@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-decorators@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/39677eb404f8b27ef9f2b87940e579c93db3f679cbbe218cbc1b72d182cac3bbe5089f1675ac22a1bff58e6c1c2b04fb3f57e8e0485b3aca06daaeda3983367c + languageName: node + linkType: hard + +"@babel/plugin-syntax-dynamic-import@npm:^7.8.0": + version: 7.8.3 + resolution: "@babel/plugin-syntax-dynamic-import@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/134a6f37feac0e6d55f8188232e11798ccf699b02d50a4daf9c040f52a22ee32923a6a979443ecc865f4014937ffe67ac11b81aa5668b6792238c647314f41c9 + languageName: node + linkType: hard + +"@babel/plugin-syntax-flow@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-flow@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/4d223cc75d3ccbae76e8719304ca324cb62bbd3eaf6790636a3ab608809e2dc5d3df885cd3cc0d2dc74a8cab477a5e79cbe6c08d392362e082d550c481f93716 + languageName: node + linkType: hard + +"@babel/plugin-syntax-json-strings@npm:^7.8.0, @babel/plugin-syntax-json-strings@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-json-strings@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/1a7dabf0a4b264cb235966c4256aad131567eba20e41de731fa9127d371454a2f702e27fd7bedac65efb0df847e5cece7bcb5507a931604d1c2ecb7390adaa1f + languageName: node + linkType: hard + +"@babel/plugin-syntax-jsx@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-jsx@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/461a8bc58f90b6f0bb2ec8545671b17621aadfe2c0423af06b73299c6be63c35324c9905dc12c6671cacdc5798f9137cdabb69ab0c041973142bab26322fa4e1 + languageName: node + linkType: hard + +"@babel/plugin-syntax-logical-assignment-operators@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-logical-assignment-operators@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/f711dcf8ea6fe59e50ad75546aa89ad88e02247811653ed1482c0bf833449b46fbb7acb713c5ce410a246a1ad043f9dc3b974e0a1f7d85cb76761d6a3f8ed4b5 + languageName: node + linkType: hard + +"@babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.0, @babel/plugin-syntax-nullish-coalescing-operator@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-nullish-coalescing-operator@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/4ba03753759a2d9783b792c060147a20f474f76c42edf77cbf89c6669f9f22ffb3cbba4facdd8ce651129db6089a81feca1f7e42da75244eabedecba37bd20be + languageName: node + linkType: hard + +"@babel/plugin-syntax-numeric-separator@npm:^7.8.0, @babel/plugin-syntax-numeric-separator@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-numeric-separator@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/b12fb19d0cb795b26c2b7262ee6ca20effbd4556ec6aa1fa1fa579979c08541d2b2db33e3cae2a333f22460c6a36dd646af79a70a662b7fe22675cdbe6bc3001 + languageName: node + linkType: hard + +"@babel/plugin-syntax-object-rest-spread@npm:^7.0.0, @babel/plugin-syntax-object-rest-spread@npm:^7.8.0, @babel/plugin-syntax-object-rest-spread@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/db5dfb39faceddba8b80c586e331e17c3a1f79941f80eaa070b91fb920582bffe8bba46f6bebbdaf7c1f9b0bbe2a68493c28e1c9fb0ced864da739c0cd52ce43 + languageName: node + linkType: hard + +"@babel/plugin-syntax-optional-catch-binding@npm:^7.8.0, @babel/plugin-syntax-optional-catch-binding@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-catch-binding@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/f03d07526674ecdb3388e1d648ec250250968e13c037a7110e37d3eab0b82b07d6605332772afdf19f1831dfd3bdbbf0288a7d9097097d30b9548388ea693a07 + languageName: node + linkType: hard + +"@babel/plugin-syntax-optional-chaining@npm:^7.8.0, @babel/plugin-syntax-optional-chaining@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-optional-chaining@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/2a50685d023bc609b01a3fd7ed3af03bc36c575da8d02199ed51cb24e8e068f26a128a20486cd502abe9e1d4c02e0264b8a58f1a5143e1291ca3508a948ada97 + languageName: node + linkType: hard + +"@babel/plugin-syntax-top-level-await@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-top-level-await@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/db2f0ca5cba56605068f9d5c5d0b11cf2d77c66f85bcf4afe91c73395ac334364f27d7f3bd4a1a145c10a80c55cf11bb41269baf11fcebf3d349dd4010d9f7b3 + languageName: node + linkType: hard + +"@babel/plugin-syntax-typescript@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-syntax-typescript@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/56807f1cf9db0002359d0cc92153f8f038436236fc424f50100dc7f24f420e77422d9054ab9622238aa869ef3fa28835c0432cd365c7e3f60ec7016f62ff7a99 + languageName: node + linkType: hard + +"@babel/plugin-transform-arrow-functions@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-transform-arrow-functions@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/8389bb8d1beb83645fb68dece0d6f254c6b6e976d1c4e28dfe2cb18a9e24cd690403e8220a69f1c4ada060df948c098e2f86bfb8f3c17fde0f59f28cbf0e50c8 + languageName: node + linkType: hard + +"@babel/plugin-transform-async-to-generator@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-transform-async-to-generator@npm:7.8.3" + dependencies: + "@babel/helper-module-imports": ^7.8.3 + "@babel/helper-plugin-utils": ^7.8.3 + "@babel/helper-remap-async-to-generator": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/51442df3b7169357f99296f08c1a712d3bd722c7a2c722b61b1e5b0515b3c4ba1a0cfc850186db98c0086cba61a910fec306e7bd3fa2819c15588d601639f4a0 + languageName: node + linkType: hard + +"@babel/plugin-transform-block-scoped-functions@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-transform-block-scoped-functions@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/250fca457ca771043013f14b76788790546830b60f4b044e44fec2b93b0b8b51ed81232030624dfa74760f8d2eddebcb0035c067872701e63fd2361c727c2781 + languageName: node + linkType: hard + +"@babel/plugin-transform-block-scoping@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-transform-block-scoping@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + lodash: ^4.17.13 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/95008d867dda564832fc8029d50d1d07126b74bbb25f5a1a39e9814c750c73d4bf2c07806e0effec0c35ed39ec009287261310067c0a8c4301ffbdad552ed087 + languageName: node + linkType: hard + +"@babel/plugin-transform-classes@npm:^7.9.0, @babel/plugin-transform-classes@npm:^7.9.5": + version: 7.9.5 + resolution: "@babel/plugin-transform-classes@npm:7.9.5" + dependencies: + "@babel/helper-annotate-as-pure": ^7.8.3 + "@babel/helper-define-map": ^7.8.3 + "@babel/helper-function-name": ^7.9.5 + "@babel/helper-optimise-call-expression": ^7.8.3 + "@babel/helper-plugin-utils": ^7.8.3 + "@babel/helper-replace-supers": ^7.8.6 + "@babel/helper-split-export-declaration": ^7.8.3 + globals: ^11.1.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/5aad038a1f07650c53ecea97bf31635b21d5e9db013a4ee7e3bc9903c3008641710dfbe2994e737b99bd8eab441d268f065ccb040f1e2fc19fd12cee6221fd4e + languageName: node + linkType: hard + +"@babel/plugin-transform-computed-properties@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-transform-computed-properties@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/9f480ca11bb97b9a4968699c0d8ac1d0af26014cbfe2375df471c5275d23f864156de6ef353a64711689f3aa9459a3d3db71b5c72f9faff602305770975684ba + languageName: node + linkType: hard + +"@babel/plugin-transform-destructuring@npm:^7.8.3, @babel/plugin-transform-destructuring@npm:^7.9.5": + version: 7.9.5 + resolution: "@babel/plugin-transform-destructuring@npm:7.9.5" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/cc5b55ad5214e2f57e592113049e0d6b57f4c18c6d4487560f03a3a7917fc70146a0f4e3ceac3d65c6a08d5da5a4bfe2969887a8e49c8f14f58136f1d2a7306d + languageName: node + linkType: hard + +"@babel/plugin-transform-dotall-regex@npm:^7.4.4, @babel/plugin-transform-dotall-regex@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-transform-dotall-regex@npm:7.8.3" + dependencies: + "@babel/helper-create-regexp-features-plugin": ^7.8.3 + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/e0b28ea6b224f3e00b81bd447f42aff82a2f6f3722ba5c9763e8cf3bc3994a55bd9a142fc68d83f41595d663528791d671d5bfc08637443fb13ee5296a7de73d + languageName: node + linkType: hard + +"@babel/plugin-transform-duplicate-keys@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-transform-duplicate-keys@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/1606142c396786b95ec353de211a4734d3e7f1d4bb4a1b2ebe5317438d23484658e547b206449cb6ad96b7955f6da3a27073c8df953658a201c3a57ce2fea65b + languageName: node + linkType: hard + +"@babel/plugin-transform-exponentiation-operator@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-transform-exponentiation-operator@npm:7.8.3" + dependencies: + "@babel/helper-builder-binary-assignment-operator-visitor": ^7.8.3 + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/f68397ade893ea719c9d1c6b141f3e73d1b8be88225245ba1dc9d50a86a3cad2827bc4e1ed75b32950617fc9becba4b6d3b679e6162e8b100f2dd2cf6acf9dc4 + languageName: node + linkType: hard + +"@babel/plugin-transform-flow-strip-types@npm:7.9.0": + version: 7.9.0 + resolution: "@babel/plugin-transform-flow-strip-types@npm:7.9.0" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + "@babel/plugin-syntax-flow": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/6f639bec01e55d918d93fcc620702d979c1f81913e169488e44cca742fb93dbdc66482f17b718d10b2be8b8ad834afada6590a290e32334dc0602db25c6afb8f + languageName: node + linkType: hard + +"@babel/plugin-transform-for-of@npm:^7.9.0": + version: 7.9.0 + resolution: "@babel/plugin-transform-for-of@npm:7.9.0" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/63d6eecfc84af7dbe5cc54f35557641e34d5ca12e54f30927f33d24707c9202efee0ecfdd0a9d74e277ed5555311e9de5e7dd63d2f55975b12163320ee981dc9 + languageName: node + linkType: hard + +"@babel/plugin-transform-function-name@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-transform-function-name@npm:7.8.3" + dependencies: + "@babel/helper-function-name": ^7.8.3 + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/29e7934c9f232c33586f28eab2c0cbf7a9c864a36ad1ef6283f572b6758d91915e8172514ce5a26063fa616c98733479e78c6a6ec510d92a8915752ba19e662c + languageName: node + linkType: hard + +"@babel/plugin-transform-literals@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-transform-literals@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/0bb20216e93eb78d6cc2b85451546902e3584b6f6249e4e4c8e63453b62e551af5454ef7bbe65811e5b37ff6e5b56a177da72283a36d11554132e4a881daa83f + languageName: node + linkType: hard + +"@babel/plugin-transform-member-expression-literals@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-transform-member-expression-literals@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/14c6d08cc193364ebcd3f76edf20fa22ce5a0f9689c2f16b5feb2a032f2ed42f71a083a13a0e525f4394ea8d4beb68dbd38cb6a80ccdac219e5bb70aaea8f839 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-amd@npm:^7.9.0, @babel/plugin-transform-modules-amd@npm:^7.9.6": + version: 7.9.6 + resolution: "@babel/plugin-transform-modules-amd@npm:7.9.6" + dependencies: + "@babel/helper-module-transforms": ^7.9.0 + "@babel/helper-plugin-utils": ^7.8.3 + babel-plugin-dynamic-import-node: ^2.3.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/86e934348bed3f982077565cba8c16ea76d24a692b3316c5b9d0d55dd607a9b10ea8ca6457dd52268c69ae4d03a97146c0a2698ca6fa897a3f42764a451c983e + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-commonjs@npm:^7.9.0, @babel/plugin-transform-modules-commonjs@npm:^7.9.6": + version: 7.9.6 + resolution: "@babel/plugin-transform-modules-commonjs@npm:7.9.6" + dependencies: + "@babel/helper-module-transforms": ^7.9.0 + "@babel/helper-plugin-utils": ^7.8.3 + "@babel/helper-simple-access": ^7.8.3 + babel-plugin-dynamic-import-node: ^2.3.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/54da42be5669fd04ac57a1f543699c57906de16862184a5ac6f6f3a697f8c08e2db5d73afdcb55b9cc8bef26ce8e057cb7d71e7a418075dae433cc030a7f64ad + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-systemjs@npm:^7.9.0, @babel/plugin-transform-modules-systemjs@npm:^7.9.6": + version: 7.9.6 + resolution: "@babel/plugin-transform-modules-systemjs@npm:7.9.6" + dependencies: + "@babel/helper-hoist-variables": ^7.8.3 + "@babel/helper-module-transforms": ^7.9.0 + "@babel/helper-plugin-utils": ^7.8.3 + babel-plugin-dynamic-import-node: ^2.3.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/784ede5250a0035e969ac34d74dd9e42010a013c3f5a586d7620bc78dfec1d4de127163422dd925c9252400f5bd3c6fad849a500c265b5c0c7679706edc94158 + languageName: node + linkType: hard + +"@babel/plugin-transform-modules-umd@npm:^7.9.0": + version: 7.9.0 + resolution: "@babel/plugin-transform-modules-umd@npm:7.9.0" + dependencies: + "@babel/helper-module-transforms": ^7.9.0 + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/4cb238a0d8999f0e000994cd312087ba8c7e2f99684fccaccea5dc12f4c3a646aa923ec13fbc3a656330925d086cb10bfec80e6753e8c24002982ad5a45d2812 + languageName: node + linkType: hard + +"@babel/plugin-transform-named-capturing-groups-regex@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-transform-named-capturing-groups-regex@npm:7.8.3" + dependencies: + "@babel/helper-create-regexp-features-plugin": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 3/ecd54239cc288bdb29c6194459323059c26e21248bac28398055e29e340a623c14fd69a94583886d47b2d062c043bb25d7f1aa00908addf4e5b7194b4aad91db + languageName: node + linkType: hard + +"@babel/plugin-transform-new-target@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-transform-new-target@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/f51014eb823a81483316b2806ab54bef6ca069e5b9dd215ced713ef32cc31424454d040b4e852fd4dd3b00ffd3ea951458c387fe0b790577fa70e03370e94239 + languageName: node + linkType: hard + +"@babel/plugin-transform-object-super@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-transform-object-super@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + "@babel/helper-replace-supers": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/d0cbf2214f30a005f92e6f2e9037ad7528f88c32e402253532201036aea069b2bffc600bbc63417281e101e2a70878a25fc12dedb2df9f151ee6953d5be400c5 + languageName: node + linkType: hard + +"@babel/plugin-transform-parameters@npm:^7.8.7, @babel/plugin-transform-parameters@npm:^7.9.5": + version: 7.9.5 + resolution: "@babel/plugin-transform-parameters@npm:7.9.5" + dependencies: + "@babel/helper-get-function-arity": ^7.8.3 + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/c32d120344a9e2cd472704c6560c2dd023e2877107a79167877f5155a10b3cc76ac1c42742c1957853f0987a61f5356c73cf87fa965044579716f2f4248ec425 + languageName: node + linkType: hard + +"@babel/plugin-transform-property-literals@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-transform-property-literals@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/5158b25f752072030513ac9ac332d8ba0479664e140d2bdbd663ae63b3ae93a66fc4946c3dd7d10efcd62d74a1464637ad03d461a6b57cc7b1b2fd3a718be51b + languageName: node + linkType: hard + +"@babel/plugin-transform-react-constant-elements@npm:^7.0.0": + version: 7.9.0 + resolution: "@babel/plugin-transform-react-constant-elements@npm:7.9.0" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/47efc22bb7d3df6975569de212f9dbf741a3aa9a357569b86a12010ff2ce2237ebe80bc20e66b4bf12472aafea4e483fca670de9ed14e81c6b49258dcc308316 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-display-name@npm:7.8.3, @babel/plugin-transform-react-display-name@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-transform-react-display-name@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/9e25364d9509a5f5bca8748fbb4337b1c9fc5d4c9bc698f6abffb14cfb0928782d55ec91d13e6e239f8a4c4532aa2267c9a3ad0a99a6c6f4ad0e1e24f5ee710a + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx-development@npm:^7.9.0": + version: 7.9.0 + resolution: "@babel/plugin-transform-react-jsx-development@npm:7.9.0" + dependencies: + "@babel/helper-builder-react-jsx-experimental": ^7.9.0 + "@babel/helper-plugin-utils": ^7.8.3 + "@babel/plugin-syntax-jsx": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/33cc1dd4df808ce4396d2db91560f34de4cbefe1806ab4dba268f4da1ca8b937020db449bc6134df832f99bfc38b59d589a2281bfcd9de060b0291ffa41e6eb2 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx-self@npm:^7.9.0": + version: 7.9.0 + resolution: "@babel/plugin-transform-react-jsx-self@npm:7.9.0" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + "@babel/plugin-syntax-jsx": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/74db297c3181c6f3712f6109b844feeb18ab9d7298e132b31dbf04f1055fd32843098d108d53867eb44de1ae289b39dd127c57fc82b8fb930e7a50ce0f81c309 + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx-source@npm:^7.9.0": + version: 7.9.0 + resolution: "@babel/plugin-transform-react-jsx-source@npm:7.9.0" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + "@babel/plugin-syntax-jsx": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/b5759b24e6f39048a68136e133988302f18efb1134260c0a98e98c8961fadeacaa8b93f24b5ba94a755e8f570981f662e7992d164e7af0e8be2de69cba4fdb6a + languageName: node + linkType: hard + +"@babel/plugin-transform-react-jsx@npm:^7.9.1, @babel/plugin-transform-react-jsx@npm:^7.9.4": + version: 7.9.4 + resolution: "@babel/plugin-transform-react-jsx@npm:7.9.4" + dependencies: + "@babel/helper-builder-react-jsx": ^7.9.0 + "@babel/helper-builder-react-jsx-experimental": ^7.9.0 + "@babel/helper-plugin-utils": ^7.8.3 + "@babel/plugin-syntax-jsx": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/e9e6f0499442577a3dd12ad64d41de31a23646653b9ad4857d1df5e354528d4c639419ebd911f324803b4e0d0ebed2a147d93f13afe1f4bc5bb9bed5cd56f2f4 + languageName: node + linkType: hard + +"@babel/plugin-transform-regenerator@npm:^7.8.7": + version: 7.8.7 + resolution: "@babel/plugin-transform-regenerator@npm:7.8.7" + dependencies: + regenerator-transform: ^0.14.2 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/751116cb63719674a664eb54c1adc80ebc9eb5350eacd5bb4bc962109c30ebc1d4279ab3531903b934afbcfbc708c6a7db8c6ec329f406b9963e1b389352304e + languageName: node + linkType: hard + +"@babel/plugin-transform-reserved-words@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-transform-reserved-words@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/0a291ec7673cc4fffb7ba461cb2d2a9fcb3f53d22399900e4b80dd35cbae785e62758bd81461e4f0783727bdd715a82dad65663022f52750b93d6e771ca4a39f + languageName: node + linkType: hard + +"@babel/plugin-transform-runtime@npm:7.9.0": + version: 7.9.0 + resolution: "@babel/plugin-transform-runtime@npm:7.9.0" + dependencies: + "@babel/helper-module-imports": ^7.8.3 + "@babel/helper-plugin-utils": ^7.8.3 + resolve: ^1.8.1 + semver: ^5.5.1 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/9fddeb4a90adfc070206fd41db3646079f67f738c485a2b626c1b880ad6f90ac78acd5f727920a2584ae04fc01fc8ee46ce7cd40f03f6731e5e31a2abf3e26a9 + languageName: node + linkType: hard + +"@babel/plugin-transform-runtime@npm:^7.9.6": + version: 7.9.6 + resolution: "@babel/plugin-transform-runtime@npm:7.9.6" + dependencies: + "@babel/helper-module-imports": ^7.8.3 + "@babel/helper-plugin-utils": ^7.8.3 + resolve: ^1.8.1 + semver: ^5.5.1 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/3657c437c8fa304f68a4b3783c1b4e62b1f4efeec763e3f3fc9dfe8f625478493414f35d04bfca3e65b4873827268840e2e7a043b69218e0b428308ca28396b5 + languageName: node + linkType: hard + +"@babel/plugin-transform-shorthand-properties@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-transform-shorthand-properties@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/c9db37035987ceed52b6f0515ba237c7bf8b8b6b08ab411e86d717b8b0da6a05764315d8904107ace533aa6244f60f2944064e822d889ee416f2b7be18be1a2d + languageName: node + linkType: hard + +"@babel/plugin-transform-spread@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-transform-spread@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/110df46e89bdb765e35a34e83d138d9e43a6c910c866020b55cf2747dc0ee0abe3a5f583433af8b62ffc00a06175ed1709180a3901cfbe10fc2afda880ef0d2c + languageName: node + linkType: hard + +"@babel/plugin-transform-sticky-regex@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-transform-sticky-regex@npm:7.8.3" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + "@babel/helper-regex": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/8cf6b5292e96196c3f1499b7763a9fc26bbc6879266482e7d34499a4eb61260f3b37456a3dcafe1949f8a3f584c97f21c296c3b26af2e443145a42eacbd62650 + languageName: node + linkType: hard + +"@babel/plugin-transform-template-literals@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-transform-template-literals@npm:7.8.3" + dependencies: + "@babel/helper-annotate-as-pure": ^7.8.3 + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/72215384cb9f04d3c36c486148f185e2097722111798c5990405d3fde7bc2b370a3eeade62ffd926db293d0b9b3a689f16a3e7c7da8bdb94ae1ea233dec8dffa + languageName: node + linkType: hard + +"@babel/plugin-transform-typeof-symbol@npm:^7.8.4": + version: 7.8.4 + resolution: "@babel/plugin-transform-typeof-symbol@npm:7.8.4" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/1ea7cacb9c1c4b8b366dcc9a15a09d17f57b2a7c03e70a3eb2824891e1c86d51883d28868873537d66ffbb2d19882634fc65ea58caabe1b604fcb629e66e3af4 + languageName: node + linkType: hard + +"@babel/plugin-transform-typescript@npm:^7.9.0": + version: 7.9.6 + resolution: "@babel/plugin-transform-typescript@npm:7.9.6" + dependencies: + "@babel/helper-create-class-features-plugin": ^7.9.6 + "@babel/helper-plugin-utils": ^7.8.3 + "@babel/plugin-syntax-typescript": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/74e10f3b7f25efc77b2a47cecff3bc31f361266b2b226c64ba7cf42003e77d39ff93d30a57a42c82cfff8b15e7aff79807ec70f93448fbb43e05b0a12f7e5ade + languageName: node + linkType: hard + +"@babel/plugin-transform-unicode-regex@npm:^7.8.3": + version: 7.8.3 + resolution: "@babel/plugin-transform-unicode-regex@npm:7.8.3" + dependencies: + "@babel/helper-create-regexp-features-plugin": ^7.8.3 + "@babel/helper-plugin-utils": ^7.8.3 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/7a9587f8c92c91e6b9085bda08aaf34cc586e7c2107dfe6797e67bb8e1fefa2114773da4f09642b6997916f53311bfc76be99e57232a449076c437285762c735 + languageName: node + linkType: hard + +"@babel/preset-env@npm:7.9.0": + version: 7.9.0 + resolution: "@babel/preset-env@npm:7.9.0" + dependencies: + "@babel/compat-data": ^7.9.0 + "@babel/helper-compilation-targets": ^7.8.7 + "@babel/helper-module-imports": ^7.8.3 + "@babel/helper-plugin-utils": ^7.8.3 + "@babel/plugin-proposal-async-generator-functions": ^7.8.3 + "@babel/plugin-proposal-dynamic-import": ^7.8.3 + "@babel/plugin-proposal-json-strings": ^7.8.3 + "@babel/plugin-proposal-nullish-coalescing-operator": ^7.8.3 + "@babel/plugin-proposal-numeric-separator": ^7.8.3 + "@babel/plugin-proposal-object-rest-spread": ^7.9.0 + "@babel/plugin-proposal-optional-catch-binding": ^7.8.3 + "@babel/plugin-proposal-optional-chaining": ^7.9.0 + "@babel/plugin-proposal-unicode-property-regex": ^7.8.3 + "@babel/plugin-syntax-async-generators": ^7.8.0 + "@babel/plugin-syntax-dynamic-import": ^7.8.0 + "@babel/plugin-syntax-json-strings": ^7.8.0 + "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.0 + "@babel/plugin-syntax-numeric-separator": ^7.8.0 + "@babel/plugin-syntax-object-rest-spread": ^7.8.0 + "@babel/plugin-syntax-optional-catch-binding": ^7.8.0 + "@babel/plugin-syntax-optional-chaining": ^7.8.0 + "@babel/plugin-syntax-top-level-await": ^7.8.3 + "@babel/plugin-transform-arrow-functions": ^7.8.3 + "@babel/plugin-transform-async-to-generator": ^7.8.3 + "@babel/plugin-transform-block-scoped-functions": ^7.8.3 + "@babel/plugin-transform-block-scoping": ^7.8.3 + "@babel/plugin-transform-classes": ^7.9.0 + "@babel/plugin-transform-computed-properties": ^7.8.3 + "@babel/plugin-transform-destructuring": ^7.8.3 + "@babel/plugin-transform-dotall-regex": ^7.8.3 + "@babel/plugin-transform-duplicate-keys": ^7.8.3 + "@babel/plugin-transform-exponentiation-operator": ^7.8.3 + "@babel/plugin-transform-for-of": ^7.9.0 + "@babel/plugin-transform-function-name": ^7.8.3 + "@babel/plugin-transform-literals": ^7.8.3 + "@babel/plugin-transform-member-expression-literals": ^7.8.3 + "@babel/plugin-transform-modules-amd": ^7.9.0 + "@babel/plugin-transform-modules-commonjs": ^7.9.0 + "@babel/plugin-transform-modules-systemjs": ^7.9.0 + "@babel/plugin-transform-modules-umd": ^7.9.0 + "@babel/plugin-transform-named-capturing-groups-regex": ^7.8.3 + "@babel/plugin-transform-new-target": ^7.8.3 + "@babel/plugin-transform-object-super": ^7.8.3 + "@babel/plugin-transform-parameters": ^7.8.7 + "@babel/plugin-transform-property-literals": ^7.8.3 + "@babel/plugin-transform-regenerator": ^7.8.7 + "@babel/plugin-transform-reserved-words": ^7.8.3 + "@babel/plugin-transform-shorthand-properties": ^7.8.3 + "@babel/plugin-transform-spread": ^7.8.3 + "@babel/plugin-transform-sticky-regex": ^7.8.3 + "@babel/plugin-transform-template-literals": ^7.8.3 + "@babel/plugin-transform-typeof-symbol": ^7.8.4 + "@babel/plugin-transform-unicode-regex": ^7.8.3 + "@babel/preset-modules": ^0.1.3 + "@babel/types": ^7.9.0 + browserslist: ^4.9.1 + core-js-compat: ^3.6.2 + invariant: ^2.2.2 + levenary: ^1.1.1 + semver: ^5.5.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/0def3f55ca4920da1d85131f4c78b847432b99027be8957b84d00b9265975a18ee17e4be1c5830b96d3b63868b6637b9fdd382c6dafb496a17895974ad23695a + languageName: node + linkType: hard + +"@babel/preset-env@npm:^7.4.5, @babel/preset-env@npm:^7.6.3, @babel/preset-env@npm:^7.9.6": + version: 7.9.6 + resolution: "@babel/preset-env@npm:7.9.6" + dependencies: + "@babel/compat-data": ^7.9.6 + "@babel/helper-compilation-targets": ^7.9.6 + "@babel/helper-module-imports": ^7.8.3 + "@babel/helper-plugin-utils": ^7.8.3 + "@babel/plugin-proposal-async-generator-functions": ^7.8.3 + "@babel/plugin-proposal-dynamic-import": ^7.8.3 + "@babel/plugin-proposal-json-strings": ^7.8.3 + "@babel/plugin-proposal-nullish-coalescing-operator": ^7.8.3 + "@babel/plugin-proposal-numeric-separator": ^7.8.3 + "@babel/plugin-proposal-object-rest-spread": ^7.9.6 + "@babel/plugin-proposal-optional-catch-binding": ^7.8.3 + "@babel/plugin-proposal-optional-chaining": ^7.9.0 + "@babel/plugin-proposal-unicode-property-regex": ^7.8.3 + "@babel/plugin-syntax-async-generators": ^7.8.0 + "@babel/plugin-syntax-dynamic-import": ^7.8.0 + "@babel/plugin-syntax-json-strings": ^7.8.0 + "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.0 + "@babel/plugin-syntax-numeric-separator": ^7.8.0 + "@babel/plugin-syntax-object-rest-spread": ^7.8.0 + "@babel/plugin-syntax-optional-catch-binding": ^7.8.0 + "@babel/plugin-syntax-optional-chaining": ^7.8.0 + "@babel/plugin-syntax-top-level-await": ^7.8.3 + "@babel/plugin-transform-arrow-functions": ^7.8.3 + "@babel/plugin-transform-async-to-generator": ^7.8.3 + "@babel/plugin-transform-block-scoped-functions": ^7.8.3 + "@babel/plugin-transform-block-scoping": ^7.8.3 + "@babel/plugin-transform-classes": ^7.9.5 + "@babel/plugin-transform-computed-properties": ^7.8.3 + "@babel/plugin-transform-destructuring": ^7.9.5 + "@babel/plugin-transform-dotall-regex": ^7.8.3 + "@babel/plugin-transform-duplicate-keys": ^7.8.3 + "@babel/plugin-transform-exponentiation-operator": ^7.8.3 + "@babel/plugin-transform-for-of": ^7.9.0 + "@babel/plugin-transform-function-name": ^7.8.3 + "@babel/plugin-transform-literals": ^7.8.3 + "@babel/plugin-transform-member-expression-literals": ^7.8.3 + "@babel/plugin-transform-modules-amd": ^7.9.6 + "@babel/plugin-transform-modules-commonjs": ^7.9.6 + "@babel/plugin-transform-modules-systemjs": ^7.9.6 + "@babel/plugin-transform-modules-umd": ^7.9.0 + "@babel/plugin-transform-named-capturing-groups-regex": ^7.8.3 + "@babel/plugin-transform-new-target": ^7.8.3 + "@babel/plugin-transform-object-super": ^7.8.3 + "@babel/plugin-transform-parameters": ^7.9.5 + "@babel/plugin-transform-property-literals": ^7.8.3 + "@babel/plugin-transform-regenerator": ^7.8.7 + "@babel/plugin-transform-reserved-words": ^7.8.3 + "@babel/plugin-transform-shorthand-properties": ^7.8.3 + "@babel/plugin-transform-spread": ^7.8.3 + "@babel/plugin-transform-sticky-regex": ^7.8.3 + "@babel/plugin-transform-template-literals": ^7.8.3 + "@babel/plugin-transform-typeof-symbol": ^7.8.4 + "@babel/plugin-transform-unicode-regex": ^7.8.3 + "@babel/preset-modules": ^0.1.3 + "@babel/types": ^7.9.6 + browserslist: ^4.11.1 + core-js-compat: ^3.6.2 + invariant: ^2.2.2 + levenary: ^1.1.1 + semver: ^5.5.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/7a2e21987879a022a9986a9d8fa2d1294dbd0eb51b1146a4d6ce85c2ecd8c8b1d8037ee761a655727aaa6644a6215e6414b437581f8fecae7329d89de57f4fcb + languageName: node + linkType: hard + +"@babel/preset-modules@npm:^0.1.3": + version: 0.1.3 + resolution: "@babel/preset-modules@npm:0.1.3" + 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 + checksum: 3/341c13de18779d682ec710c40e60e92285d9a557211c0448398b7308cffb7a1edaaaf4862c1dfe9b02c8b1184c3fdad73daead66cc48aa37b8e90602a49ac175 + languageName: node + linkType: hard + +"@babel/preset-react@npm:7.9.1": + version: 7.9.1 + resolution: "@babel/preset-react@npm:7.9.1" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + "@babel/plugin-transform-react-display-name": ^7.8.3 + "@babel/plugin-transform-react-jsx": ^7.9.1 + "@babel/plugin-transform-react-jsx-development": ^7.9.0 + "@babel/plugin-transform-react-jsx-self": ^7.9.0 + "@babel/plugin-transform-react-jsx-source": ^7.9.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/40986497972b9743558a408a78157ef6aec05374e5f130b7bab29dc4eaf49c8934116fb83ae17648bf679212a17d2469b37d338057ab282dced0fd9f1051cbce + languageName: node + linkType: hard + +"@babel/preset-react@npm:^7.0.0, @babel/preset-react@npm:^7.9.4": + version: 7.9.4 + resolution: "@babel/preset-react@npm:7.9.4" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + "@babel/plugin-transform-react-display-name": ^7.8.3 + "@babel/plugin-transform-react-jsx": ^7.9.4 + "@babel/plugin-transform-react-jsx-development": ^7.9.0 + "@babel/plugin-transform-react-jsx-self": ^7.9.0 + "@babel/plugin-transform-react-jsx-source": ^7.9.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/1c5bc153630dc16af04c0e00842feebc229197bf73e51e1032064972f72f799fe1c9816ee7e52eb2d1a8d00ce7e926a41e56f8e7d94e8d6a56dfcdc1e827b92a + languageName: node + linkType: hard + +"@babel/preset-typescript@npm:7.9.0, @babel/preset-typescript@npm:^7.9.0": + version: 7.9.0 + resolution: "@babel/preset-typescript@npm:7.9.0" + dependencies: + "@babel/helper-plugin-utils": ^7.8.3 + "@babel/plugin-transform-typescript": ^7.9.0 + peerDependencies: + "@babel/core": ^7.0.0-0 + checksum: 3/d83ac83919d1b7f1cd9a95b738389c12314492231c70e82026ac17f85efe943b61fe7670d4c99707b2a716ccb91bc0703abc8dffd9466d0f201c0ad8ccdd42f6 + languageName: node + linkType: hard + +"@babel/runtime-corejs3@npm:^7.8.3": + version: 7.9.6 + resolution: "@babel/runtime-corejs3@npm:7.9.6" + dependencies: + core-js-pure: ^3.0.0 + regenerator-runtime: ^0.13.4 + checksum: 3/5ef285a2c10eb994cb8a122a66eed7a7f22e8acf77f1d4223db3c8f446451629bfb991489dcde9230bccf74dec26769e55ca4d1b6a7de7108bc3f747cc235f71 + languageName: node + linkType: hard + +"@babel/runtime@npm:7.9.0": + version: 7.9.0 + resolution: "@babel/runtime@npm:7.9.0" + dependencies: + regenerator-runtime: ^0.13.4 + checksum: 3/b34bc3bdb86d2ea1182eba4a4e0fb7abdf5010bb263aaf4395a362b29209915dbb94d7a1f4ae02a98d8241666c1a99d8733513e7cb26e309956ddcb7071b34df + languageName: node + linkType: hard + +"@babel/runtime@npm:^7.0.0, @babel/runtime@npm:^7.3.4, @babel/runtime@npm:^7.4.5, @babel/runtime@npm:^7.7.2, @babel/runtime@npm:^7.8.4, @babel/runtime@npm:^7.9.6": + version: 7.9.6 + resolution: "@babel/runtime@npm:7.9.6" + dependencies: + regenerator-runtime: ^0.13.4 + checksum: 3/ff94d6861daea1c6e4639f2e6d22992539fab45ce6ef468de37e0dd0df109aee94276f72fc962b48946dde0b8554a71343fc398ea5a565cab59c596829ccc2ad + languageName: node + linkType: hard + +"@babel/template@npm:^7.3.3, @babel/template@npm:^7.4.0, @babel/template@npm:^7.8.3, @babel/template@npm:^7.8.6": + version: 7.8.6 + resolution: "@babel/template@npm:7.8.6" + dependencies: + "@babel/code-frame": ^7.8.3 + "@babel/parser": ^7.8.6 + "@babel/types": ^7.8.6 + checksum: 3/90ff89fe2a436b27276e8048bbfeb96098917fc2903b5cb81e903c987df65ed0ab94b1829320c5810e66786e14a03dda44920c9afc73084bc8fdbcbee1743348 + languageName: node + linkType: hard + +"@babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.4.3, @babel/traverse@npm:^7.7.0, @babel/traverse@npm:^7.8.3, @babel/traverse@npm:^7.9.0, @babel/traverse@npm:^7.9.6": + version: 7.9.6 + resolution: "@babel/traverse@npm:7.9.6" + dependencies: + "@babel/code-frame": ^7.8.3 + "@babel/generator": ^7.9.6 + "@babel/helper-function-name": ^7.9.5 + "@babel/helper-split-export-declaration": ^7.8.3 + "@babel/parser": ^7.9.6 + "@babel/types": ^7.9.6 + debug: ^4.1.0 + globals: ^11.1.0 + lodash: ^4.17.13 + checksum: 3/7f4d3f9622a904319eee1bf528258f4c7ad58734bc72896b8fa1af1a0f586e0d90c384760279b30b0c9f3702a67efe701a534eb3dfb96e265561db0e7e9fcf29 + languageName: node + linkType: hard + +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.0, @babel/types@npm:^7.4.4, @babel/types@npm:^7.7.0, @babel/types@npm:^7.8.3, @babel/types@npm:^7.8.6, @babel/types@npm:^7.9.0, @babel/types@npm:^7.9.5, @babel/types@npm:^7.9.6": + version: 7.9.6 + resolution: "@babel/types@npm:7.9.6" + dependencies: + "@babel/helper-validator-identifier": ^7.9.5 + lodash: ^4.17.13 + to-fast-properties: ^2.0.0 + checksum: 3/e67bd07450ea341d18a77e8027bca7486759b8c91bb01cfaa82de306b879f3c64232edb5d3e64851de541a135a3fcf18d98dddc887d3da920e61b6308c11bc09 + languageName: node + linkType: hard + +"@bcoe/v8-coverage@npm:^0.2.3": + version: 0.2.3 + resolution: "@bcoe/v8-coverage@npm:0.2.3" + checksum: 3/4fc6fb784b09d2e994fc9180dc8af9f674a4e5114cd2c52754e689f87725e670d0919728945fe3991d434109e42e5ac6f9d85c58a566e2a645eb9dda68eead6a + languageName: node + linkType: hard + +"@cnakazawa/watch@npm:^1.0.3": + version: 1.0.4 + resolution: "@cnakazawa/watch@npm:1.0.4" + dependencies: + exec-sh: ^0.3.2 + minimist: ^1.2.0 + bin: + watch: cli.js + checksum: 3/7909f89bbee917b2a5932fd178b48b5291f417293538b1e8e68a5fa5815b3d6d4873c591d965f84559cd3e7b669c42a749ab706ef792368de39b95541ae4627d + languageName: node + linkType: hard + +"@csstools/convert-colors@npm:^1.4.0": + version: 1.4.0 + resolution: "@csstools/convert-colors@npm:1.4.0" + checksum: 3/c8c8e6b5b3c2ae7e2c4a0ff376b79e09c8e350f3a3973eee8d42372f3e49d41c43172087c426e33fefdb9057de8a6f23cabf31e6201adce3f78d4b25e1722b50 + languageName: node + linkType: hard + +"@csstools/normalize.css@npm:^10.1.0": + version: 10.1.0 + resolution: "@csstools/normalize.css@npm:10.1.0" + checksum: 3/75d6c92d2ed1c643dd3f33c07feda78983790717c1b03c8b6a35215feac571d1d79e65a3668774eb420bd352651a2c33afd53cd580a25e93b6c6fd8bb0756071 + languageName: node + linkType: hard + +"@graphile/lds@4.7.0, @graphile/lds@workspace:packages/lds": + version: 0.0.0-use.local + resolution: "@graphile/lds@workspace:packages/lds" + dependencies: + "@types/jest": ^25.2.3 + "@types/pg": ^7.14.3 + "@types/ws": ^7.2.4 + jest: ^26.0.1 + pg: ^8.2.1 + ts-node: ^8.10.1 + tslib: ^2.0.0 + typescript: ^3.9.2 + ws: ^7.3.0 + bin: + graphile-lds: ./dist/cli.js + languageName: unknown + linkType: soft + +"@graphile/lru@4.6.0-alpha.0, @graphile/lru@workspace:packages/lru": + version: 0.0.0-use.local + resolution: "@graphile/lru@workspace:packages/lru" + dependencies: + "@types/jest": ^25.2.3 + jest: ^26.0.1 + ts-node: ^8.10.1 + tslib: ^2.0.0 + typescript: ^3.9.2 + languageName: unknown + linkType: soft + +"@graphile/pg-pubsub@workspace:packages/pg-pubsub": + version: 0.0.0-use.local + resolution: "@graphile/pg-pubsub@workspace:packages/pg-pubsub" + dependencies: + "@types/debug": ^4.1.5 + "@types/jest": ^25.2.3 + "@types/pg": ^7.14.3 + debug: ^4.2.0 + graphile-build: 4.7.0 + graphile-build-pg: 4.7.0 + graphql: ^14.6.0 + graphql-subscriptions: ^1.1.0 + jest: ^26.0.1 + mock-req: ^0.2.0 + mock-res: ^0.5.0 + pg: ^8.2.1 + postgraphile: 4.7.0 + ts-node: ^8.10.1 + tslib: ^2.0.0 + typescript: ^3.9.2 + peerDependencies: + graphile-build-pg: 4.7.0 + graphql: ^14.6.0 + graphql-parse-resolve-info: 4.7.0 + postgraphile: ^4.7.0 + languageName: unknown + linkType: soft + +"@graphile/subscriptions-lds@4.7.0, @graphile/subscriptions-lds@workspace:packages/subscriptions-lds": + version: 0.0.0-use.local + resolution: "@graphile/subscriptions-lds@workspace:packages/subscriptions-lds" + dependencies: + "@graphile/lds": 4.7.0 + "@types/jest": ^25.2.3 + "@types/pg": ^7.14.3 + "@types/ws": ^7.2.4 + graphile-build: 4.7.0 + graphile-build-pg: 4.7.0 + graphql: ^14.6.0 + graphql-parse-resolve-info: 4.7.0 + jest: ^26.0.1 + pg: ^8.2.1 + postgraphile-core: ">4.3.1 <5" + ts-node: ^8.10.1 + tslib: ^2.0.0 + typescript: ^3.9.2 + ws: ^7.3.0 + peerDependencies: + graphile-build: 4.7.0 + graphile-build-pg: 4.7.0 + languageName: unknown + linkType: soft + +"@hapi/address@npm:2.x.x": + version: 2.1.4 + resolution: "@hapi/address@npm:2.1.4" + checksum: 3/5dc5d0d3d6aad953bef59c5f24af704ae349dce626460eb2df93bd1e4b560136e354f92ce1c573292dfc7edce84189859794d28381711b50f738e67042081278 + languageName: node + linkType: hard + +"@hapi/bourne@npm:1.x.x": + version: 1.3.2 + resolution: "@hapi/bourne@npm:1.3.2" + checksum: 3/bc23796d94afbca6bf691161d181bf005e86eac3f16fa4a11c38ca1acc9ffabf4e83791a98e9234bd09539ac013675bb53ea2de119373f9e9349f3b94312b76d + languageName: node + linkType: hard + +"@hapi/hoek@npm:8.x.x, @hapi/hoek@npm:^8.3.0": + version: 8.5.1 + resolution: "@hapi/hoek@npm:8.5.1" + checksum: 3/17bf9a0b6f2f9ecb248824dab838c66c50b16b00b1d3785233fafd5abacb06cc6cdcbd6f4c7be87babb227fc02fff46ad1c23de3f5b6f48ffe36b6aac829d82c + languageName: node + linkType: hard + +"@hapi/joi@npm:^15.0.0": + version: 15.1.1 + resolution: "@hapi/joi@npm:15.1.1" + dependencies: + "@hapi/address": 2.x.x + "@hapi/bourne": 1.x.x + "@hapi/hoek": 8.x.x + "@hapi/topo": 3.x.x + checksum: 3/7edbb0d5a5c1ff376b66243427a3b98a559e9ea89f7d40ee55916e0519bc1be56a9ac69f1e446a2c39c153fe835c57e4ee71297d4266b0ca82c49f7a2e90f681 + languageName: node + linkType: hard + +"@hapi/topo@npm:3.x.x": + version: 3.1.6 + resolution: "@hapi/topo@npm:3.1.6" + dependencies: + "@hapi/hoek": ^8.3.0 + checksum: 3/4550d3d7498a203ce5c0e53753eb9f510aa2b74c08bfaf7d7c4676a0943b27d72f22297ff006e8396eb74e6b73154ebf98feab19c199b0768a084a777d024a50 + languageName: node + linkType: hard + +"@istanbuljs/load-nyc-config@npm:^1.0.0": + version: 1.0.0 + resolution: "@istanbuljs/load-nyc-config@npm:1.0.0" + dependencies: + camelcase: ^5.3.1 + find-up: ^4.1.0 + js-yaml: ^3.13.1 + resolve-from: ^5.0.0 + checksum: 3/ef4e27e6fdf192aceadca2e92ce9c930c43c574930afd45853efd31ba3bfdaff5627d62deecdb2520df5582e860184a1097ddf64b27cc886f85679bbb6a0e956 + languageName: node + linkType: hard + +"@istanbuljs/schema@npm:^0.1.2": + version: 0.1.2 + resolution: "@istanbuljs/schema@npm:0.1.2" + checksum: 3/ebc6bd5f14aca7dd229d3e03aaab47c4c9a1ae25c892d6370d786c7a06128b4e03f60b31b10408010b701e1982087c1e2dae798e66cb57b44c7883228693f8e4 + languageName: node + linkType: hard + +"@jest/console@npm:^24.7.1, @jest/console@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/console@npm:24.9.0" + dependencies: + "@jest/source-map": ^24.9.0 + chalk: ^2.0.1 + slash: ^2.0.0 + checksum: 3/74f7e051e60c65f90bd540e26e46c89ab633a029029afe11b2d78bda4cd102ba7962e342b61acf100f20318ae0b0a85cbb0e2b85074eb1adfe5995e658753734 + languageName: node + linkType: hard + +"@jest/console@npm:^26.0.1": + version: 26.0.1 + resolution: "@jest/console@npm:26.0.1" + dependencies: + "@jest/types": ^26.0.1 + chalk: ^4.0.0 + jest-message-util: ^26.0.1 + jest-util: ^26.0.1 + slash: ^3.0.0 + checksum: 3/9342458105c7a84872011476ebc3144ebe18cded48785786566042864b1e9f8450cecb8e6ab4728285f6c372d3e77830c92d531389a120356f8f5a10219e87f1 + languageName: node + linkType: hard + +"@jest/core@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/core@npm:24.9.0" + dependencies: + "@jest/console": ^24.7.1 + "@jest/reporters": ^24.9.0 + "@jest/test-result": ^24.9.0 + "@jest/transform": ^24.9.0 + "@jest/types": ^24.9.0 + ansi-escapes: ^3.0.0 + chalk: ^2.0.1 + exit: ^0.1.2 + graceful-fs: ^4.1.15 + jest-changed-files: ^24.9.0 + jest-config: ^24.9.0 + jest-haste-map: ^24.9.0 + jest-message-util: ^24.9.0 + jest-regex-util: ^24.3.0 + jest-resolve: ^24.9.0 + jest-resolve-dependencies: ^24.9.0 + jest-runner: ^24.9.0 + jest-runtime: ^24.9.0 + jest-snapshot: ^24.9.0 + jest-util: ^24.9.0 + jest-validate: ^24.9.0 + jest-watcher: ^24.9.0 + micromatch: ^3.1.10 + p-each-series: ^1.0.0 + realpath-native: ^1.1.0 + rimraf: ^2.5.4 + slash: ^2.0.0 + strip-ansi: ^5.0.0 + checksum: 3/ce1e33782c03ba8acf3cacf02fff5319def05c97e8c3abc2e9f28b250d8c8d94638d8e1d38dc6123bbd307192c08d6f435e0a38512a29a6ff51e5f48d2ce1ed7 + languageName: node + linkType: hard + +"@jest/core@npm:^26.0.1": + version: 26.0.1 + resolution: "@jest/core@npm:26.0.1" + dependencies: + "@jest/console": ^26.0.1 + "@jest/reporters": ^26.0.1 + "@jest/test-result": ^26.0.1 + "@jest/transform": ^26.0.1 + "@jest/types": ^26.0.1 + ansi-escapes: ^4.2.1 + chalk: ^4.0.0 + exit: ^0.1.2 + graceful-fs: ^4.2.4 + jest-changed-files: ^26.0.1 + jest-config: ^26.0.1 + jest-haste-map: ^26.0.1 + jest-message-util: ^26.0.1 + jest-regex-util: ^26.0.0 + jest-resolve: ^26.0.1 + jest-resolve-dependencies: ^26.0.1 + jest-runner: ^26.0.1 + jest-runtime: ^26.0.1 + jest-snapshot: ^26.0.1 + jest-util: ^26.0.1 + jest-validate: ^26.0.1 + jest-watcher: ^26.0.1 + micromatch: ^4.0.2 + p-each-series: ^2.1.0 + rimraf: ^3.0.0 + slash: ^3.0.0 + strip-ansi: ^6.0.0 + checksum: 3/0eef6468d470abe066af4ad2ff1497e4194e0327ecf3fd36f2a65122ea16aa17ef03eb0475fad5acb4381c74b6fb67ce7d71ead9b8c4b04fa0cf7007cfe72801 + languageName: node + linkType: hard + +"@jest/environment@npm:^24.3.0, @jest/environment@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/environment@npm:24.9.0" + dependencies: + "@jest/fake-timers": ^24.9.0 + "@jest/transform": ^24.9.0 + "@jest/types": ^24.9.0 + jest-mock: ^24.9.0 + checksum: 3/77f7313e1b913253b63edc5742aa9fa5e07f38d39b703d5f6246e4dd9778718b99313514c6245fe37791e64fd98fc7cc2fd12c98c75b05d916ec67a877d3943c + languageName: node + linkType: hard + +"@jest/environment@npm:^26.0.1": + version: 26.0.1 + resolution: "@jest/environment@npm:26.0.1" + dependencies: + "@jest/fake-timers": ^26.0.1 + "@jest/types": ^26.0.1 + jest-mock: ^26.0.1 + checksum: 3/7a52a583f4409b35d9b830ad6d70b4fde4538d756b48c7fda1751053e7faf0846f4a72100a9be9c4eb5938c73b070c41ff5cdf99699e5e7031ac8cfb5ce9c104 + languageName: node + linkType: hard + +"@jest/fake-timers@npm:^24.3.0, @jest/fake-timers@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/fake-timers@npm:24.9.0" + dependencies: + "@jest/types": ^24.9.0 + jest-message-util: ^24.9.0 + jest-mock: ^24.9.0 + checksum: 3/5c03cc46de3be3b6a208d325fb4a92f127c8273cbbc691cf0454609ad47f15fdb2fcc8b60aae93ee745ee1f0fc95e64629ba203108a876f94141a59009db6796 + languageName: node + linkType: hard + +"@jest/fake-timers@npm:^26.0.1": + version: 26.0.1 + resolution: "@jest/fake-timers@npm:26.0.1" + dependencies: + "@jest/types": ^26.0.1 + "@sinonjs/fake-timers": ^6.0.1 + jest-message-util: ^26.0.1 + jest-mock: ^26.0.1 + jest-util: ^26.0.1 + checksum: 3/ecdec4f1551fb7f59be03501ea9e50bbd1f6c343e3663846f72518909806b4a93d6e4d13a8e55b7520a06ac1cc51614c3882749593bbead7cf867f4ebfb65d31 + languageName: node + linkType: hard + +"@jest/globals@npm:^26.0.1": + version: 26.0.1 + resolution: "@jest/globals@npm:26.0.1" + dependencies: + "@jest/environment": ^26.0.1 + "@jest/types": ^26.0.1 + expect: ^26.0.1 + checksum: 3/dfe8c0b4ca7b58d066fdf537c427ed5f0f84abbd5ac96b09b0880e9a61cc30cb2d591c20279d2bc304843e5803ad450b25aa2602ec3cc5c2650d5ee36383794c + languageName: node + linkType: hard + +"@jest/reporters@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/reporters@npm:24.9.0" + dependencies: + "@jest/environment": ^24.9.0 + "@jest/test-result": ^24.9.0 + "@jest/transform": ^24.9.0 + "@jest/types": ^24.9.0 + chalk: ^2.0.1 + exit: ^0.1.2 + glob: ^7.1.2 + istanbul-lib-coverage: ^2.0.2 + istanbul-lib-instrument: ^3.0.1 + istanbul-lib-report: ^2.0.4 + istanbul-lib-source-maps: ^3.0.1 + istanbul-reports: ^2.2.6 + jest-haste-map: ^24.9.0 + jest-resolve: ^24.9.0 + jest-runtime: ^24.9.0 + jest-util: ^24.9.0 + jest-worker: ^24.6.0 + node-notifier: ^5.4.2 + slash: ^2.0.0 + source-map: ^0.6.0 + string-length: ^2.0.0 + checksum: 3/38c3c2f0e6dac7866bc9e5e3ae960ab74988300860a2a66248bfc2bd40a96532a20ad9b83b260929b14a119ac52eddd9e7e26c90015186dcf5b507aa9e8d5758 + languageName: node + linkType: hard + +"@jest/reporters@npm:^26.0.1": + version: 26.0.1 + resolution: "@jest/reporters@npm:26.0.1" + dependencies: + "@bcoe/v8-coverage": ^0.2.3 + "@jest/console": ^26.0.1 + "@jest/test-result": ^26.0.1 + "@jest/transform": ^26.0.1 + "@jest/types": ^26.0.1 + chalk: ^4.0.0 + collect-v8-coverage: ^1.0.0 + exit: ^0.1.2 + glob: ^7.1.2 + graceful-fs: ^4.2.4 + istanbul-lib-coverage: ^3.0.0 + istanbul-lib-instrument: ^4.0.0 + istanbul-lib-report: ^3.0.0 + istanbul-lib-source-maps: ^4.0.0 + istanbul-reports: ^3.0.2 + jest-haste-map: ^26.0.1 + jest-resolve: ^26.0.1 + jest-util: ^26.0.1 + jest-worker: ^26.0.0 + node-notifier: ^7.0.0 + slash: ^3.0.0 + source-map: ^0.6.0 + string-length: ^4.0.1 + terminal-link: ^2.0.0 + v8-to-istanbul: ^4.1.3 + dependenciesMeta: + node-notifier: + optional: true + checksum: 3/16c586e8ad4a3e51020c22d2b55bc2ea12e2ad503c37028eb88fb427df8f94a31561c38177ee7b3b1787dba4e6a803c59a58f400fba6bf6a845284ab59103b7f + languageName: node + linkType: hard + +"@jest/source-map@npm:^24.3.0, @jest/source-map@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/source-map@npm:24.9.0" + dependencies: + callsites: ^3.0.0 + graceful-fs: ^4.1.15 + source-map: ^0.6.0 + checksum: 3/1bbebf706b36ffed3d49077f4a12bd8edba726ecef94f32b61315076377ea076bd77bc50d84dc0edb8a67ec78a56a5e6169feb283392a1809adeac148139123d + languageName: node + linkType: hard + +"@jest/source-map@npm:^26.0.0": + version: 26.0.0 + resolution: "@jest/source-map@npm:26.0.0" + dependencies: + callsites: ^3.0.0 + graceful-fs: ^4.2.4 + source-map: ^0.6.0 + checksum: 3/ec94904d01fe1f8c5f7abd279b312aacee41262b5df5052131bad5d35b9bb82eaa43f3c832ac65208691b28db48acf1fc8460b0030e55e53e0654049b0ae39a7 + languageName: node + linkType: hard + +"@jest/test-result@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/test-result@npm:24.9.0" + dependencies: + "@jest/console": ^24.9.0 + "@jest/types": ^24.9.0 + "@types/istanbul-lib-coverage": ^2.0.0 + checksum: 3/e8e91f3dbdbd47c25b3ce72c33dc14590b3d650485d0b6955d3c19028a82e16a29641cf3f766a856e992b1af8c9e824b098d7ea36bc98f30532a4cbfba8e080a + languageName: node + linkType: hard + +"@jest/test-result@npm:^26.0.1": + version: 26.0.1 + resolution: "@jest/test-result@npm:26.0.1" + dependencies: + "@jest/console": ^26.0.1 + "@jest/types": ^26.0.1 + "@types/istanbul-lib-coverage": ^2.0.0 + collect-v8-coverage: ^1.0.0 + checksum: 3/cdfadc1327c46575cc4994e6bfba952e46b082089f58420013381d26842695a1767b199b08e0bca9f26fcc455706447842365a44fae5b7b8a8f40498238bdb0a + languageName: node + linkType: hard + +"@jest/test-sequencer@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/test-sequencer@npm:24.9.0" + dependencies: + "@jest/test-result": ^24.9.0 + jest-haste-map: ^24.9.0 + jest-runner: ^24.9.0 + jest-runtime: ^24.9.0 + checksum: 3/38be116ee4bd2e81c03c7d18c5ea9a78306737edc7c0a980aa826aa3eae4ab4f25d8f805a2b38911dff6ba91d70995e2a3ea9222e6c27cad395dcc19691b7410 + languageName: node + linkType: hard + +"@jest/test-sequencer@npm:^26.0.1": + version: 26.0.1 + resolution: "@jest/test-sequencer@npm:26.0.1" + dependencies: + "@jest/test-result": ^26.0.1 + graceful-fs: ^4.2.4 + jest-haste-map: ^26.0.1 + jest-runner: ^26.0.1 + jest-runtime: ^26.0.1 + checksum: 3/d074a262ac492df208941a6e6a0a5edd1e0b816aaf859a75d4b31c3e34d7d3942dfb316a904769fc87783102abbfbd127291519f771d57b12193d8945086c44d + languageName: node + linkType: hard + +"@jest/transform@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/transform@npm:24.9.0" + dependencies: + "@babel/core": ^7.1.0 + "@jest/types": ^24.9.0 + babel-plugin-istanbul: ^5.1.0 + chalk: ^2.0.1 + convert-source-map: ^1.4.0 + fast-json-stable-stringify: ^2.0.0 + graceful-fs: ^4.1.15 + jest-haste-map: ^24.9.0 + jest-regex-util: ^24.9.0 + jest-util: ^24.9.0 + micromatch: ^3.1.10 + pirates: ^4.0.1 + realpath-native: ^1.1.0 + slash: ^2.0.0 + source-map: ^0.6.1 + write-file-atomic: 2.4.1 + checksum: 3/73c5ad0ae6bae5c60261b6b256b995f099f84a964580537154293edc63ab0e9fb6e3dda737c04aafd9daa815f19b6fb437e611f4f811f8041bd37e8192709650 + languageName: node + linkType: hard + +"@jest/transform@npm:^26.0.1": + version: 26.0.1 + resolution: "@jest/transform@npm:26.0.1" + dependencies: + "@babel/core": ^7.1.0 + "@jest/types": ^26.0.1 + babel-plugin-istanbul: ^6.0.0 + chalk: ^4.0.0 + convert-source-map: ^1.4.0 + fast-json-stable-stringify: ^2.0.0 + graceful-fs: ^4.2.4 + jest-haste-map: ^26.0.1 + jest-regex-util: ^26.0.0 + jest-util: ^26.0.1 + micromatch: ^4.0.2 + pirates: ^4.0.1 + slash: ^3.0.0 + source-map: ^0.6.1 + write-file-atomic: ^3.0.0 + checksum: 3/e1bff5837d19ff3fba41f959872696f58957ea4c12e7d12c07eafc1a58cee20430c9579a5e49758a0d5990e83c32df4a67473db499663087f651f62e404f4025 + languageName: node + linkType: hard + +"@jest/types@npm:^24.3.0, @jest/types@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/types@npm:24.9.0" + dependencies: + "@types/istanbul-lib-coverage": ^2.0.0 + "@types/istanbul-reports": ^1.1.1 + "@types/yargs": ^13.0.0 + checksum: 3/7cd388ad9d3a6de7e0ca29cbaf34dd9da9f6485d26747fc2ef6732bf06dc98d79519b7f3684b7287bd6d5168c394d8f806dc1343bd3c1b3cdc3e85486a518c63 + languageName: node + linkType: hard + +"@jest/types@npm:^25.5.0": + version: 25.5.0 + resolution: "@jest/types@npm:25.5.0" + dependencies: + "@types/istanbul-lib-coverage": ^2.0.0 + "@types/istanbul-reports": ^1.1.1 + "@types/yargs": ^15.0.0 + chalk: ^3.0.0 + checksum: 3/33ad68320efb297c4bd98975105130e1b4096d631decfc5a093691e24f27fce0410b4a7c5a87b736873271ebc003e48e853529587e584b3152efca572139a4a3 + languageName: node + linkType: hard + +"@jest/types@npm:^26.0.1": + version: 26.0.1 + resolution: "@jest/types@npm:26.0.1" + dependencies: + "@types/istanbul-lib-coverage": ^2.0.0 + "@types/istanbul-reports": ^1.1.1 + "@types/yargs": ^15.0.0 + chalk: ^4.0.0 + checksum: 3/50f40cece96f298ec0da9d94d9099e3c837403b63b3132f085eee47d0f627c07d4418ee60828a3ef3a5fd15b741dd390078d089f5a65161c0378d4876ce27935 + languageName: node + linkType: hard + +"@microsoft/tsdoc-config@npm:0.13.3": + version: 0.13.3 + resolution: "@microsoft/tsdoc-config@npm:0.13.3" + dependencies: + "@microsoft/tsdoc": 0.12.19 + ajv: ~6.10.2 + jju: ~1.4.0 + resolve: ~1.12.0 + checksum: 3/06637770ffe809b59592175cd7e75d445044bba01551b2e63d9ccb86160c765dc7c65770a5606294c608ef704035917f640dd9c92642696abfb9cf9bca6bb9fa + languageName: node + linkType: hard + +"@microsoft/tsdoc@npm:0.12.19": + version: 0.12.19 + resolution: "@microsoft/tsdoc@npm:0.12.19" + checksum: 3/a38714a46f0102c8c6af84f613c278d0200175cd14a755e783f6fadaf0b8fd46c28f18f261e2ca4d9b2892fd14dce024cb0c7048d2f1a007167d0189e12b41ec + languageName: node + linkType: hard + +"@mrmlnc/readdir-enhanced@npm:^2.2.1": + version: 2.2.1 + resolution: "@mrmlnc/readdir-enhanced@npm:2.2.1" + dependencies: + call-me-maybe: ^1.0.1 + glob-to-regexp: ^0.3.0 + checksum: 3/e01193b783ed7682710a9af87ba05c69d15cc2183eedca36e37c720bbb7d7449f7d5cd8ad15c991f20c5d95cdce1a3a10ef6d82b1bb8a9762a193ad4245cc9da + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:^1.1.2": + version: 1.1.3 + resolution: "@nodelib/fs.stat@npm:1.1.3" + checksum: 3/351499088e1b332e48a187e7d4b6bbbd84459970f5b4a7155dbd67ee4a5af766f5f2ca49ff19af8ee29cc16a130eafa7968b64f966498a7bf94d5d8032dd7ec0 + languageName: node + linkType: hard + +"@sindresorhus/is@npm:^0.14.0": + version: 0.14.0 + resolution: "@sindresorhus/is@npm:0.14.0" + checksum: 3/da26389d6e23f64726224ffda6f6a04bab88e15b9c4eb8f9e5fdafc3baaaa071c85c47816723b7e61e14bf2f4dcff25d6bc1629032c2916ffb8b3fe759ad7b1f + languageName: node + linkType: hard + +"@sinonjs/commons@npm:^1.7.0": + version: 1.7.2 + resolution: "@sinonjs/commons@npm:1.7.2" + dependencies: + type-detect: 4.0.8 + checksum: 3/3155d046f2540bd8d13a2fb77c8526c17b9d9eb964f0f4b82f250d20787b30e79db622c7ba9a1cb36f7340e99ba47f64bc91f56ca95eecad09e83066ddcf3da3 + languageName: node + linkType: hard + +"@sinonjs/fake-timers@npm:^6.0.1": + version: 6.0.1 + resolution: "@sinonjs/fake-timers@npm:6.0.1" + dependencies: + "@sinonjs/commons": ^1.7.0 + checksum: 3/64458b908773638dda08b555a00e6fbbbc679735348291dc1b7f437ada2f60242537fdc48e4ee82d2573d86984ec87e755b66a96c0ed9ebf0f46b4c6687ccde2 + languageName: node + linkType: hard + +"@svgr/babel-plugin-add-jsx-attribute@npm:^4.2.0": + version: 4.2.0 + resolution: "@svgr/babel-plugin-add-jsx-attribute@npm:4.2.0" + checksum: 3/af843b702aea72d213f0d1816df539b90546e31667c91807b79348b702f53efd3fa324837909f7656dae017f1d3626bfc52222cde848f73f50e86cdfec76f285 + languageName: node + linkType: hard + +"@svgr/babel-plugin-remove-jsx-attribute@npm:^4.2.0": + version: 4.2.0 + resolution: "@svgr/babel-plugin-remove-jsx-attribute@npm:4.2.0" + checksum: 3/75c1af25c92ed5e118641c2a246b2b555e6716f3910c8f9c1a380210827e98713fec475923f913b687b360712915f69e2a82931a597fde1977355c7995589a49 + languageName: node + linkType: hard + +"@svgr/babel-plugin-remove-jsx-empty-expression@npm:^4.2.0": + version: 4.2.0 + resolution: "@svgr/babel-plugin-remove-jsx-empty-expression@npm:4.2.0" + checksum: 3/d66e7c6e68e797f91838a4908aec88021a94e818fd141518afb71311240551e721cf1c0a4b4cf118cb6ae6a898a45865c95e3a1d6375c2c87d50178d4a8ef886 + languageName: node + linkType: hard + +"@svgr/babel-plugin-replace-jsx-attribute-value@npm:^4.2.0": + version: 4.2.0 + resolution: "@svgr/babel-plugin-replace-jsx-attribute-value@npm:4.2.0" + checksum: 3/e1067d3938ab9b20b6be512889d6c62ba667b0464679db588c454f64e0df5f275051219457b2266061f4ab8a3fbe7d00e06250a99c5d9368e5784d9d310ea586 + languageName: node + linkType: hard + +"@svgr/babel-plugin-svg-dynamic-title@npm:^4.3.3": + version: 4.3.3 + resolution: "@svgr/babel-plugin-svg-dynamic-title@npm:4.3.3" + checksum: 3/a5a53b3e49d2d421a5b17588dda5cee20edc8ae4ebc65a581d1fde482d632992428268ef2af6bc83675b0de89c746e497b62f3f8542a7a66f4e30915d568764f + languageName: node + linkType: hard + +"@svgr/babel-plugin-svg-em-dimensions@npm:^4.2.0": + version: 4.2.0 + resolution: "@svgr/babel-plugin-svg-em-dimensions@npm:4.2.0" + checksum: 3/2ca6ab5aec7ed8d519abc576db9a9e877001c9f08536fd6416d051cf11a5f73917a615df32cc5973162a93d6a2798693a045926a4dcc64fa56de6b4a3e303600 + languageName: node + linkType: hard + +"@svgr/babel-plugin-transform-react-native-svg@npm:^4.2.0": + version: 4.2.0 + resolution: "@svgr/babel-plugin-transform-react-native-svg@npm:4.2.0" + checksum: 3/916d593ee0adca94edd9bb87d6c9e061aba68bc3a20e7d12a6e1dcbaaecad66a12a55419318aeba665188db6ce7944cb4d004e3abeaedaa7ac032d20d522c26c + languageName: node + linkType: hard + +"@svgr/babel-plugin-transform-svg-component@npm:^4.2.0": + version: 4.2.0 + resolution: "@svgr/babel-plugin-transform-svg-component@npm:4.2.0" + checksum: 3/1c3c68ce1af23f61e9cfdb9638e2b20fa10f699d8e88a223f2a57eaf4bc7ba11a7907cb53ce1dbd5b79ec94e6a0dd382b1962cd2197f4e3678c6be940bcdcf8e + languageName: node + linkType: hard + +"@svgr/babel-preset@npm:^4.3.3": + version: 4.3.3 + resolution: "@svgr/babel-preset@npm:4.3.3" + dependencies: + "@svgr/babel-plugin-add-jsx-attribute": ^4.2.0 + "@svgr/babel-plugin-remove-jsx-attribute": ^4.2.0 + "@svgr/babel-plugin-remove-jsx-empty-expression": ^4.2.0 + "@svgr/babel-plugin-replace-jsx-attribute-value": ^4.2.0 + "@svgr/babel-plugin-svg-dynamic-title": ^4.3.3 + "@svgr/babel-plugin-svg-em-dimensions": ^4.2.0 + "@svgr/babel-plugin-transform-react-native-svg": ^4.2.0 + "@svgr/babel-plugin-transform-svg-component": ^4.2.0 + checksum: 3/855c7c031ee307b2497d01eb8d785d88912df1ed31cc0ee93c550710e360717e7e603515ffc1d05b35f0b829b0561ab6aabe5308d8463c17199c51c6ce9301c9 + languageName: node + linkType: hard + +"@svgr/core@npm:^4.3.3": + version: 4.3.3 + resolution: "@svgr/core@npm:4.3.3" + dependencies: + "@svgr/plugin-jsx": ^4.3.3 + camelcase: ^5.3.1 + cosmiconfig: ^5.2.1 + checksum: 3/1bd9710f7229cd9adf867f17799b7abcb8f0232382ceea5e3aabefd2166f2666c2707f11715b52f5154294d9c2c9c5723551f4fdb6152037e2262dd200f909a9 + languageName: node + linkType: hard + +"@svgr/hast-util-to-babel-ast@npm:^4.3.2": + version: 4.3.2 + resolution: "@svgr/hast-util-to-babel-ast@npm:4.3.2" + dependencies: + "@babel/types": ^7.4.4 + checksum: 3/5a311e38193d81c8c194dde74d12995e0a1702dde594ab788eaaec124ea58c27fca7a2c49e072e29b523a5e9ae898b9c4aeb2995b9e7ad217ed941585b67b7ef + languageName: node + linkType: hard + +"@svgr/plugin-jsx@npm:^4.3.3": + version: 4.3.3 + resolution: "@svgr/plugin-jsx@npm:4.3.3" + dependencies: + "@babel/core": ^7.4.5 + "@svgr/babel-preset": ^4.3.3 + "@svgr/hast-util-to-babel-ast": ^4.3.2 + svg-parser: ^2.0.0 + checksum: 3/425aa1ae322c46b0e93e2c8405389252fa5edd24abe7efbf0a487d0f14b7e524eb1830e4e9c49665fb2c923e87884e9aff1c6b1b828c9d4b4c765e0546a6690f + languageName: node + linkType: hard + +"@svgr/plugin-svgo@npm:^4.3.1": + version: 4.3.1 + resolution: "@svgr/plugin-svgo@npm:4.3.1" + dependencies: + cosmiconfig: ^5.2.1 + merge-deep: ^3.0.2 + svgo: ^1.2.2 + checksum: 3/ed4d33e2f15360722f731c76137c40a3013b49be57e1ee4498f26faa44b27eb5731c3170c1595368fae7c7a2e06330951f932ea2f2c07172c22fe489441bf37d + languageName: node + linkType: hard + +"@svgr/webpack@npm:4.3.3": + version: 4.3.3 + resolution: "@svgr/webpack@npm:4.3.3" + dependencies: + "@babel/core": ^7.4.5 + "@babel/plugin-transform-react-constant-elements": ^7.0.0 + "@babel/preset-env": ^7.4.5 + "@babel/preset-react": ^7.0.0 + "@svgr/core": ^4.3.3 + "@svgr/plugin-jsx": ^4.3.3 + "@svgr/plugin-svgo": ^4.3.1 + loader-utils: ^1.2.3 + checksum: 3/160f2805c5c1173c71908c26b03f3f832ba8024c1146e2945b94e94d85c6874a4b521f3417d4542d45141f29f4d1fbea07b54960d03c23aae46730c27380e278 + languageName: node + linkType: hard + +"@szmarczak/http-timer@npm:^1.1.2": + version: 1.1.2 + resolution: "@szmarczak/http-timer@npm:1.1.2" + dependencies: + defer-to-connect: ^1.0.1 + checksum: 3/a46ec854231194dd1ab924a5ea0d8f0afa2b7133754a3def099cc5749e34802d8668a7d7ee3583327048354b9dc621113843d8546387e06ff57e6763cbb558d9 + languageName: node + linkType: hard + +"@types/accepts@npm:*": + version: 1.3.5 + resolution: "@types/accepts@npm:1.3.5" + dependencies: + "@types/node": "*" + checksum: 3/78a31c01d948c405a1a6a89061f0acd5a89df40de445c36382538985a3d00a236ba1cc5099bd812118525c2f29bb61d4869cd775ba63dd3e160113b5fa203915 + languageName: node + linkType: hard + +"@types/anymatch@npm:*": + version: 1.3.1 + resolution: "@types/anymatch@npm:1.3.1" + checksum: 3/1647865e528a168f66f57a077e9651c10a4c172b656cc3686fddf176555d42ca0a1647bfc626ea2fceb68fc7701426ab708224be1762b4a5216fe8368ffdba3c + languageName: node + linkType: hard + +"@types/babel__core@npm:^7.1.0, @types/babel__core@npm:^7.1.7": + version: 7.1.7 + resolution: "@types/babel__core@npm:7.1.7" + dependencies: + "@babel/parser": ^7.1.0 + "@babel/types": ^7.0.0 + "@types/babel__generator": "*" + "@types/babel__template": "*" + "@types/babel__traverse": "*" + checksum: 3/f440303059ca39cf036ddbb13a86dd23ca427c2631f4482f73de9f5a518ef62ebc7d407de727fea1845fabbbec62f8dea00fd559b0c8894f92d920a2c376ded4 + languageName: node + linkType: hard + +"@types/babel__generator@npm:*": + version: 7.6.1 + resolution: "@types/babel__generator@npm:7.6.1" + dependencies: + "@babel/types": ^7.0.0 + checksum: 3/d9f19e0e47fe7df97e41029b656ca85e66124509b36b0ccaa5cc68617fe243240bd4431246b8928b9f08abf3818bbd6c94ba934cc7f88faaa2e32a38f5b728a8 + languageName: node + linkType: hard + +"@types/babel__template@npm:*": + version: 7.0.2 + resolution: "@types/babel__template@npm:7.0.2" + dependencies: + "@babel/parser": ^7.1.0 + "@babel/types": ^7.0.0 + checksum: 3/dd13bcf6f016866dba8310053302ac657de9966d85c67748d07ee385d07bdd8af56930ed4192c426b5118f43db268c17784bc6eb051ba94c5fcd50d5ca2db74f + languageName: node + linkType: hard + +"@types/babel__traverse@npm:*, @types/babel__traverse@npm:^7.0.6": + version: 7.0.11 + resolution: "@types/babel__traverse@npm:7.0.11" + dependencies: + "@babel/types": ^7.3.0 + checksum: 3/0d5653c39dd42af7d1056cf1221a99a5ba5848315c369e802a1afd0daf17df96cfde3098b5376d578c07e7275e11b8230d496185c1bb90943052dc989bd5e1fb + languageName: node + linkType: hard + +"@types/body-parser@npm:*, @types/body-parser@npm:^1.19.0": + version: 1.19.0 + resolution: "@types/body-parser@npm:1.19.0" + dependencies: + "@types/connect": "*" + "@types/node": "*" + checksum: 3/4576f3fde5980c1219cadbc7c523bdb1cefc3713300e18bf47ff37bb9b8176342a1dc7519008311fd8fc11413cf188a83931b9b59051aa1c2f095c1e10459369 + languageName: node + linkType: hard + +"@types/chalk@npm:^2.2.0": + version: 2.2.0 + resolution: "@types/chalk@npm:2.2.0" + dependencies: + chalk: "*" + checksum: 3/9cded9031f180268be59010fc1e13c7b4384e51f0ca8b75bc7a40bdd46f5f3c4859953525fb53663287e5bb25ca5df59396c276ce5c09e1a83aa7a2aec6a9f59 + languageName: node + linkType: hard + +"@types/color-name@npm:^1.1.1": + version: 1.1.1 + resolution: "@types/color-name@npm:1.1.1" + checksum: 3/8311db94a9c4ecd247763b81e783ee49d87678b4ce6a7ee502e2bd5cea242b7357804a04855db009f713174bc654cc0c01c7303d40d757e5d710f5ac0368500f + languageName: node + linkType: hard + +"@types/commander@npm:^2.12.2": + version: 2.12.2 + resolution: "@types/commander@npm:2.12.2" + dependencies: + commander: "*" + checksum: 3/f87ace09de72d49973ef9c91f30dba5f4cdc23bc71de8c2b06b97b6fed6bd8b4fa3cffdfbbf3a0457f4c2ce998317523c4a6dc817a2a41229663a58e7a464c17 + languageName: node + linkType: hard + +"@types/connect@npm:*": + version: 3.4.33 + resolution: "@types/connect@npm:3.4.33" + dependencies: + "@types/node": "*" + checksum: 3/6414495b5995fcb8274feb8b1f113c0685160ea7781e75c638325c6e7a0c226d0c554fa622fe3d278470358c99f68a5994fe49e1b104736f76f3fb3b509e375f + languageName: node + linkType: hard + +"@types/content-disposition@npm:*": + version: 0.5.3 + resolution: "@types/content-disposition@npm:0.5.3" + checksum: 3/1b7d94b19ae8564816233b74df5f662052d393d0fdb317c81d894f5e1e762010c46b1812ce01a1492a72603e182afd18a59673e25ae737efc3e470ba261697d7 + languageName: node + linkType: hard + +"@types/cookiejar@npm:*": + version: 2.1.1 + resolution: "@types/cookiejar@npm:2.1.1" + checksum: 3/822b514900c457756479f42b382efb57437e68352acead76f47bc0c0bc9eecf0df2623fd4506111058437b41552d0fb74d4c14fa5d033d642ca952dffb697ed3 + languageName: node + linkType: hard + +"@types/cookies@npm:*": + version: 0.7.4 + resolution: "@types/cookies@npm:0.7.4" + dependencies: + "@types/connect": "*" + "@types/express": "*" + "@types/keygrip": "*" + "@types/node": "*" + checksum: 3/641b1f5122a90914224784c23b7cd16434578255996abe6ef944c76e76839d5d6b124fec38c44a41e6855a49b926df3296c91c40fc54116638826783998ecc03 + languageName: node + linkType: hard + +"@types/debug@npm:4.1.5, @types/debug@npm:^4.1.5": + version: 4.1.5 + resolution: "@types/debug@npm:4.1.5" + checksum: 3/416ad24bc589be0fb8c78bea972aa7d4ffdf6b136239701b1792674463b2dbf8c6707f6055ec484f79ec1f2b528ffef90c87e55df7e4a0f458184cad5bf0cfc8 + languageName: node + linkType: hard + +"@types/eslint-visitor-keys@npm:^1.0.0": + version: 1.0.0 + resolution: "@types/eslint-visitor-keys@npm:1.0.0" + checksum: 3/48d1f3263148ac822afbc1e54358b423851a2a28c41aef4d7803b052b4f6c3ebfb219daed419b8a4f2b6ac34b545dab4def916d15e69d2bf3f128f7abc0e6132 + languageName: node + linkType: hard + +"@types/events@npm:*": + version: 3.0.0 + resolution: "@types/events@npm:3.0.0" + checksum: 3/1407d79d6d5291caa89f27ef0f180eb133bc5a12f11886bd68f9ef9cffb962a575571d1b4d02d30a7329fe9b85d29b7c10543ed6dc516ad20f9a1e89c1e9c9b8 + languageName: node + linkType: hard + +"@types/express-serve-static-core@npm:*": + version: 4.17.7 + resolution: "@types/express-serve-static-core@npm:4.17.7" + dependencies: + "@types/node": "*" + "@types/qs": "*" + "@types/range-parser": "*" + checksum: 3/efb5f5b662b00643cf266937ffd676e80dd89fbb6d70a85a8ce646444435a100b0fbb5bd7231f5c9872855aa56769b71b83afb1542c640d56e64d3de5917b64d + languageName: node + linkType: hard + +"@types/express@npm:*": + version: 4.17.6 + resolution: "@types/express@npm:4.17.6" + dependencies: + "@types/body-parser": "*" + "@types/express-serve-static-core": "*" + "@types/qs": "*" + "@types/serve-static": "*" + checksum: 3/45e31c66a048bfb8ddfb28f9c7f448f89eb8667132dc13f0e35397d5e4df05796f920a114bb774ba910bb3795a18d17a3ea8ae6aaf4d0d2e6b6c5622866f21d0 + languageName: node + linkType: hard + +"@types/finalhandler@npm:^1.1.0": + version: 1.1.0 + resolution: "@types/finalhandler@npm:1.1.0" + dependencies: + "@types/node": "*" + checksum: 3/0731d261b2bbf95ade5a9929c4b3f523d4d02429767dd248505cf26ba3df5f1a5e8911cddedad831290853cb9faa6f3457be0acd5a731a920fa6d2c770b28677 + languageName: node + linkType: hard + +"@types/glob@npm:^7.1.1": + version: 7.1.1 + resolution: "@types/glob@npm:7.1.1" + dependencies: + "@types/events": "*" + "@types/minimatch": "*" + "@types/node": "*" + checksum: 3/f74ae67cb205302da0d452e925529f817a253c4dce5d59ae6077d592238b921db750da143b8a5f8427a5011e202937d8a7b264f7d14b0ddc7f8137ca5e1af1b6 + languageName: node + linkType: hard + +"@types/graceful-fs@npm:^4.1.2": + version: 4.1.3 + resolution: "@types/graceful-fs@npm:4.1.3" + dependencies: + "@types/node": "*" + checksum: 3/5e2ec610a96de2a7b13ee1e071a31a225b68df07880f80f1112a3540299288d943c69c0f1114a60480aa137d424333392c11732969f14b964c1c419fae48a6f0 + languageName: node + linkType: hard + +"@types/html-minifier-terser@npm:^5.0.0": + version: 5.1.0 + resolution: "@types/html-minifier-terser@npm:5.1.0" + checksum: 3/e07f30cf9b3bfc3fcf4854c28b43cbdfb9c25180368a393749c762c4b980985037acddef50d894d722bf6e3d866b4c6d6d466ecb3b4db997429e5f75cc8bc422 + languageName: node + linkType: hard + +"@types/http-assert@npm:*": + version: 1.5.1 + resolution: "@types/http-assert@npm:1.5.1" + checksum: 3/0c9cbc568be88c60870d96953880c9b2c1d7c290df928a4004693debb715b8ad1b3e8a2f4b13b84e22b41379d20d9255e960532cf613a28126e8a433ddabac01 + languageName: node + linkType: hard + +"@types/http-errors@npm:^1.6.3": + version: 1.6.3 + resolution: "@types/http-errors@npm:1.6.3" + checksum: 3/b3fd744dbb4202e502abd7ebb2b4294ab1d4b4d858cddb1fed9e3194d685afaee45fc24d4c262517e0af590c4a30862271583d58c4ea69302652fcd743f678c9 + languageName: node + linkType: hard + +"@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": + version: 2.0.2 + resolution: "@types/istanbul-lib-coverage@npm:2.0.2" + checksum: 3/4a57a6749c68c0ef6377d213b9681fc18ff0aea8e5867ce8fb976a9409efe3608ef692cfdd5a64d54e428b8bc44ddc1b8f919f638821f615d9d9cdee6b60f300 + languageName: node + linkType: hard + +"@types/istanbul-lib-report@npm:*": + version: 3.0.0 + resolution: "@types/istanbul-lib-report@npm:3.0.0" + dependencies: + "@types/istanbul-lib-coverage": "*" + checksum: 3/78aa9f859b6d1b2c02387b401e4e42fdec2e26ffede392e544da108abc6aff35c95b40821116ca46006d94c8b405ffd64465c32514549e997b04f8363de1af5e + languageName: node + linkType: hard + +"@types/istanbul-reports@npm:^1.1.1": + version: 1.1.2 + resolution: "@types/istanbul-reports@npm:1.1.2" + dependencies: + "@types/istanbul-lib-coverage": "*" + "@types/istanbul-lib-report": "*" + checksum: 3/92bd1f76a4ce16f5390c80b6b0e657171faf0003b0ff370b3c37739087c825d664493c9debf442c0871d864f1be15c88460f2399ae748186d1a944f16958aea4 + languageName: node + linkType: hard + +"@types/jest@npm:^25.2.3": + version: 25.2.3 + resolution: "@types/jest@npm:25.2.3" + dependencies: + jest-diff: ^25.2.1 + pretty-format: ^25.2.1 + checksum: 3/fe92624fd7b3b5358ffba8e59108b484de1d01df08dfc66bb597d59d09900db1950717adb8d42ce5f81ba615fa0b8de55fd5446808d92f75b45e08fcbe4cec6e + languageName: node + linkType: hard + +"@types/json-schema@npm:^7.0.3": + version: 7.0.4 + resolution: "@types/json-schema@npm:7.0.4" + checksum: 3/5094037431e4b29d5cc9d6938ea596d1145cc46d305d8d302a477a54d0a7a83ba4629abbf52fcabc3ffdb31cf94647bc366a7bcc544770cbb80212d903018e2b + languageName: node + linkType: hard + +"@types/json5@npm:^0.0.30": + version: 0.0.30 + resolution: "@types/json5@npm:0.0.30" + checksum: 3/af9d434f14dc6337e16454944bca5eadbdf5d0e85a0ef59fe5e011eadabfe126f42f3913bf7fee478747cf34efd88061ac0e15ede07b83986ae31aa2ddda6232 + languageName: node + linkType: hard + +"@types/jsonwebtoken@npm:^8.5.0": + version: 8.5.0 + resolution: "@types/jsonwebtoken@npm:8.5.0" + dependencies: + "@types/node": "*" + checksum: 3/d1a6b28f826898bc4f5596d91705aa864419c4a5ca49215507260644af8ceff9edb6db1901a108207cfb22558d035655b55309f38b75fa081da01be9f5408b21 + languageName: node + linkType: hard + +"@types/keygrip@npm:*": + version: 1.0.2 + resolution: "@types/keygrip@npm:1.0.2" + checksum: 3/8d86a3d702146ae7012571f1783bdc1228cc42ec89472b7ed14c2a46b12b1fa7423e9ecfbe1167bdbc4f26bdc95ee4b3b757a9df29202f98333cddc379b46f6d + languageName: node + linkType: hard + +"@types/keyv@npm:^3.1.1": + version: 3.1.1 + resolution: "@types/keyv@npm:3.1.1" + dependencies: + "@types/node": "*" + checksum: 3/3aaf557d5b82e733d5a17b7f55af5d6be953363c3a594f006d64265790fe87c301c6e1400c0b6b1cf72add50a0ceddc25afb8231ab8302a2e5b6ebfbfac30e5d + languageName: node + linkType: hard + +"@types/koa-compose@npm:*": + version: 3.2.5 + resolution: "@types/koa-compose@npm:3.2.5" + dependencies: + "@types/koa": "*" + checksum: 3/bb6cae03095752d2f351e650ec4f5631c4512aec85bf5f7bab210a91a04714fbe0e75edac120cb56aff2cee5c6549bd6bf7a0ccc35f3adc0aa41d463b0a1f310 + languageName: node + linkType: hard + +"@types/koa@npm:*, @types/koa@npm:^2.11.3": + version: 2.11.3 + resolution: "@types/koa@npm:2.11.3" + dependencies: + "@types/accepts": "*" + "@types/content-disposition": "*" + "@types/cookies": "*" + "@types/http-assert": "*" + "@types/keygrip": "*" + "@types/koa-compose": "*" + "@types/node": "*" + checksum: 3/3e92c13f320b92a35f89efe75d8d42d3ae9ff22600ca05582d206caff5b5ab16ea70f96410c473680792b4548bff7e6dd853d0ddd594d93f226dc23b9782e4bc + languageName: node + linkType: hard + +"@types/lodash@npm:^4.14.151": + version: 4.14.151 + resolution: "@types/lodash@npm:4.14.151" + checksum: 3/cb283e957925dab794f85d4a8b2977022b6ac48870047db50ed42b5531efa1a6f835601f26f8a745c23148173a4d0679549ed5a54ed926c3de668e9c0382e22b + languageName: node + linkType: hard + +"@types/mime@npm:*": + version: 2.0.2 + resolution: "@types/mime@npm:2.0.2" + checksum: 3/4ec6fb38c3e7fcd914f50f0f620a6dcca82dc71dbc6ed4869fef2b7be666db7bb1746d554a680d79d3f70f80c1f0199dafba4c918bc5c353200d3551e9b4d6b9 + languageName: node + linkType: hard + +"@types/minimatch@npm:*": + version: 3.0.3 + resolution: "@types/minimatch@npm:3.0.3" + checksum: 3/672ccdac197e8176eed1a9441d0caf8a29a90eb139b1cefdd4c9e71b1c48f5c749f5d101a2d85da15c6259214ebda95072835021407d60330a731a2672964b82 + languageName: node + linkType: hard + +"@types/minimist@npm:^1.2.0": + version: 1.2.0 + resolution: "@types/minimist@npm:1.2.0" + checksum: 3/098945c2c29df019cae250dfe614e50dab8120f4e359bd034190f931a63a23f3058764eec0d8cea3757eedd5b308ed28e4357ece9510a99380da08762f5f6635 + languageName: node + linkType: hard + +"@types/mock-fs@npm:4.10.0": + version: 4.10.0 + resolution: "@types/mock-fs@npm:4.10.0" + dependencies: + "@types/node": "*" + checksum: 3/30c153cf54e76f4720caa63bc3ca92b1618336d2e148b3536b8ab17996f2709866583c65d4bcb39612a30e793dbe2bb0adf94a8758fba060ad05b843c622acd0 + languageName: node + linkType: hard + +"@types/node@npm:*, @types/node@npm:14.0.1, @types/node@npm:^14.0.1": + version: 14.0.1 + resolution: "@types/node@npm:14.0.1" + checksum: 3/97255869f674e3324fdef235173bafb7911a0786434703738008d92f5a4ec189bab2c08a1847f80a6569a5622f0f44a190e1479b08e363368a847e84e0c00902 + languageName: node + linkType: hard + +"@types/normalize-package-data@npm:^2.4.0": + version: 2.4.0 + resolution: "@types/normalize-package-data@npm:2.4.0" + checksum: 3/6d077e73be7ac6227b678829c7bd765607136cdef537fd4ee7f368d9302a651aea924254d69826663322048436d90d6e7c679c9aa99c4824a687c568aab8ce4f + languageName: node + linkType: hard + +"@types/parse-json@npm:^4.0.0": + version: 4.0.0 + resolution: "@types/parse-json@npm:4.0.0" + checksum: 3/4a8f720afac47b474d3f2eece312340e72bc31bc9561cda37b596ce2ed218c0099765d302625bb67d659a8452a1f93d514f4863c11c7ebaf65430428687dc426 + languageName: node + linkType: hard + +"@types/parseurl@npm:^1.3.1": + version: 1.3.1 + resolution: "@types/parseurl@npm:1.3.1" + dependencies: + "@types/node": "*" + checksum: 3/b40c8c7bc65d30a3a777d143861dd278fd67e213936d81e54070add57c7ac7ef731c5520d7363f4189ed277ba7643a2303ffa88fc283fa2f4c0f9756ccbadc71 + languageName: node + linkType: hard + +"@types/pg-types@npm:*": + version: 1.11.5 + resolution: "@types/pg-types@npm:1.11.5" + checksum: 3/11a2b2aee93f2857dd6b929bf6eb80f41eb66303dad354fb0a1317f81202d77dbc690366777dc426dacfb964dfe3a3181116576a06e07d46a068f7f55e17c95f + languageName: node + linkType: hard + +"@types/pg@npm:^7.14.3": + version: 7.14.3 + resolution: "@types/pg@npm:7.14.3" + dependencies: + "@types/node": "*" + "@types/pg-types": "*" + checksum: 3/eedcd09f1e70104f4dc3fdb4a610aae38686ce65b245e6853af509f172c8967f6244c44e48040ea580a4390038514998b531bfa3f971771302a5e8f756f66aaa + languageName: node + linkType: hard + +"@types/pluralize@npm:^0.0.29": + version: 0.0.29 + resolution: "@types/pluralize@npm:0.0.29" + checksum: 3/e800d731c76ca1506e4570fbdcc802df48cb002bce23e10059a77023cbdbd0093728f56d5b762214571b8f12db5014cc3afc55a7f6c0814152b3b2f1b6f711f1 + languageName: node + linkType: hard + +"@types/prettier@npm:^2.0.0": + version: 2.0.0 + resolution: "@types/prettier@npm:2.0.0" + checksum: 3/aee539015e8c815b211ffdb1a4b6e6aab24bd5665b3c71cc1aa95b9b65b3452f3e2b8541146577ba25535317532e6c8d9626e27568a89fad1888f248142a19bb + languageName: node + linkType: hard + +"@types/q@npm:^1.5.1": + version: 1.5.4 + resolution: "@types/q@npm:1.5.4" + checksum: 3/1a19cf2c41648b862bd25a4c26ba33dc7206f14fcf50c5b78031b59090d21176e703cd10aff8af409eafbefcebb288607d30af765ee3859637cf3fae6e875648 + languageName: node + linkType: hard + +"@types/qs@npm:*": + version: 6.9.2 + resolution: "@types/qs@npm:6.9.2" + checksum: 3/01d6af40b7db9f5a8003eb074934337523f0fb3f8a535d5d6ae0df0ef2d70ae754ba2dc3d93f8b8970e9c5103ba39112bb717a50da3c16e827af487e05f04759 + languageName: node + linkType: hard + +"@types/range-parser@npm:*": + version: 1.2.3 + resolution: "@types/range-parser@npm:1.2.3" + checksum: 3/092fabae0ecbd728d3e4debc938cd043e97cb9f210cfec1c56ff6065c6e91666f376eb586591825d6757a058fd1a1dc4831d34e04ecfbb0800f35b8d86d38635 + languageName: node + linkType: hard + +"@types/responselike@npm:^1.0.0": + version: 1.0.0 + resolution: "@types/responselike@npm:1.0.0" + dependencies: + "@types/node": "*" + checksum: 3/e6e6613c800aeda63e2331e753e8d21df1a2c9aa7a4bc71ed792a848e4811fc96e609759089355314a2318c76eff1f161499cd242044838ab1e6f56e463ebb9c + languageName: node + linkType: hard + +"@types/semver@npm:^7.2.0": + version: 7.2.0 + resolution: "@types/semver@npm:7.2.0" + dependencies: + "@types/node": "*" + checksum: 3/f72d56e80bc382e16e20e2370be4dc1d776fb67db91afcb88f7069f57450f8f1b282075d33ccb23d2455881c2e4279f31cd69e3d2f6f5f75d58a0d510e48bb6f + languageName: node + linkType: hard + +"@types/serve-static@npm:*": + version: 1.13.3 + resolution: "@types/serve-static@npm:1.13.3" + dependencies: + "@types/express-serve-static-core": "*" + "@types/mime": "*" + checksum: 3/6c72a59db53424302e8720e5ec11174a5fe9bff9d788ca9b3455935947362c5e2bac90ab0e4ed662159aa69791109fdd980451d3e7dae43c0af1369aaa21d817 + languageName: node + linkType: hard + +"@types/source-list-map@npm:*": + version: 0.1.2 + resolution: "@types/source-list-map@npm:0.1.2" + checksum: 3/191f0e3b056b481e7a0bbb38f3d5b54b015556e38075726ca2637a35d3694df85cd16761b1b188729ac687a55aec3cbc2b07033ac090bcc13efe09ad10a3e935 + languageName: node + linkType: hard + +"@types/stack-utils@npm:^1.0.1": + version: 1.0.1 + resolution: "@types/stack-utils@npm:1.0.1" + checksum: 3/59738e4b71b233b438a6ecb9faaf577d6f02afec4ea093d5ad3c10e78cb7096ab32648a2c2017c6c2e6c6853498aa783643a2c6b859c4a75f6750e7b37ae8bae + languageName: node + linkType: hard + +"@types/superagent@npm:^4.1.7": + version: 4.1.7 + resolution: "@types/superagent@npm:4.1.7" + dependencies: + "@types/cookiejar": "*" + "@types/node": "*" + checksum: 3/1e548d4f9331c814ce4ce069e1f5a723df678d92109dedcbb222e5a61c58731fecc48ce38f2fe027fec8cee560b3919e4e83f681f12a43298252ba3f30762fca + languageName: node + linkType: hard + +"@types/tapable@npm:*, @types/tapable@npm:^1.0.5": + version: 1.0.5 + resolution: "@types/tapable@npm:1.0.5" + checksum: 3/f87cd98a09be272dde705155097d0e02dfdd7fe98395ade968632ff7ee1f39839f03daee59da921345c2177d118f085dcb4e4e4d2d4bea801d354cc0f33a1d2d + languageName: node + linkType: hard + +"@types/uglify-js@npm:*": + version: 3.9.1 + resolution: "@types/uglify-js@npm:3.9.1" + dependencies: + source-map: ^0.6.1 + checksum: 3/2bf159c24ea67e87b94a2a9272b1aaad7871f067617ac13436fd2ba0e31189cff9299feaf311c8d0d84c272269905d1a9fce751e3446d4d380a43157cd6821e7 + languageName: node + linkType: hard + +"@types/webpack-sources@npm:*": + version: 0.1.7 + resolution: "@types/webpack-sources@npm:0.1.7" + dependencies: + "@types/node": "*" + "@types/source-list-map": "*" + source-map: ^0.6.1 + checksum: 3/f780beb1909c494b7a46872b7333d048d23e02503915b82b500c2498bef7a4cb9fcfdab13c2dde72d92cd2365d2ffdcc32d94eaaa7e08006360d2a8137c6b431 + languageName: node + linkType: hard + +"@types/webpack@npm:^4.41.8": + version: 4.41.13 + resolution: "@types/webpack@npm:4.41.13" + dependencies: + "@types/anymatch": "*" + "@types/node": "*" + "@types/tapable": "*" + "@types/uglify-js": "*" + "@types/webpack-sources": "*" + source-map: ^0.6.0 + checksum: 3/bc006cf5cd0333129234f5c0ab0cb22d2ca3288bf8ffb53985fbdafe8dec116da490c68d817087bc58fddbce4f719eecae69b675cfb3d79226c57c66ff7d7453 + languageName: node + linkType: hard + +"@types/ws@npm:^7.2.4": + version: 7.2.4 + resolution: "@types/ws@npm:7.2.4" + dependencies: + "@types/node": "*" + checksum: 3/8b8251a8c41b0a48c9e8940d6e447e285420bb77f297272c91fd07be302e0785112c7ee910ae79c90e7c1a988fb2adf5fec9d115c291750f371763d96ad8d20c + languageName: node + linkType: hard + +"@types/yargs-parser@npm:*": + version: 15.0.0 + resolution: "@types/yargs-parser@npm:15.0.0" + checksum: 3/74bfaefde90fb28eace49469fa6c2da63161176cb6dfbd2cfea2c3cb3268e4ca6abe174ae3ff7e633a49a6d6d1a114901c78799a19d0cbc5a9b539585afe6c4f + languageName: node + linkType: hard + +"@types/yargs@npm:^13.0.0": + version: 13.0.9 + resolution: "@types/yargs@npm:13.0.9" + dependencies: + "@types/yargs-parser": "*" + checksum: 3/b8afeb2c6cf42d5a6a1ddf4753a6b29c6fefcd708ba32f8316926e73877937b8fecf4029f97bb45a52a2250a8059c051532fae3398937fc2104e63903c52548e + languageName: node + linkType: hard + +"@types/yargs@npm:^15.0.0": + version: 15.0.5 + resolution: "@types/yargs@npm:15.0.5" + dependencies: + "@types/yargs-parser": "*" + checksum: 3/2133c8cb5878d13959844f98e546e69dacdf44cd9baf87d84c828a1a093febfc97c8f4df19cffd34a4a4f726a3cdb1851da4391176accf56534c5f8a1c271f46 + languageName: node + linkType: hard + +"@typescript-eslint/eslint-plugin@npm:^2.10.0, @typescript-eslint/eslint-plugin@npm:^2.34.0": + version: 2.34.0 + resolution: "@typescript-eslint/eslint-plugin@npm:2.34.0" + dependencies: + "@typescript-eslint/experimental-utils": 2.34.0 + functional-red-black-tree: ^1.0.1 + regexpp: ^3.0.0 + tsutils: ^3.17.1 + peerDependencies: + "@typescript-eslint/parser": ^2.0.0 + eslint: ^5.0.0 || ^6.0.0 + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + checksum: 3/8d800f4726487df5ce4d573e62effa250f168658759e32a976eae355cc3130d82e3a918542df273fec428b608d9d50e65ad02d596ba0c24de7fbb4ddb7897dee + languageName: node + linkType: hard + +"@typescript-eslint/experimental-utils@npm:2.34.0, @typescript-eslint/experimental-utils@npm:^2.5.0": + version: 2.34.0 + resolution: "@typescript-eslint/experimental-utils@npm:2.34.0" + dependencies: + "@types/json-schema": ^7.0.3 + "@typescript-eslint/typescript-estree": 2.34.0 + eslint-scope: ^5.0.0 + eslint-utils: ^2.0.0 + peerDependencies: + eslint: "*" + checksum: 3/53cbbcfe67ddc53b4bc23f78b3726b0c2de5ea04ee849ca8b619f1fcad16f644d9d72bb3ea9a08aabfc605ea4a9769fe1b81931af09ce2223ec49de749cde2d4 + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:^2.10.0, @typescript-eslint/parser@npm:^2.34.0": + version: 2.34.0 + resolution: "@typescript-eslint/parser@npm:2.34.0" + dependencies: + "@types/eslint-visitor-keys": ^1.0.0 + "@typescript-eslint/experimental-utils": 2.34.0 + "@typescript-eslint/typescript-estree": 2.34.0 + eslint-visitor-keys: ^1.1.0 + peerDependencies: + eslint: ^5.0.0 || ^6.0.0 + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + checksum: 3/a3fe33d422d5cfe97e36c983253d33d2f5907657f9bb61a129c58656441acf9e90ec525a5273239cc876bc43e031056b2796924f3e64e8ca1295674fb30a2eec + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:2.34.0, @typescript-eslint/typescript-estree@npm:^2.34.0": + version: 2.34.0 + resolution: "@typescript-eslint/typescript-estree@npm:2.34.0" + dependencies: + debug: ^4.1.1 + eslint-visitor-keys: ^1.1.0 + glob: ^7.1.6 + is-glob: ^4.0.1 + lodash: ^4.17.15 + semver: ^7.3.2 + tsutils: ^3.17.1 + peerDependencies: + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + checksum: 3/77d1a758dfd4a2813fb51d6102aa79d7eccb006c66db8cff49a10706c8cf64cae6b256b8ec6694058c1c333775e1dbc6ca7501769138fc89165b9c10f8201e40 + languageName: node + linkType: hard + +"@webassemblyjs/ast@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/ast@npm:1.8.5" + dependencies: + "@webassemblyjs/helper-module-context": 1.8.5 + "@webassemblyjs/helper-wasm-bytecode": 1.8.5 + "@webassemblyjs/wast-parser": 1.8.5 + checksum: 3/69f9830bec4ea439e2d8436b427b3d193df81158bfe6573dd44745279c5e1d6322aa0a42619b539a05cb02683738a30b2edd77a0cdb2a878befc520549e5da2b + languageName: node + linkType: hard + +"@webassemblyjs/ast@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/ast@npm:1.9.0" + dependencies: + "@webassemblyjs/helper-module-context": 1.9.0 + "@webassemblyjs/helper-wasm-bytecode": 1.9.0 + "@webassemblyjs/wast-parser": 1.9.0 + checksum: 3/25d93900cc32c2cfa34860b988a534c6671cf789159cc6b918afdf6099f9f2f70710a947501170d9ba0a24f0503fe3b3b45300ec14ec05c9d833c055795133c4 + languageName: node + linkType: hard + +"@webassemblyjs/floating-point-hex-parser@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.8.5" + checksum: 3/063cf884b3f14f5d3b46d993a52988dd2ca92d26dcf9284f8eca7f6ed6fc97c57b3f9b9d81e4549701414635568cec30df520cf13d3c2b715403d5638eb313a2 + languageName: node + linkType: hard + +"@webassemblyjs/floating-point-hex-parser@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.9.0" + checksum: 3/af9e11a688b0748f2e4119379d64a8f990a0edf1fbf80df612d2fdf3874528f4917ba51c735b324266314b6587b229825eb53eacbc9e9d00ce1d21ebd2a7d9dc + languageName: node + linkType: hard + +"@webassemblyjs/helper-api-error@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/helper-api-error@npm:1.8.5" + checksum: 3/dffbfc50199605d03b4ba6647c9e4bb44af373bcc9e562279dc61781661ab60315e58b522a0c94079e0f14e011c59f79fbf112922c1795f26b1e6de93df0811c + languageName: node + linkType: hard + +"@webassemblyjs/helper-api-error@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/helper-api-error@npm:1.9.0" + checksum: 3/ae7b9703ecbd0db50a2e95e23c9a1de2a0ba3d98187f4cd57473df4f2a88f9c3a2e53f98ce3a8ba0d73718a50733843ba0d8f88440d5e4a90704bb831f26a2e0 + languageName: node + linkType: hard + +"@webassemblyjs/helper-buffer@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/helper-buffer@npm:1.8.5" + checksum: 3/ee2a591d5f823dd5090c71f022eaa5223f8e1fbd86416ee70a5e9fcaedeeba14b71c4c1f8027d37dc932b472840e68ba57356d1814a342090a5a52b14b048236 + languageName: node + linkType: hard + +"@webassemblyjs/helper-buffer@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/helper-buffer@npm:1.9.0" + checksum: 3/94bcf27ccf4e5cfcdb92f89bb1e80a973656cab5d19e67eb61a8b5c9cf4ce060616e3afc3d900f6cffa2fc9746a4ad7be75fa448c06af4d4103e507584149a78 + languageName: node + linkType: hard + +"@webassemblyjs/helper-code-frame@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/helper-code-frame@npm:1.8.5" + dependencies: + "@webassemblyjs/wast-printer": 1.8.5 + checksum: 3/79423ec4e1f99da1e6a0d637253257cd63d6ea3eca2b60939fed6a52b71e985d6270e9cda5d32611df6405e880a9e9750d101224d678a21c490057fab96a92ac + languageName: node + linkType: hard + +"@webassemblyjs/helper-code-frame@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/helper-code-frame@npm:1.9.0" + dependencies: + "@webassemblyjs/wast-printer": 1.9.0 + checksum: 3/008fc534f21b3b054bd0bd863d3afcb30740d9c8cdc5044481747533bd276729ec196392a78c16f5a5ee8a6d067fd5fbaed16142b2b4097b1c5340451b5a5d1d + languageName: node + linkType: hard + +"@webassemblyjs/helper-fsm@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/helper-fsm@npm:1.8.5" + checksum: 3/f42e1c792cadd3f9fc37ba7661730dd5f90c07105ce94e37a7d295913ab71504c746bb51df3c9155f825865102b1ab5ff3e45a2c01a0c519d44f9933d50b14f8 + languageName: node + linkType: hard + +"@webassemblyjs/helper-fsm@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/helper-fsm@npm:1.9.0" + checksum: 3/3181e69c16aad1267fd471283b797e86f5e0b26abfddf1d0d2ddef8a758f486cd2482887ec317ecbb5c421aa1d11dea17a06e92c59ea9bd38513204e6c7b8f3d + languageName: node + linkType: hard + +"@webassemblyjs/helper-module-context@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/helper-module-context@npm:1.8.5" + dependencies: + "@webassemblyjs/ast": 1.8.5 + mamacro: ^0.0.3 + checksum: 3/24228675da927b64f6f60b3b7340eeae3b359e29bf101c596db95c339d3c07b515efe2afd465db7a3eaab72fda5679d32d509dba80e04f926deacee0aafb302c + languageName: node + linkType: hard + +"@webassemblyjs/helper-module-context@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/helper-module-context@npm:1.9.0" + dependencies: + "@webassemblyjs/ast": 1.9.0 + checksum: 3/9aa715a8d06a17ea92a6ec44322628f9418aa414b888632b5d8092a5125c2b6dcf2c6b80be2b6ad548201aa38e21d390e13c34f2edf7ba3335442739d88b0aef + languageName: node + linkType: hard + +"@webassemblyjs/helper-wasm-bytecode@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.8.5" + checksum: 3/59289230d5cd9567ea725581348ee09d6db1b2deba09c50e35778a1bd29931de4c522d4b422b9efec2d85c2dda708ea2341df7fc61d61c8141210e58b280bc18 + languageName: node + linkType: hard + +"@webassemblyjs/helper-wasm-bytecode@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.9.0" + checksum: 3/27ba07f49514d49ccf62a6e7a460941a6794107c9d7ef9685fda8a7373169d6ebdb676071006ce20581abb9f62562fa447473fb0b031e9ef6b2f62fa819be3f1 + languageName: node + linkType: hard + +"@webassemblyjs/helper-wasm-section@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/helper-wasm-section@npm:1.8.5" + dependencies: + "@webassemblyjs/ast": 1.8.5 + "@webassemblyjs/helper-buffer": 1.8.5 + "@webassemblyjs/helper-wasm-bytecode": 1.8.5 + "@webassemblyjs/wasm-gen": 1.8.5 + checksum: 3/bb838f6db1c8188d73a9144230b5eb81b7c42e52ae33c138daab8d863be6ca0a93313506105c91230e52ae05b6e54a89ede6d52f8088b019fc057982a9b197fc + languageName: node + linkType: hard + +"@webassemblyjs/helper-wasm-section@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/helper-wasm-section@npm:1.9.0" + dependencies: + "@webassemblyjs/ast": 1.9.0 + "@webassemblyjs/helper-buffer": 1.9.0 + "@webassemblyjs/helper-wasm-bytecode": 1.9.0 + "@webassemblyjs/wasm-gen": 1.9.0 + checksum: 3/0e2957efc4001b1e030cf088f41a81b779437bf073272fbb31e3fc36d979dc5dd4137611397a70fa308986597a09cbdcd7806f123a0a809ae1035c40495a59d3 + languageName: node + linkType: hard + +"@webassemblyjs/ieee754@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/ieee754@npm:1.8.5" + dependencies: + "@xtuc/ieee754": ^1.2.0 + checksum: 3/9b1ca1610f17376b5eea3dd17f14b9ba2be0f6575dc8fdec1dbac93afbd37cf7ecedca2044c2c73cf19a9ef8b95b4ad29187e3af3fdb2f8b51c50fb46cf2f513 + languageName: node + linkType: hard + +"@webassemblyjs/ieee754@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/ieee754@npm:1.9.0" + dependencies: + "@xtuc/ieee754": ^1.2.0 + checksum: 3/1474a87d8686542267b11b8ab0a1a37d3003cd6d4b797b8f96c58e348d483fec4e267ec1e128525e56e9250f90b75a79f1187a6beba2072d568b7a01faf3b8d4 + languageName: node + linkType: hard + +"@webassemblyjs/leb128@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/leb128@npm:1.8.5" + dependencies: + "@xtuc/long": 4.2.2 + checksum: 3/7f69f7a5a3514c1d38dffbdad0c867674efba04a4886bbe0d3d2176b23f0d7a936ef56ee5c1fc4d339d5f875fc93342bf736c6d0bd0d9a54211da534fd5e6c88 + languageName: node + linkType: hard + +"@webassemblyjs/leb128@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/leb128@npm:1.9.0" + dependencies: + "@xtuc/long": 4.2.2 + checksum: 3/af49765d067ca2db5ec6bda360a235b9063756092a6439b8a296cb1ee0ebff778bcd68f686d3c350d1375a3fdb80fd0a91ea9655da5d1ea10ea5d3eae19c1105 + languageName: node + linkType: hard + +"@webassemblyjs/utf8@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/utf8@npm:1.8.5" + checksum: 3/61f3c696dd3242fc3ba80ca88928decd8de8eb7267bc5601a886750a3b710ebdeb8db393e125db7e85abbb02e99180c8c58768f78d7bdb4d400485f98bbb1a4d + languageName: node + linkType: hard + +"@webassemblyjs/utf8@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/utf8@npm:1.9.0" + checksum: 3/172fd362aaf6760b826117177ec171ce63b5fabe172f09343b8cd24852f33475f3a596bc1d02088f64a498556a19f98dce00cafe3da3fb8d77367db5326d2d66 + languageName: node + linkType: hard + +"@webassemblyjs/wasm-edit@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/wasm-edit@npm:1.8.5" + dependencies: + "@webassemblyjs/ast": 1.8.5 + "@webassemblyjs/helper-buffer": 1.8.5 + "@webassemblyjs/helper-wasm-bytecode": 1.8.5 + "@webassemblyjs/helper-wasm-section": 1.8.5 + "@webassemblyjs/wasm-gen": 1.8.5 + "@webassemblyjs/wasm-opt": 1.8.5 + "@webassemblyjs/wasm-parser": 1.8.5 + "@webassemblyjs/wast-printer": 1.8.5 + checksum: 3/24d59edfd4b8aeb0669d1a5c9c49e5c4f9ee5070dc52f55c514b1314ca27de8c4c96e50f873297d00bf21af17cb46315fa28ec9c2f4b00b8c1b1b03431b69239 + languageName: node + linkType: hard + +"@webassemblyjs/wasm-edit@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/wasm-edit@npm:1.9.0" + dependencies: + "@webassemblyjs/ast": 1.9.0 + "@webassemblyjs/helper-buffer": 1.9.0 + "@webassemblyjs/helper-wasm-bytecode": 1.9.0 + "@webassemblyjs/helper-wasm-section": 1.9.0 + "@webassemblyjs/wasm-gen": 1.9.0 + "@webassemblyjs/wasm-opt": 1.9.0 + "@webassemblyjs/wasm-parser": 1.9.0 + "@webassemblyjs/wast-printer": 1.9.0 + checksum: 3/16016c9ef5b69fed1d6a6f21926e6e4a9add41e316efb23f6aeadc6efe2035cfb528720965883ac7861a5584b679a2697416f19db983c8a0c8bd6c7de7a0c6f1 + languageName: node + linkType: hard + +"@webassemblyjs/wasm-gen@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/wasm-gen@npm:1.8.5" + dependencies: + "@webassemblyjs/ast": 1.8.5 + "@webassemblyjs/helper-wasm-bytecode": 1.8.5 + "@webassemblyjs/ieee754": 1.8.5 + "@webassemblyjs/leb128": 1.8.5 + "@webassemblyjs/utf8": 1.8.5 + checksum: 3/4e409bc4b0b6bfa0b065d8ca86637eb877455880e289c57fc138bd17eb55575740388f46f9e4b8a70a9c420a29aedf607e189363ebd87e2761eea7d608619638 + languageName: node + linkType: hard + +"@webassemblyjs/wasm-gen@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/wasm-gen@npm:1.9.0" + dependencies: + "@webassemblyjs/ast": 1.9.0 + "@webassemblyjs/helper-wasm-bytecode": 1.9.0 + "@webassemblyjs/ieee754": 1.9.0 + "@webassemblyjs/leb128": 1.9.0 + "@webassemblyjs/utf8": 1.9.0 + checksum: 3/1afcebfd1272b6f2aac2322b64ced22194d5fe91baf7cbc9fbd4e18a9cf9b1c2d31af5a02a7bf15d5880d598de822accc21d446a94ad0e70d7eb09eeab7de6c6 + languageName: node + linkType: hard + +"@webassemblyjs/wasm-opt@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/wasm-opt@npm:1.8.5" + dependencies: + "@webassemblyjs/ast": 1.8.5 + "@webassemblyjs/helper-buffer": 1.8.5 + "@webassemblyjs/wasm-gen": 1.8.5 + "@webassemblyjs/wasm-parser": 1.8.5 + checksum: 3/f7bbc2848f3d9f6aee541aff51083b2a85cf9ab45a92ce4146628ad52abb1b84f5da791ede667b118869edf3a62db280413f983fbb9516402e9a1cf397052229 + languageName: node + linkType: hard + +"@webassemblyjs/wasm-opt@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/wasm-opt@npm:1.9.0" + dependencies: + "@webassemblyjs/ast": 1.9.0 + "@webassemblyjs/helper-buffer": 1.9.0 + "@webassemblyjs/wasm-gen": 1.9.0 + "@webassemblyjs/wasm-parser": 1.9.0 + checksum: 3/2ce89f206e40dbfc44ec4a04669b76d14810db70da2506f90a7d5ff45f8002e34d7eaed447c3423cdad76d60617012d1fd0c055b63a5ed863b0068e5ce3e4032 + languageName: node + linkType: hard + +"@webassemblyjs/wasm-parser@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/wasm-parser@npm:1.8.5" + dependencies: + "@webassemblyjs/ast": 1.8.5 + "@webassemblyjs/helper-api-error": 1.8.5 + "@webassemblyjs/helper-wasm-bytecode": 1.8.5 + "@webassemblyjs/ieee754": 1.8.5 + "@webassemblyjs/leb128": 1.8.5 + "@webassemblyjs/utf8": 1.8.5 + checksum: 3/a335d55c8161ebe2cdd7872c41913eabd9a4ed9cafe5136a85536e773840957f6829237cc6eba0768b38149160f0d29f183e2bfdba43a1922da104f9fc863a30 + languageName: node + linkType: hard + +"@webassemblyjs/wasm-parser@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/wasm-parser@npm:1.9.0" + dependencies: + "@webassemblyjs/ast": 1.9.0 + "@webassemblyjs/helper-api-error": 1.9.0 + "@webassemblyjs/helper-wasm-bytecode": 1.9.0 + "@webassemblyjs/ieee754": 1.9.0 + "@webassemblyjs/leb128": 1.9.0 + "@webassemblyjs/utf8": 1.9.0 + checksum: 3/b8cb346c9b7d1238d24a418bbc676c5adea7561202580527e3f6a8f74e38de8ba60962d5bda56fa7c1d652d28d787234dfae0b4777e2a8bcaf3e0d539ced8acf + languageName: node + linkType: hard + +"@webassemblyjs/wast-parser@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/wast-parser@npm:1.8.5" + dependencies: + "@webassemblyjs/ast": 1.8.5 + "@webassemblyjs/floating-point-hex-parser": 1.8.5 + "@webassemblyjs/helper-api-error": 1.8.5 + "@webassemblyjs/helper-code-frame": 1.8.5 + "@webassemblyjs/helper-fsm": 1.8.5 + "@xtuc/long": 4.2.2 + checksum: 3/4529bf0193a21ff1c570d3e342d96ff607a76220428f4b9623fdd2b9c67e587031fb6acdcbc9eda4de92f46f0881984f6a2c2f61c91c3cfeec97fcd1cbb194ae + languageName: node + linkType: hard + +"@webassemblyjs/wast-parser@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/wast-parser@npm:1.9.0" + dependencies: + "@webassemblyjs/ast": 1.9.0 + "@webassemblyjs/floating-point-hex-parser": 1.9.0 + "@webassemblyjs/helper-api-error": 1.9.0 + "@webassemblyjs/helper-code-frame": 1.9.0 + "@webassemblyjs/helper-fsm": 1.9.0 + "@xtuc/long": 4.2.2 + checksum: 3/eaa0140a446be6138bbd19ecadf93119381f4cfabe5d7453397f2bd1716e00498666f12944b7da0b472ad1bcc27eca2fd9934785b57cfe97910189f0df59c3f1 + languageName: node + linkType: hard + +"@webassemblyjs/wast-printer@npm:1.8.5": + version: 1.8.5 + resolution: "@webassemblyjs/wast-printer@npm:1.8.5" + dependencies: + "@webassemblyjs/ast": 1.8.5 + "@webassemblyjs/wast-parser": 1.8.5 + "@xtuc/long": 4.2.2 + checksum: 3/490420d15f566e182a55ac6ed0a16479c4cfc714f6373647cb980fec2754a4af21a1431394435ced7cef21d14d898727bd11c71ef6e813821371d992ba0af18b + languageName: node + linkType: hard + +"@webassemblyjs/wast-printer@npm:1.9.0": + version: 1.9.0 + resolution: "@webassemblyjs/wast-printer@npm:1.9.0" + dependencies: + "@webassemblyjs/ast": 1.9.0 + "@webassemblyjs/wast-parser": 1.9.0 + "@xtuc/long": 4.2.2 + checksum: 3/9f013b27e28b60cb215011079a15c94d1a7b0784eb3b59ec4936f8c0635ecdb58875c6809485cff814e01df170f02c18676cf782826795dc08553b98e69c1049 + languageName: node + linkType: hard + +"@xtuc/ieee754@npm:^1.2.0": + version: 1.2.0 + resolution: "@xtuc/ieee754@npm:1.2.0" + checksum: 3/65bb9c55a054e2d79bf2a8c4ea23a962bd23f654b84532f3555d158d06dedf1603a4131a2f685cad988e582824ef7b8179918e894537be9626ea357f8ea60a63 + languageName: node + linkType: hard + +"@xtuc/long@npm:4.2.2": + version: 4.2.2 + resolution: "@xtuc/long@npm:4.2.2" + checksum: 3/ec09a359f98e9f8c47bf6c965e73b520a1a65e93f1febf6472babc8b6b0b425a2084452be103da5be11aec8c502ecfa29400713d55ef774579d04f691db44a2d + languageName: node + linkType: hard + +"JSONStream@npm:^1.0.4": + version: 1.3.5 + resolution: "JSONStream@npm:1.3.5" + dependencies: + jsonparse: ^1.2.0 + through: ">=2.2.7 <3" + bin: + JSONStream: ./bin.js + checksum: 3/e9849f8a52cde19c95d7fbf0bdab7bde1f31c9fbf2062e47044817eeebb31217c99aaa041366f377243aa852c64fa144c4397ef76965d6491eb47827464d8479 + languageName: node + linkType: hard + +"abab@npm:^2.0.0, abab@npm:^2.0.3": + version: 2.0.3 + resolution: "abab@npm:2.0.3" + checksum: 3/07bd561e87dba729824956cdcd02b19f31e2ed91385e3b808ae9d9abae9b3a4394530d87453103da4bd36053dd456f9630e15c0b77b95a0f19449183d44a8ee9 + languageName: node + linkType: hard + +"abbrev@npm:1": + version: 1.1.1 + resolution: "abbrev@npm:1.1.1" + checksum: 3/9f9236a3cc7f56c167be3aa81c77fcab2e08dfb8047b7861b91440f20b299b9442255856bdbe9d408d7e96a0b64a36e1c27384251126962490b4eee841b533e0 + languageName: node + linkType: hard + +"abstract-logging@npm:^2.0.0": + version: 2.0.0 + resolution: "abstract-logging@npm:2.0.0" + checksum: 3/a39757fe94ab143c517860213e44f8c289ca3be9100b05fdc0a1a2df15eebc36744eab5ed3573248bbf3c3af9ba43d673230181a7a6987463898705fe4936d95 + languageName: node + linkType: hard + +"accepts@npm:^1.3.5, accepts@npm:~1.3.4, accepts@npm:~1.3.5, accepts@npm:~1.3.7": + version: 1.3.7 + resolution: "accepts@npm:1.3.7" + dependencies: + mime-types: ~2.1.24 + negotiator: 0.6.2 + checksum: 3/2686fa30dbc850db1bf458dc8171fba13c54ed6cb25f4298ec7c2f88b8dfc50351f25c40abe3a948e4ec7a0cc8ea83d1c55c2f73ffa612d18840a8778d4a2ee0 + languageName: node + linkType: hard + +"acorn-globals@npm:^4.1.0, acorn-globals@npm:^4.3.0": + version: 4.3.4 + resolution: "acorn-globals@npm:4.3.4" + dependencies: + acorn: ^6.0.1 + acorn-walk: ^6.0.1 + checksum: 3/6c3511f40d25daefda449b803f9d651c1b2427009d5dc74ae485efe5b704be0ce17983ac9571df3f5344a6ab1df77a29cb4e19c5f34796cec3c1c049f3ad5951 + languageName: node + linkType: hard + +"acorn-globals@npm:^6.0.0": + version: 6.0.0 + resolution: "acorn-globals@npm:6.0.0" + dependencies: + acorn: ^7.1.1 + acorn-walk: ^7.1.1 + checksum: 3/078ed9bc354e95a30893efd260e2dc566dfc34d8e1d24a54b9ad59984bea53ff93cb1986a85b2b5e2b8e573cb00d34ad8767371b852941a1947f81c37c1be759 + languageName: node + linkType: hard + +"acorn-jsx@npm:^5.2.0": + version: 5.2.0 + resolution: "acorn-jsx@npm:5.2.0" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 + checksum: 3/1247cc4b32e7883c70823eae643ef07faefb02ef6084bb92d650e5564bb22d6e6392771036c1e15428dc01e6350a5336c6741e272c30ab6bf9ce578e4701f6c0 + languageName: node + linkType: hard + +"acorn-walk@npm:^6.0.1": + version: 6.2.0 + resolution: "acorn-walk@npm:6.2.0" + checksum: 3/3bd8415090ecfcf0a40e9bdde722993104d209d8e7721b48d9c77c46fb1dd261cc29ae0ee47e6532db9fbfe96d911b19ec0d72a383b20ed331364ab18d35b75b + languageName: node + linkType: hard + +"acorn-walk@npm:^7.1.1": + version: 7.1.1 + resolution: "acorn-walk@npm:7.1.1" + checksum: 3/7d465101e67cee78a8e0ddec0e553638d9df6fce3009d7a08f4680d6b6cabdd3c89e6893f748ee14ba49580e4721d25cc5fa37cd76b7569d361b07f4e0b038b6 + languageName: node + linkType: hard + +"acorn@npm:^5.5.3": + version: 5.7.4 + resolution: "acorn@npm:5.7.4" + bin: + acorn: bin/acorn + checksum: 3/1ca0f3e95b48b40ff3a6eb28e7e07a26f7aea762138ee8698eec6a6a241f3729506fbd55520c4f00de8fd2a2af7704be17c9f1c2c017a413a855f3e95929b6a1 + languageName: node + linkType: hard + +"acorn@npm:^6.0.1, acorn@npm:^6.0.4, acorn@npm:^6.2.1, acorn@npm:^6.4.1": + version: 6.4.1 + resolution: "acorn@npm:6.4.1" + bin: + acorn: bin/acorn + checksum: 3/7aa4623c6d2705e9a26057ccfdd409154f8b634973ce109a63fa2c7e679af689bb50378379610794ec9744975db7a3a3b97e2b83f87fab1b635ad19b6c0ac3be + languageName: node + linkType: hard + +"acorn@npm:^7.1.1": + version: 7.2.0 + resolution: "acorn@npm:7.2.0" + bin: + acorn: bin/acorn + checksum: 3/e1d0dcafc16cad859275d8ea63074a227f07a6c21b9d80387dd017d3d413b9776cbb2d67d52b90630cdf8ac42a0deff92000fdded63088d9e159e9f87bf4a8cd + languageName: node + linkType: hard + +"add-stream@npm:^1.0.0": + version: 1.0.0 + resolution: "add-stream@npm:1.0.0" + checksum: 3/3b452cd36229ae6199cea9938ef5de26037164f7918eece0fab6db64401cdaddecad754771cfa026322dc81a1fe96f7cac03dfb932fbed572bc5e337ddc6c28a + languageName: node + linkType: hard + +"address@npm:1.1.2, address@npm:^1.0.1": + version: 1.1.2 + resolution: "address@npm:1.1.2" + checksum: 3/e0fe385945097112e7819a29e1ac362d3c55c35352483c1a8418fbf9f2c4ad90ab6db9d904aaf4814c1c7174359b4cb39072819259df36a2b9dbf0c64a5e2fa3 + languageName: node + linkType: hard + +"adjust-sourcemap-loader@npm:2.0.0": + version: 2.0.0 + resolution: "adjust-sourcemap-loader@npm:2.0.0" + dependencies: + assert: 1.4.1 + camelcase: 5.0.0 + loader-utils: 1.2.3 + object-path: 0.11.4 + regex-parser: 2.2.10 + checksum: 3/086470bacc4244bcc29df88918b362c337c0d6ef6bdb71c6e1a80c04ff66cd518d18f23ba1e2b25908b41882285d9435b1281ae7b104ff6271237ea3bf7e36ac + languageName: node + linkType: hard + +"aggregate-error@npm:^3.0.0": + version: 3.0.1 + resolution: "aggregate-error@npm:3.0.1" + dependencies: + clean-stack: ^2.0.0 + indent-string: ^4.0.0 + checksum: 3/aee96f00c21c9a8c005d949a448e656339235faeec5c050e041ed3d33812fc3478a777ffd6309eb61c17ceb66dd0d2c6220e06e565ec994f536d9a16814e0ebf + languageName: node + linkType: hard + +"ajv-errors@npm:^1.0.0": + version: 1.0.1 + resolution: "ajv-errors@npm:1.0.1" + peerDependencies: + ajv: ">=5.0.0" + checksum: 3/d8356aadcb8a602c69c8eefca1aff93271316c45c42b975606346cfd7c3f9bf56569c15bd2fe18bee5ae16d4db15fb9b0b12cb48c057335980993978c5ff2450 + languageName: node + linkType: hard + +"ajv-keywords@npm:^3.1.0, ajv-keywords@npm:^3.4.1": + version: 3.4.1 + resolution: "ajv-keywords@npm:3.4.1" + peerDependencies: + ajv: ^6.9.1 + checksum: 3/ae1e6775a2087591cfb12d2905c264fca9f2128eb7a951be7e56ffd895b2f9670d9ef79c8c536cfb507ce8d651ce265d89cb08896c8808ce74a884a1648de5e1 + languageName: node + linkType: hard + +"ajv@npm:^6.1.0, ajv@npm:^6.10.0, ajv@npm:^6.10.2, ajv@npm:^6.11.0, ajv@npm:^6.12.0, ajv@npm:^6.5.5": + version: 6.12.2 + resolution: "ajv@npm:6.12.2" + 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 + checksum: 3/09f3d7992c4a6e554e65accab279878c2da2a7e3ca782032de51c7c91d80a43a3e2aeb26efb8e8950b3941a89882f21aaca1170dafada784a7a0f275b5e6e745 + languageName: node + linkType: hard + +"ajv@npm:~6.10.2": + version: 6.10.2 + resolution: "ajv@npm:6.10.2" + dependencies: + fast-deep-equal: ^2.0.1 + fast-json-stable-stringify: ^2.0.0 + json-schema-traverse: ^0.4.1 + uri-js: ^4.2.2 + checksum: 3/e6170c10b6448432220ec8979a2e56f85d1e1a4d9c03d8b45a98cdbf6a03e24873e244777637f1af2ad68888323473807343873fa6f69644474ef63f843be556 + languageName: node + linkType: hard + +"alphanum-sort@npm:^1.0.0": + version: 1.0.2 + resolution: "alphanum-sort@npm:1.0.2" + checksum: 3/28bad91719e15959e36a791a3538924e07da356ebe3b5f992e7668e8018cfc417a7ba4a69512771e5ffa306c7e028435c7748546f66f72d4f7b0ad694cf55069 + languageName: node + linkType: hard + +"ansi-align@npm:^3.0.0": + version: 3.0.0 + resolution: "ansi-align@npm:3.0.0" + dependencies: + string-width: ^3.0.0 + checksum: 3/e6bea1d61003857c5bbf3e81d806b53d32acb482f14dfe88233ba60656fd161cdb91d64b4feccb350adc511ac33fa60eb9ebac0afbcb0e22a8b17210a9f2147d + languageName: node + linkType: hard + +"ansi-colors@npm:^3.0.0": + version: 3.2.4 + resolution: "ansi-colors@npm:3.2.4" + checksum: 3/86ec4a476ae8661237c0da58c0b4c48ea57719fdd80eed00132db09ee88d69f5caa5889e13ccd07489e710bf3b9fd85123729e0660384d4373e92ef6125c1fad + languageName: node + linkType: hard + +"ansi-escapes@npm:^3.0.0": + version: 3.2.0 + resolution: "ansi-escapes@npm:3.2.0" + checksum: 3/0a106c53c71bc831a3245b49016a2630de4217674f4383761c7ef4fe78dfe73a897e323f27298783494b45ce3703f903013d4548c5411bafb6c5c937fb0b3f4e + languageName: node + linkType: hard + +"ansi-escapes@npm:^4.2.1": + version: 4.3.1 + resolution: "ansi-escapes@npm:4.3.1" + dependencies: + type-fest: ^0.11.0 + checksum: 3/bcb39e57bd32af0236c4ded96aaf8ef5d86c5a4683762b0be998c68cd11d5afd93296f4b5e087a3557da82a899b7c4d081483d603a4d4647e6a6613bf1aded8a + languageName: node + linkType: hard + +"ansi-html@npm:0.0.7": + version: 0.0.7 + resolution: "ansi-html@npm:0.0.7" + bin: + ansi-html: ./bin/ansi-html + checksum: 3/1178680548785b6557e67c197c343411ee1a334606058ebcfb4a3c79accddaa43edb511b0dcb79c15a18041fe0e8d1063bbbad95be8b5b1d56934b9a51d88c83 + languageName: node + linkType: hard + +"ansi-regex@npm:^2.0.0": + version: 2.1.1 + resolution: "ansi-regex@npm:2.1.1" + checksum: 3/93a53c923fd433f67cd3d5647dffa6790f37bbfb924cf73ad23e28a8e414bde142d1da260d9a2be52ac4aa382063196880b1d40cf8b547642c746ed538ebf6c4 + languageName: node + linkType: hard + +"ansi-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "ansi-regex@npm:3.0.0" + checksum: 3/2e3c40d42904366e4a1a7b906ea3ae7968179a50916dfa0fd3e59fd12333c5d95970a9a59067ac3406d97c78784d591f0b841a4efd365dafb261327ae1ea3478 + languageName: node + linkType: hard + +"ansi-regex@npm:^4.0.0, ansi-regex@npm:^4.1.0": + version: 4.1.0 + resolution: "ansi-regex@npm:4.1.0" + checksum: 3/53b6fe447cf92ee59739379de637af6f86b3b8a9537fbfe36a66f946f1d9d34afc3efe664ac31bcc7c3af042d43eabcfcfd3f790316d474bbc7b19a4b1d132dd + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.0": + version: 5.0.0 + resolution: "ansi-regex@npm:5.0.0" + checksum: 3/cbd9b5c9dbbb4a949c2a6e93f1c6cc19f0683d8a4724d08d2158627be6d373f0f3ba1f4ada01dce7ee141f2ba2628fbbd29932c7d49926e3b630c7f329f3178b + languageName: node + linkType: hard + +"ansi-styles@npm:^2.2.1": + version: 2.2.1 + resolution: "ansi-styles@npm:2.2.1" + checksum: 3/108c7496372982f1ee53f3f09975de89cc771d2f7c89a32d56ab7a542f67b7de97391c9c16b43b39eb7ea176d3cfbb15975b6b355ae827f15f5a457b1b9dec31 + languageName: node + linkType: hard + +"ansi-styles@npm:^3.2.0, ansi-styles@npm:^3.2.1": + version: 3.2.1 + resolution: "ansi-styles@npm:3.2.1" + dependencies: + color-convert: ^1.9.0 + checksum: 3/456e1c23d9277512a47718da75e7fbb0a5ee215ef893c2f76d6b3efe8fceabc861121b80b0362146f5f995d21a1633f05a19bbf6283ae66ac11dc3b9c0bed779 + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": + version: 4.2.1 + resolution: "ansi-styles@npm:4.2.1" + dependencies: + "@types/color-name": ^1.1.1 + color-convert: ^2.0.1 + checksum: 3/c8c007d5dab7b4fea064c9ea318114e1f6fc714bb382d061ac09e66bc83c8f3ce12bb6354be01598722c14a5d710af280b7614d269354f80d2535946aefa82f4 + languageName: node + linkType: hard + +"any-promise@npm:^1.1.0": + version: 1.3.0 + resolution: "any-promise@npm:1.3.0" + checksum: 3/e829425e4aef532fb9063c638de4693feaf285dae8ba84bcabd9c6d49446264650d1e16b73af8a25ae1e4480f9a4dc7cae364b4c4d4753b57dd1900cdfab8183 + languageName: node + linkType: hard + +"anymatch@npm:^2.0.0": + version: 2.0.0 + resolution: "anymatch@npm:2.0.0" + dependencies: + micromatch: ^3.1.4 + normalize-path: ^2.1.1 + checksum: 3/9e495910cca364b47ee125d451bae1bde542ef78a56ac2a1e9fe835a671ed6f3b05a0fedafc8afc58d0f5214c604cddd5ca2d27fa48f234faffa2bf26ffa7fcf + languageName: node + linkType: hard + +"anymatch@npm:^3.0.3, anymatch@npm:~3.1.1": + version: 3.1.1 + resolution: "anymatch@npm:3.1.1" + dependencies: + normalize-path: ^3.0.0 + picomatch: ^2.0.4 + checksum: 3/cf61bbaf7f34d9f94dd966230b7a7f8f1f24e3e2185540741a2561118e108206d85101ee2fc9876cd756475dbe6573d84d91115c3abdbf53a64e26a5f1f06b67 + languageName: node + linkType: hard + +"aproba@npm:^1.0.3, aproba@npm:^1.1.1": + version: 1.2.0 + resolution: "aproba@npm:1.2.0" + checksum: 3/d4bac3e640af1f35eea8d5ee2b96ce2682549e47289f071aa37ae56066e19d239e43dea170c207d0f71586d7634099089523dd5701f26d4ded7b31dd5848a24a + languageName: node + linkType: hard + +"archy@npm:^1.0.0": + version: 1.0.0 + resolution: "archy@npm:1.0.0" + checksum: 3/fed06a0487f79dd89f30a8558f3e8f88011025ded47b10e412a4fc8f842a4ddec6e51af5a117258f5b84bef587cff7d1e056df4f453a7d8752a46e25bf5be7dc + languageName: node + linkType: hard + +"are-we-there-yet@npm:~1.1.2": + version: 1.1.5 + resolution: "are-we-there-yet@npm:1.1.5" + dependencies: + delegates: ^1.0.0 + readable-stream: ^2.0.6 + checksum: 3/2d6fdb0ddde9b8cb120b6851b42c75f6b6db78b540b579a00d144ad38cb9e1bdf1248e5454049fcf5b47ef61d1a6f2ea433a8e38984158afd441bc1e0db7a625 + languageName: node + linkType: hard + +"arg@npm:^4.1.0": + version: 4.1.3 + resolution: "arg@npm:4.1.3" + checksum: 3/81b3b40b1529c4fbf75b12f7c3e6fb2dcce9e78072063babc169de9b4f40777788f3d2b04380f659ef676a756e03ccfbfe78adf4477353bda906295fa69dab89 + languageName: node + linkType: hard + +"argparse@npm:^1.0.7": + version: 1.0.10 + resolution: "argparse@npm:1.0.10" + dependencies: + sprintf-js: ~1.0.2 + checksum: 3/435adaef5f6671c3ef1478a22be6fd54bdb99fdbbce8f5561b9cbbb05068ccce87b7df3b9f3322ff52a6ebb9cab2b427cbedac47a07611690a9beaa5184093e2 + languageName: node + linkType: hard + +"aria-query@npm:^3.0.0": + version: 3.0.0 + resolution: "aria-query@npm:3.0.0" + dependencies: + ast-types-flow: 0.0.7 + commander: ^2.11.0 + checksum: 3/4603ead43ae64ef3920268b42c612adfc977941f72de1c1b1fcee99041388f7d6dd7cd4fb51957bc160f574b6c4748f478d9f366922bac77eb8e43f4002311bc + languageName: node + linkType: hard + +"arity-n@npm:^1.0.4": + version: 1.0.4 + resolution: "arity-n@npm:1.0.4" + checksum: 3/60e48e72da1f481f538cbf84c18a3be8501e3374ef7b9b99e173e4b90819ad20a8b469ef2b8e43a69e4d9c4595a6954605320c74c79aff6c82cbd3079ecb6624 + languageName: node + linkType: hard + +"arr-diff@npm:^4.0.0": + version: 4.0.0 + resolution: "arr-diff@npm:4.0.0" + checksum: 3/cbdff67cf52b9742d7ecfcf8614a1a458638679909fadcec2f91d18807dd5ba1cfa1e47984f52876063c8648146d385926e11bdac976a1db3f219bfde9668160 + languageName: node + linkType: hard + +"arr-flatten@npm:^1.1.0": + version: 1.1.0 + resolution: "arr-flatten@npm:1.1.0" + checksum: 3/564dc9c32cb20a1b5bc6eeea3b7a7271fcc5e9f1f3d7648b9db145b7abf68815562870267010f9f4976d788f3f79d2ccf176e94cee69af7da48943a71041ab57 + languageName: node + linkType: hard + +"arr-union@npm:^3.1.0": + version: 3.1.0 + resolution: "arr-union@npm:3.1.0" + checksum: 3/78f0f75c4778283023b723152bf12be65773ab3628e21493e1a1d3c316d472af9053d9b3dec4d814a130ad4f8ba45ae79b0f33d270a4ae0b0ff41eb743461aa8 + languageName: node + linkType: hard + +"array-equal@npm:^1.0.0": + version: 1.0.0 + resolution: "array-equal@npm:1.0.0" + checksum: 3/ad82ed549385a7cacb7ed3a2be9cef73ccc0ebf371e4a30635bfc5737464f7fd5c70433e25c1bbdeec3d230d41be13e46b778e5a373300655531b4b7eff1f447 + languageName: node + linkType: hard + +"array-find-index@npm:^1.0.1": + version: 1.0.2 + resolution: "array-find-index@npm:1.0.2" + checksum: 3/5320b3bd4680eadee5191b8d8a4f01788f8761e11ae5d8d8f67e836308760d453c38300cdef41315e8adf24979083f73c353f651f1dc029ab3c712c1ef5ebf17 + languageName: node + linkType: hard + +"array-flatten@npm:1.1.1": + version: 1.1.1 + resolution: "array-flatten@npm:1.1.1" + checksum: 3/de7a056451ff7891bb1bcda6ce2a50448ca70f63cd0fa7aa90430d288b6dc2931517b6853ce16c473a7f40fa6eaa874e20b6151616db93375471d1ffadfb1d3d + languageName: node + linkType: hard + +"array-flatten@npm:^2.1.0": + version: 2.1.2 + resolution: "array-flatten@npm:2.1.2" + checksum: 3/46bfb198da424765f26350a8d8b207deade75d493e6d26417bfebb4027857b9fef8f5ae3bacd0b912f9a9fd2c04e2ec140c7183c0408e10950579e9d5c9dea25 + languageName: node + linkType: hard + +"array-ify@npm:^1.0.0": + version: 1.0.0 + resolution: "array-ify@npm:1.0.0" + checksum: 3/1ba3a81a151f8df0eaafa25e47c8493803ebfa6b2f7918038ae52342b5d3d3ebee56fd57886a0c973ad9eb5faa8dee07c7d2716b582f4c741bb89a104b172461 + languageName: node + linkType: hard + +"array-includes@npm:^3.0.3, array-includes@npm:^3.1.1": + version: 3.1.1 + resolution: "array-includes@npm:3.1.1" + dependencies: + define-properties: ^1.1.3 + es-abstract: ^1.17.0 + is-string: ^1.0.5 + checksum: 3/9fa86fdad9b07f733ab9994fe1058228d4835917ea26788cbd88eed0805f8b87baddb03e6f277498f96297532d6aac678be2a65694fb44ea561cba71d619a611 + languageName: node + linkType: hard + +"array-union@npm:^1.0.1": + version: 1.0.2 + resolution: "array-union@npm:1.0.2" + dependencies: + array-uniq: ^1.0.1 + checksum: 3/5be2568acc80d284519ff2bed8385daa37074dccbf440d5a9ce911bcb9cf51486dd677d3f61903ba113196333d033b261c8eb901a491e15bb4e437e5c68f92c7 + languageName: node + linkType: hard + +"array-uniq@npm:^1.0.1": + version: 1.0.3 + resolution: "array-uniq@npm:1.0.3" + checksum: 3/ae11b7fc1e624f7ed45f7a269b521f3f9f73dbff277be9c61fe0240c497bd3fba86367753e0ebdf49bcfd3fee14f4ebab80f573545878525eb48429514a02124 + languageName: node + linkType: hard + +"array-unique@npm:^0.3.2": + version: 0.3.2 + resolution: "array-unique@npm:0.3.2" + checksum: 3/7139dbbcaf48325224593f2f7a400b123b310c53365b4a1d49916928082ad862117a1e6d411c926ec540e9408786bbd1cf90805609040568059156d1d09feb70 + languageName: node + linkType: hard + +"array.prototype.flat@npm:^1.2.1": + version: 1.2.3 + resolution: "array.prototype.flat@npm:1.2.3" + dependencies: + define-properties: ^1.1.3 + es-abstract: ^1.17.0-next.1 + checksum: 3/f88a474d1cb3bfb2cfa44a5d36047bad146324f1beabbc743689d34fa36f29fab277008446ab56601c48721e1d50c5f47e5b3fae2583cc3724d1e6073cbdd901 + languageName: node + linkType: hard + +"arrify@npm:^1.0.1": + version: 1.0.1 + resolution: "arrify@npm:1.0.1" + checksum: 3/f1d3bae819f49f51a09da5f5c5ce282e79ca69bbdb32db1d9f6c62b151ef801b74398d007cfe89686e2c5aeb62576a398b9068e5172b7f4e20157aa3284076d3 + languageName: node + linkType: hard + +"arrify@npm:^2.0.1": + version: 2.0.1 + resolution: "arrify@npm:2.0.1" + checksum: 3/2a19726815590d829e07998aefa2c352bd9061e58bf4391ffffa227129995841a710bef2d8b4c9408a6b0679d96c96bd23764bdbcc29bb21666c976816093972 + languageName: node + linkType: hard + +"asap@npm:~2.0.6": + version: 2.0.6 + resolution: "asap@npm:2.0.6" + checksum: 3/3d314f8c598b625a98347bacdba609d4c889c616ca5d8ea65acaae8050ab8b7aa6630df2cfe9856c20b260b432adf2ee7a65a1021f268ef70408c70f809e3a39 + languageName: node + linkType: hard + +"asn1.js@npm:^4.0.0": + version: 4.10.1 + resolution: "asn1.js@npm:4.10.1" + dependencies: + bn.js: ^4.0.0 + inherits: ^2.0.1 + minimalistic-assert: ^1.0.0 + checksum: 3/9c57bcc4ca0984967361fb05dd6e9a6d578a49da2f65623af69f934a958067a723944bcce258de5266d2b4a4c6ab840fb57f6af3f21a54e1857ecf263231b825 + languageName: node + linkType: hard + +"asn1@npm:~0.2.3": + version: 0.2.4 + resolution: "asn1@npm:0.2.4" + dependencies: + safer-buffer: ~2.1.0 + checksum: 3/5743ace942e2faa0b72f3b14bf1826509c5ca707ea150c10520f52b04f90aa715cee4370ec2e6279ce1ceb7d3c472ca33270124e90b495bea4c9b02f41b9d8ac + languageName: node + linkType: hard + +"assert-plus@npm:1.0.0, assert-plus@npm:^1.0.0": + version: 1.0.0 + resolution: "assert-plus@npm:1.0.0" + checksum: 3/1bda24f67343ccb75a7eee31179c92cf9f79bd6f6bc24101b0ce1495ef979376dd9b0f9b9064812bba564cdade5fbf851ed76b4a44b5e141d49cdaee6ffed6b2 + languageName: node + linkType: hard + +"assert@npm:1.4.1": + version: 1.4.1 + resolution: "assert@npm:1.4.1" + dependencies: + util: 0.10.3 + checksum: 3/0e5dd8f92e8de30e321141b1dd1e245c2120ff0718e07bcdce37bb36c8db7c0fb1d226393b021cfaf71fcf987bf6cf4cd50b2dcfa39fa9aeb48df22a3a602dc6 + languageName: node + linkType: hard + +"assert@npm:^1.1.1": + version: 1.5.0 + resolution: "assert@npm:1.5.0" + dependencies: + object-assign: ^4.1.1 + util: 0.10.3 + checksum: 3/9bd01a7a574d99656d3998b95e904c35fe41c9e18b8193a4b1bb3b1df2772f4fb03bf75897093daca9d883ed888d9be5da2a9a952da6f1da9101f4147a2f00c1 + languageName: node + linkType: hard + +"assign-symbols@npm:^1.0.0": + version: 1.0.0 + resolution: "assign-symbols@npm:1.0.0" + checksum: 3/893e9389a5dde0690102ad8d6146e50d747b6f45d51996d39b04abb7774755a4a9b53883295abab4dd455704b1e10c1fa560d617db5404bae118526916472bec + languageName: node + linkType: hard + +"ast-types-flow@npm:0.0.7, ast-types-flow@npm:^0.0.7": + version: 0.0.7 + resolution: "ast-types-flow@npm:0.0.7" + checksum: 3/4211a734ae7823e8ed55f68bd2cee5027a59ae3cbc8152f36485059859c5ef29560b0091fafdf40419ee42c433fe255c24ce54297e5cd299f8ded1a8eab7729c + languageName: node + linkType: hard + +"astral-regex@npm:^1.0.0": + version: 1.0.0 + resolution: "astral-regex@npm:1.0.0" + checksum: 3/08e37f599604eb3894af4ec5f9845caec7a45d10c1b57b04c4fc21cc669091803f8386efc52957ec3c7ae8c3af60b933018926aab156e5696a7aab393d6e0874 + languageName: node + linkType: hard + +"async-each@npm:^1.0.1": + version: 1.0.3 + resolution: "async-each@npm:1.0.3" + checksum: 3/0cf01982ae42db5ce591aab153e45e77aa7c813c4fb282f1e7cac2259f90949f82542e82a33f73ef308e0126c9a8bc702ee117a87614549fe88840cf5a44aec4 + languageName: node + linkType: hard + +"async-limiter@npm:~1.0.0": + version: 1.0.1 + resolution: "async-limiter@npm:1.0.1" + checksum: 3/d123312ace75c07399ddc58e06cc028dacce35f71cdf59cf9b22f6c31dde221c22285e6185ede823ecb67f3b3065e26205eb9f74fcbba3f12ce7a2c2b09d7763 + languageName: node + linkType: hard + +"async@npm:^2.6.2": + version: 2.6.3 + resolution: "async@npm:2.6.3" + dependencies: + lodash: ^4.17.14 + checksum: 3/5c30ec6f3d64308dd96d56dae16a00a23b9e6278fe8f66492837896d958508698648c59c53457d3fdf05fd04484e16538efeca2be38337cd78df0284e764ab34 + languageName: node + linkType: hard + +"asynckit@npm:^0.4.0": + version: 0.4.0 + resolution: "asynckit@npm:0.4.0" + checksum: 3/a024000b9ddd938e2f27b3cb8188f96a5e1fff58185e98b84862fc4e01de279a547874a800340c2b106bb9de9b0fc61c6c683bc6892abf65e6be29a96addafd3 + languageName: node + linkType: hard + +"atob@npm:^2.1.2": + version: 2.1.2 + resolution: "atob@npm:2.1.2" + bin: + atob: bin/atob.js + checksum: 3/597c0d1a740bb6522c98bea8fe362ae9420b4203af588d2bd470326d9abd4504264956b8355923d7019a21527ef5e6526a7b4455862ec5178ccd81e0ea289d5f + languageName: node + linkType: hard + +"atomic-sleep@npm:^1.0.0": + version: 1.0.0 + resolution: "atomic-sleep@npm:1.0.0" + checksum: 3/2c6fa68cafef5ec1501245da00cde40b8f7ac71428bd727a923ea883b81ad643667a85677056cd663ad3ca584a49dbeb3a1bd4e6c70c1e9e36afd71b6e36ef96 + languageName: node + linkType: hard + +"autoprefixer@npm:^9.6.1": + version: 9.8.0 + resolution: "autoprefixer@npm:9.8.0" + dependencies: + browserslist: ^4.12.0 + caniuse-lite: ^1.0.30001061 + chalk: ^2.4.2 + normalize-range: ^0.1.2 + num2fraction: ^1.2.2 + postcss: ^7.0.30 + postcss-value-parser: ^4.1.0 + bin: + autoprefixer: bin/autoprefixer + checksum: 3/cae7f0c2a89b5e2df50703f4e8680a3030ffe09dc5c2aab0863d8e3901f3d5b002a18c25129f43f7f886c7e4b051605b03d055936478d39b17461b18b1f2d535 + languageName: node + linkType: hard + +"avvio@npm:^6.3.1": + version: 6.4.1 + resolution: "avvio@npm:6.4.1" + dependencies: + archy: ^1.0.0 + debug: ^4.0.0 + fastq: ^1.6.0 + checksum: 3/2b5467dfa3e905ae4bf67643cc601ced8024d4738dd46c162cb4bfff10b983cfd01462fe95fd10614a499f10dc7e786ad2ed125a591dbb7ba9d0c2c4a6b30d26 + languageName: node + linkType: hard + +"aws-sign2@npm:~0.7.0": + version: 0.7.0 + resolution: "aws-sign2@npm:0.7.0" + checksum: 3/7162b9b8fbd4cf451bd889b0ed27fc895f88e6a6cb5c5609de49759ea1a6e31646f86ca8e18d90bea0455c4caa466fc9692c1098a1784d2372a358cb68c1eea6 + languageName: node + linkType: hard + +"aws4@npm:^1.8.0": + version: 1.9.1 + resolution: "aws4@npm:1.9.1" + checksum: 3/d59822631844f9da1caf966cfab90ffafa22cc6c50835f9f5ebff83acdbcffc24eca44fa50d4aa191a6cee81747df38b9880547cc1df8a1380c80dd507b8e6ce + languageName: node + linkType: hard + +"axobject-query@npm:^2.0.2": + version: 2.1.2 + resolution: "axobject-query@npm:2.1.2" + checksum: 3/dd94f50eaab73169750db7245be7ecaffd8cdf19aed25383c8aa8cbcef6880d160b1c225b0a381278abf1161072d89e8e2af5026cea2b94ed54274f26ca66558 + languageName: node + linkType: hard + +"babel-code-frame@npm:^6.22.0": + version: 6.26.0 + resolution: "babel-code-frame@npm:6.26.0" + dependencies: + chalk: ^1.1.3 + esutils: ^2.0.2 + js-tokens: ^3.0.2 + checksum: 3/cc2a799ccc341ad2db8aa90762b680bbca1e15893c3b28a328e974f46443110b8c56bad25554efe26f8955d19cfa2955b5f3068310ab8a818a9d7e875c90e8b4 + languageName: node + linkType: hard + +"babel-eslint@npm:10.1.0, babel-eslint@npm:^10.0.0": + version: 10.1.0 + resolution: "babel-eslint@npm:10.1.0" + dependencies: + "@babel/code-frame": ^7.0.0 + "@babel/parser": ^7.7.0 + "@babel/traverse": ^7.7.0 + "@babel/types": ^7.7.0 + eslint-visitor-keys: ^1.0.0 + resolve: ^1.12.0 + peerDependencies: + eslint: ">= 4.12.1" + checksum: 3/c872bb9476e62557918b1f4ddfe864b1477cc5b0b31aa6049af5ffa94feae133c7e9d3e9b1d09eb516a811e9cf569b9f9eb2bc7b980d47d3960857a51ffe7b41 + languageName: node + linkType: hard + +"babel-extract-comments@npm:^1.0.0": + version: 1.0.0 + resolution: "babel-extract-comments@npm:1.0.0" + dependencies: + babylon: ^6.18.0 + checksum: 3/2a291f1a3afb95052b98346e6fc41d36add460d557dc7f01bacaae92efd1dd98521a632d211801a7045ef563c1eebd8d6d88d1a86548e57ffb7c68b4aaab9d0a + languageName: node + linkType: hard + +"babel-jest@npm:^24.9.0": + version: 24.9.0 + resolution: "babel-jest@npm:24.9.0" + dependencies: + "@jest/transform": ^24.9.0 + "@jest/types": ^24.9.0 + "@types/babel__core": ^7.1.0 + babel-plugin-istanbul: ^5.1.0 + babel-preset-jest: ^24.9.0 + chalk: ^2.4.2 + slash: ^2.0.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 3/b8b74b2af2242958f29f40c83461f7add1d32d2f3195ec31e6a5e309c1096eab557adac6233d6095a7db505f95ddd07d5f61d0de7c66f263cb8f33c9c45d1562 + languageName: node + linkType: hard + +"babel-jest@npm:^26.0.1": + version: 26.0.1 + resolution: "babel-jest@npm:26.0.1" + dependencies: + "@jest/transform": ^26.0.1 + "@jest/types": ^26.0.1 + "@types/babel__core": ^7.1.7 + babel-plugin-istanbul: ^6.0.0 + babel-preset-jest: ^26.0.0 + chalk: ^4.0.0 + graceful-fs: ^4.2.4 + slash: ^3.0.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 3/2c01e4941e09ab17173c3d8f7367c40f8fa86e7a7e186014f3896372383014ede3676c5ba6900543263a3efe11a407b5cf9a5074b6aac41e5bfaea827fd4b001 + languageName: node + linkType: hard + +"babel-loader@npm:8.1.0, babel-loader@npm:^8.1.0": + version: 8.1.0 + resolution: "babel-loader@npm:8.1.0" + dependencies: + find-cache-dir: ^2.1.0 + loader-utils: ^1.4.0 + mkdirp: ^0.5.3 + pify: ^4.0.1 + schema-utils: ^2.6.5 + peerDependencies: + "@babel/core": ^7.0.0 + webpack: ">=2" + checksum: 3/f7b236a5f7b3f2c8a49ec41ed0a2905075ed4bb6d6ba85552b50be7c56b8fdb46e92270576ef29e6598f23919f7a00a515091c2410ced25c08992a4bd799124b + languageName: node + linkType: hard + +"babel-plugin-dynamic-import-node@npm:^2.3.3": + version: 2.3.3 + resolution: "babel-plugin-dynamic-import-node@npm:2.3.3" + dependencies: + object.assign: ^4.1.0 + checksum: 3/6745b8edca96f6c8bc34ab65935b5676358d2e55323e8e823b8de7aa353e3e6398a495ce434c9c36ad5fb1609467a1b1a0028946e1490bf7de8f97df3ae7f3b1 + languageName: node + linkType: hard + +"babel-plugin-istanbul@npm:^5.1.0": + version: 5.2.0 + resolution: "babel-plugin-istanbul@npm:5.2.0" + dependencies: + "@babel/helper-plugin-utils": ^7.0.0 + find-up: ^3.0.0 + istanbul-lib-instrument: ^3.3.0 + test-exclude: ^5.2.3 + checksum: 3/e94429f5c2fbc6b098f8ded77addabe5d229a8c4c8d449b746396c9f05e419ef41e7582aa19f8c1674c6774f9029f686653796e15de494f63ceef40d1f60e083 + languageName: node + linkType: hard + +"babel-plugin-istanbul@npm:^6.0.0": + version: 6.0.0 + resolution: "babel-plugin-istanbul@npm:6.0.0" + dependencies: + "@babel/helper-plugin-utils": ^7.0.0 + "@istanbuljs/load-nyc-config": ^1.0.0 + "@istanbuljs/schema": ^0.1.2 + istanbul-lib-instrument: ^4.0.0 + test-exclude: ^6.0.0 + checksum: 3/0a185405d8209153054900049a69886af9dd107eb49341530e378b0babd31902f96a3eaa44dfc8a9c8ca5bcf43794a630cb70f8148d75e26c79cdfdc2255af7f + languageName: node + linkType: hard + +"babel-plugin-jest-hoist@npm:^24.9.0": + version: 24.9.0 + resolution: "babel-plugin-jest-hoist@npm:24.9.0" + dependencies: + "@types/babel__traverse": ^7.0.6 + checksum: 3/84c1d616d2d1674f8ac45c630328b639f31812436421b445ca9243874d81691f6bc1bb959955df67c1add23904758afc2ae5bcf1838f639cad6ca33903e858c0 + languageName: node + linkType: hard + +"babel-plugin-jest-hoist@npm:^26.0.0": + version: 26.0.0 + resolution: "babel-plugin-jest-hoist@npm:26.0.0" + dependencies: + "@babel/template": ^7.3.3 + "@babel/types": ^7.3.3 + "@types/babel__traverse": ^7.0.6 + checksum: 3/8eadf9a45a0b2400e0d540270eb30cda436dd5e5c6e756740ba0458b060e776a7336dce8cdbce4e107b446484616079b25da9b53bcc1c49cbd296cd04ceca72e + languageName: node + linkType: hard + +"babel-plugin-macros@npm:2.8.0": + version: 2.8.0 + resolution: "babel-plugin-macros@npm:2.8.0" + dependencies: + "@babel/runtime": ^7.7.2 + cosmiconfig: ^6.0.0 + resolve: ^1.12.0 + checksum: 3/fc4e1224df180d88f44f6f31e448cf51a75c8aa7e0fd828e30c4143f69af6d49ce933f36952478a4e372485db35b6219628bcff16d7f5add724230addbc19e7d + languageName: node + linkType: hard + +"babel-plugin-named-asset-import@npm:^0.3.6": + version: 0.3.6 + resolution: "babel-plugin-named-asset-import@npm:0.3.6" + peerDependencies: + "@babel/core": ^7.1.0 + checksum: 3/5bd4847018a2c9eb94c6ee96d91a5b6635715312920b062d852094a54bb1bcc464dccc335bd3138a5cc2599bc1d1cb8c0660d147158505ab47ffd4c2247281f7 + languageName: node + linkType: hard + +"babel-plugin-syntax-object-rest-spread@npm:^6.8.0": + version: 6.13.0 + resolution: "babel-plugin-syntax-object-rest-spread@npm:6.13.0" + checksum: 3/459844d1a89dfe580876daa6c8be3f120931db2705cfc32ffacaa93442ca8036e38ad3f687fc889e9cd6e96f51d83cb4b520c063d8f12223baf6f8a34a07e4cc + languageName: node + linkType: hard + +"babel-plugin-transform-object-rest-spread@npm:^6.26.0": + version: 6.26.0 + resolution: "babel-plugin-transform-object-rest-spread@npm:6.26.0" + dependencies: + babel-plugin-syntax-object-rest-spread: ^6.8.0 + babel-runtime: ^6.26.0 + checksum: 3/1d8ff820576afd78850081dc71e36f77be08484b502a8fe87b959bad4463581bd0731c605b09307cd3ffabeb372c70524c0f8a303dc99c4d15085f84c06f26e3 + languageName: node + linkType: hard + +"babel-plugin-transform-react-remove-prop-types@npm:0.4.24": + version: 0.4.24 + resolution: "babel-plugin-transform-react-remove-prop-types@npm:0.4.24" + checksum: 3/4004ce6c87bd49223f996a4d0b98312083e7bd40d7cfb04711936001b31fd01502b7eea0b94c9116fb384668cdbe114e1866d79c25b72ad0d6cd2f32819c1094 + languageName: node + linkType: hard + +"babel-preset-current-node-syntax@npm:^0.1.2": + version: 0.1.2 + resolution: "babel-preset-current-node-syntax@npm:0.1.2" + dependencies: + "@babel/plugin-syntax-async-generators": ^7.8.4 + "@babel/plugin-syntax-bigint": ^7.8.3 + "@babel/plugin-syntax-class-properties": ^7.8.3 + "@babel/plugin-syntax-json-strings": ^7.8.3 + "@babel/plugin-syntax-logical-assignment-operators": ^7.8.3 + "@babel/plugin-syntax-nullish-coalescing-operator": ^7.8.3 + "@babel/plugin-syntax-numeric-separator": ^7.8.3 + "@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 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 3/f31cbcbf7ac867c6ebeafc26155fa273702c273734baeb561e7c9a9fec4078ee0048b843a821118d8bd4def3bf3091c2b412b0b27f93f13a77b79fc8e36b9c5c + languageName: node + linkType: hard + +"babel-preset-jest@npm:^24.9.0": + version: 24.9.0 + resolution: "babel-preset-jest@npm:24.9.0" + dependencies: + "@babel/plugin-syntax-object-rest-spread": ^7.0.0 + babel-plugin-jest-hoist: ^24.9.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 3/6b85c399b8438685c7d9f4bd67c659bba24d929e2ffe18ffdaa88d8ad3f2ccad06cfdc28dbdd5e9d95ec49ec506e31452bf78f04663f55282e36abf445263845 + languageName: node + linkType: hard + +"babel-preset-jest@npm:^26.0.0": + version: 26.0.0 + resolution: "babel-preset-jest@npm:26.0.0" + dependencies: + babel-plugin-jest-hoist: ^26.0.0 + babel-preset-current-node-syntax: ^0.1.2 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 3/9951414cd39054d72a6fe4166f5904252df4f81756363dfce08c5388069ead90442fc85884446ebe16324a1b65a12712a3179e5cc82b0e204d05bfd70efc96c2 + languageName: node + linkType: hard + +"babel-preset-react-app@npm:^9.1.2": + version: 9.1.2 + resolution: "babel-preset-react-app@npm:9.1.2" + dependencies: + "@babel/core": 7.9.0 + "@babel/plugin-proposal-class-properties": 7.8.3 + "@babel/plugin-proposal-decorators": 7.8.3 + "@babel/plugin-proposal-nullish-coalescing-operator": 7.8.3 + "@babel/plugin-proposal-numeric-separator": 7.8.3 + "@babel/plugin-proposal-optional-chaining": 7.9.0 + "@babel/plugin-transform-flow-strip-types": 7.9.0 + "@babel/plugin-transform-react-display-name": 7.8.3 + "@babel/plugin-transform-runtime": 7.9.0 + "@babel/preset-env": 7.9.0 + "@babel/preset-react": 7.9.1 + "@babel/preset-typescript": 7.9.0 + "@babel/runtime": 7.9.0 + babel-plugin-macros: 2.8.0 + babel-plugin-transform-react-remove-prop-types: 0.4.24 + checksum: 3/a74d8848b88a2470577f1e33ffb7445601fc19edee3084a12c8e11102bfcf458d6092ebbd326e59c5700710a75f2c652bcf6b9681aa607db036d0f9eeeec9bf9 + languageName: node + linkType: hard + +"babel-runtime@npm:^6.26.0": + version: 6.26.0 + resolution: "babel-runtime@npm:6.26.0" + dependencies: + core-js: ^2.4.0 + regenerator-runtime: ^0.11.0 + checksum: 3/5010bf1d81e484d9c6a5b4e4c32564a0dc180c2dc5a65f999729c3cb63b9c6e805d3d10c19a4ccc2112bce084e39e51e52daf5c21df0141ce8e6e37727af2e0b + languageName: node + linkType: hard + +"babylon@npm:^6.18.0": + version: 6.18.0 + resolution: "babylon@npm:6.18.0" + bin: + babylon: ./bin/babylon.js + checksum: 3/af38302e3fd8b01004ab03e7f42e00d3d6b3e85190102a1ad7ffbed87bc025d96413a7c165b2b5f0b78e576b71e5306a67c1ae0368f6d12bef40fd00b0dbc7b5 + languageName: node + linkType: hard + +"backo2@npm:^1.0.2": + version: 1.0.2 + resolution: "backo2@npm:1.0.2" + checksum: 3/72f19a0fd2b573f5504adf1f2e74e7658eec000e7732ebd5f622b6b1d520187277a5e8310787906455d02fcf915f35c5c48e54c997bed1a60b95355db8f2ccab + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.0 + resolution: "balanced-match@npm:1.0.0" + checksum: 3/f515a605fe1b59f476f7477c5e1d53ad55b4f42982fca1d57b6701906f4ad1f1ac90fd6587d92cc1af2edb43eecf979214dd847ee410a6de9db4ebf0dd128d62 + languageName: node + linkType: hard + +"base64-js@npm:^1.0.2": + version: 1.3.1 + resolution: "base64-js@npm:1.3.1" + checksum: 3/8a0cc69d7c7c0ab75c164d3e2eccc3dd65fbaba17bcf440aab54636afd31255287ac3cd16a111e98d741c4a6e0b5631774b0c32818355089e645df3ae96a49bb + languageName: node + linkType: hard + +"base@npm:^0.11.1": + version: 0.11.2 + resolution: "base@npm:0.11.2" + dependencies: + cache-base: ^1.0.1 + class-utils: ^0.3.5 + component-emitter: ^1.2.1 + define-property: ^1.0.0 + isobject: ^3.0.1 + mixin-deep: ^1.2.0 + pascalcase: ^0.1.1 + checksum: 3/84e30392fd028df388b209cfb800e1ab4156b3cc499bd46f96ce6271fd17f10302ba6b87d4a56c6946cc77b6571502d45d73c7948a63a84f9ffd421f81232dd5 + languageName: node + linkType: hard + +"batch@npm:0.6.1": + version: 0.6.1 + resolution: "batch@npm:0.6.1" + checksum: 3/4ec2d961e6af6e944e164eb1b8c5885bc4c85846d110ce2d55156ab2903dd1593f3c4a7b71c2cff81464a2973e1b91cc1bf86239a9ba44435a319eeae3346a91 + languageName: node + linkType: hard + +"bcrypt-pbkdf@npm:^1.0.0": + version: 1.0.2 + resolution: "bcrypt-pbkdf@npm:1.0.2" + dependencies: + tweetnacl: ^0.14.3 + checksum: 3/3f57eb99bbc02352f68ff31e446997f4d21cc9a5e5286449dc1fe0116ec5dac5a4aa538967d45714fa9320312d2be8d16126f2d357da1dd40a3d546b96e097ed + languageName: node + linkType: hard + +"big.js@npm:^5.2.2": + version: 5.2.2 + resolution: "big.js@npm:5.2.2" + checksum: 3/ea33d7d25674df4253ae3667da7f48ade6cc8828cb4f2c3a7753f53975f10cebae57e0d1ecf84f1b920b5467262dc0d4f357e5e497b138472d0e64992a8402a4 + languageName: node + linkType: hard + +"binary-extensions@npm:^1.0.0": + version: 1.13.1 + resolution: "binary-extensions@npm:1.13.1" + checksum: 3/7cdacc6dadaffb6a4d250c39ca51e1fd7ba0fd846348e2813465dfaa7fce1e59a3465c1555578e7e4e7959023b47824cc387b37780e2160f52fface775cc0133 + languageName: node + linkType: hard + +"binary-extensions@npm:^2.0.0": + version: 2.0.0 + resolution: "binary-extensions@npm:2.0.0" + checksum: 3/76cc6a33dc69bc989c938d46b5333aaa28ad9d57bc7aa3b1ffcb5def448702328243298f331e91b62059545320db754c61158cece018db6998876125d2b3b7e5 + languageName: node + linkType: hard + +"bindings@npm:^1.5.0": + version: 1.5.0 + resolution: "bindings@npm:1.5.0" + dependencies: + file-uri-to-path: 1.0.0 + checksum: 3/bd623dec58f126eb0c30f04a20da7080f06cdd5af26bf5a91615e70055fbba66c4cec5c88b156e8181c1d822f2392034a40a9121ef3ebc25638dc2163332b12d + languageName: node + linkType: hard + +"bluebird@npm:^3.5.5": + version: 3.7.2 + resolution: "bluebird@npm:3.7.2" + checksum: 3/4f2288662f3d4eadbb82d4daa4a7d7976a28fa3c7eb4102c9b4033b03e5be4574ba123ac52a7c103cde4cb7b2d2afc1dbe41817ca15a29ff21ecd258d0286047 + languageName: node + linkType: hard + +"bn.js@npm:^4.0.0, bn.js@npm:^4.1.0, bn.js@npm:^4.4.0": + version: 4.11.8 + resolution: "bn.js@npm:4.11.8" + checksum: 3/c1c20812fc35367c13d5d4387b88b6b1f60dd685006d928fe7710d2b4c95ace661b7c4e400f484e189874481a813965ca32f12e9cbb31c3ced465d96fab5bcd8 + languageName: node + linkType: hard + +"bn.js@npm:^5.1.1": + version: 5.1.1 + resolution: "bn.js@npm:5.1.1" + checksum: 3/67915e456a8f2c2549cb5e556ff8d6dc479b227a7a75ea66c1d5a42253bc9abc95ce08f0b1c37ba068d0d9b9bfb9f79f151087c9166d6fe0d1600c7849290fd6 + languageName: node + linkType: hard + +"body-parser@npm:1.19.0, body-parser@npm:^1.19.0": + version: 1.19.0 + resolution: "body-parser@npm:1.19.0" + 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 + checksum: 3/18c2a81df5eabc7e3541bc9ace394b88e6fbd390989b5e764ff34c3f9dbd097e19986c31baa9b855ec5c2cff2b79157449afb0cdfb97bb99c11d6239b2c47a34 + languageName: node + linkType: hard + +"bonjour@npm:^3.5.0": + version: 3.5.0 + resolution: "bonjour@npm:3.5.0" + 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 + checksum: 3/b6c49714a3e0015411878296d9db80894493c973f5bb4516811d75747b21429b1f807e9176d3f188165127feecdda8073abae47892426b25a4a1513f70daaeb8 + languageName: node + linkType: hard + +"boolbase@npm:^1.0.0, boolbase@npm:~1.0.0": + version: 1.0.0 + resolution: "boolbase@npm:1.0.0" + checksum: 3/e827963c416fdb1dbcd57e066a43c40829518f4dcdc9f58ed04519daeebb610adacbb6cf102518bda9f08be593c5b1b49a83e36bf6b7d91b3403f7e35510eeae + languageName: node + linkType: hard + +"boxen@npm:^4.2.0": + version: 4.2.0 + resolution: "boxen@npm:4.2.0" + dependencies: + ansi-align: ^3.0.0 + camelcase: ^5.3.1 + chalk: ^3.0.0 + cli-boxes: ^2.2.0 + string-width: ^4.1.0 + term-size: ^2.1.0 + type-fest: ^0.8.1 + widest-line: ^3.1.0 + checksum: 3/667b291d227a86134aaacd6f2f997828607a8e2ead0da7b2568372728382765634df46e211f73d3b11a43784db7ec53da627a57213adbd42ce10ad39609ee4e3 + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.11 + resolution: "brace-expansion@npm:1.1.11" + dependencies: + balanced-match: ^1.0.0 + concat-map: 0.0.1 + checksum: 3/4c878e25e4858baf801945dfd63eb68feab2e502cf1122f25f3915c0e3bf397af3a93ff6bef0798db41c0d81ef28c08e55daac38058710f749a3b96eee6b8f40 + languageName: node + linkType: hard + +"braces@npm:^2.3.1, braces@npm:^2.3.2": + version: 2.3.2 + resolution: "braces@npm:2.3.2" + dependencies: + arr-flatten: ^1.1.0 + array-unique: ^0.3.2 + extend-shallow: ^2.0.1 + fill-range: ^4.0.0 + isobject: ^3.0.1 + repeat-element: ^1.1.2 + snapdragon: ^0.8.1 + snapdragon-node: ^2.0.1 + split-string: ^3.0.2 + to-regex: ^3.0.1 + checksum: 3/5f2d5ae262a39e516c7266f1316bc1caade4dcc26c5f8454f1d35064abbccd51cfea1c2cfa5a7402026991448a2b0ed0be1adce76ff1db2dfca7d3263f58d24d + languageName: node + linkType: hard + +"braces@npm:^3.0.1, braces@npm:~3.0.2": + version: 3.0.2 + resolution: "braces@npm:3.0.2" + dependencies: + fill-range: ^7.0.1 + checksum: 3/f3493181c3e91a1333d3c9afc9b3263a3f62f4ced0b033c372efc1373b48a7699557f4e04026b232a8556e043ca5360a9d3008c33852350138d4b0ea57558b8d + languageName: node + linkType: hard + +"brorand@npm:^1.0.1": + version: 1.1.0 + resolution: "brorand@npm:1.1.0" + checksum: 3/4536dd73f07f6884d89c09c906345b606abff477e87babef64a85656e8cf12b1c5f40d06313b91dac12bf3e031ac190b5d548f2c3bf75f655344c3fcf90cbc8a + languageName: node + linkType: hard + +"browser-process-hrtime@npm:^1.0.0": + version: 1.0.0 + resolution: "browser-process-hrtime@npm:1.0.0" + checksum: 3/565847e5b0dc8c3762e545abb806ba886ed55de9b2c1479e382cf27e54f0af38ae3a1f81f3a98760403404419f65cbb20aff88d91cbee2b25e284bdebcc60a85 + languageName: node + linkType: hard + +"browser-resolve@npm:^1.11.3": + version: 1.11.3 + resolution: "browser-resolve@npm:1.11.3" + dependencies: + resolve: 1.1.7 + checksum: 3/4f76701a975e6ee2b01a75b8f0ee600fb176fb543cb5acd2e35cb0eb2a51d32c9a8342394fb9b1b0a627a16f415b0d2a14af0cd5663b8e77dbcc6ae72694cb35 + languageName: node + linkType: hard + +"browserify-aes@npm:^1.0.0, browserify-aes@npm:^1.0.4": + version: 1.2.0 + resolution: "browserify-aes@npm:1.2.0" + 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 + checksum: 3/487abe9fcf1d26add1f8f5b8e72ceb4493fb0ccbec170a18d2dd20b90fb2b4007d6c2db0bf993cdaf53567ebf8065ffcb01a08946087305adc82e4ccf2f9c1e8 + languageName: node + linkType: hard + +"browserify-cipher@npm:^1.0.0": + version: 1.0.1 + resolution: "browserify-cipher@npm:1.0.1" + dependencies: + browserify-aes: ^1.0.4 + browserify-des: ^1.0.0 + evp_bytestokey: ^1.0.0 + checksum: 3/4c5ee6d232c160ce0cb7e583a45a36ec1ad3323cbce278d77d243c51fe3f76db7df4406c53361a4f589cc70a54dc95da38519a6d0af5323cf60075f7eef9829d + languageName: node + linkType: hard + +"browserify-des@npm:^1.0.0": + version: 1.0.2 + resolution: "browserify-des@npm:1.0.2" + dependencies: + cipher-base: ^1.0.1 + des.js: ^1.0.0 + inherits: ^2.0.1 + safe-buffer: ^5.1.2 + checksum: 3/d9e6ea8db0d79bdf649d2dc8436f85b02f055b3ccd54add73a671e9649cec24265d0ece5f44a0678ec7d2a5fab511ea5f70badd5f6141be24157866a31889ba5 + languageName: node + linkType: hard + +"browserify-rsa@npm:^4.0.0, browserify-rsa@npm:^4.0.1": + version: 4.0.1 + resolution: "browserify-rsa@npm:4.0.1" + dependencies: + bn.js: ^4.1.0 + randombytes: ^2.0.1 + checksum: 3/65ad8e818f70649b29ad48a6b06c5900a928126925ecbc2f9896bc6ee236dd1feeb745e3f276296724b2f134f438231ace72f529ac8605d78bff605998cf1e72 + languageName: node + linkType: hard + +"browserify-sign@npm:^4.0.0": + version: 4.2.0 + resolution: "browserify-sign@npm:4.2.0" + dependencies: + bn.js: ^5.1.1 + browserify-rsa: ^4.0.1 + create-hash: ^1.2.0 + create-hmac: ^1.1.7 + elliptic: ^6.5.2 + inherits: ^2.0.4 + parse-asn1: ^5.1.5 + readable-stream: ^3.6.0 + safe-buffer: ^5.2.0 + checksum: 3/9fd2d93a3d6a6f2261f9eca77fbec077ae8a9ed7cf129909ad0a9f9c2f1c2052b22bf0e7bc03d7cc668042bf7f82c05e0151cae1563080837cdeb7bd93f3216d + languageName: node + linkType: hard + +"browserify-zlib@npm:^0.2.0": + version: 0.2.0 + resolution: "browserify-zlib@npm:0.2.0" + dependencies: + pako: ~1.0.5 + checksum: 3/877c864e68a3f1dc9355eea71ee84c894c40f906f737bdf1e5d98d3641182099208e757356b5906160f0b2b22fa4976c4534ac1782bbdd39823b605ae2210f9a + languageName: node + linkType: hard + +"browserslist@npm:4.10.0": + version: 4.10.0 + resolution: "browserslist@npm:4.10.0" + dependencies: + caniuse-lite: ^1.0.30001035 + electron-to-chromium: ^1.3.378 + node-releases: ^1.1.52 + pkg-up: ^3.1.0 + bin: + browserslist: cli.js + checksum: 3/2fae62d6fb1d1eb5b27638c90ccc0e8a6996e6013fc7dd9e28d8ad4d72863642065ea8a9dfc9000255d8306d9543239b6d781b3d775c0e984c17d61a9bcb34ca + languageName: node + linkType: hard + +"browserslist@npm:^4.0.0, browserslist@npm:^4.11.1, browserslist@npm:^4.12.0, browserslist@npm:^4.6.2, browserslist@npm:^4.6.4, browserslist@npm:^4.8.5, browserslist@npm:^4.9.1": + version: 4.12.0 + resolution: "browserslist@npm:4.12.0" + dependencies: + caniuse-lite: ^1.0.30001043 + electron-to-chromium: ^1.3.413 + node-releases: ^1.1.53 + pkg-up: ^2.0.0 + bin: + browserslist: cli.js + checksum: 3/564af87b3300321d885c22b6fb010a4d702b1cc77591d684d8f79411d5df65b9290a043348bcb5e4ca96b423c703aeb83fa25979ee3b140b28c48fc965dea0ed + languageName: node + linkType: hard + +"bs-logger@npm:0.x": + version: 0.2.6 + resolution: "bs-logger@npm:0.2.6" + dependencies: + fast-json-stable-stringify: 2.x + checksum: 3/f5f2f1315d6ceac655c3945d149086a5f5a90b3c908780757e12e938aad0125a7aa563cae2f7153ccf43443adb1b88a44960a61063903c3973e1dfdda6fc2d8c + languageName: node + linkType: hard + +"bser@npm:2.1.1": + version: 2.1.1 + resolution: "bser@npm:2.1.1" + dependencies: + node-int64: ^0.4.0 + checksum: 3/302af195672988c21be9590b0b4fcacf9bd5bc116a32cbb5f613b21800fce8ee6aa1c57e76bbfa15a60269fe48885d062383e353fbaa821dbf06e92f72cc8b7d + languageName: node + linkType: hard + +"buffer-equal-constant-time@npm:1.0.1": + version: 1.0.1 + resolution: "buffer-equal-constant-time@npm:1.0.1" + checksum: 3/a38a6fead170594b97894658d0e62e3686ccaecea480051c0bf69ba29274eca87203452590c3b6a1b589a7da1baef89420da00a8f08c010675c1dbc25f58edf9 + languageName: node + linkType: hard + +"buffer-from@npm:1.x, buffer-from@npm:^1.0.0": + version: 1.1.1 + resolution: "buffer-from@npm:1.1.1" + checksum: 3/540ceb79c4f5bfcadaabbc18324fa84c50dc52905084be7c03596a339cf5a88513bee6831ce9b36ddd046fab09257a7c80686e129d0559a0cfd141da196ad956 + languageName: node + linkType: hard + +"buffer-indexof@npm:^1.0.0": + version: 1.1.1 + resolution: "buffer-indexof@npm:1.1.1" + checksum: 3/f7114185678d4ebd66b68a8d76feda5a66ea5df57101e7af1c3faef6ff98ca6ac15891da200d7eea99153573e110d05bc9fdf493278e3bd2b0f117e84ff08f64 + languageName: node + linkType: hard + +"buffer-writer@npm:2.0.0": + version: 2.0.0 + resolution: "buffer-writer@npm:2.0.0" + checksum: 3/aeeac620f1010c1169e735661606872f058f2fba3a2efc0291a7f551a6e5900fd7b983f38e206fc7b991e3d1e3735f7da984c19c9af72c306582e2979819329d + languageName: node + linkType: hard + +"buffer-xor@npm:^1.0.3": + version: 1.0.3 + resolution: "buffer-xor@npm:1.0.3" + checksum: 3/58ce260802968a06448f58ba20f83146ef21c7fb55839602ad951aa3b839035f181341375f2692aca46c86c15f6fcf668985ceef2063a2d33eafb5c6a0a4f627 + languageName: node + linkType: hard + +"buffer@npm:^4.3.0": + version: 4.9.2 + resolution: "buffer@npm:4.9.2" + dependencies: + base64-js: ^1.0.2 + ieee754: ^1.1.4 + isarray: ^1.0.0 + checksum: 3/e29ecda22aa854008e26a8df294be1e5339a3bec8cbf537a794fecf63a024da68165743bc9afb1524909c74d8b03392e93a9c8fa5c2b064b1b2a52d4680c204e + languageName: node + linkType: hard + +"builtin-status-codes@npm:^3.0.0": + version: 3.0.0 + resolution: "builtin-status-codes@npm:3.0.0" + checksum: 3/8e2872a69ae05c6a24adc3b6dd4c340f077ea842fc8115ab5b4896f3ab68cf38f56438d430273efd152def59313fd8ca3a35bdad4c3e88b8bb88ba4a371b3866 + languageName: node + linkType: hard + +"bytes@npm:3.0.0": + version: 3.0.0 + resolution: "bytes@npm:3.0.0" + checksum: 3/98d6c0ab36f7a5527226fd928e65495ffd3d53cb22da627eba3300eed36bd283ae3dfdf3a0aa017df13a09115b5b8847e3d51f66c2f0304a262264c86a317c05 + languageName: node + linkType: hard + +"bytes@npm:3.1.0, bytes@npm:^3.0.0": + version: 3.1.0 + resolution: "bytes@npm:3.1.0" + checksum: 3/c3f64645ef37922c8194fef88a052de2a28101882dfdf8a225493888c4941a26ea15164957e7492e5c5e3a8e98ee6276f4834efacb68e2d8ad4d91f903250b6c + languageName: node + linkType: hard + +"cacache@npm:^12.0.2": + version: 12.0.4 + resolution: "cacache@npm:12.0.4" + dependencies: + bluebird: ^3.5.5 + chownr: ^1.1.1 + figgy-pudding: ^3.5.1 + glob: ^7.1.4 + graceful-fs: ^4.1.15 + infer-owner: ^1.0.3 + lru-cache: ^5.1.1 + mississippi: ^3.0.0 + mkdirp: ^0.5.1 + move-concurrently: ^1.0.1 + promise-inflight: ^1.0.1 + rimraf: ^2.6.3 + ssri: ^6.0.1 + unique-filename: ^1.1.1 + y18n: ^4.0.0 + checksum: 3/fd70ecfddb7fab7d9fb8544e10a738341e50709d897d97439c41d8b85b0df8bc50a2dcd8faab1af78499003b8944390a870451b3dd73860450d579c85128aede + languageName: node + linkType: hard + +"cacache@npm:^13.0.1": + version: 13.0.1 + resolution: "cacache@npm:13.0.1" + dependencies: + chownr: ^1.1.2 + figgy-pudding: ^3.5.1 + fs-minipass: ^2.0.0 + glob: ^7.1.4 + graceful-fs: ^4.2.2 + infer-owner: ^1.0.4 + lru-cache: ^5.1.1 + minipass: ^3.0.0 + minipass-collect: ^1.0.2 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.2 + mkdirp: ^0.5.1 + move-concurrently: ^1.0.1 + p-map: ^3.0.0 + promise-inflight: ^1.0.1 + rimraf: ^2.7.1 + ssri: ^7.0.0 + unique-filename: ^1.1.1 + checksum: 3/f1aa76a2f801c7615934a94be9ad729f6747e19fe804868a52f52b042b3a03fe4f9504b0e84949ef8c812f241653fc859848b6d1bf97122d973398e8239a85a4 + languageName: node + linkType: hard + +"cache-base@npm:^1.0.1": + version: 1.0.1 + resolution: "cache-base@npm:1.0.1" + dependencies: + collection-visit: ^1.0.0 + component-emitter: ^1.2.1 + get-value: ^2.0.6 + has-value: ^1.0.0 + isobject: ^3.0.1 + set-value: ^2.0.0 + to-object-path: ^0.3.0 + union-value: ^1.0.0 + unset-value: ^1.0.0 + checksum: 3/3f362ba824453d4043df82655314503e591a09a1bcb909ffdfcc74deb0fe4e7c58e40de31293153b07aeb5545610a1d81bf49b67cff5d3dd084d389e5a4d4849 + languageName: node + linkType: hard + +"cache-content-type@npm:^1.0.0": + version: 1.0.1 + resolution: "cache-content-type@npm:1.0.1" + dependencies: + mime-types: ^2.1.18 + ylru: ^1.2.0 + checksum: 3/3afcece8c75fd15a74d96e8bd14d22d5387878c161672c8c7fbc7a89788698d32dc55334395feba309fd601580a410fe47860763ed78686b8b98889ea82ff670 + languageName: node + linkType: hard + +"cacheable-request@npm:^6.0.0": + version: 6.1.0 + resolution: "cacheable-request@npm:6.1.0" + dependencies: + clone-response: ^1.0.2 + get-stream: ^5.1.0 + http-cache-semantics: ^4.0.0 + keyv: ^3.0.0 + lowercase-keys: ^2.0.0 + normalize-url: ^4.1.0 + responselike: ^1.0.2 + checksum: 3/8b43f661371084ee67309c6bac93313360f55d5dfb1b622d32750c95a5f9c470a83d5798a042a67badcc0674ce0ca586a72f41e450275e78d87da1b705b91efb + languageName: node + linkType: hard + +"call-me-maybe@npm:^1.0.1": + version: 1.0.1 + resolution: "call-me-maybe@npm:1.0.1" + checksum: 3/07e1afb493ed945c6b053940881d46ece2ab04e1862e7cd8c483e8651e9831a70b31098e6be321a897b7e702d34b6417301280efda98c5e663a608baaf95d2f4 + languageName: node + linkType: hard + +"caller-callsite@npm:^2.0.0": + version: 2.0.0 + resolution: "caller-callsite@npm:2.0.0" + dependencies: + callsites: ^2.0.0 + checksum: 3/4f62ec12d0241f372d65156b98ca5d0abb5470a4ae497e11b58d945158ab9411a21e7a42873e62c9765ba7faf658dd524f96833f6d2f776011374bb80c85761d + languageName: node + linkType: hard + +"caller-path@npm:^2.0.0": + version: 2.0.0 + resolution: "caller-path@npm:2.0.0" + dependencies: + caller-callsite: ^2.0.0 + checksum: 3/c4b19e43d4d2afc62c2b283d74844811a4517a162f9490f62c74421ddcfbd3e3334890fd9c474db98b20d62598a0ae659798c402623866b6f6068683a81ec5e7 + languageName: node + linkType: hard + +"callsites@npm:^2.0.0": + version: 2.0.0 + resolution: "callsites@npm:2.0.0" + checksum: 3/0ccd42292bdc6cd4a7dbfc0d91c232cbc9dc6d0db61659fd63deba826596c7302745b9f75d5c9db6da166e41207436045bd391fefb03e754b4f928b6e8b404ae + languageName: node + linkType: hard + +"callsites@npm:^3.0.0": + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: 3/f726bf10d752901174cae348e69c2e58206404d5eebcea485b3fedbcf7fcffdb397e10919fdf6ee2c8adb4be52a64eea2365d52583611939bfecd109260451c9 + languageName: node + linkType: hard + +"camel-case@npm:^4.1.1": + version: 4.1.1 + resolution: "camel-case@npm:4.1.1" + dependencies: + pascal-case: ^3.1.1 + tslib: ^1.10.0 + checksum: 3/c202f62a74c020e51ab6d7d02c0367a6b8cd5d1803e69371421970186d6ca32a20437eb45257baa00a7bb976a202e8fbdb75d509145f5b022f7f80936997c6b8 + languageName: node + linkType: hard + +"camelcase-keys@npm:^2.0.0": + version: 2.1.0 + resolution: "camelcase-keys@npm:2.1.0" + dependencies: + camelcase: ^2.0.0 + map-obj: ^1.0.0 + checksum: 3/74eff079c8e6335aee88e3e950a138a293cd97055520a404d51eb5caad36af2bca92efcf4f78a5f319d41fcb146d46630fef380daf897a7ce38711ed66c52849 + languageName: node + linkType: hard + +"camelcase-keys@npm:^4.0.0": + version: 4.2.0 + resolution: "camelcase-keys@npm:4.2.0" + dependencies: + camelcase: ^4.1.0 + map-obj: ^2.0.0 + quick-lru: ^1.0.0 + checksum: 3/9a90a1847dc386d5fce948027064c53aeebdea5b57fd27d794e2b56c7c21337e2feb8768a9795fe7d2a038248ead1e0455a75df4a1714d41b807ef87eb23da59 + languageName: node + linkType: hard + +"camelcase-keys@npm:^6.2.2": + version: 6.2.2 + resolution: "camelcase-keys@npm:6.2.2" + dependencies: + camelcase: ^5.3.1 + map-obj: ^4.0.0 + quick-lru: ^4.0.1 + checksum: 3/d4bd5fa5249127be0f5b1aa961da3a9de7d0a578d9524c5013f21c0ed345637eaa1e42bab28a75bbfc8511911ffb30fec4191a9efcec52741c1a3402dc38dd53 + languageName: node + linkType: hard + +"camelcase@npm:5.0.0": + version: 5.0.0 + resolution: "camelcase@npm:5.0.0" + checksum: 3/73567fa11f981cf6b6f282bf87197172771dccef7a8b1574115058e3f5266f8e0523541b629ba14ee05c269e743f516238862d32812afd6759dbb5fa5080da8e + languageName: node + linkType: hard + +"camelcase@npm:5.3.1, camelcase@npm:^5.0.0, camelcase@npm:^5.3.1": + version: 5.3.1 + resolution: "camelcase@npm:5.3.1" + checksum: 3/6a3350c4ea8ab6e5109e0b443cfaf43dc40abfad7b2d79dcafbbafbe9b6b4059b4365b17ad822e24cf08e6627c1ffb65a9651d05cef9fcc6f64b6a0c2f327feb + languageName: node + linkType: hard + +"camelcase@npm:^2.0.0": + version: 2.1.1 + resolution: "camelcase@npm:2.1.1" + checksum: 3/311182686b3b87ac07851d6bc8c1327d55ef5fe95403bce97e21696dfe666dec70cf2b008593c00ae69a2b84e0074e4c130157a41db1d237f6fe5686cbf870b3 + languageName: node + linkType: hard + +"camelcase@npm:^4.1.0": + version: 4.1.0 + resolution: "camelcase@npm:4.1.0" + checksum: 3/6ca41b5114ef3683013fb51cf9a11c60dcfeef90ceb0075c2d77b7455819e2acdcc7fb5c033314f862212acb23056f1774879dfc580938a9a27ecc345856d1a3 + languageName: node + linkType: hard + +"camelcase@npm:^6.0.0": + version: 6.0.0 + resolution: "camelcase@npm:6.0.0" + checksum: 3/d92305180bc2041141cc0c889ee54d14f90b16365dc7c01eabe6d54e913eb8011313f98dde3025ae11f0003b601ba320f56ee56db476c64060cf2305bf7f6f2a + languageName: node + linkType: hard + +"caniuse-api@npm:^3.0.0": + version: 3.0.0 + resolution: "caniuse-api@npm:3.0.0" + dependencies: + browserslist: ^4.0.0 + caniuse-lite: ^1.0.0 + lodash.memoize: ^4.1.2 + lodash.uniq: ^4.5.0 + checksum: 3/6822fb3d421b438f9274b15f9a20f54937402730c978285ceb07b569de5876882b0bbc94274519f7308baaae8dc84227d846fc7dacc4f4b54fac7d2515aca582 + languageName: node + linkType: hard + +"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30000981, caniuse-lite@npm:^1.0.30001035, caniuse-lite@npm:^1.0.30001043, caniuse-lite@npm:^1.0.30001061": + version: 1.0.30001062 + resolution: "caniuse-lite@npm:1.0.30001062" + checksum: 3/53711c8c75be1d09c166b80f355a6ec4e15af1ddaaa24808aa89cae89d7f0dc87292392e31fdcc103d37eab59e02184bb764d1e01fa1d6ac3b3ba8a405739651 + languageName: node + linkType: hard + +"capture-exit@npm:^2.0.0": + version: 2.0.0 + resolution: "capture-exit@npm:2.0.0" + dependencies: + rsvp: ^4.8.4 + checksum: 3/9dd81108a087a90430e5abbad45a195123647718cf19faa58b76db519a1d79975ab13685e55de16dbdee1da3f8e4c522e7b6dc7aa7614c65dc58ad27588f7887 + languageName: node + linkType: hard + +"case-sensitive-paths-webpack-plugin@npm:2.3.0": + version: 2.3.0 + resolution: "case-sensitive-paths-webpack-plugin@npm:2.3.0" + checksum: 3/45d85caef4dfc3cacb1461912dee18cfcae74f35cdbeaf564484ed3c82266a5d9305883b86d9537bd57d07ba2a64fb716c2ff98a88a4bf97619ab7b130cbb68e + languageName: node + linkType: hard + +"caseless@npm:~0.12.0": + version: 0.12.0 + resolution: "caseless@npm:0.12.0" + checksum: 3/147f48bff9bebf029d7050e2335da3f8d295f26d157edf08d8c3282c804dae04a462c4cd6efa8179755686aa3aeaca5c28f3e7f3559698bc0484c65e46c36c5b + languageName: node + linkType: hard + +"chalk@npm:*, chalk@npm:^4.0.0": + version: 4.0.0 + resolution: "chalk@npm:4.0.0" + dependencies: + ansi-styles: ^4.1.0 + supports-color: ^7.1.0 + checksum: 3/12b01a228b5ca2f03a82684c62d54c06e2ba2f7b81dd08fac56c5b9288958dd24f9cae866e140df5c29cb736059cb4be0165157ebb0b15039cc1ea511a2dab60 + languageName: node + linkType: hard + +"chalk@npm:2.4.2, chalk@npm:^2.0.0, chalk@npm:^2.0.1, chalk@npm:^2.1.0, chalk@npm:^2.4.1, chalk@npm:^2.4.2": + version: 2.4.2 + resolution: "chalk@npm:2.4.2" + dependencies: + ansi-styles: ^3.2.1 + escape-string-regexp: ^1.0.5 + supports-color: ^5.3.0 + checksum: 3/22c7b7b5bc761c882bb6516454a1a671923f1c53ff972860065aa0b28a195f230163c1d46ee88bcc7a03e5539177d896457d8bc727de7f244c6e87032743038e + languageName: node + linkType: hard + +"chalk@npm:^1.1.3": + version: 1.1.3 + resolution: "chalk@npm:1.1.3" + dependencies: + ansi-styles: ^2.2.1 + escape-string-regexp: ^1.0.2 + has-ansi: ^2.0.0 + strip-ansi: ^3.0.0 + supports-color: ^2.0.0 + checksum: 3/bc2df54f6da63d0918254aa2d79dd87f75442e35c751b07f5ca37e5886dd0963472e37ee8c5fa6da27710fdfa0e10779c72be4a6c860c67e96769ba63ee2901e + languageName: node + linkType: hard + +"chalk@npm:^3.0.0": + version: 3.0.0 + resolution: "chalk@npm:3.0.0" + dependencies: + ansi-styles: ^4.1.0 + supports-color: ^7.1.0 + checksum: 3/4018b0c812880da595d0d7b8159939527b72f58d3370e2fdc1a24d9abd460bab851695d7eca014082f110d5702d1221b05493fec430ccce375de907d50cc48c1 + languageName: node + linkType: hard + +"char-regex@npm:^1.0.2": + version: 1.0.2 + resolution: "char-regex@npm:1.0.2" + checksum: 3/7db46ed45d9925985a9d212ed6fd5846debb7b969fe40548a3b806e65064480e895e303f8635d57b53f2f3725986d0a9cb10c227a31221d1b039e13a2211faaf + languageName: node + linkType: hard + +"chardet@npm:^0.7.0": + version: 0.7.0 + resolution: "chardet@npm:0.7.0" + checksum: 3/b71a4ee4648489291af86418b96247824a8c1ee4f4f95d6268967fb40e9fbf70500e72fb737d5186a23cf98c8a02b91d68cb2f426d7428e92883af9d31a037ec + languageName: node + linkType: hard + +"chokidar@npm:^2.1.8": + version: 2.1.8 + resolution: "chokidar@npm:2.1.8" + dependencies: + anymatch: ^2.0.0 + async-each: ^1.0.1 + braces: ^2.3.2 + fsevents: ^1.2.7 + glob-parent: ^3.1.0 + inherits: ^2.0.3 + is-binary-path: ^1.0.0 + is-glob: ^4.0.0 + normalize-path: ^3.0.0 + path-is-absolute: ^1.0.0 + readdirp: ^2.2.1 + upath: ^1.1.1 + dependenciesMeta: + fsevents: + optional: true + checksum: 3/0758dcc7c6c7ace5924cf3c68088210932d391ab41026376b0adb8e07013ac87232e029f13468dfc9ca4dd59adae62a2b7eaedebb6c4e4f0ba92cbf3ac9e3721 + languageName: node + linkType: hard + +"chokidar@npm:^3.2.2, chokidar@npm:^3.3.0, chokidar@npm:^3.4.0": + version: 3.4.0 + resolution: "chokidar@npm:3.4.0" + dependencies: + anymatch: ~3.1.1 + braces: ~3.0.2 + fsevents: ~2.1.2 + glob-parent: ~5.1.0 + is-binary-path: ~2.1.0 + is-glob: ~4.0.1 + normalize-path: ~3.0.0 + readdirp: ~3.4.0 + dependenciesMeta: + fsevents: + optional: true + checksum: 3/e190168a5966b88f3b4749eed413a7e4482b8611e366f72b89d6435e1a1c58484384d91d722c9cdea64cdde0e14f190058ba36da624dce920804d3e82651431a + languageName: node + linkType: hard + +"chownr@npm:^1.1.1, chownr@npm:^1.1.2": + version: 1.1.4 + resolution: "chownr@npm:1.1.4" + checksum: 3/4a7f1a0b2637450fd15ddb085b10649487ddd1d59a8d9335b1aa5b1e9ad55840a591ab7d7f9b568001cb6777d017334477ab2e32e048788b13a069d011cd5781 + languageName: node + linkType: hard + +"chrome-trace-event@npm:^1.0.2": + version: 1.0.2 + resolution: "chrome-trace-event@npm:1.0.2" + dependencies: + tslib: ^1.9.0 + checksum: 3/926fe23bc92e35c7fb666711c1dc1f342f289a728eb37d23bc4371df7587fe58152569eb57d657e2377f2e56093513939cab5a5a8f3589743938cc0b61527c02 + languageName: node + linkType: hard + +"ci-info@npm:^2.0.0": + version: 2.0.0 + resolution: "ci-info@npm:2.0.0" + checksum: 3/553fe83c085fce5e19e20f85b993f24a463e6f805803837a8868607bb68b1300567868694a5dff1beca6c54926a4c0be1cc9ef0c35f810653d590bf64183f6a0 + languageName: node + linkType: hard + +"cipher-base@npm:^1.0.0, cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3": + version: 1.0.4 + resolution: "cipher-base@npm:1.0.4" + dependencies: + inherits: ^2.0.1 + safe-buffer: ^5.0.1 + checksum: 3/ec80001ec91dbb7c5c08facc00ffc9c75fed7abd6d720c7a9c62c260aa2e5cb2655c183e011b50b8b711f755b1753c7fdd2ca44c091ee78d81c377ca74ed83c9 + languageName: node + linkType: hard + +"class-utils@npm:^0.3.5": + version: 0.3.6 + resolution: "class-utils@npm:0.3.6" + dependencies: + arr-union: ^3.1.0 + define-property: ^0.2.5 + isobject: ^3.0.0 + static-extend: ^0.1.1 + checksum: 3/6411679ad4d2bde81b62ad721d4771d108d5d8ef32805d10ebfa6f1d6bdcfd5cb6dfea5232b85221f079e42691c36cf2db05a5e76b87ba8f6deb37a2c23a4a41 + languageName: node + linkType: hard + +"clean-css@npm:^4.2.3": + version: 4.2.3 + resolution: "clean-css@npm:4.2.3" + dependencies: + source-map: ~0.6.0 + checksum: 3/a60f7800828ea7a6b8315c3c855d700c59cf9e45e88a88e73c7fff12ee316a4afcbca1041b14453c8020f57de72ebf3d0ed6250f306faea83f5e05ee90a4c67a + languageName: node + linkType: hard + +"clean-stack@npm:^2.0.0": + version: 2.2.0 + resolution: "clean-stack@npm:2.2.0" + checksum: 3/e291ce2b8c8c59e6449ac9a7a726090264bea6696e5343b21385e16d279c808ca09d73a1abea8fd23a9b7699e6ef5ce582df203511f71c8c27666bf3b2e300c5 + languageName: node + linkType: hard + +"cli-boxes@npm:^2.2.0": + version: 2.2.0 + resolution: "cli-boxes@npm:2.2.0" + checksum: 3/db0db07e6984456140f3880180582b13c71abf31b8e74842f298d80a21a2655bdb0025645f92b3fbc384daa6b6b3b1b4ea67ce9219984a8aa6ae06fca2d6296a + languageName: node + linkType: hard + +"cli-cursor@npm:^3.1.0": + version: 3.1.0 + resolution: "cli-cursor@npm:3.1.0" + dependencies: + restore-cursor: ^3.1.0 + checksum: 3/15dbfc222f27da8cbc61680e4948b189e811224271f6ee5be9db0dcbabe23ae3b2c5a5663be6f17ee51f6203ab44abddd4f4cffb20d69458fc845fa86976f96a + languageName: node + linkType: hard + +"cli-width@npm:^2.0.0": + version: 2.2.1 + resolution: "cli-width@npm:2.2.1" + checksum: 3/f7c830bddca78d8b2706c213d6ffa4e751988b7f70ec3e871c97a87e12a9e17e9f9652f13a5bfcea0e2e8dbae1da4b0939d59cf2bf8c36979541c624043d6315 + languageName: node + linkType: hard + +"cliui@npm:^4.0.0": + version: 4.1.0 + resolution: "cliui@npm:4.1.0" + dependencies: + string-width: ^2.1.1 + strip-ansi: ^4.0.0 + wrap-ansi: ^2.0.0 + checksum: 3/401b0719e79fbe23c008cd9bcd1f0e80792d8b52f563ee0886410c7509ea69584239162234eac6ab38b36c9567764bec536779241ec4c15ca8f9e5fd7cdb7e75 + languageName: node + linkType: hard + +"cliui@npm:^5.0.0": + version: 5.0.0 + resolution: "cliui@npm:5.0.0" + dependencies: + string-width: ^3.1.0 + strip-ansi: ^5.2.0 + wrap-ansi: ^5.1.0 + checksum: 3/25e61dc985279bd7ec16715df53288346e5c36ff43956f7de31bf55b2432ce1259e75148b28c3ed41265caf1baee1d204363c429ae5fee54e6f78bed5a5d82b3 + languageName: node + linkType: hard + +"cliui@npm:^6.0.0": + version: 6.0.0 + resolution: "cliui@npm:6.0.0" + dependencies: + string-width: ^4.2.0 + strip-ansi: ^6.0.0 + wrap-ansi: ^6.2.0 + checksum: 3/e59d0642946dd300b1b002e69f43b32d55e682c84f6f2073705ffe77477b400aeabd4f4795467db0771a21d35ee070071f6a31925e4f83b52a7fe1f5c8e6e860 + languageName: node + linkType: hard + +"clone-deep@npm:^0.2.4": + version: 0.2.4 + resolution: "clone-deep@npm:0.2.4" + dependencies: + for-own: ^0.1.3 + is-plain-object: ^2.0.1 + kind-of: ^3.0.2 + lazy-cache: ^1.0.3 + shallow-clone: ^0.1.2 + checksum: 3/d23f5d7df4bf96488dadeb169a8b3892aebdabaa7f11da1d3e71519ca0fda260e64831966d92b8687d4417d17de1f25b5fbb540d225dc4c2ff8ffb169b0e943c + languageName: node + linkType: hard + +"clone-deep@npm:^4.0.1": + version: 4.0.1 + resolution: "clone-deep@npm:4.0.1" + dependencies: + is-plain-object: ^2.0.4 + kind-of: ^6.0.2 + shallow-clone: ^3.0.0 + checksum: 3/b0146d66cabc7e609d23d10155dcc88e2f74b03539b3b65f8a05f889500e2a78b6c6265a744445d009d512a1afa16836f62aa5737d462027142984c2d41130c8 + languageName: node + linkType: hard + +"clone-response@npm:^1.0.2": + version: 1.0.2 + resolution: "clone-response@npm:1.0.2" + dependencies: + mimic-response: ^1.0.0 + checksum: 3/71832f9219f2682b0915bdbc0dd187ba8e63d16b0af5342b44f97b34afe9400a1f528a253dd2f70a8dd8b23bfa4c4e106928fcc520fa5899d769af95e4cce53c + languageName: node + linkType: hard + +"co@npm:^4.6.0": + version: 4.6.0 + resolution: "co@npm:4.6.0" + checksum: 3/3f22dbbe0f413ff72831d087d853a81d1137093e12e8ec90b4da2bde5c67bc6bff11b6adeb38ca9fa8704b8cd40dba294948bda3c271bccb74669972b840cc1a + languageName: node + linkType: hard + +"coa@npm:^2.0.2": + version: 2.0.2 + resolution: "coa@npm:2.0.2" + dependencies: + "@types/q": ^1.5.1 + chalk: ^2.4.1 + q: ^1.1.2 + checksum: 3/8724977fd035255e648ac9b3de3b476fe73390a8c92ae8b633b80fd4c37d82416a6a5591f2cdf0c8724a19e8d14c6871bc52bb52dac37187034102abb89866ef + languageName: node + linkType: hard + +"code-point-at@npm:^1.0.0": + version: 1.1.0 + resolution: "code-point-at@npm:1.1.0" + checksum: 3/7d9837296e0f1c00239c88542f5a3e0bad11e45d3d0e8d9d097901fe54722dd5d2c006969077a287be8648a202c43f74e096f17552cbd897568308fba7b87ac0 + languageName: node + linkType: hard + +"codemirror-graphql@npm:^0.11.6": + version: 0.11.6 + resolution: "codemirror-graphql@npm:0.11.6" + dependencies: + graphql-language-service-interface: ^2.3.3 + graphql-language-service-parser: ^1.5.2 + peerDependencies: + codemirror: ^5.26.0 + graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 + checksum: 3/d4ea8a7dd2060ff9ae3d10dfe5054f1e13cbbd299a9bda9ebf102860d713002ff10f32e9f23e8e9d78d56ff3374774ce9a271a5cf8b169480f7b55998a2b43d1 + languageName: node + linkType: hard + +"codemirror@npm:^5.47.0": + version: 5.53.2 + resolution: "codemirror@npm:5.53.2" + checksum: 3/4336d8e7056040a65a289f89619dee7878cdfe993fb9684a6f27bedbf44c1fc0320d22ccd1367469a6ed68006493bb183a6ecbe7ca049289bbb1bff0afafab5c + languageName: node + linkType: hard + +"collect-v8-coverage@npm:^1.0.0": + version: 1.0.1 + resolution: "collect-v8-coverage@npm:1.0.1" + checksum: 3/2fc4c79300d6e22169cb0f85e00565079c3939679b7021179db73419f773454166654c7b82372b080c780a9643de4002ec5bb909be55e7018aba3e8cb4f8b01f + languageName: node + linkType: hard + +"collection-visit@npm:^1.0.0": + version: 1.0.0 + resolution: "collection-visit@npm:1.0.0" + dependencies: + map-visit: ^1.0.0 + object-visit: ^1.0.0 + checksum: 3/c73cb1316c29f4b175198dba417f759e6b50ca3f312e42f4f451c2a38cc8e3e292e1fec60d9ccbada35fbc22805a1d897d3bc37fd88fbfe8ab509e4ede88c386 + languageName: node + linkType: hard + +"color-convert@npm:^1.9.0, color-convert@npm:^1.9.1": + version: 1.9.3 + resolution: "color-convert@npm:1.9.3" + dependencies: + color-name: 1.1.3 + checksum: 3/5f244daa3d1fe1f216d48878c550465067d15268688308554e613b7640a068f96588096d51f0b98b68f15d6ff6bb8ad24e172582ac8c0ad43fa4d3da60fd1b79 + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: ~1.1.4 + checksum: 3/3d5d8a011a43012ca11b6d739049ecf2055d95582fd16ec44bf1e685eb0baa5cc652002be8a1dc92b429c8d87418287d0528266a7595cb1ad8a7f4f1d3049df2 + languageName: node + linkType: hard + +"color-name@npm:1.1.3": + version: 1.1.3 + resolution: "color-name@npm:1.1.3" + checksum: 3/d8b91bb90aefc05b6ff568cf8889566dcc6269824df6f3c9b8ca842b18d7f4d089c07dc166808d33f22092d4a79167aa56a96a5ff0d21efab548bf44614db43b + languageName: node + linkType: hard + +"color-name@npm:^1.0.0, color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: 3/3e1c9a4dee12eada307436f61614dd11fe300469db2b83f80c8b7a7cd8a1015f0f18dd13403f018927b249003777ff60baba4a03c65f12e6bddc0dfd9642021f + languageName: node + linkType: hard + +"color-string@npm:^1.5.2": + version: 1.5.3 + resolution: "color-string@npm:1.5.3" + dependencies: + color-name: ^1.0.0 + simple-swizzle: ^0.2.2 + checksum: 3/b860fba4277839e14e684a384c0e7c3d4eb7554486e586e1604d5f1f56cbf10389f8912fdf4637547857dc8fbc7cea0f50b4aad6f3f979fc537dc8eb1c9200b7 + languageName: node + linkType: hard + +"color@npm:^3.0.0": + version: 3.1.2 + resolution: "color@npm:3.1.2" + dependencies: + color-convert: ^1.9.1 + color-string: ^1.5.2 + checksum: 3/3fd5d29d43fd10a85a6ba8926e1917ce06ecab7c6be282d1f7e8f13d1482cc1075509edc5811301a1f541180530c4054d37b978729054fc9d46cee283e0e253b + languageName: node + linkType: hard + +"combined-stream@npm:^1.0.6, combined-stream@npm:^1.0.8, combined-stream@npm:~1.0.6": + version: 1.0.8 + resolution: "combined-stream@npm:1.0.8" + dependencies: + delayed-stream: ~1.0.0 + checksum: 3/5791ce7944530f0db74a97e77ea28b6fdbf89afcf038e41d6b4195019c4c803cd19ed2905a54959e5b3830d50bd5d6f93c681c6d3aaea8614ad43b48e62e9d65 + languageName: node + linkType: hard + +"commander@npm:*, commander@npm:^5.1.0": + version: 5.1.0 + resolution: "commander@npm:5.1.0" + checksum: 3/d16141ea7f580945156fb8a06de2834c4647c7d9d3732ebd4534ab8e0b7c64747db301e18f2b840f28ea8fef51f7a8d6178e674b45a21931f0b65ff1c7f476b3 + languageName: node + linkType: hard + +"commander@npm:^2.11.0, commander@npm:^2.20.0, commander@npm:~2.20.3": + version: 2.20.3 + resolution: "commander@npm:2.20.3" + checksum: 3/b73428e97de7624323f81ba13f8ed9271de487017432d18b4da3f07cfc528ad754bbd199004bd5d14e0ccd67d1fdfe0ec8dbbd4c438b401df3c4cc387bfd1daa + languageName: node + linkType: hard + +"commander@npm:^4.0.1, commander@npm:^4.1.1": + version: 4.1.1 + resolution: "commander@npm:4.1.1" + checksum: 3/448585071bf8fb4c0bf9dd52abaee43dea086f801334caec2c8e8c9f456f8abc224c1614ccbbdbf7da5ac2524d230f13cf1fc86c233cf8a041ebecea7df106e9 + languageName: node + linkType: hard + +"common-tags@npm:^1.8.0": + version: 1.8.0 + resolution: "common-tags@npm:1.8.0" + checksum: 3/f37a868d868929cf345fe49c4122efde693f9b06bf5764df36c3bdf5d3c271a24bb3fb6fbfaeec1f29768e60ad648cc11a4092c91bac05a8bde90ddbf5aae1a8 + languageName: node + linkType: hard + +"commondir@npm:^1.0.1": + version: 1.0.1 + resolution: "commondir@npm:1.0.1" + checksum: 3/98f18ad14f0ea38e0866db365bc8496f2a74250cf47ec96b94913e1b0574c99b4ff837a9f05dbc68d82505fd06b52dfba4f6bbe6fbda43094296cfaf33b475a0 + languageName: node + linkType: hard + +"compare-func@npm:^1.3.1": + version: 1.3.4 + resolution: "compare-func@npm:1.3.4" + dependencies: + array-ify: ^1.0.0 + dot-prop: ^3.0.0 + checksum: 3/e433d2c27f6c010e9441d5826dd73949f60377b049ba074c7ce56d6368f58cce7c0c15893160d64aef5ffa6bb8ec493f09d451908132afc792d7b25beed07cd6 + languageName: node + linkType: hard + +"component-emitter@npm:^1.2.1, component-emitter@npm:^1.3.0": + version: 1.3.0 + resolution: "component-emitter@npm:1.3.0" + checksum: 3/fc4edbf1014f0aed88dcec33ca02d2938734e428423f640d8a3f94975615b8e8c506c19e29b93949637c5a281353e75fa79e299e0d57732f42a9fe346cb2cad6 + languageName: node + linkType: hard + +"compose-function@npm:3.0.3": + version: 3.0.3 + resolution: "compose-function@npm:3.0.3" + dependencies: + arity-n: ^1.0.4 + checksum: 3/069b4e1a82db5f00a7d9612565b5f0891744b09c0486bc61e1bcbd419e1202af710e44ec1b2ba2fb322af4861f141432165f34962f32d387c1ff37e4357a66e1 + languageName: node + linkType: hard + +"compressible@npm:^2.0.0, compressible@npm:~2.0.16": + version: 2.0.18 + resolution: "compressible@npm:2.0.18" + dependencies: + mime-db: ">= 1.43.0 < 2" + checksum: 3/8ac178b6ef4f72adc51e495f23f7212a4764395dde24e476046cca1db988859eef96453e11563bcf40d1bf74469cdd7db29539fd4ac553577d9812d3f112fada + languageName: node + linkType: hard + +"compression@npm:^1.7.4": + version: 1.7.4 + resolution: "compression@npm:1.7.4" + 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 + checksum: 3/8f5356777088492755e40a506acb35af7de9e99b3efcaba9d60dbdf4b61cb2f817a1100015da06f6ca8dea8f4cd015b91c27f02b562e2f66750329b9104dfeb1 + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 3/554e28d9ee5aa6e061795473ee092cb3d3a2cbdb76c35416e0bb6e03f136d7d07676da387b2ed0ec4106cedbb6534080d9abc48ecc4a92b76406cf2d0c3c0c4b + languageName: node + linkType: hard + +"concat-stream@npm:^1.5.0": + version: 1.6.2 + resolution: "concat-stream@npm:1.6.2" + dependencies: + buffer-from: ^1.0.0 + inherits: ^2.0.3 + readable-stream: ^2.2.2 + typedarray: ^0.0.6 + checksum: 3/7a97b7a7d0938e36800bdb6f5caf938bac8c523a6ec15df1f2ac41d3785541be30a6671c9f4c0d1ac9609e6ab29dcab8f54d1c84035e3e3b7b24f9336da68ab0 + languageName: node + linkType: hard + +"concurrently@npm:^5.2.0": + version: 5.2.0 + resolution: "concurrently@npm:5.2.0" + dependencies: + chalk: ^2.4.2 + date-fns: ^2.0.1 + lodash: ^4.17.15 + read-pkg: ^4.0.1 + rxjs: ^6.5.2 + spawn-command: ^0.0.2-1 + supports-color: ^6.1.0 + tree-kill: ^1.2.2 + yargs: ^13.3.0 + bin: + concurrently: bin/concurrently.js + checksum: 3/3fd4d40a286fee797db0cb04845a13bf6c05b1fffed357ecc61a57e4acb8a0b5b085ae2828aefa52a87d0292eb61e2bdc24ef15a77bc44db4b1db59d1b90ba30 + languageName: node + linkType: hard + +"configstore@npm:^5.0.1": + version: 5.0.1 + resolution: "configstore@npm:5.0.1" + dependencies: + dot-prop: ^5.2.0 + graceful-fs: ^4.1.2 + make-dir: ^3.0.0 + unique-string: ^2.0.0 + write-file-atomic: ^3.0.0 + xdg-basedir: ^4.0.0 + checksum: 3/81dd877bf784af29e7bbeb14e183fef21df07d9eceb3e94601a0689accb168b55f4661c629d32f079f88ea1bff3396434beb0d022414b601e72cf89adf4167e1 + languageName: node + linkType: hard + +"confusing-browser-globals@npm:^1.0.9": + version: 1.0.9 + resolution: "confusing-browser-globals@npm:1.0.9" + checksum: 3/319e6d15384745d3ff4a5ca0357b687e0d36a1ab29a03084e192ea12802532de0fa7319169b09e971aba6a291f8a5ca333105e0fb239ed3f6c891f13eea2bea6 + languageName: node + linkType: hard + +"connect-history-api-fallback@npm:^1.6.0": + version: 1.6.0 + resolution: "connect-history-api-fallback@npm:1.6.0" + checksum: 3/298f60415d5f5480b76f98d8bf83737cae9f05921e3d3479452cae34ed3498fab35a1c4c8f19ca5b327bbbe759098f5f6e5fc097d829f607d0d642b075c93e21 + languageName: node + linkType: hard + +"connect@npm:^3.7.0": + version: 3.7.0 + resolution: "connect@npm:3.7.0" + dependencies: + debug: 2.6.9 + finalhandler: 1.1.2 + parseurl: ~1.3.3 + utils-merge: 1.0.1 + checksum: 3/25b827ceb48e6355f6395b44b1ad09ac46002b89e3789952ca0372fd3ef04b81ad40fdc5896ecc21577a0583304731d86c050331575fbde398b2a6fd27c4a643 + languageName: node + linkType: hard + +"console-browserify@npm:^1.1.0": + version: 1.2.0 + resolution: "console-browserify@npm:1.2.0" + checksum: 3/ddc0e717a48ffa11d6b7ad08a81a706151ff7c08db313c14ae28f1dce88360b2f2d88ccd7b760243a47b67d821f1294273511af5de61f4f201855bb55e8e1d58 + languageName: node + linkType: hard + +"console-control-strings@npm:^1.0.0, console-control-strings@npm:~1.1.0": + version: 1.1.0 + resolution: "console-control-strings@npm:1.1.0" + checksum: 3/58a404d951bf270494fb91e136cf064652c1208ccedac23e4da24e6a3a3933998f302cadc45cbf6582a007a4aa44dab944e84056b24e3b1964e9a28aeedf76c9 + languageName: node + linkType: hard + +"constants-browserify@npm:^1.0.0": + version: 1.0.0 + resolution: "constants-browserify@npm:1.0.0" + checksum: 3/108cd8ebfaf3c7fa77c443ca89ec63e41411e341d8b066b1c68d992598f1b75891fbd5370d67a1929a7813be71605884c40c107c1e760d12ebcedf49d31b0c44 + languageName: node + linkType: hard + +"contains-path@npm:^0.1.0": + version: 0.1.0 + resolution: "contains-path@npm:0.1.0" + checksum: 3/59920a59a0c7d1244235d76b8cfd2b2e7a8dcc463fa578ef9d4d5a5a73eeb14d75dada6b21188e0b35f2474ae9efd10c3698372e674db9c6a904b281998b97d6 + languageName: node + linkType: hard + +"content-disposition@npm:0.5.3, content-disposition@npm:~0.5.2": + version: 0.5.3 + resolution: "content-disposition@npm:0.5.3" + dependencies: + safe-buffer: 5.1.2 + checksum: 3/8f1f235c0423be68023df7f5a3948601d859ce44ee94e1d0fa2a97383bd469e789320b6ddf6f31b3620605c75cf771522df11386f51aff401e5d51b6ccfde3e2 + languageName: node + linkType: hard + +"content-type@npm:^1.0.4, content-type@npm:~1.0.4": + version: 1.0.4 + resolution: "content-type@npm:1.0.4" + checksum: 3/ff6e19cbf281c23d5608723a6dc60ac97e2280bd4d21602511283112321e6c1555895e395555e367672b54a0f1585276284b7c3c8be313aca73902ac2f2609fd + languageName: node + linkType: hard + +"conventional-changelog-angular@npm:^5.0.10": + version: 5.0.10 + resolution: "conventional-changelog-angular@npm:5.0.10" + dependencies: + compare-func: ^1.3.1 + q: ^1.5.1 + checksum: 3/67c3621e3f29f5f127946494decc56ca75f9f56f3bbf180a1955c6b937f672895aa181735030c3fd477fa1b7184333c485d4a4324c3a2878cdc81bdec8a3c96b + languageName: node + linkType: hard + +"conventional-changelog-atom@npm:^2.0.7": + version: 2.0.7 + resolution: "conventional-changelog-atom@npm:2.0.7" + dependencies: + q: ^1.5.1 + checksum: 3/6a7df60b8a6e814d57d394b752a9972ebb3fd7494c7a2a8ff8b282b8dc1d40c0df14b2115c9524560a6e1d27a5eb8d0ff2b52fa3a0817abf72479be1a06040dd + languageName: node + linkType: hard + +"conventional-changelog-cli@npm:^2.0.34": + version: 2.0.34 + resolution: "conventional-changelog-cli@npm:2.0.34" + dependencies: + add-stream: ^1.0.0 + conventional-changelog: ^3.1.21 + lodash: ^4.17.15 + meow: ^7.0.0 + tempfile: ^3.0.0 + bin: + conventional-changelog: cli.js + checksum: 3/4ca4bf2d7f814a250580f4e59209c253fdfffe130ef83a7c2a6481b5505a66fa91ce95cbe7a1680b6ca4aad41f6471b4fe430aafec48a7201e5a56ae89e3eaab + languageName: node + linkType: hard + +"conventional-changelog-codemirror@npm:^2.0.7": + version: 2.0.7 + resolution: "conventional-changelog-codemirror@npm:2.0.7" + dependencies: + q: ^1.5.1 + checksum: 3/14450d537ffd9f3095715d6aea997ac9ff3f3ac38e776ab40ce42f55bd00280ce06051276dc007c1b51cb933d52df5c96e9e08db9369967ae1aeef8b06e625ef + languageName: node + linkType: hard + +"conventional-changelog-conventionalcommits@npm:^4.3.0": + version: 4.3.0 + resolution: "conventional-changelog-conventionalcommits@npm:4.3.0" + dependencies: + compare-func: ^1.3.1 + lodash: ^4.17.15 + q: ^1.5.1 + checksum: 3/c4cbdf170de104aa77dc607c616cc80491ce959b9f3faa0f0f64361f59dcceb380b34bb82ef0c17189e46a417c65e907fefd9e1cb279ff6b19a7549aa4d67ef0 + languageName: node + linkType: hard + +"conventional-changelog-core@npm:^4.1.7": + version: 4.1.7 + resolution: "conventional-changelog-core@npm:4.1.7" + dependencies: + add-stream: ^1.0.0 + conventional-changelog-writer: ^4.0.16 + conventional-commits-parser: ^3.1.0 + dateformat: ^3.0.0 + get-pkg-repo: ^1.0.0 + git-raw-commits: 2.0.0 + git-remote-origin-url: ^2.0.0 + git-semver-tags: ^4.0.0 + lodash: ^4.17.15 + normalize-package-data: ^2.3.5 + q: ^1.5.1 + read-pkg: ^3.0.0 + read-pkg-up: ^3.0.0 + shelljs: ^0.8.3 + through2: ^3.0.0 + checksum: 3/3d1afdabfec51d139db117fc3a70b143f6dcc41183b7c3df3e36b56e0e1a8406ad0bf44fa24de8880232152fc0874a55a3a6fbb3c8d68b7e61adcda312db056b + languageName: node + linkType: hard + +"conventional-changelog-ember@npm:^2.0.8": + version: 2.0.8 + resolution: "conventional-changelog-ember@npm:2.0.8" + dependencies: + q: ^1.5.1 + checksum: 3/f9196de4d1138e5b50fad537afffec3e1c25dd408535bb6e6fdd325743cac9ced76e09f950f107668ce40dad8ea9cb114ab1d3660227841cfe552609ab98229c + languageName: node + linkType: hard + +"conventional-changelog-eslint@npm:^3.0.8": + version: 3.0.8 + resolution: "conventional-changelog-eslint@npm:3.0.8" + dependencies: + q: ^1.5.1 + checksum: 3/dcc9c3259009272344b7c7a233cb672bc569067b2ecd3af12ca66e8689735a83c8c90ccc7dfdd0597196de6bb55ef7468e83d3afd287b230006b68ac658fba74 + languageName: node + linkType: hard + +"conventional-changelog-express@npm:^2.0.5": + version: 2.0.5 + resolution: "conventional-changelog-express@npm:2.0.5" + dependencies: + q: ^1.5.1 + checksum: 3/c4b59e16be4c0cbc14211db40251592df7ed3bcf6c4904ed87c8ab258541e2d5d386910ade2d31b0610401348ab6d874f011ed6977048bffac4deba8b9d9f794 + languageName: node + linkType: hard + +"conventional-changelog-jquery@npm:^3.0.10": + version: 3.0.10 + resolution: "conventional-changelog-jquery@npm:3.0.10" + dependencies: + q: ^1.5.1 + checksum: 3/94c8a71463a992ef771d8e027f02f13af5ae318ff6d8e1a3e91140449206845086a2ce6eb8869d0126d8435bca88a60209466d829b4f352f06854848fca907ad + languageName: node + linkType: hard + +"conventional-changelog-jshint@npm:^2.0.7": + version: 2.0.7 + resolution: "conventional-changelog-jshint@npm:2.0.7" + dependencies: + compare-func: ^1.3.1 + q: ^1.5.1 + checksum: 3/538168ad6dca3a61b2c9ffaefe90827dbb9ca7b67ae617870823b5a6ee8124213bade82ec7b916cb96aa929f41fc0d51ac81a5cfdef35ca34df3dc80c62ff5eb + languageName: node + linkType: hard + +"conventional-changelog-preset-loader@npm:^2.3.4": + version: 2.3.4 + resolution: "conventional-changelog-preset-loader@npm:2.3.4" + checksum: 3/7cd7ad04296bc0f784398e235b492685a01770de98d17d9334c4d5a1d7a0310033308c24b0452e5c9a9e1cd33ac2fd8c86f4ededee4833189269a7f0ddfcc3fa + languageName: node + linkType: hard + +"conventional-changelog-writer@npm:^4.0.16": + version: 4.0.16 + resolution: "conventional-changelog-writer@npm:4.0.16" + dependencies: + compare-func: ^1.3.1 + conventional-commits-filter: ^2.0.6 + dateformat: ^3.0.0 + handlebars: ^4.7.6 + json-stringify-safe: ^5.0.1 + lodash: ^4.17.15 + meow: ^7.0.0 + semver: ^6.0.0 + split: ^1.0.0 + through2: ^3.0.0 + bin: + conventional-changelog-writer: cli.js + checksum: 3/246e2dd6a6d62013c7b9979906c2df8e18758e52d61718c980458fa8ef520fbb7e76b6ca8dc3ca683da32e3e168c1c2394c2fd15a13b3efe8accd6843d526fe8 + languageName: node + linkType: hard + +"conventional-changelog@npm:^3.1.21": + version: 3.1.21 + resolution: "conventional-changelog@npm:3.1.21" + dependencies: + conventional-changelog-angular: ^5.0.10 + conventional-changelog-atom: ^2.0.7 + conventional-changelog-codemirror: ^2.0.7 + conventional-changelog-conventionalcommits: ^4.3.0 + conventional-changelog-core: ^4.1.7 + conventional-changelog-ember: ^2.0.8 + conventional-changelog-eslint: ^3.0.8 + conventional-changelog-express: ^2.0.5 + conventional-changelog-jquery: ^3.0.10 + conventional-changelog-jshint: ^2.0.7 + conventional-changelog-preset-loader: ^2.3.4 + checksum: 3/1d1b016bb81521f4987ebb12dee3d5c8c61095b43e4f6896382ccfeaaf9409b50df691c40e3656ce25cb6b55bd4a2d9c9c077f158c92181f568c79c36c1c70ac + languageName: node + linkType: hard + +"conventional-commits-filter@npm:^2.0.6": + version: 2.0.6 + resolution: "conventional-commits-filter@npm:2.0.6" + dependencies: + lodash.ismatch: ^4.4.0 + modify-values: ^1.0.0 + checksum: 3/a8c80a3698b3b44e092c8fef589bee5391d38cb10b9e5689d029078e7096081d664685d6dc890efc0a717ffd4a3a6742e35a7933012834d6a6b68277896ea54d + languageName: node + linkType: hard + +"conventional-commits-parser@npm:^3.1.0": + version: 3.1.0 + resolution: "conventional-commits-parser@npm:3.1.0" + dependencies: + JSONStream: ^1.0.4 + is-text-path: ^1.0.1 + lodash: ^4.17.15 + meow: ^7.0.0 + split2: ^2.0.0 + through2: ^3.0.0 + trim-off-newlines: ^1.0.0 + bin: + conventional-commits-parser: cli.js + checksum: 3/4ffefd705767cb683cca2e733efe55148ae74623221e57bd5e600e68ed4a31beec83695249fcb583fe58da35280aac7cc08789225bd968027f6eb08d75312cb7 + languageName: node + linkType: hard + +"convert-source-map@npm:1.7.0, convert-source-map@npm:^1.1.0, convert-source-map@npm:^1.4.0, convert-source-map@npm:^1.6.0, convert-source-map@npm:^1.7.0": + version: 1.7.0 + resolution: "convert-source-map@npm:1.7.0" + dependencies: + safe-buffer: ~5.1.1 + checksum: 3/b10fbf041e3221c65e1ab67f05c8fcbad9c5fd078c62f4a6e05cb5fddc4b5a0e8a17c6a361c6a44f011b1a0c090b36aa88543be9dfa65da8c9e7f39c5de2d4df + languageName: node + linkType: hard + +"convert-source-map@npm:^0.3.3": + version: 0.3.5 + resolution: "convert-source-map@npm:0.3.5" + checksum: 3/d31937554444da25c0a23f75158cc420f13d9b6ae54fd1217522184670c9bcac6e458e53c03fe3fd191b7f1b13c6d135f9771916fcd1d5667d65ce5e4f00ab6d + languageName: node + linkType: hard + +"cookie-signature@npm:1.0.6": + version: 1.0.6 + resolution: "cookie-signature@npm:1.0.6" + checksum: 3/305054e102eebd0a483c63aefdc3abf54a9471bed5eb12be56c0dcf35a94110b8a13139b27751ab07a5ef09e9f4190ee67f71e9d3acf1748e6e2f1aed338c987 + languageName: node + linkType: hard + +"cookie@npm:0.4.0, cookie@npm:^0.4.0": + version: 0.4.0 + resolution: "cookie@npm:0.4.0" + checksum: 3/7aaef4b642c533600fdd001d963a507dfcd814267503374e51d9743475d024feeff8b0b4ddd0777a25791a2efbdfd8bc4a0fe0696104efa195e8f8584807d410 + languageName: node + linkType: hard + +"cookiejar@npm:^2.1.2": + version: 2.1.2 + resolution: "cookiejar@npm:2.1.2" + checksum: 3/4c733c15c190798bc1fb724f3044959cabc1565dee7dfc00f99219c7a4189b21cc243ccab52e0708994923f684189a4afa6b01b6b157f8c99273f1001602ac6f + languageName: node + linkType: hard + +"cookies@npm:~0.8.0": + version: 0.8.0 + resolution: "cookies@npm:0.8.0" + dependencies: + depd: ~2.0.0 + keygrip: ~1.1.0 + checksum: 3/c401e0f791e5413af5a5e88db85610fad49a58c91b393a917294562b17cc30626d3730591ba73ce27e93a977f9483272c188e35fcc4ade6d2576c4f74628a9c4 + languageName: node + linkType: hard + +"copy-concurrently@npm:^1.0.0": + version: 1.0.5 + resolution: "copy-concurrently@npm:1.0.5" + dependencies: + aproba: ^1.1.1 + fs-write-stream-atomic: ^1.0.8 + iferr: ^0.1.5 + mkdirp: ^0.5.1 + rimraf: ^2.5.4 + run-queue: ^1.0.0 + checksum: 3/62ad9de2dcca3da3fdedf8ffd8c72dacafddc64e0299c61a53c55e3fc8c789d55bc6ca73b399576c52d25ba42c64f4b82f8ba8089ebf932f6f84e0aa8bd7c71e + languageName: node + linkType: hard + +"copy-descriptor@npm:^0.1.0": + version: 0.1.1 + resolution: "copy-descriptor@npm:0.1.1" + checksum: 3/c052cf571ff6b69b604607a3d41f03cb742af9472026013e690ab33e1bef5e64930c53a5f881dc79c7e4f5ccc3cea0ebb9f420315d3690989329088976b68ee9 + languageName: node + linkType: hard + +"copy-to-clipboard@npm:^3.2.0": + version: 3.3.1 + resolution: "copy-to-clipboard@npm:3.3.1" + dependencies: + toggle-selection: ^1.0.6 + checksum: 3/9707f2e405ca4019de1f4194565568acdf3d1dd8a59f7b8f63d0e7257648132b579461e7aeb6140169cb943cf4b6a243b377cf0437d8c10c6f5e5bb3935dea78 + languageName: node + linkType: hard + +"core-js-compat@npm:^3.6.2": + version: 3.6.5 + resolution: "core-js-compat@npm:3.6.5" + dependencies: + browserslist: ^4.8.5 + semver: 7.0.0 + checksum: 3/b263b5313f5b10807cbe2037bcff1d0abc3611d8600ca29a742695eb21411f76a8c762db00a04d684a3f80645252aeb74b24542c157ec24697edd3ae7afcce87 + languageName: node + linkType: hard + +"core-js-pure@npm:^3.0.0": + version: 3.6.5 + resolution: "core-js-pure@npm:3.6.5" + checksum: 3/91fc8e0b699d5bcb11f265ad4544d08c98096b86ad6c9b4c00109616db0aa992ceb58ea82d0dbae2a16658a7aaf2922aa6f9fc1107dc3b0055270799d0414a3f + languageName: node + linkType: hard + +"core-js@npm:^2.4.0": + version: 2.6.11 + resolution: "core-js@npm:2.6.11" + checksum: 3/39ad00b46deaecf344470ef940949b58c4b15e71608a98e8ac7429cd16e485b829f9720d44a44b5f4dee966ff04a18baf5283feb8aaba2cb59ce2c25fa72b88c + languageName: node + linkType: hard + +"core-js@npm:^3.5.0": + version: 3.6.5 + resolution: "core-js@npm:3.6.5" + checksum: 3/9283348dd5be2f1d07feaf90e2336b3f00a2316e3d3c6d4f789c9a67bdd4d7b08ce1c88dca4e591340130056c6b412b0b74fae039f8e259206f1073f542e4e85 + languageName: node + linkType: hard + +"core-util-is@npm:1.0.2, core-util-is@npm:~1.0.0": + version: 1.0.2 + resolution: "core-util-is@npm:1.0.2" + checksum: 3/089015ee3c462dfceba70faa1df83b42a7bb35db26dae6af283247b06fe3216c65fccd9f00eebcaf98300dc31e981d56aae9f90b624f8f6ff1153e235ff88b65 + languageName: node + linkType: hard + +"core_d@npm:^1.0.1": + version: 1.0.1 + resolution: "core_d@npm:1.0.1" + dependencies: + supports-color: ^5.5.0 + checksum: 3/7d9bc52e4af86748b385ece1fef976de62c2977e858b5bb897a24e6dc54c78bcc5b00b7f92828cf97a51230b91e7114d3c801058f8ba2d8074659d327b100ba0 + languageName: node + linkType: hard + +"cosmiconfig@npm:^5.0.0, cosmiconfig@npm:^5.2.1": + version: 5.2.1 + resolution: "cosmiconfig@npm:5.2.1" + dependencies: + import-fresh: ^2.0.0 + is-directory: ^0.3.1 + js-yaml: ^3.13.1 + parse-json: ^4.0.0 + checksum: 3/02d51fb28871d1e6114333f1109e47714e280d60ee8f05cf03bd5a0b9d0954f3d1a99b01edb3ea8147e743b2c9caa3738f745157ebddd5b93efeac324d3d5239 + languageName: node + linkType: hard + +"cosmiconfig@npm:^6.0.0": + version: 6.0.0 + resolution: "cosmiconfig@npm:6.0.0" + dependencies: + "@types/parse-json": ^4.0.0 + import-fresh: ^3.1.0 + parse-json: ^5.0.0 + path-type: ^4.0.0 + yaml: ^1.7.2 + checksum: 3/bbd6bbaefe15938107da21f2b5f2d5ede75c7ed4bca5af904d91987c59b050ac95f5e786d9021e16959e0119b36174b190f6040a1daf6fddc75361ab123c0d45 + languageName: node + linkType: hard + +"create-ecdh@npm:^4.0.0": + version: 4.0.3 + resolution: "create-ecdh@npm:4.0.3" + dependencies: + bn.js: ^4.1.0 + elliptic: ^6.0.0 + checksum: 3/ea4cc33d33e91c5ea145c63a970a04c059429e714001283640f38830d741bad7f7e9800fae6a18a49c94c9053f9fdafa0ede4745023e0041a243ea6b78cfd6b1 + languageName: node + linkType: hard + +"create-hash@npm:^1.1.0, create-hash@npm:^1.1.2, create-hash@npm:^1.2.0": + version: 1.2.0 + resolution: "create-hash@npm:1.2.0" + dependencies: + cipher-base: ^1.0.1 + inherits: ^2.0.1 + md5.js: ^1.3.4 + ripemd160: ^2.0.1 + sha.js: ^2.4.0 + checksum: 3/5565182efc3603e4d34c3ce13fd0765a058b27f91e49ba8e720e30ba8bfc53e9cd835e5343136000b6f210a979fe1041a4f3fe728e866e64f34db04b068fd725 + languageName: node + linkType: hard + +"create-hmac@npm:^1.1.0, create-hmac@npm:^1.1.4, create-hmac@npm:^1.1.7": + version: 1.1.7 + resolution: "create-hmac@npm:1.1.7" + 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 + checksum: 3/98957676a93081678a2a915ae14898d65aac9b5651ffa55b8888484dd9d79c06d3cb3f85b137cd833ab536d87adee17394bb2b0efc591ea0e34110266d5bcd75 + languageName: node + linkType: hard + +"cross-fetch@npm:2.2.2": + version: 2.2.2 + resolution: "cross-fetch@npm:2.2.2" + dependencies: + node-fetch: 2.1.2 + whatwg-fetch: 2.0.4 + checksum: 3/d72c64854ca997c66d474e6aa9a6f8bb44f02ffb187836f923630b9714e29551131d019450f620853222dc95c0278de747fc61eb27cba596e01a378dbd369177 + languageName: node + linkType: hard + +"cross-spawn@npm:7.0.1, cross-spawn@npm:^7.0.0": + version: 7.0.1 + resolution: "cross-spawn@npm:7.0.1" + dependencies: + path-key: ^3.1.0 + shebang-command: ^2.0.0 + which: ^2.0.1 + checksum: 3/c37c136bda1342fe8dbd40a99d9c434ef510fb9741da4d386d0f2fe3d707166fc92d8d8e815f636e7fea93cc32ecd3636bc1e5adcabdee0b4587b6d52b27f002 + languageName: node + linkType: hard + +"cross-spawn@npm:^6.0.0, cross-spawn@npm:^6.0.5": + version: 6.0.5 + resolution: "cross-spawn@npm:6.0.5" + dependencies: + nice-try: ^1.0.4 + path-key: ^2.0.1 + semver: ^5.5.0 + shebang-command: ^1.2.0 + which: ^1.2.9 + checksum: 3/05fbbf957d9b81dc05fd799a238f6aacc2e7cc9783fff3f0e00439a97d6f269c90482571cbf1eeea17200fd119161a2d1f88aa49a8110b176e04f2a70825284f + languageName: node + linkType: hard + +"crypto-browserify@npm:^3.11.0": + version: 3.12.0 + resolution: "crypto-browserify@npm:3.12.0" + 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 + checksum: 3/8b558367b3759652b7c8dfd8fa0dc55a69362ae3efe039ac44d4b010bc63143708f4748ef8efc079945bf61dbc53c829cda968cd2abc1f34fcf43f669a414f73 + languageName: node + linkType: hard + +"crypto-random-string@npm:^2.0.0": + version: 2.0.0 + resolution: "crypto-random-string@npm:2.0.0" + checksum: 3/7bc19f6cafe3194a434198c9414941cc36d874e1f85b6fcba573b5623f77a440c0a10a94c0d0da26d7d23d85b6fe07354e589ef1a0fe2d7b32e0bab9e70ca4c1 + languageName: node + linkType: hard + +"css-blank-pseudo@npm:^0.1.4": + version: 0.1.4 + resolution: "css-blank-pseudo@npm:0.1.4" + dependencies: + postcss: ^7.0.5 + bin: + css-blank-pseudo: cli.js + checksum: 3/605927ba911aa22820de56db3ce5760a7d8936834447c5e30e20f63f141a8787920a0aa8dd7fdde97823ee0619e76e003a6e66f2ff299d49e8574b12ed300a7f + languageName: node + linkType: hard + +"css-color-names@npm:0.0.4, css-color-names@npm:^0.0.4": + version: 0.0.4 + resolution: "css-color-names@npm:0.0.4" + checksum: 3/6842f38c3ae176f9beef3f92be258936aa508d5c4aa6dca48abfc324574eeda275e265dd0589d6e7a9a29768b6d6dd5ab7c4de27b8255c6142330fde84821af2 + languageName: node + linkType: hard + +"css-declaration-sorter@npm:^4.0.1": + version: 4.0.1 + resolution: "css-declaration-sorter@npm:4.0.1" + dependencies: + postcss: ^7.0.1 + timsort: ^0.3.0 + checksum: 3/9cd18a0cca0e8e983ca3cd59461c05b650c244e0fbf28810e20ec8478dd715701538bf097980b50b92aed916825fd706d0546a8fd203b6e81612b7a67184bf98 + languageName: node + linkType: hard + +"css-has-pseudo@npm:^0.10.0": + version: 0.10.0 + resolution: "css-has-pseudo@npm:0.10.0" + dependencies: + postcss: ^7.0.6 + postcss-selector-parser: ^5.0.0-rc.4 + bin: + css-has-pseudo: cli.js + checksum: 3/8bfb4c7d426f4b0b660d1a72ed0c652fd58b3b2203f629ebffcb2bdc278e2e9de2319fe3bddde9f0d2de3d7cb42f0905f5de49802bd9a40f512fd782013eb7b9 + languageName: node + linkType: hard + +"css-loader@npm:3.4.2": + version: 3.4.2 + resolution: "css-loader@npm:3.4.2" + dependencies: + camelcase: ^5.3.1 + cssesc: ^3.0.0 + icss-utils: ^4.1.1 + loader-utils: ^1.2.3 + normalize-path: ^3.0.0 + postcss: ^7.0.23 + postcss-modules-extract-imports: ^2.0.0 + postcss-modules-local-by-default: ^3.0.2 + postcss-modules-scope: ^2.1.1 + postcss-modules-values: ^3.0.0 + postcss-value-parser: ^4.0.2 + schema-utils: ^2.6.0 + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + checksum: 3/712740d2e318fa5d5b6bfcd94f527955f72e02f1987bb2c1ded549cd8a51cdd33e1893f4bead5a66d26ddc1f0bc6331ef469c7ab305b48c49bd0d9810bb9fae7 + languageName: node + linkType: hard + +"css-loader@npm:3.5.3": + version: 3.5.3 + resolution: "css-loader@npm:3.5.3" + dependencies: + camelcase: ^5.3.1 + cssesc: ^3.0.0 + icss-utils: ^4.1.1 + loader-utils: ^1.2.3 + normalize-path: ^3.0.0 + postcss: ^7.0.27 + postcss-modules-extract-imports: ^2.0.0 + postcss-modules-local-by-default: ^3.0.2 + postcss-modules-scope: ^2.2.0 + postcss-modules-values: ^3.0.0 + postcss-value-parser: ^4.0.3 + schema-utils: ^2.6.6 + semver: ^6.3.0 + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + checksum: 3/910936f0ac772d0160118ba4b364c28b9946d94a385b1df914954697a7d070d6a8c77ed94757ae3b3e4667de917ece796652334ad58e2b34f35744c0740e33aa + languageName: node + linkType: hard + +"css-prefers-color-scheme@npm:^3.1.1": + version: 3.1.1 + resolution: "css-prefers-color-scheme@npm:3.1.1" + dependencies: + postcss: ^7.0.5 + bin: + css-prefers-color-scheme: cli.js + checksum: 3/3ef06a7a427658f1ac0772d253990a70748d9f19e0e5b92d26430b3522f982a38195df79fd3d1eb45241a35d0f253d7a36e295a6a91d130d2ea45e90363ba8f8 + languageName: node + linkType: hard + +"css-select-base-adapter@npm:^0.1.1": + version: 0.1.1 + resolution: "css-select-base-adapter@npm:0.1.1" + checksum: 3/98cea0d8dc35e5660a80713b09c7be01a09405ca3d396122d02f65e76b8acab612b7ddd32b29bdd49f32b1e128239ca67c4b6d820912f283197306e58285d85c + languageName: node + linkType: hard + +"css-select@npm:^1.1.0": + version: 1.2.0 + resolution: "css-select@npm:1.2.0" + dependencies: + boolbase: ~1.0.0 + css-what: 2.1 + domutils: 1.5.1 + nth-check: ~1.0.1 + checksum: 3/c1fdd9040c677cd872e57761aafce8b603fa3c979117cc9d70e0e4901d6e0c751abe3b05b93d918835413165916d7f7132559a6f350863124f6bbbec2b1694d8 + languageName: node + linkType: hard + +"css-select@npm:^2.0.0": + version: 2.1.0 + resolution: "css-select@npm:2.1.0" + dependencies: + boolbase: ^1.0.0 + css-what: ^3.2.1 + domutils: ^1.7.0 + nth-check: ^1.0.2 + checksum: 3/b534aad04abbd433849d55b93e234b81c1ade4422c638a916fd7163db5a3b07186e92ce43c292d954417c8ce020eb31b8990ed2fb30c9c145c7f2549621e8095 + languageName: node + linkType: hard + +"css-tree@npm:1.0.0-alpha.37": + version: 1.0.0-alpha.37 + resolution: "css-tree@npm:1.0.0-alpha.37" + dependencies: + mdn-data: 2.0.4 + source-map: ^0.6.1 + checksum: 3/29d85bad8e8039bd77e2d8a754d61e3cbfac3b4e8556ecf2db186212567e310124aa000a46d442fd4fb9b31b32e723453fade25bf052c3cd4995781d1dad1fcf + languageName: node + linkType: hard + +"css-tree@npm:1.0.0-alpha.39": + version: 1.0.0-alpha.39 + resolution: "css-tree@npm:1.0.0-alpha.39" + dependencies: + mdn-data: 2.0.6 + source-map: ^0.6.1 + checksum: 3/2b3b48563f07d1636153a439f076565b125f5b64690736266c1833d5274c55f68b467ac5d648a5387121f7b1ff1f6e709a80f89824e345a17417994a34749403 + languageName: node + linkType: hard + +"css-what@npm:2.1": + version: 2.1.3 + resolution: "css-what@npm:2.1.3" + checksum: 3/732fcecfe3247eadd79081790934f9aa003ca935657d87a4737afc03dc378f8f3d1a071066328a226d98299d15e855c886f625119fe1d7f2367659d3335bde6f + languageName: node + linkType: hard + +"css-what@npm:^3.2.1": + version: 3.2.1 + resolution: "css-what@npm:3.2.1" + checksum: 3/d0123d53664a755ea8cf23a2024b822e7cb86666070ce98b85663a53d440014b90516a88c048d999e47179748bc39c20269245ba26817a9ad5468bf76005867a + languageName: node + linkType: hard + +"css@npm:^2.0.0": + version: 2.2.4 + resolution: "css@npm:2.2.4" + dependencies: + inherits: ^2.0.3 + source-map: ^0.6.1 + source-map-resolve: ^0.5.2 + urix: ^0.1.0 + checksum: 3/b94365b3c07c35529beab95f679102c66d1027774c2e80f5179a6ee11ccc440046aeb7771df33569334bbdfd8ea753dd132197040dc079fcd881141348a1886f + languageName: node + linkType: hard + +"cssdb@npm:^4.4.0": + version: 4.4.0 + resolution: "cssdb@npm:4.4.0" + checksum: 3/457af51749239fccace2760bc9e49a211d72a992dde98f6b737cd9bebe44da3da323a96835cb3d7c48927c491e940d6985ba345da9a9467581242152745d9659 + languageName: node + linkType: hard + +"cssesc@npm:^2.0.0": + version: 2.0.0 + resolution: "cssesc@npm:2.0.0" + bin: + cssesc: bin/cssesc + checksum: 3/f32fabda44dbedacb03a1b393579696594effce89da0a3dd2614ce827b803e4fdf747031bb0bd72784d5558fa077211cddfb20a3dc1326815810b301cb7baab6 + languageName: node + linkType: hard + +"cssesc@npm:^3.0.0": + version: 3.0.0 + resolution: "cssesc@npm:3.0.0" + bin: + cssesc: bin/cssesc + checksum: 3/673783eda1f89af3faefc0e4b833f40621f484ce102a23396e7a65cc4c42798bd91ee3656c8b04a0a5ca38d40ada5bc8663e4541c380a7a81af2de5b2322e443 + languageName: node + linkType: hard + +"cssnano-preset-default@npm:^4.0.7": + version: 4.0.7 + resolution: "cssnano-preset-default@npm:4.0.7" + dependencies: + css-declaration-sorter: ^4.0.1 + cssnano-util-raw-cache: ^4.0.1 + postcss: ^7.0.0 + postcss-calc: ^7.0.1 + postcss-colormin: ^4.0.3 + postcss-convert-values: ^4.0.1 + postcss-discard-comments: ^4.0.2 + postcss-discard-duplicates: ^4.0.2 + postcss-discard-empty: ^4.0.1 + postcss-discard-overridden: ^4.0.1 + postcss-merge-longhand: ^4.0.11 + postcss-merge-rules: ^4.0.3 + postcss-minify-font-values: ^4.0.2 + postcss-minify-gradients: ^4.0.2 + postcss-minify-params: ^4.0.2 + postcss-minify-selectors: ^4.0.2 + postcss-normalize-charset: ^4.0.1 + postcss-normalize-display-values: ^4.0.2 + postcss-normalize-positions: ^4.0.2 + postcss-normalize-repeat-style: ^4.0.2 + postcss-normalize-string: ^4.0.2 + postcss-normalize-timing-functions: ^4.0.2 + postcss-normalize-unicode: ^4.0.1 + postcss-normalize-url: ^4.0.1 + postcss-normalize-whitespace: ^4.0.2 + postcss-ordered-values: ^4.1.2 + postcss-reduce-initial: ^4.0.3 + postcss-reduce-transforms: ^4.0.2 + postcss-svgo: ^4.0.2 + postcss-unique-selectors: ^4.0.1 + checksum: 3/7e947b0e09c15816638ff6e8cc881f58a99532271a94e7fc259e01a89e6eececb4a028f931d6940fd44c27f3134c54146a7b877cfa7497cd24fc5e299c493a51 + languageName: node + linkType: hard + +"cssnano-util-get-arguments@npm:^4.0.0": + version: 4.0.0 + resolution: "cssnano-util-get-arguments@npm:4.0.0" + checksum: 3/40017863677fe03979bf6d8f3cbddbba58913e6257e50eaad65c5b0de567a2e4d704b889919d299f6a8efa272cf89b862481c04e9a0faea4f2fc4dc501abd7ee + languageName: node + linkType: hard + +"cssnano-util-get-match@npm:^4.0.0": + version: 4.0.0 + resolution: "cssnano-util-get-match@npm:4.0.0" + checksum: 3/1220816e194911db505ea7f0489a5e966914de726ef2c753562a0cc4e31f184a09409806aa18fb07c4d97e68c0c950f2ad60b91c946954240f22356d256eb568 + languageName: node + linkType: hard + +"cssnano-util-raw-cache@npm:^4.0.1": + version: 4.0.1 + resolution: "cssnano-util-raw-cache@npm:4.0.1" + dependencies: + postcss: ^7.0.0 + checksum: 3/d3eb80e96fc680e7b764ed8d622fbe860c7b80e831fb00552717d618c220940ba595cdd471b69bcf5b7d38fbb176d132512e68f6501e197cd10baa726f4d8cbd + languageName: node + linkType: hard + +"cssnano-util-same-parent@npm:^4.0.0": + version: 4.0.1 + resolution: "cssnano-util-same-parent@npm:4.0.1" + checksum: 3/c01d567f9d1e867c3e591338bbfff5fb96dd6843ce0b78cda012a0096dae8c05237d4aedeeadebfbf5e1555c567d40cbc940bf44afc2716c1d077d7c8d907579 + languageName: node + linkType: hard + +"cssnano@npm:^4.1.10": + version: 4.1.10 + resolution: "cssnano@npm:4.1.10" + dependencies: + cosmiconfig: ^5.0.0 + cssnano-preset-default: ^4.0.7 + is-resolvable: ^1.0.0 + postcss: ^7.0.0 + checksum: 3/7578b1238992f6226e3aaa104fecfac97224ebebb20e58910ce71c6a8f966d2ee116ea1e9bc6c7a59dbf79941feb875452149938d34642898b19de87ff728e01 + languageName: node + linkType: hard + +"csso@npm:^4.0.2": + version: 4.0.3 + resolution: "csso@npm:4.0.3" + dependencies: + css-tree: 1.0.0-alpha.39 + checksum: 3/b573974336bd5aef7ff71ae294b6664602b186e4ea6ad4b3dbd22fcf7ddeb89eddd5b6f06ad2cb6eebff882d3ab39096f211ed4d9abf4a6c1fde446d9829f9f9 + languageName: node + linkType: hard + +"cssom@npm:0.3.x, cssom@npm:>= 0.3.2 < 0.4.0, cssom@npm:^0.3.4, cssom@npm:~0.3.6": + version: 0.3.8 + resolution: "cssom@npm:0.3.8" + checksum: 3/b7fb8b13aa2014a6c168c7644baa2f4d447a28b624544c87c8ef905bbec64ef247b3d167270f87e043acc6df30ea0f80e0da545a45187ff4006eb2c24988dfae + languageName: node + linkType: hard + +"cssom@npm:^0.4.4": + version: 0.4.4 + resolution: "cssom@npm:0.4.4" + checksum: 3/db81cac44219b20d76b06f51d2614cead098478d1323b2df5e4b5d25bdc3f16d8474c3d45ae28f594a0933691c774fc2102837df66ccf375e280b0728ad53c5f + languageName: node + linkType: hard + +"cssstyle@npm:^1.0.0, cssstyle@npm:^1.1.1": + version: 1.4.0 + resolution: "cssstyle@npm:1.4.0" + dependencies: + cssom: 0.3.x + checksum: 3/5c138c9b0761a2826929ba1af06d541968c8ce2e147bc88719a9219554dbc2a7e48d2507936b4837c4cd75c07fa4988e51c6fe96dd96a45cd404c8a0012a46d3 + languageName: node + linkType: hard + +"cssstyle@npm:^2.2.0": + version: 2.3.0 + resolution: "cssstyle@npm:2.3.0" + dependencies: + cssom: ~0.3.6 + checksum: 3/a778180d2f5eef44742b7083997a0ad6e59eee016724ceac4d6229e48842d3c5ebbb55dc02c555f793bdc486254f6eef8d2049c1815e8fc74514e3eb827d49ec + languageName: node + linkType: hard + +"currently-unhandled@npm:^0.4.1": + version: 0.4.1 + resolution: "currently-unhandled@npm:0.4.1" + dependencies: + array-find-index: ^1.0.1 + checksum: 3/1968b4b57677da838b8b3f0db806e1eb4f59cc95addb6e0fd3098703fe31a3e7e5e437f253aa74408a80699e7cc59947881a7e678d0ced887619077dcccdf70f + languageName: node + linkType: hard + +"cyclist@npm:^1.0.1": + version: 1.0.1 + resolution: "cyclist@npm:1.0.1" + checksum: 3/74bc0a48c37bed8a430f103d0a880902768b7e3bcc0f9e098c4bd9630438c6b053b88e33c127e41316bb2da8d642a937015961a6cd563641ad2a5798dfecadd9 + languageName: node + linkType: hard + +"d@npm:1, d@npm:^1.0.1": + version: 1.0.1 + resolution: "d@npm:1.0.1" + dependencies: + es5-ext: ^0.10.50 + type: ^1.0.1 + checksum: 3/cf9b770965fa4876f7aff46784e4f1a1ee71cc5df7e05c9c36bee52a74340b312b6f7ab224c8bfcc83f4b18c6f6a24e7b50bcd449ba4464c1df69874941324ae + languageName: node + linkType: hard + +"damerau-levenshtein@npm:^1.0.4": + version: 1.0.6 + resolution: "damerau-levenshtein@npm:1.0.6" + checksum: 3/46fbf25fc5cef33e8192ce6141c45bc8e265d7da63fdbca2f34b4bcfb580d28e8a30414b356ff0057bed018edccda1cb20d4ba16bd7ab34f14fcaa818bd4b88d + languageName: node + linkType: hard + +"dargs@npm:^4.0.1": + version: 4.1.0 + resolution: "dargs@npm:4.1.0" + dependencies: + number-is-nan: ^1.0.0 + checksum: 3/27345b5881a0a56d46ca627e15966683e3fae1dc1a455315942f533756202ec0a2860e4bdced675bacff249866bf14424184d6d751f6d7bbd0e9798afc576ab4 + languageName: node + linkType: hard + +"dashdash@npm:^1.12.0": + version: 1.14.1 + resolution: "dashdash@npm:1.14.1" + dependencies: + assert-plus: ^1.0.0 + checksum: 3/5959409ee42dc4bdbf3fa384b801ece580ca336658bb0342ffab0099b3fc6bf9b3e239e1b82dcc4fcaeee315353e08f2eae47b0928a6a579391598c44958afa1 + languageName: node + linkType: hard + +"data-urls@npm:^1.0.0, data-urls@npm:^1.1.0": + version: 1.1.0 + resolution: "data-urls@npm:1.1.0" + dependencies: + abab: ^2.0.0 + whatwg-mimetype: ^2.2.0 + whatwg-url: ^7.0.0 + checksum: 3/04d211e1e9f83bab75450487da34b124b32beacd1ad0df96e3a747b705c24c65579833a04a6ea30a528ea5b99d5247660408c513b38905bf855f2de585b9e91c + languageName: node + linkType: hard + +"data-urls@npm:^2.0.0": + version: 2.0.0 + resolution: "data-urls@npm:2.0.0" + dependencies: + abab: ^2.0.3 + whatwg-mimetype: ^2.3.0 + whatwg-url: ^8.0.0 + checksum: 3/42239927c6a202e2d02b7f41c94ca53e3cea036898b97b8bf6120ed1b25e0dd11c48ec7aa5c84cf807c2cb9f3a637df9fb50f3ca25a52863186a4ac46254726b + languageName: node + linkType: hard + +"date-fns@npm:^2.0.1": + version: 2.14.0 + resolution: "date-fns@npm:2.14.0" + checksum: 3/93fcb999dcad1dced7c7e658f6769032783760b3989f0035186d7134858a21faeb242c31c250db66037de312007c3a562b501b9880fc707421149070a4785bcd + languageName: node + linkType: hard + +"dateformat@npm:^3.0.0": + version: 3.0.3 + resolution: "dateformat@npm:3.0.3" + checksum: 3/8e6b36c4d3d057b6b43a2d9eceb1373aae6a63050153449e26c71b84ecefb1bafc54ff3f7f1e2b8bee3851a2425c1052aaa7c1ed3307b8ff062f38a816d40933 + languageName: node + linkType: hard + +"debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.3.3, debug@npm:^2.6.0, debug@npm:^2.6.9": + version: 2.6.9 + resolution: "debug@npm:2.6.9" + dependencies: + ms: 2.0.0 + checksum: 3/559f44f98cf25e2ee489022aec173afbff746564cb108c4493becb95bc3c017a67bdaa25a0ff64801fd32c35051d00af0e56cc7f762ae2c3bc089496e5a1c31b + languageName: node + linkType: hard + +"debug@npm:^3.0.0, debug@npm:^3.1.1, debug@npm:^3.2.5, debug@npm:^3.2.6": + version: 3.2.6 + resolution: "debug@npm:3.2.6" + dependencies: + ms: ^2.1.1 + checksum: 3/619feb53b115f1a8341365b8aa58a8757e6632738587d4b61b25627b74891211cb20e31fdbea37fec766e575a60cf456f7a02d6f9eddfdcef80caa6a4b0fc042 + languageName: node + linkType: hard + +"debug@npm:^4.0.0, debug@npm:^4.0.1, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.2.0": + version: 4.2.0 + resolution: "debug@npm:4.2.0" + dependencies: + ms: 2.1.2 + peerDependencies: + supports-color: "*" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 3/dcfb8ede26b4d899628a75806923ab9ad29daae7db0f6f1ca6227b660693ae0ca085c7f87261793abe0832ad56aff2afc33f907c6b5dc96a41fc208771feb465 + languageName: node + linkType: hard + +"debug@npm:~3.1.0": + version: 3.1.0 + resolution: "debug@npm:3.1.0" + dependencies: + ms: 2.0.0 + checksum: 3/1295acd5e0531761255661d325cd0a80ac8c5f6de8942a53bb23c2197ccb97526972de662ed0e5d9393be83f3428a298a6e7185ecb02f0da6282019cd2ffb4a8 + languageName: node + linkType: hard + +"decamelize-keys@npm:^1.0.0, decamelize-keys@npm:^1.1.0": + version: 1.1.0 + resolution: "decamelize-keys@npm:1.1.0" + dependencies: + decamelize: ^1.1.0 + map-obj: ^1.0.0 + checksum: 3/dbfe6d594810ef134f8e3b8aa1684c854187a225999a0c3871b8c32d8fda886d1832b79b952a53e9557be17a78ec0198b6c26a5a5a35d012d6b18340a4dc6356 + languageName: node + linkType: hard + +"decamelize@npm:^1.1.0, decamelize@npm:^1.1.2, decamelize@npm:^1.2.0": + version: 1.2.0 + resolution: "decamelize@npm:1.2.0" + checksum: 3/8ca9d03ea8ac07920f4504e219d18edff2491bdd0a3e05a1e5ca2e9a0bf6333564231de3528b01d5e76c40a38c37bbc1e09cb5a0424714f53dd615ed78ced464 + languageName: node + linkType: hard + +"decimal.js@npm:^10.2.0": + version: 10.2.0 + resolution: "decimal.js@npm:10.2.0" + checksum: 3/f60df1cce54e4b717cf9b865cbacf667ee67747563a4e84a2ebe8fd65fd57814a3ba6eba0870345fe37aea574ecbb84b3642a6e4e7a9089d3c7fbff8247e3c7f + languageName: node + linkType: hard + +"decode-uri-component@npm:^0.2.0": + version: 0.2.0 + resolution: "decode-uri-component@npm:0.2.0" + checksum: 3/d8cb28c33f7b0a70b159b5fa126aee821ba090396689bd46ad2c423c3a658c504d2743ab18060fd5ed1cae5377bdd3632760a8e98ba920ff49637d43dc6a9687 + languageName: node + linkType: hard + +"decompress-response@npm:^3.3.0": + version: 3.3.0 + resolution: "decompress-response@npm:3.3.0" + dependencies: + mimic-response: ^1.0.0 + checksum: 3/93b0dcc8f0c32f1d5eb656e7db54fa5554227b8bfefd242c9d28f7b9c3908052c2ab8297b4af6256759da496679ee3a806d559f22d29b7e71a25879a2c25b99b + languageName: node + linkType: hard + +"deep-equal@npm:^1.0.1, deep-equal@npm:~1.0.1": + version: 1.0.1 + resolution: "deep-equal@npm:1.0.1" + checksum: 3/97d8558d19a1aeeadbed84d54cd2d3be792e968e1834aaaf1627f432371b1fb52bfe5bfd06bdbbdb7b53f827b0adf7dd78089d0430e923edebc724e4df7c3923 + languageName: node + linkType: hard + +"deep-extend@npm:^0.6.0": + version: 0.6.0 + resolution: "deep-extend@npm:0.6.0" + checksum: 3/856d7f52db152c19fc5a70439ea938461cfb9338a632496fe370050dc73d3291cd76fc6713f604a5c126612dee9cac0f6da1d4b88ba4b0caa4f7214345879b89 + languageName: node + linkType: hard + +"deep-is@npm:~0.1.3": + version: 0.1.3 + resolution: "deep-is@npm:0.1.3" + checksum: 3/3de58f86af4dec86c8be531a5abaf2e6d8ea98fa2f1d81a3a778d0d8df920ee282043a6ef05bfb4eb699c8551df9ac1b808d4dc71d54cc40ab1efa5ce8792943 + languageName: node + linkType: hard + +"deepmerge@npm:^4.2.2": + version: 4.2.2 + resolution: "deepmerge@npm:4.2.2" + checksum: 3/85abf8e0045ee280996e7d2396979c877ef0741e413b716e42441110e0a83ac08098b2a49cea035510060bf667c0eae3189b2a52349f5fa4b000c211041637b1 + languageName: node + linkType: hard + +"default-gateway@npm:^4.2.0": + version: 4.2.0 + resolution: "default-gateway@npm:4.2.0" + dependencies: + execa: ^1.0.0 + ip-regex: ^2.1.0 + checksum: 3/5d92439d573a261d850f6205fcc6541ec57378dec2032f3c7d0a18c7f9222f88f7ff4997bfff17607850b8fce6cdf3fb1c231bc43bf5e2bd6bbce3b733082add + languageName: node + linkType: hard + +"defer-to-connect@npm:^1.0.1": + version: 1.1.3 + resolution: "defer-to-connect@npm:1.1.3" + checksum: 3/d8632cafae79a077b894c17f92d668784ad83825150d31c107df4fafc39f351ecd5112e0c75e0c2886c29ea359faf299bbb73246af71607b1e5b0d1ecc496ebf + languageName: node + linkType: hard + +"define-properties@npm:^1.1.2, define-properties@npm:^1.1.3": + version: 1.1.3 + resolution: "define-properties@npm:1.1.3" + dependencies: + object-keys: ^1.0.12 + checksum: 3/b69c48c1b1dacb61f0b1cea367707c3bb214e3c47818aff18e6f20a7f88cbfa33d4cbdfd9ff79e56faba95ddca3d78ff10fbf2f02ecfad6f3e13b256e76b1212 + languageName: node + linkType: hard + +"define-property@npm:^0.2.5": + version: 0.2.5 + resolution: "define-property@npm:0.2.5" + dependencies: + is-descriptor: ^0.1.0 + checksum: 3/6fed0540727ca8ea1f5eacddf24bf9e8c212c07f638ef0cd743caa69647f0421cd72a17b466d4c378c5c0f232ad756fa92b90f8e1d975ddfec388dc6306e3583 + languageName: node + linkType: hard + +"define-property@npm:^1.0.0": + version: 1.0.0 + resolution: "define-property@npm:1.0.0" + dependencies: + is-descriptor: ^1.0.0 + checksum: 3/9034f8f6f3128945374349262e4f97b53e9582f9e3435bedb284c5210c45a98b355d40a42a570766add34a604d97b6ff0773bfd122f891a289009a1b82cc0eee + languageName: node + linkType: hard + +"define-property@npm:^2.0.2": + version: 2.0.2 + resolution: "define-property@npm:2.0.2" + dependencies: + is-descriptor: ^1.0.2 + isobject: ^3.0.1 + checksum: 3/00c7ec53b5040507016736922a9678b3247bc85e0ea0429e47d6ca6a993890f9dc338fb19d5bf6f8c0ca29016a68aa7e7da5c35d4ed8b3646347d86a3b2b4b01 + languageName: node + linkType: hard + +"del@npm:^4.1.1": + version: 4.1.1 + resolution: "del@npm:4.1.1" + dependencies: + "@types/glob": ^7.1.1 + globby: ^6.1.0 + is-path-cwd: ^2.0.0 + is-path-in-cwd: ^2.0.0 + p-map: ^2.0.0 + pify: ^4.0.1 + rimraf: ^2.6.3 + checksum: 3/87eecb2af52e794f8d9c8d200a31e0032cec8c255f08a97ef28be771bf561f16023746f2329d7b436e0a1fe09abafe80a25b2546131aa809cbd9a6bf49220cf3 + languageName: node + linkType: hard + +"delayed-stream@npm:~1.0.0": + version: 1.0.0 + resolution: "delayed-stream@npm:1.0.0" + checksum: 3/d9dfb0a7c79fd308fada9db2cf29d1ff22047ceb50dd78f7e3c173567909b438f418259cb76a6d9c9f513e88ef41d3a14154f618741ec8368c3efeff616d0c9f + languageName: node + linkType: hard + +"delegates@npm:^1.0.0": + version: 1.0.0 + resolution: "delegates@npm:1.0.0" + checksum: 3/7459e34d29cadd9bfd340728bfcc70ea96da5d940fb197298b523f805822680e583cba3ec34d36a18004325f1ec9de55e202a92b414d01db18cd87bb8a2ae5bd + languageName: node + linkType: hard + +"depd@npm:^1.1.2, depd@npm:~1.1.2": + version: 1.1.2 + resolution: "depd@npm:1.1.2" + checksum: 3/f45566ff7019a346852f095768a380778ed544de24e103b479fd5d3e61982d670efbb5234c09d0588d7fdb09c26c48283d7150e4be5e6ce5d3d37cd268d75c4d + languageName: node + linkType: hard + +"depd@npm:~2.0.0": + version: 2.0.0 + resolution: "depd@npm:2.0.0" + checksum: 3/20726d843f5ab5e933211fcb5a440a1a3986ef9d6f85d38cf1eae815ea3cc12fa4436bd35a38e21bdb391a021b57f2d97b9f856873852506acac1b07ac913ba4 + languageName: node + linkType: hard + +"des.js@npm:^1.0.0": + version: 1.0.1 + resolution: "des.js@npm:1.0.1" + dependencies: + inherits: ^2.0.1 + minimalistic-assert: ^1.0.0 + checksum: 3/74cd0aa0c57b5db03fb8084d6083016fa8f2b98a3f34fb6ae26ad505fa75c78e064be9b7b987e99485d9cc8696fd87a9c86d9309591a184d3dee8d438038c53c + languageName: node + linkType: hard + +"destroy@npm:^1.0.4, destroy@npm:~1.0.4": + version: 1.0.4 + resolution: "destroy@npm:1.0.4" + checksum: 3/5a516fc5a8a8089eecdac11da2339353542be7a71102dc5a1372ef6161501bf5c1ee59ff9f8a3f5f14cc8c88594d606f855f816d46a228ee5e0e5cb2b543534b + languageName: node + linkType: hard + +"detect-newline@npm:^2.1.0": + version: 2.1.0 + resolution: "detect-newline@npm:2.1.0" + checksum: 3/634e4a25406321b203b33ae5123c1f2091d94509d6979448081b9256c1078cec9ca5c12eee16164be79f6cbbd56c2e2232fca541e2edf3c8d374efe661e5b44a + languageName: node + linkType: hard + +"detect-newline@npm:^3.0.0": + version: 3.1.0 + resolution: "detect-newline@npm:3.1.0" + checksum: 3/6d3f67971da681403c1b1920eb3994c0718a4e70d32ae4cfc5369f3e30b4746f075a3986cb5a5c762fac36597d8f8a33b6c98bd5ce822589773313f29ce4544f + languageName: node + linkType: hard + +"detect-node@npm:^2.0.4": + version: 2.0.4 + resolution: "detect-node@npm:2.0.4" + checksum: 3/e7648a5a91dd5e91838d14f0e9631f2adf0117cc271ea86d8ce394a8fbe8fc7545755c8261faaf4b1e196795a10da99e5d5f1013163ba0f6260a57b0ba29cc60 + languageName: node + linkType: hard + +"detect-port-alt@npm:1.1.6": + version: 1.1.6 + resolution: "detect-port-alt@npm:1.1.6" + dependencies: + address: ^1.0.1 + debug: ^2.6.0 + bin: + detect: ./bin/detect-port + detect-port: ./bin/detect-port + checksum: 3/246570e7557d54b9c8e125e338a351546cd9007d11802e89205c6970c05c5ce7be28f5b47124d2d535eb5295c25e0c503275bb518a1f57564edbb9f5a690de3c + languageName: node + linkType: hard + +"diff-sequences@npm:^24.9.0": + version: 24.9.0 + resolution: "diff-sequences@npm:24.9.0" + checksum: 3/049107ba804c3a332fe7edefd1cec8df33a18a99c6af77f88b3b9d22b5ee2e1940dbde23b97f97b0d7250a98f8c488c3ba552ebab54dc75c9542c1e90232d009 + languageName: node + linkType: hard + +"diff-sequences@npm:^25.2.6": + version: 25.2.6 + resolution: "diff-sequences@npm:25.2.6" + checksum: 3/332484fc00f6beca726d8dbc13095f6006527002bef936a07b4e6bbec681fbaac484e1a7ea4e9ab0d53e375d1cde9e642c8cce31dfe6329cfdf8f01f26b17505 + languageName: node + linkType: hard + +"diff-sequences@npm:^26.0.0": + version: 26.0.0 + resolution: "diff-sequences@npm:26.0.0" + checksum: 3/0b5fdd1803e9d5f99e25ae28e22d48e17eabddfbf398ec74e6695777530778ef6bd9c9f46377a9f332ba9a0e6f2b7be45a54cd5b86e26f7514543d8d27f2d904 + languageName: node + linkType: hard + +"diff@npm:^4.0.1": + version: 4.0.2 + resolution: "diff@npm:4.0.2" + checksum: 3/81b5cd7ddde6f0ba2a532d434cfdca365aedd6cc62bb133e851e66e071d40382a30924a07c1034bd3d5a2e332146f64514b73c06fe2ebc0490a67f0c98da79fb + languageName: node + linkType: hard + +"diffie-hellman@npm:^5.0.0": + version: 5.0.3 + resolution: "diffie-hellman@npm:5.0.3" + dependencies: + bn.js: ^4.1.0 + miller-rabin: ^4.0.0 + randombytes: ^2.0.0 + checksum: 3/c988be315dc9ec83948605da58a25912daaae787d6a5cfa0b0574383dcf9b953aa81ba3109d06bc8590b037259753d2962a362e351efcb4274e94f1b0f277065 + languageName: node + linkType: hard + +"dir-glob@npm:2.0.0": + version: 2.0.0 + resolution: "dir-glob@npm:2.0.0" + dependencies: + arrify: ^1.0.1 + path-type: ^3.0.0 + checksum: 3/e826e4aa5a5f0fb2f75d7ba534481dc0bdf3179fd4c34ddc15f34ee88fb60e5ad6fba095b23aa26ffc3386fa3d94e409a4603ff889391dad33bbc6e5d85e3920 + languageName: node + linkType: hard + +"dns-equal@npm:^1.0.0": + version: 1.0.0 + resolution: "dns-equal@npm:1.0.0" + checksum: 3/096be3c1a742c7c5bdcd39836f70cb060f4c453f0f48cae1830bf011813387912f97da34d247570b5ec547c61c404f06657a0092297f38d797b22a10b5801bfe + languageName: node + linkType: hard + +"dns-packet@npm:^1.3.1": + version: 1.3.1 + resolution: "dns-packet@npm:1.3.1" + dependencies: + ip: ^1.1.0 + safe-buffer: ^5.0.1 + checksum: 3/cb7bb4e8fb25460fcde192273f0c95ce91a9f780a7f3a49ae835cd2fd7f0fcc1bb870ef0141ebb9eca8de9c545293291d1a4c978a754adbb93a84dcee9623bd9 + languageName: node + linkType: hard + +"dns-txt@npm:^2.0.2": + version: 2.0.2 + resolution: "dns-txt@npm:2.0.2" + dependencies: + buffer-indexof: ^1.0.0 + checksum: 3/62d4b87b09421f813dd03eb17866cb307e278555475b25752396d3e5c7e63b9f0f64ab5b41edeb755cb52d722600a89977d36c64a94d02ed92c32e44a8b849f2 + languageName: node + linkType: hard + +"doctrine@npm:1.5.0": + version: 1.5.0 + resolution: "doctrine@npm:1.5.0" + dependencies: + esutils: ^2.0.2 + isarray: ^1.0.0 + checksum: 3/aaffea02f963b8b07a78b1e27d7cef29be65d31be2c6681cb2872c2fb3781e14615bd05d4dff6036f75dcf3f191216058409fbfec805d3a7277a8647cd5bdee1 + languageName: node + linkType: hard + +"doctrine@npm:^2.1.0": + version: 2.1.0 + resolution: "doctrine@npm:2.1.0" + dependencies: + esutils: ^2.0.2 + checksum: 3/4aa55e46757cc11bff8efa67cdb679dd89e87c954ea9d88fad5a9198cfe0a73748085503d29bebcb143487d720a759a6bbe81d6848c94da46a55c7a366b9834e + languageName: node + linkType: hard + +"doctrine@npm:^3.0.0": + version: 3.0.0 + resolution: "doctrine@npm:3.0.0" + dependencies: + esutils: ^2.0.2 + checksum: 3/2eae469bd2889ceee9892083a67340b3622568fe5290edce620e5d5ddab23d644b2a780e9a7c68ad9c8a62716a70c5e484402ac93a398fa78b54b7505592aa7f + languageName: node + linkType: hard + +"dom-converter@npm:^0.2": + version: 0.2.0 + resolution: "dom-converter@npm:0.2.0" + dependencies: + utila: ~0.4 + checksum: 3/437b4464bd3c5e654decf855f9263e939d633d7bb720512f9a400b3e1005d870eb4a5fbead7d9ccb7849f7df5ee30c62f9a56b68143c13575ae5fef16007742c + languageName: node + linkType: hard + +"dom-serializer@npm:0": + version: 0.2.2 + resolution: "dom-serializer@npm:0.2.2" + dependencies: + domelementtype: ^2.0.1 + entities: ^2.0.0 + checksum: 3/598e05e71b8cdb03424393c0631818b978b9fee2dd18d0215a9ee97a6dee86bddd1dcfae4609c173185a9f1bcde24d4a87e1f0d512d66b76536b21fc3f34fc03 + languageName: node + linkType: hard + +"domain-browser@npm:^1.1.1": + version: 1.2.0 + resolution: "domain-browser@npm:1.2.0" + checksum: 3/39a1156552d162c33e0edff62b0f9ae64609d4ffa85ecaccfad2416ee34e4b6c78aea53c30ce167a04421144963a674e8471eba2b6272b4760e020149b9bafbb + languageName: node + linkType: hard + +"domelementtype@npm:1, domelementtype@npm:^1.3.1": + version: 1.3.1 + resolution: "domelementtype@npm:1.3.1" + checksum: 3/a4791788de07071422b2fe63b58cfb89c2507def6864954d0d7a062adb00fc925059856d29c3e48051c8fa2f20147e5d3fb24b1adbc5bdf0f9e99981b53b74c6 + languageName: node + linkType: hard + +"domelementtype@npm:^2.0.1": + version: 2.0.1 + resolution: "domelementtype@npm:2.0.1" + checksum: 3/9ddda35625a244de9a4832b1cf861f80e146faf6f0e70efe5a88c2c54c34e29e745f7048992dadc3af91c031abe035782f4dc16e6e7862eff6e80bd7c79327df + languageName: node + linkType: hard + +"domexception@npm:^1.0.1": + version: 1.0.1 + resolution: "domexception@npm:1.0.1" + dependencies: + webidl-conversions: ^4.0.2 + checksum: 3/0a678e600248b8a6f0149cb6a6ddae77d698d16a6fcf39d4228b933d5ac2b9ee657a36b2cd08ea82ec6196da756535bd30b8362f697cc9e564d969e52437fcd8 + languageName: node + linkType: hard + +"domexception@npm:^2.0.1": + version: 2.0.1 + resolution: "domexception@npm:2.0.1" + dependencies: + webidl-conversions: ^5.0.0 + checksum: 3/bde9f50cb568a29b0c24ab50500ff23e9a2160394f04ae5fd9db91c4303a4f892fd9a42b07a0d52cdae11d8a348b4e907dd4343176c6f5a74f8be6ffde60bd95 + languageName: node + linkType: hard + +"domhandler@npm:^2.3.0": + version: 2.4.2 + resolution: "domhandler@npm:2.4.2" + dependencies: + domelementtype: 1 + checksum: 3/dbe99b096aaf6e0618efc2e7e39d46448cba00999b08ba14970ee4d7a8916c4d4d463fcc1b4a7f247b34f47d1c115eec8fa5f8a4d1e430b2207da32bdf41f49a + languageName: node + linkType: hard + +"domutils@npm:1.5.1": + version: 1.5.1 + resolution: "domutils@npm:1.5.1" + dependencies: + dom-serializer: 0 + domelementtype: 1 + checksum: 3/ffc578118d3e50d0f34a0bba37575492998d43b7e54764533b1890e6c233b67068a0f369d1d23d200aa71c3fe87f2d60fdc4a87479e416edafecc33f00fc9735 + languageName: node + linkType: hard + +"domutils@npm:^1.5.1, domutils@npm:^1.7.0": + version: 1.7.0 + resolution: "domutils@npm:1.7.0" + dependencies: + dom-serializer: 0 + domelementtype: 1 + checksum: 3/a5b2f01fb3ff626073e3c3b43fedcff34073fb059b1235ee31cd0b5690d826304f41bc3fd117f95d754a1666ac3a57d224b408d83dd4f1c4525fd5b636d8df6f + languageName: node + linkType: hard + +"dot-case@npm:^3.0.3": + version: 3.0.3 + resolution: "dot-case@npm:3.0.3" + dependencies: + no-case: ^3.0.3 + tslib: ^1.10.0 + checksum: 3/31e5037039fb696ed7f1da1d3f0cea5fa0ffe0523334229a2f241856411fbbb59a5a7a6f8ae1447820718797708650bd6f90836d510ec27a81694fbc006c946a + languageName: node + linkType: hard + +"dot-prop@npm:^3.0.0": + version: 3.0.0 + resolution: "dot-prop@npm:3.0.0" + dependencies: + is-obj: ^1.0.0 + checksum: 3/4f10126783ca09bcc5d467cc5a8568e24ee588a76c5d5419b3cba7ab973f0dfb91902846601c1917492c3135813d3db54a84ba08c35ea35ccebd5082e6d733ac + languageName: node + linkType: hard + +"dot-prop@npm:^5.2.0": + version: 5.2.0 + resolution: "dot-prop@npm:5.2.0" + dependencies: + is-obj: ^2.0.0 + checksum: 3/d2f62e0b5ec467edb8e278ab6070955f0a4aec973ec1fa837ff6152f3cdd96cd2a04c7e2626cb3eac4f639b8f6786b5b87d3c01df7ba729693c636cb78b7ae93 + languageName: node + linkType: hard + +"dotenv-expand@npm:5.1.0": + version: 5.1.0 + resolution: "dotenv-expand@npm:5.1.0" + checksum: 3/b895c6220d345db8f58dca439d3bc65c2ee538659df570ed3fa8c99487df854afd6d1ddadf1e43a4091c9ed6166956e7db7bc5a05cf48fa812c0772e1f5cf860 + languageName: node + linkType: hard + +"dotenv@npm:8.2.0": + version: 8.2.0 + resolution: "dotenv@npm:8.2.0" + checksum: 3/16cb89cbd7b98b053899b8aba8c5044c8fb61a2db8a81fe70360b75035fce5fed53bd7a34d772be717d0880c0321122a4c09423f518025e1b52d96791521b1a7 + languageName: node + linkType: hard + +"duplexer3@npm:^0.1.4": + version: 0.1.4 + resolution: "duplexer3@npm:0.1.4" + checksum: 3/2a4ae463aafdb6e3541e556785d971e83e8d2b534b4cfcb114b01ebc6af6dde5a07454835c7207c8eeb5472927db1bac1b507044413164e991906c5da807938b + languageName: node + linkType: hard + +"duplexer@npm:^0.1.1": + version: 0.1.1 + resolution: "duplexer@npm:0.1.1" + checksum: 3/cd332f728a580abef8a87b38e129c7425d34b7dcc4e1b596da300bb3309e10ba51848429a0c0d1f134b66cae8c9ffe1371e3718c74a6f57da2a544a589b21216 + languageName: node + linkType: hard + +"duplexify@npm:^3.4.2, duplexify@npm:^3.6.0": + version: 3.7.1 + resolution: "duplexify@npm:3.7.1" + dependencies: + end-of-stream: ^1.0.0 + inherits: ^2.0.1 + readable-stream: ^2.0.0 + stream-shift: ^1.0.0 + checksum: 3/9581cdb8f6304fdaacb8bbe2b8b393a8da3ece3086dd24070601b70f08ca417305b4f3a94699b984c4981dceb6eebb4c132abfe0445baacfd04f2b66a0524cda + languageName: node + linkType: hard + +"ecc-jsbn@npm:~0.1.1": + version: 0.1.2 + resolution: "ecc-jsbn@npm:0.1.2" + dependencies: + jsbn: ~0.1.0 + safer-buffer: ^2.1.0 + checksum: 3/5b4dd05f24b2b94c1bb882488dba2b878bb5b83182669aa71fbdf53c6941618180cb226c4eb9a3e2fa51ad11f87b5edb0a7d7289cdef468ba2e6024542f73f07 + languageName: node + linkType: hard + +"ecdsa-sig-formatter@npm:1.0.11": + version: 1.0.11 + resolution: "ecdsa-sig-formatter@npm:1.0.11" + dependencies: + safe-buffer: ^5.0.1 + checksum: 3/9d07775ee274e0ca3978a562e9eba14ce77ecc804d977d0e94525c2aa4a70d909eda5703810955d22fd06fc6312e6aacf85e233eebdabc7b27a0a38fd62902a4 + languageName: node + linkType: hard + +"ee-first@npm:1.1.1": + version: 1.1.1 + resolution: "ee-first@npm:1.1.1" + checksum: 3/ba74f91398e3ee3b6d665b2f0d13ad6530e89a7e64ec886a6eec0602fb8a5a274652960e21bd5d4b42fdeb9017d873ff872f50342d38779e955285977edb337c + languageName: node + linkType: hard + +"electron-to-chromium@npm:^1.3.378, electron-to-chromium@npm:^1.3.413": + version: 1.3.443 + resolution: "electron-to-chromium@npm:1.3.443" + checksum: 3/36a6953239315f53f86ea0beeecdba50c8da185b17e4d51dcfab5f791bb82a03c986bda17caafb3e2ff33bb47dfff4847bd0c9ee3ad90aaf3cee2a1ca9eedba3 + languageName: node + linkType: hard + +"elliptic@npm:^6.0.0, elliptic@npm:^6.5.2": + version: 6.5.2 + resolution: "elliptic@npm:6.5.2" + dependencies: + bn.js: ^4.4.0 + brorand: ^1.0.1 + hash.js: ^1.0.0 + hmac-drbg: ^1.0.0 + inherits: ^2.0.1 + minimalistic-assert: ^1.0.0 + minimalistic-crypto-utils: ^1.0.0 + checksum: 3/84df133c94a0985c359a5f0a45a27f8208b5dcbc486e5557480fcbf6d50041e3bccb0de7ab4b021f313755bf8657a79f53ff67c555203eecb6d81bfc10292825 + languageName: node + linkType: hard + +"emoji-regex@npm:^7.0.1, emoji-regex@npm:^7.0.2": + version: 7.0.3 + resolution: "emoji-regex@npm:7.0.3" + checksum: 3/e3a504cf5242061d9b3c78a88ce787d6beee37a5d21287c6ccdddf1fe665d5ef3eddfdda663d0baf683df8e7d354210eeb1458a7d9afdf0d7a28d48cbb9975e1 + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: 3/87cf3f89efb8ba028075b3dc1713e2c5609af94cbc129b1f00c3113d01dbe4bf85c9d971e75a98bf8a8508131727682ce929e4bd70e9022af4fd47d75e9507de + languageName: node + linkType: hard + +"emojis-list@npm:^2.0.0": + version: 2.1.0 + resolution: "emojis-list@npm:2.1.0" + checksum: 3/09220b636cb03b16c234b6412391c9d8ce6fab4213659fd88d98a83e1b8fce8c60352f4dfc395a2f14159f1ed348a150c26123aee8afccb15b9747e26ed7b6ec + languageName: node + linkType: hard + +"emojis-list@npm:^3.0.0": + version: 3.0.0 + resolution: "emojis-list@npm:3.0.0" + checksum: 3/a79126b55bc86ee8fd938235a6adf9d457c05fb5bb934e8608b7d35c878d9d1e312a67759244f5c3fba0810b508eb5617e5e6ad6886496ebcfa6832d1c8de3c4 + languageName: node + linkType: hard + +"encodeurl@npm:^1.0.2, encodeurl@npm:~1.0.2": + version: 1.0.2 + resolution: "encodeurl@npm:1.0.2" + checksum: 3/6ee5fcbcd245d2a2b6bd6fe36b80f91e31ab46e29192c50af00e8f860c0c2310ebbdaae40257878fdce90b42abcb3526895c7c3a2e229461ed1f0d0b5a020fc8 + languageName: node + linkType: hard + +"end-of-stream@npm:^1.0.0, end-of-stream@npm:^1.1.0": + version: 1.4.4 + resolution: "end-of-stream@npm:1.4.4" + dependencies: + once: ^1.4.0 + checksum: 3/7da60e458bdb5e16c006a45e85ef3bc1e3791db5ba275b0913258ccddc8899acb9252c4ddbcce87bd1b46e2a3f97315aafb9f0c0330e8aac44defb504a9d3ccd + languageName: node + linkType: hard + +"enhanced-resolve@npm:^4.1.0": + version: 4.1.1 + resolution: "enhanced-resolve@npm:4.1.1" + dependencies: + graceful-fs: ^4.1.2 + memory-fs: ^0.5.0 + tapable: ^1.0.0 + checksum: 3/613ad8cf82b9aba7180782e50539c046b92fff5e6b60e93c6e37e5f2c7eef26abf8f965efc4b2fe6d600dccb6baf48caff64cd4f7e8267e1ca5ca323e5fdde9d + languageName: node + linkType: hard + +"entities@npm:^1.1.1": + version: 1.1.2 + resolution: "entities@npm:1.1.2" + checksum: 3/3a4259db358c612853e616915d398e692a3c5dbaa4da44b9a6fce15ab88615cadc9790af608c3bee152972ece69ae61a22f4a13272fd943db2ceaee02ce5cc87 + languageName: node + linkType: hard + +"entities@npm:^2.0.0, entities@npm:~2.0.0": + version: 2.0.2 + resolution: "entities@npm:2.0.2" + checksum: 3/91f17ec917c738ee3bee09889928c842be8c83925450c3efbb78066e11583ee9d647765875bb7895eeb943a56e7ce77ef6839359105e9b3a487f8ae0a68fdbee + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.0 + resolution: "env-paths@npm:2.2.0" + checksum: 3/09de4fd1c068d5965aa8aede852a764b7fb6fa8f1299ba7789bc29c22840ab1985e0c9c55bc6bf40b4276834b8adfa1baf82ec9bc58445d9e75800dc32d78a4f + languageName: node + linkType: hard + +"errno@npm:^0.1.3, errno@npm:~0.1.7": + version: 0.1.7 + resolution: "errno@npm:0.1.7" + dependencies: + prr: ~1.0.1 + bin: + errno: ./cli.js + checksum: 3/3d2da6fa1e3826dead7e06476cb4219555e8492c4ba8e0c40b2dc333e9b52e33223a414a394d7b9f18f82740aa69861c5fcef5b80798f08ff903c7c78916ce14 + languageName: node + linkType: hard + +"error-ex@npm:^1.2.0, error-ex@npm:^1.3.1": + version: 1.3.2 + resolution: "error-ex@npm:1.3.2" + dependencies: + is-arrayish: ^0.2.1 + checksum: 3/6c6c9187429ae867d145bc64c682c7c137b1f8373a406dc3b605c0d92f15b85bfcea02b461dc55ae11b10d013377e1eaf3d469d2861b2f94703c743620a9c08c + languageName: node + linkType: hard + +"es-abstract@npm:^1.17.0, es-abstract@npm:^1.17.0-next.1, es-abstract@npm:^1.17.5": + version: 1.17.5 + resolution: "es-abstract@npm:1.17.5" + dependencies: + es-to-primitive: ^1.2.1 + function-bind: ^1.1.1 + has: ^1.0.3 + has-symbols: ^1.0.1 + is-callable: ^1.1.5 + is-regex: ^1.0.5 + object-inspect: ^1.7.0 + object-keys: ^1.1.1 + object.assign: ^4.1.0 + string.prototype.trimleft: ^2.1.1 + string.prototype.trimright: ^2.1.1 + checksum: 3/83b0ce528072f37174182548d73e18d1b02fa6bddf0d675e81de77b23f4c6f4908f4d1bd5835fcae9f5d91051533afafd841482dafa21b111eaf52160a08b837 + languageName: node + linkType: hard + +"es-to-primitive@npm:^1.2.1": + version: 1.2.1 + resolution: "es-to-primitive@npm:1.2.1" + dependencies: + is-callable: ^1.1.4 + is-date-object: ^1.0.1 + is-symbol: ^1.0.2 + checksum: 3/d20b7be268b84662469972ec7265a57d4d6a65b9bf2b73f040d75e14f9f6dbe266a1a88579162e11349f9cb70eaa17640efb515c90dab19745a904b680b14be3 + languageName: node + linkType: hard + +"es5-ext@npm:^0.10.35, es5-ext@npm:^0.10.50": + version: 0.10.53 + resolution: "es5-ext@npm:0.10.53" + dependencies: + es6-iterator: ~2.0.3 + es6-symbol: ~3.1.3 + next-tick: ~1.0.0 + checksum: 3/99e8115c2f99674d0defc1e077bb0061cd9e1fc996e93605f83441cc5b3b200b7b3646f9cda9313aa877a05c47b4577ead99a26177136a0ca3f208f67a7b4418 + languageName: node + linkType: hard + +"es6-iterator@npm:2.0.3, es6-iterator@npm:~2.0.3": + version: 2.0.3 + resolution: "es6-iterator@npm:2.0.3" + dependencies: + d: 1 + es5-ext: ^0.10.35 + es6-symbol: ^3.1.1 + checksum: 3/1880ce31210da874cbb92b404c3128bdf68f616f3a902b2ca1d12f268aaedb11c5e6a2d9d364cde762de0130652a0474ba91abc09fa35f4abf6a8f22a592265e + languageName: node + linkType: hard + +"es6-symbol@npm:^3.1.1, es6-symbol@npm:~3.1.3": + version: 3.1.3 + resolution: "es6-symbol@npm:3.1.3" + dependencies: + d: ^1.0.1 + ext: ^1.1.2 + checksum: 3/0915d72de8760b56b69ca4360276123a4f61de5a3172fe340ce9288271cf48bcebe3ee46ca8ee0f2fd73206bbbefa7c4a40a6673d278a87c97d3a155de778931 + languageName: node + linkType: hard + +"escape-goat@npm:^2.0.0": + version: 2.1.1 + resolution: "escape-goat@npm:2.1.1" + checksum: 3/8270a80ca5449893b004ae260f41aece7db91198dcb007f3f26e68c3adde0f9a4c63df9aaa23d9a3a79b670a304a30986027770b2afd5b09be18a8ffcc8ab88d + languageName: node + linkType: hard + +"escape-html@npm:^1.0.3, escape-html@npm:~1.0.3": + version: 1.0.3 + resolution: "escape-html@npm:1.0.3" + checksum: 3/900a7f2b80b9f89c85b7a303d1b7a4d354b93e328871414f165f13c5c209a80eab787e3a63429e596877def69fe4dcb3d1b55af655207a901a9ec99f7f148743 + languageName: node + linkType: hard + +"escape-string-regexp@npm:2.0.0, escape-string-regexp@npm:^2.0.0": + version: 2.0.0 + resolution: "escape-string-regexp@npm:2.0.0" + checksum: 3/f3500f264e864aef0c336a2efb3adb1cee9ba1abbe15d69f0d9dab423607cac91aa009b23011b4e6cfd6d6b79888873e21dad1882047aa2e1555dd307428c51d + languageName: node + linkType: hard + +"escape-string-regexp@npm:^1.0.2, escape-string-regexp@npm:^1.0.5": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: 3/f9484b8b4c8827d816e0fd905c25ed4b561376a9c220e1430403ea84619bf680c76a883a48cff8b8e091daf55d6a497e37479f9787b9f15f3c421b6054289744 + languageName: node + linkType: hard + +"escodegen@npm:^1.11.0, escodegen@npm:^1.14.1, escodegen@npm:^1.9.1": + version: 1.14.1 + resolution: "escodegen@npm:1.14.1" + dependencies: + esprima: ^4.0.1 + estraverse: ^4.2.0 + esutils: ^2.0.2 + optionator: ^0.8.1 + source-map: ~0.6.1 + dependenciesMeta: + source-map: + optional: true + bin: + escodegen: ./bin/escodegen.js + esgenerate: ./bin/esgenerate.js + checksum: 3/97e0500474c885163aaeb3fa32e86c688a73feb641e23c3498e912ea638ba0770e6103dd7dc51ea2cc03fbb906bfafaa219d202a8a43f23037aa86e0c1dbfc2a + languageName: node + linkType: hard + +"eslint-config-prettier@npm:^6.11.0": + version: 6.11.0 + resolution: "eslint-config-prettier@npm:6.11.0" + dependencies: + get-stdin: ^6.0.0 + peerDependencies: + eslint: ">=3.14.1" + bin: + eslint-config-prettier-check: bin/cli.js + checksum: 3/59efd906c78d47753a673c205ef515fdab19cd6ea0fd992c9cb2366804861746238244526ab565ccc7448569f5472ce7646a77d0c9998787192e4ebae95df71d + languageName: node + linkType: hard + +"eslint-config-react-app@npm:^5.2.1": + version: 5.2.1 + resolution: "eslint-config-react-app@npm:5.2.1" + dependencies: + confusing-browser-globals: ^1.0.9 + peerDependencies: + "@typescript-eslint/eslint-plugin": 2.x + "@typescript-eslint/parser": 2.x + babel-eslint: 10.x + eslint: 6.x + eslint-plugin-flowtype: 3.x || 4.x + eslint-plugin-import: 2.x + eslint-plugin-jsx-a11y: 6.x + eslint-plugin-react: 7.x + eslint-plugin-react-hooks: 1.x || 2.x + checksum: 3/bb6028338a4c233568c2f9249fce0e464edbe68079bee63fedbd9c9398d534bf6e6c19d312021916198ec75e9bdce1ddb1e5a11f191ea9887a610b782b8741b9 + languageName: node + linkType: hard + +"eslint-import-resolver-node@npm:^0.3.2": + version: 0.3.3 + resolution: "eslint-import-resolver-node@npm:0.3.3" + dependencies: + debug: ^2.6.9 + resolve: ^1.13.1 + checksum: 3/05700934524b9ea1fea24b5de61fe7c3ae61070b67d5a42da5df3f11d8b0c3e21eff5be92a324d4ba813c16b0d0701bb99e7ca9385d5dd9788d3823c127b41bd + languageName: node + linkType: hard + +"eslint-loader@npm:3.0.3": + version: 3.0.3 + resolution: "eslint-loader@npm:3.0.3" + dependencies: + fs-extra: ^8.1.0 + loader-fs-cache: ^1.0.2 + loader-utils: ^1.2.3 + object-hash: ^2.0.1 + schema-utils: ^2.6.1 + peerDependencies: + eslint: ^5.0.0 || ^6.0.0 + webpack: ^4.0.0 || ^5.0.0 + checksum: 3/fc71a64d88949b56231f56227449ee855f5e5583c70af805097c5ed828ee4d9b7f553f65e07c9ed11ec1ccb84529c34c2c410890e29fcfc2b88225a4ad2c2cdf + languageName: node + linkType: hard + +"eslint-module-utils@npm:^2.4.1": + version: 2.6.0 + resolution: "eslint-module-utils@npm:2.6.0" + dependencies: + debug: ^2.6.9 + pkg-dir: ^2.0.0 + checksum: 3/f584af176480a702eedcdb3f610797f8b8d1293c3835ed71fadb579ec28400b91ded5283729418f63d48dc27c6358bd66f2bd839614d565a1b78d3c3440ee8f7 + languageName: node + linkType: hard + +"eslint-plugin-flowtype@npm:4.6.0": + version: 4.6.0 + resolution: "eslint-plugin-flowtype@npm:4.6.0" + dependencies: + lodash: ^4.17.15 + peerDependencies: + eslint: ">=6.1.0" + checksum: 3/2a20f898f360527828487134050bfaad7d9e4b153abdcc1c5641b55e219a7d0a3d1c8303e18ade81f22877e2f195126c5c740b6da25b87e02b60e72c950944ca + languageName: node + linkType: hard + +"eslint-plugin-flowtype@npm:^4.0.0": + version: 4.7.0 + resolution: "eslint-plugin-flowtype@npm:4.7.0" + dependencies: + lodash: ^4.17.15 + peerDependencies: + eslint: ">=6.1.0" + checksum: 3/2a1e799bcf92a620de1cc4fe143e1a10de4c1d18728a2082e8ca8632b238437d4119b6a395008aebf01dca563ffe9352acf1d8e483f68135f6ad055490fa26a9 + languageName: node + linkType: hard + +"eslint-plugin-graphql@npm:^3.1.1": + version: 3.1.1 + resolution: "eslint-plugin-graphql@npm:3.1.1" + dependencies: + graphql-config: ^2.0.1 + lodash: ^4.11.1 + peerDependencies: + graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 + checksum: 3/c925e1f7272c2f67e1359239c532d4311a2bc65ba13a53dd859f0706acb96be850f588ff69496e6939ef5eb3e6d1272bad802218d50c04a5a0c579a4633a20df + languageName: node + linkType: hard + +"eslint-plugin-import@npm:2.20.1": + version: 2.20.1 + resolution: "eslint-plugin-import@npm:2.20.1" + dependencies: + array-includes: ^3.0.3 + array.prototype.flat: ^1.2.1 + contains-path: ^0.1.0 + debug: ^2.6.9 + doctrine: 1.5.0 + eslint-import-resolver-node: ^0.3.2 + eslint-module-utils: ^2.4.1 + has: ^1.0.3 + minimatch: ^3.0.4 + object.values: ^1.1.0 + read-pkg-up: ^2.0.0 + resolve: ^1.12.0 + peerDependencies: + eslint: 2.x - 6.x + checksum: 3/d35b8171ff4611f19749f12f7fcb680a6cd583c6df90a5702116d5502152bd6f8d3c41431e5dc7260d29905c79fa0cf417386d80aa4074a511e371ef9b915348 + languageName: node + linkType: hard + +"eslint-plugin-import@npm:^2.20.2": + version: 2.20.2 + resolution: "eslint-plugin-import@npm:2.20.2" + dependencies: + array-includes: ^3.0.3 + array.prototype.flat: ^1.2.1 + contains-path: ^0.1.0 + debug: ^2.6.9 + doctrine: 1.5.0 + eslint-import-resolver-node: ^0.3.2 + eslint-module-utils: ^2.4.1 + has: ^1.0.3 + minimatch: ^3.0.4 + object.values: ^1.1.0 + read-pkg-up: ^2.0.0 + resolve: ^1.12.0 + peerDependencies: + eslint: 2.x - 6.x + checksum: 3/be55da3d409d24a5b21b9d999271c7c9080bc9c3547743d5897663a1d59a14ceac6be70f3d89ef5a997009d3c661189c63d7c9e8889c140b3cef0dbe03b37eea + languageName: node + linkType: hard + +"eslint-plugin-jest@npm:^23.13.1": + version: 23.13.1 + resolution: "eslint-plugin-jest@npm:23.13.1" + dependencies: + "@typescript-eslint/experimental-utils": ^2.5.0 + peerDependencies: + eslint: ">=5" + checksum: 3/f171d8e0a9aa4a8d4fd3735421f1dd829f976c21a19bccceb3ba4d4e336cd0449e487006fa20ff68ae1ff0b0ec8013f344f0388ed6ca78637a1b7ba24398a652 + languageName: node + linkType: hard + +"eslint-plugin-jsx-a11y@npm:6.2.3, eslint-plugin-jsx-a11y@npm:^6.2.3": + version: 6.2.3 + resolution: "eslint-plugin-jsx-a11y@npm:6.2.3" + dependencies: + "@babel/runtime": ^7.4.5 + aria-query: ^3.0.0 + array-includes: ^3.0.3 + ast-types-flow: ^0.0.7 + axobject-query: ^2.0.2 + damerau-levenshtein: ^1.0.4 + emoji-regex: ^7.0.2 + has: ^1.0.3 + jsx-ast-utils: ^2.2.1 + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 + checksum: 3/b3123ca859e24a15be4580fa9f4180eb6ca1d8acec603a228b490a9d6cfb4e6ee81d4e16d92ac90fac1516d09d10aece58fceb8fb8134610e4e0e7592427e125 + languageName: node + linkType: hard + +"eslint-plugin-react-hooks@npm:^1.6.1": + version: 1.7.0 + resolution: "eslint-plugin-react-hooks@npm:1.7.0" + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 + checksum: 3/99dc3276cd8f20428e0ec4d9b15433ce22b87ef9f1c82279369a98b7c663f9092ff63f63683a948f207ab75cceedd808cac2ca870011b733a89b0fc753eb0f91 + languageName: node + linkType: hard + +"eslint-plugin-react-hooks@npm:^2.0.0": + version: 2.5.1 + resolution: "eslint-plugin-react-hooks@npm:2.5.1" + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 + checksum: 3/ce13554b76160a1bb9859590dbf0b632e988bc5a9697a1b686f746810ec47fa8227cb95780c14d1266bf817a8062b4e32b57883ef466aac67884991c71a5b101 + languageName: node + linkType: hard + +"eslint-plugin-react@npm:7.19.0": + version: 7.19.0 + resolution: "eslint-plugin-react@npm:7.19.0" + dependencies: + array-includes: ^3.1.1 + doctrine: ^2.1.0 + has: ^1.0.3 + jsx-ast-utils: ^2.2.3 + object.entries: ^1.1.1 + object.fromentries: ^2.0.2 + object.values: ^1.1.1 + prop-types: ^15.7.2 + resolve: ^1.15.1 + semver: ^6.3.0 + string.prototype.matchall: ^4.0.2 + xregexp: ^4.3.0 + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 + checksum: 3/3e5b7bd3b2ea663716fd2518efd1eed359712711a3c0284ed04e5955e6b7019151d8b54dddad2a9116a54e251dd180bf5ba0ccf34a80ffbe8f4d535a0d03e6b3 + languageName: node + linkType: hard + +"eslint-plugin-react@npm:^7.20.0": + version: 7.20.0 + resolution: "eslint-plugin-react@npm:7.20.0" + dependencies: + array-includes: ^3.1.1 + doctrine: ^2.1.0 + has: ^1.0.3 + jsx-ast-utils: ^2.2.3 + object.entries: ^1.1.1 + object.fromentries: ^2.0.2 + object.values: ^1.1.1 + prop-types: ^15.7.2 + resolve: ^1.15.1 + string.prototype.matchall: ^4.0.2 + xregexp: ^4.3.0 + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 + checksum: 3/7033e1a422c1eddd7a3ef58ae1af83d142fac7fce70682facc3e37031b0fcb8509b9f91bdab1235ef47b35e0bf1c459134f906bc059c37ddc654f6fb37bcc1e0 + languageName: node + linkType: hard + +"eslint-plugin-tsdoc@npm:^0.2.4": + version: 0.2.4 + resolution: "eslint-plugin-tsdoc@npm:0.2.4" + dependencies: + "@microsoft/tsdoc": 0.12.19 + "@microsoft/tsdoc-config": 0.13.3 + checksum: 3/78bfc56406d0dcb3a997ecbe6e13a49269518442e5bad6ce3e1f7f8ca657f6baf2cace0312d1b0f74d1f9ef00d7ea3a5fda3819a66379172042aa78d84f883b1 + languageName: node + linkType: hard + +"eslint-scope@npm:^4.0.3": + version: 4.0.3 + resolution: "eslint-scope@npm:4.0.3" + dependencies: + esrecurse: ^4.1.0 + estraverse: ^4.1.1 + checksum: 3/49635cf9d936af317b9fa89cf98f30719ec9e287e5532c300cbab8015a1920b7ace495ffadaefd0ac86617ce85c17717f0ef1899f66536dca12aa85f1899899d + languageName: node + linkType: hard + +"eslint-scope@npm:^5.0.0": + version: 5.0.0 + resolution: "eslint-scope@npm:5.0.0" + dependencies: + esrecurse: ^4.1.0 + estraverse: ^4.1.1 + checksum: 3/296e85c180bc81b7c0f500f1aae68e92529059f4a13af3e4b7fe66be8469ada7fd1fb409a06a744853a8b7116a5af34620cae70f0255f0dd1bf5e764a342c67e + languageName: node + linkType: hard + +"eslint-utils@npm:^1.4.3": + version: 1.4.3 + resolution: "eslint-utils@npm:1.4.3" + dependencies: + eslint-visitor-keys: ^1.1.0 + checksum: 3/4a7ede9e723a859a8805bd1ae73681c99323be0da90d37799796ec564cc6c3326d57ac80f91667737abc45383170a3a90653e13c00c7368b3af9be0cec662b4c + languageName: node + linkType: hard + +"eslint-utils@npm:^2.0.0": + version: 2.0.0 + resolution: "eslint-utils@npm:2.0.0" + dependencies: + eslint-visitor-keys: ^1.1.0 + checksum: 3/37962274e6a40937f2cb95431d1ee241cef8a85867aad389a353825caad2df307cc23c13c5f63cb4c5868f40fc932330ed395f6827f79edcd0181b927d5fadb2 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^1.0.0, eslint-visitor-keys@npm:^1.1.0": + version: 1.1.0 + resolution: "eslint-visitor-keys@npm:1.1.0" + checksum: 3/4bcd3d91e6b15ea771a0eb4a56631b384ce649145f43d23e865a695b07e197c276019098823d744d454d4e5e406a6eb7995c26310ee5d6ed3fe8d189f944440c + languageName: node + linkType: hard + +"eslint@npm:^4 || ^5 || ^6, eslint@npm:^6.6.0, eslint@npm:^6.8.0": + version: 6.8.0 + resolution: "eslint@npm:6.8.0" + dependencies: + "@babel/code-frame": ^7.0.0 + ajv: ^6.10.0 + chalk: ^2.1.0 + cross-spawn: ^6.0.5 + debug: ^4.0.1 + doctrine: ^3.0.0 + eslint-scope: ^5.0.0 + eslint-utils: ^1.4.3 + eslint-visitor-keys: ^1.1.0 + espree: ^6.1.2 + esquery: ^1.0.1 + esutils: ^2.0.2 + file-entry-cache: ^5.0.1 + functional-red-black-tree: ^1.0.1 + glob-parent: ^5.0.0 + globals: ^12.1.0 + ignore: ^4.0.6 + import-fresh: ^3.0.0 + imurmurhash: ^0.1.4 + inquirer: ^7.0.0 + is-glob: ^4.0.0 + js-yaml: ^3.13.1 + json-stable-stringify-without-jsonify: ^1.0.1 + levn: ^0.3.0 + lodash: ^4.17.14 + minimatch: ^3.0.4 + mkdirp: ^0.5.1 + natural-compare: ^1.4.0 + optionator: ^0.8.3 + progress: ^2.0.0 + regexpp: ^2.0.1 + semver: ^6.1.2 + strip-ansi: ^5.2.0 + strip-json-comments: ^3.0.1 + table: ^5.2.3 + text-table: ^0.2.0 + v8-compile-cache: ^2.0.3 + bin: + eslint: ./bin/eslint.js + checksum: 3/796be0e038188d4cd8062541394d29f35606a7cee00cead5f6c8e3f9db932f0d19ee946df16fd593e0bcd614f896a416afa916bf82d9420576537ac349f2a06d + languageName: node + linkType: hard + +"eslint_d@npm:^8.1.1": + version: 8.1.1 + resolution: "eslint_d@npm:8.1.1" + dependencies: + core_d: ^1.0.1 + eslint: ^4 || ^5 || ^6 + nanolru: ^1.0.0 + optionator: ^0.8.1 + resolve: ^1.8.1 + bin: + eslint_d: bin/eslint_d.js + checksum: 3/39e9adac060f4630b3a26025944313c04c68f8577d81c7d14c20c6f126a49c3336cb1c3e8f2fac44d9b841db4e8b642e07807e743101ea5809e06ae622fed308 + languageName: node + linkType: hard + +"espree@npm:^6.1.2": + version: 6.2.1 + resolution: "espree@npm:6.2.1" + dependencies: + acorn: ^7.1.1 + acorn-jsx: ^5.2.0 + eslint-visitor-keys: ^1.1.0 + checksum: 3/8651a6c1625436a5ff42b0927fb7c9cfa3f87697b9522251b87a343a26655e46d3ce6b03654ac53d4558b41070fef2cdcd1ec4a73cc633661ea40aa1cefdb5e5 + languageName: node + linkType: hard + +"esprima@npm:^4.0.0, esprima@npm:^4.0.1": + version: 4.0.1 + resolution: "esprima@npm:4.0.1" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: 3/5df45a3d9c95c36800d028ba76d8d4e04e199932b58c2939f462f859fd583e7d39b4a12d3f97986cf272a28a5fe5948ee6e49e36ef63f67b5b48d82a635c5081 + languageName: node + linkType: hard + +"esquery@npm:^1.0.1": + version: 1.3.1 + resolution: "esquery@npm:1.3.1" + dependencies: + estraverse: ^5.1.0 + checksum: 3/0aac7572bc8cf4aad87f4424b3e5e80917c214d15a1da02718c4bb0e6030552b0dea700777747507d5e310cfba43ea719e6397a45050fb50b9b68c0f7de6b26a + languageName: node + linkType: hard + +"esrecurse@npm:^4.1.0": + version: 4.2.1 + resolution: "esrecurse@npm:4.2.1" + dependencies: + estraverse: ^4.1.0 + checksum: 3/9acfa287729037ccb63ee725df2214b313fe1296a91f58fe42b151e1af0d51558ac18486e53f5717477ad9306f7a79d4e20fc7f8bac486d3175f86ab2dc67f73 + languageName: node + linkType: hard + +"estraverse@npm:^4.1.0, estraverse@npm:^4.1.1, estraverse@npm:^4.2.0": + version: 4.3.0 + resolution: "estraverse@npm:4.3.0" + checksum: 3/1e4c627da9e9af07bf7b2817320f606841808fb2ec0cbd81097b30d5f90d8613288b3e523153babe04615d59b54ef876d98f0ca27488b6c0934dacd725a8d338 + languageName: node + linkType: hard + +"estraverse@npm:^5.1.0": + version: 5.1.0 + resolution: "estraverse@npm:5.1.0" + checksum: 3/1b8a47cf7c56ef3780437e4c3d733ac74d07e32f24c153d2dbe52b621802d2f88cf828c15746dabfd10a994a3ac74e1c5b74dba97d096fa9a7df2262c4f72ea9 + languageName: node + linkType: hard + +"esutils@npm:^2.0.2": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 3/590b04533177f8f6f0f352b3ac7da6c1c1e3d8375d8973972fba9c94558ca168685fd38319c3c6f4c37ba256df7494a7f15d8e761df1655af8a8f0027d988f8f + languageName: node + linkType: hard + +"etag@npm:~1.8.1": + version: 1.8.1 + resolution: "etag@npm:1.8.1" + checksum: 3/f18341a3c12a554ec46c0d4756bc9cae177e92f25a4ebd9ceefebf0ee448b675972fc110879f22b1bf514174713921ae5de9ff77af2062d422b1085588465a57 + languageName: node + linkType: hard + +"eventemitter3@npm:^3.1.0": + version: 3.1.2 + resolution: "eventemitter3@npm:3.1.2" + checksum: 3/fa1a206c4e4e8e427542f7fdfa10bd073a4ddf2510fb22e2f9a33b9aa7a0d5669bffba9b889e22d8c1c976af51a92dab274845e58d626ddb2d3563ed4d5d50dc + languageName: node + linkType: hard + +"eventemitter3@npm:^4.0.0": + version: 4.0.4 + resolution: "eventemitter3@npm:4.0.4" + checksum: 3/6693972304a7bf91aea3727d83803e1b38819ee0ed628ed842ac909284dedd1f3a7aa0ab4ccdd332bfcb9720138c9021b7b4737259e9fe8d70f7f25c57b9f0ad + languageName: node + linkType: hard + +"events@npm:^3.0.0": + version: 3.1.0 + resolution: "events@npm:3.1.0" + checksum: 3/b25256e5cb2238e1cf940e81b72ec8b3793e817a8b8ef44031971908a418e1f29ccff0c3ddc0cb5c792f98314a127d4fc9d3670a3e9a681656c28ff1558d8569 + languageName: node + linkType: hard + +"eventsource@npm:^1.0.7": + version: 1.0.7 + resolution: "eventsource@npm:1.0.7" + dependencies: + original: ^1.0.0 + checksum: 3/058506715061d4613c004854c1220d57091445ba73599f9eb232273be1119f13d3568df1a3d866bf94333fbcd138cc45268c454376ee48c3b432a26767961815 + languageName: node + linkType: hard + +"evp_bytestokey@npm:^1.0.0, evp_bytestokey@npm:^1.0.3": + version: 1.0.3 + resolution: "evp_bytestokey@npm:1.0.3" + dependencies: + md5.js: ^1.3.4 + node-gyp: latest + safe-buffer: ^5.1.1 + checksum: 3/529ceee780657a04e2b19ecbb685473f12aae05d5f9f794e36044f5ea602e1a0ba42bff4e1b7544a8a4164fbd9c585e69398b114f9925448d02c31c52c95cf26 + languageName: node + linkType: hard + +"exec-sh@npm:^0.3.2": + version: 0.3.4 + resolution: "exec-sh@npm:0.3.4" + checksum: 3/cfdd8cbfde80cced18a9b6a361f531c9e99b9e5c0b010338dd1f20cb01aa480af21dc94932530bf07d51341807a79af897b5c31b86f8c2c8f42932e276c8089d + languageName: node + linkType: hard + +"execa@npm:^1.0.0": + version: 1.0.0 + resolution: "execa@npm:1.0.0" + dependencies: + cross-spawn: ^6.0.0 + get-stream: ^4.0.0 + is-stream: ^1.1.0 + npm-run-path: ^2.0.0 + p-finally: ^1.0.0 + signal-exit: ^3.0.0 + strip-eof: ^1.0.0 + checksum: 3/39714ea24e349403f9fc92b450f0e6823cdd4573e15b17c0fba6d95f2eecd46dc32624bbf15071d91e2c64a4402c74ce7a362671126964100ad34e2d6210adf9 + languageName: node + linkType: hard + +"execa@npm:^4.0.0": + version: 4.0.1 + resolution: "execa@npm:4.0.1" + dependencies: + cross-spawn: ^7.0.0 + get-stream: ^5.0.0 + human-signals: ^1.1.1 + is-stream: ^2.0.0 + merge-stream: ^2.0.0 + npm-run-path: ^4.0.0 + onetime: ^5.1.0 + signal-exit: ^3.0.2 + strip-final-newline: ^2.0.0 + checksum: 3/334a54e5a07290f1b988069db52ff4525e992e1ac6fc7449495635f773ff57aea0d0110b4544796e640f9a47cc14291273ff607dae4534feb31d353203b5b56f + languageName: node + linkType: hard + +"exit@npm:^0.1.2": + version: 0.1.2 + resolution: "exit@npm:0.1.2" + checksum: 3/64022f65df300964bb588a503ecbc582a2d2d4db12f777b64495e840274ec17a71099e5cdc06dc970aba9795d8bbb9ccb6ba016844fdbd6b74541f4fdb25f201 + languageName: node + linkType: hard + +"expand-brackets@npm:^2.1.4": + version: 2.1.4 + resolution: "expand-brackets@npm:2.1.4" + dependencies: + debug: ^2.3.3 + define-property: ^0.2.5 + extend-shallow: ^2.0.1 + posix-character-classes: ^0.1.0 + regex-not: ^1.0.0 + snapdragon: ^0.8.1 + to-regex: ^3.0.1 + checksum: 3/9aadab00ff10da89d3bdbcb92fc48f152977e8f986b227955b17601cb7eb65a63c9b35811d78ce8ff534fc20faab759a043f0f1c71b904f5d37a35a074ff6fb0 + languageName: node + linkType: hard + +"expect@npm:^24.9.0": + version: 24.9.0 + resolution: "expect@npm:24.9.0" + dependencies: + "@jest/types": ^24.9.0 + ansi-styles: ^3.2.0 + jest-get-type: ^24.9.0 + jest-matcher-utils: ^24.9.0 + jest-message-util: ^24.9.0 + jest-regex-util: ^24.9.0 + checksum: 3/fc060faa7fe1dbd9c6eb71e237511dd56fba70f2ea1f1b17027855923d16f10df59ff809fe0359812e5c7f1eb3537729eaf9cfbb463c31417d29dce0fba37726 + languageName: node + linkType: hard + +"expect@npm:^26.0.1": + version: 26.0.1 + resolution: "expect@npm:26.0.1" + dependencies: + "@jest/types": ^26.0.1 + ansi-styles: ^4.0.0 + jest-get-type: ^26.0.0 + jest-matcher-utils: ^26.0.1 + jest-message-util: ^26.0.1 + jest-regex-util: ^26.0.0 + checksum: 3/d4cf1794fda52933259f4163c7047e06559ea1b931fdffa91a6ab13fd08ae5ea9940bfffd6830e2693c06cc066330c6b6bea39c54fc5ba4087927c992611656c + languageName: node + linkType: hard + +"express@npm:^4.17.1": + version: 4.17.1 + resolution: "express@npm:4.17.1" + 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 + checksum: 3/c4b470d623152c148e874b08d4afc35ea9498547c31a6ff6dae767ae11e3a59508a299732e9f45bfa2885685fbe2b75ca360862977798dfcec28ff2a4260eab2 + languageName: node + linkType: hard + +"ext@npm:^1.1.2": + version: 1.4.0 + resolution: "ext@npm:1.4.0" + dependencies: + type: ^2.0.0 + checksum: 3/c94102371fecdee9f48d1acac2d0e49d49906af457c79d1d7cf1a0a14317ed3e4c99cd8a2e6f9a00e93d54306ee2872e2542edd0aa58bccc4fc72aa429ef215c + languageName: node + linkType: hard + +"extend-shallow@npm:^2.0.1": + version: 2.0.1 + resolution: "extend-shallow@npm:2.0.1" + dependencies: + is-extendable: ^0.1.0 + checksum: 3/03dbbba8b9711409442428f4e0f80a92f86862a4d2559fa9629dd7080e85cacc6311c84ebea8b22b5ff40d3ef6475bbf534f098b77b7624448276708e60fa248 + languageName: node + linkType: hard + +"extend-shallow@npm:^3.0.0, extend-shallow@npm:^3.0.2": + version: 3.0.2 + resolution: "extend-shallow@npm:3.0.2" + dependencies: + assign-symbols: ^1.0.0 + is-extendable: ^1.0.1 + checksum: 3/5301c5070b98bef2413524046c3478cdce1a6bc112b44af2d4bdbfca59daabad49eb04c14e55375963db45f4ef6f43530d71a2c1c862a72d08eb165c77a13767 + languageName: node + linkType: hard + +"extend@npm:~3.0.2": + version: 3.0.2 + resolution: "extend@npm:3.0.2" + checksum: 3/1406da1f0c4b00b839497e4cdd0ec4303ce2ae349144b7c28064a5073c93ce8c08da4e8fb1bc5cb459ffcdff30a35fc0fe54344eb88320e70100c1baea6f195c + languageName: node + linkType: hard + +"external-editor@npm:^3.0.3": + version: 3.1.0 + resolution: "external-editor@npm:3.1.0" + dependencies: + chardet: ^0.7.0 + iconv-lite: ^0.4.24 + tmp: ^0.0.33 + checksum: 3/22163643f9938f4d46bab20ee0417cf1131aaf9ea4c546184d3668f689b8f7fc0d750b5a60857cb8ea09e4651b2c49fe30eb5a0903697e3c2d837da1e90d2d7c + languageName: node + linkType: hard + +"extglob@npm:^2.0.4": + version: 2.0.4 + resolution: "extglob@npm:2.0.4" + dependencies: + array-unique: ^0.3.2 + define-property: ^1.0.0 + expand-brackets: ^2.1.4 + extend-shallow: ^2.0.1 + fragment-cache: ^0.2.1 + regex-not: ^1.0.0 + snapdragon: ^0.8.1 + to-regex: ^3.0.1 + checksum: 3/ce23be772ff536976902aa0193a6d167abad229ca40fb4c1de2fd71c0116eeae168a02f6508d41382eb918fcbafb66dba61d498754051964a167c98210c62b28 + languageName: node + linkType: hard + +"extsprintf@npm:1.3.0, extsprintf@npm:^1.2.0": + version: 1.3.0 + resolution: "extsprintf@npm:1.3.0" + checksum: 3/892efd56aa9b27cbfbca42ad0c59308633f66000e71d1fb19c6989ea7309b32f3ff281778871bd2ce9bc7f3ad02515aa2783cea0323d0f6ff840b7c6a6a4603e + languageName: node + linkType: hard + +"fast-decode-uri-component@npm:^1.0.0": + version: 1.0.1 + resolution: "fast-decode-uri-component@npm:1.0.1" + checksum: 3/cb3186565330299464f409745086404098127b834b3e8576ae90f3733cf6bf3ea1831e0e5c802c8b2263af0ac1ecf8aaeb99bc34bb4a935496b3318bb60ef3a1 + languageName: node + linkType: hard + +"fast-deep-equal@npm:^2.0.1": + version: 2.0.1 + resolution: "fast-deep-equal@npm:2.0.1" + checksum: 3/ad315b79abe335f25271821447bdbbca5d7a6e5930da498fbb2628d28399e958a679adddbb665f5b2943bfd83d9dd375ac5fb45e9004c9516177008ebb7efc16 + languageName: node + linkType: hard + +"fast-deep-equal@npm:^3.1.1": + version: 3.1.1 + resolution: "fast-deep-equal@npm:3.1.1" + checksum: 3/38fe57c5ea7dbb42cf84f5d94166358b930beb49345619205ff16c4a0c896f8679a444f0fbd0f352a633f2ea800673173e2a150d81d3d85933d714d24498c688 + languageName: node + linkType: hard + +"fast-glob@npm:^2.0.2": + version: 2.2.7 + resolution: "fast-glob@npm:2.2.7" + dependencies: + "@mrmlnc/readdir-enhanced": ^2.2.1 + "@nodelib/fs.stat": ^1.1.2 + glob-parent: ^3.1.0 + is-glob: ^4.0.0 + merge2: ^1.2.3 + micromatch: ^3.1.10 + checksum: 3/9dc5c93807e43257b39fc53aa8ed10ffa253e997dd1d473377a7e9daa4b6c675c730b72f1aa132b80f068c4ece012ff9236a88085fc0229b180fe7c85afcae84 + languageName: node + linkType: hard + +"fast-json-stable-stringify@npm:2.x, fast-json-stable-stringify@npm:^2.0.0": + version: 2.1.0 + resolution: "fast-json-stable-stringify@npm:2.1.0" + checksum: 3/7df3fabfe445d65953b2d9d9d3958bd895438b215a40fb87dae8b2165c5169a897785eb5d51e6cf0eb03523af756e3d82ea01083f6ac6341fe16db532fee3016 + languageName: node + linkType: hard + +"fast-json-stringify@npm:^1.18.0": + version: 1.20.1 + resolution: "fast-json-stringify@npm:1.20.1" + dependencies: + ajv: ^6.11.0 + deepmerge: ^4.2.2 + string-similarity: ^4.0.1 + checksum: 3/c5ad6e93324ac4111ea79b00f016f675173d449a2814a849a3ed6701fa1d25426cf61b178e42f072f96218398e4a04ff7e8619d7f2c993ac6326f2ba6e35187f + languageName: node + linkType: hard + +"fast-levenshtein@npm:~2.0.6": + version: 2.0.6 + resolution: "fast-levenshtein@npm:2.0.6" + checksum: 3/a2d03af3088b0397633e007fb3010ecfa4f91cae2116d2385653c59396a1b31467641afa672a79e6f82218518670dc144128378124e711e35dbf90bc82846f22 + languageName: node + linkType: hard + +"fast-redact@npm:^2.0.0": + version: 2.0.0 + resolution: "fast-redact@npm:2.0.0" + checksum: 3/dc2b3a85cfa5bc23d1d75cac1b19868ecf12e4cc75542244a36c87150681f09ccf6e5198041e928a02a9d6bb6d0514c0675677b4ee876ecf558a39ef07d21e23 + languageName: node + linkType: hard + +"fast-safe-stringify@npm:^2.0.7": + version: 2.0.7 + resolution: "fast-safe-stringify@npm:2.0.7" + checksum: 3/7bd22543263b707870d70c6f2336b6e8563e34d6807dc388cc0566895e31e0a8273af017a7eb1c9538d0ef54288284e1c0585b557bd856491295a847159fd929 + languageName: node + linkType: hard + +"fastify@npm:^2.14.1": + version: 2.14.1 + resolution: "fastify@npm:2.14.1" + dependencies: + abstract-logging: ^2.0.0 + ajv: ^6.12.0 + avvio: ^6.3.1 + fast-json-stringify: ^1.18.0 + find-my-way: ^2.2.2 + flatstr: ^1.0.12 + light-my-request: ^3.7.3 + middie: ^4.1.0 + pino: ^5.17.0 + proxy-addr: ^2.0.6 + readable-stream: ^3.6.0 + rfdc: ^1.1.2 + secure-json-parse: ^2.1.0 + tiny-lru: ^7.0.2 + checksum: 3/3bcf329db3a298e990d925c81446025ea31c99ce3567b4ce19af57a7e2f7deef191ab63a03f2b73ae02dadf69f9e62f71c2f45c8543269f7a26e0eac22f54e35 + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.8.0 + resolution: "fastq@npm:1.8.0" + dependencies: + reusify: ^1.0.4 + checksum: 3/77d71545ba88a5c4cbe628716bcf7a0db1dbe81943c1abfbe9eab65db17c6c1db7836e99478b3b8baf21d260b896dff4723f7b7af6606b3d3db2b135bf414c16 + languageName: node + linkType: hard + +"faye-websocket@npm:^0.10.0": + version: 0.10.0 + resolution: "faye-websocket@npm:0.10.0" + dependencies: + websocket-driver: ">=0.5.1" + checksum: 3/2a5823ddfb39ec7ef952dd1adab4c28fd162f5ee175f40f8d7467560554299199c1f0aa505e0fe14a85452c76d0c4dbee32f8327c71bf2f61a32f62538843111 + languageName: node + linkType: hard + +"faye-websocket@npm:~0.11.1": + version: 0.11.3 + resolution: "faye-websocket@npm:0.11.3" + dependencies: + websocket-driver: ">=0.5.1" + checksum: 3/94c48a5b4e9ab6ff05a424dfeebe0da6c7963776172c8713588926f1e15348c423e440c601360d105602586d59f8daeed5dadb76e29070f0b468ebd55e1f868d + languageName: node + linkType: hard + +"fb-watchman@npm:^2.0.0": + version: 2.0.1 + resolution: "fb-watchman@npm:2.0.1" + dependencies: + bser: 2.1.1 + checksum: 3/f9ec24592a45026a6a7f54034a4b5efb010cac7d7fbc234fe9ae5d725c13efa9be0ded1ae348473fc42af4e28eea53f8b993857c0c49e6d721f7c9eb5b21217f + languageName: node + linkType: hard + +"figgy-pudding@npm:^3.5.1": + version: 3.5.2 + resolution: "figgy-pudding@npm:3.5.2" + checksum: 3/737645f602631734ad53b7445128e255939f809565350b376b3b8fad7673f37c82525a16463f176643ff4b989bb79ed0ecc18111a364ead1082a74c99195a6ca + languageName: node + linkType: hard + +"figures@npm:^3.0.0": + version: 3.2.0 + resolution: "figures@npm:3.2.0" + dependencies: + escape-string-regexp: ^1.0.5 + checksum: 3/6c8acb1c17c4d27eeb6ff06801b5ae39a999c4794ec50eacf858a1e32746d92af77a9a907c3e1865e2e6ac7d9f1aa765f0f8a01a16a4676b79b6e90a7cc23f44 + languageName: node + linkType: hard + +"file-entry-cache@npm:^5.0.1": + version: 5.0.1 + resolution: "file-entry-cache@npm:5.0.1" + dependencies: + flat-cache: ^2.0.1 + checksum: 3/7140588becf15f05ee956cfb359b5f23e0c73acbbd38ad14c7a76a0097342e6bfc0a8151cd2e481ea3cbb735190ba9a0df4b69055ebb5b0389c62339b1a2f86b + languageName: node + linkType: hard + +"file-loader@npm:4.3.0": + version: 4.3.0 + resolution: "file-loader@npm:4.3.0" + dependencies: + loader-utils: ^1.2.3 + schema-utils: ^2.5.0 + peerDependencies: + webpack: ^4.0.0 + checksum: 3/03535f889b56836dc462f20e138ba5ad46893cc079cfb970b3434aa4d4e959a1e52770fa62e87d657f4d7d3dd9207726a464dee19eb82ccdafdc2e5c6a80f92a + languageName: node + linkType: hard + +"file-uri-to-path@npm:1.0.0": + version: 1.0.0 + resolution: "file-uri-to-path@npm:1.0.0" + checksum: 3/5ddb9682f04f6f87b7765b93306206db2f96bc86162487e27639c55fe3ffeed12c30906ef1dedaa5307d7cabbbbdcbfa299b79aaec435de0f17e17ab31bd20b3 + languageName: node + linkType: hard + +"filesize@npm:6.0.1": + version: 6.0.1 + resolution: "filesize@npm:6.0.1" + checksum: 3/ee259a066a05bc159f030531e6afb946426fa4d3f8bb357b00334d8c0319b37b97c628f0320dfcbe9bfcc6a215929f9d903098dc58bc9ef248907f1c78aea37e + languageName: node + linkType: hard + +"fill-range@npm:^4.0.0": + version: 4.0.0 + resolution: "fill-range@npm:4.0.0" + dependencies: + extend-shallow: ^2.0.1 + is-number: ^3.0.0 + repeat-string: ^1.6.1 + to-regex-range: ^2.1.0 + checksum: 3/4a1491ee292f3d4a3d073c34cff0d7ba00dad8ad0de12d0a973c5aefb3f3f54971508cbc4b1c4923f6278b692b7695f9561086571fbee9f24cf3435ab92e8d50 + languageName: node + linkType: hard + +"fill-range@npm:^7.0.1": + version: 7.0.1 + resolution: "fill-range@npm:7.0.1" + dependencies: + to-regex-range: ^5.0.1 + checksum: 3/efca43d59b487ad4bc0b2b1cb9e51617c75a7b0159db51fa190c75c3d634ea5fad1ff4750d7c14346add4cd065e3c46e8f99af333edf2b4ec2a424f87e491a85 + languageName: node + linkType: hard + +"finalhandler@npm:1.1.2, finalhandler@npm:^1.1.2, finalhandler@npm:~1.1.2": + version: 1.1.2 + resolution: "finalhandler@npm:1.1.2" + 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 + checksum: 3/f2e5b6bfe2201f13e74408530a7f354b7846ab3e648b3dde4f8ed3b773c8a743c16b0f378cb5113df7fef84c5be364bb1a3655f0a75571f163c982289fbd9671 + languageName: node + linkType: hard + +"find-cache-dir@npm:^0.1.1": + version: 0.1.1 + resolution: "find-cache-dir@npm:0.1.1" + dependencies: + commondir: ^1.0.1 + mkdirp: ^0.5.1 + pkg-dir: ^1.0.0 + checksum: 3/3097d0185122d2b944edaa727bb1575177d0b128f72a45ac9c79ff1d99100a3dd1bb967a7697e028b941ab1153c593aae34423ed852042e4568d23dabafaa297 + languageName: node + linkType: hard + +"find-cache-dir@npm:^2.1.0": + version: 2.1.0 + resolution: "find-cache-dir@npm:2.1.0" + dependencies: + commondir: ^1.0.1 + make-dir: ^2.0.0 + pkg-dir: ^3.0.0 + checksum: 3/6e996026565b651d709964abad7f353976e83e869dffae96f73f99f51078eb856a82411a3f2c77f89040c4976aed28248a761590f7237796a8578d00c6b34446 + languageName: node + linkType: hard + +"find-cache-dir@npm:^3.2.0": + version: 3.3.1 + resolution: "find-cache-dir@npm:3.3.1" + dependencies: + commondir: ^1.0.1 + make-dir: ^3.0.2 + pkg-dir: ^4.1.0 + checksum: 3/b1e23226ee89fba89646aa5f72d084c6d04bb64f6d523c9cb2d57a1b5280fcac39e92fd5be572e2fae8a83aa70bc5b797ce33a826b9a4b92373cc38e66d4aa64 + languageName: node + linkType: hard + +"find-my-way@npm:^2.2.2": + version: 2.2.3 + resolution: "find-my-way@npm:2.2.3" + dependencies: + fast-decode-uri-component: ^1.0.0 + safe-regex2: ^2.0.0 + semver-store: ^0.3.0 + checksum: 3/be2499b8139fa58e18c17ed4dd3c773cd813561d96e494eb83f32ebfe55f80729facbb79ad70af11698592cb53507fc7762d6485f717932dddef095e80aeb83f + languageName: node + linkType: hard + +"find-up@npm:4.1.0, find-up@npm:^4.0.0, find-up@npm:^4.1.0": + version: 4.1.0 + resolution: "find-up@npm:4.1.0" + dependencies: + locate-path: ^5.0.0 + path-exists: ^4.0.0 + checksum: 3/d612d28e02eaca6cd7128fc9bc9b456e2547a3f9875b2b2ae2dbdc6b8cec52bc2885efcb3ac6c18954e838f4c8e20565d196784b190e1d38565f9dc39aade722 + languageName: node + linkType: hard + +"find-up@npm:^1.0.0": + version: 1.1.2 + resolution: "find-up@npm:1.1.2" + dependencies: + path-exists: ^2.0.0 + pinkie-promise: ^2.0.0 + checksum: 3/cc15a62434c3f7f499d2f8c956aeeace97a8e87ad52ad78e156bd52e9c2acafcaad729356b564d0d57150b48017d0d3165ba2e790546550b3de8b7db256b883b + languageName: node + linkType: hard + +"find-up@npm:^2.0.0, find-up@npm:^2.1.0": + version: 2.1.0 + resolution: "find-up@npm:2.1.0" + dependencies: + locate-path: ^2.0.0 + checksum: 3/9dedb89f936b572f7c9fda3f66ebe146b0000fe9ef16fad94a77c25ce9585962e910bb32c1e08bab9b423985ff20221d2af4b7e4130b27c0f5f60c1aad3f6a7f + languageName: node + linkType: hard + +"find-up@npm:^3.0.0": + version: 3.0.0 + resolution: "find-up@npm:3.0.0" + dependencies: + locate-path: ^3.0.0 + checksum: 3/c5422fc7231820421cff6f6e3a5d00a11a79fd16625f2af779c6aedfbaad66764fd149c1b84017aa44e85f86395eb25c31188ad273fc468a981b529eaa59a424 + languageName: node + linkType: hard + +"flat-cache@npm:^2.0.1": + version: 2.0.1 + resolution: "flat-cache@npm:2.0.1" + dependencies: + flatted: ^2.0.0 + rimraf: 2.6.3 + write: 1.0.3 + checksum: 3/a36ba407553064be4a571cdee4021a50290f6179a0827df1d076a2e33cd84e543d0274cb15dbeb551c2ae6d53e611e3c02564a93f0d527563d0f560be7a14b0d + languageName: node + linkType: hard + +"flatstr@npm:^1.0.12": + version: 1.0.12 + resolution: "flatstr@npm:1.0.12" + checksum: 3/2803767f91887ffd60ac2aac0d6ccf2dd9e2d8f216628a73e3f525d5b5bfa4ac9a5b57334a4c1e6d5622f92f440c52562f7ca9719ace9d025d6c5b7a1a1579db + languageName: node + linkType: hard + +"flatted@npm:^2.0.0": + version: 2.0.2 + resolution: "flatted@npm:2.0.2" + checksum: 3/a3e5fb71ad3c4f0661cd3899864812bcf3f64bdf6aa5f33f967c9c2a8a5f0c7219707e864c0602115fef40e093415f76a43e77afd0a86990904e2217ddb44eb4 + languageName: node + linkType: hard + +"flatten@npm:^1.0.2": + version: 1.0.3 + resolution: "flatten@npm:1.0.3" + checksum: 3/8a382594dc7bb4e4f28739a4abcd9d6f5c74d4be370892c10386a09656722e1a822137dc48c4bff15758e0656f8fee7bb3001133d068431796cf17b1f52a969a + languageName: node + linkType: hard + +"flush-write-stream@npm:^1.0.0": + version: 1.1.1 + resolution: "flush-write-stream@npm:1.1.1" + dependencies: + inherits: ^2.0.3 + readable-stream: ^2.3.6 + checksum: 3/b8fa1fbfadd5c4b6df3cf2c34b3c408fe508a2899c536bafa339f679de545689997e907bd4ff61dd292942f8044fb2f293a5956dd8b601f6a5601617842d0dda + languageName: node + linkType: hard + +"follow-redirects@npm:^1.0.0": + version: 1.11.0 + resolution: "follow-redirects@npm:1.11.0" + dependencies: + debug: ^3.0.0 + checksum: 3/9665078c14c27b4219ba719b508590ca08e8b580f7d85a9b8c8229c9905a8222b6abd408a26ea2b4b4f0820dc6fbde63e8a33d01a6ebdbb9201c7e24615ffa90 + languageName: node + linkType: hard + +"for-in@npm:^0.1.3": + version: 0.1.8 + resolution: "for-in@npm:0.1.8" + checksum: 3/ba73137954ced20c1295e43df221ccc8cbe12a914787bf1af82f180f3e717227fb6c777d1afe3edc380f78eb4e142eee089a31c6de4bbe5294eda7b04f625943 + languageName: node + linkType: hard + +"for-in@npm:^1.0.1, for-in@npm:^1.0.2": + version: 1.0.2 + resolution: "for-in@npm:1.0.2" + checksum: 3/e8d7280a654216e9951103e407d1655c2dfa67178ad468cb0b35701df6b594809ccdc66671b3478660d0e6c4bca9d038b1f1fc032716a184c19d67319550c554 + languageName: node + linkType: hard + +"for-own@npm:^0.1.3": + version: 0.1.5 + resolution: "for-own@npm:0.1.5" + dependencies: + for-in: ^1.0.1 + checksum: 3/7b9778a9197ab519e2c94aec35b44efb467d1867c181cea5a28d7a819480ce5ffcae0b4ae63f15d42f16312d72e63c3cdb1acbc407528ea0ba27afb9df4c958a + languageName: node + linkType: hard + +"forever-agent@npm:~0.6.1": + version: 0.6.1 + resolution: "forever-agent@npm:0.6.1" + checksum: 3/9cc0054dd4ea5fc26e014b8c929d1fb9247e931e81165cbd965a712061d65fb84791b2124f64cd79492e516662b94068d29fe1d824732382237321b3f61955fe + languageName: node + linkType: hard + +"fork-ts-checker-webpack-plugin@npm:3.1.1": + version: 3.1.1 + resolution: "fork-ts-checker-webpack-plugin@npm:3.1.1" + dependencies: + babel-code-frame: ^6.22.0 + chalk: ^2.4.1 + chokidar: ^3.3.0 + micromatch: ^3.1.10 + minimatch: ^3.0.4 + semver: ^5.6.0 + tapable: ^1.0.0 + worker-rpc: ^0.1.0 + checksum: 3/8a357eec4a4beead9d9cb64a781e179982c98db1600e040d04e7b2b0e3b0e2f5c872a86152112927bd391d803a445595ff507aeb0cc0c7d7cdba9e253a2bf531 + languageName: node + linkType: hard + +"form-data@npm:^3.0.0": + version: 3.0.0 + resolution: "form-data@npm:3.0.0" + dependencies: + asynckit: ^0.4.0 + combined-stream: ^1.0.8 + mime-types: ^2.1.12 + checksum: 3/1af88217b449eda6566a0d95185f2baa403ed2a0e3b11547069f6062be66cbac7c8d7a25f0fc59560702e96526e659b5b9e5a8c6fefe00f06da44338191a9133 + languageName: node + linkType: hard + +"form-data@npm:~2.3.2": + version: 2.3.3 + resolution: "form-data@npm:2.3.3" + dependencies: + asynckit: ^0.4.0 + combined-stream: ^1.0.6 + mime-types: ^2.1.12 + checksum: 3/862e686b105634222db77138d5f5ae08ba85f88c04925de5be86b2b9d03cf671d86566ad10f1dd5217634c0f1634069dfc1a663a1cc13e8fbac0ce8f670ad070 + languageName: node + linkType: hard + +"formidable@npm:^1.2.1": + version: 1.2.2 + resolution: "formidable@npm:1.2.2" + checksum: 3/9fe5ef38d5881ac16cc8ca78bd3229fbf32b10e0fd3b718ec20f86ea1de7302aa0ffcfa9a9163cec02fc3f825faf9d0533f24539bb20ae6d73b580b526c25edb + languageName: node + linkType: hard + +"forwarded@npm:~0.1.2": + version: 0.1.2 + resolution: "forwarded@npm:0.1.2" + checksum: 3/568d862ad1c514813fc62dc1bd58b8669b16d4ee2e634a6fc71f4849df798883ab94e63d8e1b35a17af51b2b39ca869e672c7310efe42fc7b9bad43a80b5ff87 + languageName: node + linkType: hard + +"fragment-cache@npm:^0.2.1": + version: 0.2.1 + resolution: "fragment-cache@npm:0.2.1" + dependencies: + map-cache: ^0.2.2 + checksum: 3/f88983f4bf54f9a8847d15e54518535aecbfa9b7f0242604ca5cd027d88ea1469212b5dbb579233e769d0e2f4e6764bc6bbac44731fb78b9964942165c7c3048 + languageName: node + linkType: hard + +"fresh@npm:0.5.2, fresh@npm:~0.5.2": + version: 0.5.2 + resolution: "fresh@npm:0.5.2" + checksum: 3/2f76c8505d1ea5a6d5accea3e7aff0b796bfa43364c84929254f33909fa08640948bd1728220d1ff5f4c2b378a65e97da647f2fe0f2b7ddb44001f6e0dc2e91f + languageName: node + linkType: hard + +"from2@npm:^2.1.0": + version: 2.3.0 + resolution: "from2@npm:2.3.0" + dependencies: + inherits: ^2.0.1 + readable-stream: ^2.0.0 + checksum: 3/5f1a9bbff02d30cf5b4f12cfef20b47455876f8318b92d275ca39e3c5adf0636d3a0d8f4821a1c245339c47e79a551dce9ce5c7d9236c16347b934dc13d1d408 + languageName: node + linkType: hard + +"fs-extra@npm:^4.0.2": + version: 4.0.3 + resolution: "fs-extra@npm:4.0.3" + dependencies: + graceful-fs: ^4.1.2 + jsonfile: ^4.0.0 + universalify: ^0.1.0 + checksum: 3/ad42def19446c82543ebfa707250de2e1adff8f1c902f9cad3946f69b3dad326696f70e86c3aebeab4bc4f19ff3ef9abee0460d7fb775122f3dc9142a4b1280f + languageName: node + linkType: hard + +"fs-extra@npm:^7.0.0": + version: 7.0.1 + resolution: "fs-extra@npm:7.0.1" + dependencies: + graceful-fs: ^4.1.2 + jsonfile: ^4.0.0 + universalify: ^0.1.0 + checksum: 3/0de3773953a13b517f053dbfa291166da076cc563cdd8f0ecefc64018ab15d2614f1707860b82e6b0e41695f613c1855f410749bd01bcb585f0243b1018a6595 + languageName: node + linkType: hard + +"fs-extra@npm:^8.1.0": + version: 8.1.0 + resolution: "fs-extra@npm:8.1.0" + dependencies: + graceful-fs: ^4.2.0 + jsonfile: ^4.0.0 + universalify: ^0.1.0 + checksum: 3/056a96d4f55ab8728b021e251175a4a6440d1edb5845e6c2e8e010019bde3e63de188a0eb99386c21c71804ca1a571cd6e08f507971f10a2bc4f4f7667720fa4 + languageName: node + linkType: hard + +"fs-minipass@npm:^1.2.5": + version: 1.2.7 + resolution: "fs-minipass@npm:1.2.7" + dependencies: + minipass: ^2.6.0 + checksum: 3/eb59a93065f25457e5d1d10a064e22565e704b03140d5ef86a71a57155b13aa645811126fed2a5a282df8dc9c40df9c9d696f6b2d93c181071a971221d0a454b + languageName: node + linkType: hard + +"fs-minipass@npm:^2.0.0": + version: 2.1.0 + resolution: "fs-minipass@npm:2.1.0" + dependencies: + minipass: ^3.0.0 + checksum: 3/e14a490658621cf1f7d8cbf9e92a9cc4dc7ce050418e4817e877e4531c438223db79f7a1774668087428d665a3de95f87014ce36c8afdc841fea42bcb782abcb + languageName: node + linkType: hard + +"fs-readdir-recursive@npm:^1.1.0": + version: 1.1.0 + resolution: "fs-readdir-recursive@npm:1.1.0" + checksum: 3/dec853d7418a9a2c1295d0dbf602505655bebed76474d656d68ed3e06bc84db651325b795509221f186955791965ec0add261919d464cae76dd3b8564f462054 + languageName: node + linkType: hard + +"fs-write-stream-atomic@npm:^1.0.8": + version: 1.0.10 + resolution: "fs-write-stream-atomic@npm:1.0.10" + dependencies: + graceful-fs: ^4.1.2 + iferr: ^0.1.5 + imurmurhash: ^0.1.4 + readable-stream: 1 || 2 + checksum: 3/1e35e18bdd0215587ed74fa68fd2e96240ecbc91213cdb3c2e3cad49a99767b224507261757658a034c22223a20ec6179a14a4fe7c28631e2547c4fde3b42fa2 + languageName: node + linkType: hard + +"fs.realpath@npm:^1.0.0": + version: 1.0.0 + resolution: "fs.realpath@npm:1.0.0" + checksum: 3/698a91b1695e3926185c9e5b0dd57cf687dceb4eb73799af91e6b2ab741735e2962c366c5af6403ffddae2619914193bd339efa706fdc984d0ffc74b7a3603f4 + languageName: node + linkType: hard + +"fsevents@2.1.2, fsevents@^2.1.2, fsevents@~2.1.2": + version: 2.1.2 + resolution: "fsevents@npm:2.1.2" + dependencies: + node-gyp: latest + checksum: 3/8f61ef784058aa410def121afcf20014fbb845c678c04e43fe1fd1edec6c469c5452343b4a49960d89e8a207955c8e9b37a229af7a8fc5b28658c9e0faabe086 + languageName: node + linkType: hard fsevents@^1.2.7: - version "1.2.12" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.12.tgz#db7e0d8ec3b0b45724fd4d83d43554a8f1f0de5c" - integrity sha512-Ggd/Ktt7E7I8pxZRbGIs7vwqAPscSESMrCSkx2FtWeqmheJgCo2R74fTsZFCifr0VTPwqRpPv17+6b8Zp7th0Q== - dependencies: - bindings "^1.5.0" - nan "^2.12.1" - -fsevents@^2.1.2, fsevents@~2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.1.3.tgz#fb738703ae8d2f9fe900c33836ddebee8b97f23e" - integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -gauge@~2.7.3: - version "2.7.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" - integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c= - dependencies: - aproba "^1.0.3" - console-control-strings "^1.0.0" - has-unicode "^2.0.0" - object-assign "^4.1.0" - signal-exit "^3.0.0" - string-width "^1.0.1" - strip-ansi "^3.0.1" - wide-align "^1.1.0" - -genfun@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/genfun/-/genfun-5.0.0.tgz#9dd9710a06900a5c4a5bf57aca5da4e52fe76537" - integrity sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA== - -gensync@^1.0.0-beta.1: - version "1.0.0-beta.1" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" - integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== - -get-caller-file@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" - integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== - -get-caller-file@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-own-enumerable-property-symbols@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664" - integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== - -get-pkg-repo@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-1.4.0.tgz#c73b489c06d80cc5536c2c853f9e05232056972d" - integrity sha1-xztInAbYDMVTbCyFP54FIyBWly0= - dependencies: - hosted-git-info "^2.1.4" - meow "^3.3.0" - normalize-package-data "^2.3.0" - parse-github-repo-url "^1.3.0" - through2 "^2.0.0" - -get-port@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/get-port/-/get-port-4.2.0.tgz#e37368b1e863b7629c43c5a323625f95cf24b119" - integrity sha512-/b3jarXkH8KJoOMQc3uVGHASwGLPq3gSFJ7tgJm2diza+bydJPTGOibin2steecKeOylE8oY2JERlVWkAJO6yw== - -get-stdin@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" - integrity sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4= - -get-stdin@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" - integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== - -get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ= - -get-stream@^4.0.0, get-stream@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - -get-stream@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.1.0.tgz#01203cdc92597f9b909067c3e656cc1f4d3c4dc9" - integrity sha512-EXr1FOzrzTfGeL0gQdeFEvOMm2mzMOglyiOXSTpPC+iAjAKftbr3jpCMWynogwYnM+eSj9sHGc6wjIcDvYiygw== - dependencies: - pump "^3.0.0" - -get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= - -getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo= - dependencies: - assert-plus "^1.0.0" - -git-raw-commits@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.0.tgz#d92addf74440c14bcc5c83ecce3fb7f8a79118b5" - integrity sha512-w4jFEJFgKXMQJ0H0ikBk2S+4KP2VEjhCvLCNqbNRQC8BgGWgLKNCO7a9K9LI+TVT7Gfoloje502sEnctibffgg== - dependencies: - dargs "^4.0.1" - lodash.template "^4.0.2" - meow "^4.0.0" - split2 "^2.0.0" - through2 "^2.0.0" - -git-remote-origin-url@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/git-remote-origin-url/-/git-remote-origin-url-2.0.0.tgz#5282659dae2107145a11126112ad3216ec5fa65f" - integrity sha1-UoJlna4hBxRaERJhEq0yFuxfpl8= - dependencies: - gitconfiglocal "^1.0.0" - pify "^2.3.0" - -git-semver-tags@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-2.0.3.tgz#48988a718acf593800f99622a952a77c405bfa34" - integrity sha512-tj4FD4ww2RX2ae//jSrXZzrocla9db5h0V7ikPl1P/WwoZar9epdUhwR7XHXSgc+ZkNq72BEEerqQuicoEQfzA== - dependencies: - meow "^4.0.0" - semver "^6.0.0" - -git-semver-tags@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-3.0.1.tgz#9cb9e4974437de1f71f32da3bfe74f4d35afb1b9" - integrity sha512-Hzd1MOHXouITfCasrpVJbRDg9uvW7LfABk3GQmXYZByerBDrfrEMP9HXpNT7RxAbieiocP6u+xq20DkvjwxnCA== - dependencies: - meow "^5.0.0" - semver "^6.0.0" - -git-up@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/git-up/-/git-up-4.0.1.tgz#cb2ef086653640e721d2042fe3104857d89007c0" - integrity sha512-LFTZZrBlrCrGCG07/dm1aCjjpL1z9L3+5aEeI9SBhAqSc+kiA9Or1bgZhQFNppJX6h/f5McrvJt1mQXTFm6Qrw== - dependencies: - is-ssh "^1.3.0" - parse-url "^5.0.0" - -git-url-parse@^11.1.2: - version "11.1.2" - resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-11.1.2.tgz#aff1a897c36cc93699270587bea3dbcbbb95de67" - integrity sha512-gZeLVGY8QVKMIkckncX+iCq2/L8PlwncvDFKiWkBn9EtCfYDbliRTTp6qzyQ1VMdITUfq7293zDzfpjdiGASSQ== - dependencies: - git-up "^4.0.0" - -gitconfiglocal@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/gitconfiglocal/-/gitconfiglocal-1.0.0.tgz#41d045f3851a5ea88f03f24ca1c6178114464b9b" - integrity sha1-QdBF84UaXqiPA/JMocYXgRRGS5s= - dependencies: - ini "^1.3.2" - -glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4= - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - -glob-parent@^5.0.0, glob-parent@~5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" - integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== - dependencies: - is-glob "^4.0.1" - -glob-to-regexp@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" - integrity sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs= - -glob@^7.0.0, glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - 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" - -global-dirs@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" - integrity sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU= - dependencies: - ini "^1.3.4" - -global-modules@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-2.0.0.tgz#997605ad2345f27f51539bea26574421215c7780" - integrity sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== - dependencies: - global-prefix "^3.0.0" - -global-prefix@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-3.0.0.tgz#fc85f73064df69f50421f47f883fe5b913ba9b97" - integrity sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== - dependencies: - ini "^1.3.5" - kind-of "^6.0.2" - which "^1.3.1" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^12.1.0: - version "12.4.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8" - integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== - dependencies: - type-fest "^0.8.1" - -globby@8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/globby/-/globby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d" - integrity sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w== - dependencies: - array-union "^1.0.1" - dir-glob "2.0.0" - fast-glob "^2.0.2" - glob "^7.1.2" - ignore "^3.3.5" - pify "^3.0.0" - slash "^1.0.0" - -globby@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c" - integrity sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= - dependencies: - array-union "^1.0.1" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -globby@^9.2.0: - version "9.2.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d" - integrity sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg== - dependencies: - "@types/glob" "^7.1.1" - array-union "^1.0.2" - dir-glob "^2.2.2" - fast-glob "^2.2.6" - glob "^7.1.3" - ignore "^4.0.3" - pify "^4.0.1" - slash "^2.0.0" - -got@^6.7.1: - version "6.7.1" - resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" - integrity sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA= - dependencies: - create-error-class "^3.0.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - is-redirect "^1.0.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - lowercase-keys "^1.0.0" - safe-buffer "^5.0.1" - timed-out "^4.0.0" - unzip-response "^2.0.1" - url-parse-lax "^1.0.0" - -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.3.tgz#4a12ff1b60376ef09862c2093edd908328be8423" - integrity sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ== - -graphiql-explorer@^0.4.5: - version "0.4.6" - resolved "https://registry.yarnpkg.com/graphiql-explorer/-/graphiql-explorer-0.4.6.tgz#501b0b27d154efbdd224b9b0d528cfb6917ebda8" - integrity sha512-xnIArsOzWdGEz/z4I3r4XIiukVmpRWu64co5IxaqQ7pK7Ar0l00dPmOvWdRF/cBTMQDBbkMpKDc2yxwUebIjOg== - -graphiql@^0.17.0: - version "0.17.5" - resolved "https://registry.yarnpkg.com/graphiql/-/graphiql-0.17.5.tgz#76c553fc0d8936f77e33114ac3374f1807a718ff" - integrity sha512-ogNsrg9qM1py9PzcIUn+C29JukOADbjIfB6zwtfui4BrpOEpDb5UZ6TjAmSL/F/8tCt4TbgwKtkSrBeLNNUrqA== - dependencies: - codemirror "^5.47.0" - codemirror-graphql "^0.11.6" - copy-to-clipboard "^3.2.0" - entities "^2.0.0" - markdown-it "^10.0.0" - regenerator-runtime "^0.13.3" - -graphql-config@2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/graphql-config/-/graphql-config-2.2.1.tgz#5fd0ec77ac7428ca5fb2026cf131be10151a0cb2" - integrity sha512-U8+1IAhw9m6WkZRRcyj8ZarK96R6lQBQ0an4lp76Ps9FyhOXENC5YQOxOFGm5CxPrX2rD0g3Je4zG5xdNJjwzQ== - dependencies: - graphql-import "^0.7.1" - graphql-request "^1.5.0" - js-yaml "^3.10.0" - lodash "^4.17.4" - minimatch "^3.0.4" - -graphql-config@^2.0.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/graphql-config/-/graphql-config-2.2.2.tgz#a4b577826bba9b83e7b0f6cd617be43ca67da045" - integrity sha512-mtv1ejPyyR2mJUUZNhljggU+B/Xl8tJJWf+h145hB+1Y48acSghFalhNtXfPBcYl2tJzpb+lGxfj3O7OjaiMgw== - dependencies: - graphql-import "^0.7.1" - graphql-request "^1.5.0" - js-yaml "^3.10.0" - lodash "^4.17.4" - minimatch "^3.0.4" - -graphql-import@^0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/graphql-import/-/graphql-import-0.7.1.tgz#4add8d91a5f752d764b0a4a7a461fcd93136f223" - integrity sha512-YpwpaPjRUVlw2SN3OPljpWbVRWAhMAyfSba5U47qGMOSsPLi2gYeJtngGpymjm9nk57RFWEpjqwh4+dpYuFAPw== - dependencies: - lodash "^4.17.4" - resolve-from "^4.0.0" - -graphql-iso-date@^3.6.0: - version "3.6.1" - resolved "https://registry.yarnpkg.com/graphql-iso-date/-/graphql-iso-date-3.6.1.tgz#bd2d0dc886e0f954cbbbc496bbf1d480b57ffa96" - integrity sha512-AwFGIuYMJQXOEAgRlJlFL4H1ncFM8n8XmoVDTNypNOZyQ8LFDG2ppMFlsS862BSTCDcSUfHp8PD3/uJhv7t59Q== - -graphql-language-service-interface@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/graphql-language-service-interface/-/graphql-language-service-interface-2.3.3.tgz#33d2263e797dcfcac2426e00a33349d2a489edfa" - integrity sha512-SMUbbiHbD19ffyDrucR+vwyaKYhDcTgbBFDJu9Z4TBa5XaksmyiurB3f+pWlIkuFvogBvW3JDiiJJlUW7awivg== - dependencies: - graphql-config "2.2.1" - graphql-language-service-parser "^1.5.2" - graphql-language-service-types "^1.5.2" - graphql-language-service-utils "^2.3.3" - -graphql-language-service-parser@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/graphql-language-service-parser/-/graphql-language-service-parser-1.5.2.tgz#37deb56c16155cbd324fedef42ef9a3f0b38d723" - integrity sha512-kModfvwX5XiT+tYRhh8d6X+rb5Zq9zFQVdcoVlQJvoIW7U6SkxUAeO5Ei9OI3KOMH5r8wyfmXflBZ+xUbJySJw== - dependencies: - graphql-config "2.2.1" - graphql-language-service-types "^1.5.2" - -graphql-language-service-types@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/graphql-language-service-types/-/graphql-language-service-types-1.5.2.tgz#bfd3b27a45dbc2457233c73cc1f8ff5da26795f8" - integrity sha512-WOFHBZX1K41svohPTmhOcKg+zz27d6ULFuZ8mzkiJ9nIpGKueAPyh7/xR0VZNBUAfDzTCbE6wQZxsPl5Kvd7IA== - dependencies: - graphql-config "2.2.1" - -graphql-language-service-utils@^2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/graphql-language-service-utils/-/graphql-language-service-utils-2.3.3.tgz#babfffecb754920f028525c4c094bb68638370a3" - integrity sha512-uHLdIbQpKkE1V2WA12DRMXrUZpPD3ZKPOuH3MHlNg+j9AEe1y83chA4yP5DQqR+ARdMpefz4FJHvEjQr9alXYw== - dependencies: - graphql-config "2.2.1" - graphql-language-service-types "^1.5.2" - -graphql-request@^1.5.0: - version "1.8.2" - resolved "https://registry.yarnpkg.com/graphql-request/-/graphql-request-1.8.2.tgz#398d10ae15c585676741bde3fc01d5ca948f8fbe" - integrity sha512-dDX2M+VMsxXFCmUX0Vo0TopIZIX4ggzOtiCsThgtrKR4niiaagsGTDIHj3fsOMFETpa064vzovI+4YV4QnMbcg== - dependencies: - cross-fetch "2.2.2" - -graphql-subscriptions@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/graphql-subscriptions/-/graphql-subscriptions-1.1.0.tgz#5f2fa4233eda44cf7570526adfcf3c16937aef11" - integrity sha512-6WzlBFC0lWmXJbIVE8OgFgXIP4RJi3OQgTPa0DVMsDXdpRDjTsM1K9wfl5HSYX7R87QAGlvcv2Y4BIZa/ItonA== - dependencies: - iterall "^1.2.1" - -"graphql@>=0.6 <15", "graphql@>=0.9 <0.14 || ^14.0.2", "graphql@^0.6.0 || ^0.7.0 || ^0.8.0-b || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.2", graphql@^14.5.8: - version "14.6.0" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-14.6.0.tgz#57822297111e874ea12f5cd4419616930cd83e49" - integrity sha512-VKzfvHEKybTKjQVpTFrA5yUq2S9ihcZvfJAtsDBBCuV6wauPu1xl/f9ehgVf0FcEJJs4vz6ysb/ZMkGigQZseg== - dependencies: - iterall "^1.2.2" - -growly@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081" - integrity sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE= - -gzip-size@5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274" - integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA== - dependencies: - duplexer "^0.1.1" - pify "^4.0.1" - -handle-thing@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" - integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== - -handlebars@^4.4.0: - version "4.7.6" - resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.6.tgz#d4c05c1baf90e9945f77aa68a7a219aa4a7df74e" - integrity sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA== - dependencies: - minimist "^1.2.5" - neo-async "^2.6.0" - source-map "^0.6.1" - wordwrap "^1.0.0" - optionalDependencies: - uglify-js "^3.1.4" - -har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI= - -har-validator@~5.1.3: - version "5.1.3" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.3.tgz#1ef89ebd3e4996557675eed9893110dc350fa080" - integrity sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g== - dependencies: - ajv "^6.5.5" - har-schema "^2.0.0" - -harmony-reflect@^1.4.6: - version "1.6.1" - resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.1.tgz#c108d4f2bb451efef7a37861fdbdae72c9bdefa9" - integrity sha512-WJTeyp0JzGtHcuMsi7rw2VwtkvLa+JyfEKJCFyfcS0+CDkjQ5lHPu7zEhFZP+PDSRrEgXa5Ah0l1MbgbE41XjA== - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= - dependencies: - ansi-regex "^2.0.0" - -has-flag@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" - integrity sha1-6CB68cx7MNRGzHC3NLXovhj4jVE= - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-symbols@^1.0.0, has-symbols@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" - integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== - -has-unicode@^2.0.0, has-unicode@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk= - -has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - -has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - -has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha1-bWHeldkd/Km5oCCJrThL/49it3E= - -has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - -has@^1.0.0, has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hash-base@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" - integrity sha1-X8hoaEfs1zSZQDMZprCj8/auSRg= - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -he@1.2.x, he@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -hex-color-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e" - integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ== - -hmac-drbg@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -hosted-git-info@^2.1.4, hosted-git-info@^2.7.1: - version "2.8.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" - integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== - -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - integrity sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -hsl-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e" - integrity sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4= - -hsla-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" - integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= - -html-comment-regex@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" - integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== - -html-encoding-sniffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8" - integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw== - dependencies: - whatwg-encoding "^1.0.1" - -html-entities@^1.2.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44" - integrity sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA== - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -html-minifier-terser@^5.0.1: - version "5.0.5" - resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-5.0.5.tgz#8f12f639789f04faa9f5cf2ff9b9f65607f21f8b" - integrity sha512-cBSFFghQh/uHcfSiL42KxxIRMF7A144+3E44xdlctIjxEmkEfCvouxNyFH2wysXk1fCGBPwtcr3hDWlGTfkDew== - 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" - -html-minifier@^3.2.3: - version "3.5.21" - resolved "https://registry.yarnpkg.com/html-minifier/-/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c" - integrity sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA== - dependencies: - camel-case "3.0.x" - clean-css "4.2.x" - commander "2.17.x" - he "1.2.x" - param-case "2.1.x" - relateurl "0.2.x" - uglify-js "3.4.x" - -html-webpack-inline-source-plugin@^0.0.10: - version "0.0.10" - resolved "https://registry.yarnpkg.com/html-webpack-inline-source-plugin/-/html-webpack-inline-source-plugin-0.0.10.tgz#89bd5f761e4f16902aa76a44476eb52831c9f7f0" - integrity sha512-0ZNU57u7283vrXSF5a4VDnVOMWiSwypKIp1z/XfXWoVHLA1r3Xmyxx5+Lz+mnthz/UvxL1OAf41w5UIF68Jngw== - dependencies: - escape-string-regexp "^1.0.5" - slash "^1.0.0" - source-map-url "^0.4.0" - -html-webpack-plugin@4.0.0-beta.11: - version "4.0.0-beta.11" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-4.0.0-beta.11.tgz#3059a69144b5aecef97708196ca32f9e68677715" - integrity sha512-4Xzepf0qWxf8CGg7/WQM5qBB2Lc/NFI7MhU59eUDTkuQp3skZczH4UA1d6oQyDEIoMDgERVhRyTdtUPZ5s5HBg== - dependencies: - html-minifier-terser "^5.0.1" - loader-utils "^1.2.3" - lodash "^4.17.15" - pretty-error "^2.1.1" - tapable "^1.1.3" - util.promisify "1.0.0" - -html-webpack-plugin@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz#b01abbd723acaaa7b37b6af4492ebda03d9dd37b" - integrity sha1-sBq71yOsqqeze2r0SS69oD2d03s= - dependencies: - html-minifier "^3.2.3" - loader-utils "^0.2.16" - lodash "^4.17.3" - pretty-error "^2.0.2" - tapable "^1.0.0" - toposort "^1.0.0" - util.promisify "1.0.0" - -htmlparser2@^3.3.0: - version "3.10.1" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" - integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== - dependencies: - domelementtype "^1.3.1" - domhandler "^2.3.0" - domutils "^1.5.1" - entities "^1.1.1" - inherits "^2.0.1" - readable-stream "^3.1.1" - -http-assert@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/http-assert/-/http-assert-1.4.1.tgz#c5f725d677aa7e873ef736199b89686cceb37878" - integrity sha512-rdw7q6GTlibqVVbXr0CKelfV5iY8G2HqEUkhSk297BMbSpSL8crXC+9rjKoMcZZEsksX30le6f/4ul4E28gegw== - dependencies: - deep-equal "~1.0.1" - http-errors "~1.7.2" - -http-cache-semantics@^3.8.1: - version "3.8.1" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz#39b0e16add9b605bf0a9ef3d9daaf4843b4cacd2" - integrity sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w== - -http-deceiver@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87" - integrity sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= - -http-errors@1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" - integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -http-errors@^1.5.1, http-errors@^1.6.3, http-errors@~1.7.2: - version "1.7.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" - integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - -http-errors@~1.6.2: - version "1.6.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" - integrity sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= - dependencies: - depd "~1.1.2" - inherits "2.0.3" - setprototypeof "1.1.0" - statuses ">= 1.4.0 < 2" - -"http-parser-js@>=0.4.0 <0.4.11": - version "0.4.10" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.4.10.tgz#92c9c1374c35085f75db359ec56cc257cbb93fa4" - integrity sha1-ksnBN0w1CF912zWexWzCV8u5P6Q= - -http-proxy-agent@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz#e4821beef5b2142a2026bd73926fe537631c5405" - integrity sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg== - dependencies: - agent-base "4" - debug "3.1.0" - -http-proxy-middleware@0.19.1: - version "0.19.1" - resolved "https://registry.yarnpkg.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a" - integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== - dependencies: - http-proxy "^1.17.0" - is-glob "^4.0.0" - lodash "^4.17.11" - micromatch "^3.1.10" - -http-proxy@^1.17.0: - version "1.18.0" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.0.tgz#dbe55f63e75a347db7f3d99974f2692a314a6a3a" - integrity sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ== - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha1-muzZJRFHcvPZW2WmCruPfBj7rOE= - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - -https-browserify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" - integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= - -https-proxy-agent@^2.2.3: - version "2.2.4" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz#4ee7a737abd92678a293d9b34a1af4d0d08c787b" - integrity sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg== - dependencies: - agent-base "^4.3.0" - debug "^3.1.0" - -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - -humanize-ms@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" - integrity sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0= - dependencies: - ms "^2.0.0" - -iconv-lite@0.4.24, iconv-lite@^0.4.24, iconv-lite@~0.4.13: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -icss-replace-symbols@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded" - integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0= - -icss-utils@^4.0.0, icss-utils@^4.1.0, icss-utils@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-4.1.1.tgz#21170b53789ee27447c2f47dd683081403f9a467" - integrity sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== - dependencies: - postcss "^7.0.14" - -identity-obj-proxy@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz#94d2bda96084453ef36fbc5aaec37e0f79f1fc14" - integrity sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ= - dependencies: - harmony-reflect "^1.4.6" - -ieee754@^1.1.4: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== - -iferr@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501" - integrity sha1-xg7taebY/bazEEofy8ocGS3FtQE= - -ignore-by-default@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" - integrity sha1-SMptcvbGo68Aqa1K5odr44ieKwk= - -ignore-walk@^3.0.1: - version "3.0.3" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" - integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw== - dependencies: - minimatch "^3.0.4" - -ignore@^3.3.5: - version "3.3.10" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043" - integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug== - -ignore@^4.0.3, ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -immer@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/immer/-/immer-1.10.0.tgz#bad67605ba9c810275d91e1c2a47d4582e98286d" - integrity sha512-O3sR1/opvCDGLEVcvrGTMtLac8GJ5IwZC4puPrLuRj3l7ICKvkmA0vGuU9OW8mV9WIBRnaxp5GJh9IEAaNOoYg== - -import-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" - integrity sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk= - dependencies: - import-from "^2.1.0" - -import-fresh@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546" - integrity sha1-2BNVwVYS04bGH53dOSLUMEgipUY= - dependencies: - caller-path "^2.0.0" - resolve-from "^3.0.0" - -import-fresh@^3.0.0, import-fresh@^3.1.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" - integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-from@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1" - integrity sha1-M1238qev/VOqpHHUuAId7ja387E= - dependencies: - resolve-from "^3.0.0" - -import-lazy@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" - integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= - -import-local@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d" - integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== - dependencies: - pkg-dir "^3.0.0" - resolve-cwd "^2.0.0" - -import-local@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" - integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -indent-string@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" - integrity sha1-ji1INIdCEhtKghi3oTfppSBJ3IA= - dependencies: - repeating "^2.0.0" - -indent-string@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" - integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -indexes-of@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" - integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= - -infer-owner@^1.0.3, infer-owner@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inherits@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" - integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= - -inherits@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" - integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= - -ini@^1.3.2, ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== - -init-package-json@^1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-1.10.3.tgz#45ffe2f610a8ca134f2bd1db5637b235070f6cbe" - integrity sha512-zKSiXKhQveNteyhcj1CoOP8tqp1QuxPIPBl8Bid99DGLFqA1p87M6lNgfjJHSBoWJJlidGOv5rWjyYKEB3g2Jw== - dependencies: - glob "^7.1.1" - npm-package-arg "^4.0.0 || ^5.0.0 || ^6.0.0" - promzard "^0.3.0" - read "~1.0.1" - read-package-json "1 || 2" - semver "2.x || 3.x || 4 || 5" - validate-npm-package-license "^3.0.1" - validate-npm-package-name "^3.0.0" - -inquirer@7.0.4: - version "7.0.4" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.0.4.tgz#99af5bde47153abca23f5c7fc30db247f39da703" - integrity sha512-Bu5Td5+j11sCkqfqmUTiwv+tWisMtP0L7Q8WrqA2C/BbBhy1YTdFrvjjlrKq8oagA/tLQBski2Gcx/Sqyi2qSQ== - dependencies: - ansi-escapes "^4.2.1" - chalk "^2.4.2" - cli-cursor "^3.1.0" - cli-width "^2.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.15" - mute-stream "0.0.8" - run-async "^2.2.0" - rxjs "^6.5.3" - string-width "^4.1.0" - strip-ansi "^5.1.0" - through "^2.3.6" - -inquirer@^6.2.0: - version "6.5.2" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca" - integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ== - dependencies: - ansi-escapes "^3.2.0" - chalk "^2.4.2" - cli-cursor "^2.1.0" - cli-width "^2.0.0" - external-editor "^3.0.3" - figures "^2.0.0" - lodash "^4.17.12" - mute-stream "0.0.7" - run-async "^2.2.0" - rxjs "^6.4.0" - string-width "^2.1.0" - strip-ansi "^5.1.0" - through "^2.3.6" - -inquirer@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.1.0.tgz#1298a01859883e17c7264b82870ae1034f92dd29" - integrity sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg== - dependencies: - ansi-escapes "^4.2.1" - chalk "^3.0.0" - cli-cursor "^3.1.0" - cli-width "^2.0.0" - external-editor "^3.0.3" - figures "^3.0.0" - lodash "^4.17.15" - mute-stream "0.0.8" - run-async "^2.4.0" - rxjs "^6.5.3" - string-width "^4.1.0" - strip-ansi "^6.0.0" - through "^2.3.6" - -internal-ip@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907" - integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg== - dependencies: - default-gateway "^4.2.0" - ipaddr.js "^1.9.0" - -internal-slot@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.2.tgz#9c2e9fb3cd8e5e4256c6f45fe310067fcfa378a3" - integrity sha512-2cQNfwhAfJIkU4KZPkDI+Gj5yNNnbqi40W9Gge6dfnk4TocEVm00B3bdiL+JINrbGJil2TeHvM4rETGzk/f/0g== - dependencies: - es-abstract "^1.17.0-next.1" - has "^1.0.3" - side-channel "^1.0.2" - -invariant@^2.2.2, invariant@^2.2.4: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -invert-kv@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" - integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== - -ip-regex@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" - integrity sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= - -ip@1.1.5, ip@^1.1.0, ip@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" - integrity sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= - -ipaddr.js@1.9.1, ipaddr.js@^1.9.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -is-absolute-url@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" - integrity sha1-UFMN+4T8yap9vnhS6Do3uTufKqY= - -is-absolute-url@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698" - integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== - -is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= - dependencies: - kind-of "^3.0.2" - -is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - -is-arguments@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" - integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== - -is-binary-path@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" - integrity sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg= - dependencies: - binary-extensions "^1.0.0" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-buffer@^1.0.2, is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - -is-callable@^1.1.4, is-callable@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" - integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q== - -is-ci@^1.0.10: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" - integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== - dependencies: - ci-info "^1.5.0" - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - -is-color-stop@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345" - integrity sha1-z/9HGu5N1cnhWFmPvhKWe1za00U= - 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" - -is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= - dependencies: - kind-of "^3.0.2" - -is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - -is-date-object@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" - integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== - -is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - -is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - -is-directory@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" - integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= - -is-docker@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.0.0.tgz#2cb0df0e75e2d064fe1864c37cdeacb7b2dcf25b" - integrity sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ== - -is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= - -is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - -is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-finite@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" - integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== - -is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs= - dependencies: - number-is-nan "^1.0.0" - -is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -is-generator-function@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.7.tgz#d2132e529bb0000a7f80794d4bdf5cd5e5813522" - integrity sha512-YZc5EwyO4f2kWCax7oegfuSr9mFz1ZvieNYBEjmukLxgXfBUbxAWGVF7GZf0zidYtoBl3WvC07YK0wT76a+Rtw== - -is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo= - dependencies: - is-extglob "^2.1.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - dependencies: - is-extglob "^2.1.1" - -is-installed-globally@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" - integrity sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA= - dependencies: - global-dirs "^0.1.0" - is-path-inside "^1.0.0" - -is-npm@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" - integrity sha1-8vtjpl5JBbQGyGBydloaTceTufQ= - -is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= - dependencies: - kind-of "^3.0.2" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-obj@^1.0.0, is-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= - -is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - -is-path-cwd@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb" - integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== - -is-path-in-cwd@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb" - integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== - dependencies: - is-path-inside "^2.1.0" - -is-path-inside@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" - integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= - dependencies: - path-is-inside "^1.0.1" - -is-path-inside@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2" - integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== - dependencies: - path-is-inside "^1.0.2" - -is-plain-obj@^1.0.0, is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha1-caUMhCnfync8kqOQpKA7OfzVHT4= - -is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - -is-plain-object@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-3.0.0.tgz#47bfc5da1b5d50d64110806c199359482e75a928" - integrity sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg== - dependencies: - isobject "^4.0.0" - -is-redirect@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" - integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= - -is-regex@^1.0.4, is-regex@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.5.tgz#39d589a358bf18967f726967120b8fc1aed74eae" - integrity sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ== - dependencies: - has "^1.0.3" - -is-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069" - integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= - -is-resolvable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88" - integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg== - -is-retry-allowed@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" - integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== - -is-root@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" - integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== - -is-ssh@^1.3.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.3.1.tgz#f349a8cadd24e65298037a522cf7520f2e81a0f3" - integrity sha512-0eRIASHZt1E68/ixClI8bp2YK2wmBPVWEismTs6M+M099jKgrzl/3E976zIbImSIob48N2/XGe9y7ZiYdImSlg== - dependencies: - protocols "^1.1.0" - -is-stream@^1.0.0, is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= - -is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - -is-string@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" - integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== - -is-svg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" - integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ== - dependencies: - html-comment-regex "^1.1.0" - -is-symbol@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" - integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== - dependencies: - has-symbols "^1.0.1" - -is-text-path@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-text-path/-/is-text-path-1.0.1.tgz#4e1aa0fb51bfbcb3e92688001397202c1775b66e" - integrity sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4= - dependencies: - text-extensions "^1.0.0" - -is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-utf8@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" - integrity sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI= - -is-windows@^1.0.0, is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d" - integrity sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= - -is-wsl@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.1.1.tgz#4a1c152d429df3d441669498e2486d3596ebaf1d" - integrity sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog== - -isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= - dependencies: - isarray "1.0.0" - -isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= - -isobject@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-4.0.0.tgz#3f1c9155e73b192022a80819bacd0343711697b0" - integrity sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA== - -isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= - -istanbul-lib-coverage@^2.0.2, istanbul-lib-coverage@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz#675f0ab69503fad4b1d849f736baaca803344f49" - integrity sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA== - -istanbul-lib-coverage@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" - integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== - -istanbul-lib-instrument@^3.0.1, istanbul-lib-instrument@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz#a5f63d91f0bbc0c3e479ef4c5de027335ec6d630" - integrity sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA== - dependencies: - "@babel/generator" "^7.4.0" - "@babel/parser" "^7.4.3" - "@babel/template" "^7.4.0" - "@babel/traverse" "^7.4.3" - "@babel/types" "^7.4.0" - istanbul-lib-coverage "^2.0.5" - semver "^6.0.0" - -istanbul-lib-instrument@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.1.tgz#61f13ac2c96cfefb076fe7131156cc05907874e6" - integrity sha512-imIchxnodll7pvQBYOqUu88EufLCU56LMeFPZZM/fJZ1irYcYdqroaV+ACK1Ila8ls09iEYArp+nqyC6lW1Vfg== - dependencies: - "@babel/core" "^7.7.5" - "@babel/parser" "^7.7.5" - "@babel/template" "^7.7.4" - "@babel/traverse" "^7.7.4" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" - -istanbul-lib-report@^2.0.4: - version "2.0.8" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz#5a8113cd746d43c4889eba36ab10e7d50c9b4f33" - integrity sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ== - dependencies: - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - supports-color "^6.1.0" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^3.0.1: - version "3.0.6" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz#284997c48211752ec486253da97e3879defba8c8" - integrity sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^2.0.5" - make-dir "^2.1.0" - rimraf "^2.6.3" - source-map "^0.6.1" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" - integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^2.2.6: - version "2.2.7" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-2.2.7.tgz#5d939f6237d7b48393cc0959eab40cd4fd056931" - integrity sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg== - dependencies: - html-escaper "^2.0.0" - -istanbul-reports@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" - integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -iterall@^1.0.2, iterall@^1.2.1, iterall@^1.2.2: - version "1.3.0" - resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea" - integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg== - -jest-changed-files@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-24.9.0.tgz#08d8c15eb79a7fa3fc98269bc14b451ee82f8039" - integrity sha512-6aTWpe2mHF0DhL28WjdkO8LyGjs3zItPET4bMSeXU6T3ub4FPMw+mcOcbdGXQOAfmLcxofD23/5Bl9Z4AkFwqg== - dependencies: - "@jest/types" "^24.9.0" - execa "^1.0.0" - throat "^4.0.0" - -jest-changed-files@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-25.4.0.tgz#e573db32c2fd47d2b90357ea2eda0622c5c5cbd6" - integrity sha512-VR/rfJsEs4BVMkwOTuStRyS630fidFVekdw/lBaBQjx9KK3VZFOZ2c0fsom2fRp8pMCrCTP6LGna00o/DXGlqA== - dependencies: - "@jest/types" "^25.4.0" - execa "^3.2.0" - throat "^5.0.0" - -jest-cli@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-24.9.0.tgz#ad2de62d07472d419c6abc301fc432b98b10d2af" - integrity sha512-+VLRKyitT3BWoMeSUIHRxV/2g8y9gw91Jh5z2UmXZzkZKpbC08CSehVxgHUwTpy+HwGcns/tqafQDJW7imYvGg== - dependencies: - "@jest/core" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - exit "^0.1.2" - import-local "^2.0.0" - is-ci "^2.0.0" - jest-config "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - prompts "^2.0.1" - realpath-native "^1.1.0" - yargs "^13.3.0" - -jest-cli@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-25.4.0.tgz#5dac8be0fece6ce39f0d671395a61d1357322bab" - integrity sha512-usyrj1lzCJZMRN1r3QEdnn8e6E6yCx/QN7+B1sLoA68V7f3WlsxSSQfy0+BAwRiF4Hz2eHauf11GZG3PIfWTXQ== - dependencies: - "@jest/core" "^25.4.0" - "@jest/test-result" "^25.4.0" - "@jest/types" "^25.4.0" - chalk "^3.0.0" - exit "^0.1.2" - import-local "^3.0.2" - is-ci "^2.0.0" - jest-config "^25.4.0" - jest-util "^25.4.0" - jest-validate "^25.4.0" - prompts "^2.0.1" - realpath-native "^2.0.0" - yargs "^15.3.1" - -jest-config@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-24.9.0.tgz#fb1bbc60c73a46af03590719efa4825e6e4dd1b5" - integrity sha512-RATtQJtVYQrp7fvWg6f5y3pEFj9I+H8sWw4aKxnDZ96mob5i5SD6ZEGWgMLXQ4LE8UurrjbdlLWdUeo+28QpfQ== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^24.9.0" - "@jest/types" "^24.9.0" - babel-jest "^24.9.0" - chalk "^2.0.1" - glob "^7.1.1" - jest-environment-jsdom "^24.9.0" - jest-environment-node "^24.9.0" - jest-get-type "^24.9.0" - jest-jasmine2 "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - micromatch "^3.1.10" - pretty-format "^24.9.0" - realpath-native "^1.1.0" - -jest-config@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-25.4.0.tgz#56e5df3679a96ff132114b44fb147389c8c0a774" - integrity sha512-egT9aKYxMyMSQV1aqTgam0SkI5/I2P9qrKexN5r2uuM2+68ypnc+zPGmfUxK7p1UhE7dYH9SLBS7yb+TtmT1AA== - dependencies: - "@babel/core" "^7.1.0" - "@jest/test-sequencer" "^25.4.0" - "@jest/types" "^25.4.0" - babel-jest "^25.4.0" - chalk "^3.0.0" - deepmerge "^4.2.2" - glob "^7.1.1" - jest-environment-jsdom "^25.4.0" - jest-environment-node "^25.4.0" - jest-get-type "^25.2.6" - jest-jasmine2 "^25.4.0" - jest-regex-util "^25.2.6" - jest-resolve "^25.4.0" - jest-util "^25.4.0" - jest-validate "^25.4.0" - micromatch "^4.0.2" - pretty-format "^25.4.0" - realpath-native "^2.0.0" - -jest-diff@^24.3.0, jest-diff@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" - integrity sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ== - dependencies: - chalk "^2.0.1" - diff-sequences "^24.9.0" - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - -jest-diff@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-25.4.0.tgz#260b70f19a46c283adcad7f081cae71eb784a634" - integrity sha512-kklLbJVXW0y8UKOWOdYhI6TH5MG6QAxrWiBMgQaPIuhj3dNFGirKCd+/xfplBXICQ7fI+3QcqHm9p9lWu1N6ug== - dependencies: - chalk "^3.0.0" - diff-sequences "^25.2.6" - jest-get-type "^25.2.6" - pretty-format "^25.4.0" - -jest-docblock@^24.3.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-24.9.0.tgz#7970201802ba560e1c4092cc25cbedf5af5a8ce2" - integrity sha512-F1DjdpDMJMA1cN6He0FNYNZlo3yYmOtRUnktrT9Q37njYzC5WEaDdmbynIgy0L/IvXvvgsG8OsqhLPXTpfmZAA== - dependencies: - detect-newline "^2.1.0" - -jest-docblock@^25.3.0: - version "25.3.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-25.3.0.tgz#8b777a27e3477cd77a168c05290c471a575623ef" - integrity sha512-aktF0kCar8+zxRHxQZwxMy70stc9R1mOmrLsT5VO3pIT0uzGRSDAXxSlz4NqQWpuLjPpuMhPRl7H+5FRsvIQAg== - dependencies: - detect-newline "^3.0.0" - -jest-each@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-24.9.0.tgz#eb2da602e2a610898dbc5f1f6df3ba86b55f8b05" - integrity sha512-ONi0R4BvW45cw8s2Lrx8YgbeXL1oCQ/wIDwmsM3CqM/nlblNCPmnC3IPQlMbRFZu3wKdQ2U8BqM6lh3LJ5Bsog== - dependencies: - "@jest/types" "^24.9.0" - chalk "^2.0.1" - jest-get-type "^24.9.0" - jest-util "^24.9.0" - pretty-format "^24.9.0" - -jest-each@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-25.4.0.tgz#ad4e46164764e8e77058f169a0076a7f86f6b7d4" - integrity sha512-lwRIJ8/vQU/6vq3nnSSUw1Y3nz5tkYSFIywGCZpUBd6WcRgpn8NmJoQICojbpZmsJOJNHm0BKdyuJ6Xdx+eDQQ== - dependencies: - "@jest/types" "^25.4.0" - chalk "^3.0.0" - jest-get-type "^25.2.6" - jest-util "^25.4.0" - pretty-format "^25.4.0" - -jest-environment-jsdom-fourteen@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom-fourteen/-/jest-environment-jsdom-fourteen-1.0.1.tgz#4cd0042f58b4ab666950d96532ecb2fc188f96fb" - integrity sha512-DojMX1sY+at5Ep+O9yME34CdidZnO3/zfPh8UW+918C5fIZET5vCjfkegixmsi7AtdYfkr4bPlIzmWnlvQkP7Q== - dependencies: - "@jest/environment" "^24.3.0" - "@jest/fake-timers" "^24.3.0" - "@jest/types" "^24.3.0" - jest-mock "^24.0.0" - jest-util "^24.0.0" - jsdom "^14.1.0" - -jest-environment-jsdom@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-24.9.0.tgz#4b0806c7fc94f95edb369a69cc2778eec2b7375b" - integrity sha512-Zv9FV9NBRzLuALXjvRijO2351DRQeLYXtpD4xNvfoVFw21IOKNhZAEUKcbiEtjTkm2GsJ3boMVgkaR7rN8qetA== - dependencies: - "@jest/environment" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - jest-util "^24.9.0" - jsdom "^11.5.1" - -jest-environment-jsdom@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-25.4.0.tgz#bbfc7f85bb6ade99089062a830c79cb454565cf0" - integrity sha512-KTitVGMDrn2+pt7aZ8/yUTuS333w3pWt1Mf88vMntw7ZSBNDkRS6/4XLbFpWXYfWfp1FjcjQTOKzbK20oIehWQ== - dependencies: - "@jest/environment" "^25.4.0" - "@jest/fake-timers" "^25.4.0" - "@jest/types" "^25.4.0" - jest-mock "^25.4.0" - jest-util "^25.4.0" - jsdom "^15.2.1" - -jest-environment-node@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-24.9.0.tgz#333d2d2796f9687f2aeebf0742b519f33c1cbfd3" - integrity sha512-6d4V2f4nxzIzwendo27Tr0aFm+IXWa0XEUnaH6nU0FMaozxovt+sfRvh4J47wL1OvF83I3SSTu0XK+i4Bqe7uA== - dependencies: - "@jest/environment" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/types" "^24.9.0" - jest-mock "^24.9.0" - jest-util "^24.9.0" - -jest-environment-node@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-25.4.0.tgz#188aef01ae6418e001c03fdd1c299961e1439082" - integrity sha512-wryZ18vsxEAKFH7Z74zi/y/SyI1j6UkVZ6QsllBuT/bWlahNfQjLNwFsgh/5u7O957dYFoXj4yfma4n4X6kU9A== - dependencies: - "@jest/environment" "^25.4.0" - "@jest/fake-timers" "^25.4.0" - "@jest/types" "^25.4.0" - jest-mock "^25.4.0" - jest-util "^25.4.0" - semver "^6.3.0" - -jest-get-type@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" - integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== - -jest-get-type@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-25.2.6.tgz#0b0a32fab8908b44d508be81681487dbabb8d877" - integrity sha512-DxjtyzOHjObRM+sM1knti6or+eOgcGU4xVSb2HNP1TqO4ahsT+rqZg+nyqHWJSvWgKC5cG3QjGFBqxLghiF/Ig== - -jest-haste-map@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-24.9.0.tgz#b38a5d64274934e21fa417ae9a9fbeb77ceaac7d" - integrity sha512-kfVFmsuWui2Sj1Rp1AJ4D9HqJwE4uwTlS/vO+eRUaMmd54BFpli2XhMQnPC2k4cHFVbB2Q2C+jtI1AGLgEnCjQ== - dependencies: - "@jest/types" "^24.9.0" - anymatch "^2.0.0" - fb-watchman "^2.0.0" - graceful-fs "^4.1.15" - invariant "^2.2.4" - jest-serializer "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.9.0" - micromatch "^3.1.10" - sane "^4.0.3" - walker "^1.0.7" - optionalDependencies: - fsevents "^1.2.7" - -jest-haste-map@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-25.4.0.tgz#da7c309dd7071e0a80c953ba10a0ec397efb1ae2" - integrity sha512-5EoCe1gXfGC7jmXbKzqxESrgRcaO3SzWXGCnvp9BcT0CFMyrB1Q6LIsjl9RmvmJGQgW297TCfrdgiy574Rl9HQ== - dependencies: - "@jest/types" "^25.4.0" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.3" - jest-serializer "^25.2.6" - jest-util "^25.4.0" - jest-worker "^25.4.0" - micromatch "^4.0.2" - sane "^4.0.3" - walker "^1.0.7" - which "^2.0.2" - optionalDependencies: - fsevents "^2.1.2" - -jest-jasmine2@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-24.9.0.tgz#1f7b1bd3242c1774e62acabb3646d96afc3be6a0" - integrity sha512-Cq7vkAgaYKp+PsX+2/JbTarrk0DmNhsEtqBXNwUHkdlbrTBLtMJINADf2mf5FkowNsq8evbPc07/qFO0AdKTzw== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - co "^4.6.0" - expect "^24.9.0" - is-generator-fn "^2.0.0" - jest-each "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-runtime "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - pretty-format "^24.9.0" - throat "^4.0.0" - -jest-jasmine2@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-25.4.0.tgz#3d3d19514022e2326e836c2b66d68b4cb63c5861" - integrity sha512-QccxnozujVKYNEhMQ1vREiz859fPN/XklOzfQjm2j9IGytAkUbSwjFRBtQbHaNZ88cItMpw02JnHGsIdfdpwxQ== - dependencies: - "@babel/traverse" "^7.1.0" - "@jest/environment" "^25.4.0" - "@jest/source-map" "^25.2.6" - "@jest/test-result" "^25.4.0" - "@jest/types" "^25.4.0" - chalk "^3.0.0" - co "^4.6.0" - expect "^25.4.0" - is-generator-fn "^2.0.0" - jest-each "^25.4.0" - jest-matcher-utils "^25.4.0" - jest-message-util "^25.4.0" - jest-runtime "^25.4.0" - jest-snapshot "^25.4.0" - jest-util "^25.4.0" - pretty-format "^25.4.0" - throat "^5.0.0" - -jest-leak-detector@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-24.9.0.tgz#b665dea7c77100c5c4f7dfcb153b65cf07dcf96a" - integrity sha512-tYkFIDsiKTGwb2FG1w8hX9V0aUb2ot8zY/2nFg087dUageonw1zrLMP4W6zsRO59dPkTSKie+D4rhMuP9nRmrA== - dependencies: - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - -jest-leak-detector@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-25.4.0.tgz#cf94a160c78e53d810e7b2f40b5fd7ee263375b3" - integrity sha512-7Y6Bqfv2xWsB+7w44dvZuLs5SQ//fzhETgOGG7Gq3TTGFdYvAgXGwV8z159RFZ6fXiCPm/szQ90CyfVos9JIFQ== - dependencies: - jest-get-type "^25.2.6" - pretty-format "^25.4.0" - -jest-matcher-utils@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073" - integrity sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA== - dependencies: - chalk "^2.0.1" - jest-diff "^24.9.0" - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - -jest-matcher-utils@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-25.4.0.tgz#dc3e7aec402a1e567ed80b572b9ad285878895e6" - integrity sha512-yPMdtj7YDgXhnGbc66bowk8AkQ0YwClbbwk3Kzhn5GVDrciiCr27U4NJRbrqXbTdtxjImONITg2LiRIw650k5A== - dependencies: - chalk "^3.0.0" - jest-diff "^25.4.0" - jest-get-type "^25.2.6" - pretty-format "^25.4.0" - -jest-message-util@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" - integrity sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/stack-utils" "^1.0.1" - chalk "^2.0.1" - micromatch "^3.1.10" - slash "^2.0.0" - stack-utils "^1.0.1" - -jest-message-util@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-25.4.0.tgz#2899e8bc43f5317acf8dfdfe89ea237d354fcdab" - integrity sha512-LYY9hRcVGgMeMwmdfh9tTjeux1OjZHMusq/E5f3tJN+dAoVVkJtq5ZUEPIcB7bpxDUt2zjUsrwg0EGgPQ+OhXQ== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/types" "^25.4.0" - "@types/stack-utils" "^1.0.1" - chalk "^3.0.0" - micromatch "^4.0.2" - slash "^3.0.0" - stack-utils "^1.0.1" - -jest-mock@^24.0.0, jest-mock@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-24.9.0.tgz#c22835541ee379b908673ad51087a2185c13f1c6" - integrity sha512-3BEYN5WbSq9wd+SyLDES7AHnjH9A/ROBwmz7l2y+ol+NtSFO8DYiEBzoO1CeFc9a8DYy10EO4dDFVv/wN3zl1w== - dependencies: - "@jest/types" "^24.9.0" - -jest-mock@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-25.4.0.tgz#ded7d64b5328d81d78d2138c825d3a45e30ec8ca" - integrity sha512-MdazSfcYAUjJjuVTTnusLPzE0pE4VXpOUzWdj8sbM+q6abUjm3bATVPXFqTXrxSieR8ocpvQ9v/QaQCftioQFg== - dependencies: - "@jest/types" "^25.4.0" - -jest-pnp-resolver@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.1.tgz#ecdae604c077a7fbc70defb6d517c3c1c898923a" - integrity sha512-pgFw2tm54fzgYvc/OHrnysABEObZCUNFnhjoRjaVOCN8NYc032/gVjPaHD4Aq6ApkSieWtfKAFQtmDKAmhupnQ== - -jest-regex-util@^24.3.0, jest-regex-util@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" - integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA== - -jest-regex-util@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-25.2.6.tgz#d847d38ba15d2118d3b06390056028d0f2fd3964" - integrity sha512-KQqf7a0NrtCkYmZZzodPftn7fL1cq3GQAFVMn5Hg8uKx/fIenLEobNanUxb7abQ1sjADHBseG/2FGpsv/wr+Qw== - -jest-resolve-dependencies@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-24.9.0.tgz#ad055198959c4cfba8a4f066c673a3f0786507ab" - integrity sha512-Fm7b6AlWnYhT0BXy4hXpactHIqER7erNgIsIozDXWl5dVm+k8XdGVe1oTg1JyaFnOxarMEbax3wyRJqGP2Pq+g== - dependencies: - "@jest/types" "^24.9.0" - jest-regex-util "^24.3.0" - jest-snapshot "^24.9.0" - -jest-resolve-dependencies@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-25.4.0.tgz#783937544cfc40afcc7c569aa54748c4b3f83f5a" - integrity sha512-A0eoZXx6kLiuG1Ui7wITQPl04HwjLErKIJTt8GR3c7UoDAtzW84JtCrgrJ6Tkw6c6MwHEyAaLk7dEPml5pf48A== - dependencies: - "@jest/types" "^25.4.0" - jest-regex-util "^25.2.6" - jest-snapshot "^25.4.0" - -jest-resolve@24.9.0, jest-resolve@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-24.9.0.tgz#dff04c7687af34c4dd7e524892d9cf77e5d17321" - integrity sha512-TaLeLVL1l08YFZAt3zaPtjiVvyy4oSA6CRe+0AFPPVX3Q/VI0giIWWoAvoS5L96vj9Dqxj4fB5p2qrHCmTU/MQ== - dependencies: - "@jest/types" "^24.9.0" - browser-resolve "^1.11.3" - chalk "^2.0.1" - jest-pnp-resolver "^1.2.1" - realpath-native "^1.1.0" - -jest-resolve@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-25.4.0.tgz#6f4540ce0d419c4c720e791e871da32ba4da7a60" - integrity sha512-wOsKqVDFWUiv8BtLMCC6uAJ/pHZkfFgoBTgPtmYlsprAjkxrr2U++ZnB3l5ykBMd2O24lXvf30SMAjJIW6k2aA== - dependencies: - "@jest/types" "^25.4.0" - browser-resolve "^1.11.3" - chalk "^3.0.0" - jest-pnp-resolver "^1.2.1" - read-pkg-up "^7.0.1" - realpath-native "^2.0.0" - resolve "^1.15.1" - slash "^3.0.0" - -jest-runner@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-24.9.0.tgz#574fafdbd54455c2b34b4bdf4365a23857fcdf42" - integrity sha512-KksJQyI3/0mhcfspnxxEOBueGrd5E4vV7ADQLT9ESaCzz02WnbdbKWIf5Mkaucoaj7obQckYPVX6JJhgUcoWWg== - dependencies: - "@jest/console" "^24.7.1" - "@jest/environment" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - chalk "^2.4.2" - exit "^0.1.2" - graceful-fs "^4.1.15" - jest-config "^24.9.0" - jest-docblock "^24.3.0" - jest-haste-map "^24.9.0" - jest-jasmine2 "^24.9.0" - jest-leak-detector "^24.9.0" - jest-message-util "^24.9.0" - jest-resolve "^24.9.0" - jest-runtime "^24.9.0" - jest-util "^24.9.0" - jest-worker "^24.6.0" - source-map-support "^0.5.6" - throat "^4.0.0" - -jest-runner@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-25.4.0.tgz#6ca4a3d52e692bbc081228fa68f750012f1f29e5" - integrity sha512-wWQSbVgj2e/1chFdMRKZdvlmA6p1IPujhpLT7TKNtCSl1B0PGBGvJjCaiBal/twaU2yfk8VKezHWexM8IliBfA== - dependencies: - "@jest/console" "^25.4.0" - "@jest/environment" "^25.4.0" - "@jest/test-result" "^25.4.0" - "@jest/types" "^25.4.0" - chalk "^3.0.0" - exit "^0.1.2" - graceful-fs "^4.2.3" - jest-config "^25.4.0" - jest-docblock "^25.3.0" - jest-haste-map "^25.4.0" - jest-jasmine2 "^25.4.0" - jest-leak-detector "^25.4.0" - jest-message-util "^25.4.0" - jest-resolve "^25.4.0" - jest-runtime "^25.4.0" - jest-util "^25.4.0" - jest-worker "^25.4.0" - source-map-support "^0.5.6" - throat "^5.0.0" - -jest-runtime@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-24.9.0.tgz#9f14583af6a4f7314a6a9d9f0226e1a781c8e4ac" - integrity sha512-8oNqgnmF3v2J6PVRM2Jfuj8oX3syKmaynlDMMKQ4iyzbQzIG6th5ub/lM2bCMTmoTKM3ykcUYI2Pw9xwNtjMnw== - dependencies: - "@jest/console" "^24.7.1" - "@jest/environment" "^24.9.0" - "@jest/source-map" "^24.3.0" - "@jest/transform" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/yargs" "^13.0.0" - chalk "^2.0.1" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.1.15" - jest-config "^24.9.0" - jest-haste-map "^24.9.0" - jest-message-util "^24.9.0" - jest-mock "^24.9.0" - jest-regex-util "^24.3.0" - jest-resolve "^24.9.0" - jest-snapshot "^24.9.0" - jest-util "^24.9.0" - jest-validate "^24.9.0" - realpath-native "^1.1.0" - slash "^2.0.0" - strip-bom "^3.0.0" - yargs "^13.3.0" - -jest-runtime@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-25.4.0.tgz#1e5227a9e2159d26ae27dcd426ca6bc041983439" - integrity sha512-lgNJlCDULtXu9FumnwCyWlOub8iytijwsPNa30BKrSNtgoT6NUMXOPrZvsH06U6v0wgD/Igwz13nKA2wEKU2VA== - dependencies: - "@jest/console" "^25.4.0" - "@jest/environment" "^25.4.0" - "@jest/source-map" "^25.2.6" - "@jest/test-result" "^25.4.0" - "@jest/transform" "^25.4.0" - "@jest/types" "^25.4.0" - "@types/yargs" "^15.0.0" - chalk "^3.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.3" - jest-config "^25.4.0" - jest-haste-map "^25.4.0" - jest-message-util "^25.4.0" - jest-mock "^25.4.0" - jest-regex-util "^25.2.6" - jest-resolve "^25.4.0" - jest-snapshot "^25.4.0" - jest-util "^25.4.0" - jest-validate "^25.4.0" - realpath-native "^2.0.0" - slash "^3.0.0" - strip-bom "^4.0.0" - yargs "^15.3.1" - -jest-serializer@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-24.9.0.tgz#e6d7d7ef96d31e8b9079a714754c5d5c58288e73" - integrity sha512-DxYipDr8OvfrKH3Kel6NdED3OXxjvxXZ1uIY2I9OFbGg+vUkkg7AGvi65qbhbWNPvDckXmzMPbK3u3HaDO49bQ== - -jest-serializer@^25.2.6: - version "25.2.6" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-25.2.6.tgz#3bb4cc14fe0d8358489dbbefbb8a4e708ce039b7" - integrity sha512-RMVCfZsezQS2Ww4kB5HJTMaMJ0asmC0BHlnobQC6yEtxiFKIxohFA4QSXSabKwSggaNkqxn6Z2VwdFCjhUWuiQ== - -jest-snapshot@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-24.9.0.tgz#ec8e9ca4f2ec0c5c87ae8f925cf97497b0e951ba" - integrity sha512-uI/rszGSs73xCM0l+up7O7a40o90cnrk429LOiK3aeTvfC0HHmldbd81/B7Ix81KSFe1lwkbl7GnBGG4UfuDew== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^24.9.0" - chalk "^2.0.1" - expect "^24.9.0" - jest-diff "^24.9.0" - jest-get-type "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-resolve "^24.9.0" - mkdirp "^0.5.1" - natural-compare "^1.4.0" - pretty-format "^24.9.0" - semver "^6.2.0" - -jest-snapshot@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-25.4.0.tgz#e0b26375e2101413fd2ccb4278a5711b1922545c" - integrity sha512-J4CJ0X2SaGheYRZdLz9CRHn9jUknVmlks4UBeu270hPAvdsauFXOhx9SQP2JtRzhnR3cvro/9N9KP83/uvFfRg== - dependencies: - "@babel/types" "^7.0.0" - "@jest/types" "^25.4.0" - "@types/prettier" "^1.19.0" - chalk "^3.0.0" - expect "^25.4.0" - jest-diff "^25.4.0" - jest-get-type "^25.2.6" - jest-matcher-utils "^25.4.0" - jest-message-util "^25.4.0" - jest-resolve "^25.4.0" - make-dir "^3.0.0" - natural-compare "^1.4.0" - pretty-format "^25.4.0" - semver "^6.3.0" - -jest-util@^24.0.0, jest-util@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-24.9.0.tgz#7396814e48536d2e85a37de3e4c431d7cb140162" - integrity sha512-x+cZU8VRmOJxbA1K5oDBdxQmdq0OIdADarLxk0Mq+3XS4jgvhG/oKGWcIDCtPG0HgjxOYvF+ilPJQsAyXfbNOg== - dependencies: - "@jest/console" "^24.9.0" - "@jest/fake-timers" "^24.9.0" - "@jest/source-map" "^24.9.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - callsites "^3.0.0" - chalk "^2.0.1" - graceful-fs "^4.1.15" - is-ci "^2.0.0" - mkdirp "^0.5.1" - slash "^2.0.0" - source-map "^0.6.0" - -jest-util@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-25.4.0.tgz#6a093d09d86d2b41ef583e5fe7dd3976346e1acd" - integrity sha512-WSZD59sBtAUjLv1hMeKbNZXmMcrLRWcYqpO8Dz8b4CeCTZpfNQw2q9uwrYAD+BbJoLJlu4ezVPwtAmM/9/SlZA== - dependencies: - "@jest/types" "^25.4.0" - chalk "^3.0.0" - is-ci "^2.0.0" - make-dir "^3.0.0" - -jest-validate@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-24.9.0.tgz#0775c55360d173cd854e40180756d4ff52def8ab" - integrity sha512-HPIt6C5ACwiqSiwi+OfSSHbK8sG7akG8eATl+IPKaeIjtPOeBUd/g3J7DghugzxrGjI93qS/+RPKe1H6PqvhRQ== - dependencies: - "@jest/types" "^24.9.0" - camelcase "^5.3.1" - chalk "^2.0.1" - jest-get-type "^24.9.0" - leven "^3.1.0" - pretty-format "^24.9.0" - -jest-validate@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-25.4.0.tgz#2e177a93b716a137110eaf2768f3d9095abd3f38" - integrity sha512-hvjmes/EFVJSoeP1yOl8qR8mAtMR3ToBkZeXrD/ZS9VxRyWDqQ/E1C5ucMTeSmEOGLipvdlyipiGbHJ+R1MQ0g== - dependencies: - "@jest/types" "^25.4.0" - camelcase "^5.3.1" - chalk "^3.0.0" - jest-get-type "^25.2.6" - leven "^3.1.0" - pretty-format "^25.4.0" - -jest-watch-typeahead@0.4.2: - version "0.4.2" - resolved "https://registry.yarnpkg.com/jest-watch-typeahead/-/jest-watch-typeahead-0.4.2.tgz#e5be959698a7fa2302229a5082c488c3c8780a4a" - integrity sha512-f7VpLebTdaXs81rg/oj4Vg/ObZy2QtGzAmGLNsqUS5G5KtSN68tFcIsbvNODfNyQxU78g7D8x77o3bgfBTR+2Q== - dependencies: - ansi-escapes "^4.2.1" - chalk "^2.4.1" - jest-regex-util "^24.9.0" - jest-watcher "^24.3.0" - slash "^3.0.0" - string-length "^3.1.0" - strip-ansi "^5.0.0" - -jest-watcher@^24.3.0, jest-watcher@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-24.9.0.tgz#4b56e5d1ceff005f5b88e528dc9afc8dd4ed2b3b" - integrity sha512-+/fLOfKPXXYJDYlks62/4R4GoT+GU1tYZed99JSCOsmzkkF7727RqKrjNAxtfO4YpGv11wybgRvCjR73lK2GZw== - dependencies: - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/yargs" "^13.0.0" - ansi-escapes "^3.0.0" - chalk "^2.0.1" - jest-util "^24.9.0" - string-length "^2.0.0" - -jest-watcher@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-25.4.0.tgz#63ec0cd5c83bb9c9d1ac95be7558dd61c995ff05" - integrity sha512-36IUfOSRELsKLB7k25j/wutx0aVuHFN6wO94gPNjQtQqFPa2rkOymmx9rM5EzbF3XBZZ2oqD9xbRVoYa2w86gw== - dependencies: - "@jest/test-result" "^25.4.0" - "@jest/types" "^25.4.0" - ansi-escapes "^4.2.1" - chalk "^3.0.0" - jest-util "^25.4.0" - string-length "^3.1.0" - -jest-worker@^24.6.0, jest-worker@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" - integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== - dependencies: - merge-stream "^2.0.0" - supports-color "^6.1.0" - -jest-worker@^25.1.0, jest-worker@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-25.4.0.tgz#ee0e2ceee5a36ecddf5172d6d7e0ab00df157384" - integrity sha512-ghAs/1FtfYpMmYQ0AHqxV62XPvKdUDIBBApMZfly+E9JEmYh2K45G0R5dWxx986RN12pRCxsViwQVtGl+N4whw== - dependencies: - merge-stream "^2.0.0" - supports-color "^7.0.0" - -jest@24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-24.9.0.tgz#987d290c05a08b52c56188c1002e368edb007171" - integrity sha512-YvkBL1Zm7d2B1+h5fHEOdyjCG+sGMz4f8D86/0HiqJ6MB4MnDc8FgP5vdWsGnemOQro7lnYo8UakZ3+5A0jxGw== - dependencies: - import-local "^2.0.0" - jest-cli "^24.9.0" - -jest@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-25.4.0.tgz#fb96892c5c4e4a6b9bcb12068849cddf4c5f8cc7" - integrity sha512-XWipOheGB4wai5JfCYXd6vwsWNwM/dirjRoZgAa7H2wd8ODWbli2AiKjqG8AYhyx+8+5FBEdpO92VhGlBydzbw== - dependencies: - "@jest/core" "^25.4.0" - import-local "^3.0.2" - jest-cli "^25.4.0" - -jju@~1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" - integrity sha1-o6vicYryQaKykE+EpiWXDzia4yo= - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-tokens@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" - integrity sha1-mGbfOVECEw449/mWvOtlRDIJwls= - -js-yaml@^3.10.0, js-yaml@^3.13.1: - version "3.13.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847" - integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha1-peZUwuWi3rXyAdls77yoDA7y9RM= - -jsdom@^11.5.1: - version "11.12.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8" - integrity sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw== - dependencies: - abab "^2.0.0" - acorn "^5.5.3" - acorn-globals "^4.1.0" - array-equal "^1.0.0" - cssom ">= 0.3.2 < 0.4.0" - cssstyle "^1.0.0" - data-urls "^1.0.0" - domexception "^1.0.1" - escodegen "^1.9.1" - html-encoding-sniffer "^1.0.2" - left-pad "^1.3.0" - nwsapi "^2.0.7" - parse5 "4.0.0" - pn "^1.1.0" - request "^2.87.0" - request-promise-native "^1.0.5" - sax "^1.2.4" - symbol-tree "^3.2.2" - tough-cookie "^2.3.4" - w3c-hr-time "^1.0.1" - webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.3" - whatwg-mimetype "^2.1.0" - whatwg-url "^6.4.1" - ws "^5.2.0" - xml-name-validator "^3.0.0" - -jsdom@^14.1.0: - version "14.1.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-14.1.0.tgz#916463b6094956b0a6c1782c94e380cd30e1981b" - integrity sha512-O901mfJSuTdwU2w3Sn+74T+RnDVP+FuV5fH8tcPWyqrseRAb0s5xOtPgCFiPOtLcyK7CLIJwPyD83ZqQWvA5ng== - dependencies: - abab "^2.0.0" - acorn "^6.0.4" - acorn-globals "^4.3.0" - array-equal "^1.0.0" - cssom "^0.3.4" - cssstyle "^1.1.1" - data-urls "^1.1.0" - domexception "^1.0.1" - escodegen "^1.11.0" - html-encoding-sniffer "^1.0.2" - nwsapi "^2.1.3" - parse5 "5.1.0" - pn "^1.1.0" - request "^2.88.0" - request-promise-native "^1.0.5" - saxes "^3.1.9" - symbol-tree "^3.2.2" - tough-cookie "^2.5.0" - w3c-hr-time "^1.0.1" - w3c-xmlserializer "^1.1.2" - webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^7.0.0" - ws "^6.1.2" - xml-name-validator "^3.0.0" - -jsdom@^15.2.1: - version "15.2.1" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-15.2.1.tgz#d2feb1aef7183f86be521b8c6833ff5296d07ec5" - integrity sha512-fAl1W0/7T2G5vURSyxBzrJ1LSdQn6Tr5UX/xD4PXDx/PDgwygedfW6El/KIj3xJ7FU61TTYnc/l/B7P49Eqt6g== - dependencies: - abab "^2.0.0" - acorn "^7.1.0" - acorn-globals "^4.3.2" - array-equal "^1.0.0" - cssom "^0.4.1" - cssstyle "^2.0.0" - data-urls "^1.1.0" - domexception "^1.0.1" - escodegen "^1.11.1" - html-encoding-sniffer "^1.0.2" - nwsapi "^2.2.0" - parse5 "5.1.0" - pn "^1.1.0" - request "^2.88.0" - request-promise-native "^1.0.7" - saxes "^3.1.9" - symbol-tree "^3.2.2" - tough-cookie "^3.0.1" - w3c-hr-time "^1.0.1" - w3c-xmlserializer "^1.1.2" - webidl-conversions "^4.0.2" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^7.0.0" - ws "^7.0.0" - xml-name-validator "^3.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - -json-parse-better-errors@^1.0.0, json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" - integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-schema@0.2.3: - version "0.2.3" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" - integrity sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM= - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -json-stable-stringify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" - integrity sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8= - dependencies: - jsonify "~0.0.0" - -json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus= - -json3@^3.3.2: - version "3.3.3" - resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.3.tgz#7fc10e375fc5ae42c4705a5cc0aa6f62be305b81" - integrity sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== - -json5@2.x, json5@^2.1.1, json5@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" - integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== - dependencies: - minimist "^1.2.5" - -json5@^0.5.0: - version "0.5.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" - integrity sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= - optionalDependencies: - graceful-fs "^4.1.6" - -jsonify@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" - integrity sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM= - -jsonparse@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - integrity sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA= - -jsonwebtoken@^8.0.0, jsonwebtoken@^8.5.1: - version "8.5.1" - resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d" - integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== - dependencies: - jws "^3.2.2" - lodash.includes "^4.3.0" - lodash.isboolean "^3.0.3" - lodash.isinteger "^4.0.4" - lodash.isnumber "^3.0.3" - lodash.isplainobject "^4.0.6" - lodash.isstring "^4.0.1" - lodash.once "^4.0.0" - ms "^2.1.1" - semver "^5.6.0" - -jsprim@^1.2.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" - integrity sha1-MT5mvB5cwG5Di8G3SZwuXFastqI= - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.2.3" - verror "1.10.0" - -jsx-ast-utils@^2.2.1, jsx-ast-utils@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.2.3.tgz#8a9364e402448a3ce7f14d357738310d9248054f" - integrity sha512-EdIHFMm+1BPynpKOpdPqiOsvnIrInRGJD7bzPZdPkjitQEqpdpUuFpq4T0npZFKTiB3RhWFdGN+oqOJIdhDhQA== - dependencies: - array-includes "^3.0.3" - object.assign "^4.1.0" - -jwa@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a" - integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA== - dependencies: - buffer-equal-constant-time "1.0.1" - ecdsa-sig-formatter "1.0.11" - safe-buffer "^5.0.1" - -jws@^3.2.2: - version "3.2.2" - resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" - integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== - dependencies: - jwa "^1.4.1" - safe-buffer "^5.0.1" - -keygrip@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/keygrip/-/keygrip-1.1.0.tgz#871b1681d5e159c62a445b0c74b615e0917e7226" - integrity sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ== - dependencies: - tsscmp "1.0.6" - -killable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892" - integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== - -kind-of@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-2.0.1.tgz#018ec7a4ce7e3a86cb9141be519d24c8faa981b5" - integrity sha1-AY7HpM5+OobLkUG+UZ0kyPqpgbU= - dependencies: - is-buffer "^1.0.2" - -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha1-IIE989cSkosgc3hpGkUGb65y3Vc= - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -koa-compose@^3.0.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/koa-compose/-/koa-compose-3.2.1.tgz#a85ccb40b7d986d8e5a345b3a1ace8eabcf54de7" - integrity sha1-qFzLQLfZhtjlo0Wzoazo6rz1Tec= - dependencies: - any-promise "^1.1.0" - -koa-compose@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/koa-compose/-/koa-compose-4.1.0.tgz#507306b9371901db41121c812e923d0d67d3e877" - integrity sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw== - -koa-compress@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/koa-compress/-/koa-compress-3.1.0.tgz#00fb0af695dc4661c6de261a18da669626ea3ca1" - integrity sha512-0m24/yS/GbhWI+g9FqtvStY+yJwTObwoxOvPok6itVjRen7PBWkjsJ8pre76m+99YybXLKhOJ62mJ268qyBFMQ== - dependencies: - bytes "^3.0.0" - compressible "^2.0.0" - koa-is-json "^1.0.0" - statuses "^1.0.0" - -koa-convert@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/koa-convert/-/koa-convert-1.2.0.tgz#da40875df49de0539098d1700b50820cebcd21d0" - integrity sha1-2kCHXfSd4FOQmNFwC1CCDOvNIdA= - dependencies: - co "^4.6.0" - koa-compose "^3.0.0" - -koa-is-json@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/koa-is-json/-/koa-is-json-1.0.0.tgz#273c07edcdcb8df6a2c1ab7d59ee76491451ec14" - integrity sha1-JzwH7c3Ljfaiwat9We52SRRR7BQ= - -koa-mount@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/koa-mount/-/koa-mount-4.0.0.tgz#e0265e58198e1a14ef889514c607254ff386329c" - integrity sha512-rm71jaA/P+6HeCpoRhmCv8KVBIi0tfGuO/dMKicbQnQW/YJntJ6MnnspkodoA4QstMVEZArsCphmd0bJEtoMjQ== - dependencies: - debug "^4.0.1" - koa-compose "^4.1.0" - -koa@^2.5.1: - version "2.11.0" - resolved "https://registry.yarnpkg.com/koa/-/koa-2.11.0.tgz#fe5a51c46f566d27632dd5dc8fd5d7dd44f935a4" - integrity sha512-EpR9dElBTDlaDgyhDMiLkXrPwp6ZqgAIBvhhmxQ9XN4TFgW+gEz6tkcsNI6BnUbUftrKDjVFj4lW2/J2aNBMMA== - dependencies: - accepts "^1.3.5" - cache-content-type "^1.0.0" - content-disposition "~0.5.2" - content-type "^1.0.4" - cookies "~0.8.0" - debug "~3.1.0" - delegates "^1.0.0" - depd "^1.1.2" - destroy "^1.0.4" - encodeurl "^1.0.2" - error-inject "^1.0.0" - escape-html "^1.0.3" - fresh "~0.5.2" - http-assert "^1.3.0" - http-errors "^1.6.3" - is-generator-function "^1.0.7" - koa-compose "^4.1.0" - koa-convert "^1.2.0" - on-finished "^2.3.0" - only "~0.0.2" - parseurl "^1.3.2" - statuses "^1.5.0" - type-is "^1.6.16" - vary "^1.1.2" - -last-call-webpack-plugin@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/last-call-webpack-plugin/-/last-call-webpack-plugin-3.0.0.tgz#9742df0e10e3cf46e5c0381c2de90d3a7a2d7555" - integrity sha512-7KI2l2GIZa9p2spzPIVZBYyNKkN+e/SQPpnjlTiPhdbDW3F86tdKKELxKpzJ5sgU19wQWsACULZmpTPYHeWO5w== - dependencies: - lodash "^4.17.5" - webpack-sources "^1.1.0" - -latest-version@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" - integrity sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU= - dependencies: - package-json "^4.0.0" - -lazy-cache@^0.2.3: - version "0.2.7" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-0.2.7.tgz#7feddf2dcb6edb77d11ef1d117ab5ffdf0ab1b65" - integrity sha1-f+3fLctu23fRHvHRF6tf/fCrG2U= - -lazy-cache@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" - integrity sha1-odePw6UEdMuAhF07O24dpJpEbo4= - -lcid@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" - integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== - dependencies: - invert-kv "^2.0.0" - -left-pad@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e" - integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA== - -lerna@^3.18.4: - version "3.20.2" - resolved "https://registry.yarnpkg.com/lerna/-/lerna-3.20.2.tgz#abf84e73055fe84ee21b46e64baf37b496c24864" - integrity sha512-bjdL7hPLpU3Y8CBnw/1ys3ynQMUjiK6l9iDWnEGwFtDy48Xh5JboR9ZJwmKGCz9A/sarVVIGwf1tlRNKUG9etA== - dependencies: - "@lerna/add" "3.20.0" - "@lerna/bootstrap" "3.20.0" - "@lerna/changed" "3.20.0" - "@lerna/clean" "3.20.0" - "@lerna/cli" "3.18.5" - "@lerna/create" "3.18.5" - "@lerna/diff" "3.18.5" - "@lerna/exec" "3.20.0" - "@lerna/import" "3.18.5" - "@lerna/info" "3.20.0" - "@lerna/init" "3.18.5" - "@lerna/link" "3.18.5" - "@lerna/list" "3.20.0" - "@lerna/publish" "3.20.2" - "@lerna/run" "3.20.0" - "@lerna/version" "3.20.2" - import-local "^2.0.0" - npmlog "^4.1.2" - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -levenary@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/levenary/-/levenary-1.1.1.tgz#842a9ee98d2075aa7faeedbe32679e9205f46f77" - integrity sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ== - dependencies: - leven "^3.1.0" - -levn@^0.3.0, levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -light-my-request@^3.7.3: - version "3.7.4" - resolved "https://registry.yarnpkg.com/light-my-request/-/light-my-request-3.7.4.tgz#95d3ef96450cad0d643f7448ca7e81f9cdef8a40" - integrity sha512-xiAMJBW3Zaxz+C42Uo0N6spUqhcSsmB9IqxE/VF+J7HWuxsRPeOzeY2SOMtTR0dbsX/RVpxGAFHR0uB6vuTs8A== - dependencies: - ajv "^6.10.2" - cookie "^0.4.0" - readable-stream "^3.4.0" - set-cookie-parser "^2.4.1" - -lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - -linkify-it@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.2.0.tgz#e3b54697e78bf915c70a38acd78fd09e0058b1cf" - integrity sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw== - dependencies: - uc.micro "^1.0.1" - -load-json-file@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" - integrity sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - pinkie-promise "^2.0.0" - strip-bom "^2.0.0" - -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - -load-json-file@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-5.3.0.tgz#4d3c1e01fa1c03ea78a60ac7af932c9ce53403f3" - integrity sha512-cJGP40Jc/VXUsp8/OrnyKyTZ1y6v/dphm3bioS+RrKXjK2BB6wHUd6JptZEFDGgGahMT+InnZO5i1Ei9mpC8Bw== - dependencies: - graceful-fs "^4.1.15" - parse-json "^4.0.0" - pify "^4.0.1" - strip-bom "^3.0.0" - type-fest "^0.3.0" - -loader-fs-cache@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz#f08657646d607078be2f0a032f8bd69dd6f277d9" - integrity sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA== - dependencies: - find-cache-dir "^0.1.1" - mkdirp "^0.5.1" - -loader-runner@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" - integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== - -loader-utils@1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" - integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== - dependencies: - big.js "^5.2.2" - emojis-list "^2.0.0" - json5 "^1.0.1" - -loader-utils@^0.2.16: - version "0.2.17" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" - integrity sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g= - dependencies: - big.js "^3.1.3" - emojis-list "^2.0.0" - json5 "^0.5.0" - object-assign "^4.0.1" - -loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613" - integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== - dependencies: - big.js "^5.2.2" - emojis-list "^3.0.0" - json5 "^1.0.1" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -lodash._reinterpolate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= - -lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= - -lodash.get@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" - integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= - -lodash.includes@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" - integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8= - -lodash.isboolean@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" - integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= - -lodash.isinteger@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" - integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M= - -lodash.ismatch@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" - integrity sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc= - -lodash.isnumber@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" - integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w= - -lodash.isplainobject@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= - -lodash.memoize@4.x, lodash.memoize@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4= - -lodash.once@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" - integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= - -lodash.set@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" - integrity sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM= - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= - -lodash.template@^4.0.2, lodash.template@^4.4.0, lodash.template@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" - integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.templatesettings "^4.0.0" - -lodash.templatesettings@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" - integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== - dependencies: - lodash._reinterpolate "^3.0.0" - -lodash.uniq@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" - integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= - -"lodash@>=3.5 <5", "lodash@>=4 <5", lodash@^4.11.1, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.2.1: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== - -loglevel@^1.6.6: - version "1.6.8" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.6.8.tgz#8a25fb75d092230ecd4457270d80b54e28011171" - integrity sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA== - -lolex@^5.0.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/lolex/-/lolex-5.1.2.tgz#953694d098ce7c07bc5ed6d0e42bc6c0c6d5a367" - integrity sha512-h4hmjAvHTmd+25JSwrtTIuwbKdwg5NzZVRMLn9saij4SZaepCrTCxPr35H/3bjwfMJtN+t3CX8672UIkglz28A== - dependencies: - "@sinonjs/commons" "^1.7.0" - -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -loud-rejection@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" - integrity sha1-W0b4AUft7leIcPCG0Eghz5mOVR8= - dependencies: - currently-unhandled "^0.4.1" - signal-exit "^3.0.0" - -lower-case@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" - integrity sha1-miyr0bno4K6ZOkv31YdcOcQujqw= - -lower-case@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.1.tgz#39eeb36e396115cc05e29422eaea9e692c9408c7" - integrity sha512-LiWgfDLLb1dwbFQZsSglpRj+1ctGnayXz3Uv0/WO8n558JycT5fg6zkNcnW0G68Nn0aEldTFeEfmjCfmqry/rQ== - dependencies: - tslib "^1.10.0" - -lowercase-keys@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== - -"lru-cache@>=4 <5", lru-cache@^4.0.1: - version "4.1.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -macos-release@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/macos-release/-/macos-release-2.3.0.tgz#eb1930b036c0800adebccd5f17bc4c12de8bb71f" - integrity sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA== - -make-dir@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" - integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== - dependencies: - pify "^3.0.0" - -make-dir@^2.0.0, make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -make-dir@^3.0.0, make-dir@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -make-error@1.x: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -make-fetch-happen@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz#aa8387104f2687edca01c8687ee45013d02d19bd" - integrity sha512-07JHC0r1ykIoruKO8ifMXu+xEU8qOXDFETylktdug6vJDACnP+HKevOu3PXyNPzFyTSlz8vrBYlBO1JZRe8Cag== - dependencies: - agentkeepalive "^3.4.1" - cacache "^12.0.0" - http-cache-semantics "^3.8.1" - http-proxy-agent "^2.1.0" - https-proxy-agent "^2.2.3" - lru-cache "^5.1.1" - mississippi "^3.0.0" - node-fetch-npm "^2.0.2" - promise-retry "^1.1.1" - socks-proxy-agent "^4.0.0" - ssri "^6.0.0" - -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= - dependencies: - tmpl "1.0.x" - -mamacro@^0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/mamacro/-/mamacro-0.0.3.tgz#ad2c9576197c9f1abf308d0787865bd975a3f3e4" - integrity sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA== - -map-age-cleaner@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" - integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== - dependencies: - p-defer "^1.0.0" - -map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= - -map-obj@^1.0.0, map-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0= - -map-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-2.0.0.tgz#a65cd29087a92598b8791257a523e021222ac1f9" - integrity sha1-plzSkIepJZi4eRJXpSPgISIqwfk= - -map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= - dependencies: - object-visit "^1.0.0" - -markdown-doctest@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/markdown-doctest/-/markdown-doctest-1.0.0.tgz#3548462165f7d7a1d9aa830fce8e18206d7435f9" - integrity sha512-wE7+m7GlJHWAN0ZUlU1nbfe+7h+kwMh1qW08dJCGvNgFGl8Z1fL4vNxaBw4AJM7hbe4cvA1TsBgCU+IzspFzUQ== - dependencies: - "@babel/core" "^7.6.4" - "@babel/preset-env" "^7.6.3" - chalk "^2.4.2" - glob "^7.1.4" - -markdown-it@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-10.0.0.tgz#abfc64f141b1722d663402044e43927f1f50a8dc" - integrity sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg== - dependencies: - argparse "^1.0.7" - entities "~2.0.0" - linkify-it "^2.0.0" - mdurl "^1.0.1" - uc.micro "^1.0.5" - -md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - -mdn-data@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" - integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== - -mdn-data@2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.6.tgz#852dc60fcaa5daa2e8cf6c9189c440ed3e042978" - integrity sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA== - -mdurl@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" - integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4= - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= - -mem@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" - integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== - dependencies: - map-age-cleaner "^0.1.1" - mimic-fn "^2.0.0" - p-is-promise "^2.0.0" - -memory-fs@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" - integrity sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -memory-fs@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c" - integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== - dependencies: - errno "^0.1.3" - readable-stream "^2.0.1" - -meow@^3.3.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" - integrity sha1-cstmi0JSKCkKu/qFaJJYcwioAfs= - dependencies: - camelcase-keys "^2.0.0" - decamelize "^1.1.2" - loud-rejection "^1.0.0" - map-obj "^1.0.1" - minimist "^1.1.3" - normalize-package-data "^2.3.4" - object-assign "^4.0.1" - read-pkg-up "^1.0.1" - redent "^1.0.0" - trim-newlines "^1.0.0" - -meow@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/meow/-/meow-4.0.1.tgz#d48598f6f4b1472f35bf6317a95945ace347f975" - integrity sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A== - dependencies: - camelcase-keys "^4.0.0" - decamelize-keys "^1.0.0" - loud-rejection "^1.0.0" - minimist "^1.1.3" - minimist-options "^3.0.1" - normalize-package-data "^2.3.4" - read-pkg-up "^3.0.0" - redent "^2.0.0" - trim-newlines "^2.0.0" - -meow@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/meow/-/meow-5.0.0.tgz#dfc73d63a9afc714a5e371760eb5c88b91078aa4" - integrity sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig== - dependencies: - camelcase-keys "^4.0.0" - decamelize-keys "^1.0.0" - loud-rejection "^1.0.0" - minimist-options "^3.0.1" - normalize-package-data "^2.3.4" - read-pkg-up "^3.0.0" - redent "^2.0.0" - trim-newlines "^2.0.0" - yargs-parser "^10.0.0" - -merge-deep@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/merge-deep/-/merge-deep-3.0.2.tgz#f39fa100a4f1bd34ff29f7d2bf4508fbb8d83ad2" - integrity sha512-T7qC8kg4Zoti1cFd8Cr0M+qaZfOwjlPDEdZIIPPB2JZctjaPM4fX+i7HOId69tAti2fvO6X5ldfYUONDODsrkA== - dependencies: - arr-union "^3.1.0" - clone-deep "^0.2.4" - kind-of "^3.0.2" - -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.2.3: - version "1.3.0" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.3.0.tgz#5b366ee83b2f1582c48f87e47cf1a9352103ca81" - integrity sha512-2j4DAdlBOkiSZIsaXk4mTE3sRS02yBHAtfy127xRV3bQUFqXkjHCHLW6Scv7DwNRbIWNHH8zpnz9zMaKXIdvYw== - -methods@^1.1.1, methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= - -microevent.ts@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/microevent.ts/-/microevent.ts-0.1.1.tgz#70b09b83f43df5172d0205a63025bce0f7357fa0" - integrity sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g== - -micromatch@4.x, micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== - dependencies: - braces "^3.0.1" - picomatch "^2.0.5" - -micromatch@^3.1.10, micromatch@^3.1.4: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - -middie@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/middie/-/middie-4.1.0.tgz#0fe986c83d5081489514ca1a2daba5ca36263436" - integrity sha512-eylPpZA+K3xO9kpDjagoPkEUkNcWV3EAo5OEz0MqsekUpT7KbnQkk8HNZkh4phx2vvOAmNNZuLRWF9lDDHPpVQ== - dependencies: - path-to-regexp "^4.0.0" - reusify "^1.0.2" - -miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - -mime-db@1.44.0, "mime-db@>= 1.43.0 < 2": - version "1.44.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" - integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== - -mime-types@^2.1.12, mime-types@^2.1.18, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24: - version "2.1.27" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" - integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== - dependencies: - mime-db "1.44.0" - -mime@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - -mime@^2.4.0, mime@^2.4.4: - version "2.4.4" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.4.tgz#bd7b91135fc6b01cde3e9bae33d659b63d8857e5" - integrity sha512-LRxmNwziLPT828z+4YkNzloCFC2YM4wrB99k+AV5ZbEyfGNWfG8SO1FUXLmLDBSo89NrJZ4DIWeLjy1CHGhMGA== - -mimic-fn@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" - integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ== - -mimic-fn@^2.0.0, mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -mini-css-extract-plugin@0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz#47f2cf07aa165ab35733b1fc97d4c46c0564339e" - integrity sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A== - dependencies: - loader-utils "^1.1.0" - normalize-url "1.9.1" - schema-utils "^1.0.0" - webpack-sources "^1.1.0" - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= - -minimatch@3.0.4, minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist-options@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-3.0.2.tgz#fba4c8191339e13ecf4d61beb03f070103f3d954" - integrity sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ== - dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - -minimist@^1.1.1, minimist@^1.1.3, minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -minipass-collect@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" - integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== - dependencies: - minipass "^3.0.0" - -minipass-flush@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" - integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== - dependencies: - minipass "^3.0.0" - -minipass-pipeline@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.2.tgz#3dcb6bb4a546e32969c7ad710f2c79a86abba93a" - integrity sha512-3JS5A2DKhD2g0Gg8x3yamO0pj7YeKGwVlDS90pF++kxptwx/F+B//roxf9SqYil5tQo65bijy+dAuAFZmYOouA== - dependencies: - minipass "^3.0.0" - -minipass@^2.3.5, minipass@^2.6.0, minipass@^2.8.6, minipass@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" - integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - -minipass@^3.0.0, minipass@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.1.tgz#7607ce778472a185ad6d89082aa2070f79cedcd5" - integrity sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w== - dependencies: - yallist "^4.0.0" - -minizlib@^1.2.1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" - integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== - dependencies: - minipass "^2.9.0" - -mississippi@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022" - integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== - dependencies: - concat-stream "^1.5.0" - duplexify "^3.4.2" - end-of-stream "^1.1.0" - flush-write-stream "^1.0.0" - from2 "^2.1.0" - parallel-transform "^1.1.0" - pump "^3.0.0" - pumpify "^1.3.3" - stream-each "^1.1.0" - through2 "^2.0.0" - -mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - -mixin-object@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/mixin-object/-/mixin-object-2.0.1.tgz#4fb949441dab182540f1fe035ba60e1947a5e57e" - integrity sha1-T7lJRB2rGCVA8f4DW6YOGUel5X4= - dependencies: - for-in "^0.1.3" - is-extendable "^0.1.1" - -mkdirp-promise@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1" - integrity sha1-6bj2jlUsaKnBcTuEiD96HdA5uKE= - dependencies: - mkdirp "*" - -mkdirp@*, mkdirp@1.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@~0.5.1: - version "0.5.5" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== - dependencies: - minimist "^1.2.5" - -mock-fs@^4.11.0: - version "4.12.0" - resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.12.0.tgz#a5d50b12d2d75e5bec9dac3b67ffe3c41d31ade4" - integrity sha512-/P/HtrlvBxY4o/PzXY9cCNBrdylDNxg7gnrv2sMNxj+UJ2m8jSpl0/A6fuJeNAWr99ZvGWH8XCbE0vmnM5KupQ== - -mock-req@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/mock-req/-/mock-req-0.2.0.tgz#749446804d2c006169342ee7be6bba1cffd534c2" - integrity sha1-dJRGgE0sAGFpNC7nvmu6HP/VNMI= - -mock-res@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/mock-res/-/mock-res-0.5.0.tgz#98368beb09df753f64f66d94e5536a97b36a2430" - integrity sha1-mDaL6wnfdT9k9m2U5VNql7NqJDA= - -modify-values@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022" - integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== - -move-concurrently@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92" - integrity sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= - dependencies: - aproba "^1.1.1" - copy-concurrently "^1.0.0" - fs-write-stream-atomic "^1.0.8" - mkdirp "^0.5.1" - rimraf "^2.5.4" - run-queue "^1.0.3" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" - integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== - -ms@^2.0.0, ms@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -multicast-dns-service-types@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" - integrity sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= - -multicast-dns@^6.0.1: - version "6.2.3" - resolved "https://registry.yarnpkg.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229" - integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== - dependencies: - dns-packet "^1.3.1" - thunky "^1.0.2" - -multimatch@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-3.0.0.tgz#0e2534cc6bc238d9ab67e1b9cd5fcd85a6dbf70b" - integrity sha512-22foS/gqQfANZ3o+W7ST2x25ueHDVNWl/b9OlGcLpy/iKxjCpvcNCM51YCenUi7Mt/jAjjqv8JwZRs8YP5sRjA== - dependencies: - array-differ "^2.0.3" - array-union "^1.0.2" - arrify "^1.0.1" - minimatch "^3.0.4" - -mute-stream@0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" - integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s= - -mute-stream@0.0.8, mute-stream@~0.0.4: - version "0.0.8" - resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d" - integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA== - -mz@^2.5.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" - integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== - dependencies: - any-promise "^1.0.0" - object-assign "^4.0.1" - thenify-all "^1.0.0" - -nan@^2.12.1: - version "2.14.1" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" - integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw== - -nanolru@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/nanolru/-/nanolru-1.0.0.tgz#0a5679cd4e4578c4ca3741e610b71c4c9b5afaf8" - integrity sha512-GyQkE8M32pULhQk7Sko5raoIbPalAk90ICG+An4fq6fCsFHsP6fB2K46WGXVdoJpy4SGMnZ/EKbo123fZJomWg== - -nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -negotiator@0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" - integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== - -neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.1.tgz#ac27ada66167fa8849a6addd837f6b189ad2081c" - integrity sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw== - -next-tick@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" - integrity sha1-yobR/ogoFpsBICCOPchCS524NCw= - -nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - -no-case@^2.2.0: - version "2.3.2" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" - integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== - dependencies: - lower-case "^1.1.1" - -no-case@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.3.tgz#c21b434c1ffe48b39087e86cfb4d2582e9df18f8" - integrity sha512-ehY/mVQCf9BL0gKfsJBvFJen+1V//U+0HQMPrWct40ixE4jnv0bfvxDbWtAHL9EcaPEOJHVVYKoQn1TlZUB8Tw== - dependencies: - lower-case "^2.0.1" - tslib "^1.10.0" - -node-fetch-npm@^2.0.2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz#6507d0e17a9ec0be3bec516958a497cec54bf5a4" - integrity sha512-iOuIQDWDyjhv9qSDrj9aq/klt6F9z1p2otB3AV7v3zBDcL/x+OfGsvGQZZCcMZbUf4Ujw1xGNQkjvGnVT22cKg== - dependencies: - encoding "^0.1.11" - json-parse-better-errors "^1.0.0" - safe-buffer "^5.1.1" - -node-fetch@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.1.2.tgz#ab884e8e7e57e38a944753cec706f788d1768bb5" - integrity sha1-q4hOjn5X44qUR1POxwb3iNF2i7U= - -node-fetch@^2.3.0, node-fetch@^2.5.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" - integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== - -node-forge@0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.9.0.tgz#d624050edbb44874adca12bb9a52ec63cb782579" - integrity sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ== - -node-gyp@^5.0.2: - version "5.1.0" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-5.1.0.tgz#8e31260a7af4a2e2f994b0673d4e0b3866156332" - integrity sha512-OUTryc5bt/P8zVgNUmC6xdXiDJxLMAW8cF5tLQOT9E5sOQj+UeQxnnPy74K3CLCa/SOjjBlbuzDLR8ANwA+wmw== - dependencies: - env-paths "^2.2.0" - glob "^7.1.4" - graceful-fs "^4.2.2" - mkdirp "^0.5.1" - nopt "^4.0.1" - npmlog "^4.1.2" - request "^2.88.0" - rimraf "^2.6.3" - semver "^5.7.1" - tar "^4.4.12" - which "^1.3.1" - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs= - -node-libs-browser@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" - integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== - 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-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz#8d9dbe28964a4ac5712e9131642107c71e90ec40" - integrity sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA= - -node-notifier@^5.4.2: - version "5.4.3" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-5.4.3.tgz#cb72daf94c93904098e28b9c590fd866e464bd50" - integrity sha512-M4UBGcs4jeOK9CjTsYwkvH6/MzuUmGCyTW+kCY7uO+1ZVr0+FHGdPdIf5CCLqAaxnRrWidyoQlNkMIIVwbKB8Q== - dependencies: - growly "^1.3.0" - is-wsl "^1.1.0" - semver "^5.5.0" - shellwords "^0.1.1" - which "^1.3.0" - -node-notifier@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/node-notifier/-/node-notifier-6.0.0.tgz#cea319e06baa16deec8ce5cd7f133c4a46b68e12" - integrity sha512-SVfQ/wMw+DesunOm5cKqr6yDcvUTDl/yc97ybGHMrteNEY6oekXpNpS3lZwgLlwz0FLgHoiW28ZpmBHUDg37cw== - dependencies: - growly "^1.3.0" - is-wsl "^2.1.1" - semver "^6.3.0" - shellwords "^0.1.1" - which "^1.3.1" - -node-releases@^1.1.52, node-releases@^1.1.53: - version "1.1.53" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.53.tgz#2d821bfa499ed7c5dffc5e2f28c88e78a08ee3f4" - integrity sha512-wp8zyQVwef2hpZ/dJH7SfSrIPD6YoJz6BDQDpGEkcA0s3LpAQoxBIYmfIq6QAhC1DhwsyCgTaTTcONwX8qzCuQ== - -nodemon@^1.11.0: - version "1.19.4" - resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-1.19.4.tgz#56db5c607408e0fdf8920d2b444819af1aae0971" - integrity sha512-VGPaqQBNk193lrJFotBU8nvWZPqEZY2eIzymy2jjY0fJ9qIsxA0sxQ8ATPl0gZC645gijYEc1jtZvpS8QWzJGQ== - dependencies: - chokidar "^2.1.8" - debug "^3.2.6" - ignore-by-default "^1.0.1" - minimatch "^3.0.4" - pstree.remy "^1.1.7" - semver "^5.7.1" - supports-color "^5.5.0" - touch "^3.1.0" - undefsafe "^2.0.2" - update-notifier "^2.5.0" - -nopt@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" - integrity sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg== - dependencies: - abbrev "1" - osenv "^0.1.4" - -nopt@~1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" - integrity sha1-bd0hvSoxQXuScn3Vhfim83YI6+4= - dependencies: - abbrev "1" - -normalize-package-data@^2.0.0, normalize-package-data@^2.3.0, normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-data@^2.3.5, normalize-package-data@^2.4.0, normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" - integrity sha1-GrKLVW4Zg2Oowab35vogE3/mrtk= - dependencies: - remove-trailing-separator "^1.0.1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -normalize-range@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" - integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= - -normalize-url@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" - integrity sha1-LMDWazHqIwNkWENuNiDYWVTGbDw= - dependencies: - object-assign "^4.0.1" - prepend-http "^1.0.0" - query-string "^4.1.0" - sort-keys "^1.0.0" - -normalize-url@^3.0.0, normalize-url@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559" - integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg== - -npm-bundled@^1.0.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.1.tgz#1edd570865a94cdb1bc8220775e29466c9fb234b" - integrity sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA== - dependencies: - npm-normalize-package-bin "^1.0.1" - -npm-lifecycle@^3.1.2: - version "3.1.5" - resolved "https://registry.yarnpkg.com/npm-lifecycle/-/npm-lifecycle-3.1.5.tgz#9882d3642b8c82c815782a12e6a1bfeed0026309" - integrity sha512-lDLVkjfZmvmfvpvBzA4vzee9cn+Me4orq0QF8glbswJVEbIcSNWib7qGOffolysc3teCqbbPZZkzbr3GQZTL1g== - dependencies: - byline "^5.0.0" - graceful-fs "^4.1.15" - node-gyp "^5.0.2" - resolve-from "^4.0.0" - slide "^1.1.6" - uid-number "0.0.6" - umask "^1.1.0" - which "^1.3.1" - -npm-normalize-package-bin@^1.0.0, npm-normalize-package-bin@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" - integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== - -"npm-package-arg@^4.0.0 || ^5.0.0 || ^6.0.0", npm-package-arg@^6.0.0, npm-package-arg@^6.1.0: - version "6.1.1" - resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-6.1.1.tgz#02168cb0a49a2b75bf988a28698de7b529df5cb7" - integrity sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg== - dependencies: - hosted-git-info "^2.7.1" - osenv "^0.1.5" - semver "^5.6.0" - validate-npm-package-name "^3.0.0" - -npm-packlist@^1.4.4: - version "1.4.8" - resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.4.8.tgz#56ee6cc135b9f98ad3d51c1c95da22bbb9b2ef3e" - integrity sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A== - dependencies: - ignore-walk "^3.0.1" - npm-bundled "^1.0.1" - npm-normalize-package-bin "^1.0.1" - -npm-pick-manifest@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz#f4d9e5fd4be2153e5f4e5f9b7be8dc419a99abb7" - integrity sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw== - dependencies: - figgy-pudding "^3.5.1" - npm-package-arg "^6.0.0" - semver "^5.4.1" - -npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= - dependencies: - path-key "^2.0.0" - -npm-run-path@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -npmlog@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" - integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg== - dependencies: - are-we-there-yet "~1.1.2" - console-control-strings "~1.1.0" - gauge "~2.7.3" - set-blocking "~2.0.0" - -nth-check@^1.0.2, nth-check@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" - integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== - dependencies: - boolbase "~1.0.0" - -num2fraction@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" - integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= - -number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= - -nwsapi@^2.0.7, nwsapi@^2.1.3, nwsapi@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" - integrity sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ== - -oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - -object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha1-fn2Fi3gb18mRpBupde04EnVOmYw= - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - -object-hash@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.0.3.tgz#d12db044e03cd2ca3d77c0570d87225b02e1e6ea" - integrity sha512-JPKn0GMu+Fa3zt3Bmr66JhokJU5BaNBIh4ZeTlaCBzrBsOeXzwcKKAK1tbLiPKgvwmPXsDvvLHoWh5Bm7ofIYg== - -object-inspect@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.7.0.tgz#f4f6bd181ad77f006b5ece60bd0b6f398ff74a67" - integrity sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw== - -object-is@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6" - integrity sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - -object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object-path@0.11.4: - version "0.11.4" - resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.11.4.tgz#370ae752fbf37de3ea70a861c23bba8915691949" - integrity sha1-NwrnUvvzfePqcKhhwju6iRVpGUk= - -object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= - dependencies: - isobject "^3.0.0" - -object.assign@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== - dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - has-symbols "^1.0.0" - object-keys "^1.0.11" - -object.entries@^1.1.0, object.entries@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.1.tgz#ee1cf04153de02bb093fec33683900f57ce5399b" - integrity sha512-ilqR7BgdyZetJutmDPfXCDffGa0/Yzl2ivVNpbx/g4UeWrCdRnFDUBrKJGLhGieRHDATnyZXWBeCb29k9CJysQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - function-bind "^1.1.1" - has "^1.0.3" - -object.fromentries@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.2.tgz#4a09c9b9bb3843dd0f89acdb517a794d4f355ac9" - integrity sha512-r3ZiBH7MQppDJVLx6fhD618GKNG40CZYH9wgwdhKxBDDbQgjeWGGd4AtkZad84d291YxvWe7bJGuE65Anh0dxQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - function-bind "^1.1.1" - has "^1.0.3" - -object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" - integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - -object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= - dependencies: - isobject "^3.0.1" - -object.values@^1.1.0, object.values@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e" - integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - function-bind "^1.1.1" - has "^1.0.3" - -obuf@^1.0.0, obuf@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" - integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== - -octokit-pagination-methods@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz#cf472edc9d551055f9ef73f6e42b4dbb4c80bea4" - integrity sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ== - -on-finished@^2.3.0, on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= - dependencies: - ee-first "1.1.1" - -on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" - integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ= - dependencies: - mimic-fn "^1.0.0" - -onetime@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" - integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== - dependencies: - mimic-fn "^2.1.0" - -only@~0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/only/-/only-0.0.2.tgz#2afde84d03e50b9a8edc444e30610a70295edfb4" - integrity sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q= - -open@^7.0.2: - version "7.0.3" - resolved "https://registry.yarnpkg.com/open/-/open-7.0.3.tgz#db551a1af9c7ab4c7af664139930826138531c48" - integrity sha512-sP2ru2v0P290WFfv49Ap8MF6PkzGNnGlAwHweB4WR4mr5d2d0woiCluUeJ218w7/+PmoBy9JmYgD5A4mLcWOFA== - dependencies: - is-docker "^2.0.0" - is-wsl "^2.1.1" - -opn@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc" - integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== - dependencies: - is-wsl "^1.1.0" - -optimize-css-assets-webpack-plugin@5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/optimize-css-assets-webpack-plugin/-/optimize-css-assets-webpack-plugin-5.0.3.tgz#e2f1d4d94ad8c0af8967ebd7cf138dcb1ef14572" - integrity sha512-q9fbvCRS6EYtUKKSwI87qm2IxlyJK5b4dygW1rKUBT6mMDhdG5e5bZT63v6tnJR9F9FB/H5a0HTmtw+laUBxKA== - dependencies: - cssnano "^4.1.10" - last-call-webpack-plugin "^3.0.0" - -optionator@^0.8.1, optionator@^0.8.3: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -original@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/original/-/original-1.0.2.tgz#e442a61cffe1c5fd20a65f3261c26663b303f25f" - integrity sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== - dependencies: - url-parse "^1.4.3" - -os-browserify@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" - integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= - -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= - -os-locale@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" - integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== - dependencies: - execa "^1.0.0" - lcid "^2.0.0" - mem "^4.0.0" - -os-name@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/os-name/-/os-name-3.1.0.tgz#dec19d966296e1cd62d701a5a66ee1ddeae70801" - integrity sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg== - dependencies: - macos-release "^2.2.0" - windows-release "^3.1.0" - -os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - -osenv@^0.1.4, osenv@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" - integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -p-defer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" - integrity sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= - -p-each-series@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-1.0.0.tgz#930f3d12dd1f50e7434457a22cd6f04ac6ad7f71" - integrity sha1-kw89Et0fUOdDRFeiLNbwSsatf3E= - dependencies: - p-reduce "^1.0.0" - -p-each-series@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-each-series/-/p-each-series-2.1.0.tgz#961c8dd3f195ea96c747e636b262b800a6b1af48" - integrity sha512-ZuRs1miPT4HrjFa+9fRfOFXxGJfORgelKV9f9nNOWw2gl6gVsRaVDOQP0+MI0G0wGKns1Yacsu0GjOFbTK0JFQ== - -p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= - -p-finally@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-2.0.1.tgz#bd6fcaa9c559a096b680806f4d657b3f0f240561" - integrity sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw== - -p-is-promise@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" - integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-limit@^2.0.0, p-limit@^2.2.0, p-limit@^2.2.2: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.0" - -p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-map-series@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-map-series/-/p-map-series-1.0.0.tgz#bf98fe575705658a9e1351befb85ae4c1f07bdca" - integrity sha1-v5j+V1cFZYqeE1G++4WuTB8Hvco= - dependencies: - p-reduce "^1.0.0" - -p-map@^2.0.0, p-map@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" - integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== - -p-map@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" - integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== - dependencies: - aggregate-error "^3.0.0" - -p-pipe@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/p-pipe/-/p-pipe-1.2.0.tgz#4b1a11399a11520a67790ee5a0c1d5881d6befe9" - integrity sha1-SxoROZoRUgpneQ7loMHViB1r7+k= - -p-queue@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-4.0.0.tgz#ed0eee8798927ed6f2c2f5f5b77fdb2061a5d346" - integrity sha512-3cRXXn3/O0o3+eVmUroJPSj/esxoEFIm0ZOno/T+NzG/VZgPOqQ8WKmlNqubSEpZmCIngEy34unkHGg83ZIBmg== - dependencies: - eventemitter3 "^3.1.0" - -p-reduce@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-reduce/-/p-reduce-1.0.0.tgz#18c2b0dd936a4690a529f8231f58a0fdb6a47dfa" - integrity sha1-GMKw3ZNqRpClKfgjH1ig/bakffo= - -p-retry@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328" - integrity sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w== - dependencies: - retry "^0.12.0" - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -p-waterfall@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-waterfall/-/p-waterfall-1.0.0.tgz#7ed94b3ceb3332782353af6aae11aa9fc235bb00" - integrity sha1-ftlLPOszMngjU69qrhGqn8I1uwA= - dependencies: - p-reduce "^1.0.0" - -package-json@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" - integrity sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0= - dependencies: - got "^6.7.1" - registry-auth-token "^3.0.1" - registry-url "^3.0.3" - semver "^5.1.0" - -packet-reader@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/packet-reader/-/packet-reader-1.0.0.tgz#9238e5480dedabacfe1fe3f2771063f164157d74" - integrity sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ== - -pako@~1.0.5: - version "1.0.11" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" - integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== - -parallel-transform@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc" - integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== - dependencies: - cyclist "^1.0.1" - inherits "^2.0.3" - readable-stream "^2.1.5" - -param-case@2.1.x: - version "2.1.1" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" - integrity sha1-35T9jPZTHs915r75oIWPvHK+Ikc= - dependencies: - no-case "^2.2.0" - -param-case@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.3.tgz#4be41f8399eff621c56eebb829a5e451d9801238" - integrity sha512-VWBVyimc1+QrzappRs7waeN2YmoZFCGXWASRYX1/rGHtXqEcrGEIDm+jqIwFa2fRXNgQEwrxaYuIrX0WcAguTA== - dependencies: - dot-case "^3.0.3" - tslib "^1.10.0" - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-asn1@^5.0.0: - version "5.1.5" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e" - integrity sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ== - dependencies: - asn1.js "^4.0.0" - browserify-aes "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - -parse-github-repo-url@^1.3.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz#9e7d8bb252a6cb6ba42595060b7bf6df3dbc1f50" - integrity sha1-nn2LslKmy2ukJZUGC3v23z28H1A= - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - -parse-json@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" - integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= - dependencies: - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - -parse-json@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" - integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" - lines-and-columns "^1.1.6" - -parse-path@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-4.0.1.tgz#0ec769704949778cb3b8eda5e994c32073a1adff" - integrity sha512-d7yhga0Oc+PwNXDvQ0Jv1BuWkLVPXcAoQ/WREgd6vNNoKYaW52KI+RdOFjI63wjkmps9yUE8VS4veP+AgpQ/hA== - dependencies: - is-ssh "^1.3.0" - protocols "^1.4.0" - -parse-url@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-5.0.1.tgz#99c4084fc11be14141efa41b3d117a96fcb9527f" - integrity sha512-flNUPP27r3vJpROi0/R3/2efgKkyXqnXwyP1KQ2U0SfFRgdizOdWfvrrvJg1LuOoxs7GQhmxJlq23IpQ/BkByg== - dependencies: - is-ssh "^1.3.0" - normalize-url "^3.3.0" - parse-path "^4.0.0" - protocols "^1.4.0" - -parse5@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608" - integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA== - -parse5@5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-5.1.0.tgz#c59341c9723f414c452975564c7c00a68d58acd2" - integrity sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ== - -parseurl@^1.3.2, parseurl@~1.3.2, parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -pascal-case@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.1.tgz#5ac1975133ed619281e88920973d2cd1f279de5f" - integrity sha512-XIeHKqIrsquVTQL2crjq3NfJUxmdLasn3TYOU0VBM+UX2a6ztAWBlJQBePLGY7VHW8+2dRadeIPK5+KImwTxQA== - dependencies: - no-case "^3.0.3" - tslib "^1.10.0" - -pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= - -path-browserify@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" - integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== - -path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA= - -path-exists@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" - integrity sha1-D+tsZPD8UY2adU3V77YscCJ2H0s= - dependencies: - pinkie-promise "^2.0.0" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-is-inside@^1.0.1, path-is-inside@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= - -path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= - -path-to-regexp@^4.0.0: - version "4.0.5" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-4.0.5.tgz#2d4fd140af9a369bf7b68f77a7fdc340490f4239" - integrity sha512-l+fTaGG2N9ZRpCEUj5fG1VKdDLaiqwCIvPngpnxzREhcdobhZC4ou4w984HBu72DqAJ5CfcdV6tjqNOunfpdsQ== - -path-type@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" - integrity sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE= - dependencies: - graceful-fs "^4.1.2" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= - dependencies: - pify "^2.0.0" - -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pbkdf2@^3.0.3: - version "3.0.17" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6" - integrity sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA== - 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" - -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - -pg-connection-string@0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-0.1.3.tgz#da1847b20940e42ee1492beaf65d49d91b245df7" - integrity sha1-2hhHsglA5C7hSSvq9l1J2RskXfc= - -pg-connection-string@^2.0.0, pg-connection-string@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/pg-connection-string/-/pg-connection-string-2.2.0.tgz#caab4d38a9de4fdc29c9317acceed752897de41c" - integrity sha512-xB/+wxcpFipUZOQcSzcgkjcNOosGhEoPSjz06jC89lv1dj7mc9bZv6wLVy8M2fVjP0a/xN0N988YDq1L0FhK3A== - -pg-int8@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/pg-int8/-/pg-int8-1.0.1.tgz#943bd463bf5b71b4170115f80f8efc9a0c0eb78c" - integrity sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== - -pg-minify@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pg-minify/-/pg-minify-1.0.0.tgz#aaae109c1ef3e4cc8f4080d758d48a37af7bc758" - integrity sha512-NqXLLNhJli14c15tk350qVYK+ElzlN9gf4atexFTmQy09wAJHfmk0W57OGCJZba2k+ngU+FlqdnAKYjeE3BIww== - -pg-pool@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.1.1.tgz#83763aa042ca8e48b0723693b3de3ff076de4ca1" - integrity sha512-kYH6S0mcZF1TPg1F9boFee2JlCSm2oqnlR2Mz2Wgn1psQbEBNVeNTJCw2wCK48QsctwvGUzbxLMg/lYV6hL/3A== - -pg-protocol@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/pg-protocol/-/pg-protocol-1.2.2.tgz#e16ef28087aa725ce933af092bfe38d8f609faab" - integrity sha512-r8hGxHOk3ccMjjmhFJ/QOSVW5A+PP84TeRlEwB/cQ9Zu+bvtZg8Z59Cx3AMfVQc9S0Z+EG+HKhicF1W1GN5Eqg== - -pg-types@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/pg-types/-/pg-types-2.2.0.tgz#2d0250d636454f7cfa3b6ae0382fdfa8063254a3" - integrity sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA== - dependencies: - pg-int8 "1.0.1" - postgres-array "~2.0.0" - postgres-bytea "~1.0.0" - postgres-date "~1.0.4" - postgres-interval "^1.1.0" - -"pg@>=6.1.0 <9": - version "8.0.3" - resolved "https://registry.yarnpkg.com/pg/-/pg-8.0.3.tgz#b220ee468a1819e1c7e9ca9878f8ae50ba8e1952" - integrity sha512-fvcNXn4o/iq4jKq15Ix/e58q3jPSmzOp6/8C3CaHoSR/bsxdg+1FXfDRePdtE/zBb3++TytvOrS1hNef3WC/Kg== - dependencies: - buffer-writer "2.0.0" - packet-reader "1.0.0" - pg-connection-string "0.1.3" - pg-pool "^3.1.1" - pg-protocol "^1.2.2" - pg-types "^2.1.0" - pgpass "1.x" - semver "4.3.2" - -pgpass@1.x: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pgpass/-/pgpass-1.0.2.tgz#2a7bb41b6065b67907e91da1b07c1847c877b306" - integrity sha1-Knu0G2BltnkH6R2hsHwYR8h3swY= - dependencies: - split "^1.0.0" - -picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - -pify@^2.0.0, pify@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha1-ITXW36ejWMBprJsXh3YogihFD/o= - dependencies: - pinkie "^2.0.0" - -pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha1-clVrgM+g1IqXToDnckjoDtT3+HA= - -pino-std-serializers@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-2.4.2.tgz#cb5e3e58c358b26f88969d7e619ae54bdfcc1ae1" - integrity sha512-WaL504dO8eGs+vrK+j4BuQQq6GLKeCCcHaMB2ItygzVURcL1CycwNEUHTD/lHFHs/NL5qAz2UKrjYWXKSf4aMQ== - -pino@^5.17.0: - version "5.17.0" - resolved "https://registry.yarnpkg.com/pino/-/pino-5.17.0.tgz#b9def314e82402154f89a25d76a31f20ca84b4c8" - integrity sha512-LqrqmRcJz8etUjyV0ddqB6OTUutCgQULPFg2b4dtijRHUsucaAdBgSUW58vY6RFSX+NT8963F+q0tM6lNwGShA== - dependencies: - fast-redact "^2.0.0" - fast-safe-stringify "^2.0.7" - flatstr "^1.0.12" - pino-std-serializers "^2.4.2" - quick-format-unescaped "^3.0.3" - sonic-boom "^0.7.5" - -pirates@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.1.tgz#643a92caf894566f91b2b986d2c66950a8e2fb87" - integrity sha512-WuNqLTbMI3tmfef2TKxlQmAiLHKtFhlsCZnPIpuv2Ow0RDVO8lfy1Opf4NUzlMXLjPl+Men7AuVdX6TA+s+uGA== - dependencies: - node-modules-regexp "^1.0.0" - -pkg-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" - integrity sha1-ektQio1bstYp1EcFb/TpyTFM89Q= - dependencies: - find-up "^1.0.0" - -pkg-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b" - integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= - dependencies: - find-up "^2.1.0" - -pkg-dir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3" - integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== - dependencies: - find-up "^3.0.0" - -pkg-dir@^4.1.0, pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -pkg-up@3.1.0, pkg-up@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" - integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== - dependencies: - find-up "^3.0.0" - -pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" - integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= - dependencies: - find-up "^2.1.0" - -pluralize@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" - integrity sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow== - -pn@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb" - integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA== - -pnp-webpack-plugin@1.6.4: - version "1.6.4" - resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149" - integrity sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg== - dependencies: - ts-pnp "^1.1.6" - -portfinder@^1.0.25: - version "1.0.25" - resolved "https://registry.yarnpkg.com/portfinder/-/portfinder-1.0.25.tgz#254fd337ffba869f4b9d37edc298059cb4d35eca" - integrity sha512-6ElJnHBbxVA1XSLgBp7G1FiCkQdlqGzuF7DswL5tcea+E8UpuvPU7beVAjjRwCioTS9ZluNbu+ZyRvgTsmqEBg== - dependencies: - async "^2.6.2" - debug "^3.1.1" - mkdirp "^0.5.1" - -posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= - -postcss-attribute-case-insensitive@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz#d93e46b504589e94ac7277b0463226c68041a880" - integrity sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^6.0.2" - -postcss-browser-comments@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-browser-comments/-/postcss-browser-comments-3.0.0.tgz#1248d2d935fb72053c8e1f61a84a57292d9f65e9" - integrity sha512-qfVjLfq7HFd2e0HW4s1dvU8X080OZdG46fFbIBFjW7US7YPDcWfRvdElvwMJr2LI6hMmD+7LnH2HcmXTs+uOig== - dependencies: - postcss "^7" - -postcss-calc@^7.0.1: - version "7.0.2" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.2.tgz#504efcd008ca0273120568b0792b16cdcde8aac1" - integrity sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ== - dependencies: - postcss "^7.0.27" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.0.2" - -postcss-color-functional-notation@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz#5efd37a88fbabeb00a2966d1e53d98ced93f74e0" - integrity sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-color-gray@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz#532a31eb909f8da898ceffe296fdc1f864be8547" - integrity sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw== - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.5" - postcss-values-parser "^2.0.0" - -postcss-color-hex-alpha@^5.0.3: - version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz#a8d9ca4c39d497c9661e374b9c51899ef0f87388" - integrity sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw== - dependencies: - postcss "^7.0.14" - postcss-values-parser "^2.0.1" - -postcss-color-mod-function@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz#816ba145ac11cc3cb6baa905a75a49f903e4d31d" - integrity sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ== - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-color-rebeccapurple@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz#c7a89be872bb74e45b1e3022bfe5748823e6de77" - integrity sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-colormin@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381" - integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw== - dependencies: - browserslist "^4.0.0" - color "^3.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-convert-values@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f" - integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-custom-media@^7.0.8: - version "7.0.8" - resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz#fffd13ffeffad73621be5f387076a28b00294e0c" - integrity sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg== - dependencies: - postcss "^7.0.14" - -postcss-custom-properties@^8.0.11: - version "8.0.11" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97" - integrity sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA== - dependencies: - postcss "^7.0.17" - postcss-values-parser "^2.0.1" - -postcss-custom-selectors@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz#64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba" - integrity sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - -postcss-dir-pseudo-class@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz#6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2" - integrity sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - -postcss-discard-comments@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033" - integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg== - dependencies: - postcss "^7.0.0" - -postcss-discard-duplicates@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb" - integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ== - dependencies: - postcss "^7.0.0" - -postcss-discard-empty@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765" - integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w== - dependencies: - postcss "^7.0.0" - -postcss-discard-overridden@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57" - integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg== - dependencies: - postcss "^7.0.0" - -postcss-double-position-gradients@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz#fc927d52fddc896cb3a2812ebc5df147e110522e" - integrity sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA== - dependencies: - postcss "^7.0.5" - postcss-values-parser "^2.0.0" - -postcss-env-function@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-2.0.2.tgz#0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7" - integrity sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-flexbugs-fixes@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.1.0.tgz#e094a9df1783e2200b7b19f875dcad3b3aff8b20" - integrity sha512-jr1LHxQvStNNAHlgco6PzY308zvLklh7SJVYuWUwyUQncofaAlD2l+P/gxKHOdqWKe7xJSkVLFF/2Tp+JqMSZA== - dependencies: - postcss "^7.0.0" - -postcss-focus-visible@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz#477d107113ade6024b14128317ade2bd1e17046e" - integrity sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g== - dependencies: - postcss "^7.0.2" - -postcss-focus-within@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz#763b8788596cee9b874c999201cdde80659ef680" - integrity sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w== - dependencies: - postcss "^7.0.2" - -postcss-font-variant@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-4.0.0.tgz#71dd3c6c10a0d846c5eda07803439617bbbabacc" - integrity sha512-M8BFYKOvCrI2aITzDad7kWuXXTm0YhGdP9Q8HanmN4EF1Hmcgs1KK5rSHylt/lUJe8yLxiSwWAHdScoEiIxztg== - dependencies: - postcss "^7.0.2" - -postcss-gap-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz#431c192ab3ed96a3c3d09f2ff615960f902c1715" - integrity sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg== - dependencies: - postcss "^7.0.2" - -postcss-image-set-function@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz#28920a2f29945bed4c3198d7df6496d410d3f288" - integrity sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-initial@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.2.tgz#f018563694b3c16ae8eaabe3c585ac6319637b2d" - integrity sha512-ugA2wKonC0xeNHgirR4D3VWHs2JcU08WAi1KFLVcnb7IN89phID6Qtg2RIctWbnvp1TM2BOmDtX8GGLCKdR8YA== - dependencies: - lodash.template "^4.5.0" - postcss "^7.0.2" - -postcss-lab-function@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz#bb51a6856cd12289ab4ae20db1e3821ef13d7d2e" - integrity sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg== - dependencies: - "@csstools/convert-colors" "^1.4.0" - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-load-config@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003" - integrity sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q== - dependencies: - cosmiconfig "^5.0.0" - import-cwd "^2.0.0" - -postcss-loader@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d" - integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA== - dependencies: - loader-utils "^1.1.0" - postcss "^7.0.0" - postcss-load-config "^2.0.0" - schema-utils "^1.0.0" - -postcss-logical@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-3.0.0.tgz#2495d0f8b82e9f262725f75f9401b34e7b45d5b5" - integrity sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA== - dependencies: - postcss "^7.0.2" - -postcss-media-minmax@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz#b75bb6cbc217c8ac49433e12f22048814a4f5ed5" - integrity sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw== - dependencies: - postcss "^7.0.2" - -postcss-merge-longhand@^4.0.11: - version "4.0.11" - resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24" - integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw== - dependencies: - css-color-names "0.0.4" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - stylehacks "^4.0.0" - -postcss-merge-rules@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650" - integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ== - dependencies: - browserslist "^4.0.0" - caniuse-api "^3.0.0" - cssnano-util-same-parent "^4.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - vendors "^1.0.0" - -postcss-minify-font-values@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6" - integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-minify-gradients@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471" - integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q== - dependencies: - cssnano-util-get-arguments "^4.0.0" - is-color-stop "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-minify-params@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874" - integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg== - dependencies: - alphanum-sort "^1.0.0" - browserslist "^4.0.0" - cssnano-util-get-arguments "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - uniqs "^2.0.0" - -postcss-minify-selectors@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8" - integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g== - dependencies: - alphanum-sort "^1.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - -postcss-modules-extract-imports@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz#818719a1ae1da325f9832446b01136eeb493cd7e" - integrity sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== - dependencies: - postcss "^7.0.5" - -postcss-modules-local-by-default@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-2.0.6.tgz#dd9953f6dd476b5fd1ef2d8830c8929760b56e63" - integrity sha512-oLUV5YNkeIBa0yQl7EYnxMgy4N6noxmiwZStaEJUSe2xPMcdNc8WmBQuQCx18H5psYbVxz8zoHk0RAAYZXP9gA== - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" - postcss-value-parser "^3.3.1" - -postcss-modules-local-by-default@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz#e8a6561be914aaf3c052876377524ca90dbb7915" - integrity sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ== - dependencies: - icss-utils "^4.1.1" - postcss "^7.0.16" - postcss-selector-parser "^6.0.2" - postcss-value-parser "^4.0.0" - -postcss-modules-scope@^2.1.0, postcss-modules-scope@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz#385cae013cc7743f5a7d7602d1073a89eaae62ee" - integrity sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== - dependencies: - postcss "^7.0.6" - postcss-selector-parser "^6.0.0" - -postcss-modules-values@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-2.0.0.tgz#479b46dc0c5ca3dc7fa5270851836b9ec7152f64" - integrity sha512-Ki7JZa7ff1N3EIMlPnGTZfUMe69FFwiQPnVSXC9mnn3jozCRBYIxiZd44yJOV2AmabOo4qFf8s0dC/+lweG7+w== - dependencies: - icss-replace-symbols "^1.1.0" - postcss "^7.0.6" - -postcss-modules-values@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz#5b5000d6ebae29b4255301b4a3a54574423e7f10" - integrity sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== - dependencies: - icss-utils "^4.0.0" - postcss "^7.0.6" - -postcss-nesting@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052" - integrity sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg== - dependencies: - postcss "^7.0.2" - -postcss-normalize-charset@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4" - integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g== - dependencies: - postcss "^7.0.0" - -postcss-normalize-display-values@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a" - integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ== - dependencies: - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-positions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f" - integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA== - dependencies: - cssnano-util-get-arguments "^4.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-repeat-style@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c" - integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q== - dependencies: - cssnano-util-get-arguments "^4.0.0" - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-string@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c" - integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA== - dependencies: - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-timing-functions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9" - integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A== - dependencies: - cssnano-util-get-match "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-unicode@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb" - integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg== - dependencies: - browserslist "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-url@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1" - integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA== - dependencies: - is-absolute-url "^2.0.0" - normalize-url "^3.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize-whitespace@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82" - integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA== - dependencies: - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-normalize@8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/postcss-normalize/-/postcss-normalize-8.0.1.tgz#90e80a7763d7fdf2da6f2f0f82be832ce4f66776" - integrity sha512-rt9JMS/m9FHIRroDDBGSMsyW1c0fkvOJPy62ggxSHUldJO7B195TqFMqIf+lY5ezpDcYOV4j86aUp3/XbxzCCQ== - dependencies: - "@csstools/normalize.css" "^10.1.0" - browserslist "^4.6.2" - postcss "^7.0.17" - postcss-browser-comments "^3.0.0" - sanitize.css "^10.0.0" - -postcss-ordered-values@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee" - integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw== - dependencies: - cssnano-util-get-arguments "^4.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-overflow-shorthand@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz#31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30" - integrity sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g== - dependencies: - postcss "^7.0.2" - -postcss-page-break@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-2.0.0.tgz#add52d0e0a528cabe6afee8b46e2abb277df46bf" - integrity sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ== - dependencies: - postcss "^7.0.2" - -postcss-place@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-4.0.1.tgz#e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62" - integrity sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg== - dependencies: - postcss "^7.0.2" - postcss-values-parser "^2.0.0" - -postcss-preset-env@6.7.0: - version "6.7.0" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz#c34ddacf8f902383b35ad1e030f178f4cdf118a5" - integrity sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg== - dependencies: - autoprefixer "^9.6.1" - browserslist "^4.6.4" - caniuse-lite "^1.0.30000981" - css-blank-pseudo "^0.1.4" - css-has-pseudo "^0.10.0" - css-prefers-color-scheme "^3.1.1" - cssdb "^4.4.0" - postcss "^7.0.17" - postcss-attribute-case-insensitive "^4.0.1" - postcss-color-functional-notation "^2.0.1" - postcss-color-gray "^5.0.0" - postcss-color-hex-alpha "^5.0.3" - postcss-color-mod-function "^3.0.3" - postcss-color-rebeccapurple "^4.0.1" - postcss-custom-media "^7.0.8" - postcss-custom-properties "^8.0.11" - postcss-custom-selectors "^5.1.2" - postcss-dir-pseudo-class "^5.0.0" - postcss-double-position-gradients "^1.0.0" - postcss-env-function "^2.0.2" - postcss-focus-visible "^4.0.0" - postcss-focus-within "^3.0.0" - postcss-font-variant "^4.0.0" - postcss-gap-properties "^2.0.0" - postcss-image-set-function "^3.0.1" - postcss-initial "^3.0.0" - postcss-lab-function "^2.0.1" - postcss-logical "^3.0.0" - postcss-media-minmax "^4.0.0" - postcss-nesting "^7.0.0" - postcss-overflow-shorthand "^2.0.0" - postcss-page-break "^2.0.0" - postcss-place "^4.0.1" - postcss-pseudo-class-any-link "^6.0.0" - postcss-replace-overflow-wrap "^3.0.0" - postcss-selector-matches "^4.0.0" - postcss-selector-not "^4.0.0" - -postcss-pseudo-class-any-link@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz#2ed3eed393b3702879dec4a87032b210daeb04d1" - integrity sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew== - dependencies: - postcss "^7.0.2" - postcss-selector-parser "^5.0.0-rc.3" - -postcss-reduce-initial@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df" - integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA== - dependencies: - browserslist "^4.0.0" - caniuse-api "^3.0.0" - has "^1.0.0" - postcss "^7.0.0" - -postcss-reduce-transforms@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29" - integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg== - dependencies: - cssnano-util-get-match "^4.0.0" - has "^1.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - -postcss-replace-overflow-wrap@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz#61b360ffdaedca84c7c918d2b0f0d0ea559ab01c" - integrity sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw== - dependencies: - postcss "^7.0.2" - -postcss-safe-parser@4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-safe-parser/-/postcss-safe-parser-4.0.1.tgz#8756d9e4c36fdce2c72b091bbc8ca176ab1fcdea" - integrity sha512-xZsFA3uX8MO3yAda03QrG3/Eg1LN3EPfjjf07vke/46HERLZyHrTsQ9E1r1w1W//fWEhtYNndo2hQplN2cVpCQ== - dependencies: - postcss "^7.0.0" - -postcss-selector-matches@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz#71c8248f917ba2cc93037c9637ee09c64436fcff" - integrity sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww== - dependencies: - balanced-match "^1.0.0" - postcss "^7.0.2" - -postcss-selector-not@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.0.tgz#c68ff7ba96527499e832724a2674d65603b645c0" - integrity sha512-W+bkBZRhqJaYN8XAnbbZPLWMvZD1wKTu0UxtFKdhtGjWYmxhkUneoeOhRJKdAE5V7ZTlnbHfCR+6bNwK9e1dTQ== - dependencies: - balanced-match "^1.0.0" - postcss "^7.0.2" - -postcss-selector-parser@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270" - integrity sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA== - dependencies: - dot-prop "^5.2.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: - version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" - integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ== - dependencies: - cssesc "^2.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" - integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg== - dependencies: - cssesc "^3.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss-svgo@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" - integrity sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw== - dependencies: - is-svg "^3.0.0" - postcss "^7.0.0" - postcss-value-parser "^3.0.0" - svgo "^1.0.0" - -postcss-unique-selectors@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac" - integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg== - dependencies: - alphanum-sort "^1.0.0" - postcss "^7.0.0" - uniqs "^2.0.0" - -postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0, postcss-value-parser@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281" - integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ== - -postcss-value-parser@^4.0.0, postcss-value-parser@^4.0.2, postcss-value-parser@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.0.3.tgz#651ff4593aa9eda8d5d0d66593a2417aeaeb325d" - integrity sha512-N7h4pG+Nnu5BEIzyeaaIYWs0LI5XC40OrRh5L60z0QjFsqGWcHcbkBvpe1WYpcIS9yQ8sOi/vIPt1ejQCrMVrg== - -postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" - integrity sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg== - dependencies: - flatten "^1.0.2" - indexes-of "^1.0.1" - uniq "^1.0.1" - -postcss@7.0.21: - version "7.0.21" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.21.tgz#06bb07824c19c2021c5d056d5b10c35b989f7e17" - integrity sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -postcss@^7, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.16, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.23, postcss@^7.0.27, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.27" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.27.tgz#cc67cdc6b0daa375105b7c424a85567345fc54d9" - integrity sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -postgres-array@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/postgres-array/-/postgres-array-2.0.0.tgz#48f8fce054fbc69671999329b8834b772652d82e" - integrity sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA== - -postgres-bytea@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/postgres-bytea/-/postgres-bytea-1.0.0.tgz#027b533c0aa890e26d172d47cf9ccecc521acd35" - integrity sha1-AntTPAqokOJtFy1Hz5zOzFIazTU= - -postgres-date@~1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/postgres-date/-/postgres-date-1.0.5.tgz#710b27de5f27d550f6e80b5d34f7ba189213c2ee" - integrity sha512-pdau6GRPERdAYUQwkBnGKxEfPyhVZXG/JiS44iZWiNdSOWE09N2lUgN6yshuq6fVSon4Pm0VMXd1srUUkLe9iA== - -postgres-interval@^1.1.0, postgres-interval@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/postgres-interval/-/postgres-interval-1.2.0.tgz#b460c82cb1587507788819a06aa0fffdb3544695" - integrity sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ== - dependencies: - xtend "^4.0.0" - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -prepend-http@^1.0.0, prepend-http@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= - -prettier@^1.19.1: - version "1.19.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" - integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== - -pretty-bytes@^5.1.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.3.0.tgz#f2849e27db79fb4d6cfe24764fc4134f165989f2" - integrity sha512-hjGrh+P926p4R4WbaB6OckyRtO0F0/lQBiT+0gnxjV+5kjPBrfVBFCsCLbMqVQeydvIoouYTCmmEURiH3R1Bdg== - -pretty-error@^2.0.2, pretty-error@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" - integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM= - dependencies: - renderkid "^2.0.1" - utila "~0.4" - -pretty-format@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" - integrity sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA== - dependencies: - "@jest/types" "^24.9.0" - ansi-regex "^4.0.0" - ansi-styles "^3.2.0" - react-is "^16.8.4" - -pretty-format@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-25.4.0.tgz#c58801bb5c4926ff4a677fe43f9b8b99812c7830" - integrity sha512-PI/2dpGjXK5HyXexLPZU/jw5T9Q6S1YVXxxVxco+LIqzUFHXIbKZKdUVt7GcX7QUCr31+3fzhi4gN4/wUYPVxQ== - dependencies: - "@jest/types" "^25.4.0" - ansi-regex "^5.0.0" - ansi-styles "^4.0.0" - react-is "^16.12.0" - -private@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" - integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha1-mEcocL8igTL8vdhoEputEsPAKeM= - -promise-retry@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-1.1.1.tgz#6739e968e3051da20ce6497fb2b50f6911df3d6d" - integrity sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0= - dependencies: - err-code "^1.0.0" - retry "^0.10.0" - -promise@^8.0.3: - version "8.1.0" - resolved "https://registry.yarnpkg.com/promise/-/promise-8.1.0.tgz#697c25c3dfe7435dd79fcd58c38a135888eaf05e" - integrity sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q== - dependencies: - asap "~2.0.6" - -prompts@^2.0.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.2.tgz#480572d89ecf39566d2bd3fe2c9fccb7c4c0b068" - integrity sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.4" - -promzard@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee" - integrity sha1-JqXW7ox97kyxIggwWs+5O6OCqe4= - dependencies: - read "1" - -prop-types@^15.6.2, prop-types@^15.7.2: - version "15.7.2" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" - integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.8.1" - -proto-list@~1.2.1: - version "1.2.4" - resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" - integrity sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk= - -protocols@^1.1.0, protocols@^1.4.0: - version "1.4.7" - resolved "https://registry.yarnpkg.com/protocols/-/protocols-1.4.7.tgz#95f788a4f0e979b291ffefcf5636ad113d037d32" - integrity sha512-Fx65lf9/YDn3hUX08XUc0J8rSux36rEsyiv21ZGUC1mOyeM3lTRpZLcrm8aAolzS4itwVfm7TAPyxC2E5zd6xg== - -protoduck@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/protoduck/-/protoduck-5.0.1.tgz#03c3659ca18007b69a50fd82a7ebcc516261151f" - integrity sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg== - dependencies: - genfun "^5.0.0" - -proxy-addr@^2.0.6, proxy-addr@~2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" - integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw== - dependencies: - forwarded "~0.1.2" - ipaddr.js "1.9.1" - -prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha1-0/wRS6BplaRexok/SEzrHXj19HY= - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM= - -psl@^1.1.28: - version "1.8.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.8.0.tgz#9326f8bcfb013adcc005fdff056acce020e51c24" - integrity sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ== - -pstree.remy@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.7.tgz#c76963a28047ed61542dc361aa26ee55a7fa15f3" - integrity sha512-xsMgrUwRpuGskEzBFkH8NmTimbZ5PcPup0LA8JJkHIm2IMUbQcpo3yeLNWVrufEYjh8YwtSVh0xz6UeWc5Oh5A== - -public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - 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" - -pump@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" - integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -pumpify@^1.3.3: - version "1.5.1" - resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" - integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== - dependencies: - duplexify "^3.6.0" - inherits "^2.0.3" - pump "^2.0.0" - -punycode@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" - integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= - -punycode@^1.2.4: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= - -punycode@^2.1.0, punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -q@^1.1.2, q@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" - integrity sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc= - -qs@6.7.0: - version "6.7.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc" - integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== - -qs@^6.6.0: - version "6.9.3" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.3.tgz#bfadcd296c2d549f1dffa560619132c977f5008e" - integrity sha512-EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw== - -qs@~6.5.2: - version "6.5.2" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" - integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== - -query-string@^4.1.0: - version "4.3.4" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" - integrity sha1-u7aTucqRXCMlFbIosaArYJBD2+s= - dependencies: - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - -querystring-es3@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" - integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= - -querystring@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" - integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= - -querystringify@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" - integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA== - -quick-format-unescaped@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-3.0.3.tgz#fb3e468ac64c01d22305806c39f121ddac0d1fb9" - integrity sha512-dy1yjycmn9blucmJLXOfZDx1ikZJUi6E8bBZLnhPG5gBrVhHXx2xVyqqgKBubVNEXmx51dBACMHpoMQK/N/AXQ== - -quick-lru@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-1.1.0.tgz#4360b17c61136ad38078397ff11416e186dcfbb8" - integrity sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g= - -raf@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" - integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== - dependencies: - performance-now "^2.1.0" - -randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - -range-parser@^1.2.1, range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332" - integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== - dependencies: - bytes "3.1.0" - http-errors "1.7.2" - iconv-lite "0.4.24" - unpipe "1.0.0" - -rc@^1.0.1, rc@^1.1.6: - version "1.2.8" - resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -react-app-polyfill@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/react-app-polyfill/-/react-app-polyfill-1.0.6.tgz#890f8d7f2842ce6073f030b117de9130a5f385f0" - integrity sha512-OfBnObtnGgLGfweORmdZbyEz+3dgVePQBb3zipiaDsMHV1NpWm0rDFYIVXFV/AK+x4VIIfWHhrdMIeoTLyRr2g== - dependencies: - core-js "^3.5.0" - object-assign "^4.1.1" - promise "^8.0.3" - raf "^3.4.1" - regenerator-runtime "^0.13.3" - whatwg-fetch "^3.0.0" - -react-dev-utils@^10.2.1: - version "10.2.1" - resolved "https://registry.yarnpkg.com/react-dev-utils/-/react-dev-utils-10.2.1.tgz#f6de325ae25fa4d546d09df4bb1befdc6dd19c19" - integrity sha512-XxTbgJnYZmxuPtY3y/UV0D8/65NKkmaia4rXzViknVnZeVlklSh8u6TnaEYPfAi/Gh1TP4mEOXHI6jQOPbeakQ== - dependencies: - "@babel/code-frame" "7.8.3" - address "1.1.2" - browserslist "4.10.0" - chalk "2.4.2" - cross-spawn "7.0.1" - detect-port-alt "1.1.6" - escape-string-regexp "2.0.0" - filesize "6.0.1" - find-up "4.1.0" - fork-ts-checker-webpack-plugin "3.1.1" - global-modules "2.0.0" - globby "8.0.2" - gzip-size "5.1.1" - immer "1.10.0" - inquirer "7.0.4" - is-root "2.1.0" - loader-utils "1.2.3" - open "^7.0.2" - pkg-up "3.1.0" - react-error-overlay "^6.0.7" - recursive-readdir "2.2.2" - shell-quote "1.7.2" - strip-ansi "6.0.0" - text-table "0.2.0" - -react-dom@^16.12.0: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.13.1.tgz#c1bd37331a0486c078ee54c4740720993b2e0e7f" - integrity sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - scheduler "^0.19.1" - -react-error-overlay@^6.0.7: - version "6.0.7" - resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.7.tgz#1dcfb459ab671d53f660a991513cb2f0a0553108" - integrity sha512-TAv1KJFh3RhqxNvhzxj6LeT5NWklP6rDr2a0jaTfsZ5wSZWHOGeqQyejUp3xxLfPt2UpyJEcVQB/zyPcmonNFA== - -react-is@^16.12.0, react-is@^16.8.1, react-is@^16.8.4: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -react-scripts@^3.0.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/react-scripts/-/react-scripts-3.4.1.tgz#f551298b5c71985cc491b9acf3c8e8c0ae3ada0a" - integrity sha512-JpTdi/0Sfd31mZA6Ukx+lq5j1JoKItX7qqEK4OiACjVQletM1P38g49d9/D0yTxp9FrSF+xpJFStkGgKEIRjlQ== - dependencies: - "@babel/core" "7.9.0" - "@svgr/webpack" "4.3.3" - "@typescript-eslint/eslint-plugin" "^2.10.0" - "@typescript-eslint/parser" "^2.10.0" - babel-eslint "10.1.0" - babel-jest "^24.9.0" - babel-loader "8.1.0" - babel-plugin-named-asset-import "^0.3.6" - babel-preset-react-app "^9.1.2" - camelcase "^5.3.1" - case-sensitive-paths-webpack-plugin "2.3.0" - css-loader "3.4.2" - dotenv "8.2.0" - dotenv-expand "5.1.0" - eslint "^6.6.0" - eslint-config-react-app "^5.2.1" - eslint-loader "3.0.3" - eslint-plugin-flowtype "4.6.0" - eslint-plugin-import "2.20.1" - eslint-plugin-jsx-a11y "6.2.3" - eslint-plugin-react "7.19.0" - eslint-plugin-react-hooks "^1.6.1" - file-loader "4.3.0" - fs-extra "^8.1.0" - html-webpack-plugin "4.0.0-beta.11" - identity-obj-proxy "3.0.0" - jest "24.9.0" - jest-environment-jsdom-fourteen "1.0.1" - jest-resolve "24.9.0" - jest-watch-typeahead "0.4.2" - mini-css-extract-plugin "0.9.0" - optimize-css-assets-webpack-plugin "5.0.3" - pnp-webpack-plugin "1.6.4" - postcss-flexbugs-fixes "4.1.0" - postcss-loader "3.0.0" - postcss-normalize "8.0.1" - postcss-preset-env "6.7.0" - postcss-safe-parser "4.0.1" - react-app-polyfill "^1.0.6" - react-dev-utils "^10.2.1" - resolve "1.15.0" - resolve-url-loader "3.1.1" - sass-loader "8.0.2" - semver "6.3.0" - style-loader "0.23.1" - terser-webpack-plugin "2.3.5" - ts-pnp "1.1.6" - url-loader "2.3.0" - webpack "4.42.0" - webpack-dev-server "3.10.3" - webpack-manifest-plugin "2.2.0" - workbox-webpack-plugin "4.3.1" - optionalDependencies: - fsevents "2.1.2" - -react@^16.12.0: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e" - integrity sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - -read-cmd-shim@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-1.0.5.tgz#87e43eba50098ba5a32d0ceb583ab8e43b961c16" - integrity sha512-v5yCqQ/7okKoZZkBQUAfTsQ3sVJtXdNfbPnI5cceppoxEVLYA3k+VtV2omkeo8MS94JCy4fSiUwlRBAwCVRPUA== - dependencies: - graceful-fs "^4.1.2" - -"read-package-json@1 || 2", read-package-json@^2.0.0, read-package-json@^2.0.13: - version "2.1.1" - resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-2.1.1.tgz#16aa66c59e7d4dad6288f179dd9295fd59bb98f1" - integrity sha512-dAiqGtVc/q5doFz6096CcnXhpYk0ZN8dEKVkGLU0CsASt8SrgF6SF7OTKAYubfvFhWaqofl+Y8HK19GR8jwW+A== - dependencies: - glob "^7.1.1" - json-parse-better-errors "^1.0.1" - normalize-package-data "^2.0.0" - npm-normalize-package-bin "^1.0.0" - optionalDependencies: - graceful-fs "^4.1.2" - -read-package-tree@^5.1.6: - version "5.3.1" - resolved "https://registry.yarnpkg.com/read-package-tree/-/read-package-tree-5.3.1.tgz#a32cb64c7f31eb8a6f31ef06f9cedf74068fe636" - integrity sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw== - dependencies: - read-package-json "^2.0.0" - readdir-scoped-modules "^1.0.0" - util-promisify "^2.1.0" - -read-pkg-up@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" - integrity sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI= - dependencies: - find-up "^1.0.0" - read-pkg "^1.0.0" - -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - -read-pkg-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" - integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= - dependencies: - find-up "^2.0.0" - read-pkg "^3.0.0" - -read-pkg-up@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-4.0.0.tgz#1b221c6088ba7799601c808f91161c66e58f8978" - integrity sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA== - dependencies: - find-up "^3.0.0" - read-pkg "^3.0.0" - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" - integrity sha1-9f+qXs0pyzHAR0vKfXVra7KePyg= - dependencies: - load-json-file "^1.0.0" - normalize-package-data "^2.3.2" - path-type "^1.0.0" - -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - -read-pkg@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-4.0.1.tgz#963625378f3e1c4d48c85872b5a6ec7d5d093237" - integrity sha1-ljYlN48+HE1IyFhytabsfV0JMjc= - dependencies: - normalize-package-data "^2.3.2" - parse-json "^4.0.0" - pify "^3.0.0" - -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -read@1, read@~1.0.1: - version "1.0.7" - resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4" - integrity sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ= - dependencies: - mute-stream "~0.0.4" - -"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.6, readable-stream@~2.3.6: - version "2.3.7" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" - integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== - 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" - -"readable-stream@2 || 3", readable-stream@^3.0.2, readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" - integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readdir-scoped-modules@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz#8d45407b4f870a0dcaebc0e28670d18e74514309" - integrity sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw== - dependencies: - debuglog "^1.0.1" - dezalgo "^1.0.0" - graceful-fs "^4.1.2" - once "^1.3.0" - -readdirp@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" - integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ== - dependencies: - graceful-fs "^4.1.11" - micromatch "^3.1.10" - readable-stream "^2.0.2" - -readdirp@~3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.4.0.tgz#9fdccdf9e9155805449221ac645e8303ab5b9ada" - integrity sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ== - dependencies: - picomatch "^2.2.1" - -realpath-native@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c" - integrity sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA== - dependencies: - util.promisify "^1.0.0" - -realpath-native@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/realpath-native/-/realpath-native-2.0.0.tgz#7377ac429b6e1fd599dc38d08ed942d0d7beb866" - integrity sha512-v1SEYUOXXdbBZK8ZuNgO4TBjamPsiSgcFr0aP+tEKpQZK8vooEUqV6nm6Cv502mX4NF2EfsnVqtNAHG+/6Ur1Q== - -recursive-readdir@2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/recursive-readdir/-/recursive-readdir-2.2.2.tgz#9946fb3274e1628de6e36b2f6714953b4845094f" - integrity sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg== - dependencies: - minimatch "3.0.4" - -redent@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" - integrity sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94= - dependencies: - indent-string "^2.1.0" - strip-indent "^1.0.1" - -redent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-2.0.0.tgz#c1b2007b42d57eb1389079b3c8333639d5e1ccaa" - integrity sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo= - dependencies: - indent-string "^3.0.0" - strip-indent "^2.0.0" - -regenerate-unicode-properties@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" - integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== - dependencies: - regenerate "^1.4.0" - -regenerate@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" - integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== - -regenerator-runtime@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" - integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== - -regenerator-runtime@^0.13.3, regenerator-runtime@^0.13.4: - version "0.13.5" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" - integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== - -regenerator-transform@^0.14.2: - version "0.14.4" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.14.4.tgz#5266857896518d1616a78a0479337a30ea974cc7" - integrity sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw== - dependencies: - "@babel/runtime" "^7.8.4" - private "^0.1.8" - -regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - -regex-parser@2.2.10: - version "2.2.10" - resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.10.tgz#9e66a8f73d89a107616e63b39d4deddfee912b37" - integrity sha512-8t6074A68gHfU8Neftl0Le6KTDwfGAj7IyjPIMSfikI2wJUTHDMaIq42bUsfVnj8mhx0R+45rdUXHGpN164avA== - -regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" - integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - -regexpp@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" - integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw== - -regexpp@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" - integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== - -regexpu-core@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938" - integrity sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ== - dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^8.2.0" - regjsgen "^0.5.1" - regjsparser "^0.6.4" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.2.0" - -registry-auth-token@^3.0.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.4.0.tgz#d7446815433f5d5ed6431cd5dca21048f66b397e" - integrity sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A== - dependencies: - rc "^1.1.6" - safe-buffer "^5.0.1" - -registry-url@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" - integrity sha1-PU74cPc93h138M+aOBQyRE4XSUI= - dependencies: - rc "^1.0.1" - -regjsgen@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.1.tgz#48f0bf1a5ea205196929c0d9798b42d1ed98443c" - integrity sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg== - -regjsparser@^0.6.4: - version "0.6.4" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" - integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== - dependencies: - jsesc "~0.5.0" - -relateurl@0.2.x, relateurl@^0.2.7: - version "0.2.7" - resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9" - integrity sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= - -remove-trailing-separator@^1.0.1: - version "1.1.0" - resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" - integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= - -renderkid@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149" - integrity sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA== - dependencies: - css-select "^1.1.0" - dom-converter "^0.2" - htmlparser2 "^3.3.0" - strip-ansi "^3.0.0" - utila "^0.4.0" - -repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== - -repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= - -repeating@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" - integrity sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= - dependencies: - is-finite "^1.0.0" - -request-promise-core@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/request-promise-core/-/request-promise-core-1.1.3.tgz#e9a3c081b51380dfea677336061fea879a829ee9" - integrity sha512-QIs2+ArIGQVp5ZYbWD5ZLCY29D5CfWizP8eWnm8FoGD1TX61veauETVQbrV60662V0oFBkrDOuaBI8XgtuyYAQ== - dependencies: - lodash "^4.17.15" - -request-promise-native@^1.0.5, request-promise-native@^1.0.7: - version "1.0.8" - resolved "https://registry.yarnpkg.com/request-promise-native/-/request-promise-native-1.0.8.tgz#a455b960b826e44e2bf8999af64dff2bfe58cb36" - integrity sha512-dapwLGqkHtwL5AEbfenuzjTYg35Jd6KPytsC2/TLkVMz8rm+tNt72MGUWT1RP/aYawMpN6HqbNGBQaRcBtjQMQ== - dependencies: - request-promise-core "1.1.3" - stealthy-require "^1.1.1" - tough-cookie "^2.3.3" - -request@^2.87.0, request@^2.88.0: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - integrity sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE= - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= - -resolve-cwd@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a" - integrity sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= - dependencies: - resolve-from "^3.0.0" - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -resolve-from@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748" - integrity sha1-six699nWiBvItuZTM17rywoYh0g= - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve-url-loader@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.1.tgz#28931895fa1eab9be0647d3b2958c100ae3c0bf0" - integrity sha512-K1N5xUjj7v0l2j/3Sgs5b8CjrrgtC70SmdCuZiJ8tSyb5J+uk3FoeZ4b7yTnH6j7ngI+Bc5bldHJIa8hYdu2gQ== - dependencies: - adjust-sourcemap-loader "2.0.0" - camelcase "5.3.1" - compose-function "3.0.3" - convert-source-map "1.7.0" - es6-iterator "2.0.3" - loader-utils "1.2.3" - postcss "7.0.21" - rework "1.0.1" - rework-visit "1.0.0" - source-map "0.6.1" - -resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + version: 1.2.13 + resolution: "fsevents@npm:1.2.13" + dependencies: + bindings: ^1.5.0 + nan: ^2.12.1 + checksum: 3/e70509558b5f49ce9dfacb8f9e2848c6e6751a61966027789561145a9c4ae9ba4c6b28b531bc8b4ae52fdd2d4c90a3bf314e6794717e51838b27910bb41ce588 + languageName: node + linkType: hard + +"fsevents@patch:fsevents@2.1.2#builtin, fsevents@patch:fsevents@^2.1.2#builtin, fsevents@patch:fsevents@~2.1.2#builtin": + version: 2.1.2 + resolution: "fsevents@patch:fsevents@npm%3A2.1.2#builtin::version=2.1.2&hash=495457" + dependencies: + node-gyp: latest + checksum: 3/6fb6ae0c1e5aca68fec6c0bf119d0dc9a1d653af60925c7ec69868f0ac68fa6930eeb769745030ecb560e00c144c74068da62bb77a000cc7dc263963ba4e2d7f + languageName: node + linkType: hard + +"fsevents@patch:fsevents@^1.2.7#builtin": + version: 1.2.13 + resolution: "fsevents@patch:fsevents@npm%3A1.2.13#builtin::version=1.2.13&hash=495457" + dependencies: + bindings: ^1.5.0 + nan: ^2.12.1 + checksum: 3/f36f09403fbdff434b1cf4baa03d58b69e6ba5e84070bfd5cf48ef1ade8de364e01f2fcb1dafea8897732c211983cd2a593488b59b62b64ae9df4ffc5ab3685b + languageName: node + linkType: hard + +"function-bind@npm:^1.1.1": + version: 1.1.1 + resolution: "function-bind@npm:1.1.1" + checksum: 3/ffad86e7d2010ba179aaa6a3987d2cc0ed48fa92d27f1ed84bfa06d14f77deeed5bfbae7f00bdebc0c54218392cab2b18ecc080e2c72f592431927b87a27d42b + languageName: node + linkType: hard + +"functional-red-black-tree@npm:^1.0.1": + version: 1.0.1 + resolution: "functional-red-black-tree@npm:1.0.1" + checksum: 3/477ecaf62d4f8d788876099b35ed4b97586b331e729d2d28d0df96b598863d21c18b8a45a6cbecb6c2bf7f5e5ef1e82a053570583ef9a0ff8336683ab42b8d14 + languageName: node + linkType: hard + +"gauge@npm:~2.7.3": + version: 2.7.4 + resolution: "gauge@npm:2.7.4" + dependencies: + aproba: ^1.0.3 + console-control-strings: ^1.0.0 + has-unicode: ^2.0.0 + object-assign: ^4.1.0 + signal-exit: ^3.0.0 + string-width: ^1.0.1 + strip-ansi: ^3.0.1 + wide-align: ^1.1.0 + checksum: 3/b136dbeb8e40acaaddab6c71c9f34d3c9aa104efc538c8c0ddcd74b25efb8daeb8dca24a9b30626b477d66beccd3dee8dd31e25eb4c7c97ec58a3f1a82914be1 + languageName: node + linkType: hard + +"gensync@npm:^1.0.0-beta.1": + version: 1.0.0-beta.1 + resolution: "gensync@npm:1.0.0-beta.1" + checksum: 3/3d14f7c34fc903dd52c36d0879de2c4afde8315edccd630e97919c365819b32c06d98770ef87f7ba45686ee5d2bd5818354920187659b42828319f7cc3352fdb + languageName: node + linkType: hard + +"get-caller-file@npm:^1.0.1": + version: 1.0.3 + resolution: "get-caller-file@npm:1.0.3" + checksum: 3/282a3d15e79c44203873a8d5c7d8492af9e6b2c0aeccfaf63f0a853916ece9d4456e12d92c1efad01b5f8c73188a1c4d6fe8b68d4c899b753a1810ac841f6672 + languageName: node + linkType: hard + +"get-caller-file@npm:^2.0.1": + version: 2.0.5 + resolution: "get-caller-file@npm:2.0.5" + checksum: 3/9dd9e1e2591039ee4c38c897365b904f66f1e650a8c1cb7b7db8ce667fa63e88cc8b13282b74df9d93de481114b3304a0487880d31cd926dfda6efe71455855d + languageName: node + linkType: hard + +"get-own-enumerable-property-symbols@npm:^3.0.0": + version: 3.0.2 + resolution: "get-own-enumerable-property-symbols@npm:3.0.2" + checksum: 3/23f13946c768d9803a8e072ba13a4250528ced6bd5af4b4b31306eb197281f01a6426936b24b16725ff0e55f9097475296e4bcdb6d33455989683c3d385079ce + languageName: node + linkType: hard + +"get-pkg-repo@npm:^1.0.0": + version: 1.4.0 + resolution: "get-pkg-repo@npm:1.4.0" + dependencies: + hosted-git-info: ^2.1.4 + meow: ^3.3.0 + normalize-package-data: ^2.3.0 + parse-github-repo-url: ^1.3.0 + through2: ^2.0.0 + bin: + get-pkg-repo: cli.js + checksum: 3/e3f47ce2079263f7d6901c166b934f186c286e1ea4a196acdd0f6b7e5420d7a4955f1f5032d735b124025a8b49db301907433b82a467c9b24e2df7265d4b003e + languageName: node + linkType: hard + +"get-stdin@npm:^4.0.1": + version: 4.0.1 + resolution: "get-stdin@npm:4.0.1" + checksum: 3/ba122b05691e29aa1c93f9dfe76671c23b311e5f299c4205c030c00a656045fcf56d2bb5a924b6cd576f278563643b6689b50aa54fc87abcdc2e6e8eda09920e + languageName: node + linkType: hard + +"get-stdin@npm:^6.0.0": + version: 6.0.0 + resolution: "get-stdin@npm:6.0.0" + checksum: 3/b51d664838aef7f8353dc57371ce59cea54d8d584fec015a9d89d24561e95b97806d5b5ba120bc81574c9ed63cb3e210176ffa0ff9263c7e7ba4d56d0fe54913 + languageName: node + linkType: hard + +"get-stream@npm:^4.0.0, get-stream@npm:^4.1.0": + version: 4.1.0 + resolution: "get-stream@npm:4.1.0" + dependencies: + pump: ^3.0.0 + checksum: 3/f41bb3c74de09d1dbe1e9d0b6d12520875d99b7ecd32c71ee21eea26d32ca74110e2406922ca64ed8cd6f10076c5f59e4fd128f10cc292eae3b669379e5f18ed + languageName: node + linkType: hard + +"get-stream@npm:^5.0.0, get-stream@npm:^5.1.0": + version: 5.1.0 + resolution: "get-stream@npm:5.1.0" + dependencies: + pump: ^3.0.0 + checksum: 3/599dad0b6b9e41602c5a383d218e929209774e66bd3345d5ba6b87e305a16e5d4263936cab974804a30cfeebb1d9e6082f0dba4a463fcce0ba75b922b7c9d861 + languageName: node + linkType: hard + +"get-value@npm:^2.0.3, get-value@npm:^2.0.6": + version: 2.0.6 + resolution: "get-value@npm:2.0.6" + checksum: 3/f08da3262718e0f2617703cc99ecd0ddb4cca1541b0022118f898824c99157778e044c802160688dc184b17e5a894d11c5771aaadc376c68cdf66bdbc25ff865 + languageName: node + linkType: hard + +"getpass@npm:^0.1.1": + version: 0.1.7 + resolution: "getpass@npm:0.1.7" + dependencies: + assert-plus: ^1.0.0 + checksum: 3/2650725bc6939616da8432e5351ca87d8b29421bb8dc19c21bad2c37cd337d2a50d36fcc398ce0c16a075f6079afe114131780dca7e2f4b96063e53e7d28fd7a + languageName: node + linkType: hard + +"git-raw-commits@npm:2.0.0": + version: 2.0.0 + resolution: "git-raw-commits@npm:2.0.0" + dependencies: + dargs: ^4.0.1 + lodash.template: ^4.0.2 + meow: ^4.0.0 + split2: ^2.0.0 + through2: ^2.0.0 + bin: + git-raw-commits: cli.js + checksum: 3/ea32f86d3e0f6be83a1f53c86b9c2fa63a996193f6bc396f1dd91e0a89fb2f95d356c7207755d5d3d56a932e243f2478da21a16d1269806de468d60888e800d1 + languageName: node + linkType: hard + +"git-remote-origin-url@npm:^2.0.0": + version: 2.0.0 + resolution: "git-remote-origin-url@npm:2.0.0" + dependencies: + gitconfiglocal: ^1.0.0 + pify: ^2.3.0 + checksum: 3/4faec6028931fb8e7cc33716f115f276213e5e73e6af424ce10b64372f20eeb525625f6ab83227038cd50c0d2300f6ccf5b73d208f4136a3108b3414b875f8ff + languageName: node + linkType: hard + +"git-semver-tags@npm:^4.0.0": + version: 4.0.0 + resolution: "git-semver-tags@npm:4.0.0" + dependencies: + meow: ^7.0.0 + semver: ^6.0.0 + bin: + git-semver-tags: cli.js + checksum: 3/0eb1326eb75824c5c70056a102780ef924ed552b93736d5b876863c63cbea25366155dace9ad75502fba7ea97c8d450c5d32323529ec5cde2adb00c070f7a292 + languageName: node + linkType: hard + +"gitconfiglocal@npm:^1.0.0": + version: 1.0.0 + resolution: "gitconfiglocal@npm:1.0.0" + dependencies: + ini: ^1.3.2 + checksum: 3/ef296938992352fe55ef67c4ede360a194ef501cf29a53b2cbc73d30a37c76259192ce6a20d7e8fe0711fe4f67fad713adb75a17ae90795bd159a8b4f10f8fc0 + languageName: node + linkType: hard + +"glob-parent@npm:^3.1.0": + version: 3.1.0 + resolution: "glob-parent@npm:3.1.0" + dependencies: + is-glob: ^3.1.0 + path-dirname: ^1.0.0 + checksum: 3/2827ec4405295b660d5ec3e400d84d548a22fc38c3de8fb4586258248bb24afc4515f377935fd80b8397debeb56ffe0d2f4e91233e3a1377fe0d1ddbceb605fc + languageName: node + linkType: hard + +"glob-parent@npm:^5.0.0, glob-parent@npm:~5.1.0": + version: 5.1.1 + resolution: "glob-parent@npm:5.1.1" + dependencies: + is-glob: ^4.0.1 + checksum: 3/2af6e196fba4071fb07ba261366e446ba2b320e6db0a2069cf8e12117c5811abc6721f08546148048882d01120df47e56aa5a965517a6e5ba19bfeb792655119 + languageName: node + linkType: hard + +"glob-to-regexp@npm:^0.3.0": + version: 0.3.0 + resolution: "glob-to-regexp@npm:0.3.0" + checksum: 3/9e6e3f1170a223617ec5f26a59781acbf7ce2ebd998845517f10f8b405a0f35a073b88e3bd96e464ecd054e2b31262e4f0c8916a2f6fd9b3c5bb1404f955294e + languageName: node + linkType: hard + +"glob@npm:^7.0.0, glob@npm:^7.0.3, glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6": + version: 7.1.6 + resolution: "glob@npm:7.1.6" + 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 + checksum: 3/789977b52432865bd63846da5c75a6efc2c56abdc0cb5ffcdb8e91eeb67a58fa5594c1195d18b2b4aff99675b0739ed6bd61024b26562e0cca18c8f993efdc82 + languageName: node + linkType: hard + +"global-dirs@npm:^2.0.1": + version: 2.0.1 + resolution: "global-dirs@npm:2.0.1" + dependencies: + ini: ^1.3.5 + checksum: 3/8dfdc04e846b748b6e1278e0db1827e968ae585468f5d1847fc5223a69a3d7920107dae0c569431f60bc490104b0b66f072a14728aec6dd6987134d362cb63cb + languageName: node + linkType: hard + +"global-modules@npm:2.0.0": + version: 2.0.0 + resolution: "global-modules@npm:2.0.0" + dependencies: + global-prefix: ^3.0.0 + checksum: 3/27e41b03a8d340637806ae30540b934f2fd1f3f3d1d73b86ab8a622c972a69faa0f63473325318af5a5bd9d429d76fb1f1c9445a6e8797ec01de307f3876cd42 + languageName: node + linkType: hard + +"global-prefix@npm:^3.0.0": + version: 3.0.0 + resolution: "global-prefix@npm:3.0.0" + dependencies: + ini: ^1.3.5 + kind-of: ^6.0.2 + which: ^1.3.1 + checksum: 3/5043a8455af20dd2185705caac446c8e8176638cbd364dcf288f41f4a07f2ef77cdeb5203916e7bd8b2884995d725a0b422d3483117cac796612ba61ea3d116e + languageName: node + linkType: hard + +"globals@npm:^11.1.0": + version: 11.12.0 + resolution: "globals@npm:11.12.0" + checksum: 3/2563d3306a7e646fd9ec484b0ca29bf8847d9dc6ebbe86026f11e31bda04f420f6536c2decbd4cb96350379801d2cce352ab373c40be8b024324775b31f882f9 + languageName: node + linkType: hard + +"globals@npm:^12.1.0": + version: 12.4.0 + resolution: "globals@npm:12.4.0" + dependencies: + type-fest: ^0.8.1 + checksum: 3/0b9764bdeab0bc9762dea8954a0d4c5db029420bd8bf693df9098ce7e045ccaf9b2d259185396fd048b051d42fdc8dc7ab02af62e3dbeb2324a78a05aac8d33c + languageName: node + linkType: hard + +"globby@npm:8.0.2": + version: 8.0.2 + resolution: "globby@npm:8.0.2" + dependencies: + array-union: ^1.0.1 + dir-glob: 2.0.0 + fast-glob: ^2.0.2 + glob: ^7.1.2 + ignore: ^3.3.5 + pify: ^3.0.0 + slash: ^1.0.0 + checksum: 3/de3e13ccbb64f63bb0a3c8ddb3d5bd91f1f73665e2b325f8b47f1721c670e062d0a921abaa2d77c803d8ec793c3888a5503177751d372fb62fab1d47f4166f3e + languageName: node + linkType: hard + +"globby@npm:^6.1.0": + version: 6.1.0 + resolution: "globby@npm:6.1.0" + dependencies: + array-union: ^1.0.1 + glob: ^7.0.3 + object-assign: ^4.0.1 + pify: ^2.0.0 + pinkie-promise: ^2.0.0 + checksum: 3/7acac933247f203624c502e6db54995d355ae2ce618be40a6a125c73bac9fa1bb775cf2b0959d92807605534f7b29cf711bc354febb8a6dc2ecbaa1cbf59efa5 + languageName: node + linkType: hard + +"got@npm:^9.6.0": + version: 9.6.0 + resolution: "got@npm:9.6.0" + dependencies: + "@sindresorhus/is": ^0.14.0 + "@szmarczak/http-timer": ^1.1.2 + cacheable-request: ^6.0.0 + decompress-response: ^3.3.0 + duplexer3: ^0.1.4 + get-stream: ^4.1.0 + lowercase-keys: ^1.0.1 + mimic-response: ^1.0.1 + p-cancelable: ^1.0.0 + to-readable-stream: ^1.0.0 + url-parse-lax: ^3.0.0 + checksum: 3/4cfb862eb7e2d023f486efbd9ad5ab199ea44f957dc72be9518bf54d832ad4281ef3b63eac4d861b189690c3b7674eef3e1cb4f41285a83fa43293431ab879bd + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.2, graceful-fs@npm:^4.2.4": + version: 4.2.4 + resolution: "graceful-fs@npm:4.2.4" + checksum: 3/d095ee4dc6eacc76814cd52d5d185b860119378a6fd4888e7d4e94983095c54d4f6369942a5e3d759cdbdd4e3ee7eaeb27a39ff938c6ee4610894fd9de46b6cb + languageName: node + linkType: hard + +"graphile-build-pg@4.7.0, graphile-build-pg@workspace:packages/graphile-build-pg": + version: 0.0.0-use.local + resolution: "graphile-build-pg@workspace:packages/graphile-build-pg" + dependencies: + "@graphile/lru": 4.6.0-alpha.0 + "@types/debug": ^4.1.5 + "@types/jest": ^25.2.3 + "@types/jsonwebtoken": ^8.5.0 + "@types/lodash": ^4.14.151 + "@types/node": ^14.0.1 + "@types/pg": ^7.14.3 + chalk: ^4.0.0 + debug: ^4.2.0 + graphile-build: 4.7.0 + graphql: ^14.6.0 + graphql-iso-date: ^3.6.1 + graphql-parse-resolve-info: 4.7.0 + jest: ^26.0.1 + jsonwebtoken: ^8.5.1 + lodash: ^4.17.15 + lru-cache: ^5.1.1 + pg-sql2: 4.7.0 + postgres-interval: ^1.2.0 + ts-node: ^8.10.1 + tslib: ^2.0.0 + typescript: ^3.9.2 + peerDependencies: + graphql: ^14.6.0 + graphql-parse-resolve-info: 4.7.0 + pg: ">=6.1.0 <9" + languageName: unknown + linkType: soft + +"graphile-build@4.7.0, graphile-build@workspace:packages/graphile-build": + version: 0.0.0-use.local + resolution: "graphile-build@workspace:packages/graphile-build" + dependencies: + "@graphile/lru": 4.6.0-alpha.0 + "@types/debug": ^4.1.5 + "@types/jest": ^25.2.3 + "@types/lodash": ^4.14.151 + "@types/node": ^14.0.1 + "@types/pluralize": ^0.0.29 + "@types/semver": ^7.2.0 + chalk: ^4.0.0 + debug: ^4.2.0 + graphql: ^14.6.0 + graphql-parse-resolve-info: 4.7.0 + iterall: ^1.3.0 + jest: ^26.0.1 + lodash: ^4.17.15 + pluralize: ^7.0.0 + semver: ^7.3.2 + ts-node: ^8.10.1 + tslib: ^2.0.0 + typescript: ^3.9.2 + peerDependencies: + graphql: ^14.6.0 + languageName: unknown + linkType: soft + +"graphile-utils@4.7.0, graphile-utils@^4.7.0, graphile-utils@workspace:packages/graphile-utils": + version: 0.0.0-use.local + resolution: "graphile-utils@workspace:packages/graphile-utils" + dependencies: + "@types/jest": ^25.2.3 + "@types/node": ^14.0.1 + "@types/pg": ^7.14.3 + debug: ^4.2.0 + graphile-build: 4.7.0 + graphile-build-pg: 4.7.0 + graphql: ^14.6.0 + iterall: ^1.3.0 + jest: ^26.0.1 + pg: ^8.2.1 + postgraphile-core: 4.7.0 + ts-node: ^8.10.1 + tslib: ^2.0.0 + typescript: ^3.9.2 + peerDependencies: + graphile-build: 4.7.0 + graphile-build-pg: 4.7.0 + pg: ">=6.1.0 <9" + languageName: unknown + linkType: soft + +"graphile@workspace:packages/graphile": + version: 0.0.0-use.local + resolution: "graphile@workspace:packages/graphile" + dependencies: + "@types/jest": ^25.2.3 + jest: ^26.0.1 + ts-node: ^8.10.1 + typescript: ^3.9.2 + languageName: unknown + linkType: soft + +"graphiql-explorer@npm:^0.6.2": + version: 0.6.2 + resolution: "graphiql-explorer@npm:0.6.2" + peerDependencies: + graphql: ^0.6.0 || ^0.7.0 || ^0.8.0-b || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 + react: ^15.6.0 || ^16.0.0 + react-dom: ^15.6.0 || ^16.0.0 + checksum: 3/48e78cad66d4ac531eaedb904cc4b14108ced2b9d48a9897abfadccf88076ebcaedd766276ee0afb1ee06b82e50dc2ab7e5cd5381b064b9d1bbd45161b574d3f + languageName: node + linkType: hard + +"graphiql@npm:^0.17.5": + version: 0.17.5 + resolution: "graphiql@npm:0.17.5" + dependencies: + codemirror: ^5.47.0 + codemirror-graphql: ^0.11.6 + copy-to-clipboard: ^3.2.0 + entities: ^2.0.0 + markdown-it: ^10.0.0 + regenerator-runtime: ^0.13.3 + peerDependencies: + graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 + prop-types: ">=15.5.0" + react: ^15.6.0 || ^16.0.0 + react-dom: ^15.6.0 || ^16.0.0 + checksum: 3/299edcd708a03f378d39bc8bf3a44e1c8c265896fa5de45c7ad55c9f207078eba5538bcba95d5ff1d9024a44f20f21905b3c66ec319b65c8c3609410584c6c46 + languageName: node + linkType: hard + +"graphql-config@npm:2.2.1": + version: 2.2.1 + resolution: "graphql-config@npm:2.2.1" + dependencies: + graphql-import: ^0.7.1 + graphql-request: ^1.5.0 + js-yaml: ^3.10.0 + lodash: ^4.17.4 + minimatch: ^3.0.4 + peerDependencies: + graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 + checksum: 3/c3c43ccb6f5eaa4c7f479f44e933069cf51cc6e4de14a4cbea385de19d8164dc7511d29e8edb726b17034a0e71dba4543f34b495620ef411baa4501da7ae9962 + languageName: node + linkType: hard + +"graphql-config@npm:^2.0.1": + version: 2.2.2 + resolution: "graphql-config@npm:2.2.2" + dependencies: + graphql-import: ^0.7.1 + graphql-request: ^1.5.0 + js-yaml: ^3.10.0 + lodash: ^4.17.4 + minimatch: ^3.0.4 + peerDependencies: + graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 + checksum: 3/f4fb35b566fa8e176ffcc4b2c892932ae97122ac940115885d9c2d1121de9d4e89e2af155564956117249838ca84edee6b78070c3212e3639c17f400b33a4b7f + languageName: node + linkType: hard + +"graphql-import@npm:^0.7.1": + version: 0.7.1 + resolution: "graphql-import@npm:0.7.1" + dependencies: + lodash: ^4.17.4 + resolve-from: ^4.0.0 + peerDependencies: + graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 + checksum: 3/fb9228d6c18177c9c27fe3d5fd8498ac9120bfbc126f91d321d65d6f23bb799bed5649c4c9eeecd531797c84510840c9c578f0c4d4de4852eac8cd045614e578 + languageName: node + linkType: hard + +"graphql-iso-date@npm:^3.6.1": + version: 3.6.1 + resolution: "graphql-iso-date@npm:3.6.1" + peerDependencies: + graphql: ^0.5.0 || ^0.6.0 || ^0.7.0 || ^0.8.0-b || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 + checksum: 3/d33245ccaba87665589bf2907159de9e024bfd516ccc905631b68010ff69afbcbd09103d38481569862e4c168f6db0f9df614968295ca41c996c7d7fd2679817 + languageName: node + linkType: hard + +"graphql-language-service-interface@npm:^2.3.3": + version: 2.3.3 + resolution: "graphql-language-service-interface@npm:2.3.3" + dependencies: + graphql-config: 2.2.1 + graphql-language-service-parser: ^1.5.2 + graphql-language-service-types: ^1.5.2 + graphql-language-service-utils: ^2.3.3 + peerDependencies: + graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 + checksum: 3/9cf95da765f1075aced43384f0ac51be4f9c702f9cef67017a59503a17ee7a66c0cd42aaa7e73bd09b0adbe47d17a9f892ae4c4541ebc108cb20526014cb334f + languageName: node + linkType: hard + +"graphql-language-service-parser@npm:^1.5.2": + version: 1.5.2 + resolution: "graphql-language-service-parser@npm:1.5.2" + dependencies: + graphql-config: 2.2.1 + graphql-language-service-types: ^1.5.2 + peerDependencies: + graphql: ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 + checksum: 3/faa9c4140cec108ed83f96fb2cf5ee62771733fa234c62fbc0015dda3ffc282bfb31f9511f3e760375af67480bb335583c01278426fb3bd9413de295030b93fc + languageName: node + linkType: hard + +"graphql-language-service-types@npm:^1.5.2": + version: 1.5.2 + resolution: "graphql-language-service-types@npm:1.5.2" + dependencies: + graphql-config: 2.2.1 + peerDependencies: + graphql: ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 + checksum: 3/7504e0b7686b2e1500af8b145ec25b92f32c5b7f0a68116fd4813e9563f2681bd24ea80b902967a0a1508097e3c7501ea21745b14343590ac61c83e81d4d6aab + languageName: node + linkType: hard + +"graphql-language-service-utils@npm:^2.3.3": + version: 2.3.3 + resolution: "graphql-language-service-utils@npm:2.3.3" + dependencies: + graphql-config: 2.2.1 + graphql-language-service-types: ^1.5.2 + peerDependencies: + graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 + checksum: 3/d3854fee242e09694ff69e32d7281562a3346089d4476b0ab40bfafc40fcfb3e93a0bc1376ad7a572baadbf39ac26f7fdf2127174ddb545720331863f8532ceb + languageName: node + linkType: hard + +"graphql-parse-resolve-info@4.7.0, graphql-parse-resolve-info@workspace:packages/graphql-parse-resolve-info": + version: 0.0.0-use.local + resolution: "graphql-parse-resolve-info@workspace:packages/graphql-parse-resolve-info" + dependencies: + "@types/debug": ^4.1.5 + "@types/jest": ^25.2.3 + "@types/node": ^14.0.1 + debug: ^4.2.0 + eslint_d: ^8.1.1 + graphql: ^14.6.0 + jest: ^26.0.1 + ts-node: ^8.10.1 + tslib: ^2.0.0 + typescript: ^3.9.2 + peerDependencies: + graphql: ^14.6.0 + languageName: unknown + linkType: soft + +"graphql-request@npm:^1.5.0": + version: 1.8.2 + resolution: "graphql-request@npm:1.8.2" + dependencies: + cross-fetch: 2.2.2 + checksum: 3/f957e30a4e30c57f9b3bd7c3e7b24a95703bc0c861354cfd2f1d4e2c2fd16f9afbac67ca57df4a862b16b13f4f990dd147f05f8a6994cc85b218170f3976533a + languageName: node + linkType: hard + +"graphql-subscriptions@npm:^1.1.0": + version: 1.1.0 + resolution: "graphql-subscriptions@npm:1.1.0" + dependencies: + iterall: ^1.2.1 + peerDependencies: + graphql: ^0.10.5 || ^0.11.3 || ^0.12.0 || ^0.13.0 || ^14.0.0 + checksum: 3/3e10eebf446ebc3f4a2ec9c5798495234cbb446ad4b37e292c0419249366795168c3dc46fa981dd46f11da7c470cab4dc4e3b7ee98831ccd57e71d3d0d9567b8 + languageName: node + linkType: hard + +"graphql@npm:^14.0.0, graphql@npm:^14.6.0": + version: 14.6.0 + resolution: "graphql@npm:14.6.0" + dependencies: + iterall: ^1.2.2 + checksum: 3/24cab2758cea2ce592c59af28cac0fc80d2f2eac2f2441ce0152ce3c5a3a2416394aadf71b2d8db58f46c44ca3d20747eb168f58502f6eadafab0f11dea13791 + languageName: node + linkType: hard + +"growly@npm:^1.3.0": + version: 1.3.0 + resolution: "growly@npm:1.3.0" + checksum: 3/c87f7e8c785cac6ee60719c9d62f7d790a85dafa13d62c4667664e3a21ee771f5fd19df3f374d2f7bdf297b8f687cf70e19bb066aba4832e6f6caa5190812578 + languageName: node + linkType: hard + +"gzip-size@npm:5.1.1": + version: 5.1.1 + resolution: "gzip-size@npm:5.1.1" + dependencies: + duplexer: ^0.1.1 + pify: ^4.0.1 + checksum: 3/26729da888e89dd4f7b2d244aca6766d872f2e67b339971ca1cd26f32b4ca95167420b3e79d033f437ab689e25db47cfc228924cfab8baff185ec536b63c5fec + languageName: node + linkType: hard + +"handle-thing@npm:^2.0.0": + version: 2.0.1 + resolution: "handle-thing@npm:2.0.1" + checksum: 3/7509fca9ebc8c119c8d36a7de19216dfcd120a2f9ac0a7f4e7836549561f728bfe4d86fbe604805c0f4d574c2eed756c54486b9ddc436d0387d8397c7c00a434 + languageName: node + linkType: hard + +"handlebars@npm:^4.7.6": + version: 4.7.6 + resolution: "handlebars@npm:4.7.6" + dependencies: + minimist: ^1.2.5 + neo-async: ^2.6.0 + source-map: ^0.6.1 + uglify-js: ^3.1.4 + wordwrap: ^1.0.0 + dependenciesMeta: + uglify-js: + optional: true + bin: + handlebars: bin/handlebars + checksum: 3/50276715da3e410f1d485635029b77e09b8c9244d9e49119d5f39ed978a3d44ce94f5d6120efeb707da0ba9dd0cddf140d8d2ac160721d93aa9f4234474ad318 + languageName: node + linkType: hard + +"har-schema@npm:^2.0.0": + version: 2.0.0 + resolution: "har-schema@npm:2.0.0" + checksum: 3/e27ac33a968b8a3b2cc32e53afaec8aa795d08b058ef9b09b3bbce74db7ecadcabf60a6186e3bb901335d2c72bbf9e2af59429d736b5e80dc0edf18b3e1c5860 + languageName: node + linkType: hard + +"har-validator@npm:~5.1.3": + version: 5.1.3 + resolution: "har-validator@npm:5.1.3" + dependencies: + ajv: ^6.5.5 + har-schema: ^2.0.0 + checksum: 3/64cb2294c1eceba077280e31d7059e54a99aca442ade03b7e14af3d715f7f1c01c6e1a6df21252b0aff9bea7b06fc10539bb99ebe1acf46321e97f197bbb932b + languageName: node + linkType: hard + +"hard-rejection@npm:^2.1.0": + version: 2.1.0 + resolution: "hard-rejection@npm:2.1.0" + checksum: 3/27bc09d185ca8131356f0f3391ae5965c5ed8ec9eddf697d604e33c76eb995831e60ac636e5e5839587d0499f29719171c19d0af5fa12e9e7f7c0a1689e22b6f + languageName: node + linkType: hard + +"harmony-reflect@npm:^1.4.6": + version: 1.6.1 + resolution: "harmony-reflect@npm:1.6.1" + checksum: 3/cd8ee880be124d0f634e5f58027c2e6c9f600c2874a1e2481cb7acd369f0df6fb41b496aa3fbf247fb6a4a2de8d70b7587854c652493a6c6c21964ce70573100 + languageName: node + linkType: hard + +"has-ansi@npm:^2.0.0": + version: 2.0.0 + resolution: "has-ansi@npm:2.0.0" + dependencies: + ansi-regex: ^2.0.0 + checksum: 3/c6805f5d01ced45ba247ff2b8c914f401e70aa9086552d8eafbdf6bc0b0e38ea4a3bf1a387d100ff5f07e5854bca96532a01777820a16be2cdf8cf6582091bad + languageName: node + linkType: hard + +"has-flag@npm:^3.0.0": + version: 3.0.0 + resolution: "has-flag@npm:3.0.0" + checksum: 3/63aade480d27aeedb3b5b63a2e069d47d0006bf182338d662e7941cdc024e68a28418e0efa8dc5df30db9c4ee2407f39e6ea3f16cfbc6b83848b450826a28aa0 + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 3/2e5391139d3d287231ccb58659702392f6e3abeac3296fb4721afaff46493f3d9b99a9329ae015dfe973aa206ed5c75f43e86aec0267dce79aa5c2b6e811b3ad + languageName: node + linkType: hard + +"has-symbols@npm:^1.0.0, has-symbols@npm:^1.0.1": + version: 1.0.1 + resolution: "has-symbols@npm:1.0.1" + checksum: 3/84e2a03ada6f530f0c1ebea64df5932556ac20a4b78998f1f2b5dd0cf736843e8082c488b0ea7f08b9aec72fb6d8b736beed2fd62fac60dcaebfdc0b8d2aa7ac + languageName: node + linkType: hard + +"has-unicode@npm:^2.0.0": + version: 2.0.1 + resolution: "has-unicode@npm:2.0.1" + checksum: 3/ed3719f95cbd7dada9e3fde6fad113eae6d317bc8e818a2350954914c098ca6eddb203261af2c291c49a14c52f83610becbc7ab8d569bee81261b9c260a435f2 + languageName: node + linkType: hard + +"has-value@npm:^0.3.1": + version: 0.3.1 + resolution: "has-value@npm:0.3.1" + dependencies: + get-value: ^2.0.3 + has-values: ^0.1.4 + isobject: ^2.0.0 + checksum: 3/d78fab4523ad531894a84d840e00ac8041e5958e44a418c56517ac62436b7c827154ab79748b4b7f6aa1358cd7d74f888be52744115c56e6acedc7cb5523e213 + languageName: node + linkType: hard + +"has-value@npm:^1.0.0": + version: 1.0.0 + resolution: "has-value@npm:1.0.0" + dependencies: + get-value: ^2.0.6 + has-values: ^1.0.0 + isobject: ^3.0.0 + checksum: 3/e05422bce9a522e79332cba48ec7c01fb4c4b04b0d030417fdc9e2ea53508479d7efcb3184d4f7a5cf5070a99043836f18962bab25c728362d2abc29ec18b574 + languageName: node + linkType: hard + +"has-values@npm:^0.1.4": + version: 0.1.4 + resolution: "has-values@npm:0.1.4" + checksum: 3/df7ac830e460d399b181203c12cacaeaa1dcf0febceeed78fcfa0a6354879aa6c64c6b1ec049ce1c850a9b545d7a85fecc71741a5b743e0ad5dbd3e9928adff6 + languageName: node + linkType: hard + +"has-values@npm:^1.0.0": + version: 1.0.0 + resolution: "has-values@npm:1.0.0" + dependencies: + is-number: ^3.0.0 + kind-of: ^4.0.0 + checksum: 3/b69c45d5132bc29d54a9a28e5ee53a35ab4109f3335a035c37e3511fe94234e848169e2e7d583f4fa889a92646f3018287361d47d9f636c0e2880c0856c79a58 + languageName: node + linkType: hard + +"has-yarn@npm:^2.1.0": + version: 2.1.0 + resolution: "has-yarn@npm:2.1.0" + checksum: 3/105682f263a3437972c75594cdda237ce8454f67cae37a36a507701f300dade0460231dabbe873a7df035b7c0a0b3a686c9fcd1eebb29c73ca35753ecae6fb7d + languageName: node + linkType: hard + +"has@npm:^1.0.0, has@npm:^1.0.3": + version: 1.0.3 + resolution: "has@npm:1.0.3" + dependencies: + function-bind: ^1.1.1 + checksum: 3/c686e15300d41364486c099a9259d9c418022c294244843dcd712c4c286ff839d4f23a25413baa28c4d2c1e828afc2aaab70f685400b391533980223c71fa1ca + languageName: node + linkType: hard + +"hash-base@npm:^3.0.0": + version: 3.1.0 + resolution: "hash-base@npm:3.1.0" + dependencies: + inherits: ^2.0.4 + readable-stream: ^3.6.0 + safe-buffer: ^5.2.0 + checksum: 3/9f4b0d183daf13f79ef60f117efc7004bb3570de48fe2d3c7d03c546313490decb2dff2b08d71b8a0049a7de4b79eda16096c2a96f33a7f4916e7616bce4dc11 + languageName: node + linkType: hard + +"hash.js@npm:^1.0.0, hash.js@npm:^1.0.3": + version: 1.1.7 + resolution: "hash.js@npm:1.1.7" + dependencies: + inherits: ^2.0.3 + minimalistic-assert: ^1.0.1 + checksum: 3/fceb7fb87e224f4b399212f902d3a34c3ed8512560868b56dde92f617fac9c66b501e583bab2996ed7493be5ab3385e05a69d2209fa6a9144391b22e1c2d245b + languageName: node + linkType: hard + +"he@npm:^1.2.0": + version: 1.2.0 + resolution: "he@npm:1.2.0" + bin: + he: bin/he + checksum: 3/212122003c20c8c17ac0c83a419b4c8e835411ff6ab9195d053ea6e4a0597cc005b5b8eabcbd57b0b0c0fe676f0049e09315845fff4e051198845491cbba260e + languageName: node + linkType: hard + +"hex-color-regex@npm:^1.1.0": + version: 1.1.0 + resolution: "hex-color-regex@npm:1.1.0" + checksum: 3/89899f5f74cdef884e352fe8791018f2f112c338b97f3b486f7d5f4760a9c58181f688eb147937f9f2dd69c976a7296b53d1509c9a0871903eeb26a8382e486c + languageName: node + linkType: hard + +"hmac-drbg@npm:^1.0.0": + version: 1.0.1 + resolution: "hmac-drbg@npm:1.0.1" + dependencies: + hash.js: ^1.0.3 + minimalistic-assert: ^1.0.0 + minimalistic-crypto-utils: ^1.0.1 + checksum: 3/729d5a55bf793619830aca5e62d101dfdb4164fe30c056cdcaecb32b1a69a23aa663d88e876d9d56cb69b1c3d95395ea60b0a715763c461188b37dca3dea930d + languageName: node + linkType: hard + +"hosted-git-info@npm:^2.1.4": + version: 2.8.8 + resolution: "hosted-git-info@npm:2.8.8" + checksum: 3/3ecc389dc6ecbd5463fada7e04461e96f3c817fe2f989ca41e9dd3b503745a0bfa26fba405861b2831ca64edc1abc5d2fbc97ee977303f89650dac4fbfdc2d7a + languageName: node + linkType: hard + +"hpack.js@npm:^2.1.6": + version: 2.1.6 + resolution: "hpack.js@npm:2.1.6" + dependencies: + inherits: ^2.0.1 + obuf: ^1.0.0 + readable-stream: ^2.0.1 + wbuf: ^1.1.0 + checksum: 3/a22a28aa318167f29d65994ac28a238356142a3dcbcdcf20b0a87f14a746af7017596c91a895933d79ee68edf0303a4de5e629a2141cb1dbddb2cd9cad07418b + languageName: node + linkType: hard + +"hsl-regex@npm:^1.0.0": + version: 1.0.0 + resolution: "hsl-regex@npm:1.0.0" + checksum: 3/b04a50c6c75fc4035e9e212a2c581dcae64289f0ad45bb010a32dd3899c9a5ac95c4d23507a89027aa7950a8a9241de0e6ad66bc87535f261c0eef4817222a1f + languageName: node + linkType: hard + +"hsla-regex@npm:^1.0.0": + version: 1.0.0 + resolution: "hsla-regex@npm:1.0.0" + checksum: 3/2460f935b556795a7cadc17978bc4cd90f74aaba05505f7040e7809336c68e757dcdcc2121004a4d926a6f04295cf68a575a81c0fd2d4e7280dc201a98eb2859 + languageName: node + linkType: hard + +"html-comment-regex@npm:^1.1.0": + version: 1.1.2 + resolution: "html-comment-regex@npm:1.1.2" + checksum: 3/f3bf135002dc424aa5e59aa5f7697b4538898ce8af2375a42c4fcb53dbde3d430ec406b9ea59853b6fef7ca6f8de2939f12b285045850a70a757628bd5483cbf + languageName: node + linkType: hard + +"html-encoding-sniffer@npm:^1.0.2": + version: 1.0.2 + resolution: "html-encoding-sniffer@npm:1.0.2" + dependencies: + whatwg-encoding: ^1.0.1 + checksum: 3/fff1462d9845f08315b41a19b3deaeebf465b4abc44c12218ee2be42a4655dec18b8ca4ae2ea72270d564164a3092b9a72701c1c529777e378036a49c4f6bc80 + languageName: node + linkType: hard + +"html-encoding-sniffer@npm:^2.0.1": + version: 2.0.1 + resolution: "html-encoding-sniffer@npm:2.0.1" + dependencies: + whatwg-encoding: ^1.0.5 + checksum: 3/6f49e83a2e9225ba92c4586701cd21c0cf26c4c1f1a5f330a911c90a792649cc47b5bb3e67e78ba23dfa6b5b9c70af34231f44729b173d52b4ba305467b39042 + languageName: node + linkType: hard + +"html-entities@npm:^1.2.1": + version: 1.3.1 + resolution: "html-entities@npm:1.3.1" + checksum: 3/53d37e5161230ad7f2c16dd2b54945069d84b5167113eac55e39a8fffed357378afc022d5dc66045b132ea46232cab41aee86e79dd5cd0618e0b78776b9085b5 + languageName: node + linkType: hard + +"html-escaper@npm:^2.0.0": + version: 2.0.2 + resolution: "html-escaper@npm:2.0.2" + checksum: 3/a216ae96fa647155ce31ebf14e45b602eb84ab7b4a99d329d85d855d8a74d54c0c4146ac7eb4ada2761d3e22c067e73d6c66b54faefee37229ac025cfc97a513 + languageName: node + linkType: hard + +"html-minifier-terser@npm:^5.0.1": + version: 5.1.1 + resolution: "html-minifier-terser@npm:5.1.1" + 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 + checksum: 3/d05dea891f5977a35691306b1fb40438cffd6620c2f5a69d7ecb67bfa836af1d36c24978edd1616dc6d27e230561bd756c5f11b3054e6ebf2f8448289e3ca73d + languageName: node + linkType: hard + +"html-webpack-inline-source-plugin@npm:^1.0.0-beta.2": + version: 1.0.0-beta.2 + resolution: "html-webpack-inline-source-plugin@npm:1.0.0-beta.2" + dependencies: + escape-string-regexp: ^1.0.5 + slash: ^1.0.0 + source-map-url: ^0.4.0 + checksum: 3/3e9d6741481ee7c55a6de1dc369cd8fde4ddd4198cb982b71ea7627831dfba9720c05c61025d9396eda95fe2a061e2cbe063f3f8ba75749d64a869af2352e44b + languageName: node + linkType: hard + +"html-webpack-plugin@npm:4.0.0-beta.11": + version: 4.0.0-beta.11 + resolution: "html-webpack-plugin@npm:4.0.0-beta.11" + dependencies: + html-minifier-terser: ^5.0.1 + loader-utils: ^1.2.3 + lodash: ^4.17.15 + pretty-error: ^2.1.1 + tapable: ^1.1.3 + util.promisify: 1.0.0 + peerDependencies: + webpack: ^4.0.0 + checksum: 3/cefb7fc1c819e888a3721c9eb7a5f4fdafcc7d94a82d3bff06d65d526ee83e61ea34ff6a4478188c72c83dc0aed36132f7e3490031f0b11ea4f990d7d2381372 + languageName: node + linkType: hard + +"html-webpack-plugin@npm:^4.3.0": + version: 4.3.0 + resolution: "html-webpack-plugin@npm:4.3.0" + dependencies: + "@types/html-minifier-terser": ^5.0.0 + "@types/tapable": ^1.0.5 + "@types/webpack": ^4.41.8 + html-minifier-terser: ^5.0.1 + loader-utils: ^1.2.3 + lodash: ^4.17.15 + pretty-error: ^2.1.1 + tapable: ^1.1.3 + util.promisify: 1.0.0 + peerDependencies: + webpack: ">=4.0.0 < 6.0.0" + checksum: 3/13c23547ac83142f2e23a993a82e6fa6beb21291848a856c09d27e0dae12f5781699ed9c1fe798fb03cf317a6a4dce164d224fd6023640abc167f222b59a0fa0 + languageName: node + linkType: hard + +"htmlparser2@npm:^3.3.0": + version: 3.10.1 + resolution: "htmlparser2@npm:3.10.1" + dependencies: + domelementtype: ^1.3.1 + domhandler: ^2.3.0 + domutils: ^1.5.1 + entities: ^1.1.1 + inherits: ^2.0.1 + readable-stream: ^3.1.1 + checksum: 3/94fa6312e6c378b1c0f1626d3f468f0b25c5dcf6689bfa61fa0002c044c4c77842b5122feb84b501b02539165917febba0ffe754046996c9e8ed77c1bb65e66c + languageName: node + linkType: hard + +"http-assert@npm:^1.3.0": + version: 1.4.1 + resolution: "http-assert@npm:1.4.1" + dependencies: + deep-equal: ~1.0.1 + http-errors: ~1.7.2 + checksum: 3/bf6a90287f0803dbebdc7dbd4927461bafe4a50b600f0081570573291889cd4913c78c522cf40629e19c4705d4d34df9b3834c829c3be3410424ac669c6e9550 + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.0.0": + version: 4.1.0 + resolution: "http-cache-semantics@npm:4.1.0" + checksum: 3/451df9784af2acbe0cc1fd70291285c08ca4a8966ab5ee4d3975e003d1ad4d74c81473086d628f31296b31221966fda8bc5ea1e29dd8f1f33f9fc2b0fdca65ca + languageName: node + linkType: hard + +"http-deceiver@npm:^1.2.7": + version: 1.2.7 + resolution: "http-deceiver@npm:1.2.7" + checksum: 3/d0b10fce2548f9ffda9dc1707224e009ea9c132f3df7df2ba1d293a91c5f21efea618bc3737a21116b427c3d09187649b0158582f9174d2b61cd69bee7939d7d + languageName: node + linkType: hard + +"http-errors@npm:1.7.2": + version: 1.7.2 + resolution: "http-errors@npm:1.7.2" + dependencies: + depd: ~1.1.2 + inherits: 2.0.3 + setprototypeof: 1.1.1 + statuses: ">= 1.5.0 < 2" + toidentifier: 1.0.0 + checksum: 3/8ce4a4af05a3652c81768a2754ced24b86ff62e7bee147a27b6ef8cde24e7a48f9fbfcb87ec6f67781879b95f1b35d3f8d6378e8555eb7d469ce875f4e184418 + languageName: node + linkType: hard + +"http-errors@npm:^1.6.3, http-errors@npm:^1.7.3, http-errors@npm:~1.7.2": + version: 1.7.3 + resolution: "http-errors@npm:1.7.3" + dependencies: + depd: ~1.1.2 + inherits: 2.0.4 + setprototypeof: 1.1.1 + statuses: ">= 1.5.0 < 2" + toidentifier: 1.0.0 + checksum: 3/563ae4a3f19c89029212922bade6ffcd0e4b7fa52e539f08c8f6941de7eaccb00bf76cb7692662192f2f0d567d4ac1f9d6a3d0ee70b166c8540cf791497f90ea + languageName: node + linkType: hard + +"http-errors@npm:~1.6.2": + version: 1.6.3 + resolution: "http-errors@npm:1.6.3" + dependencies: + depd: ~1.1.2 + inherits: 2.0.3 + setprototypeof: 1.1.0 + statuses: ">= 1.4.0 < 2" + checksum: 3/850a3bf69ffc56c5151cea4a31bdf47412b7a6af3ee3f4fc92d3c4d90f8398d8843806f0d81916b310b661eed93722272cf2d41c2cac2fd5d1d1c66d4077942c + languageName: node + linkType: hard + +"http-parser-js@npm:>=0.4.0 <0.4.11": + version: 0.4.10 + resolution: "http-parser-js@npm:0.4.10" + checksum: 3/39e4b1c6445bbaa977d7b0a30316734bed709de04e73d91245f7b4330e1b95445dd0c435021b60565f20c606566a2e58d252a978f5bcd3d8c467ba2e67d46ec5 + languageName: node + linkType: hard + +"http-proxy-middleware@npm:0.19.1": + version: 0.19.1 + resolution: "http-proxy-middleware@npm:0.19.1" + dependencies: + http-proxy: ^1.17.0 + is-glob: ^4.0.0 + lodash: ^4.17.11 + micromatch: ^3.1.10 + checksum: 3/30f6e99935057bdd1e8323f34ee933822606fd762a912813182d4846b9acbf49f1e1767f0939f9ea1a503291727c1023dadaa41986b05b1d1ca9d420c67b5e09 + languageName: node + linkType: hard + +"http-proxy@npm:^1.17.0": + version: 1.18.1 + resolution: "http-proxy@npm:1.18.1" + dependencies: + eventemitter3: ^4.0.0 + follow-redirects: ^1.0.0 + requires-port: ^1.0.0 + checksum: 3/fc2062718d77868eff0d2707652d7e0d302a0f85d90f317daa410df5c41fbe009589c80bc73cc72a44368bb37d071c8f52aaa5b3ce82a08f3524a79ddf178b9b + languageName: node + linkType: hard + +"http-signature@npm:~1.2.0": + version: 1.2.0 + resolution: "http-signature@npm:1.2.0" + dependencies: + assert-plus: ^1.0.0 + jsprim: ^1.2.2 + sshpk: ^1.7.0 + checksum: 3/d28227eed37cb0dae0e76c46b2a5e611c678808433e5642238f17dba7f2c9c8f8d1646122d57ec1a110ecc7e8b9f5b7aa0462f1e2a5fa3b41f2fca5a69af7edf + languageName: node + linkType: hard + +"https-browserify@npm:^1.0.0": + version: 1.0.0 + resolution: "https-browserify@npm:1.0.0" + checksum: 3/9746a4ef0283691774f207039efed38e31e86732ed15bcebf1878e2e7cf4b87e8a4e5fe3cce342caba9545ce0e7e2bcf44fe08edb52284b1b53bfe026e1e8f07 + languageName: node + linkType: hard + +"human-signals@npm:^1.1.1": + version: 1.1.1 + resolution: "human-signals@npm:1.1.1" + checksum: 3/cac115f635090055427bbd9d066781b17de3a2d8bbf839d920ae2fa52c3eab4efc63b4c8abc10e9a8b979233fa932c43a83a48864003a8c684ed9fb78135dd45 + languageName: node + linkType: hard + +"iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24": + version: 0.4.24 + resolution: "iconv-lite@npm:0.4.24" + dependencies: + safer-buffer: ">= 2.1.2 < 3" + checksum: 3/a9b9521066ee81853a8561e92bd7240bc5d3b7d5ef7da807a475e7858b0246e318b6af518c30a20a8749ef5eafeaa9631079446e4e696c7b60f468b34dc2cbfc + languageName: node + linkType: hard + +"icss-utils@npm:^4.0.0, icss-utils@npm:^4.1.1": + version: 4.1.1 + resolution: "icss-utils@npm:4.1.1" + dependencies: + postcss: ^7.0.14 + checksum: 3/437ba4f7c9543db7a007f3968698ae26c966e2c54e34ac08c8f88737d06181ffacc5de8d17435940367135822a98655e3c6c8f70504d22b2f5cbc8e10798f873 + languageName: node + linkType: hard + +"identity-obj-proxy@npm:3.0.0": + version: 3.0.0 + resolution: "identity-obj-proxy@npm:3.0.0" + dependencies: + harmony-reflect: ^1.4.6 + checksum: 3/87f71cb15bc6173123a97f37f4fe2a9e1e44d9ceaceb19b0b233a0ab62bcc08793a019bc00241d876a73421ec4005fd28952805ef72725cda5866d712d789fe7 + languageName: node + linkType: hard + +"ieee754@npm:^1.1.4": + version: 1.1.13 + resolution: "ieee754@npm:1.1.13" + checksum: 3/9ef12932e8aeae1c614f314783b3770fac5daae7ae92ebffcda97da58efd77c0289181093666f6048e02c566ceeec4d0edf3b04b57ce8e0b57e9b3814a870469 + languageName: node + linkType: hard + +"iferr@npm:^0.1.5": + version: 0.1.5 + resolution: "iferr@npm:0.1.5" + checksum: 3/9d366dcc6356bfc0156ba7b86c7ef1a8ede7533fc7b100b4700de618774f1b48aa60185a2193f8260870b9168daa38aee5b11d38c92f5100af8ccdf22b5c2717 + languageName: node + linkType: hard + +"ignore-by-default@npm:^1.0.1": + version: 1.0.1 + resolution: "ignore-by-default@npm:1.0.1" + checksum: 3/c5c70afd7cfa3fb6bb14455e0154d76cda22c54438147f55f85a1012d211e120965686f277e9777a05a91fa77cbaf67d018f8a93d8cba67775e8579ac7856c93 + languageName: node + linkType: hard + +"ignore@npm:^3.3.5": + version: 3.3.10 + resolution: "ignore@npm:3.3.10" + checksum: 3/eda1ee571684bccf3cf9eeb09aba8e85c1331f3f7773af67f70662ffc96a11ef284132bbf65e748249648f296b01276ed9ad4a11d912086fed418892a48e0733 + languageName: node + linkType: hard + +"ignore@npm:^4.0.6": + version: 4.0.6 + resolution: "ignore@npm:4.0.6" + checksum: 3/8f7b7f7c261d110604aed4340771933b0a42ffd2075e87bf8b4229ceb679659c5384c99e25c059f53a2b0e16cebaa4c49f7e837d1f374d1abf91fea46ccddd1a + languageName: node + linkType: hard + +"immer@npm:1.10.0": + version: 1.10.0 + resolution: "immer@npm:1.10.0" + checksum: 3/9cec946ed092e0a9e5c33789e3bdddce2b1831ddb17eaade00be032ea5dcbb157a674e18e3050c84b451023ec9060a6ccc0f92ed54f637733ee410d81d0da8b9 + languageName: node + linkType: hard + +"import-cwd@npm:^2.0.0": + version: 2.1.0 + resolution: "import-cwd@npm:2.1.0" + dependencies: + import-from: ^2.1.0 + checksum: 3/2b8cb7bab332ae13d24aaa226b1b59a438e2e5dc07e6dcc735860d0520f9591a8ed55f60444658123c30958057e4b0f552bb5140e6e243d7fbd4b24bfee29d85 + languageName: node + linkType: hard + +"import-fresh@npm:^2.0.0": + version: 2.0.0 + resolution: "import-fresh@npm:2.0.0" + dependencies: + caller-path: ^2.0.0 + resolve-from: ^3.0.0 + checksum: 3/c95204ecfbea5b6c8fb792faaa765ee2d0c5912eb92485dc9e4f9f40326438b182ac4de8eec769c28dbc35656309fb79d0bae591e7305e7cfd069c2347c745ca + languageName: node + linkType: hard + +"import-fresh@npm:^3.0.0, import-fresh@npm:^3.1.0": + version: 3.2.1 + resolution: "import-fresh@npm:3.2.1" + dependencies: + parent-module: ^1.0.0 + resolve-from: ^4.0.0 + checksum: 3/5ace95063123e8c2e30cfe302421f3ef1598d4fff9763c1b6bbed0ab4e700a16e45078fbfc3f7a8a5c3680e01edf707bca25354dec90a268b9803074e46bc89c + languageName: node + linkType: hard + +"import-from@npm:^2.1.0": + version: 2.1.0 + resolution: "import-from@npm:2.1.0" + dependencies: + resolve-from: ^3.0.0 + checksum: 3/eb8dddd9d20058d3b3bb303f8e352cbd1bd53174d4fb2814fb64fc20b8796964116873aa7ebefbe57ec282ac6a2fce51c21dd47870de36e5d63304e612b18996 + languageName: node + linkType: hard + +"import-lazy@npm:^2.1.0": + version: 2.1.0 + resolution: "import-lazy@npm:2.1.0" + checksum: 3/4907a2ddbe39df77b28cbb3e0a41d675f56990b935cd579df7ccd143501f5496382cfbf8d53f359a41660d4a8963bec22a5d68e12d8fae9c828bf59664114963 + languageName: node + linkType: hard + +"import-local@npm:^2.0.0": + version: 2.0.0 + resolution: "import-local@npm:2.0.0" + dependencies: + pkg-dir: ^3.0.0 + resolve-cwd: ^2.0.0 + bin: + import-local-fixture: fixtures/cli.js + checksum: 3/4729bf153cf0d5ca5ee15f7fd7c93d17e7f129704525d5272e33a800cdf656b70d31bb2a5a25c3743d431b35e3fe8edd44b4e36cd7f10c71c092ca0cae76ef8e + languageName: node + linkType: hard + +"import-local@npm:^3.0.2": + version: 3.0.2 + resolution: "import-local@npm:3.0.2" + dependencies: + pkg-dir: ^4.2.0 + resolve-cwd: ^3.0.0 + bin: + import-local-fixture: fixtures/cli.js + checksum: 3/9ba5f1697b8b11aae8dab7964bf1c2409ed5dc51dd03fe8698fb32df04a3a683adbe9d95e6bb963a384373ec8d055c508f0c534b45aac1de4a3b4b653e6cfe82 + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 3/34d414d789286f6ef4d2b954c76c7df40dd7cabffef9b9959c8bd148677e98151f4fa5344aae2e3ad2b62308555ccbba3022e535a3e24288c9babb1308e35532 + languageName: node + linkType: hard + +"indent-string@npm:^2.1.0": + version: 2.1.0 + resolution: "indent-string@npm:2.1.0" + dependencies: + repeating: ^2.0.0 + checksum: 3/5c6bc6548e7c65c6f69c50a6cee286c4093e0d5a43cebaf4dae5b2acc321455dde8d80c421c9a14920ad44743a56bbe87082b1a619cd829477ab8da34dec1b59 + languageName: node + linkType: hard + +"indent-string@npm:^3.0.0": + version: 3.2.0 + resolution: "indent-string@npm:3.2.0" + checksum: 3/00d5200e3afc1ecfde7e82a28d14ce5e01ae5f07f883b5fdaa80146bb15854764f6a0e0ce5e41e30f377e25285139925adaf744b1754d83d69ab3852de7cd450 + languageName: node + linkType: hard + +"indent-string@npm:^4.0.0": + version: 4.0.0 + resolution: "indent-string@npm:4.0.0" + checksum: 3/3e54996c6e15ca00a7a4403be705bce4fb3bb4ac637da2e1473006e42a651863f53bfb8c3438c1b3aac77817768ac0cde0e7b7a81a6cf24a1286227a06510dbf + languageName: node + linkType: hard + +"indexes-of@npm:^1.0.1": + version: 1.0.1 + resolution: "indexes-of@npm:1.0.1" + checksum: 3/e1c232a32631c709bb8a2188d0a53c02aae18904fff0165322a353dfd2985e0b3ea184b2b15b74acc363a0344dc6e8dc927b874935a738e8ce0e5253e4a9da98 + languageName: node + linkType: hard + +"infer-owner@npm:^1.0.3, infer-owner@npm:^1.0.4": + version: 1.0.4 + resolution: "infer-owner@npm:1.0.4" + checksum: 3/56aa1d87b05936947765b1d9ace5f8d7ccd8cf6ccc1d69b67e8eaaee0e1ee2960d5accd51deb50d884665a5a1af3bcbb80f5d249c01a00280365bba59db9687b + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: ^1.3.0 + wrappy: 1 + checksum: 3/17c53fc42cbe7f7f471d2bc41b97a0cde4b79a74d5ff59997d3f75210566fa278e17596da526d43de2bd07e222706240ce50e60097e54f2cde2e64cbbb372638 + languageName: node + linkType: hard + +"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.1, inherits@npm:^2.0.3, inherits@npm:^2.0.4, inherits@npm:~2.0.1, inherits@npm:~2.0.3": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 3/98426da247ddfc3dcd7d7daedd90c3ca32d5b08deca08949726f12d49232aef94772a07b36cf4ff833e105ae2ef931777f6de4a6dd8245a216b9299ad4a50bea + languageName: node + linkType: hard + +"inherits@npm:2.0.1": + version: 2.0.1 + resolution: "inherits@npm:2.0.1" + checksum: 3/6f59f627a64cff6f4b5a2723184d831e6fc376cf88b8a94821caa2cad9d44da6d79583335024c01a541d9a25767785928a28f6e2192bb14be9ce800b315b4faa + languageName: node + linkType: hard + +"inherits@npm:2.0.3": + version: 2.0.3 + resolution: "inherits@npm:2.0.3" + checksum: 3/9488f9433effbc24474f6baee8014e5337c7f99305ecb4204fa5864ae7655c24225780d87fc65ed8d3d374715a18c5dc8c69fe3bf9745cde2e7acd0ac068a07b + languageName: node + linkType: hard + +"ini@npm:^1.3.2, ini@npm:^1.3.5, ini@npm:~1.3.0": + version: 1.3.5 + resolution: "ini@npm:1.3.5" + checksum: 3/304a78d1e0ec49c6dc316b6a21bee5340ba85159c6581235b26a4cf27e2bac5f66f2c8f0e074ceaf3c48085f89fb974691cbf812df2128d2d74c5ef726d1b19a + languageName: node + linkType: hard + +"inquirer@npm:7.0.4": + version: 7.0.4 + resolution: "inquirer@npm:7.0.4" + dependencies: + ansi-escapes: ^4.2.1 + chalk: ^2.4.2 + cli-cursor: ^3.1.0 + cli-width: ^2.0.0 + external-editor: ^3.0.3 + figures: ^3.0.0 + lodash: ^4.17.15 + mute-stream: 0.0.8 + run-async: ^2.2.0 + rxjs: ^6.5.3 + string-width: ^4.1.0 + strip-ansi: ^5.1.0 + through: ^2.3.6 + checksum: 3/4a33e940a3b2f656129ec38c961c5514daebe2192b1ac6fd3be7a02cfe601b57701af2df022fb54be9d8a6da5022548b4a82769f73b968ef2f1ee70697f78bdd + languageName: node + linkType: hard + +"inquirer@npm:^7.0.0": + version: 7.1.0 + resolution: "inquirer@npm:7.1.0" + dependencies: + ansi-escapes: ^4.2.1 + chalk: ^3.0.0 + cli-cursor: ^3.1.0 + cli-width: ^2.0.0 + external-editor: ^3.0.3 + figures: ^3.0.0 + lodash: ^4.17.15 + mute-stream: 0.0.8 + run-async: ^2.4.0 + rxjs: ^6.5.3 + string-width: ^4.1.0 + strip-ansi: ^6.0.0 + through: ^2.3.6 + checksum: 3/651838e841b5850a10edb5232d8fda9b119f71b9aa53ff8e52457c29729d86338d52175b8c50f77d9311c4b5b367f9d2090acfc4c54b6d643df59130d66b197a + languageName: node + linkType: hard + +"internal-ip@npm:^4.3.0": + version: 4.3.0 + resolution: "internal-ip@npm:4.3.0" + dependencies: + default-gateway: ^4.2.0 + ipaddr.js: ^1.9.0 + checksum: 3/2cf2248053bd471a3f07880d76a86fa64fb16f2fe5006c0efda218224050ea383618788627498734055cc7027926b7749288f88981bb35433da3f4171824afd0 + languageName: node + linkType: hard + +"internal-slot@npm:^1.0.2": + version: 1.0.2 + resolution: "internal-slot@npm:1.0.2" + dependencies: + es-abstract: ^1.17.0-next.1 + has: ^1.0.3 + side-channel: ^1.0.2 + checksum: 3/02b2bcc612fbbaa5de71acec354a7bb50d8b3b2d2df775b6df61ea41419f92b69e0562f80125d7fa3667c9fb485cc88726f8a181fb544d880c79564f0f7d7d1e + languageName: node + linkType: hard + +"interpret@npm:^1.0.0": + version: 1.2.0 + resolution: "interpret@npm:1.2.0" + checksum: 3/06d0dd4af01f9d0a99af8fb20c888db99e7c1bd28835951646a7e426dd99ccfffb9d06ad2e8f7cb60dd2ecc3e5bc61fe83e04c2cc47d92c7b144ff935673463c + languageName: node + linkType: hard + +"invariant@npm:^2.2.2, invariant@npm:^2.2.4": + version: 2.2.4 + resolution: "invariant@npm:2.2.4" + dependencies: + loose-envify: ^1.0.0 + checksum: 3/96d8a2a4f0ad21020c5847546fc36bec5c0870d99f071aaa93df00c1036439d48211a1823ab6128f78a15ccc4c4f62baf6a65f6c0ed489270dd44d0a04f443a1 + languageName: node + linkType: hard + +"invert-kv@npm:^2.0.0": + version: 2.0.0 + resolution: "invert-kv@npm:2.0.0" + checksum: 3/10b0fa3fd436b0340149fdb3c66cc2d1c0746e612fe1b5d356d9f520fd7f5c5f9c39bd9dddf184612ff421738005ad9c3e72386b97fb055c00c983e4ea1bc30d + languageName: node + linkType: hard + +"ip-regex@npm:^2.1.0": + version: 2.1.0 + resolution: "ip-regex@npm:2.1.0" + checksum: 3/2fd2190ada81b55a8a6f913bcb5a6fd6ff9da127905b4c01521f09a1d391e86d415dfe8c131ed2989d536949bb2f9654a71b9fa6f7ae2ac3ae6111b2026cc902 + languageName: node + linkType: hard + +"ip@npm:^1.1.0, ip@npm:^1.1.5": + version: 1.1.5 + resolution: "ip@npm:1.1.5" + checksum: 3/3ad007368cf797ec9b73fbac0a644077198dd85a128d0fe39697a78a9cdd47915577eee5c4eca9933549b575ac4716107896c2d4aa43a1622b3f72104232cad4 + languageName: node + linkType: hard + +"ipaddr.js@npm:1.9.1, ipaddr.js@npm:^1.9.0": + version: 1.9.1 + resolution: "ipaddr.js@npm:1.9.1" + checksum: 3/de15bc7e63973d960abc43c9fbbf19589c726774f59d157d1b29382a1e86ae87c68cbd8b5c78a1712a87fc4fcd91e10762c7671950c66a1a19040ff4fd2f9c9b + languageName: node + linkType: hard + +"is-absolute-url@npm:^2.0.0": + version: 2.1.0 + resolution: "is-absolute-url@npm:2.1.0" + checksum: 3/f9d193d86b5a255de08eb22653026e09952b5b1335c1c1c9c171237cb056c54d8c12ef45a069ac34270b7e960e46c89bc43f52d911317a2aaaab6d315c0da0e0 + languageName: node + linkType: hard + +"is-absolute-url@npm:^3.0.3": + version: 3.0.3 + resolution: "is-absolute-url@npm:3.0.3" + checksum: 3/1beac700465defee2bfa881cafcf144f3365cf0f748d62880e4a726c1de525ac39e8203bed14032f10509916dd392908e24d50ce1c1a444b44655a74708f9556 + languageName: node + linkType: hard + +"is-accessor-descriptor@npm:^0.1.6": + version: 0.1.6 + resolution: "is-accessor-descriptor@npm:0.1.6" + dependencies: + kind-of: ^3.0.2 + checksum: 3/7a7fca21855f7f5e56706d34ce089bc95b78db4ee0d11f554b642ac06b508452aaf26ffdf5dc0680c99f66e2043d78ab659760c417af60fd067ae0f09717d3cc + languageName: node + linkType: hard + +"is-accessor-descriptor@npm:^1.0.0": + version: 1.0.0 + resolution: "is-accessor-descriptor@npm:1.0.0" + dependencies: + kind-of: ^6.0.0 + checksum: 3/3973215c2eaea260a33d8ab227f56dc1f9bf085f68a1a27e3108378917482369992b907a57ae05a72a16591af174cf5206efca3faf608fb36eaca675f2841e13 + languageName: node + linkType: hard + +"is-arrayish@npm:^0.2.1": + version: 0.2.1 + resolution: "is-arrayish@npm:0.2.1" + checksum: 3/fc2bbe14dbcb27b490e63b7fbf0e3b0aae843e5e1fa96d79450bb9617797615a575c78c454ffc8e027c3ad50d63d83e85a7387784979dcd46686d2eb5f412db0 + languageName: node + linkType: hard + +"is-arrayish@npm:^0.3.1": + version: 0.3.2 + resolution: "is-arrayish@npm:0.3.2" + checksum: 3/0687b6b8f2443a45116ce25d8b11979591af625bd8a7515f5d8de2fcb80979655bc9d1cbbd2146c34f2728a234d1ea81d397e06f1ae3feb02c8f6df16766a4a0 + languageName: node + linkType: hard + +"is-binary-path@npm:^1.0.0": + version: 1.0.1 + resolution: "is-binary-path@npm:1.0.1" + dependencies: + binary-extensions: ^1.0.0 + checksum: 3/25a2cda1e504403a179d1daf2773d6ea47ce383e912bc695bb9e923b5d5468447e239499be5c2212c7508be7777196810f8307e1d1f0e83a6191425eb22c2887 + languageName: node + linkType: hard + +"is-binary-path@npm:~2.1.0": + version: 2.1.0 + resolution: "is-binary-path@npm:2.1.0" + dependencies: + binary-extensions: ^2.0.0 + checksum: 3/49a1446a3cf3719e91a061f0e52add18fd065325c652c277519a2ad333440dc8b449076a893277a46940ef16f05a908716667ca8f986b28c677b9acb11e10a36 + languageName: node + linkType: hard + +"is-buffer@npm:^1.0.2, is-buffer@npm:^1.1.5": + version: 1.1.6 + resolution: "is-buffer@npm:1.1.6" + checksum: 3/336ec78f00e88efe6ff6f1aa08d06aadb942a6cd320e5f538ac00648378fb964743b3737c88ce7ce8741c067e4a3b78f596b83ee1a3c72dc2885ea0b03dc84f2 + languageName: node + linkType: hard + +"is-callable@npm:^1.1.4, is-callable@npm:^1.1.5": + version: 1.1.5 + resolution: "is-callable@npm:1.1.5" + checksum: 3/e77885498dc68297933cfcf2b93da039936216a6423698dfbad33fdabd4e79f3298f30d505424e5f52d8acebc1223a1a0a0ab98435b92dbd55d7713be012719e + languageName: node + linkType: hard + +"is-ci@npm:^2.0.0": + version: 2.0.0 + resolution: "is-ci@npm:2.0.0" + dependencies: + ci-info: ^2.0.0 + bin: + is-ci: bin.js + checksum: 3/09083018edafd63221ff0506356f13c0aaf4b75a6435ea648bc67d07ddab199b2d5b9297de43d0821df1a14c18cd9f1edd1775a0166abfe37390843e79137213 + languageName: node + linkType: hard + +"is-color-stop@npm:^1.0.0": + version: 1.1.0 + resolution: "is-color-stop@npm:1.1.0" + 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 + checksum: 3/0e3d46b1e1669891fe38f019188c6edc8b6239ba21b391c2f25bd1887975f11fed0764771adb550e30c7726f737547953c9260b411c9813e573b8b9434e760c4 + languageName: node + linkType: hard + +"is-data-descriptor@npm:^0.1.4": + version: 0.1.4 + resolution: "is-data-descriptor@npm:0.1.4" + dependencies: + kind-of: ^3.0.2 + checksum: 3/51db89bb4676b871a67f371f665dcf9c3fabb84e26b411beff42fb3b5505cdc0e33eeb1aeaa9c0400eb6d372a3b241c23a6953b5902397e5ff212cfbfd9edcda + languageName: node + linkType: hard + +"is-data-descriptor@npm:^1.0.0": + version: 1.0.0 + resolution: "is-data-descriptor@npm:1.0.0" + dependencies: + kind-of: ^6.0.0 + checksum: 3/0297518899d51c498987b1cc64fde72b0300f93a09669b6653a4d56a9cfb40c85b5988e52e36b10e88d17ad13b1927932f4631ddc02f10fa1d44a1e3150d31cd + languageName: node + linkType: hard + +"is-date-object@npm:^1.0.1": + version: 1.0.2 + resolution: "is-date-object@npm:1.0.2" + checksum: 3/0e322699464a99da638c8a583b74dfb791732b6bc9c102bc0b7ac6303d83c86b9935f19b8d2ed4de52092241190c8826b099cb31972dea49a99b755293c0b1cf + languageName: node + linkType: hard + +"is-descriptor@npm:^0.1.0": + version: 0.1.6 + resolution: "is-descriptor@npm:0.1.6" + dependencies: + is-accessor-descriptor: ^0.1.6 + is-data-descriptor: ^0.1.4 + kind-of: ^5.0.0 + checksum: 3/cab6979fb6412eefca8e9bc3b59d239b2ce4916d6025f184eb6c3031b5d381cb536630606a4635f0f43197164a090bb500c762f713f17846c1e34dd9ae6ef607 + languageName: node + linkType: hard + +"is-descriptor@npm:^1.0.0, is-descriptor@npm:^1.0.2": + version: 1.0.2 + resolution: "is-descriptor@npm:1.0.2" + dependencies: + is-accessor-descriptor: ^1.0.0 + is-data-descriptor: ^1.0.0 + kind-of: ^6.0.2 + checksum: 3/be8004010eac165fa9a61513a51881c4bac324d060916d44bfee2be03edf500d5994591707147f1f4c93ae611f97de27debdd8325702158fcd0cf8fcca3fbe06 + languageName: node + linkType: hard + +"is-directory@npm:^0.3.1": + version: 0.3.1 + resolution: "is-directory@npm:0.3.1" + checksum: 3/e921dc18177e0ec9d1f05637b356d2974f2dacf9e120a90243a95f02bdd24a9c8bf7eb30ae51a7aa8d0e5dbb8a845fd58b105626535b693154d602f4618a8f5a + languageName: node + linkType: hard + +"is-docker@npm:^2.0.0": + version: 2.0.0 + resolution: "is-docker@npm:2.0.0" + checksum: 3/9972935f7d02de00658a0cd604e1dea41c337ec1d207afd7e1fac482fc8490cd84eee0f626f21f4b4d91f299f24a6074b367822a41ff2379412b3cc890481063 + languageName: node + linkType: hard + +"is-extendable@npm:^0.1.0, is-extendable@npm:^0.1.1": + version: 0.1.1 + resolution: "is-extendable@npm:0.1.1" + checksum: 3/9d051e68c38b09c242564b62d98cdcc0ba5b20421340c95d5ae023955dcaf31ae1d614e1eb7a18a6358d4c47ea77d811623e1777a0589df9ac5928c370edd5e5 + languageName: node + linkType: hard + +"is-extendable@npm:^1.0.1": + version: 1.0.1 + resolution: "is-extendable@npm:1.0.1" + dependencies: + is-plain-object: ^2.0.4 + checksum: 3/2bf711afe60cc99f46699015c444db8f06c9c5553dd2b26fd8cb663fcec4bf00df1c11d02e28a8cc97b8efb49315c3c3fcf6ce1ceb09341af8e4fcccde516dd7 + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.0, is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 3/ca623e2c56c893714a237aff645ec7caa8fea4d78868682af8d6803d7f0780323f8d566311e0dc6f942c886e81cbfa517597e48fcada7f3bf78a4d099eeecdd3 + languageName: node + linkType: hard + +"is-finite@npm:^1.0.0": + version: 1.1.0 + resolution: "is-finite@npm:1.1.0" + checksum: 3/d2ea9746ecc273e50183f56a51073862ff9f39bb1e63f6e2830da6be77d0d17c78e5ad1f8573d26c2a23457ab4a1b444472a46d64ba6f73824435cd734517ad4 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^1.0.0": + version: 1.0.0 + resolution: "is-fullwidth-code-point@npm:1.0.0" + dependencies: + number-is-nan: ^1.0.0 + checksum: 3/fc3d51ef082eaf0c0d44e94b74cf43b97446e008b147b08186daea8bd5ff402596f04b5fe4fa4c0457470beab5c2de8339c49c96b5be65fe9fdf88f60a0001e8 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^2.0.0": + version: 2.0.0 + resolution: "is-fullwidth-code-point@npm:2.0.0" + checksum: 3/e1e5284f848ab6885665967cd768292a75022304d4401e78937a68f423047c29bfe87a43a9cdb67a3210fff7bcd5da51469122a0eff59b03261c379e58dbe921 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 3/a01a19ecac34386ae3a4e801c5639d6e31082d1ddc418e7cd96317fef3c8b24ec8531558e9d3d35b33551ab9c5cf20bf2cdefa583927b7ff60c27c8d7c216063 + languageName: node + linkType: hard + +"is-generator-fn@npm:^2.0.0": + version: 2.1.0 + resolution: "is-generator-fn@npm:2.1.0" + checksum: 3/9639f8167925388f07d0ae190f1ebfe026e90db954480e6d28e776cf94040a00ea9158e1ac816bf77676e539bcbcf9cb4e997a599d80171e4bc52df76965e453 + languageName: node + linkType: hard + +"is-generator-function@npm:^1.0.7": + version: 1.0.7 + resolution: "is-generator-function@npm:1.0.7" + checksum: 3/6842c326097d94397bee53544b8d903dabf57a771e2bc36c1f4021106192b601b563372a1d34e921b10871740233a5f62d5d15adb3caf87665ab5932ccb8a83c + languageName: node + linkType: hard + +"is-glob@npm:^3.1.0": + version: 3.1.0 + resolution: "is-glob@npm:3.1.0" + dependencies: + is-extglob: ^2.1.0 + checksum: 3/9911e04e28285c50bfd5ff79950c6cf712ed9d959ef640acba2daeca8a17a921494b78b3143d5d1749c4dc3bbeb296b8955064a4f17d014112f0c63a239322d6 + languageName: node + linkType: hard + +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:~4.0.1": + version: 4.0.1 + resolution: "is-glob@npm:4.0.1" + dependencies: + is-extglob: ^2.1.1 + checksum: 3/98cd4f715f0fb81da34aa6c8be4a5ef02d8cfac3ebc885153012abc2a0410df5a572f9d0393134fcba9192c7a845da96142c5f74a3c02787efe178ed798615e6 + languageName: node + linkType: hard + +"is-installed-globally@npm:^0.3.1": + version: 0.3.2 + resolution: "is-installed-globally@npm:0.3.2" + dependencies: + global-dirs: ^2.0.1 + is-path-inside: ^3.0.1 + checksum: 3/10fc4fb09fe86c0ed5fa21e821607c6e1ca258386787b1aaad3afbe59470d0c3b50b076cbc996173b9b4c0de7d6a8b741aabf9229ab09d6c37ff663e51631529 + languageName: node + linkType: hard + +"is-npm@npm:^4.0.0": + version: 4.0.0 + resolution: "is-npm@npm:4.0.0" + checksum: 3/94ab2edae37293ceba039729ba1de851448059979138f72d7184a89a484bf70fbefc462268fecf59865e54ce972c15164229acc73bd56c025a7afc7dd0702c40 + languageName: node + linkType: hard + +"is-number@npm:^3.0.0": + version: 3.0.0 + resolution: "is-number@npm:3.0.0" + dependencies: + kind-of: ^3.0.2 + checksum: 3/ae03986dedb1e414cfef5402b24c9be5e9171bc77fdaa189f468144e801b23d8abaa9bf52fb882295558a042fbb0192fb3f80759a010073884eff9ee3f196962 + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 3/eec6e506c6de472af4bdfd0cc477e8aeb76f0a7066c8680fcdfed5324ee31a7d2b59d22313007c58aa80eb937f0c40eefdceedb851997d46b490b49f87160369 + languageName: node + linkType: hard + +"is-obj@npm:^1.0.0, is-obj@npm:^1.0.1": + version: 1.0.1 + resolution: "is-obj@npm:1.0.1" + checksum: 3/0913a3bb6424d6bfb37e2daa5ef4a5d31a388b0f5a53f36bbe1fd95f1264efe92c6fd87a5c3f41e25b3db42fe60924fe6ae1f0efb274375b090fd093a5301ccf + languageName: node + linkType: hard + +"is-obj@npm:^2.0.0": + version: 2.0.0 + resolution: "is-obj@npm:2.0.0" + checksum: 3/ffa67ed5df66e37757876cd976380737a0430551789a0457b8c031eaedef8f5c6bc4ab6d903e529efb777545f8718ab73d9badde61c8b08720a3747ccff0b2a0 + languageName: node + linkType: hard + +"is-path-cwd@npm:^2.0.0": + version: 2.2.0 + resolution: "is-path-cwd@npm:2.2.0" + checksum: 3/900f6e81445b9979705952189d7dbada79dbe6d77be3b5fc95aed3dc1cc9d77de5b286db2d525942a72a717c81aa549509b76705883415fb655183dfefce9541 + languageName: node + linkType: hard + +"is-path-in-cwd@npm:^2.0.0": + version: 2.1.0 + resolution: "is-path-in-cwd@npm:2.1.0" + dependencies: + is-path-inside: ^2.1.0 + checksum: 3/d814427f4e8757e960031bf9cf202f764a688a7d6be3bc8889335e5dc112e88731fda95556b8b6c7dc030358f4e6385e27ac9af95d0406411fc5271a94abef86 + languageName: node + linkType: hard + +"is-path-inside@npm:^2.1.0": + version: 2.1.0 + resolution: "is-path-inside@npm:2.1.0" + dependencies: + path-is-inside: ^1.0.2 + checksum: 3/e289fc4ec6df457600bac34068b7c564bf17eee703888d9eea2b0a363a0ac67bb5864e715ba428904dd683287154cab0f7f9536d7e4c23e3410c5cc024a5839b + languageName: node + linkType: hard + +"is-path-inside@npm:^3.0.1": + version: 3.0.2 + resolution: "is-path-inside@npm:3.0.2" + checksum: 3/709ba85a713d25fb058a4c2f62e9e7160bcc1a3e48af2f201045cde027fc1efe61a6e1b5c1cf21b8329f764e3649e160976fde14317c1b848caa9c1f31d5beec + languageName: node + linkType: hard + +"is-plain-obj@npm:^1.0.0, is-plain-obj@npm:^1.1.0": + version: 1.1.0 + resolution: "is-plain-obj@npm:1.1.0" + checksum: 3/d2eb5a32eacd7c79f3b2fe20552d091805a5ae88a7ca2aa71226bf822e4d690ef046ed2beb795f32666a401dfbf9a25ee3d4acde5426f963d55474468708ad22 + languageName: node + linkType: hard + +"is-plain-object@npm:^2.0.1, is-plain-object@npm:^2.0.3, is-plain-object@npm:^2.0.4": + version: 2.0.4 + resolution: "is-plain-object@npm:2.0.4" + dependencies: + isobject: ^3.0.1 + checksum: 3/2f3232267366f3cdf13d53deda1b282ba7959f28ccb2ee8e0ca168f859f0d7126c27c846ebb7c2b9821a09bbda2e1835fd4020337ba666cf3c03dc256aab7ba1 + languageName: node + linkType: hard + +"is-potential-custom-element-name@npm:^1.0.0": + version: 1.0.0 + resolution: "is-potential-custom-element-name@npm:1.0.0" + checksum: 3/55b1ae44cf9241ea5b08414318d12a4d2eb157cb5722908fc7ef268c6d175894cb59d298092a87f9ed54af5b60fc572fa7f6b34b8633120dbe6edaa6c5169d0b + languageName: node + linkType: hard + +"is-regex@npm:^1.0.5": + version: 1.0.5 + resolution: "is-regex@npm:1.0.5" + dependencies: + has: ^1.0.3 + checksum: 3/2f3b1fdb16044c6d1cc8d3a617cf1ff8637fe6958991e2805ba8eb01bdc76be6032ccd7fde12e81c39c5e70b0d556cdc7ba2a3a92f096d4e788f764bded2eca0 + languageName: node + linkType: hard + +"is-regexp@npm:^1.0.0": + version: 1.0.0 + resolution: "is-regexp@npm:1.0.0" + checksum: 3/b6c3ea4f405d31e20c9612f0480b5deb86d71477f3e08c78a889a8b7b4c9f9e9944b2621b997bede7b94b6f8607dc8333b521b6b69a2f8ad97c80d9eb47d04a9 + languageName: node + linkType: hard + +"is-resolvable@npm:^1.0.0": + version: 1.1.0 + resolution: "is-resolvable@npm:1.1.0" + checksum: 3/ef1a289c54e1115f668cd4fbfd6dc53d6bfa02c2c12e812a578aefbe795b72339cde37e9ee5709d15a21009cadadba2c61cf810f2dd1da29e3c651776c98dda8 + languageName: node + linkType: hard + +"is-root@npm:2.1.0": + version: 2.1.0 + resolution: "is-root@npm:2.1.0" + checksum: 3/7b5afc397e773d7fd3cce118479485b9b6e5d1e3df4aae8fc43d13ad2b3b49a08cbdfbd16ec393fbef8e5cf6187f6ec816dc5616fcffec5a055fceadf13dabb2 + languageName: node + linkType: hard + +"is-stream@npm:^1.1.0": + version: 1.1.0 + resolution: "is-stream@npm:1.1.0" + checksum: 3/39843ee9ff68ebda05237199f18831eb6e0e28db7799ee9ddaac5573b0681f18b4dc427afdb7b7ad906db545e4648999c42a1810b277acc8451593ff59da00fa + languageName: node + linkType: hard + +"is-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "is-stream@npm:2.0.0" + checksum: 3/f92ba04a8b8fafbade79bdaada53a044025db2fbd3fc2be978434db9a097a4afa457c2e3222c70c2ffc38854bde3a352593d6315463a54394f08ca9e51e32b50 + languageName: node + linkType: hard + +"is-string@npm:^1.0.5": + version: 1.0.5 + resolution: "is-string@npm:1.0.5" + checksum: 3/c64c791eb75935db9055291bc598edc22f03d3879b8a050b2955ba8087642d006338a1dedf7ac414c95f985c77c2d6fce655498d33c0df248fa92228a9945720 + languageName: node + linkType: hard + +"is-svg@npm:^3.0.0": + version: 3.0.0 + resolution: "is-svg@npm:3.0.0" + dependencies: + html-comment-regex: ^1.1.0 + checksum: 3/7dd3f5f18dc7816dcf370b937c3d12f3a74e6aab886032e34d187af7627acaa1c1b0230be6af83dbe02b0f10d97a2d392b12c9be7627fc11a1c588851953c46e + languageName: node + linkType: hard + +"is-symbol@npm:^1.0.2": + version: 1.0.3 + resolution: "is-symbol@npm:1.0.3" + dependencies: + has-symbols: ^1.0.1 + checksum: 3/753aa0cf95069387521b110c6646df4e0b5cce76cf604521c26b4f5d30a997a95036ed5930c0cca9e850ac6fccb04de551cc95aab71df471ee88e04ed1a96f21 + languageName: node + linkType: hard + +"is-text-path@npm:^1.0.1": + version: 1.0.1 + resolution: "is-text-path@npm:1.0.1" + dependencies: + text-extensions: ^1.0.0 + checksum: 3/7c46df2e802e4ec57ee3c75664a32008625c4fbccf9e0a4bb7713f84983075b4e1386711c3764d3a67a1fc54a4b3a27ebdb0350bdeb80aaddd56166bf4f5654e + languageName: node + linkType: hard + +"is-typedarray@npm:^1.0.0, is-typedarray@npm:~1.0.0": + version: 1.0.0 + resolution: "is-typedarray@npm:1.0.0" + checksum: 3/4e21156e7360a5916eded35c5938adf6278299a8055640864eebb251e4351cd605beccddf9af27477e19f753d453412fe0c21379bb54b55cfdf5add263076959 + languageName: node + linkType: hard + +"is-utf8@npm:^0.2.0": + version: 0.2.1 + resolution: "is-utf8@npm:0.2.1" + checksum: 3/c72f604d72b72f6a57f9b2e22c9b6f480e869b3f0efe141bd1dfbc36655225043ca8c1316ff8e343ef641cf80868c9e4a37345492f31402abd5ab68e09367977 + languageName: node + linkType: hard + +"is-windows@npm:^1.0.2": + version: 1.0.2 + resolution: "is-windows@npm:1.0.2" + checksum: 3/dd1ed8339a28c68fb52f05931c832488dafc90063e53b97a69ead219a5584d7f3e6e564731c2f983962ff5403afeb05365d88ce9af34c8dae76a14911020d73a + languageName: node + linkType: hard + +"is-wsl@npm:^1.1.0": + version: 1.1.0 + resolution: "is-wsl@npm:1.1.0" + checksum: 3/0f15cf5d5ff025afb0ba9cb49fd425b5d533b2af700533d343b7fa9aaca2f6c8242ba1c1a4e30c925522816bf0172fec2ae7cacaae682c91ffa0cd3f88ff1e8e + languageName: node + linkType: hard + +"is-wsl@npm:^2.1.1": + version: 2.2.0 + resolution: "is-wsl@npm:2.2.0" + dependencies: + is-docker: ^2.0.0 + checksum: 3/3dcc4073d4682b9f9a4c59411bb73716cfff88eae58a6bd0af302b8ee016263a5150302bb296bc81a4cb0d3b66c86d82b3ee0146ed15f6558022bc847a2549a2 + languageName: node + linkType: hard + +"is-yarn-global@npm:^0.3.0": + version: 0.3.0 + resolution: "is-yarn-global@npm:0.3.0" + checksum: 3/5a66f706f24e76979ce252a8f5ff4bb680da3c3eb978a2930f0147fecaa583eefb4ee1765bcfb85c0b4e83f67a231355e158a89b0047e83649f8f11a93563ef9 + languageName: node + linkType: hard + +"isarray@npm:1.0.0, isarray@npm:^1.0.0, isarray@npm:~1.0.0": + version: 1.0.0 + resolution: "isarray@npm:1.0.0" + checksum: 3/b0ff31a290e783f7b3fb73f2951ee7fc2946dc197b05f73577dc77f87dc3be2e0f66007bedf069123d4e5c4b691e7c89a241f6ca06f0c0f4765cdac5aa4b4047 + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 3/7b437980bb77881a146fba85cfbdf01edc2b148673e9c2722a1e49661fea73adf524430a80fdbfb8ce9f60d43224e682c657c45030482bd39e0c488fc29b4afe + languageName: node + linkType: hard + +"isobject@npm:^2.0.0": + version: 2.1.0 + resolution: "isobject@npm:2.1.0" + dependencies: + isarray: 1.0.0 + checksum: 3/2e7d7dd8d5874d1c32a0380f8b5d8d84aee782e0137e5978f75e27402ee2d49ca194baf7acd43d176f4fe0d925090b8b336461741674f402558e954c8c4ee886 + languageName: node + linkType: hard + +"isobject@npm:^3.0.0, isobject@npm:^3.0.1": + version: 3.0.1 + resolution: "isobject@npm:3.0.1" + checksum: 3/b537a9ccdd8d40ec552fe7ff5db3731f1deb77581adf9beb8ae812f8d08acfa0e74b193159ac50fb01084d7ade06d114077f984e21b8340531241bf85be9a0ab + languageName: node + linkType: hard + +"isstream@npm:~0.1.2": + version: 0.1.2 + resolution: "isstream@npm:0.1.2" + checksum: 3/8e6e5c4cf1823562db7035d2e7bac388412060fe9bc6727eca8c608def5aa57709165c51c2e68a2fce6ff0b64d79489501b84715060c5e8a477b87b6cbcd1eca + languageName: node + linkType: hard + +"istanbul-lib-coverage@npm:^2.0.2, istanbul-lib-coverage@npm:^2.0.5": + version: 2.0.5 + resolution: "istanbul-lib-coverage@npm:2.0.5" + checksum: 3/72737ebc48c31a45ab80fb1161b4c79a7d035d3088007ec55ec7a53b8bf6ae107a8222335e018978720270d71f2036abe73e150da4733f573be32398ad6aedd1 + languageName: node + linkType: hard + +"istanbul-lib-coverage@npm:^3.0.0": + version: 3.0.0 + resolution: "istanbul-lib-coverage@npm:3.0.0" + checksum: 3/c8effc09ae00fc7974a10ee245fa2c3eceda840e8f46245b80bddc7101b84cf2ac0bcce514aa47e338de610cad06af1b6e3c21f679aebf03e398651898ca9aad + languageName: node + linkType: hard + +"istanbul-lib-instrument@npm:^3.0.1, istanbul-lib-instrument@npm:^3.3.0": + version: 3.3.0 + resolution: "istanbul-lib-instrument@npm:3.3.0" + dependencies: + "@babel/generator": ^7.4.0 + "@babel/parser": ^7.4.3 + "@babel/template": ^7.4.0 + "@babel/traverse": ^7.4.3 + "@babel/types": ^7.4.0 + istanbul-lib-coverage: ^2.0.5 + semver: ^6.0.0 + checksum: 3/d7a7dae5db459ac4365cea3ecdaf0586c79bfb850059e2fc2364c060ca6bcbbf686675d8944d6490a52f0d018781403ec5902523430e7a404d4f2b2ad82e1aef + languageName: node + linkType: hard + +"istanbul-lib-instrument@npm:^4.0.0": + version: 4.0.3 + resolution: "istanbul-lib-instrument@npm:4.0.3" + dependencies: + "@babel/core": ^7.7.5 + "@istanbuljs/schema": ^0.1.2 + istanbul-lib-coverage: ^3.0.0 + semver: ^6.3.0 + checksum: 3/478e43e75d3a0e8af3902dd11a8606b665dda005e4aaf6d1919c6ed570a557dc253553a56a26466df02e5703e722fba6a37f4f847cc6d1d0e8314df024d1d76c + languageName: node + linkType: hard + +"istanbul-lib-report@npm:^2.0.4": + version: 2.0.8 + resolution: "istanbul-lib-report@npm:2.0.8" + dependencies: + istanbul-lib-coverage: ^2.0.5 + make-dir: ^2.1.0 + supports-color: ^6.1.0 + checksum: 3/63b898ed9e59f84eacfccb1b1450c09815ca8a70b7ff763ad489dd332d1ead6a81eefdc4e14e61ab6d05feaba78d8f3231d5eaa9ef3207ce5cd74be437393f1f + languageName: node + linkType: hard + +"istanbul-lib-report@npm:^3.0.0": + version: 3.0.0 + resolution: "istanbul-lib-report@npm:3.0.0" + dependencies: + istanbul-lib-coverage: ^3.0.0 + make-dir: ^3.0.0 + supports-color: ^7.1.0 + checksum: 3/aada59dfceae04005f684031a627f1e9730634262a5426837a9b60c49530d626dc727be5930e7ae6303ce0d4357fb8331eda0935b8c6b999df5d376bdc825991 + languageName: node + linkType: hard + +"istanbul-lib-source-maps@npm:^3.0.1": + version: 3.0.6 + resolution: "istanbul-lib-source-maps@npm:3.0.6" + dependencies: + debug: ^4.1.1 + istanbul-lib-coverage: ^2.0.5 + make-dir: ^2.1.0 + rimraf: ^2.6.3 + source-map: ^0.6.1 + checksum: 3/f883303e1487669a9a2eb88c98fbdc5dec4c5610caa087c7629eb6a5718f8af53ad541cc820b1a92879590a4cef4a6ea60d579be047dd4a011829a74df4db27e + languageName: node + linkType: hard + +"istanbul-lib-source-maps@npm:^4.0.0": + version: 4.0.0 + resolution: "istanbul-lib-source-maps@npm:4.0.0" + dependencies: + debug: ^4.1.1 + istanbul-lib-coverage: ^3.0.0 + source-map: ^0.6.1 + checksum: 3/018b5feeb4a3eb32675abb0129e88e48009de6c0b1c1c7006e8dadd5b15e54f4c09cbbeba0febf8bd7bacd25a514abc61c91e4340479d859a0c185448f692099 + languageName: node + linkType: hard + +"istanbul-reports@npm:^2.2.6": + version: 2.2.7 + resolution: "istanbul-reports@npm:2.2.7" + dependencies: + html-escaper: ^2.0.0 + checksum: 3/828f4afd30f1248aaf2ae65a606aa889611165de2c71eaa6a8953eeb4bdbf4b19072b5ec224d465a7511ed02a63a8fabf08c915ab08f7016310a512d4e14c2ac + languageName: node + linkType: hard + +"istanbul-reports@npm:^3.0.2": + version: 3.0.2 + resolution: "istanbul-reports@npm:3.0.2" + dependencies: + html-escaper: ^2.0.0 + istanbul-lib-report: ^3.0.0 + checksum: 3/d4ed416e13fe0fc709566439086660ddab58dce9d6a655053c5315715aac8225bc7e9fcae553c2c3d8cc66cd4b59498a50b92d543a4820c5be0e5ee30178cdf0 + languageName: node + linkType: hard + +"iterall@npm:^1.2.1, iterall@npm:^1.2.2, iterall@npm:^1.3.0": + version: 1.3.0 + resolution: "iterall@npm:1.3.0" + checksum: 3/25ae2d07cf97fc35d43fa7af814839689416b83d3ade0fec97a62c58b7b9fad5ff89dd0ede99f2d67cae2697ffa6987f0ab10876f40ae6466e802609a05b1006 + languageName: node + linkType: hard + +"jest-changed-files@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-changed-files@npm:24.9.0" + dependencies: + "@jest/types": ^24.9.0 + execa: ^1.0.0 + throat: ^4.0.0 + checksum: 3/cd341b76fa05b94dece212afd819b68f84408fe21e784bd08d7da88dfb155682d92b3573fb3b90d2e87bbbfa09c077d4bfc4fbfcb48c6c69a741fc6c1471f602 + languageName: node + linkType: hard + +"jest-changed-files@npm:^26.0.1": + version: 26.0.1 + resolution: "jest-changed-files@npm:26.0.1" + dependencies: + "@jest/types": ^26.0.1 + execa: ^4.0.0 + throat: ^5.0.0 + checksum: 3/5e8716a8c44858afb9a1acab2b8ff52b5269afc73b3686f8733f7288b8830f72a2909c96b638a5923e4e70be5a674c5af0c8f8cebc0c09afc93708dafe53dd1b + languageName: node + linkType: hard + +"jest-cli@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-cli@npm:24.9.0" + dependencies: + "@jest/core": ^24.9.0 + "@jest/test-result": ^24.9.0 + "@jest/types": ^24.9.0 + chalk: ^2.0.1 + exit: ^0.1.2 + import-local: ^2.0.0 + is-ci: ^2.0.0 + jest-config: ^24.9.0 + jest-util: ^24.9.0 + jest-validate: ^24.9.0 + prompts: ^2.0.1 + realpath-native: ^1.1.0 + yargs: ^13.3.0 + bin: + jest: ./bin/jest.js + checksum: 3/ae39e4654c51f6b61c81f9aa8780945522adcfc107fec4f5e9c987207a987069082575a4f660cfcc013136e98c9b9e43d31287ddb68e01492fb498eb02fa8fb0 + languageName: node + linkType: hard + +"jest-cli@npm:^26.0.1": + version: 26.0.1 + resolution: "jest-cli@npm:26.0.1" + dependencies: + "@jest/core": ^26.0.1 + "@jest/test-result": ^26.0.1 + "@jest/types": ^26.0.1 + chalk: ^4.0.0 + exit: ^0.1.2 + graceful-fs: ^4.2.4 + import-local: ^3.0.2 + is-ci: ^2.0.0 + jest-config: ^26.0.1 + jest-util: ^26.0.1 + jest-validate: ^26.0.1 + prompts: ^2.0.1 + yargs: ^15.3.1 + bin: + jest: bin/jest.js + checksum: 3/f3b27542a31d3f777c373ca02a0be686a0587b74fdccc08d58578b518b9b08a9dbe187e16ff2e4959cca9f07ba6a1622a506f9ae5fdc54e3ebc03d7ed3a377ec + languageName: node + linkType: hard + +"jest-config@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-config@npm:24.9.0" + dependencies: + "@babel/core": ^7.1.0 + "@jest/test-sequencer": ^24.9.0 + "@jest/types": ^24.9.0 + babel-jest: ^24.9.0 + chalk: ^2.0.1 + glob: ^7.1.1 + jest-environment-jsdom: ^24.9.0 + jest-environment-node: ^24.9.0 + jest-get-type: ^24.9.0 + jest-jasmine2: ^24.9.0 + jest-regex-util: ^24.3.0 + jest-resolve: ^24.9.0 + jest-util: ^24.9.0 + jest-validate: ^24.9.0 + micromatch: ^3.1.10 + pretty-format: ^24.9.0 + realpath-native: ^1.1.0 + checksum: 3/00c16a265423ca5c5ee229f9088e709bd85dbcfd80b0b0c50d2d885445935b651e6b45e80065419f3727b96f0273e655cc23964d0cdcf65b33f7065de482cf10 + languageName: node + linkType: hard + +"jest-config@npm:^26.0.1": + version: 26.0.1 + resolution: "jest-config@npm:26.0.1" + dependencies: + "@babel/core": ^7.1.0 + "@jest/test-sequencer": ^26.0.1 + "@jest/types": ^26.0.1 + babel-jest: ^26.0.1 + chalk: ^4.0.0 + deepmerge: ^4.2.2 + glob: ^7.1.1 + graceful-fs: ^4.2.4 + jest-environment-jsdom: ^26.0.1 + jest-environment-node: ^26.0.1 + jest-get-type: ^26.0.0 + jest-jasmine2: ^26.0.1 + jest-regex-util: ^26.0.0 + jest-resolve: ^26.0.1 + jest-util: ^26.0.1 + jest-validate: ^26.0.1 + micromatch: ^4.0.2 + pretty-format: ^26.0.1 + checksum: 3/47e98169e0ed10f38ce8c932c368325d7567c515811a00941e6b6a84859c7e5fe42fcb155de87dfc0109ad4b0a69dc2e73b938bd734a05d34de4df2dcee46348 + languageName: node + linkType: hard + +"jest-diff@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-diff@npm:24.9.0" + dependencies: + chalk: ^2.0.1 + diff-sequences: ^24.9.0 + jest-get-type: ^24.9.0 + pretty-format: ^24.9.0 + checksum: 3/ba4aa10e5712ad365700921c90362dae8c2ab5b2c599b6f64fc4f3013f6208d760cb2980d491010e602e4a36b28a5c18fceba251f7602929d93300ae03ae931c + languageName: node + linkType: hard + +"jest-diff@npm:^25.2.1": + version: 25.5.0 + resolution: "jest-diff@npm:25.5.0" + dependencies: + chalk: ^3.0.0 + diff-sequences: ^25.2.6 + jest-get-type: ^25.2.6 + pretty-format: ^25.5.0 + checksum: 3/14a2634ecb159a9a2f061239db1cea0c889e7a72ab05bd1fa799db30efca2ce79291372823f5e3468d9bc856f404f312e44e89c171eea8132b5835d12f71d0b3 + languageName: node + linkType: hard + +"jest-diff@npm:^26.0.1": + version: 26.0.1 + resolution: "jest-diff@npm:26.0.1" + dependencies: + chalk: ^4.0.0 + diff-sequences: ^26.0.0 + jest-get-type: ^26.0.0 + pretty-format: ^26.0.1 + checksum: 3/9bd187fe3da41081bd8df9cdaa870e65656d5911f0eca0b06dda6061830b01cf5cf6c9575131aecb6af9f95cb1d06757b81138a5f3010cfc49dd9d9f28557725 + languageName: node + linkType: hard + +"jest-docblock@npm:^24.3.0": + version: 24.9.0 + resolution: "jest-docblock@npm:24.9.0" + dependencies: + detect-newline: ^2.1.0 + checksum: 3/c68724ccda9d8cc8d8bea2c23cfdf252c6a903f61802d063f2e6ab983463899a490897c3172bd853ca0c887c998a49bcac11cc6fa56fe6d68ddd7f1bc58760b6 + languageName: node + linkType: hard + +"jest-docblock@npm:^26.0.0": + version: 26.0.0 + resolution: "jest-docblock@npm:26.0.0" + dependencies: + detect-newline: ^3.0.0 + checksum: 3/54b8ea1c8445a4b15e9ee5035f1bd60b0d492b87258995133a1b5df43a07803c93b54e8adaa45eae05778bd61ad57745491c625e7aa65198a9aa4f0c79030b56 + languageName: node + linkType: hard + +"jest-each@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-each@npm:24.9.0" + dependencies: + "@jest/types": ^24.9.0 + chalk: ^2.0.1 + jest-get-type: ^24.9.0 + jest-util: ^24.9.0 + pretty-format: ^24.9.0 + checksum: 3/6916be0ce87d6cf5b059cb1238e024497ad7fadc18d891f7f4b2334ce7d83d4e9531c06fd8bf2e1ee9b41b8b6f3cb0206f46e8632e85824c53abec698528a5dd + languageName: node + linkType: hard + +"jest-each@npm:^26.0.1": + version: 26.0.1 + resolution: "jest-each@npm:26.0.1" + dependencies: + "@jest/types": ^26.0.1 + chalk: ^4.0.0 + jest-get-type: ^26.0.0 + jest-util: ^26.0.1 + pretty-format: ^26.0.1 + checksum: 3/8f6ebaca019476cc751bbcf1cd4e1d623cd7ec351a8905bc1971014c30712263b3dbbdb84739a50e21e80e4802795b3b90b3fad51f81174a69c311c481c66e26 + languageName: node + linkType: hard + +"jest-environment-jsdom-fourteen@npm:1.0.1": + version: 1.0.1 + resolution: "jest-environment-jsdom-fourteen@npm:1.0.1" + dependencies: + "@jest/environment": ^24.3.0 + "@jest/fake-timers": ^24.3.0 + "@jest/types": ^24.3.0 + jest-mock: ^24.0.0 + jest-util: ^24.0.0 + jsdom: ^14.1.0 + checksum: 3/c90070cf92a338aff49bd46c634e9bc42bb198d841f880bb63610de6c4877251936750b24e4e7821888c70528a6797846028cb20775b6d62becfaa58b58381fc + languageName: node + linkType: hard + +"jest-environment-jsdom@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-environment-jsdom@npm:24.9.0" + dependencies: + "@jest/environment": ^24.9.0 + "@jest/fake-timers": ^24.9.0 + "@jest/types": ^24.9.0 + jest-mock: ^24.9.0 + jest-util: ^24.9.0 + jsdom: ^11.5.1 + checksum: 3/403539fe7d01142b0588fa1a95add2bbf1aec61cb328b95cdb65b5748145ef59da1abf621c798a2bfce911fde87898f6a4f1dd21810a8062584b571a3941b83c + languageName: node + linkType: hard + +"jest-environment-jsdom@npm:^26.0.1": + version: 26.0.1 + resolution: "jest-environment-jsdom@npm:26.0.1" + dependencies: + "@jest/environment": ^26.0.1 + "@jest/fake-timers": ^26.0.1 + "@jest/types": ^26.0.1 + jest-mock: ^26.0.1 + jest-util: ^26.0.1 + jsdom: ^16.2.2 + checksum: 3/ff6aafd3ae5c498b1019ff12fc3bca2276fe2bffc75f7561f609889732c3e40b370e3a6729cbc29a68419cebe8c9ca8cc3b244a718c7ea354c5fc7d930aa9926 + languageName: node + linkType: hard + +"jest-environment-node@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-environment-node@npm:24.9.0" + dependencies: + "@jest/environment": ^24.9.0 + "@jest/fake-timers": ^24.9.0 + "@jest/types": ^24.9.0 + jest-mock: ^24.9.0 + jest-util: ^24.9.0 + checksum: 3/cc8592650b9f99c90faab9effbfc76e00da6a8ab3c15e21644192034d428539ad7ed3c5e76bce29a5cfcf737818f950077cd06eefae13d0bf4eea5656ffca56a + languageName: node + linkType: hard + +"jest-environment-node@npm:^26.0.1": + version: 26.0.1 + resolution: "jest-environment-node@npm:26.0.1" + dependencies: + "@jest/environment": ^26.0.1 + "@jest/fake-timers": ^26.0.1 + "@jest/types": ^26.0.1 + jest-mock: ^26.0.1 + jest-util: ^26.0.1 + checksum: 3/0b5f4765499a2b31a204e01349aed9937de10002a61301d4d09672f24027673f572cb1c7a7d1c0ffcffee1fb4c1631061d1620835ade36ff1b319bb93e5813b8 + languageName: node + linkType: hard + +"jest-get-type@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-get-type@npm:24.9.0" + checksum: 3/0e6164dff23f8cd664a46642d2167b743e67349c57ff908259b56e3f5c81f8d2a13de2dd473a1a3d7682adcfe85888d14b0496ba51c5c8095eb52bf7526c3918 + languageName: node + linkType: hard + +"jest-get-type@npm:^25.2.6": + version: 25.2.6 + resolution: "jest-get-type@npm:25.2.6" + checksum: 3/6051fcb75cdaa8fad66fd5a1e91d2c1597e9ccc54eecd5cd489fd73a00e322d28cb5859b656a8224a41eddab0ecfb875df9ec62f545a76afa1a55d3ba97fba6d + languageName: node + linkType: hard + +"jest-get-type@npm:^26.0.0": + version: 26.0.0 + resolution: "jest-get-type@npm:26.0.0" + checksum: 3/df81e05d3e759dcadcd575ff559db63e3774c36c4c6e02a4ae8e925fe47f1e9fbdd4f157fbe317c691df5e5a256a15fcd76699c6121d90b6749ce25dbca75817 + languageName: node + linkType: hard + +"jest-haste-map@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-haste-map@npm:24.9.0" + dependencies: + "@jest/types": ^24.9.0 + anymatch: ^2.0.0 + fb-watchman: ^2.0.0 + fsevents: ^1.2.7 + graceful-fs: ^4.1.15 + invariant: ^2.2.4 + jest-serializer: ^24.9.0 + jest-util: ^24.9.0 + jest-worker: ^24.9.0 + micromatch: ^3.1.10 + sane: ^4.0.3 + walker: ^1.0.7 + dependenciesMeta: + fsevents: + optional: true + checksum: 3/4b836aebac76df7fdf0c67924453900cb2f1f4cef211007d707c1cd0d8c4041694089f3c84720643aa4b1fbab743d1d2da0317e16a6d8aa81302438f05b8a967 + languageName: node + linkType: hard + +"jest-haste-map@npm:^26.0.1": + version: 26.0.1 + resolution: "jest-haste-map@npm:26.0.1" + dependencies: + "@jest/types": ^26.0.1 + "@types/graceful-fs": ^4.1.2 + anymatch: ^3.0.3 + fb-watchman: ^2.0.0 + fsevents: ^2.1.2 + graceful-fs: ^4.2.4 + jest-serializer: ^26.0.0 + jest-util: ^26.0.1 + jest-worker: ^26.0.0 + micromatch: ^4.0.2 + sane: ^4.0.3 + walker: ^1.0.7 + which: ^2.0.2 + dependenciesMeta: + fsevents: + optional: true + checksum: 3/bc488720cc5a12d39ccaf77e4875ac5e185ff076ddbfa2b7a662de3a8330672182de990081f553e122039b0fc94db44a5d03aa540469cef0c6a77e89e04bb5d8 + languageName: node + linkType: hard + +"jest-jasmine2@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-jasmine2@npm:24.9.0" + dependencies: + "@babel/traverse": ^7.1.0 + "@jest/environment": ^24.9.0 + "@jest/test-result": ^24.9.0 + "@jest/types": ^24.9.0 + chalk: ^2.0.1 + co: ^4.6.0 + expect: ^24.9.0 + is-generator-fn: ^2.0.0 + jest-each: ^24.9.0 + jest-matcher-utils: ^24.9.0 + jest-message-util: ^24.9.0 + jest-runtime: ^24.9.0 + jest-snapshot: ^24.9.0 + jest-util: ^24.9.0 + pretty-format: ^24.9.0 + throat: ^4.0.0 + checksum: 3/15e181e873ddb6a83c8eb7a53add5de805fd399d5c1e15fd2bfe3e6dcfb79c9a31b69d0ced91b4f0c92bbd1c80cd73244f5bb291cf0c194c0f9a130ef60af885 + languageName: node + linkType: hard + +"jest-jasmine2@npm:^26.0.1": + version: 26.0.1 + resolution: "jest-jasmine2@npm:26.0.1" + dependencies: + "@babel/traverse": ^7.1.0 + "@jest/environment": ^26.0.1 + "@jest/source-map": ^26.0.0 + "@jest/test-result": ^26.0.1 + "@jest/types": ^26.0.1 + chalk: ^4.0.0 + co: ^4.6.0 + expect: ^26.0.1 + is-generator-fn: ^2.0.0 + jest-each: ^26.0.1 + jest-matcher-utils: ^26.0.1 + jest-message-util: ^26.0.1 + jest-runtime: ^26.0.1 + jest-snapshot: ^26.0.1 + jest-util: ^26.0.1 + pretty-format: ^26.0.1 + throat: ^5.0.0 + checksum: 3/92166ca648f0e5b21ed12f8ba5ba8cf570b96626b0dcb93cc6e9626db90a1053b4cb64f6fe9b725c46630b9286d116c698fac5c0ea984eabc47e96e7d028b9ab + languageName: node + linkType: hard + +"jest-leak-detector@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-leak-detector@npm:24.9.0" + dependencies: + jest-get-type: ^24.9.0 + pretty-format: ^24.9.0 + checksum: 3/68f09bbbee0ef57c9ec47c163d46adb4ad34b256b6ee7d5ca639cba6f57e0661ff216635adad54e6c5e19b47fd38fc68ff252ce2ebf86f205340d317531eabb7 + languageName: node + linkType: hard + +"jest-leak-detector@npm:^26.0.1": + version: 26.0.1 + resolution: "jest-leak-detector@npm:26.0.1" + dependencies: + jest-get-type: ^26.0.0 + pretty-format: ^26.0.1 + checksum: 3/50965f39dc23a3945aafa2399a0cc68b50e1a0a685c256ff5a84c6416474d3d174983a44b2cac87c5779898a1d95bbd25681b9a3d18f0f2ae39963451242cca6 + languageName: node + linkType: hard + +"jest-matcher-utils@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-matcher-utils@npm:24.9.0" + dependencies: + chalk: ^2.0.1 + jest-diff: ^24.9.0 + jest-get-type: ^24.9.0 + pretty-format: ^24.9.0 + checksum: 3/3f7d216a5f3ba562692e8f54add1391516af7dba4ad8e48256a732bbb2fef177b0a9095c3e3f21172ef1f461a73f3fa2c02a60093e3f4d556d6967d25c47e4b7 + languageName: node + linkType: hard + +"jest-matcher-utils@npm:^26.0.1": + version: 26.0.1 + resolution: "jest-matcher-utils@npm:26.0.1" + dependencies: + chalk: ^4.0.0 + jest-diff: ^26.0.1 + jest-get-type: ^26.0.0 + pretty-format: ^26.0.1 + checksum: 3/4d6a48c8cb4f5c85904042686c1416f9dee22e63ed64a2b3e38eb37992c9fd2526d656ca52060b2db8617b60aadfb6e86419e5ffc7b15cc2be1caabe9ee2dbe9 + languageName: node + linkType: hard + +"jest-message-util@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-message-util@npm:24.9.0" + dependencies: + "@babel/code-frame": ^7.0.0 + "@jest/test-result": ^24.9.0 + "@jest/types": ^24.9.0 + "@types/stack-utils": ^1.0.1 + chalk: ^2.0.1 + micromatch: ^3.1.10 + slash: ^2.0.0 + stack-utils: ^1.0.1 + checksum: 3/da57503c89eefbb520217fad8cc3b0b6f1b0dc33212dd7d00fcdf179586aab2686999d982a26cd9bf2eef47a1dc33eb668a9f0e668d1337cf06c28cac3f1eff6 + languageName: node + linkType: hard + +"jest-message-util@npm:^26.0.1": + version: 26.0.1 + resolution: "jest-message-util@npm:26.0.1" + dependencies: + "@babel/code-frame": ^7.0.0 + "@jest/types": ^26.0.1 + "@types/stack-utils": ^1.0.1 + chalk: ^4.0.0 + graceful-fs: ^4.2.4 + micromatch: ^4.0.2 + slash: ^3.0.0 + stack-utils: ^2.0.2 + checksum: 3/e7b4c488d66a69492a96896f38cd9167c9e6da8e41de329ddf14bcd55784efb790c4db91951fcf89657d31e085080ad63b4db2767864d39e11812b0b8557afbe + languageName: node + linkType: hard + +"jest-mock@npm:^24.0.0, jest-mock@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-mock@npm:24.9.0" + dependencies: + "@jest/types": ^24.9.0 + checksum: 3/efb18eadac77dfb2a0c193ee50f03ac2374b516d749925912cf45de6312037601d95814b6981992720da4bed8d0db08724bfd65ac25db9eb20c94102f6d65055 + languageName: node + linkType: hard + +"jest-mock@npm:^26.0.1": + version: 26.0.1 + resolution: "jest-mock@npm:26.0.1" + dependencies: + "@jest/types": ^26.0.1 + checksum: 3/2dd23d2573cc65202dd103e32b5c7b2613b9530bc316afea0c48a3e43f28a42b8814b23cdae0d59dcde61655e1395e5c12ec02d32f1a41cc71e209fa1d17feaf + languageName: node + linkType: hard + +"jest-pnp-resolver@npm:^1.2.1": + version: 1.2.1 + resolution: "jest-pnp-resolver@npm:1.2.1" + peerDependencies: + jest-resolve: "*" + peerDependenciesMeta: + jest-resolve: + optional: true + checksum: 3/ab48e45c3985a8ea89dceba6c7867017addb38a6da6121211fb533000207c56e4de1a662c3d5715524e7e3b25faaeaf242c5749a1257aecbd2d9343cbc2ddf04 + languageName: node + linkType: hard + +"jest-regex-util@npm:^24.3.0, jest-regex-util@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-regex-util@npm:24.9.0" + checksum: 3/3a30d04bcfd779397d38c6b663c0e45492bba83908c57d3498bd682aa4dd299565edb7620e38de2225c19bc06ad8febfb268101494caee39b08c1d1493050a8d + languageName: node + linkType: hard + +"jest-regex-util@npm:^26.0.0": + version: 26.0.0 + resolution: "jest-regex-util@npm:26.0.0" + checksum: 3/a3d08a852a7b79e3071ebe112b9fb4122efe6b987477e6769eb78814a8306d3c9e29ed544f25bb6a6d3737668b67ee4339810ed5fe5a9d6318639d6f81f47d3d + languageName: node + linkType: hard + +"jest-resolve-dependencies@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-resolve-dependencies@npm:24.9.0" + dependencies: + "@jest/types": ^24.9.0 + jest-regex-util: ^24.3.0 + jest-snapshot: ^24.9.0 + checksum: 3/d8f94798ec73b7bf5ef39334fb89318b15a1dc11fd53c3e5114e723b35283b7fe5b0e929d1f69824a86a11ecf37584c818e5f0476bd5a774cf9f43d70c277fd2 + languageName: node + linkType: hard + +"jest-resolve-dependencies@npm:^26.0.1": + version: 26.0.1 + resolution: "jest-resolve-dependencies@npm:26.0.1" + dependencies: + "@jest/types": ^26.0.1 + jest-regex-util: ^26.0.0 + jest-snapshot: ^26.0.1 + checksum: 3/dab54861dff31151d662a1c491a66926c30a1ce70e65c4490c3288bd7365a29ca56de650121c531dd6c5e37189607c7ec35bda05f9378b440328df23173f9a82 + languageName: node + linkType: hard + +"jest-resolve@npm:24.9.0, jest-resolve@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-resolve@npm:24.9.0" + dependencies: + "@jest/types": ^24.9.0 + browser-resolve: ^1.11.3 + chalk: ^2.0.1 + jest-pnp-resolver: ^1.2.1 + realpath-native: ^1.1.0 + checksum: 3/2d6c5abf8b570b324d49caca820875aea566df3b9725978183975147f6bae0f9c9ad7b2601522c7c9be88da86e428cb360f4e8d8f94d7290ff312b9289692528 + languageName: node + linkType: hard + +"jest-resolve@npm:26.0.1, jest-resolve@npm:^26.0.1": + version: 26.0.1 + resolution: "jest-resolve@npm:26.0.1" + dependencies: + "@jest/types": ^26.0.1 + chalk: ^4.0.0 + graceful-fs: ^4.2.4 + jest-pnp-resolver: ^1.2.1 + jest-util: ^26.0.1 + read-pkg-up: ^7.0.1 + resolve: ^1.17.0 + slash: ^3.0.0 + checksum: 3/1f56335a9dbf48b796c4fab219b9c4aa38a317d4cb591ea9192c07aaa701114db2255d0f965d9cf161a7e96d9067f268cb141a377c9e89124128990574d42caf + languageName: node + linkType: hard + +"jest-runner@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-runner@npm:24.9.0" + dependencies: + "@jest/console": ^24.7.1 + "@jest/environment": ^24.9.0 + "@jest/test-result": ^24.9.0 + "@jest/types": ^24.9.0 + chalk: ^2.4.2 + exit: ^0.1.2 + graceful-fs: ^4.1.15 + jest-config: ^24.9.0 + jest-docblock: ^24.3.0 + jest-haste-map: ^24.9.0 + jest-jasmine2: ^24.9.0 + jest-leak-detector: ^24.9.0 + jest-message-util: ^24.9.0 + jest-resolve: ^24.9.0 + jest-runtime: ^24.9.0 + jest-util: ^24.9.0 + jest-worker: ^24.6.0 + source-map-support: ^0.5.6 + throat: ^4.0.0 + checksum: 3/51dd123e13f43af87631089a11eac8aa51335e50f3d4df04c09a3560d4761a659c78af473aa82a7fe84c6f9a899e94526b09effcd4f7068b55ba930d63276a58 + languageName: node + linkType: hard + +"jest-runner@npm:^26.0.1": + version: 26.0.1 + resolution: "jest-runner@npm:26.0.1" + dependencies: + "@jest/console": ^26.0.1 + "@jest/environment": ^26.0.1 + "@jest/test-result": ^26.0.1 + "@jest/types": ^26.0.1 + chalk: ^4.0.0 + exit: ^0.1.2 + graceful-fs: ^4.2.4 + jest-config: ^26.0.1 + jest-docblock: ^26.0.0 + jest-haste-map: ^26.0.1 + jest-jasmine2: ^26.0.1 + jest-leak-detector: ^26.0.1 + jest-message-util: ^26.0.1 + jest-resolve: ^26.0.1 + jest-runtime: ^26.0.1 + jest-util: ^26.0.1 + jest-worker: ^26.0.0 + source-map-support: ^0.5.6 + throat: ^5.0.0 + checksum: 3/892928bea709107aadd060a136e11cf5f8d2f1986de59df882c1f9f7892e3e3d5037c08721d65bdfab7a822cf59f737c8eec41357fbfe9bb530a3f20d89f571f + languageName: node + linkType: hard + +"jest-runtime@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-runtime@npm:24.9.0" + dependencies: + "@jest/console": ^24.7.1 + "@jest/environment": ^24.9.0 + "@jest/source-map": ^24.3.0 + "@jest/transform": ^24.9.0 + "@jest/types": ^24.9.0 + "@types/yargs": ^13.0.0 + chalk: ^2.0.1 + exit: ^0.1.2 + glob: ^7.1.3 + graceful-fs: ^4.1.15 + jest-config: ^24.9.0 + jest-haste-map: ^24.9.0 + jest-message-util: ^24.9.0 + jest-mock: ^24.9.0 + jest-regex-util: ^24.3.0 + jest-resolve: ^24.9.0 + jest-snapshot: ^24.9.0 + jest-util: ^24.9.0 + jest-validate: ^24.9.0 + realpath-native: ^1.1.0 + slash: ^2.0.0 + strip-bom: ^3.0.0 + yargs: ^13.3.0 + bin: + jest-runtime: ./bin/jest-runtime.js + checksum: 3/0e213eb6d84508f048e8c8caa79ef81f5b72969d2a64421771018b4d5a1b84081d2e94b096c74759aaf980e40e659d46aa939a2f235021fe318c4685b8fb51d7 + languageName: node + linkType: hard + +"jest-runtime@npm:^26.0.1": + version: 26.0.1 + resolution: "jest-runtime@npm:26.0.1" + dependencies: + "@jest/console": ^26.0.1 + "@jest/environment": ^26.0.1 + "@jest/fake-timers": ^26.0.1 + "@jest/globals": ^26.0.1 + "@jest/source-map": ^26.0.0 + "@jest/test-result": ^26.0.1 + "@jest/transform": ^26.0.1 + "@jest/types": ^26.0.1 + "@types/yargs": ^15.0.0 + chalk: ^4.0.0 + collect-v8-coverage: ^1.0.0 + exit: ^0.1.2 + glob: ^7.1.3 + graceful-fs: ^4.2.4 + jest-config: ^26.0.1 + jest-haste-map: ^26.0.1 + jest-message-util: ^26.0.1 + jest-mock: ^26.0.1 + jest-regex-util: ^26.0.0 + jest-resolve: ^26.0.1 + jest-snapshot: ^26.0.1 + jest-util: ^26.0.1 + jest-validate: ^26.0.1 + slash: ^3.0.0 + strip-bom: ^4.0.0 + yargs: ^15.3.1 + bin: + jest-runtime: bin/jest-runtime.js + checksum: 3/53d12aa6e972d4bd374556d4c415726609494c021cef94410156e9f0248c99d14cdcd12b9e5cd44cd7b1b456f6884b76f0ed38a4b954281cb0e1a2455799b4b3 + languageName: node + linkType: hard + +"jest-serializer-graphql-schema@workspace:packages/jest-serializer-graphql-schema": + version: 0.0.0-use.local + resolution: "jest-serializer-graphql-schema@workspace:packages/jest-serializer-graphql-schema" + dependencies: + "@types/jest": ^25.2.3 + graphql: ^14.6.0 + jest: ^26.0.1 + pretty-format: ^26.0.1 + ts-node: ^8.10.1 + tslib: ^2.0.0 + typescript: ^3.9.2 + peerDependencies: + graphql: ^14.6.0 + languageName: unknown + linkType: soft + +"jest-serializer@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-serializer@npm:24.9.0" + checksum: 3/8d959a8adae01788d840a945614af605e9eeda82d583bc9a66f89648b2dc37f32614873947c0c1ced0d82554163daf218f92392ab59f66343eafa7aec57797aa + languageName: node + linkType: hard + +"jest-serializer@npm:^26.0.0": + version: 26.0.0 + resolution: "jest-serializer@npm:26.0.0" + dependencies: + graceful-fs: ^4.2.4 + checksum: 3/14a009191a24ca56f5994f5274c599a458ac4307105873dffaf6dbebf8620baa3f3de0416f96e04d1cb211cd75b440c767fa6341e3cb43e150318f58cbc34559 + languageName: node + linkType: hard + +"jest-snapshot@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-snapshot@npm:24.9.0" + dependencies: + "@babel/types": ^7.0.0 + "@jest/types": ^24.9.0 + chalk: ^2.0.1 + expect: ^24.9.0 + jest-diff: ^24.9.0 + jest-get-type: ^24.9.0 + jest-matcher-utils: ^24.9.0 + jest-message-util: ^24.9.0 + jest-resolve: ^24.9.0 + mkdirp: ^0.5.1 + natural-compare: ^1.4.0 + pretty-format: ^24.9.0 + semver: ^6.2.0 + checksum: 3/875ef5174862eb7e5712ffb01048a256a8dd7a74e2dfe22d6cfc728c52685ea8c771f9c5caacb1aad4d63d870b8c6ea7c28b9c0501cbff1a82c21540a131faba + languageName: node + linkType: hard + +"jest-snapshot@npm:^26.0.1": + version: 26.0.1 + resolution: "jest-snapshot@npm:26.0.1" + dependencies: + "@babel/types": ^7.0.0 + "@jest/types": ^26.0.1 + "@types/prettier": ^2.0.0 + chalk: ^4.0.0 + expect: ^26.0.1 + graceful-fs: ^4.2.4 + jest-diff: ^26.0.1 + jest-get-type: ^26.0.0 + jest-matcher-utils: ^26.0.1 + jest-message-util: ^26.0.1 + jest-resolve: ^26.0.1 + make-dir: ^3.0.0 + natural-compare: ^1.4.0 + pretty-format: ^26.0.1 + semver: ^7.3.2 + checksum: 3/16a380215b5274990cb2a63ee854bd2de3ba0d6f7043e6953fbaaea0f7d83e1ab331f975be1a1340e03ae557bc8731460cbcef32e91d9ab849d3e7c71a330437 + languageName: node + linkType: hard + +"jest-util@npm:^24.0.0, jest-util@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-util@npm:24.9.0" + dependencies: + "@jest/console": ^24.9.0 + "@jest/fake-timers": ^24.9.0 + "@jest/source-map": ^24.9.0 + "@jest/test-result": ^24.9.0 + "@jest/types": ^24.9.0 + callsites: ^3.0.0 + chalk: ^2.0.1 + graceful-fs: ^4.1.15 + is-ci: ^2.0.0 + mkdirp: ^0.5.1 + slash: ^2.0.0 + source-map: ^0.6.0 + checksum: 3/884ec3a45cc43eb3488784f23dd9f748e11752a1987639e24d093971e192c84568e92791c4b2834e2b1c21cd25010136549cef0b187b2af747ac3b1bd48cf367 + languageName: node + linkType: hard + +"jest-util@npm:^26.0.1": + version: 26.0.1 + resolution: "jest-util@npm:26.0.1" + dependencies: + "@jest/types": ^26.0.1 + chalk: ^4.0.0 + graceful-fs: ^4.2.4 + is-ci: ^2.0.0 + make-dir: ^3.0.0 + checksum: 3/9dd09166290f33d2edac2d2a9af54f82174f3931c3a28116aae5d0b8caf6a238ddd78dbea847b64e7312de87b6f18cdb20766da30c7815aba1e37d514d22136f + languageName: node + linkType: hard + +"jest-validate@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-validate@npm:24.9.0" + dependencies: + "@jest/types": ^24.9.0 + camelcase: ^5.3.1 + chalk: ^2.0.1 + jest-get-type: ^24.9.0 + leven: ^3.1.0 + pretty-format: ^24.9.0 + checksum: 3/13eaacc34264fbb075ef541b8c8732e4dbc8ac6c2ad8978e0a5c5b130d74ff5d45d622ffa5eea5bf364a305d460b670dd63ce75e8c8bb5d6d1a35145c36d14ae + languageName: node + linkType: hard + +"jest-validate@npm:^26.0.1": + version: 26.0.1 + resolution: "jest-validate@npm:26.0.1" + dependencies: + "@jest/types": ^26.0.1 + camelcase: ^6.0.0 + chalk: ^4.0.0 + jest-get-type: ^26.0.0 + leven: ^3.1.0 + pretty-format: ^26.0.1 + checksum: 3/8526678b867de65ecac752d7a68da168d761e3fcff52ba4a34f29d87b077b0215f5034e3179775ef8145d0b0d2817ffafa0a87a71bc3e8d3bbdaf388e224866c + languageName: node + linkType: hard + +"jest-watch-typeahead@npm:0.4.2": + version: 0.4.2 + resolution: "jest-watch-typeahead@npm:0.4.2" + dependencies: + ansi-escapes: ^4.2.1 + chalk: ^2.4.1 + jest-regex-util: ^24.9.0 + jest-watcher: ^24.3.0 + slash: ^3.0.0 + string-length: ^3.1.0 + strip-ansi: ^5.0.0 + checksum: 3/cc2aabcba614f57574dcf24922a2492c5de4f10f1a573a93041319207c06373935885cba883c8f6c5dfbda5cc5d76f2a8bd22b3094d63f0637f251f9681d9974 + languageName: node + linkType: hard + +"jest-watcher@npm:^24.3.0, jest-watcher@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-watcher@npm:24.9.0" + dependencies: + "@jest/test-result": ^24.9.0 + "@jest/types": ^24.9.0 + "@types/yargs": ^13.0.0 + ansi-escapes: ^3.0.0 + chalk: ^2.0.1 + jest-util: ^24.9.0 + string-length: ^2.0.0 + checksum: 3/3291a283f165cd5f7794727583ec9c5692801afc3a8b2e8f7d167ba544785fded0a8bcaff7fafc7a54dfb5ba5e72c811ecb8adbb1cf0485759ac2b75fce1981d + languageName: node + linkType: hard + +"jest-watcher@npm:^26.0.1": + version: 26.0.1 + resolution: "jest-watcher@npm:26.0.1" + dependencies: + "@jest/test-result": ^26.0.1 + "@jest/types": ^26.0.1 + ansi-escapes: ^4.2.1 + chalk: ^4.0.0 + jest-util: ^26.0.1 + string-length: ^4.0.1 + checksum: 3/6fe87607f0c5ca3eccb3b9fbd5e5247e0e18dfe13754609ee89d117b5b14e486e8cf3d9a040c0f5071a32e1d985af9e72b787acb92eca2b0a361e6fa812b5ecb + languageName: node + linkType: hard + +"jest-worker@npm:^24.6.0, jest-worker@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-worker@npm:24.9.0" + dependencies: + merge-stream: ^2.0.0 + supports-color: ^6.1.0 + checksum: 3/9740355081d8f98b15e035405a76a9eafc4ee2b943e00bbc74c34fa632a23e2c2d9d9efb4eb86165435ff76f8bc95dcd74ec63b5acbeb2f0755c83e77d0e71f4 + languageName: node + linkType: hard + +"jest-worker@npm:^25.1.0": + version: 25.5.0 + resolution: "jest-worker@npm:25.5.0" + dependencies: + merge-stream: ^2.0.0 + supports-color: ^7.0.0 + checksum: 3/20ae005c58f9db5be0f9bced0df6aeca340c64e7e0c7c27264b5f5964c94013e98ccd678df935d629889136ce45594d230e547624ccce73de581a05d4a8e6315 + languageName: node + linkType: hard + +"jest-worker@npm:^26.0.0": + version: 26.0.0 + resolution: "jest-worker@npm:26.0.0" + dependencies: + merge-stream: ^2.0.0 + supports-color: ^7.0.0 + checksum: 3/3695bad6b648440c3a760fb13914fded1643219422ed60940aa74319ac076f6b87a81bc5823008a287d80025f43475bff55560c8d20a4391ae74f1e3a360e828 + languageName: node + linkType: hard + +"jest@npm:24.9.0": + version: 24.9.0 + resolution: "jest@npm:24.9.0" + dependencies: + import-local: ^2.0.0 + jest-cli: ^24.9.0 + bin: + jest: ./bin/jest.js + checksum: 3/d5cc3c0b51ec59b6bd7ec0755e821b62b9e2e4ed0d94c255ceef11ad7d481c5232350bd8acf87d87b2a57e78b08dfab507aa91cf5d6e6ab4f964d4913c64488e + languageName: node + linkType: hard + +"jest@npm:^26.0.1": + version: 26.0.1 + resolution: "jest@npm:26.0.1" + dependencies: + "@jest/core": ^26.0.1 + import-local: ^3.0.2 + jest-cli: ^26.0.1 + bin: + jest: bin/jest.js + checksum: 3/ede5edbfa183057b4bb1bd4f4c43c402844e6f5b7871fd1f266c3a318839bc8cd07bc77024d680da9c6f7a47c548e67c809a478e49673bd5307d4a2b752b33c1 + languageName: node + linkType: hard + +"jju@npm:~1.4.0": + version: 1.4.0 + resolution: "jju@npm:1.4.0" + checksum: 3/a58023d40e8e262366e95175dec782c7dc6ad94f2ad1fafe91f675ca6177505b4a8e679cec49c800acb8ceab9391856c7c03e871b30ef0590115d081fad814b9 + languageName: node + linkType: hard + +"js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": + version: 4.0.0 + resolution: "js-tokens@npm:4.0.0" + checksum: 3/1fc4e4667ac2d972aba65148b9cbf9c17566b2394d3504238d8492bbd3e68f496c657eab06b26b40b17db5cac0a34d153a12130e2d2d2bb6dc2cdc8a4764eb1b + languageName: node + linkType: hard + +"js-tokens@npm:^3.0.2": + version: 3.0.2 + resolution: "js-tokens@npm:3.0.2" + checksum: 3/81e634d5a909ba8294758ddca47a0c0cfee90e84cc14973c072a3a27456b387ed8def0f24aff7074c02c3ba47531f4ad8b58320f5f5c4216ef46257de5350568 + languageName: node + linkType: hard + +"js-yaml@npm:^3.10.0, js-yaml@npm:^3.13.1": + version: 3.13.1 + resolution: "js-yaml@npm:3.13.1" + dependencies: + argparse: ^1.0.7 + esprima: ^4.0.0 + bin: + js-yaml: bin/js-yaml.js + checksum: 3/277157fdf235757b71cfbf24f6bef57576a26d9b4cf89b63d89c9044da7b0f9d16c3629c8b5fd549ae343523727a0df1598794e9a4429763cee4e17056ff8523 + languageName: node + linkType: hard + +"jsbn@npm:~0.1.0": + version: 0.1.1 + resolution: "jsbn@npm:0.1.1" + checksum: 3/b530d48a64e6aff9523407856a54c5b9beee30f34a410612057f4fa097d90072fc8403c49604dacf0c3e7620dca43c2b7f0de3f954af611e43716a254c46f6f5 + languageName: node + linkType: hard + +"jsdom@npm:^11.5.1": + version: 11.12.0 + resolution: "jsdom@npm:11.12.0" + dependencies: + abab: ^2.0.0 + acorn: ^5.5.3 + acorn-globals: ^4.1.0 + array-equal: ^1.0.0 + cssom: ">= 0.3.2 < 0.4.0" + cssstyle: ^1.0.0 + data-urls: ^1.0.0 + domexception: ^1.0.1 + escodegen: ^1.9.1 + html-encoding-sniffer: ^1.0.2 + left-pad: ^1.3.0 + nwsapi: ^2.0.7 + parse5: 4.0.0 + pn: ^1.1.0 + request: ^2.87.0 + request-promise-native: ^1.0.5 + sax: ^1.2.4 + symbol-tree: ^3.2.2 + tough-cookie: ^2.3.4 + w3c-hr-time: ^1.0.1 + webidl-conversions: ^4.0.2 + whatwg-encoding: ^1.0.3 + whatwg-mimetype: ^2.1.0 + whatwg-url: ^6.4.1 + ws: ^5.2.0 + xml-name-validator: ^3.0.0 + checksum: 3/215a43d1d78440d613167d3de27becae99c7b522730c41cdf141d6a4e9ee0f756f165904f0637b5a99b1a3335241ea460e70a7998347e1769d3568f1417980de + languageName: node + linkType: hard + +"jsdom@npm:^14.1.0": + version: 14.1.0 + resolution: "jsdom@npm:14.1.0" + dependencies: + abab: ^2.0.0 + acorn: ^6.0.4 + acorn-globals: ^4.3.0 + array-equal: ^1.0.0 + cssom: ^0.3.4 + cssstyle: ^1.1.1 + data-urls: ^1.1.0 + domexception: ^1.0.1 + escodegen: ^1.11.0 + html-encoding-sniffer: ^1.0.2 + nwsapi: ^2.1.3 + parse5: 5.1.0 + pn: ^1.1.0 + request: ^2.88.0 + request-promise-native: ^1.0.5 + saxes: ^3.1.9 + symbol-tree: ^3.2.2 + tough-cookie: ^2.5.0 + w3c-hr-time: ^1.0.1 + w3c-xmlserializer: ^1.1.2 + webidl-conversions: ^4.0.2 + whatwg-encoding: ^1.0.5 + whatwg-mimetype: ^2.3.0 + whatwg-url: ^7.0.0 + ws: ^6.1.2 + xml-name-validator: ^3.0.0 + checksum: 3/1a0948d5302dd079feab5caf9ea7d38f455c6d5238a3f3a0de88f386e2723a089875c0ede155ff284425fba5e9f848d1bf980f7546421efce702283586f84b52 + languageName: node + linkType: hard + +"jsdom@npm:^16.2.2": + version: 16.2.2 + resolution: "jsdom@npm:16.2.2" + dependencies: + abab: ^2.0.3 + acorn: ^7.1.1 + acorn-globals: ^6.0.0 + cssom: ^0.4.4 + cssstyle: ^2.2.0 + data-urls: ^2.0.0 + decimal.js: ^10.2.0 + domexception: ^2.0.1 + escodegen: ^1.14.1 + html-encoding-sniffer: ^2.0.1 + is-potential-custom-element-name: ^1.0.0 + nwsapi: ^2.2.0 + parse5: 5.1.1 + request: ^2.88.2 + request-promise-native: ^1.0.8 + saxes: ^5.0.0 + symbol-tree: ^3.2.4 + tough-cookie: ^3.0.1 + w3c-hr-time: ^1.0.2 + w3c-xmlserializer: ^2.0.0 + webidl-conversions: ^6.0.0 + whatwg-encoding: ^1.0.5 + whatwg-mimetype: ^2.3.0 + whatwg-url: ^8.0.0 + ws: ^7.2.3 + xml-name-validator: ^3.0.0 + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + checksum: 3/a03c24449070206c22b17822f38d615ded858444bf63ddfa102f11df193c658b581a45a8ad1dda123b5881be5f52ca539de257a94227f56237e1127d03e46a66 + languageName: node + linkType: hard + +"jsesc@npm:^2.5.1": + version: 2.5.2 + resolution: "jsesc@npm:2.5.2" + bin: + jsesc: bin/jsesc + checksum: 3/ca91ec33d74c55959e4b6fdbfee2af5f38be74a752cf0a982702e3a16239f26c2abbe19f5f84b15592570dda01872e929a90738615bd445f7b9b859781cfcf68 + languageName: node + linkType: hard + +"jsesc@npm:~0.5.0": + version: 0.5.0 + resolution: "jsesc@npm:0.5.0" + bin: + jsesc: bin/jsesc + checksum: 3/1e4574920d3c17c9167fdc14ca66197e8d5d96fb3f37c7473df7857822b7adbf2954d0e126131456f8fd72b6f6908c2367e7a12c18495a5393c37be99acbbb5a + languageName: node + linkType: hard + +"json-buffer@npm:3.0.0": + version: 3.0.0 + resolution: "json-buffer@npm:3.0.0" + checksum: 3/09b53ecc8ffbb1252d9ef07f37ad616eb0769325d749c87555df786dc70e9855d4ad208255bbf232c86069504756277a7efb6725a31f6e6c4ef39a7b072e75f2 + languageName: node + linkType: hard + +"json-parse-better-errors@npm:^1.0.1, json-parse-better-errors@npm:^1.0.2": + version: 1.0.2 + resolution: "json-parse-better-errors@npm:1.0.2" + checksum: 3/b4c4f0e43b43892af887db742b26f9aa6302b09cd5f6e655ead49fca9f47f3cdd300dcf98cf5218778262be51d7b29859221206fc98b87a1a61c5af7618dae89 + languageName: node + linkType: hard + +"json-schema-traverse@npm:^0.4.1": + version: 0.4.1 + resolution: "json-schema-traverse@npm:0.4.1" + checksum: 3/6f71bddba38aa043cf9c05ff9cf37158a6657909f1dd37032ba164b76923da47a17bb4592ee4f7f9c029dfaf26965b821ac214c1f991bb3bd038c9cfea2da50b + languageName: node + linkType: hard + +"json-schema@npm:0.2.3": + version: 0.2.3 + resolution: "json-schema@npm:0.2.3" + checksum: 3/d382ea841f0af5cf6ae3b63043c6ddbd144086de52342b5dd32d8966872dce1e0ed280f6b27c5fba97e50cf8640f27b593e039cb95df365718ada03ef0feb9f2 + languageName: node + linkType: hard + +"json-stable-stringify-without-jsonify@npm:^1.0.1": + version: 1.0.1 + resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" + checksum: 3/a01b6c65413b2d0dd6797004ace6166bb6f8a0a2a77c742966021c74233cebe48de3c33223f003a9e8e4a241bb882fe92141e538e7e1dad58afd32649444e269 + languageName: node + linkType: hard + +"json-stable-stringify@npm:^1.0.1": + version: 1.0.1 + resolution: "json-stable-stringify@npm:1.0.1" + dependencies: + jsonify: ~0.0.0 + checksum: 3/0f49a4281b2a82dc0148580764dd8116992f972ddc3574bd1df4bfcec76f52e2b9975febe234cf1b99c7578bb8a285d026888458ea636b8f3b0297d5de032bf7 + languageName: node + linkType: hard + +"json-stringify-safe@npm:^5.0.1, json-stringify-safe@npm:~5.0.1": + version: 5.0.1 + resolution: "json-stringify-safe@npm:5.0.1" + checksum: 3/261dfb8eb3e72c8b0dda11fd7c20c151ffc1d1b03e529245d51708c8dd8d8c6a225880464adf41a570dff6e5c805fd9d1f47fed948cfb526e4fbe5a67ce4e5f4 + languageName: node + linkType: hard + +"json3@npm:^3.3.2": + version: 3.3.3 + resolution: "json3@npm:3.3.3" + checksum: 3/f79831247f3ecdd4e99996534a171ccd20f34502b799dd53b671af8a7d7ac1228a7d806c100948cc16f3437da5ea0b821e2c44f8372a2a4095a0abebf0fb41ef + languageName: node + linkType: hard + +"json5@npm:2.x, json5@npm:^2.1.2, json5@npm:^2.1.3": + version: 2.1.3 + resolution: "json5@npm:2.1.3" + dependencies: + minimist: ^1.2.5 + bin: + json5: lib/cli.js + checksum: 3/957e4937106cf59975aa0281e68911534d65c8a25be5b4d3559aa55eba351ccab516a943a60ba33e461e4b8af749939986e311de910cbcfd197410b57d971741 + languageName: node + linkType: hard + +"json5@npm:^1.0.1": + version: 1.0.1 + resolution: "json5@npm:1.0.1" + dependencies: + minimist: ^1.2.0 + bin: + json5: lib/cli.js + checksum: 3/df41624f9f40bfacc546f779eef6d161a3312fbb6ec1dbd69f8c4388e9807af653b753371ab19b6d2bab22af2ca7dde62fe03c791596acf76915e1fc4ee6fd88 + languageName: node + linkType: hard + +"jsonfile@npm:^4.0.0": + version: 4.0.0 + resolution: "jsonfile@npm:4.0.0" + dependencies: + graceful-fs: ^4.1.6 + dependenciesMeta: + graceful-fs: + optional: true + checksum: 3/a40b7b64da41c84b0dc7ad753737ba240bb0dc50a94be20ec0b73459707dede69a6f89eb44b4d29e6994ed93ddf8c9b6e57f6b1f09dd707567959880ad6cee7f + languageName: node + linkType: hard + +"jsonify@npm:~0.0.0": + version: 0.0.0 + resolution: "jsonify@npm:0.0.0" + checksum: 3/53630f54108a55e062534503bf4a236165082ff75d2872a08ce8625b476dcf5ad8c990b012b9c740f93c61f20227161eb58dd41a16a0894699cc47d697d6d7c7 + languageName: node + linkType: hard + +"jsonparse@npm:^1.2.0": + version: 1.3.1 + resolution: "jsonparse@npm:1.3.1" + checksum: 3/6669acd7b39cdc4a4cbb078d1a19d2a07cb81651d5045b907b4d067e5c453d060a274f348b53c51ed817456f1cdfc709a13a76ca47c8304547f03843c043ebcb + languageName: node + linkType: hard + +"jsonwebtoken@npm:^8.5.1": + version: 8.5.1 + resolution: "jsonwebtoken@npm:8.5.1" + dependencies: + jws: ^3.2.2 + lodash.includes: ^4.3.0 + lodash.isboolean: ^3.0.3 + lodash.isinteger: ^4.0.4 + lodash.isnumber: ^3.0.3 + lodash.isplainobject: ^4.0.6 + lodash.isstring: ^4.0.1 + lodash.once: ^4.0.0 + ms: ^2.1.1 + semver: ^5.6.0 + checksum: 3/ea44bbb7a7abab87eee57711a04093a2a04a5757faa3253f521327b840e07eff751986ed6c20985886c5aaa86245a833aa1eeda6eacb0c3fa9ea4e7074cdb0c3 + languageName: node + linkType: hard + +"jsprim@npm:^1.2.2": + version: 1.4.1 + resolution: "jsprim@npm:1.4.1" + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.2.3 + verror: 1.10.0 + checksum: 3/ee0177b7ef39e6becf18c586d31fabe15d62be88e7867d3aff86466e4a3de9a2cd47b6e597417aebc1cd3c2d43bc662e79ab5eecdadf3ce0643e909432ed6d2c + languageName: node + linkType: hard + +"jsx-ast-utils@npm:^2.2.1, jsx-ast-utils@npm:^2.2.3": + version: 2.2.3 + resolution: "jsx-ast-utils@npm:2.2.3" + dependencies: + array-includes: ^3.0.3 + object.assign: ^4.1.0 + checksum: 3/a5eaa22bb221067f8ead1dd82aa9ae53c737ff5dc788934d9f509c058da62445ee9b86d06f7cf8d875bce7ebbb581ffe18400c6c48f6a64ac896929bce66e0e7 + languageName: node + linkType: hard + +"jwa@npm:^1.4.1": + version: 1.4.1 + resolution: "jwa@npm:1.4.1" + dependencies: + buffer-equal-constant-time: 1.0.1 + ecdsa-sig-formatter: 1.0.11 + safe-buffer: ^5.0.1 + checksum: 3/e3a6234a3a33b0390c35cc7393890b1ca1bac22382755035ad252f6df9e1272dcf0ff0a717c7865657fc30e04b8d5ab07ea27e26f0763c60c557946963402752 + languageName: node + linkType: hard + +"jws@npm:^3.2.2": + version: 3.2.2 + resolution: "jws@npm:3.2.2" + dependencies: + jwa: ^1.4.1 + safe-buffer: ^5.0.1 + checksum: 3/3990b26ebb6f368bf6c53bf580cd327f207052adedeb7900dde665e143fff9ea5d96d0b4282e85a631a6e3af76ada281a1ccc450b1916d579d07e9d36b564a19 + languageName: node + linkType: hard + +"keygrip@npm:~1.1.0": + version: 1.1.0 + resolution: "keygrip@npm:1.1.0" + dependencies: + tsscmp: 1.0.6 + checksum: 3/917fc9c6ad8528537534ae181f85a566bf74716f3e38e83ff858862ebad24f31f70781b875fbf5a34bba115433361d2dbdad94d4debf0ca6631c85b47a5f0e31 + languageName: node + linkType: hard + +"keyv@npm:^3.0.0": + version: 3.1.0 + resolution: "keyv@npm:3.1.0" + dependencies: + json-buffer: 3.0.0 + checksum: 3/6bf032ee504f27e00ae3a366c7e0ca5d93b8f947672871568f2a1456bf56d1bc4e55555158a45188d14483c4c38d0fa1dc7f0585b0d6c640f8e79abc9b4d3162 + languageName: node + linkType: hard + +"killable@npm:^1.0.1": + version: 1.0.1 + resolution: "killable@npm:1.0.1" + checksum: 3/397df2b8a74b800b5d19986375fe6d5e2c548163f1da49eee8b03bb0fa7e98ae8c5b93d9f34b83634d3a32a9b239f758e6de388b4bedb50f2f438fc91434e92f + languageName: node + linkType: hard + +"kind-of@npm:^2.0.1": + version: 2.0.1 + resolution: "kind-of@npm:2.0.1" + dependencies: + is-buffer: ^1.0.2 + checksum: 3/0f4fd99fe07d59ab03523297b719f0262fb3c58cbed613a491e3dce141d193bc673612b4936b42b3da38268c534432886be52c9b31b95d0e741ae122d7249230 + languageName: node + linkType: hard + +"kind-of@npm:^3.0.2, kind-of@npm:^3.0.3, kind-of@npm:^3.2.0": + version: 3.2.2 + resolution: "kind-of@npm:3.2.2" + dependencies: + is-buffer: ^1.1.5 + checksum: 3/e8a1835c4baa9b52666cd5d8ae89e6b9b9f5978600a30ba75fc92da332d1ba182bda90aa7372fc992a3eb6da261dc3fea0f136af24ddc87cfb668d40c817af56 + languageName: node + linkType: hard + +"kind-of@npm:^4.0.0": + version: 4.0.0 + resolution: "kind-of@npm:4.0.0" + dependencies: + is-buffer: ^1.1.5 + checksum: 3/2e7296c614f54ba9cdcab4c389ec9d8f6ed7955c661b4bd075d5c1b67107ee00263a82aa12f76b61209e9d93f4949ee3d20c6ff17a8b0d199d84ba06d6f59478 + languageName: node + linkType: hard + +"kind-of@npm:^5.0.0": + version: 5.1.0 + resolution: "kind-of@npm:5.1.0" + checksum: 3/c98cfe70c805a7a3a10ec4399fac2884fb4b277494baffea0712a5e8de49a0bbdc36d9cfedf7879f47567fa4d7f4d92fd5b69582bc8666100b3560e03bd88844 + languageName: node + linkType: hard + +"kind-of@npm:^6.0.0, kind-of@npm:^6.0.2, kind-of@npm:^6.0.3": + version: 6.0.3 + resolution: "kind-of@npm:6.0.3" + checksum: 3/5de5d6577796af87a983199d6350ed41c670abec4a306cc43ca887c1afdbd6b89af9ab00016e3ca17eb7ad89ebfd9bb817d33baa89f855c6c95398a8b8abbf08 + languageName: node + linkType: hard + +"kleur@npm:^3.0.3": + version: 3.0.3 + resolution: "kleur@npm:3.0.3" + checksum: 3/20ef0e37fb3f9aebbec8a75b61f547051aa61e3a6c51bd2678e77a11d69d73885a76966aea77f09c40677c7dfa274a5e16741ec89859213c9f798d4a96f77521 + languageName: node + linkType: hard + +"koa-compose@npm:^3.0.0": + version: 3.2.1 + resolution: "koa-compose@npm:3.2.1" + dependencies: + any-promise: ^1.1.0 + checksum: 3/68f839a57c1cb8f9a0a42b86761ffb43a53d5f95bb9c56daa03895cc5553db88f7740fcbdefd6cf3db17f0f71a8a695b5b249752aef844d44dc0a738181cdf25 + languageName: node + linkType: hard + +"koa-compose@npm:^4.1.0": + version: 4.1.0 + resolution: "koa-compose@npm:4.1.0" + checksum: 3/53a9b90f2167c63483a36c254b49f63510de4bfed2a1f54389f2fa0e20d0824f2e92c677bb654fc40d6c03df01d414bf4c777ce23dd08e563fbe5b632938478b + languageName: node + linkType: hard + +"koa-compress@npm:^4.0.1": + version: 4.0.1 + resolution: "koa-compress@npm:4.0.1" + dependencies: + bytes: ^3.0.0 + compressible: ^2.0.0 + http-errors: ^1.7.3 + koa-is-json: ^1.0.0 + statuses: ^2.0.0 + checksum: 3/ef0764c08a6303889c74cadae676c49e1cefb5b3222a5f252d9bd52d921258328ab1ae8ef4c13dd42b41f56e18b0660b5ad2f04007ba83a172d93803bee8bb59 + languageName: node + linkType: hard + +"koa-convert@npm:^1.2.0": + version: 1.2.0 + resolution: "koa-convert@npm:1.2.0" + dependencies: + co: ^4.6.0 + koa-compose: ^3.0.0 + checksum: 3/d74bafebae527ef5b26f9f7d66928ca9f62cabba2eb8cc8fff1742a5ed5de21a32ca9ddb0a63b0e6a3e3ae04163be95b3a0efdaed662303f921c655527e16955 + languageName: node + linkType: hard + +"koa-is-json@npm:^1.0.0": + version: 1.0.0 + resolution: "koa-is-json@npm:1.0.0" + checksum: 3/5e0bad44ba4435ef0f89e4fad074679cb9dae9e4305ff213be8242fb25a0872637b97552e2aea7e5e4247120134c0a7130bd5e0c783e17f7739222830e2d2024 + languageName: node + linkType: hard + +"koa-mount@npm:^4.0.0": + version: 4.0.0 + resolution: "koa-mount@npm:4.0.0" + dependencies: + debug: ^4.0.1 + koa-compose: ^4.1.0 + checksum: 3/085075a52d9a0b826ac4c9d2d0454f56fa7632920d5f2b1a842f23995bd5b45998b5569416c27b4921338df807ba338273b99e746379659329481c6754797305 + languageName: node + linkType: hard + +"koa@npm:^2.12.0": + version: 2.12.0 + resolution: "koa@npm:2.12.0" + dependencies: + accepts: ^1.3.5 + cache-content-type: ^1.0.0 + content-disposition: ~0.5.2 + content-type: ^1.0.4 + cookies: ~0.8.0 + debug: ~3.1.0 + delegates: ^1.0.0 + depd: ^1.1.2 + destroy: ^1.0.4 + encodeurl: ^1.0.2 + escape-html: ^1.0.3 + fresh: ~0.5.2 + http-assert: ^1.3.0 + http-errors: ^1.6.3 + is-generator-function: ^1.0.7 + koa-compose: ^4.1.0 + koa-convert: ^1.2.0 + on-finished: ^2.3.0 + only: ~0.0.2 + parseurl: ^1.3.2 + statuses: ^1.5.0 + type-is: ^1.6.16 + vary: ^1.1.2 + checksum: 3/eb4dea7a0bdd01166aa18ec8bd13c4ef19202c51a1f38188ed8221b9c2d841f7bc44258880a78b497bee554c1f1d1641950baf90df99971959bfd8ac7641c828 + languageName: node + linkType: hard + +"last-call-webpack-plugin@npm:^3.0.0": + version: 3.0.0 + resolution: "last-call-webpack-plugin@npm:3.0.0" + dependencies: + lodash: ^4.17.5 + webpack-sources: ^1.1.0 + checksum: 3/aaa8255d4e1e9f20fd98aa6dd89af4e8efa27a516d4c3a183cd1b368c20ac4102f4ddb659010fce5ea1eaed66b59d88ea6cd1063b75c8db1e43ba129c64b68c4 + languageName: node + linkType: hard + +"latest-version@npm:^5.0.0": + version: 5.1.0 + resolution: "latest-version@npm:5.1.0" + dependencies: + package-json: ^6.3.0 + checksum: 3/63c1f224358d094a75782cc48a5b3eeaf70a70c0e18f8b814480e50ed0ecedb4bc5f2c9cc44c7983fbf31e865f0376526bf9a563c304f3261971f38d8f51c5c6 + languageName: node + linkType: hard + +"lazy-cache@npm:^0.2.3": + version: 0.2.7 + resolution: "lazy-cache@npm:0.2.7" + checksum: 3/fde942600bbaed35f93dc86e7573a0997f36e05421cd547c2387a902b58823f9e0950d5aa284588929a72c1b072257c04426e1d777fc750a9c7ec8753134152e + languageName: node + linkType: hard + +"lazy-cache@npm:^1.0.3": + version: 1.0.4 + resolution: "lazy-cache@npm:1.0.4" + checksum: 3/c033cdd7acd8da6a992ec84915f0443abda7669d04567e140cf1e1568434419422c13a931be0ea24e79e4ef32a255cac7932dbfd9cd20153c4d53f793acd4344 + languageName: node + linkType: hard + +"lcid@npm:^2.0.0": + version: 2.0.0 + resolution: "lcid@npm:2.0.0" + dependencies: + invert-kv: ^2.0.0 + checksum: 3/147695e053a0193d82eb75d199089e0563fa27773d1d3c8cbec6c7bc16edcb8bc01949a3f2e687b853999711107e9adba2f4dc266bb65f536b8ac50a5eeceaab + languageName: node + linkType: hard + +"left-pad@npm:^1.3.0": + version: 1.3.0 + resolution: "left-pad@npm:1.3.0" + checksum: 3/d27d5f51e3e25ffa7d4de92d62d740e723dfa7ce004f835592cc3e80d940303b29ceed43bf572a4071c58cb07a4558a40b50bfcbe2e1b911d2bef58c4e786613 + languageName: node + linkType: hard + +"leven@npm:^3.1.0": + version: 3.1.0 + resolution: "leven@npm:3.1.0" + checksum: 3/6ebca7529809b8d099ab8793091b1ee8712a87932fae14c7d0c2693b0fcc0640aea72141a6539c03b9dae53a34f15a43dc151bb5c04eded0d1d38b277bfd206a + languageName: node + linkType: hard + +"levenary@npm:^1.1.1": + version: 1.1.1 + resolution: "levenary@npm:1.1.1" + dependencies: + leven: ^3.1.0 + checksum: 3/6d3b78e3953b0e5c4c9a703cce2c11c817e2465c010daf08e3c5964c259c850d233584009e5939f0cf4af2b6455f7f7e3a092ea119f63a2a81e273cd2d5e09e2 + languageName: node + linkType: hard + +"levn@npm:^0.3.0, levn@npm:~0.3.0": + version: 0.3.0 + resolution: "levn@npm:0.3.0" + dependencies: + prelude-ls: ~1.1.2 + type-check: ~0.3.2 + checksum: 3/775861da38dcb7e5f1de5bea2a1c7ffaede6e9e8632cfbac76be145ecb295370f46bb41307613c283d66f1fee5d8cc448ca3323c4a02d0fb1e913b2f78de2abb + languageName: node + linkType: hard + +"light-my-request@npm:^3.7.3": + version: 3.8.0 + resolution: "light-my-request@npm:3.8.0" + dependencies: + ajv: ^6.10.2 + cookie: ^0.4.0 + readable-stream: ^3.4.0 + set-cookie-parser: ^2.4.1 + checksum: 3/e1c04aa15e5a0d332fe26208aa7a5c5ccba4f7752e1fc6b5bdb5a4c763c8e33dd0495e4388336b18628a21438d08771a0796802db1ec12437166e2c8266370f2 + languageName: node + linkType: hard + +"lines-and-columns@npm:^1.1.6": + version: 1.1.6 + resolution: "lines-and-columns@npm:1.1.6" + checksum: 3/798b80ed7ae3fba34d43fe29591ccb4f16f6fca1da4e1f9922b92264b91d931012433c248daf8e44caa74feb40c0eaa0f27a14f8ee68b6ffb425f3c3f785af27 + languageName: node + linkType: hard + +"linkify-it@npm:^2.0.0": + version: 2.2.0 + resolution: "linkify-it@npm:2.2.0" + dependencies: + uc.micro: ^1.0.1 + checksum: 3/7905b34078d1fd85d4310c5c5381164cbdf781835e0cb5ac73d13ff14d0c87347e02655bdff5cec63631949a3b586c5f8e1e81ee0ce62ae799df58178748eb3e + languageName: node + linkType: hard + +"load-json-file@npm:^1.0.0": + version: 1.1.0 + resolution: "load-json-file@npm:1.1.0" + dependencies: + graceful-fs: ^4.1.2 + parse-json: ^2.2.0 + pify: ^2.0.0 + pinkie-promise: ^2.0.0 + strip-bom: ^2.0.0 + checksum: 3/3966dbc0c48f14df4091d89f4daf1e44b156f2c4e0870bf737b99e5925e0179277fc34226f03b7137a2e277d4e641cf626c6108c28910bbdce01e3d85e0d70b9 + languageName: node + linkType: hard + +"load-json-file@npm:^2.0.0": + version: 2.0.0 + resolution: "load-json-file@npm:2.0.0" + dependencies: + graceful-fs: ^4.1.2 + parse-json: ^2.2.0 + pify: ^2.0.0 + strip-bom: ^3.0.0 + checksum: 3/c6ea93d36099dd6e778c6c018c9e184ad65d278a9538c2280f959b040b1a9a756d8856bdaf8a38c8f1454eca19bf4798ea59f79ccd8bb1c33aa8b7ecbe157f0c + languageName: node + linkType: hard + +"load-json-file@npm:^4.0.0": + version: 4.0.0 + resolution: "load-json-file@npm:4.0.0" + dependencies: + graceful-fs: ^4.1.2 + parse-json: ^4.0.0 + pify: ^3.0.0 + strip-bom: ^3.0.0 + checksum: 3/692f33387be2439e920e394a70754499c22eabe567f55fee7c0a8994c050e27360c1b39c5375d214539ebb7d609d28e69f6bd6e3c070d30bc202c99289e27f96 + languageName: node + linkType: hard + +"loader-fs-cache@npm:^1.0.2": + version: 1.0.3 + resolution: "loader-fs-cache@npm:1.0.3" + dependencies: + find-cache-dir: ^0.1.1 + mkdirp: ^0.5.1 + checksum: 3/7fa16d623f529288bb961a6ba68f4e756e18b5611de9ef10f4d9d72d70ba149fa2a0d51f79c282d5bb59d7c3ce184d20b6d1d68b9bc618b45c7e1940a6be47df + languageName: node + linkType: hard + +"loader-runner@npm:^2.4.0": + version: 2.4.0 + resolution: "loader-runner@npm:2.4.0" + checksum: 3/9173b602e82801c734d5f78fdbcb7f2de2dd8f68ef0afb9793bd2cc9eab37cd0bc99fda020f83204b5acdcf2ea23d062c49767778c6c1108f6c90face5dde225 + languageName: node + linkType: hard + +"loader-utils@npm:1.2.3": + version: 1.2.3 + resolution: "loader-utils@npm:1.2.3" + dependencies: + big.js: ^5.2.2 + emojis-list: ^2.0.0 + json5: ^1.0.1 + checksum: 3/61b44f2d301c063f4937de087bffa1289ec65a88d7bccb1527baf1f63f1278761e18eb230b86f40fbea20776ed5aadcbb1ab468088ccde86858d2a4f77db1467 + languageName: node + linkType: hard + +"loader-utils@npm:^1.1.0, loader-utils@npm:^1.2.3, loader-utils@npm:^1.4.0": + version: 1.4.0 + resolution: "loader-utils@npm:1.4.0" + dependencies: + big.js: ^5.2.2 + emojis-list: ^3.0.0 + json5: ^1.0.1 + checksum: 3/9fd690e57ad78d32ff2942383b4a7a175eba575280ba5aca3b4d03183fec34aa0db314f49bd3301adf7e60b02471644161bf53149e8f2d18fd6a52627e95a927 + languageName: node + linkType: hard + +"loader-utils@npm:^2.0.0": + version: 2.0.0 + resolution: "loader-utils@npm:2.0.0" + dependencies: + big.js: ^5.2.2 + emojis-list: ^3.0.0 + json5: ^2.1.2 + checksum: 3/a1c2e48781e1501e126a32c39bc1fb1a7e2f02bd99e5aeb8853ddaf3c121fffefcc4579367f97ca6890b58369e571af1c9ec82e4e20db238d560ab359ff25c33 + languageName: node + linkType: hard + +"locate-path@npm:^2.0.0": + version: 2.0.0 + resolution: "locate-path@npm:2.0.0" + dependencies: + p-locate: ^2.0.0 + path-exists: ^3.0.0 + checksum: 3/ee5a888d686f8d555ebfa6c4f6f3b7c5cdfa5f382dee17e0b3fde7456fc68301ddb6a79790a412659d1e067f2f58fd74c683b203fc20368deaed45fb985b4fda + languageName: node + linkType: hard + +"locate-path@npm:^3.0.0": + version: 3.0.0 + resolution: "locate-path@npm:3.0.0" + dependencies: + p-locate: ^3.0.0 + path-exists: ^3.0.0 + checksum: 3/0b6bf0c1bb09021499f6198ed6a4ae367e8224e2493a74cc7bc5f4e6eca9ed880a5f7fdfb4d57b7e21d3e289c3abfe152cd510cacb1d03049f9d81d9a7d302ca + languageName: node + linkType: hard + +"locate-path@npm:^5.0.0": + version: 5.0.0 + resolution: "locate-path@npm:5.0.0" + dependencies: + p-locate: ^4.1.0 + checksum: 3/c58f49d45c8672d0a290dea0ce41fcb27205b3f2d61452ba335ef3b42ad36c10c31b1f061b46d96dd4b81e9a00e8a2897bc124d75623b80a9f6d36b1e754a6b5 + languageName: node + linkType: hard + +"lodash._reinterpolate@npm:^3.0.0": + version: 3.0.0 + resolution: "lodash._reinterpolate@npm:3.0.0" + checksum: 3/27513557d6fe526296324f1de9e1b8e8ac88ef2a2544a655e825f3ab0f52c5a675f1a73a0c9ff3c64fda031c56dfb4deb9dac7c7d21f9a04bc63dd7db5a5a73d + languageName: node + linkType: hard + +"lodash.includes@npm:^4.3.0": + version: 4.3.0 + resolution: "lodash.includes@npm:4.3.0" + checksum: 3/20d6b1bf7841a4eb21bcb124641a1d5fb368e3c86fb8834d80149ec92caef67f3bf316405e4ec309591f0a83e461cebb7b43b2b57d00fd45d1eb3009fe13be97 + languageName: node + linkType: hard + +"lodash.isboolean@npm:^3.0.3": + version: 3.0.3 + resolution: "lodash.isboolean@npm:3.0.3" + checksum: 3/e5b7a921f47759773266e66664e4a54f2438cc213fe336c5b96321d4328ebb2785e939bbcd07b29d5a20cdc6140d471abae1e94cdfb25937dc91ddc5150f41a0 + languageName: node + linkType: hard + +"lodash.isinteger@npm:^4.0.4": + version: 4.0.4 + resolution: "lodash.isinteger@npm:4.0.4" + checksum: 3/a29551cc9aaaf24cc4fdd7ce1734c7a19c748c704f061ef079f6026dc9666ac10e8ae08e4f0cd3aeb6094e20be043a7402c72ce70cbae9ea6ecce67ad997332c + languageName: node + linkType: hard + +"lodash.ismatch@npm:^4.4.0": + version: 4.4.0 + resolution: "lodash.ismatch@npm:4.4.0" + checksum: 3/f6e3ef9fd357b9bb8d3e496916fe4761be816721fbd6019e12cb13dc2c59780bf57f8c1b1a7aed98f2a0f57fe7fa12496b454a315f659bc4bad1100184ed589c + languageName: node + linkType: hard + +"lodash.isnumber@npm:^3.0.3": + version: 3.0.3 + resolution: "lodash.isnumber@npm:3.0.3" + checksum: 3/a33b10bf57dd27b32aac0bb4159d3f40db6b294095f42d7ff9f966a004932cdcc12417bf0750a9d3ac0c62690dd020d7d227b05ef486a8c9061963acf2ea3fad + languageName: node + linkType: hard + +"lodash.isplainobject@npm:^4.0.6": + version: 4.0.6 + resolution: "lodash.isplainobject@npm:4.0.6" + checksum: 3/72a114b610ec32a42b8cb47680d1729398caea0ee0631c0b220b97b21e7df19312377cb077acb6593bf6c5abdbdb43c530aa66b440e30d53324986d386808cd0 + languageName: node + linkType: hard + +"lodash.isstring@npm:^4.0.1": + version: 4.0.1 + resolution: "lodash.isstring@npm:4.0.1" + checksum: 3/20c46960b74fd63c27b534f1725cd4141ac19b35c7250affee37c8b7899b1a4c5e9820becfafe571a4d48cd4c86206ee03c2e93fe943dbeab82ddd5cab710540 + languageName: node + linkType: hard + +"lodash.memoize@npm:4.x, lodash.memoize@npm:^4.1.2": + version: 4.1.2 + resolution: "lodash.memoize@npm:4.1.2" + checksum: 3/080c1095b7795b293a06078737550dc0c8138192cadbafb4e4b1303357d367ac589a1a570fad8de154175b008ca7b2b48d6a7f1755a143e13b764e20a7104080 + languageName: node + linkType: hard + +"lodash.once@npm:^4.0.0": + version: 4.1.1 + resolution: "lodash.once@npm:4.1.1" + checksum: 3/236e00ca5f20304fab5b38aa3aedb034959153dae6edf33d7f9b00406ced8f24ed232a74f1200505d9049165ceea2ce1256199e1683b0a25e9de89091d4b13c2 + languageName: node + linkType: hard + +"lodash.sortby@npm:^4.7.0": + version: 4.7.0 + resolution: "lodash.sortby@npm:4.7.0" + checksum: 3/43cde11276c66da7b3eda5e9f00dc6edc276d2bcf0a5969ffc62b612cd1c4baf2eff5e84cee11383005722c460a9ca0f521fad4fa1cd2dc1ef013ee4da2dfe63 + languageName: node + linkType: hard + +"lodash.template@npm:^4.0.2, lodash.template@npm:^4.4.0, lodash.template@npm:^4.5.0": + version: 4.5.0 + resolution: "lodash.template@npm:4.5.0" + dependencies: + lodash._reinterpolate: ^3.0.0 + lodash.templatesettings: ^4.0.0 + checksum: 3/e27068e20b7a374938c20ab76a093dd49e9626bfbe1882d9d05d81efefe3210cfcd6ad24f1cb0d956ce57d75855fec17bd386a4aa54762a144bd7c0891ee7ee1 + languageName: node + linkType: hard + +"lodash.templatesettings@npm:^4.0.0": + version: 4.2.0 + resolution: "lodash.templatesettings@npm:4.2.0" + dependencies: + lodash._reinterpolate: ^3.0.0 + checksum: 3/45546a5b76376b138ef4f01aa2722813127c639428eb9baef3fbac176b509ee2dab5cb9d1ee8267dbeeef8d49371f9a748af3df83649bf8b75fa54993f65b7aa + languageName: node + linkType: hard + +"lodash.uniq@npm:^4.5.0": + version: 4.5.0 + resolution: "lodash.uniq@npm:4.5.0" + checksum: 3/47cb25b59bf40ef3bdf441b7b6cb41d0b95ae0ca576be2c206724dd66041fa8aadab55c1210792671aa0b1c9878d5c0be48927bf4d22f3ed50e5f79d3b2e90b7 + languageName: node + linkType: hard + +"lodash@npm:>=3.5 <5, lodash@npm:^4.11.1, lodash@npm:^4.17.11, lodash@npm:^4.17.13, lodash@npm:^4.17.14, lodash@npm:^4.17.15, lodash@npm:^4.17.4, lodash@npm:^4.17.5": + version: 4.17.15 + resolution: "lodash@npm:4.17.15" + checksum: 3/aec3fbb7570aa67bda500b8299b1b1821d60646bede87f76a74dfcc7666ab3445267d734ec71424d70809d52ad67a1356fab5ab694a3faa1908d68e9d48f00f5 + languageName: node + linkType: hard + +"loglevel@npm:^1.6.6": + version: 1.6.8 + resolution: "loglevel@npm:1.6.8" + checksum: 3/847939b08549649a0495e1b0d25ac89cec537a057fbb6deae468a066236ca0295aabce314366c026605537c345ece982d88783c7f44ab3599a40554bb09442ed + languageName: node + linkType: hard + +"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": + version: 1.4.0 + resolution: "loose-envify@npm:1.4.0" + dependencies: + js-tokens: ^3.0.0 || ^4.0.0 + bin: + loose-envify: cli.js + checksum: 3/5c3b47bbe5f597a3889fb001a3a98aaea2a3fafa48089c19034de1e0121bf57dbee609d184478514d74d5c5a7e9cfa3d846343455e5123b060040d46c39e91dc + languageName: node + linkType: hard + +"loud-rejection@npm:^1.0.0": + version: 1.6.0 + resolution: "loud-rejection@npm:1.6.0" + dependencies: + currently-unhandled: ^0.4.1 + signal-exit: ^3.0.0 + checksum: 3/9d57f7bc81da9a167dca46f9cc986dd18b0ae822811c69c2374f4945418234bb1ee102ca3a34bacf74e3bee122b27eed15604e57d5e1974f6fef8984861ed9ca + languageName: node + linkType: hard + +"lower-case@npm:^2.0.1": + version: 2.0.1 + resolution: "lower-case@npm:2.0.1" + dependencies: + tslib: ^1.10.0 + checksum: 3/52a55327ea69cbec7693daa11efb94f9e3d13b2697773d3cecd71f68c7eafaca2b0b34f8cc10617a751134e17c8396be992972765f5d5db220047651046762b5 + languageName: node + linkType: hard + +"lowercase-keys@npm:^1.0.0, lowercase-keys@npm:^1.0.1": + version: 1.0.1 + resolution: "lowercase-keys@npm:1.0.1" + checksum: 3/ac9d79c47dd9f831cebb2cbe930e72f7c03b27ab07c5bb9072ee0b4a853ce26d6648403b9eb371b3d400af3790da9ce65cf7207af887f8c134d53dce81559107 + languageName: node + linkType: hard + +"lowercase-keys@npm:^2.0.0": + version: 2.0.0 + resolution: "lowercase-keys@npm:2.0.0" + checksum: 3/4da67f41865a25360bb05749a66a83c60987c7efa0b8ec443941a19978c21ba916ae9fedca25b96fc652026c4264a437d3fec099d1949716b5483eec42395ec9 + languageName: node + linkType: hard + +"lru-cache@npm:^5.1.1": + version: 5.1.1 + resolution: "lru-cache@npm:5.1.1" + dependencies: + yallist: ^3.0.2 + checksum: 3/ffd9a280fa3400e731265db502270c2a65432f3fbfac23d480c72f675ec16dbbeddd57d4baf7aca70ab7af49949fad1bcaaf5a5e6e1cfed7316de71bb5dddf1c + languageName: node + linkType: hard + +"make-dir@npm:^2.0.0, make-dir@npm:^2.1.0": + version: 2.1.0 + resolution: "make-dir@npm:2.1.0" + dependencies: + pify: ^4.0.1 + semver: ^5.6.0 + checksum: 3/94e2ab9dda2198508057fd75f4e0b5998ee2d1e390c1e03172c32104dbd750ba2314376fec540ce517c8ed7fc526aeebc7d193315d060e229fec0fe55feb2228 + languageName: node + linkType: hard + +"make-dir@npm:^3.0.0, make-dir@npm:^3.0.2": + version: 3.1.0 + resolution: "make-dir@npm:3.1.0" + dependencies: + semver: ^6.0.0 + checksum: 3/54b6f186c209c1b133d0d1710e6b04c41ebfcb0dac699e5a369ea1223f22c0574ef820b91db37cae6c245f5bda8aff9bfec94f6c23e7d75970446b34a58a79b0 + languageName: node + linkType: hard + +"make-error@npm:1.x, make-error@npm:^1.1.1": + version: 1.3.6 + resolution: "make-error@npm:1.3.6" + checksum: 3/2c780bab8409b865e8ee86697c599a2bf2765ec64d21eb67ccda27050e039f983feacad05a0d43aba3c966ea03d305d2612e94fec45474bcbc61181f57c5bb88 + languageName: node + linkType: hard + +"makeerror@npm:1.0.x": + version: 1.0.11 + resolution: "makeerror@npm:1.0.11" + dependencies: + tmpl: 1.0.x + checksum: 3/582016a5e8c56c1101e5fd95ea0ed08e30e5c4fda27e00d1399f75d46bd55fc5475a23089175b61dada21f6a6058886fd00f5985bbe112b943bb0bc833b4ea4d + languageName: node + linkType: hard + +"mamacro@npm:^0.0.3": + version: 0.0.3 + resolution: "mamacro@npm:0.0.3" + checksum: 3/9bbd2ecfbd2b05bfa541ea4de3f8aa3771c9442b2bc2d960dd43c346eeba090f3e2d27ac36168363aba7967777032d2d6ff9a52cba191ffdfcff5459300af3b5 + languageName: node + linkType: hard + +"map-age-cleaner@npm:^0.1.1": + version: 0.1.3 + resolution: "map-age-cleaner@npm:0.1.3" + dependencies: + p-defer: ^1.0.0 + checksum: 3/0f0b8114925d9f9d528c5d5c9cbde83fea203b8edb1cfdb10d31aa2ce1ddccfcefe0bd6924b0d2e3928ff9d895496bf817a22b259fe05f3c4865702e65b71fd3 + languageName: node + linkType: hard + +"map-cache@npm:^0.2.2": + version: 0.2.2 + resolution: "map-cache@npm:0.2.2" + checksum: 3/3d205d20e0135a5b5f3e2b85e7bfa289cc2fc3c748fe802795e74c6fe157e5f2bed3b7c3a270b82fe36a02123880cb2e0dc525e1ae37ac7e673ce3e75a2e2c56 + languageName: node + linkType: hard + +"map-obj@npm:^1.0.0, map-obj@npm:^1.0.1": + version: 1.0.1 + resolution: "map-obj@npm:1.0.1" + checksum: 3/e68b20e4fa76efdbba9a7af05b879eb7a6c5ccb7a9d813796de825da4c182fc3dab66f4b2a32a9aefae83db152a0172deb1e19a9c2322c6d412b8f9f81ca51a4 + languageName: node + linkType: hard + +"map-obj@npm:^2.0.0": + version: 2.0.0 + resolution: "map-obj@npm:2.0.0" + checksum: 3/fbb18029a290f37666234956a253cad6d801d3f7524e1ae51931dc28b5df75ebe109aa9a24bd0ca49114dc0eebe97d004b7c8885681664b8003bfaf48c24c617 + languageName: node + linkType: hard + +"map-obj@npm:^4.0.0": + version: 4.1.0 + resolution: "map-obj@npm:4.1.0" + checksum: 3/91827cab5aa21840605cb5e77c8cabd3089251f95f939419a7208c29fb6b1032006d8b2ad9d407c91b6e0a9e282105c1811eabd750df87f8b55ae758f87c2063 + languageName: node + linkType: hard + +"map-visit@npm:^1.0.0": + version: 1.0.0 + resolution: "map-visit@npm:1.0.0" + dependencies: + object-visit: ^1.0.0 + checksum: 3/9e85e6d802183927229d9ad04d70a0e0c7225451994605674d3ed4e4a21f817b4d9aba42a775e98078ffe47cf67df44a50eb07f965f14afead5015c8692503bd + languageName: node + linkType: hard + +"markdown-doctest@npm:^1.0.0": + version: 1.0.0 + resolution: "markdown-doctest@npm:1.0.0" + dependencies: + "@babel/core": ^7.6.4 + "@babel/preset-env": ^7.6.3 + chalk: ^2.4.2 + glob: ^7.1.4 + bin: + markdown-doctest: bin/cmd.js + checksum: 3/bfcd3f8a62699e674abdbd36c023da31db78919259241acb2d84ec334192ae53ea88c026d8f9bbd4fb103392094d395b2272e2544fbe5d70ca39c2f3adfad9e0 + languageName: node + linkType: hard + +"markdown-it@npm:^10.0.0": + version: 10.0.0 + resolution: "markdown-it@npm:10.0.0" + dependencies: + argparse: ^1.0.7 + entities: ~2.0.0 + linkify-it: ^2.0.0 + mdurl: ^1.0.1 + uc.micro: ^1.0.5 + bin: + markdown-it: bin/markdown-it.js + checksum: 3/f0529067445a432fa5b32b6544e1aaa21d0ee54d43f28a3fb4d6afab271e17c749481da936529bb72a5544146cdd541757893c27f6b0ff8d45339b5cf3f98be5 + languageName: node + linkType: hard + +"md5.js@npm:^1.3.4": + version: 1.3.5 + resolution: "md5.js@npm:1.3.5" + dependencies: + hash-base: ^3.0.0 + inherits: ^2.0.1 + safe-buffer: ^5.1.2 + checksum: 3/ca0b260ea29746f1017ad16bc0e164299ae453d2d6a24d635cc6ec03e280f350b09faa4899bfed9387c81457ca55981e9a684336d89faa94b1d2a01903fae2ec + languageName: node + linkType: hard + +"mdn-data@npm:2.0.4": + version: 2.0.4 + resolution: "mdn-data@npm:2.0.4" + checksum: 3/bcecf9ae69505ff20a2913fa29849eec8b17fa7ab8c93e4bbec8020003f7fd9329478fc353e010ff0dbbca12fc296ff8cf40b6a5c93294c92df7dc8343880b99 + languageName: node + linkType: hard + +"mdn-data@npm:2.0.6": + version: 2.0.6 + resolution: "mdn-data@npm:2.0.6" + checksum: 3/fc723bad3b7785daa6a18abe3422d710e8941a243703d749b5d4aa4f4bcbdc6a426a434f87001995578b278049fd0f91d5d3f869acd0f27e55a92752e6a4c8e0 + languageName: node + linkType: hard + +"mdurl@npm:^1.0.1": + version: 1.0.1 + resolution: "mdurl@npm:1.0.1" + checksum: 3/ed5e81efed218ca1cb61bbb5c41857c98ce456382d630a2f45a1b050087a10119a24107ca1acd4ccef2f1a17b02b8d61fb3c630d3d7c0f22df906dbdd2e5f7b5 + languageName: node + linkType: hard + +"media-typer@npm:0.3.0": + version: 0.3.0 + resolution: "media-typer@npm:0.3.0" + checksum: 3/be1c825782df7f38eebd451d778f6407bb15a59c8807a69e7f2ad74a25440e474536441c6bf583fdf2803ea23b866e91ff68f565cda297211dd89147758c8df3 + languageName: node + linkType: hard + +"mem@npm:^4.0.0": + version: 4.3.0 + resolution: "mem@npm:4.3.0" + dependencies: + map-age-cleaner: ^0.1.1 + mimic-fn: ^2.0.0 + p-is-promise: ^2.0.0 + checksum: 3/3af1ac31ef775c5b23bbc0e078d22324c083822fb6ee1a183595359fc23ef638cf90e8c1e044e5f17c871c6e50dc11db11f1aee112d85dc936e3aa2093acd038 + languageName: node + linkType: hard + +"memory-fs@npm:^0.4.1": + version: 0.4.1 + resolution: "memory-fs@npm:0.4.1" + dependencies: + errno: ^0.1.3 + readable-stream: ^2.0.1 + checksum: 3/ba79207118e62d7e3d13b6a00c1b0508b506a7f281e26c5efcc85e7ba0c9e11eda36a242b42f07067367c4b8547b1e905096293fa65dc6b3dbdd8f825b787dd9 + languageName: node + linkType: hard + +"memory-fs@npm:^0.5.0": + version: 0.5.0 + resolution: "memory-fs@npm:0.5.0" + dependencies: + errno: ^0.1.3 + readable-stream: ^2.0.1 + checksum: 3/deb916f33ca09215d6ad58db30854bbf36aaca86e018dcbbbdb7c6160661e8c0b9acdcc23c9931fc6dcd62f3dd5318a7ecab519e3688f7787d0833e5f48c0d0a + languageName: node + linkType: hard + +"meow@npm:^3.3.0": + version: 3.7.0 + resolution: "meow@npm:3.7.0" + dependencies: + camelcase-keys: ^2.0.0 + decamelize: ^1.1.2 + loud-rejection: ^1.0.0 + map-obj: ^1.0.1 + minimist: ^1.1.3 + normalize-package-data: ^2.3.4 + object-assign: ^4.0.1 + read-pkg-up: ^1.0.1 + redent: ^1.0.0 + trim-newlines: ^1.0.0 + checksum: 3/f0d4feec4052507e9be2902a89143f92c19925130655aa83fc5c5fd51b80c58e140a6d127dae596d8723cc614f31575a49408f70bef7c638f6989276be01d301 + languageName: node + linkType: hard + +"meow@npm:^4.0.0": + version: 4.0.1 + resolution: "meow@npm:4.0.1" + dependencies: + camelcase-keys: ^4.0.0 + decamelize-keys: ^1.0.0 + loud-rejection: ^1.0.0 + minimist: ^1.1.3 + minimist-options: ^3.0.1 + normalize-package-data: ^2.3.4 + read-pkg-up: ^3.0.0 + redent: ^2.0.0 + trim-newlines: ^2.0.0 + checksum: 3/41a411d7ffe7f5d157856050a43ced7b486a8f5e5fce0abc9d0818325e20d100a0df7e2bb033780e98905353a632700a7045b9f32ce33d2b273385b27d7d1b84 + languageName: node + linkType: hard + +"meow@npm:^7.0.0": + version: 7.0.1 + resolution: "meow@npm:7.0.1" + dependencies: + "@types/minimist": ^1.2.0 + arrify: ^2.0.1 + camelcase: ^6.0.0 + camelcase-keys: ^6.2.2 + decamelize-keys: ^1.1.0 + hard-rejection: ^2.1.0 + minimist-options: ^4.0.2 + normalize-package-data: ^2.5.0 + read-pkg-up: ^7.0.1 + redent: ^3.0.0 + trim-newlines: ^3.0.0 + type-fest: ^0.13.1 + yargs-parser: ^18.1.3 + checksum: 3/a14153d1ac9e5d10e59e4d75b117261fa216ffbdfeaecc9b4f96a56d32de2b426f774dc53e8a079e21816b834c6c41969a78f15711b627d13fed0fdd1b9f8906 + languageName: node + linkType: hard + +"merge-deep@npm:^3.0.2": + version: 3.0.2 + resolution: "merge-deep@npm:3.0.2" + dependencies: + arr-union: ^3.1.0 + clone-deep: ^0.2.4 + kind-of: ^3.0.2 + checksum: 3/4110b061cc39f4dddc6ca70bd071cf7d5e1ab784266828f2065f2a38baa75e5b84d4542fd62fb4eb5f93c2fe6218e53e65526fb736e6a27763ade5160ada9df7 + languageName: node + linkType: hard + +"merge-descriptors@npm:1.0.1": + version: 1.0.1 + resolution: "merge-descriptors@npm:1.0.1" + checksum: 3/2d2a09eaac840a7ceac7a13b44b7c8abf3ecccd93a609c3525d8290cb5d814336cc7c0b1dd485ae3bc471ed354eeefb153475ce2e1604ccdf79eebe74021c192 + languageName: node + linkType: hard + +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 3/cde834809a0e65485e474de3162af9853ab2a07977fd36d328947b7b3e6207df719ffb115b11085ecc570501e15a2aa8bacd772ac53f77873f53b0626e52a39a + languageName: node + linkType: hard + +"merge2@npm:^1.2.3": + version: 1.3.0 + resolution: "merge2@npm:1.3.0" + checksum: 3/0b2ffca431dc2211e41ff0a4becf5242c2a621a1ddad46dc49afc0d11e880187a8c4fcd3995d2eb13f5f98ee65e96b0445fa98886b76280c44db773314e0aff5 + languageName: node + linkType: hard + +"methods@npm:^1.1.2, methods@npm:~1.1.2": + version: 1.1.2 + resolution: "methods@npm:1.1.2" + checksum: 3/450e4ea0fd4a0f3de8c0593d753c7d6c8f2ee49766f5ef35c68cc2ac41699d5e295b7d6330fc2b7271b8569a07857e3eb0b5df0599a353c5808265b4b5066168 + languageName: node + linkType: hard + +"microevent.ts@npm:~0.1.1": + version: 0.1.1 + resolution: "microevent.ts@npm:0.1.1" + checksum: 3/fc547fd00a14e8aae4d02b293c6f0b0e03435baf8bcaac48e5d0d0b86752db3cf9cc0fb3d88d22361887b75fcff33b4e6f263d86046f226b3ad10ae86a829b2e + languageName: node + linkType: hard + +"micromatch@npm:4.x, micromatch@npm:^4.0.2": + version: 4.0.2 + resolution: "micromatch@npm:4.0.2" + dependencies: + braces: ^3.0.1 + picomatch: ^2.0.5 + checksum: 3/0cb0e11d647cbb65e398a0a8a1340a7fb751ae2722346219c435704cfac8b3275a94a6464236fe867f52ad46a24046d3bc4ac11b3d21ddb73bc44e27cf1e4904 + languageName: node + linkType: hard + +"micromatch@npm:^3.1.10, micromatch@npm:^3.1.4": + version: 3.1.10 + resolution: "micromatch@npm:3.1.10" + dependencies: + arr-diff: ^4.0.0 + array-unique: ^0.3.2 + braces: ^2.3.1 + define-property: ^2.0.2 + extend-shallow: ^3.0.2 + extglob: ^2.0.4 + fragment-cache: ^0.2.1 + kind-of: ^6.0.2 + nanomatch: ^1.2.9 + object.pick: ^1.3.0 + regex-not: ^1.0.0 + snapdragon: ^0.8.1 + to-regex: ^3.0.2 + checksum: 3/a60e73539a3ac6c6231f11642257a460861302df5986a94fd418d1b64a817409cda778d7023b53541a2091b523eda2c6f7212721e380d0b696284b7ca0a45bda + languageName: node + linkType: hard + +"middie@npm:^4.1.0": + version: 4.1.0 + resolution: "middie@npm:4.1.0" + dependencies: + path-to-regexp: ^4.0.0 + reusify: ^1.0.2 + checksum: 3/cff569ab58ea69c30d3874690521bd912c772c69f6599d97b3a805b9591b4dd563cae025edb856379773882b42643647a4bdd5dc2548fc408d47d449480e702a + languageName: node + linkType: hard + +"miller-rabin@npm:^4.0.0": + version: 4.0.1 + resolution: "miller-rabin@npm:4.0.1" + dependencies: + bn.js: ^4.0.0 + brorand: ^1.0.1 + bin: + miller-rabin: bin/miller-rabin + checksum: 3/e9f78a2c83ceca816cf61853121ad8d1e00f11731b9bf1a1b9a3b9e663ab4722a7553dd9ca644501738d548f7ead5540da1b746143ae0008ba1d7d81cf43f8c4 + languageName: node + linkType: hard + +"mime-db@npm:1.44.0, mime-db@npm:>= 1.43.0 < 2": + version: 1.44.0 + resolution: "mime-db@npm:1.44.0" + checksum: 3/b4e3b2141418572fba9786f7e36324faef15e23032ad0871f56760cb304ee721ba4c8cc795d3c1cac69a2a8b94045c1d6b08c4a8d1ef6ba1226a3a5193915c57 + languageName: node + linkType: hard + +"mime-types@npm:^2.1.12, mime-types@npm:^2.1.18, mime-types@npm:~2.1.17, mime-types@npm:~2.1.19, mime-types@npm:~2.1.24": + version: 2.1.27 + resolution: "mime-types@npm:2.1.27" + dependencies: + mime-db: 1.44.0 + checksum: 3/51fe2f2c08c10ac7a2f67e2ce5de30f6500faa88d095418a1ab6e90e30960db7c682a8ecce60d3d4e293ac52c4700ca99399833db998ea9ec83d6f0503b70a94 + languageName: node + linkType: hard + +"mime@npm:1.6.0": + version: 1.6.0 + resolution: "mime@npm:1.6.0" + bin: + mime: cli.js + checksum: 3/d540c24dd3e3a9e25e813714e55ff2f7841a3a1a47aed9786c508bd0251653d5e9abbfb1163c0c6e1be99f872d7fa1538c068bd6e306e9cb12dd9affa841a61e + languageName: node + linkType: hard + +"mime@npm:^2.4.4": + version: 2.4.5 + resolution: "mime@npm:2.4.5" + bin: + mime: cli.js + checksum: 3/5e98b758e52e9620cb159120f8ee2483566009e60175eb3210c15de5e7a9912b6e31c578c42b063a99d8e1116a16f19e4ece336372ba3510b2830701b12ac100 + languageName: node + linkType: hard + +"mimic-fn@npm:^2.0.0, mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: 3/f7d2d7febe3d7dd71da0700b1d455ec6c951a96b463ffcc303c93771b9fe4e45318152ea677c241505b19b39e41d906e5052cfb382d59a44bdb6d3d57f8b467b + languageName: node + linkType: hard + +"mimic-response@npm:^1.0.0, mimic-response@npm:^1.0.1": + version: 1.0.1 + resolution: "mimic-response@npm:1.0.1" + checksum: 3/64b43c717ed8710bc920576e96d38d0e504e9eec3114af8e00c9e3d7ae53cd459ee38febb0badc83e3a4e6d21cd571db43e9011f8cf014809989c87a1a9f0ea4 + languageName: node + linkType: hard + +"min-indent@npm:^1.0.0": + version: 1.0.0 + resolution: "min-indent@npm:1.0.0" + checksum: 3/caed9fdecd22dbb2d73025c9fa5d808e6085ebeb1af355b4ac1b59018c7f9cd7dc9b2daf38af405367f80dcbd2f4e971d61d93476af27f65988488e808244cb1 + languageName: node + linkType: hard + +"mini-css-extract-plugin@npm:0.9.0": + version: 0.9.0 + resolution: "mini-css-extract-plugin@npm:0.9.0" + dependencies: + loader-utils: ^1.1.0 + normalize-url: 1.9.1 + schema-utils: ^1.0.0 + webpack-sources: ^1.1.0 + peerDependencies: + webpack: ^4.4.0 + checksum: 3/654be33368f70857371fcd36e191ffc2ba2f6af338f3e112b3136cf2ccffd6ebf30b0271e87660b81d02a52988edb70d5caaec3a8628725b87ca0b49b4fcc225 + languageName: node + linkType: hard + +"minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": + version: 1.0.1 + resolution: "minimalistic-assert@npm:1.0.1" + checksum: 3/28f1de3cf9edfb82613428a58eb3dd38ec6d33ab761b98abf2d130c81104ea86be540c7e5eb8284f13e0a065ead8b17501de09419b9a98987ed27268ad538dba + languageName: node + linkType: hard + +"minimalistic-crypto-utils@npm:^1.0.0, minimalistic-crypto-utils@npm:^1.0.1": + version: 1.0.1 + resolution: "minimalistic-crypto-utils@npm:1.0.1" + checksum: 3/736067bddd0e5036a1a4943abe7b63eb1dd0115ad87588420310d26a3d56fc4cd4694b7077fa102956c88d3922dbf7cbc5b7ffe749f27441d13c3e1b1133ab40 + languageName: node + linkType: hard + +"minimatch@npm:3.0.4, minimatch@npm:^3.0.4": + version: 3.0.4 + resolution: "minimatch@npm:3.0.4" + dependencies: + brace-expansion: ^1.1.7 + checksum: 3/47eab9263962cacd5733e274ecad2d8e54b0f8e124ba35ae69189e296058f634a4967b87a98954f86fa5c830ff177caf827ce0136d28717ed3232951fb4fae62 + languageName: node + linkType: hard + +"minimist-options@npm:^3.0.1": + version: 3.0.2 + resolution: "minimist-options@npm:3.0.2" + dependencies: + arrify: ^1.0.1 + is-plain-obj: ^1.1.0 + checksum: 3/3b265ce72ef1a55bab293b0c6dce4a44f89fcdf2dd096c6a629defb30b4928fd3770931d89b5e14ac1253178cbeed3af39227f0bdfb87bef49af93b67a48eb7a + languageName: node + linkType: hard + +"minimist-options@npm:^4.0.2": + version: 4.1.0 + resolution: "minimist-options@npm:4.1.0" + dependencies: + arrify: ^1.0.1 + is-plain-obj: ^1.1.0 + kind-of: ^6.0.3 + checksum: 3/51f1aba56f9c2c2986d85c98a29abec26c632019abd2966a151029cf2cf0903d81894781460e0d5755d4f899bb3884bc86fc9af36ab31469a38d82cf74f4f651 + languageName: node + linkType: hard + +"minimist@npm:^1.1.1, minimist@npm:^1.1.3, minimist@npm:^1.2.0, minimist@npm:^1.2.5": + version: 1.2.5 + resolution: "minimist@npm:1.2.5" + checksum: 3/b77b8590147a4e217ff34266236bc39de23b52e6e33054076991ff674c7397a1380a7bde11111916f16f003a94aaa7e4f3d92595a32189644ff607fabc65a5b6 + languageName: node + linkType: hard + +"minipass-collect@npm:^1.0.2": + version: 1.0.2 + resolution: "minipass-collect@npm:1.0.2" + dependencies: + minipass: ^3.0.0 + checksum: 3/529ef6212333e6b9afc6aa4487a246df6fd28a28e42060533491ebf58fddb349f9b044f017725bddf3e13cae3986c58c24ee2531832f62e6d97379846e04e0a8 + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: ^3.0.0 + checksum: 3/d354ca0da834e3e79a1f0372d1cb86ba043a96b495624ed6360f7cd1f549e5685d9b292d4193a963497efcf4a4db8563e188cda565b119b8acc00852259e286c + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.2": + version: 1.2.3 + resolution: "minipass-pipeline@npm:1.2.3" + dependencies: + minipass: ^3.0.0 + checksum: 3/618713f98ce51f40bb06528c6c845a77ce6c66a7c84f9f014495c0ae9ed1c55aaa24110df09a64b6bea763dc00542401b54de9960423a23860a71c14c7e46cb0 + languageName: node + linkType: hard + +"minipass@npm:^2.6.0, minipass@npm:^2.8.6, minipass@npm:^2.9.0": + version: 2.9.0 + resolution: "minipass@npm:2.9.0" + dependencies: + safe-buffer: ^5.1.2 + yallist: ^3.0.0 + checksum: 3/57a49f9523fdc495625184f4ef5a101615d3ee0c06f0c37e2ed7140c12deeecbd404539bd605b985100836006409b11b627a3148941dcc4ade24f0f078557836 + languageName: node + linkType: hard + +"minipass@npm:^3.0.0, minipass@npm:^3.1.1": + version: 3.1.3 + resolution: "minipass@npm:3.1.3" + dependencies: + yallist: ^4.0.0 + checksum: 3/d12b95a845f15950bce7a77730c89400cf0c4f55e7066338da1d201ac148ece4ea8efa79e45a2c07c868c61bcaf9e996c4c3d6bf6b85c038ffa454521fc6ecd5 + languageName: node + linkType: hard + +"minizlib@npm:^1.2.1": + version: 1.3.3 + resolution: "minizlib@npm:1.3.3" + dependencies: + minipass: ^2.9.0 + checksum: 3/8d12782dd943ea92bb3e8e5dc4fe21201b56e77e5f12723c29159cf01dd0d50330dd071897dec270b3861994fb07a982b2473e5c2f42bf5f4b180ab18bf81c06 + languageName: node + linkType: hard + +"mississippi@npm:^3.0.0": + version: 3.0.0 + resolution: "mississippi@npm:3.0.0" + dependencies: + concat-stream: ^1.5.0 + duplexify: ^3.4.2 + end-of-stream: ^1.1.0 + flush-write-stream: ^1.0.0 + from2: ^2.1.0 + parallel-transform: ^1.1.0 + pump: ^3.0.0 + pumpify: ^1.3.3 + stream-each: ^1.1.0 + through2: ^2.0.0 + checksum: 3/6d30a5ba65e27cdd453148abfeadf9f4a64a156a0dd17640876bf4f75d4ee3d5fbd7658f11cc6322b56c81628585de96dbb2b177476012470df6d05323b46e29 + languageName: node + linkType: hard + +"mixin-deep@npm:^1.2.0": + version: 1.3.2 + resolution: "mixin-deep@npm:1.3.2" + dependencies: + for-in: ^1.0.2 + is-extendable: ^1.0.1 + checksum: 3/68da98bc1af57ffccde7abdc86ac49feec263b73b3c483ab7e6e2fab9aa2b06fba075da9e86bcda725133c1d2a59e4c810a17b55865c67c827871c25d5713c33 + languageName: node + linkType: hard + +"mixin-object@npm:^2.0.1": + version: 2.0.1 + resolution: "mixin-object@npm:2.0.1" + dependencies: + for-in: ^0.1.3 + is-extendable: ^0.1.1 + checksum: 3/90adec767dff41d8f9917d729d786ddae6cc9c08dc69133851348042d35c74496079be88fd33e874315b11db535c7761b769a3c3a361f2fb1c2ec8b6672ecac0 + languageName: node + linkType: hard + +"mkdirp@npm:1.x": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: 3/1aa3a6a2d7514f094a91329ec09994f5d32d2955a4985ecbb3d86f2aaeafc4aa11521f98d606144c1d49cd9835004d9a73342709b8c692c92e59eacf37412468 + languageName: node + linkType: hard + +"mkdirp@npm:^0.5.0, mkdirp@npm:^0.5.1, mkdirp@npm:^0.5.3, mkdirp@npm:~0.5.1": + version: 0.5.5 + resolution: "mkdirp@npm:0.5.5" + dependencies: + minimist: ^1.2.5 + bin: + mkdirp: bin/cmd.js + checksum: 3/9dd9792e891927b14ca02226dbe1daeb717b9517a001620d5e2658bbc72c5e4f06887b6cbcbb60595fa5a56e701073cf250f1ed69c1988a6b89faf9fd6a4d049 + languageName: node + linkType: hard + +"mock-fs@npm:^4.12.0": + version: 4.12.0 + resolution: "mock-fs@npm:4.12.0" + checksum: 3/d2bd01b4108d3931e0188a8f06968357af45bc9b0a145d847ecec4eb508edea6205038fd0b8b28ca73438c9a00be43425efe86800306fe8da9ab50f2104601c2 + languageName: node + linkType: hard + +"mock-req@npm:^0.2.0": + version: 0.2.0 + resolution: "mock-req@npm:0.2.0" + checksum: 3/d108ea02b3c1e3beff5b9bf955e554846ae6452f54cb1c01308fb405c59cb102ecdfb39cdc00fa7e712b2274187323a5ff64142134275a2c6a9a4799a3f8cea8 + languageName: node + linkType: hard + +"mock-res@npm:^0.5.0": + version: 0.5.0 + resolution: "mock-res@npm:0.5.0" + checksum: 3/4090d4b2a13806c136aad8c687125e29dd0f9940480a124cf0ec4250bf8949b4016b49422701c0cecddc3274b0d539d94d7edc0e99550b818b82e87f5bc062d8 + languageName: node + linkType: hard + +"modify-values@npm:^1.0.0": + version: 1.0.1 + resolution: "modify-values@npm:1.0.1" + checksum: 3/55165ae8b4ea2aafebe5027dd427d4a833d54606c81546f4d3c04943d99d194ac9481fa076719f326d243c475e2dfa5cf0219e68cffbbf9c44b24e46eb889779 + languageName: node + linkType: hard + +"move-concurrently@npm:^1.0.1": + version: 1.0.1 + resolution: "move-concurrently@npm:1.0.1" + dependencies: + aproba: ^1.1.1 + copy-concurrently: ^1.0.0 + fs-write-stream-atomic: ^1.0.8 + mkdirp: ^0.5.1 + rimraf: ^2.5.4 + run-queue: ^1.0.3 + checksum: 3/0761308ddbaf75291fff3ca26c0297a781d545e76aa34b7c985780d251f75e422433947dc9091d464ca7febef86fe6ecaa60746eb7076adac4a0c620b83540f5 + languageName: node + linkType: hard + +"ms@npm:2.0.0": + version: 2.0.0 + resolution: "ms@npm:2.0.0" + checksum: 3/1a230340cc7f322fbe916783d8c8d60455407c6b7fb7f901d6ee34eb272402302c5c7f070a97b8531245cbb4ca6a0a623f6a128d7e5a5440cefa2c669c0b35bb + languageName: node + linkType: hard + +"ms@npm:2.1.1": + version: 2.1.1 + resolution: "ms@npm:2.1.1" + checksum: 3/81ad38c74df2473ce9fbed8bb71a00220c3d9e237ebd576306c9f6ca3221b251d602c7d199808944be1a3d7cda5883e72c77adb473734ba30f6e032165e05ebc + languageName: node + linkType: hard + +"ms@npm:2.1.2, ms@npm:^2.1.1": + version: 2.1.2 + resolution: "ms@npm:2.1.2" + checksum: 3/9b65fb709bc30c0c07289dcbdb61ca032acbb9ea5698b55fa62e2cebb04c5953f1876a1f3f7f4bc2e91d4bf4d86003f3e207c3bc6ee2f716f99827e62389cd0e + languageName: node + linkType: hard + +"multicast-dns-service-types@npm:^1.1.0": + version: 1.1.0 + resolution: "multicast-dns-service-types@npm:1.1.0" + checksum: 3/de10f16134855e368505a174ea0a25c60c74e34a73fd251d09d1d7cbdb70ee23c077b7eec9d4314ae51b1bc134775d490f4b7e2e29a4d9312bbd089456ac20b1 + languageName: node + linkType: hard + +"multicast-dns@npm:^6.0.1": + version: 6.2.3 + resolution: "multicast-dns@npm:6.2.3" + dependencies: + dns-packet: ^1.3.1 + thunky: ^1.0.2 + bin: + multicast-dns: cli.js + checksum: 3/3a67f9a155f32a543e06ebc058cea63d8ee3122f652289cfc91ec24bf7450433a21a017640852e65f1548d4bcca2b8bd10c3d201e56f66945dc1f2554a7e7939 + languageName: node + linkType: hard + +"mute-stream@npm:0.0.8": + version: 0.0.8 + resolution: "mute-stream@npm:0.0.8" + checksum: 3/315c40f463ec31deee54c5b8779207feb6b63dd4c58fe0f84ad46abdd6dac1ada578d53efde4a47b0ae4d29d453d35bb39ecdd98ee9ebf538929039a3a9945df + languageName: node + linkType: hard + +"nan@npm:^2.12.1": + version: 2.14.1 + resolution: "nan@npm:2.14.1" + dependencies: + node-gyp: latest + checksum: 3/eeab7cf260362a578f0b8622716a76d19bc009722049c7274748644ce03b2aa38ca01b3ac730a0497fd2c1ec882a21a0592e800a903994ed4d32acd06bf7eba7 + languageName: node + linkType: hard + +"nanolru@npm:^1.0.0": + version: 1.0.0 + resolution: "nanolru@npm:1.0.0" + checksum: 3/3e9d4407a7c5c8c29867cee33aec8ea60b300be34ecc858f4613cfa95bc0fff9af6a2a462737d7e2dc829414d1281263fdd6c1c7a844ef5d1c5cc77a1ddba17e + languageName: node + linkType: hard + +"nanomatch@npm:^1.2.9": + version: 1.2.13 + resolution: "nanomatch@npm:1.2.13" + dependencies: + arr-diff: ^4.0.0 + array-unique: ^0.3.2 + define-property: ^2.0.2 + extend-shallow: ^3.0.2 + fragment-cache: ^0.2.1 + is-windows: ^1.0.2 + kind-of: ^6.0.2 + object.pick: ^1.3.0 + regex-not: ^1.0.0 + snapdragon: ^0.8.1 + to-regex: ^3.0.1 + checksum: 3/2e1440c5705f0192b9d9b46bb682a1832052974dad359ed473b9f555abb5c55a08b3d5ba45d7d37c53a83f64b7f93866292824d3086a150ff7980e71874feb3b + languageName: node + linkType: hard + +"natural-compare@npm:^1.4.0": + version: 1.4.0 + resolution: "natural-compare@npm:1.4.0" + checksum: 3/2daf93d9bb516eddb06e2e80657a605af2e494d47c65d090ba43691aaffbc41f520840f1c9d3b7b641977af950217a4ab6ffb85bafcd5dfa8ba6fe4e68c43b53 + languageName: node + linkType: hard + +"negotiator@npm:0.6.2": + version: 0.6.2 + resolution: "negotiator@npm:0.6.2" + checksum: 3/4b230bd15f0862d16c54ce0243fcfcf835ad59c8e58c467b4504dd28c9868cff71ff485b02cc575dc69dca819b58a1fadc9fb28403f45721f38a8fffde007d54 + languageName: node + linkType: hard + +"neo-async@npm:^2.5.0, neo-async@npm:^2.6.0, neo-async@npm:^2.6.1": + version: 2.6.1 + resolution: "neo-async@npm:2.6.1" + checksum: 3/b359ccaa5cc3eea9c49605b830382e2ec7661f1746b7210dc1f997645a40f9daf3084328151ecb21800e0e78d891dbf8d46f70c3cb5e8c5dab8a909b5597f9a1 + languageName: node + linkType: hard + +"next-tick@npm:~1.0.0": + version: 1.0.0 + resolution: "next-tick@npm:1.0.0" + checksum: 3/18db63c447c6e65a23235b91da9ccdae53f74f9194cfbc71a1fd3170cdf81bd157d9676e47c2ea4ea5bd20e09fb019917b0a45d8e1a63e377175fc083f285234 + languageName: node + linkType: hard + +"nice-try@npm:^1.0.4": + version: 1.0.5 + resolution: "nice-try@npm:1.0.5" + checksum: 3/330f190bf68146a560008b661e1ddbb2eac667c16990b6bf791516d89cceb707ec67901ad647d2b32674bfa816b916489cead5c2fb6e96864c659573ab5aa3bb + languageName: node + linkType: hard + +"no-case@npm:^3.0.3": + version: 3.0.3 + resolution: "no-case@npm:3.0.3" + dependencies: + lower-case: ^2.0.1 + tslib: ^1.10.0 + checksum: 3/619e0bd00a3ef0fa6ad9442d32c88adcf47339c5b0d9bdfaaab19380709dad5ba71f865ae584531988ba85a6083e1f0ea0b851bcc49c67aee40a5100104e84b9 + languageName: node + linkType: hard + +"node-fetch@npm:2.1.2": + version: 2.1.2 + resolution: "node-fetch@npm:2.1.2" + checksum: 3/9f9fcdc37df8780e61ac8e5089d7c765c61dc8c8afa614f71fec74b3b95b47d0d6bf842b6d91cb0baf75566f9a60aa367acd0c394f22482fb301125168db29dd + languageName: node + linkType: hard + +"node-forge@npm:0.9.0": + version: 0.9.0 + resolution: "node-forge@npm:0.9.0" + checksum: 3/901d6ab679072ad4b4174daed4d1ede43f01131456aba1918d89246ae37f73e40e053d9bf32ab3836e74e9e471c2637f4a6af337ab8c6a562faa3a385aac806c + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 6.1.0 + resolution: "node-gyp@npm:6.1.0" + dependencies: + env-paths: ^2.2.0 + glob: ^7.1.4 + graceful-fs: ^4.2.2 + mkdirp: ^0.5.1 + nopt: ^4.0.1 + npmlog: ^4.1.2 + request: ^2.88.0 + rimraf: ^2.6.3 + semver: ^5.7.1 + tar: ^4.4.12 + which: ^1.3.1 + bin: + node-gyp: bin/node-gyp.js + checksum: 3/c1d7b77db2e5c9a97ddc6a9b6dfd4149f57b69bee89f7f41c2f537911be5c84f310409aa0d149caf7c48c67110c387dd27797736e6f3b47eaf8c2288b3722090 + languageName: node + linkType: hard + +"node-int64@npm:^0.4.0": + version: 0.4.0 + resolution: "node-int64@npm:0.4.0" + checksum: 3/8fce4b82d4173041114150bc49fe2333a0628a1ae31ab666db816742cbce422ef28eb834a7e66d2d09a0f635d3b5fad8c7330ec792db9558f9f7a47fa4eac87f + languageName: node + linkType: hard + +"node-libs-browser@npm:^2.2.1": + version: 2.2.1 + resolution: "node-libs-browser@npm:2.2.1" + 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 + checksum: 3/8da918a5ef93c0bfed8df90bb9d6b12ae08836963aa0b22927eedf6d3eab6e60feb9eae2d394f1eb6d5f0fdd985fb2858b698a3347606b90dfdd5047b5ea6042 + languageName: node + linkType: hard + +"node-modules-regexp@npm:^1.0.0": + version: 1.0.0 + resolution: "node-modules-regexp@npm:1.0.0" + checksum: 3/90f928a1dbc3c98d39b3d133f8c910e6bd8e45416f8e15151a31c41550cffe4e3022a39c38c20ae4ceca56b6e63741def4f3a2018080d13f5be245f4b060a9b1 + languageName: node + linkType: hard + +"node-notifier@npm:^5.4.2": + version: 5.4.3 + resolution: "node-notifier@npm:5.4.3" + dependencies: + growly: ^1.3.0 + is-wsl: ^1.1.0 + semver: ^5.5.0 + shellwords: ^0.1.1 + which: ^1.3.0 + checksum: 3/8188c3ea9d9c3cc7840da4109f622eb79e198931d5d6d5d751967f1ef72ea11fc0241d4274a063b9eb3f83f3a4a0cb7dd8557f5fea6391f763afca750e5a66c9 + languageName: node + linkType: hard + +"node-notifier@npm:^7.0.0": + version: 7.0.0 + resolution: "node-notifier@npm:7.0.0" + dependencies: + growly: ^1.3.0 + is-wsl: ^2.1.1 + semver: ^7.2.1 + shellwords: ^0.1.1 + uuid: ^7.0.3 + which: ^2.0.2 + checksum: 3/1f47316d572bb0e448525a62334605bf51c7768998dbe9b93ad1fa1b3b10285664ed5cff9817fe043854442a632d77ce3978c6b4f77074696622ed03565ff65a + languageName: node + linkType: hard + +"node-releases@npm:^1.1.52, node-releases@npm:^1.1.53": + version: 1.1.55 + resolution: "node-releases@npm:1.1.55" + checksum: 3/b7612081e4beef55c5144903ccf75aa9af0dff6f719d2782624628c8d29c45034d16507047442bef1a2c5f6cd7b0535020b30ee34e3f0deee5a1155561de6900 + languageName: node + linkType: hard + +"nodemon@npm:^2.0.4": + version: 2.0.4 + resolution: "nodemon@npm:2.0.4" + dependencies: + chokidar: ^3.2.2 + debug: ^3.2.6 + ignore-by-default: ^1.0.1 + minimatch: ^3.0.4 + pstree.remy: ^1.1.7 + semver: ^5.7.1 + supports-color: ^5.5.0 + touch: ^3.1.0 + undefsafe: ^2.0.2 + update-notifier: ^4.0.0 + bin: + nodemon: bin/nodemon.js + checksum: 3/b5f32e7feea11cc2e3ae6603f2ed9229f3d13d01e0d7d54aab47d0dac3b5759b07a0f00d0a46de7379a8ca8e5705940508dee6d06e4a22b3f31c57ce52faa936 + languageName: node + linkType: hard + +"nopt@npm:^4.0.1": + version: 4.0.3 + resolution: "nopt@npm:4.0.3" + dependencies: + abbrev: 1 + osenv: ^0.1.4 + bin: + nopt: bin/nopt.js + checksum: 3/bf7b8c15fd035bf1faa897ec83c3fe5a459beb51a09dfad9413429382139784c3f05e11847d2e5de7160a813c5c8c6cf74c34f22b483c08fdaf465586f293f49 + languageName: node + linkType: hard + +"nopt@npm:~1.0.10": + version: 1.0.10 + resolution: "nopt@npm:1.0.10" + dependencies: + abbrev: 1 + bin: + nopt: ./bin/nopt.js + checksum: 3/fb74743e70abbabfdfa828be4b85ba7261ebdff439a9d5edc7a86871ddc45d4741e0724df91dff0a274ea4d3b6ef458c3c35a14ca97e53a6fe24264ff1d45a66 + languageName: node + linkType: hard + +"normalize-package-data@npm:^2.3.0, normalize-package-data@npm:^2.3.2, normalize-package-data@npm:^2.3.4, normalize-package-data@npm:^2.3.5, normalize-package-data@npm:^2.5.0": + version: 2.5.0 + resolution: "normalize-package-data@npm:2.5.0" + dependencies: + hosted-git-info: ^2.1.4 + resolve: ^1.10.0 + semver: 2 || 3 || 4 || 5 + validate-npm-package-license: ^3.0.1 + checksum: 3/97d4d6b061cab51425ddb05c38d126d7a1a2a6f2c9949bef2b5ad7ef19c005df12099ea442e4cb09190929b7770008f94f87b10342a66f739acf92a7ebb9d9f2 + languageName: node + linkType: hard + +"normalize-path@npm:^2.1.1": + version: 2.1.1 + resolution: "normalize-path@npm:2.1.1" + dependencies: + remove-trailing-separator: ^1.0.1 + checksum: 3/9eb82b2f6abc1b99d820c36405d6b7a26a4cfa49d49d397eb2ad606b1295cb8e243b6071b18826907ae54a9a2b35373a83d827d843d19b76efcfa267d72cb301 + languageName: node + linkType: hard + +"normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": + version: 3.0.0 + resolution: "normalize-path@npm:3.0.0" + checksum: 3/215a701b471948884193628f3e38910353abf445306b519c42c2a30144b8beb8ca0a684da97bfc2ee11eb168c35c776d484274da4bd8f213d2b22f70579380ee + languageName: node + linkType: hard + +"normalize-range@npm:^0.1.2": + version: 0.1.2 + resolution: "normalize-range@npm:0.1.2" + checksum: 3/bca997d800d76b7954b36d394f44bbe65948eb4cca954b2e731cd81a7a5540725dcd237df7cb2006449e705c4803755658b8f23d89f9cc2eb5da464558baba69 + languageName: node + linkType: hard + +"normalize-url@npm:1.9.1": + version: 1.9.1 + resolution: "normalize-url@npm:1.9.1" + dependencies: + object-assign: ^4.0.1 + prepend-http: ^1.0.0 + query-string: ^4.1.0 + sort-keys: ^1.0.0 + checksum: 3/f4ebdd85d720c5a3547407153dfee95220ae452a4f3cd7e5a97fe3e12eeb09d3695930b8869df91728dbd4a50dc5a440d2c3dba03b0c1388b10a5850c791ea4d + languageName: node + linkType: hard + +"normalize-url@npm:^3.0.0": + version: 3.3.0 + resolution: "normalize-url@npm:3.3.0" + checksum: 3/5704115f74833cf157a5f104477d9c8e8b4e2c00275624159bcd3c65dbdac93db4f6f008f91364d0f20f93655bd2b643afa9e8875c67b4ab8673cd1dd0fb7a5c + languageName: node + linkType: hard + +"normalize-url@npm:^4.1.0": + version: 4.5.0 + resolution: "normalize-url@npm:4.5.0" + checksum: 3/09794941dbe5c7b91caf6f3cd1ae167c27f6d09793e4a03601a68b62de7e8ee9e5de21a246130cdbab98b01481de292f9556d492444a527648f9cf1220e4b0df + languageName: node + linkType: hard + +"npm-run-path@npm:^2.0.0": + version: 2.0.2 + resolution: "npm-run-path@npm:2.0.2" + dependencies: + path-key: ^2.0.0 + checksum: 3/0a1bc9a1e0faa7e54a011929b830121d5da393f50cbe37c83f3ffd67781b6d176739ba6e8eab5d56faa05738a60f7eb50389673767db0dc887073932f80b9b60 + languageName: node + linkType: hard + +"npm-run-path@npm:^4.0.0": + version: 4.0.1 + resolution: "npm-run-path@npm:4.0.1" + dependencies: + path-key: ^3.0.0 + checksum: 3/058fd068804f8c34fcef9393fc895d45400834c9f90bbafc57259f9fd47e8796712e4ad54524f0971b806260a118bf61ac37b0bf9f74e9e58c84bae780ae09e6 + languageName: node + linkType: hard + +"npmlog@npm:^4.1.2": + version: 4.1.2 + resolution: "npmlog@npm:4.1.2" + dependencies: + are-we-there-yet: ~1.1.2 + console-control-strings: ~1.1.0 + gauge: ~2.7.3 + set-blocking: ~2.0.0 + checksum: 3/0cd63f127c1bbda403a112e83b11804aaee2b58b0bc581c3bde9b82e4d957c7ed0ad3bee499af706cdd3599bb93669d7cbbf29fb500407d35fe75687ac96e2c0 + languageName: node + linkType: hard + +"nth-check@npm:^1.0.2, nth-check@npm:~1.0.1": + version: 1.0.2 + resolution: "nth-check@npm:1.0.2" + dependencies: + boolbase: ~1.0.0 + checksum: 3/88a58b8b6289344749102019422705e8e6fa870d55e4bd4c71f860105ea5b8145ae71657f6edd6df953964081f52d65936a3eec4af1d9ee42122e42d293b2abe + languageName: node + linkType: hard + +"num2fraction@npm:^1.2.2": + version: 1.2.2 + resolution: "num2fraction@npm:1.2.2" + checksum: 3/c9bb3e7c6d358cc8a6f354e0f5b56235845255465622f4d2eafec6bf5209dd3500133ab2888fbb444c997e29702e85b79ceef026ccc1c06a2971c2c1a93cee90 + languageName: node + linkType: hard + +"number-is-nan@npm:^1.0.0": + version: 1.0.1 + resolution: "number-is-nan@npm:1.0.1" + checksum: 3/42251b2653a16f8b47639d93c3b646fff295a4582a6b3a2fc51a651d4511427c247629709063d19befbceb8a3db1a8e9f17016b3a207291e79e4bd1413032918 + languageName: node + linkType: hard + +"nwsapi@npm:^2.0.7, nwsapi@npm:^2.1.3, nwsapi@npm:^2.2.0": + version: 2.2.0 + resolution: "nwsapi@npm:2.2.0" + checksum: 3/fb0f05113a829296f964688503d991b136d02d153769288d12226a4d52e17b50c073eceeee0ff1e8377ca8e86c244e1f9b849c9eed7fca97a03aa8a59f074c06 + languageName: node + linkType: hard + +"oauth-sign@npm:~0.9.0": + version: 0.9.0 + resolution: "oauth-sign@npm:0.9.0" + checksum: 3/af1ab60297c3a687d1d2de5c43c6453c4df6939de3e6114ada4a486ac51fa7ab1769f33000b94c0e8ffced5ae4c57c4f5d36b517792d83e9e9742578a728682e + languageName: node + linkType: hard + +"object-assign@npm:^4.0.1, object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": + version: 4.1.1 + resolution: "object-assign@npm:4.1.1" + checksum: 3/66cf021898fc1b13ea573ea8635fbd5a76533f50cecbc2fcd5eee1e8029af41bcebe7023788b6d0e06cbe4401ecea075d972f78ec74467cdc571a0f1a4d1a081 + languageName: node + linkType: hard + +"object-copy@npm:^0.1.0": + version: 0.1.0 + resolution: "object-copy@npm:0.1.0" + dependencies: + copy-descriptor: ^0.1.0 + define-property: ^0.2.5 + kind-of: ^3.0.3 + checksum: 3/d91d46e54297cad0544f04e4dff4694f92aca9661f59ad7e803a1ba94a2bb24b38ca4fd59ea827d24c9bdc6f7148d5c838287ee4b2b9c5df9b445b1c0d7a066c + languageName: node + linkType: hard + +"object-hash@npm:^2.0.1": + version: 2.0.3 + resolution: "object-hash@npm:2.0.3" + checksum: 3/e633ae67cd6c5f3cd52af5bef0fe7f25d597b415a6d92a601be0b97a47642908cf333cedfc9e848d25b6c51fd6cf6e64ff6eb3af710eae249a42f6a69ad6b12d + languageName: node + linkType: hard + +"object-inspect@npm:^1.7.0": + version: 1.7.0 + resolution: "object-inspect@npm:1.7.0" + checksum: 3/9f479ca1002fedbf4e1c5dec908477d1a7a2dd4466af0b4cf5886d269db54d8310544dfb7670a17a4c5d6a7a3dd3c346be38ea6b3541330551900a3134dec662 + languageName: node + linkType: hard + +"object-keys@npm:^1.0.11, object-keys@npm:^1.0.12, object-keys@npm:^1.1.1": + version: 1.1.1 + resolution: "object-keys@npm:1.1.1" + checksum: 3/30d72d768b7f3f42144cee517b80e70c40cf39bb76f100557ffac42779613c591780135c54d8133894a78d2c0ae817e24a5891484722c6019a5cd5b58c745c66 + languageName: node + linkType: hard + +"object-path@npm:0.11.4": + version: 0.11.4 + resolution: "object-path@npm:0.11.4" + checksum: 3/5e3d4690d00cd6febeb19f888858ac0da8dc9f83a0a364401259d9dfaad0fd58c638632a78e63f81710d4e9a59b3f1f9e4aadacf61f31ab9cb1602194fd76d81 + languageName: node + linkType: hard + +"object-visit@npm:^1.0.0": + version: 1.0.1 + resolution: "object-visit@npm:1.0.1" + dependencies: + isobject: ^3.0.0 + checksum: 3/8666727dbfb957676c0b093cde6d676ed6b847b234d98a4ed7f4d7f7e4b40c00af8067354d5c45052dc40c6830d68b68212c15c96dbcc286cdc96aca58faf548 + languageName: node + linkType: hard + +"object.assign@npm:^4.1.0": + version: 4.1.0 + resolution: "object.assign@npm:4.1.0" + dependencies: + define-properties: ^1.1.2 + function-bind: ^1.1.1 + has-symbols: ^1.0.0 + object-keys: ^1.0.11 + checksum: 3/92e20891ddf04d9974f7b178ae70d198727dcd638c8a5a422f07f730f40140c4fe02451cdc9c37e9f22392e5487b9162975003a9f20b16a87b9d13fe150cf62d + languageName: node + linkType: hard + +"object.entries@npm:^1.1.0, object.entries@npm:^1.1.1": + version: 1.1.1 + resolution: "object.entries@npm:1.1.1" + dependencies: + define-properties: ^1.1.3 + es-abstract: ^1.17.0-next.1 + function-bind: ^1.1.1 + has: ^1.0.3 + checksum: 3/8bc971e9742871e637875abfcdddc746201c3332b3c5e88916ca78d24392f6603da8f0bed09dcb637d481221c77f5f87cba6082b8b4a1c7a57285fcf643b7196 + languageName: node + linkType: hard + +"object.fromentries@npm:^2.0.2": + version: 2.0.2 + resolution: "object.fromentries@npm:2.0.2" + dependencies: + define-properties: ^1.1.3 + es-abstract: ^1.17.0-next.1 + function-bind: ^1.1.1 + has: ^1.0.3 + checksum: 3/58fa9edab136a299e81828842e0c2dd12df1985025f13e451a2c5609d8b16e4c7ebd2c574691f3b6edffb44ada8d5d12aef3b060ce1a65660b65e3202a7897a1 + languageName: node + linkType: hard + +"object.getownpropertydescriptors@npm:^2.0.3": + version: 2.1.0 + resolution: "object.getownpropertydescriptors@npm:2.1.0" + dependencies: + define-properties: ^1.1.3 + es-abstract: ^1.17.0-next.1 + checksum: 3/c33dcc3061b56ec4d9f6d30620a364a5218aba8f592662f5ce346fcf523eb0483bc865d3f52848e267217285d831ca0a3d85836787bef5f86ecfa29f77dc249e + languageName: node + linkType: hard + +"object.pick@npm:^1.3.0": + version: 1.3.0 + resolution: "object.pick@npm:1.3.0" + dependencies: + isobject: ^3.0.1 + checksum: 3/e22d555d3bb73c665a5baa1da7789d3a98f557d8712a9bbe34dc59d4adbce9d390245815296025de5260b18794de647401a6b2ae1ba0ab854a6710e2958291f6 + languageName: node + linkType: hard + +"object.values@npm:^1.1.0, object.values@npm:^1.1.1": + version: 1.1.1 + resolution: "object.values@npm:1.1.1" + dependencies: + define-properties: ^1.1.3 + es-abstract: ^1.17.0-next.1 + function-bind: ^1.1.1 + has: ^1.0.3 + checksum: 3/33e99ceb5cdb4c4b43372aa133ecb1d73d5cf73ebbbe9ec64f45cd39c87d0226ca88d6a354cd8b819fbde6b9ebbc7df1a6a093f91d2c951c51a07546f54fe33d + languageName: node + linkType: hard + +"obuf@npm:^1.0.0, obuf@npm:^1.1.2": + version: 1.1.2 + resolution: "obuf@npm:1.1.2" + checksum: 3/aa741387b0f5dc2b8addec7cd0e05448d8b2892b6e76e167e18a5b90f0b85bd4c9be4c7be01a354dee3353f5c3367b08006adb06e0737d6a8f1b88618147715a + languageName: node + linkType: hard + +"on-finished@npm:^2.3.0, on-finished@npm:~2.3.0": + version: 2.3.0 + resolution: "on-finished@npm:2.3.0" + dependencies: + ee-first: 1.1.1 + checksum: 3/362e64608287d31ffd96a15fb9305a410b3e4d07c86f277fae907e38af46bc6f5ff948de90eabb81dc5632ca7f9a290085acc5410c378053dfa9860451d97ee5 + languageName: node + linkType: hard + +"on-headers@npm:~1.0.2": + version: 1.0.2 + resolution: "on-headers@npm:1.0.2" + checksum: 3/51e75c80755169e765aa76238722e5ad1623f62b13bbc23544ade20cdbb6950cf0e6aa91de35d02ec956f47dc072ee460d8eef82354e4abf8fa692885cb3f2d8 + languageName: node + linkType: hard + +"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" + dependencies: + wrappy: 1 + checksum: 3/57afc246536cf6494437f982b26475f22bee860f8b77ce8eb1543f42a8bffe04b2c66ddfea9a16cb25ccb80943f8ee4fc639367ef97b7a6a4f2672eb573963f5 + languageName: node + linkType: hard + +"onetime@npm:^5.1.0": + version: 5.1.0 + resolution: "onetime@npm:5.1.0" + dependencies: + mimic-fn: ^2.1.0 + checksum: 3/1781c3cf88afbdea849f00fc42dbb560fecf27169135326d615aa2781ae9bdd5a59af82b21d9c3ed348424ec097d2b764b15b43b807d099230d7b8803335a482 + languageName: node + linkType: hard + +"only@npm:~0.0.2": + version: 0.0.2 + resolution: "only@npm:0.0.2" + checksum: 3/d9bb82243af05b7fccab253ad83d2e0053c4de4a1a7669d83a3a0f98af198a55f0d98cf51ccb58e9a2b67212598865e224c135cefe301846a3d7d3188245ebdb + languageName: node + linkType: hard + +"open@npm:^7.0.2": + version: 7.0.4 + resolution: "open@npm:7.0.4" + dependencies: + is-docker: ^2.0.0 + is-wsl: ^2.1.1 + checksum: 3/31c0fac223e8fc1b4c740ea75b508b8fb5ea8c6e1f99619222c090259e8694d3acf1a774971a8b3fac9ced3ebfa77bcb50d080a1364de4c864343dd6e8aa244f + languageName: node + linkType: hard + +"opn@npm:^5.5.0": + version: 5.5.0 + resolution: "opn@npm:5.5.0" + dependencies: + is-wsl: ^1.1.0 + checksum: 3/0ea3b6550fbbc530a57f958baf5d44253a435d67ad88b4af1df8b3a98693f7c70b71d72f29b09a02d15e94654ec3875aae8cf4fccbf8e4e326671a02f66058d3 + languageName: node + linkType: hard + +"optimize-css-assets-webpack-plugin@npm:5.0.3": + version: 5.0.3 + resolution: "optimize-css-assets-webpack-plugin@npm:5.0.3" + dependencies: + cssnano: ^4.1.10 + last-call-webpack-plugin: ^3.0.0 + peerDependencies: + webpack: ^4.0.0 + checksum: 3/8ecfdadfc587d4c9276375cb6f7c585c2f68192f8181a414046457b2129b4914442c8c8061fdf23b0fff27a1ed912c7836e11f03b787926050cd83f540790a84 + languageName: node + linkType: hard + +"optionator@npm:^0.8.1, optionator@npm:^0.8.3": + version: 0.8.3 + resolution: "optionator@npm:0.8.3" + dependencies: + deep-is: ~0.1.3 + fast-levenshtein: ~2.0.6 + levn: ~0.3.0 + prelude-ls: ~1.1.2 + type-check: ~0.3.2 + word-wrap: ~1.2.3 + checksum: 3/a5cdced2c92d2bf2b2338b7e29b871eb97987424f7b50d5446853f709f53c855714465ee4bf1842fed2a175445d78cd44376a16666e38ef90ebf4670173d98b8 + languageName: node + linkType: hard + +"original@npm:^1.0.0": + version: 1.0.2 + resolution: "original@npm:1.0.2" + dependencies: + url-parse: ^1.4.3 + checksum: 3/6918b9d4545917616aba3788ce3c8c47dc5bcc26b0a3dc7da68d9976ce4d09fd1172d249cbc8063ef3311ddfbc435ef7a48b753abc85f3b74e83cf0c8de9aae3 + languageName: node + linkType: hard + +"os-browserify@npm:^0.3.0": + version: 0.3.0 + resolution: "os-browserify@npm:0.3.0" + checksum: 3/f547c038810977579e11f35ff9aec4c6ac557369af7f4946d054da9e0dc180ffc1b5ef37c8c09b6004487c88c4a500c49ba9a109fbeab7dcb890fe1346b5f9b7 + languageName: node + linkType: hard + +"os-homedir@npm:^1.0.0": + version: 1.0.2 + resolution: "os-homedir@npm:1.0.2" + checksum: 3/725256246b2cec353250ec46442e3cfa7bc96ef92285d448a90f12f4bbd78c1bf087051b2cef0382da572e1a9ebc8aa24bd0940a3bdc633c3e3012eef1dc6848 + languageName: node + linkType: hard + +"os-locale@npm:^3.0.0": + version: 3.1.0 + resolution: "os-locale@npm:3.1.0" + dependencies: + execa: ^1.0.0 + lcid: ^2.0.0 + mem: ^4.0.0 + checksum: 3/50611551f032c5e7d938425263f1379093d6acae3c18448599801ee296fbb63a90460ec68ba26a721240322d6032b592c3a837212af2ca81f0a3104956925f68 + languageName: node + linkType: hard + +"os-tmpdir@npm:^1.0.0, os-tmpdir@npm:~1.0.2": + version: 1.0.2 + resolution: "os-tmpdir@npm:1.0.2" + checksum: 3/ca158a3c2e48748adc7736cdbe4c593723f8ed8581d2aae2f2a30fdb9417d4ba14bed1cd487d47561898a7b1ece88bce69745e9ce0303e1dea9ea7d22d1f1082 + languageName: node + linkType: hard + +"osenv@npm:^0.1.4": + version: 0.1.5 + resolution: "osenv@npm:0.1.5" + dependencies: + os-homedir: ^1.0.0 + os-tmpdir: ^1.0.0 + checksum: 3/1c7462808c5ff0c2816b11f2f46265a98c395586058f98d73a6deac82955744484b277baedceeb962c419f3b75d0831a77ce7cf38b9e4f20729943ba79d72b08 + languageName: node + linkType: hard + +"p-cancelable@npm:^1.0.0": + version: 1.1.0 + resolution: "p-cancelable@npm:1.1.0" + checksum: 3/01fdd9ac319f0e69e22c18d5b9e5f4dca62a0827d72349c73b0c88b07c760849de49201dcbe4fbbcbe61b4bdce8f4f3596cfbbfed664cf411ff1ab9a80664574 + languageName: node + linkType: hard + +"p-defer@npm:^1.0.0": + version: 1.0.0 + resolution: "p-defer@npm:1.0.0" + checksum: 3/ffaabb161334dd9b471f7136038c9322f5288fdd86e070d75a6c65f1b28893d5ef084d9b94401e285117da65906c2952a96404a45a57ecd010393445ac2b6159 + languageName: node + linkType: hard + +"p-each-series@npm:^1.0.0": + version: 1.0.0 + resolution: "p-each-series@npm:1.0.0" + dependencies: + p-reduce: ^1.0.0 + checksum: 3/3a8ed61be01368877ca1f632412fd781aa8bc0e9ab6469f0f10074887c1684f38b24e6f2a1479ad7edb5581800dc0aed5b41bfdf194a95c370bcb942ae7f881b + languageName: node + linkType: hard + +"p-each-series@npm:^2.1.0": + version: 2.1.0 + resolution: "p-each-series@npm:2.1.0" + checksum: 3/cc7516dbb8330eb09d3de44df4bba3c4a1b37ed711a3a4a25acef67f262e2a7400e1df1497e947ba505b1773fc2e2bf9e087d15676d511055659c21ed3e3eb3a + languageName: node + linkType: hard + +"p-finally@npm:^1.0.0": + version: 1.0.0 + resolution: "p-finally@npm:1.0.0" + checksum: 3/01f49b2d9c67573b3a1cb253cd9e1ecf5c912b6ba5de8824118bbc8d647bfa6296820b5a536e91ec68a54395d4e1c58de9a381ded3b688074fb446a8fe351931 + languageName: node + linkType: hard + +"p-is-promise@npm:^2.0.0": + version: 2.1.0 + resolution: "p-is-promise@npm:2.1.0" + checksum: 3/4a15137df9aebb9f91ea9a5d517bbfbbdcadfb56787f0f17cbc8802fc37a2e84239a7e52d6b27fdc212acd2fd428cc8506bd88f1d7d56720c591d43eed8c1d6e + languageName: node + linkType: hard + +"p-limit@npm:^1.1.0": + version: 1.3.0 + resolution: "p-limit@npm:1.3.0" + dependencies: + p-try: ^1.0.0 + checksum: 3/579cbd3d6c606058aa624c464e2cb3c4b56d04ed4cbafdb705633cbe62ba36d77ba2c4289023335ba382f4fbf32c15709465eea18a0e1547c5ebc4b887f2a7da + languageName: node + linkType: hard + +"p-limit@npm:^2.0.0, p-limit@npm:^2.2.0, p-limit@npm:^2.2.2": + version: 2.3.0 + resolution: "p-limit@npm:2.3.0" + dependencies: + p-try: ^2.0.0 + checksum: 3/5f20492a25c5f93fca2930dbbf41fa1bee46ef70eaa6b49ad1f7b963f309e599bc40507e0a3a531eee4bcd10fec4dd4a63291d0e3b2d84ac97d7403d43d271a9 + languageName: node + linkType: hard + +"p-locate@npm:^2.0.0": + version: 2.0.0 + resolution: "p-locate@npm:2.0.0" + dependencies: + p-limit: ^1.1.0 + checksum: 3/b6dabbd855fba9bfa74b77882f96d0eac6c25d9966e61ab0ed7bf3d19f2e3b766f290ded1aada1ac4ce2627217b00342cf7a1d36482bada59ba6789be412dad7 + languageName: node + linkType: hard + +"p-locate@npm:^3.0.0": + version: 3.0.0 + resolution: "p-locate@npm:3.0.0" + dependencies: + p-limit: ^2.0.0 + checksum: 3/3ee9e3ed0b1b543f8148ef0981d33013d82a21c338b117a2d15650456f8dc888c19eb8a98484e7e159276c3ad9219c3e2a00b63228cab46bf29aeaaae096b1d6 + languageName: node + linkType: hard + +"p-locate@npm:^4.1.0": + version: 4.1.0 + resolution: "p-locate@npm:4.1.0" + dependencies: + p-limit: ^2.2.0 + checksum: 3/57f9abef0b29f02ff88c0936a392c9a1fbdd08169e636e0d85b7407c108014d71578c0c6fe93fa49b5bf3857b20d6f16b96389e2b356f7f599d4d2150505844f + languageName: node + linkType: hard + +"p-map@npm:^2.0.0": + version: 2.1.0 + resolution: "p-map@npm:2.1.0" + checksum: 3/8557e841ed832a489aaee7d825b7bea73e0559c452578821f5af418f430a8455727ab8dd5b4318b6b6733096029cfa571aa0e8d21bdd2c213025f02f919f7a9a + languageName: node + linkType: hard + +"p-map@npm:^3.0.0": + version: 3.0.0 + resolution: "p-map@npm:3.0.0" + dependencies: + aggregate-error: ^3.0.0 + checksum: 3/f7ce4709f432323a11f7c808f96add4104774cb7ba88cc9a92b6b5b8ea8a7fa977d28c4e5619669f9cf1315e889769843c6a4772155b08dadbd20d504e4ce2a7 + languageName: node + linkType: hard + +"p-reduce@npm:^1.0.0": + version: 1.0.0 + resolution: "p-reduce@npm:1.0.0" + checksum: 3/d85bfa41e71746000345eeaa1f17753fa4247b20b703a4c59e0bbf403914060901a823777a55b676897271d1be61b2669553adf31d9bdc3736fe2ff87e9b74cf + languageName: node + linkType: hard + +"p-retry@npm:^3.0.1": + version: 3.0.1 + resolution: "p-retry@npm:3.0.1" + dependencies: + retry: ^0.12.0 + checksum: 3/26c888de4e64e62e9b6112219fae2c2f45ddc2face5d6c7c98e1b8762bcd4a54bea4f50cdff275b2ee5ebb11b633bfb16f4dd473ecd4d07081385cb716e961cf + languageName: node + linkType: hard + +"p-try@npm:^1.0.0": + version: 1.0.0 + resolution: "p-try@npm:1.0.0" + checksum: 3/85739d77b3e9f6a52a8545f1adc53621fb5df4d6ef9b59a3f54f3f3159b45c4100d4e63128a1e790e9ff8ff8b86213ace314ff6d2d327c3edcceea18891baa42 + languageName: node + linkType: hard + +"p-try@npm:^2.0.0": + version: 2.2.0 + resolution: "p-try@npm:2.2.0" + checksum: 3/20983f3765466c1ab617ed153cb53b70ac5df828d854a3334d185e20b37f436e9096f12bc1b7fc96d8908dc927a3685172d3d89e755774f57b7103460c54dcc5 + languageName: node + linkType: hard + +"package-json@npm:^6.3.0": + version: 6.5.0 + resolution: "package-json@npm:6.5.0" + dependencies: + got: ^9.6.0 + registry-auth-token: ^4.0.0 + registry-url: ^5.0.0 + semver: ^6.2.0 + checksum: 3/3023e318de5d76bbd650aedd3671b452cb1e018c4d99b72955dde0f22c6ba765c3f6d678ab0ee45e2561842e8399b1fea77a0730dc93c39505e7ebfed7ab2818 + languageName: node + linkType: hard + +"packet-reader@npm:1.0.0": + version: 1.0.0 + resolution: "packet-reader@npm:1.0.0" + checksum: 3/fdbf006717eeb21d21398ed264de33d9bc024c78d1ae3828661f13da242d393188bbee470d48135ec6abebbc370b2642da646e43ead06837a7dff53819da4107 + languageName: node + linkType: hard + +"pako@npm:~1.0.5": + version: 1.0.11 + resolution: "pako@npm:1.0.11" + checksum: 3/71c60150b68220ec52a404f3c39a4ed38f750e42452b88fe0eb2e6b5c98e91f73f706444359b097aca1e6db83ef8fef50b5a9ec100e30a606cda6da8d45e5439 + languageName: node + linkType: hard + +"parallel-transform@npm:^1.1.0": + version: 1.2.0 + resolution: "parallel-transform@npm:1.2.0" + dependencies: + cyclist: ^1.0.1 + inherits: ^2.0.3 + readable-stream: ^2.1.5 + checksum: 3/65170af2e76b0d9305a1b8143e7aaa7fd0f726a038315fab7b8a92773a446d35623bc56bbac0ee4e6feb6757243c30408e1cd93da499fa44008fa7f9ded0c6c8 + languageName: node + linkType: hard + +"param-case@npm:^3.0.3": + version: 3.0.3 + resolution: "param-case@npm:3.0.3" + dependencies: + dot-case: ^3.0.3 + tslib: ^1.10.0 + checksum: 3/ef57facfaf282f6c074e565e26738e7bb043882aea9a4a575b0568d74f003ab8a1c69555d81773d25413287f079a367aa26a9518b3d5b25f2f17b4952a647f40 + languageName: node + linkType: hard + +"parent-module@npm:^1.0.0": + version: 1.0.1 + resolution: "parent-module@npm:1.0.1" + dependencies: + callsites: ^3.0.0 + checksum: 3/58714b9699f8e84340aaf0781b7cbd82f1c357f6ce9c035c151d0e8c1e9b869c51b95b680882f0d21b4751e817a6c936d4bb2952a1a1d9d9fb27e5a84baec2aa + languageName: node + linkType: hard + +"parse-asn1@npm:^5.0.0, parse-asn1@npm:^5.1.5": + version: 5.1.5 + resolution: "parse-asn1@npm:5.1.5" + dependencies: + asn1.js: ^4.0.0 + browserify-aes: ^1.0.0 + create-hash: ^1.1.0 + evp_bytestokey: ^1.0.0 + pbkdf2: ^3.0.3 + safe-buffer: ^5.1.1 + checksum: 3/7c76cbaf48cc8d7ebf1ef4b9811630822eee2832a704aa4153b6935178d055604c90f21efdb5797acdd25c5da781d526fc811acf56d5370633d55e27d4648658 + languageName: node + linkType: hard + +"parse-github-repo-url@npm:^1.3.0": + version: 1.4.1 + resolution: "parse-github-repo-url@npm:1.4.1" + checksum: 3/9ee4bc572bda5da4f4112153f0b34800c3e67f666b9dcffb8049de5fd073e4becf99dccdcdb1eff00e4a146ce280eb09eee96bca1362bf3345065a472965ece2 + languageName: node + linkType: hard + +"parse-json@npm:^2.2.0": + version: 2.2.0 + resolution: "parse-json@npm:2.2.0" + dependencies: + error-ex: ^1.2.0 + checksum: 3/920582196a8edebb3d3c4623b2f057987218272b35ae4d2d310c00bc1bd7e89b87c79358d7e009d54f047ca2eea82eab8d7e1b14e1f7cbbb345ef29fcda29731 + languageName: node + linkType: hard + +"parse-json@npm:^4.0.0": + version: 4.0.0 + resolution: "parse-json@npm:4.0.0" + dependencies: + error-ex: ^1.3.1 + json-parse-better-errors: ^1.0.1 + checksum: 3/fa9d23708f562c447f2077c6007938334a16e772c5a9b25a6eb1853d792bc34560b483bb6079143040bc89e5476288dd2edd5a60024722986e3e434d326218c9 + languageName: node + linkType: hard + +"parse-json@npm:^5.0.0": + version: 5.0.0 + resolution: "parse-json@npm:5.0.0" + dependencies: + "@babel/code-frame": ^7.0.0 + error-ex: ^1.3.1 + json-parse-better-errors: ^1.0.1 + lines-and-columns: ^1.1.6 + checksum: 3/9c46eb0c388df4333eaa4feb996deae32f32ab447723abe48fdc6756bce863cf46009d56485fde0178bfe3ac9002ef0c3540ff4b278ad3ada2abc12186413eb8 + languageName: node + linkType: hard + +"parse5@npm:4.0.0": + version: 4.0.0 + resolution: "parse5@npm:4.0.0" + checksum: 3/05a06f5bb3e67eede77d5bef314229e23f98e607d10e76c1c1f650bc9831e3e8407c2fe297ee66a7b055e46a9a479bbb68bd0e7de89a640e76ef20dced1cd0c9 + languageName: node + linkType: hard + +"parse5@npm:5.1.0": + version: 5.1.0 + resolution: "parse5@npm:5.1.0" + checksum: 3/f82ab2581011704c1dd3f56fa9509904a169d06bee8d4154d40a774335ad158bc59693c6620d29093252ad120521302ff25b257bcc9aebbe12453f74659a5d65 + languageName: node + linkType: hard + +"parse5@npm:5.1.1": + version: 5.1.1 + resolution: "parse5@npm:5.1.1" + checksum: 3/fad72ff5010ee8a6f0a38b83fc886b71a54d746d5c4ff5aad74d6ba1fe87b9606585bf32aa200b015ce329e0906f50f2851f29876abeacd5c13567c7a0455362 + languageName: node + linkType: hard + +"parseurl@npm:^1.3.2, parseurl@npm:^1.3.3, parseurl@npm:~1.3.2, parseurl@npm:~1.3.3": + version: 1.3.3 + resolution: "parseurl@npm:1.3.3" + checksum: 3/52c9e86cb58e38b28f1a50a6354d16648974ab7a2b91b209f97102840471de8adf524427774af6d5bc482fb7c0a6af6ba08ab37de9a1a7ae389ebe074015914b + languageName: node + linkType: hard + +"pascal-case@npm:^3.1.1": + version: 3.1.1 + resolution: "pascal-case@npm:3.1.1" + dependencies: + no-case: ^3.0.3 + tslib: ^1.10.0 + checksum: 3/56f66aea7f8c06f3e8b9e70c48c3019dcd8c3e5f218be905b4aba84c5880baf58dcb517bbf1becac3628e17c09b6c3bd35428a9e519343e5f04e50dd0d17c5f5 + languageName: node + linkType: hard + +"pascalcase@npm:^0.1.1": + version: 0.1.1 + resolution: "pascalcase@npm:0.1.1" + checksum: 3/268a9dbf9cd934fcd0ba02733b7d6176834b13a608bbcd295550636b3c6371a6047875175b457e705b283e81ec171884c9cd86d1fd6c49f70f66fbc3783dc0c1 + languageName: node + linkType: hard + +"path-browserify@npm:0.0.1": + version: 0.0.1 + resolution: "path-browserify@npm:0.0.1" + checksum: 3/b7be4bcc030b6cca2f2093d776af57d508a781afb7a72bb2214e93559a57d9265c23f5ded45ae74f25ffe1dfaed98281685f86e1210cd3b68b85a3a217c45922 + languageName: node + linkType: hard + +"path-dirname@npm:^1.0.0": + version: 1.0.2 + resolution: "path-dirname@npm:1.0.2" + checksum: 3/4af73745fd97680c95b356b88450cd4c21d6825d0580620331382a6c910b76b3ced4aa2c4ddc2953d938bd758906b3d3aa2f56a2f601ec52763ed2cbbfc0106b + languageName: node + linkType: hard + +"path-exists@npm:^2.0.0": + version: 2.1.0 + resolution: "path-exists@npm:2.1.0" + dependencies: + pinkie-promise: ^2.0.0 + checksum: 3/71664885c56b48b543b0ccf2fca9d06c022ad88b6431a8d7c32ad8cba94a8e457b31cfc0ceeee7417be31d8e59574b1cb4a4551cb1efffb91f64f74034daea3d + languageName: node + linkType: hard + +"path-exists@npm:^3.0.0": + version: 3.0.0 + resolution: "path-exists@npm:3.0.0" + checksum: 3/09683e92bafb5657838217cce04e4f2f0530c274bc357c995c3231461030566e9f322b9a8bcc1ea810996e250d9a293ca36dd78dbdd6bfbee42e85a94772d6d5 + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 3/6ab15000c5bea4f3e6e6b651983276e27ee42907ea29f5bd68f0d5c425c22f1664ab53c355099723f59b0bfd31aa52d29ea499e1843bf62543e045698f4c77b2 + languageName: node + linkType: hard + +"path-is-absolute@npm:^1.0.0": + version: 1.0.1 + resolution: "path-is-absolute@npm:1.0.1" + checksum: 3/907e1e3e6ac0aef6e65adffd75b3892191d76a5b94c5cf26b43667c4240531d11872ca6979c209b2e5e1609f7f579d02f64ba9936b48bb59d36cc529f0d965ed + languageName: node + linkType: hard + +"path-is-inside@npm:^1.0.2": + version: 1.0.2 + resolution: "path-is-inside@npm:1.0.2" + checksum: 3/9c1841199d18398ee5f6d79f57eaa57f8eb85743353ea97c6d933423f246f044575a10c1847c638c36440b050aef82665b9cb4fc60950866cd239f3d51835ef4 + languageName: node + linkType: hard + +"path-key@npm:^2.0.0, path-key@npm:^2.0.1": + version: 2.0.1 + resolution: "path-key@npm:2.0.1" + checksum: 3/7dc807a2baa11d6bc0fca72148a0a0ca69ab73d98fbe42e10d22764d1ef547767f2b4ff827c6bc66e733388cd8d54297a45a39499825b9fdfd18959202384029 + languageName: node + linkType: hard + +"path-key@npm:^3.0.0, path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 3/e44aa3ca9faed0440994883050143b1214fffb907bf3a7bbdba15dc84f60821617c0d84e4cc74e1d84e9274003da50427f54d739b0b47636bcbaff4ec71b9b86 + languageName: node + linkType: hard + +"path-parse@npm:^1.0.6": + version: 1.0.6 + resolution: "path-parse@npm:1.0.6" + checksum: 3/2eee4b93fb3ae13600e3fca18390d9933bbbcf725a624f6b8df020d87515a74872ff6c58072190d6dc75a5584a683dc6ae5c385ad4e4f4efb6e66af040d56c67 + languageName: node + linkType: hard + +"path-to-regexp@npm:0.1.7": + version: 0.1.7 + resolution: "path-to-regexp@npm:0.1.7" + checksum: 3/342fdb0ca48415d6eccdbe6d4180fd0fa4786ccc96ab3f74fcdf7acfc99e075af25e6077c8086c341dcfb4f5f84401ecd21e6cd7b24e0c3b556fb7ffb2570da7 + languageName: node + linkType: hard + +"path-to-regexp@npm:^4.0.0": + version: 4.0.5 + resolution: "path-to-regexp@npm:4.0.5" + checksum: 3/c7e86d3eb5c4e54e1866b6f8305ac159c7215368268c32806f198815c034242da88d06c681a0c9287982c2e425045e2fd0179891fb308378a82ff03159240d2a + languageName: node + linkType: hard + +"path-type@npm:^1.0.0": + version: 1.1.0 + resolution: "path-type@npm:1.1.0" + dependencies: + graceful-fs: ^4.1.2 + pify: ^2.0.0 + pinkie-promise: ^2.0.0 + checksum: 3/c6ac7d4c7d613331ae1837a10c96a0f4fe76dc9273f98e37ce589c06b7ea6f811479ac735dbae06327d93cc6340d0cba944e9d38b0365b7b0bc0438f3fb242e0 + languageName: node + linkType: hard + +"path-type@npm:^2.0.0": + version: 2.0.0 + resolution: "path-type@npm:2.0.0" + dependencies: + pify: ^2.0.0 + checksum: 3/d028f828dffe48a0062dc4370d5118a0c45f5fb075b013a1dfb13eadd1426eba0c8c2a13fa78f19fc4fd8771ef2012e9d062f8f970c8e56df36d4fbbe5073b26 + languageName: node + linkType: hard + +"path-type@npm:^3.0.0": + version: 3.0.0 + resolution: "path-type@npm:3.0.0" + dependencies: + pify: ^3.0.0 + checksum: 3/db700bfc22254b38d0c8378440ec8b7b869f5d0b946d02abd281bcc6ea456a573167a8a80dd8280848998bb9739c2009f80bcf0dbf5c9d75ab18650e07fb893f + languageName: node + linkType: hard + +"path-type@npm:^4.0.0": + version: 4.0.0 + resolution: "path-type@npm:4.0.0" + checksum: 3/ef5835f2eb47e4d06004c7ec7bd51175c0455eaecd5ee99a9774bca5ef43242616e25b44ccc0ba86a0bf42b9f197550fcc0dfa7580e5ff9dca53c035e9bd86a9 + languageName: node + linkType: hard + +"pbkdf2@npm:^3.0.3": + version: 3.0.17 + resolution: "pbkdf2@npm:3.0.17" + 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 + checksum: 3/6a5ad5bb8f70d3d1f7f9a022afdc39809e20562c1f4aed424881c1a9fddf3ff15073c9d952000f13cdee885e04b0f2b4b748abac6b813a36717641ef4993cdf0 + languageName: node + linkType: hard + +"performance-now@npm:^2.1.0": + version: 2.1.0 + resolution: "performance-now@npm:2.1.0" + checksum: 3/bb4ebed0b03d6c3ad3ae4eddd1182c895d385cff9096af441c19c130aaae3ea70229438ebc3297dfc52c86022f6becf177a810050823d01bf5280779cd2de624 + languageName: node + linkType: hard + +"pg-connection-string@npm:^2.2.3": + version: 2.2.3 + resolution: "pg-connection-string@npm:2.2.3" + checksum: 3/d60ff02f4fe9963ba39b60fde9e6925181851cedced0d1618c7e4cd304f44e4ed3f83371c952e15aa94af08e31e248975f4bfb412431854d21cb8be618b06d6e + languageName: node + linkType: hard + +"pg-int8@npm:1.0.1": + version: 1.0.1 + resolution: "pg-int8@npm:1.0.1" + checksum: 3/b18c3a18e56a4f6de7c3c9df384a7ae47e7a3333ce1f36d324649116dfef4767ba01413993b12aa573ac44da1912d58cc6959eeb1c0f53a4ddb58861d1342a89 + languageName: node + linkType: hard + +"pg-minify@npm:~1.6.0": + version: 1.6.0 + resolution: "pg-minify@npm:1.6.0" + checksum: 3/c72c02690a6e8260309f7d4cbb78231cb16eb911444238d25fd627fcd4ddf0f5c3a59f8b7ecaeb00b40afed756ff25b6f7407ceda0b319479a265f8443afe868 + languageName: node + linkType: hard + +"pg-pool@npm:^3.2.1": + version: 3.2.1 + resolution: "pg-pool@npm:3.2.1" + peerDependencies: + pg: ">=8.0" + checksum: 3/626e876971c7ef6d4f2b9e7cf858bda3ec30fd18761cc31e576d62451b7ad08ba5ea04916b49c13366a1fe11e652cabb01027e9504b68fe11b0113b8207d564e + languageName: node + linkType: hard + +"pg-protocol@npm:^1.2.4": + version: 1.2.4 + resolution: "pg-protocol@npm:1.2.4" + checksum: 3/3cdb37af386873a85f548fa93b2b8ca6c12ce0deb9f6444e3fc1b6f779c73190ac0a67ca7dbee17da914e36e23830c70cc20e5ca708d29bcbb0f87e2160d9dbe + languageName: node + linkType: hard + +"pg-sql2@4.7.0, pg-sql2@workspace:packages/pg-sql2": + version: 0.0.0-use.local + resolution: "pg-sql2@workspace:packages/pg-sql2" + dependencies: + "@graphile/lru": 4.6.0-alpha.0 + "@types/debug": 4.1.5 + "@types/jest": ^25.2.3 + "@types/node": 14.0.1 + jest: ^26.0.1 + markdown-doctest: ^1.0.0 + ts-node: ^8.10.1 + tslib: ^2.0.0 + typescript: ^3.9.2 + languageName: unknown + linkType: soft + +"pg-types@npm:^2.1.0": + version: 2.2.0 + resolution: "pg-types@npm:2.2.0" + dependencies: + pg-int8: 1.0.1 + postgres-array: ~2.0.0 + postgres-bytea: ~1.0.0 + postgres-date: ~1.0.4 + postgres-interval: ^1.1.0 + checksum: 3/3c36335465f058de7b075aab93b3db73ae651d6b0f618948aeb47fab74e064d4d9bd183cdaaf172ebcf9496999b2c6e83ae29048a84757eb30eab486aeb6723b + languageName: node + linkType: hard + +"pg@npm:8.2.1, pg@npm:^8.2.1": + version: 8.2.1 + resolution: "pg@npm:8.2.1" + dependencies: + buffer-writer: 2.0.0 + packet-reader: 1.0.0 + pg-connection-string: ^2.2.3 + pg-pool: ^3.2.1 + pg-protocol: ^1.2.4 + pg-types: ^2.1.0 + pgpass: 1.x + semver: 4.3.2 + checksum: 3/f3ae953989304c95b168e68c820461f30f2dd5247500ce234509ba481b746112cd0241d95f58fe60e3cb6bc68b252d3c4dd349ddd9570c452b2d37cc1a0dc74f + languageName: node + linkType: hard + +"pgpass@npm:1.x": + version: 1.0.2 + resolution: "pgpass@npm:1.0.2" + dependencies: + split: ^1.0.0 + checksum: 3/a3cdfddbae177c862c72c492a614e0d4197b0c580b80c11e16cc69969cc3f2b31299a77c1d9b6296ae8a6d673f162e05007cc2de878973ea7cee86bb7164cb18 + languageName: node + linkType: hard + +"picomatch@npm:^2.0.4, picomatch@npm:^2.0.5, picomatch@npm:^2.2.1": + version: 2.2.2 + resolution: "picomatch@npm:2.2.2" + checksum: 3/20fa75e0a58b39d83425b3db68744d5f6f361fd4fd66ec7745d884036d502abba0d553a637703af79939b844164b13e60eea339ccb043d7fbd74c3da2592b864 + languageName: node + linkType: hard + +"pify@npm:^2.0.0, pify@npm:^2.3.0": + version: 2.3.0 + resolution: "pify@npm:2.3.0" + checksum: 3/d5758aa570bbd5969c62b5f745065006827ef4859b32af302e3df2bb5978e6c1e50c2360d7ffefa102e451084f4530115c84570c185ba5153ee9871c977fe278 + languageName: node + linkType: hard + +"pify@npm:^3.0.0": + version: 3.0.0 + resolution: "pify@npm:3.0.0" + checksum: 3/18af2b29148c4d6fd4c7741dbd953ff76beea17d1b4a6d5792d7ff1d7202f43671c3f29313aa5ec01a66d050dbdbb0cf23f17de69531da8dc8bda42d327cf960 + languageName: node + linkType: hard + +"pify@npm:^4.0.1": + version: 4.0.1 + resolution: "pify@npm:4.0.1" + checksum: 3/786486a8c94a7e1980ea56c59dcc05ebf0793740b71df9b9f273e48032e6301c5ecc5cc237c5a9ff45b13db27678b4d71aa37a2777bc11473c1310718b648e98 + languageName: node + linkType: hard + +"pinkie-promise@npm:^2.0.0": + version: 2.0.1 + resolution: "pinkie-promise@npm:2.0.1" + dependencies: + pinkie: ^2.0.0 + checksum: 3/1e32e05ffdfb691b04a42d05d5452698853099efe1bab70bfa538e9a793e609b66cc59180cc5fc2158062a2fc5991c9c268a82b2b655247aa005020167e31d75 + languageName: node + linkType: hard + +"pinkie@npm:^2.0.0": + version: 2.0.4 + resolution: "pinkie@npm:2.0.4" + checksum: 3/2cb484c9da47b2f420fddffe7cbfeac950106a848343d147c2b2668d12b71aa3d09297bfe37ec32539a27c6dc7db414414f5ee166d6b2ca0d95f6dfe9dde60d7 + languageName: node + linkType: hard + +"pino-std-serializers@npm:^2.4.2": + version: 2.4.2 + resolution: "pino-std-serializers@npm:2.4.2" + checksum: 3/85526a9b35f268bf744e3b9cdb032fb8bcf9aebc6ece2ed04fb0340e7571bea8a48a5f8a7cef1791fffd6bbab7e1f1ff831a072f6c21dd48500d66f50e165f3c + languageName: node + linkType: hard + +"pino@npm:^5.17.0": + version: 5.17.0 + resolution: "pino@npm:5.17.0" + dependencies: + fast-redact: ^2.0.0 + fast-safe-stringify: ^2.0.7 + flatstr: ^1.0.12 + pino-std-serializers: ^2.4.2 + quick-format-unescaped: ^3.0.3 + sonic-boom: ^0.7.5 + bin: + pino: bin.js + checksum: 3/31650510c227c27a56c7fd6405649ad88e0434238a3be57d540edc0208e497c1990b3a60f1a7f9b32963172c801e619a5bb8c6100d51152168e86aacacaab056 + languageName: node + linkType: hard + +"pirates@npm:^4.0.1": + version: 4.0.1 + resolution: "pirates@npm:4.0.1" + dependencies: + node-modules-regexp: ^1.0.0 + checksum: 3/21604008c36ab6e14ac458e1a267dd7322cfd36b9e1042e9e277dd064582717e30b9aba8c0a47d738bf004ee7946ed27f6b982d30968534f2c6b5b168a52b555 + languageName: node + linkType: hard + +"pkg-dir@npm:^1.0.0": + version: 1.0.0 + resolution: "pkg-dir@npm:1.0.0" + dependencies: + find-up: ^1.0.0 + checksum: 3/bde536bc8f27a677514cd63de9eeb0af09666820699a7bded5aa51789a016991cb72a835612442201a4ba6f4a9646ea524c6e14507ef2ecdb8553f99dd7ec622 + languageName: node + linkType: hard + +"pkg-dir@npm:^2.0.0": + version: 2.0.0 + resolution: "pkg-dir@npm:2.0.0" + dependencies: + find-up: ^2.1.0 + checksum: 3/f8ae3a151714c61283aeb24385b10355a238732fab822a560145c670c21350da2024f01918231222bcdfce53ec5d69056681be2c2cffe3f3a06e462b9ef2ac29 + languageName: node + linkType: hard + +"pkg-dir@npm:^3.0.0": + version: 3.0.0 + resolution: "pkg-dir@npm:3.0.0" + dependencies: + find-up: ^3.0.0 + checksum: 3/f29a7d0134ded2c5fb71eb9439809a415d4b79bd4648581486361a83e0dcca392739603de268410c154f44c60449f3e0855bda65bfb3256f0726a88e91699d8f + languageName: node + linkType: hard + +"pkg-dir@npm:^4.1.0, pkg-dir@npm:^4.2.0": + version: 4.2.0 + resolution: "pkg-dir@npm:4.2.0" + dependencies: + find-up: ^4.0.0 + checksum: 3/1956ebf3cf5cc36a5d20e93851fcadd5a786774eb08667078561e72e0ab8ace91fc36a028d5305f0bfe7c89f9bf51886e2a3c8cb2c2620accfa3feb8da3c256b + languageName: node + linkType: hard + +"pkg-up@npm:3.1.0, pkg-up@npm:^3.1.0": + version: 3.1.0 + resolution: "pkg-up@npm:3.1.0" + dependencies: + find-up: ^3.0.0 + checksum: 3/df82763250b5283c175918f9410f9651afc1750f951249b31c7c49a6918d9faf13a9ef11e9355cbb0d4d5039a5c9d4c7162755b3e6c26235d2e3baea086e4a54 + languageName: node + linkType: hard + +"pkg-up@npm:^2.0.0": + version: 2.0.0 + resolution: "pkg-up@npm:2.0.0" + dependencies: + find-up: ^2.1.0 + checksum: 3/0a8fcbebf0f1aadc7a52c576352a698abef6c389cb00a0847db2d370d05d4c005f855e196d29618b088062f1394711ca6dadd232692ed225511d7e75a198d246 + languageName: node + linkType: hard + +"pluralize@npm:^7.0.0": + version: 7.0.0 + resolution: "pluralize@npm:7.0.0" + checksum: 3/d35d8aeda1eb2f81123131e76ed0f2f48d681abfa4c46e4c6fdd6dca622650c8bd531aa0c5a3c7f779bd9660d08ceb51660e1f55def4bd14328ecfa76fe69962 + languageName: node + linkType: hard + +"pn@npm:^1.1.0": + version: 1.1.0 + resolution: "pn@npm:1.1.0" + checksum: 3/7df19be13c86dfab22e8484590480e49d496b270430a731be0bb40cea8a16c29e45188a7303d7c57b7140754f807877b0c10aa95400ad30a7ad4fb3f7d132381 + languageName: node + linkType: hard + +"pnp-webpack-plugin@npm:1.6.4, pnp-webpack-plugin@npm:^1.6.4": + version: 1.6.4 + resolution: "pnp-webpack-plugin@npm:1.6.4" + dependencies: + ts-pnp: ^1.1.6 + checksum: 3/39a484182f8fc08cb1420d4a5ccf16457c6498a4546bfbad9e00df7238ba7d98796e9aa6f82a4e803a627860409ffed491a55c5a1384e09bed60cefeb618586d + languageName: node + linkType: hard + +"portfinder@npm:^1.0.25": + version: 1.0.26 + resolution: "portfinder@npm:1.0.26" + dependencies: + async: ^2.6.2 + debug: ^3.1.1 + mkdirp: ^0.5.1 + checksum: 3/a766497a3da0a8661067884828ccfa2089f0105ab6d617978bf9120e472f0610288c14cefcf188dfa94c0eee701c4f92c93a4581e85547b69b6bf2361adc5419 + languageName: node + linkType: hard + +"posix-character-classes@npm:^0.1.0": + version: 0.1.1 + resolution: "posix-character-classes@npm:0.1.1" + checksum: 3/984f83c2d4dec5abb9a6ac2b4a184132a58c4af9ce25704bfda2be6e8139335673c45d959ef6ffea3756dc88d3a0cb27c745a84d875ae5142b76e661a37a5f0e + languageName: node + linkType: hard + +"postcss-attribute-case-insensitive@npm:^4.0.1": + version: 4.0.2 + resolution: "postcss-attribute-case-insensitive@npm:4.0.2" + dependencies: + postcss: ^7.0.2 + postcss-selector-parser: ^6.0.2 + checksum: 3/0de786320f06795664431b32ed65bb29aa895140b75504e95d5e94ff89b713fba365bf319ac82a02958c70b923a778a64e4f07d5444a953fc0f1ced544fbcae5 + languageName: node + linkType: hard + +"postcss-browser-comments@npm:^3.0.0": + version: 3.0.0 + resolution: "postcss-browser-comments@npm:3.0.0" + dependencies: + postcss: ^7 + peerDependencies: + browserslist: ^4 + checksum: 3/5b15cad45c572ebd1a2abad087f8bd577749dc1edbab6c6f83cc7d8c3e95a8c113798258f4bde4713c304802cdf263a67d3e96a668f37854624650c1a3ec7f3a + languageName: node + linkType: hard + +"postcss-calc@npm:^7.0.1": + version: 7.0.2 + resolution: "postcss-calc@npm:7.0.2" + dependencies: + postcss: ^7.0.27 + postcss-selector-parser: ^6.0.2 + postcss-value-parser: ^4.0.2 + checksum: 3/173aded9a23cad2df1fe5d4f2f352b59447d0f772fddadb7867fd22a9b1069e09b2dd1845d3d8aefe67f307fa3f7befd755d9e5c1249a9ccfa8461b9a64f908f + languageName: node + linkType: hard + +"postcss-color-functional-notation@npm:^2.0.1": + version: 2.0.1 + resolution: "postcss-color-functional-notation@npm:2.0.1" + dependencies: + postcss: ^7.0.2 + postcss-values-parser: ^2.0.0 + checksum: 3/8f83bde47bc0d7d1b97ed1c8b93892698b26735b8dcd9bcac8322e362d544af39c85eea28a7d3a37ce16daaec793ae2b6c01da41541675d67fd83bded691b6bd + languageName: node + linkType: hard + +"postcss-color-gray@npm:^5.0.0": + version: 5.0.0 + resolution: "postcss-color-gray@npm:5.0.0" + dependencies: + "@csstools/convert-colors": ^1.4.0 + postcss: ^7.0.5 + postcss-values-parser: ^2.0.0 + checksum: 3/99c885049caf46b0bf2fe46d4c43c3c5ddf137c3383adf0fe355e17ffee5321c519e962fdbf2b9d0276eb33109864375baca28032a08ce8dad82db629954a7e8 + languageName: node + linkType: hard + +"postcss-color-hex-alpha@npm:^5.0.3": + version: 5.0.3 + resolution: "postcss-color-hex-alpha@npm:5.0.3" + dependencies: + postcss: ^7.0.14 + postcss-values-parser: ^2.0.1 + checksum: 3/99e8a9457ce0aa090a4d7e5227bae484a845ff706875d9acbf0304a8f4d669a440d2edead50cd9096df516eae7fa603f4b61e35d33989f2b3ced4f2e8bea6113 + languageName: node + linkType: hard + +"postcss-color-mod-function@npm:^3.0.3": + version: 3.0.3 + resolution: "postcss-color-mod-function@npm:3.0.3" + dependencies: + "@csstools/convert-colors": ^1.4.0 + postcss: ^7.0.2 + postcss-values-parser: ^2.0.0 + checksum: 3/dd484df73c5623bd8cb27d9f465b858f7334ec739e3914fe000b823130c269af105caec81fc0b3280b377954b91ee6606769ebde78833bf9b0b786574baad75e + languageName: node + linkType: hard + +"postcss-color-rebeccapurple@npm:^4.0.1": + version: 4.0.1 + resolution: "postcss-color-rebeccapurple@npm:4.0.1" + dependencies: + postcss: ^7.0.2 + postcss-values-parser: ^2.0.0 + checksum: 3/a6fcc16f2a89ecd5a8258a4d24122e49a58b63bb657fcfaef73c36bd27d766c28a36c895667901afcfaa283def229042306245fab11ea81e29d3d7016684e1a8 + languageName: node + linkType: hard + +"postcss-colormin@npm:^4.0.3": + version: 4.0.3 + resolution: "postcss-colormin@npm:4.0.3" + dependencies: + browserslist: ^4.0.0 + color: ^3.0.0 + has: ^1.0.0 + postcss: ^7.0.0 + postcss-value-parser: ^3.0.0 + checksum: 3/c2632c38a64e2f76b41eb58d97193c77ab71a3d206e8453377019ed8f42c9e94be1b9df66b1e86d44e5af1e2892e7f0316c1d039c83519065eec3824aac78d17 + languageName: node + linkType: hard + +"postcss-convert-values@npm:^4.0.1": + version: 4.0.1 + resolution: "postcss-convert-values@npm:4.0.1" + dependencies: + postcss: ^7.0.0 + postcss-value-parser: ^3.0.0 + checksum: 3/8fc4a78787642d67faebbce5f80c3e1c2ec49ab57e52f6702079f6dd57caa2c7e1bf1472a8499e548b7c6b078bc6dab664580444d81ce723caf80f4b5240237a + languageName: node + linkType: hard + +"postcss-custom-media@npm:^7.0.8": + version: 7.0.8 + resolution: "postcss-custom-media@npm:7.0.8" + dependencies: + postcss: ^7.0.14 + checksum: 3/f0ac879d17f61225f1e086854720a63a2950d59f115ac66ed440873b69cc7b20f3941bf4667954bd8aa311ec959a98b8044a69c4674364e9bb9452097357b606 + languageName: node + linkType: hard + +"postcss-custom-properties@npm:^8.0.11": + version: 8.0.11 + resolution: "postcss-custom-properties@npm:8.0.11" + dependencies: + postcss: ^7.0.17 + postcss-values-parser: ^2.0.1 + checksum: 3/2d3c11d4c9d29e80428e2a0f64dacb6f144e97c57a2175f6971588657f07726954414c493a60ba09043fe67be23cc2ebf3ef8b56d93d4d945a49ed9807d1366f + languageName: node + linkType: hard + +"postcss-custom-selectors@npm:^5.1.2": + version: 5.1.2 + resolution: "postcss-custom-selectors@npm:5.1.2" + dependencies: + postcss: ^7.0.2 + postcss-selector-parser: ^5.0.0-rc.3 + checksum: 3/7d0d5f7751e54b40726d51196ba5569d18488d25ef7b1837ec26d5f32909d3cb4850edd527d70d1a141b7d81aeeed87ca00037f01e318b43fde92e72bb9fa141 + languageName: node + linkType: hard + +"postcss-dir-pseudo-class@npm:^5.0.0": + version: 5.0.0 + resolution: "postcss-dir-pseudo-class@npm:5.0.0" + dependencies: + postcss: ^7.0.2 + postcss-selector-parser: ^5.0.0-rc.3 + checksum: 3/fc4f686058e7e973df5699d59e4532b8c124fbd6a4a1f9f40a92fa4d599b8212e336915f540b556278c696a0cc67d06cddfca0b5bdbd527e761c88c9d97f68b4 + languageName: node + linkType: hard + +"postcss-discard-comments@npm:^4.0.2": + version: 4.0.2 + resolution: "postcss-discard-comments@npm:4.0.2" + dependencies: + postcss: ^7.0.0 + checksum: 3/7b357a3a4bbb2601ec0c659ed389de4334e185cfebbd991bed4c69d83905ec49b5a988d4b4ee1ea8db5b6f8b66b93f8590c16cf5c22f7efe5bde2ed1cad4ccce + languageName: node + linkType: hard + +"postcss-discard-duplicates@npm:^4.0.2": + version: 4.0.2 + resolution: "postcss-discard-duplicates@npm:4.0.2" + dependencies: + postcss: ^7.0.0 + checksum: 3/128342e2b913f0dd6f844519049dfb9a7fd82e0680e28d8e8111314af2137fe6b6d8af3503e775b8df56727d18a1dfc76cdb9944c615bf00cecacbde915e199f + languageName: node + linkType: hard + +"postcss-discard-empty@npm:^4.0.1": + version: 4.0.1 + resolution: "postcss-discard-empty@npm:4.0.1" + dependencies: + postcss: ^7.0.0 + checksum: 3/f06a00331cef0ba05362060642b3661fff63a1a02803984ce071e3af71061ee40083953021ae0665e6c650193f25b9155dca8c94cfe78a4d1b667a5e2d3e738d + languageName: node + linkType: hard + +"postcss-discard-overridden@npm:^4.0.1": + version: 4.0.1 + resolution: "postcss-discard-overridden@npm:4.0.1" + dependencies: + postcss: ^7.0.0 + checksum: 3/be24bca265926d22af134ed3ede7a2a27d65e32c5e5ebe3b83603e84599fc2b5587e3e0344c01e4e660f9f4072100ee6d1b56bacd0a6d428f2e0e0acd9bd4046 + languageName: node + linkType: hard + +"postcss-double-position-gradients@npm:^1.0.0": + version: 1.0.0 + resolution: "postcss-double-position-gradients@npm:1.0.0" + dependencies: + postcss: ^7.0.5 + postcss-values-parser: ^2.0.0 + checksum: 3/151194816535419a9f90f837bdc872ac5a3972e4d409b0c601fcd0fb069d4bdae51955a5b92f7192102c5b30d846f91d77e1182402df42de9ba5379dd228b6d9 + languageName: node + linkType: hard + +"postcss-env-function@npm:^2.0.2": + version: 2.0.2 + resolution: "postcss-env-function@npm:2.0.2" + dependencies: + postcss: ^7.0.2 + postcss-values-parser: ^2.0.0 + checksum: 3/1cba45f90af655de776ed51a3672995130e5c9c3eab59a8bfa062e4e8bedce03faf63900fd0da69f701a2ab4c4bcf61698535526bf8996ab16920a16c2186426 + languageName: node + linkType: hard + +"postcss-flexbugs-fixes@npm:4.1.0": + version: 4.1.0 + resolution: "postcss-flexbugs-fixes@npm:4.1.0" + dependencies: + postcss: ^7.0.0 + checksum: 3/ac9583f1d84aa7e59df0b3c0055c5952f00f91cf07be6c62bfbfb1c966c7061e2afa0535ac45dbe80df3b56ba6202579393427348c67d7c9dfa08867091b375e + languageName: node + linkType: hard + +"postcss-focus-visible@npm:^4.0.0": + version: 4.0.0 + resolution: "postcss-focus-visible@npm:4.0.0" + dependencies: + postcss: ^7.0.2 + checksum: 3/df9f0b029cd4770b5f7e803e9cd098a36dc8e06415adc735eb87da07d459e1704ce972f7db4e2674e9b01e45add3dd0689a8628b6784c7a22833576025ca9b60 + languageName: node + linkType: hard + +"postcss-focus-within@npm:^3.0.0": + version: 3.0.0 + resolution: "postcss-focus-within@npm:3.0.0" + dependencies: + postcss: ^7.0.2 + checksum: 3/9339299c411a3707309f1eb91919564be2f698c96920b3d93ab81ad6737318a30f2b383780682c173647b76392c11eba446746973e98213379f1f6ce4f522c88 + languageName: node + linkType: hard + +"postcss-font-variant@npm:^4.0.0": + version: 4.0.0 + resolution: "postcss-font-variant@npm:4.0.0" + dependencies: + postcss: ^7.0.2 + checksum: 3/fe9f8f01240df7144c4395571724815e270989d1dfe969bcf1a86a7a07fb9fb26f1e1d6ab784f8ef4234dce91c40f4cb62a3865835240fcc2aad92b27f1aadf9 + languageName: node + linkType: hard + +"postcss-gap-properties@npm:^2.0.0": + version: 2.0.0 + resolution: "postcss-gap-properties@npm:2.0.0" + dependencies: + postcss: ^7.0.2 + checksum: 3/fa8be8b253cd479f5e3c050796f6250c27e7cce69965535c694ad6093f21adcf83e90bbb4b63c472628d42d1089d43bf9aeac8df4b4d29709f78d4b49dc29fb2 + languageName: node + linkType: hard + +"postcss-image-set-function@npm:^3.0.1": + version: 3.0.1 + resolution: "postcss-image-set-function@npm:3.0.1" + dependencies: + postcss: ^7.0.2 + postcss-values-parser: ^2.0.0 + checksum: 3/e5612a60755963cd8270c8d793fcc246ec02e2387d5e8faf8ee4e871b65aea3625ebf7d3382db826e8ed44b0922d3f53a9a3b317fe4187e837ae045d6721eb49 + languageName: node + linkType: hard + +"postcss-initial@npm:^3.0.0": + version: 3.0.2 + resolution: "postcss-initial@npm:3.0.2" + dependencies: + lodash.template: ^4.5.0 + postcss: ^7.0.2 + checksum: 3/ec01ff4da60e616240bb7409ab4edd778fc94a1a310bc118125d495f6c4f4406ae323b2a83fd49e3e086bf3e270e4121776a9c7e0de7b84df0cc69a617535bfe + languageName: node + linkType: hard + +"postcss-lab-function@npm:^2.0.1": + version: 2.0.1 + resolution: "postcss-lab-function@npm:2.0.1" + dependencies: + "@csstools/convert-colors": ^1.4.0 + postcss: ^7.0.2 + postcss-values-parser: ^2.0.0 + checksum: 3/034195cfd91b0f817ccbb1dc2ed6d7c75134ceacaebb270ee7f5a78e110bc753af9e3235a58614b32961f6e8781151206ee8703221b5d75b3e2ccdff7f261dea + languageName: node + linkType: hard + +"postcss-load-config@npm:^2.0.0": + version: 2.1.0 + resolution: "postcss-load-config@npm:2.1.0" + dependencies: + cosmiconfig: ^5.0.0 + import-cwd: ^2.0.0 + checksum: 3/06db8cf48d442b30b1fd99807278a0845731ae28a9a68e9c13082e6ce04d47d2729cd99909448aa12ed8a5f1ba1a8b5f63542b8e453a3ce45a786e576cba06d8 + languageName: node + linkType: hard + +"postcss-loader@npm:3.0.0": + version: 3.0.0 + resolution: "postcss-loader@npm:3.0.0" + dependencies: + loader-utils: ^1.1.0 + postcss: ^7.0.0 + postcss-load-config: ^2.0.0 + schema-utils: ^1.0.0 + checksum: 3/50b2d8892d9b2cc6d9c81990ffb839d1716d3f571fcac7bd0dd3208447a016ce5c776b5f7de9eeb575ee5f7329221d5e22c9d1e41d56eb76ed87ce4401f90d4f + languageName: node + linkType: hard + +"postcss-logical@npm:^3.0.0": + version: 3.0.0 + resolution: "postcss-logical@npm:3.0.0" + dependencies: + postcss: ^7.0.2 + checksum: 3/fdd9f0519bf3a2cc283991b5f31b45f44eac4803af605f4dac4ccdb7379a4362a4f89b1c3303ad511c68d08ca005e32ffc58768aadd8a1f925dfda78c774a07d + languageName: node + linkType: hard + +"postcss-media-minmax@npm:^4.0.0": + version: 4.0.0 + resolution: "postcss-media-minmax@npm:4.0.0" + dependencies: + postcss: ^7.0.2 + checksum: 3/9b4953f4a5ec61c2d451b06a7e475515b128955404750270fdfd4d84ab3c2cf9a6573e33617d0036278855e04782d09623d2391f056b18dc87cc71f2df62c4b7 + languageName: node + linkType: hard + +"postcss-merge-longhand@npm:^4.0.11": + version: 4.0.11 + resolution: "postcss-merge-longhand@npm:4.0.11" + dependencies: + css-color-names: 0.0.4 + postcss: ^7.0.0 + postcss-value-parser: ^3.0.0 + stylehacks: ^4.0.0 + checksum: 3/f6ae3d8f2b07d30de78b17d7f58828571bf161d1a1d99d9371a59e1f0b18f13b7b684b34bf2b4c0d5c28e2d0eb0901a57b8c69ad558660aa3c81b9af16702cf6 + languageName: node + linkType: hard + +"postcss-merge-rules@npm:^4.0.3": + version: 4.0.3 + resolution: "postcss-merge-rules@npm:4.0.3" + dependencies: + browserslist: ^4.0.0 + caniuse-api: ^3.0.0 + cssnano-util-same-parent: ^4.0.0 + postcss: ^7.0.0 + postcss-selector-parser: ^3.0.0 + vendors: ^1.0.0 + checksum: 3/18907817119fa00c5b016631c5e623d59061a0ae2a5e54069b19af0c09cde66ed11db8f585f33be0231f55a925beb13edc17b5336c3421050ce8e7d5708b27b9 + languageName: node + linkType: hard + +"postcss-minify-font-values@npm:^4.0.2": + version: 4.0.2 + resolution: "postcss-minify-font-values@npm:4.0.2" + dependencies: + postcss: ^7.0.0 + postcss-value-parser: ^3.0.0 + checksum: 3/9fc541821f5235f4ea38fdd2671bd1d624894375e044e3f4de3bb161217a4f1501da72f4485e130b8b750c0c6d32ba36cd82ec3d252a07943006b62308938a3c + languageName: node + linkType: hard + +"postcss-minify-gradients@npm:^4.0.2": + version: 4.0.2 + resolution: "postcss-minify-gradients@npm:4.0.2" + dependencies: + cssnano-util-get-arguments: ^4.0.0 + is-color-stop: ^1.0.0 + postcss: ^7.0.0 + postcss-value-parser: ^3.0.0 + checksum: 3/4c54f4fa49c8b7568b92c2e29bb15602e384837f95f278efb1792f3d650a2b7ff0a2115f62d90b18bc77b94f0bab9a9035ce1fb73953d6046e14e754ae8680af + languageName: node + linkType: hard + +"postcss-minify-params@npm:^4.0.2": + version: 4.0.2 + resolution: "postcss-minify-params@npm:4.0.2" + dependencies: + alphanum-sort: ^1.0.0 + browserslist: ^4.0.0 + cssnano-util-get-arguments: ^4.0.0 + postcss: ^7.0.0 + postcss-value-parser: ^3.0.0 + uniqs: ^2.0.0 + checksum: 3/dbcb82b7b16fece458fa677d1a9da5f5b4984a1880ef51a50f554d31e1825c52e33b08357fef3a4077faa06e78cdc765dc8757482ca18703e72e2826694d4937 + languageName: node + linkType: hard + +"postcss-minify-selectors@npm:^4.0.2": + version: 4.0.2 + resolution: "postcss-minify-selectors@npm:4.0.2" + dependencies: + alphanum-sort: ^1.0.0 + has: ^1.0.0 + postcss: ^7.0.0 + postcss-selector-parser: ^3.0.0 + checksum: 3/8fde92b5561ceb5dfbede1000457a022b231634daccfec0afeda799aedf21cb0ab52e38dc4c16110aed557c4cbc91570f71c3d5f58de419fd662ccb0656cd43d + languageName: node + linkType: hard + +"postcss-modules-extract-imports@npm:^2.0.0": + version: 2.0.0 + resolution: "postcss-modules-extract-imports@npm:2.0.0" + dependencies: + postcss: ^7.0.5 + checksum: 3/82e59325814e133cfbef4a4237b68eba017c15a350dac938049cefa2d212b22037c54ec8adda7b6cc23c845ea9a47e0538caa3649f9f9ed527788826a1b17670 + languageName: node + linkType: hard + +"postcss-modules-local-by-default@npm:^3.0.2": + version: 3.0.2 + resolution: "postcss-modules-local-by-default@npm:3.0.2" + dependencies: + icss-utils: ^4.1.1 + postcss: ^7.0.16 + postcss-selector-parser: ^6.0.2 + postcss-value-parser: ^4.0.0 + checksum: 3/32d04c364fc34681e9cba9d2b4a547b836d56d93945ba18236b3d8426840750d375c017de36a5ad26eecb9d96ab13038fe137c33844d7153cde26dad6068b3fc + languageName: node + linkType: hard + +"postcss-modules-scope@npm:^2.1.1, postcss-modules-scope@npm:^2.2.0": + version: 2.2.0 + resolution: "postcss-modules-scope@npm:2.2.0" + dependencies: + postcss: ^7.0.6 + postcss-selector-parser: ^6.0.0 + checksum: 3/c560d3aa7b440917980e27bc284bcf1a4ffb0a401de2fb19e1b4b9912f5658e1511453b124d122d7021065e38bd287c0d77aed97ae9f919453655b58a2b91dd0 + languageName: node + linkType: hard + +"postcss-modules-values@npm:^3.0.0": + version: 3.0.0 + resolution: "postcss-modules-values@npm:3.0.0" + dependencies: + icss-utils: ^4.0.0 + postcss: ^7.0.6 + checksum: 3/01dc4ea51ecc12654b9e46773180d2cf731b69ad7abf5e4b9368b653dbbbc28aa3e1db31027b50d8d7534c0c206e684ae2edaaedb120220871559e43ebe81c9c + languageName: node + linkType: hard + +"postcss-nesting@npm:^7.0.0": + version: 7.0.1 + resolution: "postcss-nesting@npm:7.0.1" + dependencies: + postcss: ^7.0.2 + checksum: 3/ffc3c12f831b83f3276be86d6cf4d7e897146cbd7d40c01765ff8b25bcc238e9503741a63acd157e8a54df588f8a5a6d46aa6c2c27ab242985503b4d2208ddab + languageName: node + linkType: hard + +"postcss-normalize-charset@npm:^4.0.1": + version: 4.0.1 + resolution: "postcss-normalize-charset@npm:4.0.1" + dependencies: + postcss: ^7.0.0 + checksum: 3/4e40b321c45c1d8428ac9e6d7bc63ca92be5d4f65747e9b2d34e8d59bcc42a6b1a6fa9f0781e45f29c8fa0221299a61dc8b2b2a7314653e9841c6512d7820e79 + languageName: node + linkType: hard + +"postcss-normalize-display-values@npm:^4.0.2": + version: 4.0.2 + resolution: "postcss-normalize-display-values@npm:4.0.2" + dependencies: + cssnano-util-get-match: ^4.0.0 + postcss: ^7.0.0 + postcss-value-parser: ^3.0.0 + checksum: 3/4bd5952f1c0a5cf2a731a84b1ce218f6d9df7d2304233449bb82aa7a54c5a150cbdcb4160297206b017dce03b170e7e1a5c85a75a470b878c85b3eeabf652626 + languageName: node + linkType: hard + +"postcss-normalize-positions@npm:^4.0.2": + version: 4.0.2 + resolution: "postcss-normalize-positions@npm:4.0.2" + dependencies: + cssnano-util-get-arguments: ^4.0.0 + has: ^1.0.0 + postcss: ^7.0.0 + postcss-value-parser: ^3.0.0 + checksum: 3/9d7d79703adeede66302169559603ef314b02acada5f9ff99748d54d6b91386ca0d39ffc0d13c203e8b09fe106ee55504aa5b693d9928766ba2487dd67e0c48d + languageName: node + linkType: hard + +"postcss-normalize-repeat-style@npm:^4.0.2": + version: 4.0.2 + resolution: "postcss-normalize-repeat-style@npm:4.0.2" + dependencies: + cssnano-util-get-arguments: ^4.0.0 + cssnano-util-get-match: ^4.0.0 + postcss: ^7.0.0 + postcss-value-parser: ^3.0.0 + checksum: 3/dcb89339fd8e2411e0f14dec0b22976459b1ad8ced45d5e0a7cc9f8b4ce2a0562dc92f850192c089387541bc931d9cc7cac105cc85f6e5918b80c27669e3f68d + languageName: node + linkType: hard + +"postcss-normalize-string@npm:^4.0.2": + version: 4.0.2 + resolution: "postcss-normalize-string@npm:4.0.2" + dependencies: + has: ^1.0.0 + postcss: ^7.0.0 + postcss-value-parser: ^3.0.0 + checksum: 3/91116aa9c6c85b3b2ba09f85e31c1e23650e4204ce8936dfd3b46585d7c69e19b6359aa87415ad8b6041a87b7b218cd2c732e5a7b7b5be754e95a41ad6439696 + languageName: node + linkType: hard + +"postcss-normalize-timing-functions@npm:^4.0.2": + version: 4.0.2 + resolution: "postcss-normalize-timing-functions@npm:4.0.2" + dependencies: + cssnano-util-get-match: ^4.0.0 + postcss: ^7.0.0 + postcss-value-parser: ^3.0.0 + checksum: 3/92bca529aacd9cc0189cf809a2de77d3f4d035ceea6c63365cb6247516ab6cc6525b826a1288c8d77ed1ed21f2f24eb052dd570fb38e95f89e95d2c0eefa82b7 + languageName: node + linkType: hard + +"postcss-normalize-unicode@npm:^4.0.1": + version: 4.0.1 + resolution: "postcss-normalize-unicode@npm:4.0.1" + dependencies: + browserslist: ^4.0.0 + postcss: ^7.0.0 + postcss-value-parser: ^3.0.0 + checksum: 3/84714ba7c1d0d304d7227ddf53f754b3dde4f6f00d7d4456d925e504e986c1210786a1a4b59e1d127b4a8d1786a9def716f13868b5a622d078f7950404c69392 + languageName: node + linkType: hard + +"postcss-normalize-url@npm:^4.0.1": + version: 4.0.1 + resolution: "postcss-normalize-url@npm:4.0.1" + dependencies: + is-absolute-url: ^2.0.0 + normalize-url: ^3.0.0 + postcss: ^7.0.0 + postcss-value-parser: ^3.0.0 + checksum: 3/76d75e27e95a563a6f698c83bff4254d7bae916f48ff1b28b4750dc7f07b4fd67699fb3737bc0c9b077ed5ed676a19993597d4208c20d773fcbfa48b39cd9066 + languageName: node + linkType: hard + +"postcss-normalize-whitespace@npm:^4.0.2": + version: 4.0.2 + resolution: "postcss-normalize-whitespace@npm:4.0.2" + dependencies: + postcss: ^7.0.0 + postcss-value-parser: ^3.0.0 + checksum: 3/7093ca8313659807290f6b039e9064787e777002cf7c84f896667c2c9cf6d349c32b809153dcf5475145ae6a6c2d198a769681ec16321ca227db4b682a5f5344 + languageName: node + linkType: hard + +"postcss-normalize@npm:8.0.1": + version: 8.0.1 + resolution: "postcss-normalize@npm:8.0.1" + dependencies: + "@csstools/normalize.css": ^10.1.0 + browserslist: ^4.6.2 + postcss: ^7.0.17 + postcss-browser-comments: ^3.0.0 + sanitize.css: ^10.0.0 + checksum: 3/befdfa1b1e48765a3849b761076cdec50ef83030402bc8f84e1bb4750e574677cd8ff316bf2bf78816aad8c41c405ba0ef938908788671daef98a1bddeeaea6e + languageName: node + linkType: hard + +"postcss-ordered-values@npm:^4.1.2": + version: 4.1.2 + resolution: "postcss-ordered-values@npm:4.1.2" + dependencies: + cssnano-util-get-arguments: ^4.0.0 + postcss: ^7.0.0 + postcss-value-parser: ^3.0.0 + checksum: 3/6f394641453559d51aecbd61301293b9a274cb5774c47de7488d559597354924c7b11ea66ec009b960d80f0945fc92fde33c3380463b039e8d00b8a0e57037ab + languageName: node + linkType: hard + +"postcss-overflow-shorthand@npm:^2.0.0": + version: 2.0.0 + resolution: "postcss-overflow-shorthand@npm:2.0.0" + dependencies: + postcss: ^7.0.2 + checksum: 3/4e47823ea03539ad6aefed9ccd5e6e47d364310af7ac38007cfe5ac3ae5bb3cbcfe92f6edc02b8be60f65af4b7f4f349f284df089836b2f463022708a0355b9a + languageName: node + linkType: hard + +"postcss-page-break@npm:^2.0.0": + version: 2.0.0 + resolution: "postcss-page-break@npm:2.0.0" + dependencies: + postcss: ^7.0.2 + checksum: 3/6e8fcbad5252bbb61df1c89ebaa43c5d8c15a73002bb3d93de4d2d1d805d47d90291dc9a7fc785ef7a82f563c7fd33c24761e5253326639402f875f25e161d65 + languageName: node + linkType: hard + +"postcss-place@npm:^4.0.1": + version: 4.0.1 + resolution: "postcss-place@npm:4.0.1" + dependencies: + postcss: ^7.0.2 + postcss-values-parser: ^2.0.0 + checksum: 3/db35406cb7166d9883a8875897ec21fefe8b23e036b7ecd4dca9ed374e7deefecc983c9dacf60ccff20e0a5b8e11c6dee33216527f840943381a11aaaa41c453 + languageName: node + linkType: hard + +"postcss-preset-env@npm:6.7.0": + version: 6.7.0 + resolution: "postcss-preset-env@npm:6.7.0" + dependencies: + autoprefixer: ^9.6.1 + browserslist: ^4.6.4 + caniuse-lite: ^1.0.30000981 + css-blank-pseudo: ^0.1.4 + css-has-pseudo: ^0.10.0 + css-prefers-color-scheme: ^3.1.1 + cssdb: ^4.4.0 + postcss: ^7.0.17 + postcss-attribute-case-insensitive: ^4.0.1 + postcss-color-functional-notation: ^2.0.1 + postcss-color-gray: ^5.0.0 + postcss-color-hex-alpha: ^5.0.3 + postcss-color-mod-function: ^3.0.3 + postcss-color-rebeccapurple: ^4.0.1 + postcss-custom-media: ^7.0.8 + postcss-custom-properties: ^8.0.11 + postcss-custom-selectors: ^5.1.2 + postcss-dir-pseudo-class: ^5.0.0 + postcss-double-position-gradients: ^1.0.0 + postcss-env-function: ^2.0.2 + postcss-focus-visible: ^4.0.0 + postcss-focus-within: ^3.0.0 + postcss-font-variant: ^4.0.0 + postcss-gap-properties: ^2.0.0 + postcss-image-set-function: ^3.0.1 + postcss-initial: ^3.0.0 + postcss-lab-function: ^2.0.1 + postcss-logical: ^3.0.0 + postcss-media-minmax: ^4.0.0 + postcss-nesting: ^7.0.0 + postcss-overflow-shorthand: ^2.0.0 + postcss-page-break: ^2.0.0 + postcss-place: ^4.0.1 + postcss-pseudo-class-any-link: ^6.0.0 + postcss-replace-overflow-wrap: ^3.0.0 + postcss-selector-matches: ^4.0.0 + postcss-selector-not: ^4.0.0 + checksum: 3/2867000f4da242b1b966b9fdb93962d6ba29943a99fee6809504469420a57b8021dbe468a4f0e188d0f6a0582894c312c45774d80fba730fb9da3c2d0acb81a7 + languageName: node + linkType: hard + +"postcss-pseudo-class-any-link@npm:^6.0.0": + version: 6.0.0 + resolution: "postcss-pseudo-class-any-link@npm:6.0.0" + dependencies: + postcss: ^7.0.2 + postcss-selector-parser: ^5.0.0-rc.3 + checksum: 3/ee673573fb1c7f47788534599bf991bf33f364583432632d1d6f811fce0be081975e27850f51ec8c928fa6cb03998ab6c0af1a85d7627a384b7fe6da104dc23f + languageName: node + linkType: hard + +"postcss-reduce-initial@npm:^4.0.3": + version: 4.0.3 + resolution: "postcss-reduce-initial@npm:4.0.3" + dependencies: + browserslist: ^4.0.0 + caniuse-api: ^3.0.0 + has: ^1.0.0 + postcss: ^7.0.0 + checksum: 3/ed276a820860d13cccd794954ed759af1e2278bfa2c863bb120ebd307404b2f8a1525e307b5ef9295d2b02ee72b1a8b31bfc2cf33d377ec0c7ca77d225298c3e + languageName: node + linkType: hard + +"postcss-reduce-transforms@npm:^4.0.2": + version: 4.0.2 + resolution: "postcss-reduce-transforms@npm:4.0.2" + dependencies: + cssnano-util-get-match: ^4.0.0 + has: ^1.0.0 + postcss: ^7.0.0 + postcss-value-parser: ^3.0.0 + checksum: 3/2bf993ff44b4e7b1c242955cf437d502447b93dcadfd812cecca0b4aa7ed8779b8c27c09a8c244b957aaef54ebdcd525a3f67b800a0c9a081775a31b245340ba + languageName: node + linkType: hard + +"postcss-replace-overflow-wrap@npm:^3.0.0": + version: 3.0.0 + resolution: "postcss-replace-overflow-wrap@npm:3.0.0" + dependencies: + postcss: ^7.0.2 + checksum: 3/b9b6f604b80b81b62206a4aad0743ebdad3afbac0e1e906f9223573eb8e9eaf20cde7f7f55aa3e8fd2a7075a67386f85d74f04a029bb6ad8729463401239ac36 + languageName: node + linkType: hard + +"postcss-safe-parser@npm:4.0.1": + version: 4.0.1 + resolution: "postcss-safe-parser@npm:4.0.1" + dependencies: + postcss: ^7.0.0 + checksum: 3/dd61696f1e83293b5430b72eeff4e6c85fa92baf06b4bb25cf7db1e72fcde21e22ecf94cc9e1316bb4515744515b302689f1e2e70f1df81e518ea41f2d727955 + languageName: node + linkType: hard + +"postcss-selector-matches@npm:^4.0.0": + version: 4.0.0 + resolution: "postcss-selector-matches@npm:4.0.0" + dependencies: + balanced-match: ^1.0.0 + postcss: ^7.0.2 + checksum: 3/8445f6453b60a94c657fc56c7673a46abbaa91ca270d97e53a8555ac0b9cc5ab75a9a88fa9163a5b0cbe9b0214d1578722f18c8bcab4d2c1ded5c8b6da6e5d53 + languageName: node + linkType: hard + +"postcss-selector-not@npm:^4.0.0": + version: 4.0.0 + resolution: "postcss-selector-not@npm:4.0.0" + dependencies: + balanced-match: ^1.0.0 + postcss: ^7.0.2 + checksum: 3/7b3139dbe441b20f3ce45bc0682829423ade9c63fc73baade595d521282ac8710a0b316082fa43561c3c2654bb6c1e17f2b8d350d04177696531c4335fe73508 + languageName: node + linkType: hard + +"postcss-selector-parser@npm:^3.0.0": + version: 3.1.2 + resolution: "postcss-selector-parser@npm:3.1.2" + dependencies: + dot-prop: ^5.2.0 + indexes-of: ^1.0.1 + uniq: ^1.0.1 + checksum: 3/021ffdeef1007d4ab24439fee8e2cba188681899eae8dbc882a0e860d2ff8392f232c87e3f69eadc0a3d630b897a9ceb9f49adbe30b954a23ed91e61d3ea248c + languageName: node + linkType: hard + +"postcss-selector-parser@npm:^5.0.0-rc.3, postcss-selector-parser@npm:^5.0.0-rc.4": + version: 5.0.0 + resolution: "postcss-selector-parser@npm:5.0.0" + dependencies: + cssesc: ^2.0.0 + indexes-of: ^1.0.1 + uniq: ^1.0.1 + checksum: 3/eabe69f66f66c7469d7c1618821235d474c9f96d77d7247cb1d5e7481d0ad9b2f632bf5dd8a8a895f1a00df93b10b6c02a61e6f276406d61503ffb0bd67cf5cd + languageName: node + linkType: hard + +"postcss-selector-parser@npm:^6.0.0, postcss-selector-parser@npm:^6.0.2": + version: 6.0.2 + resolution: "postcss-selector-parser@npm:6.0.2" + dependencies: + cssesc: ^3.0.0 + indexes-of: ^1.0.1 + uniq: ^1.0.1 + checksum: 3/0c8bec00e966038572228df54782ef4eefcd76902e5fc3822e6ad8f144c097c48acd9d00376d95cbbd902bfc0ecdf078e3a42eaba2679e1e43b4f91660534121 + languageName: node + linkType: hard + +"postcss-svgo@npm:^4.0.2": + version: 4.0.2 + resolution: "postcss-svgo@npm:4.0.2" + dependencies: + is-svg: ^3.0.0 + postcss: ^7.0.0 + postcss-value-parser: ^3.0.0 + svgo: ^1.0.0 + checksum: 3/a2a6e324fc1d15523aa6b70649a6afa1bc31f7457ffc3819601508424e35d0b1369463a84b4845d7218463198e1ee1db0234bd48766f925278c9f8272c731ece + languageName: node + linkType: hard + +"postcss-unique-selectors@npm:^4.0.1": + version: 4.0.1 + resolution: "postcss-unique-selectors@npm:4.0.1" + dependencies: + alphanum-sort: ^1.0.0 + postcss: ^7.0.0 + uniqs: ^2.0.0 + checksum: 3/1f1fdc108654b6d08e499b1b4227a8023f01376ca15f461fe5c62a07bc2b553e688ca2d7e60c7443ce372d09c8121d79a402272d6880785c8659067922622c2a + languageName: node + linkType: hard + +"postcss-value-parser@npm:^3.0.0": + version: 3.3.1 + resolution: "postcss-value-parser@npm:3.3.1" + checksum: 3/834603f6bd822846cc20b1f95e648dea67353eb506898cc5fb540b32e9a956c1030754b9503270eb00c61c3734409d7ec94fba2b4f0a89954bc855bad7e9267c + languageName: node + linkType: hard + +"postcss-value-parser@npm:^4.0.0, postcss-value-parser@npm:^4.0.2, postcss-value-parser@npm:^4.0.3, postcss-value-parser@npm:^4.1.0": + version: 4.1.0 + resolution: "postcss-value-parser@npm:4.1.0" + checksum: 3/70831403886859289f650550a38889857022c5bbe264fd5d39cfad5207b3e1d33422edc031c1a922f3ae29d0dff98837a8bf126c840374d2b0079e7d57cf7d71 + languageName: node + linkType: hard + +"postcss-values-parser@npm:^2.0.0, postcss-values-parser@npm:^2.0.1": + version: 2.0.1 + resolution: "postcss-values-parser@npm:2.0.1" + dependencies: + flatten: ^1.0.2 + indexes-of: ^1.0.1 + uniq: ^1.0.1 + checksum: 3/dfc25618bed3ba74da9adb4df9535dc0edd03e4618fb6774d0327934970876f93f565071bce97faa96ef236da2ce43ec2efeae240fc2eedc0e764e379b3e9441 + languageName: node + linkType: hard + +"postcss@npm:7.0.21": + version: 7.0.21 + resolution: "postcss@npm:7.0.21" + dependencies: + chalk: ^2.4.2 + source-map: ^0.6.1 + supports-color: ^6.1.0 + checksum: 3/1c8617c2209480ddf3a460d668e69e3228035add75d7d7588c4122d11c7ae58d8b41e5c7a130c1969f2150c2a5bf5f78c5dcf146bb1bbfaf1ab1163ea7df4cf0 + languageName: node + linkType: hard + +"postcss@npm:^7, postcss@npm:^7.0.0, postcss@npm:^7.0.1, postcss@npm:^7.0.14, postcss@npm:^7.0.16, postcss@npm:^7.0.17, postcss@npm:^7.0.2, postcss@npm:^7.0.23, postcss@npm:^7.0.27, postcss@npm:^7.0.30, postcss@npm:^7.0.5, postcss@npm:^7.0.6": + version: 7.0.30 + resolution: "postcss@npm:7.0.30" + dependencies: + chalk: ^2.4.2 + source-map: ^0.6.1 + supports-color: ^6.1.0 + checksum: 3/965203dcfe345370278da767a9b0c5f2d3b4f8728cb14071557591988aec25332de22c743ad1a1cd33fdbadf3390caf0931658243026d119890949bd834660ca + languageName: node + linkType: hard + +"postgraphile-core@4.7.0, postgraphile-core@>4.3.1 <5, postgraphile-core@workspace:packages/postgraphile-core": + version: 0.0.0-use.local + resolution: "postgraphile-core@workspace:packages/postgraphile-core" + dependencies: + "@graphile/subscriptions-lds": 4.7.0 + "@types/jest": ^25.2.3 + "@types/jsonwebtoken": ^8.5.0 + "@types/node": ^14.0.1 + "@types/pg": ^7.14.3 + debug: ^4.2.0 + graphile-build: 4.7.0 + graphile-build-pg: 4.7.0 + graphile-utils: 4.7.0 + graphql: ^14.6.0 + graphql-parse-resolve-info: 4.7.0 + jest: ^26.0.1 + jsonwebtoken: ^8.5.1 + mock-fs: ^4.12.0 + pg: ^8.2.1 + pg-connection-string: ^2.2.3 + ts-node: ^8.10.1 + tslib: ^2.0.0 + typescript: ^3.9.2 + peerDependencies: + graphql: ^14.6.0 + pg: ">=6.1.0 <9" + languageName: unknown + linkType: soft + +"postgraphile@4.7.0, postgraphile@workspace:packages/postgraphile": + version: 0.0.0-use.local + resolution: "postgraphile@workspace:packages/postgraphile" + dependencies: + "@babel/core": ^7.9.6 + "@babel/plugin-proposal-class-properties": ^7.8.3 + "@babel/plugin-transform-runtime": ^7.9.6 + "@babel/preset-env": ^7.9.6 + "@babel/preset-react": ^7.9.4 + "@babel/runtime": ^7.9.6 + "@graphile/lru": 4.6.0-alpha.0 + "@types/body-parser": ^1.19.0 + "@types/chalk": ^2.2.0 + "@types/commander": ^2.12.2 + "@types/debug": ^4.1.5 + "@types/finalhandler": ^1.1.0 + "@types/http-errors": ^1.6.3 + "@types/jest": ^25.2.3 + "@types/json5": ^0.0.30 + "@types/jsonwebtoken": ^8.5.0 + "@types/koa": ^2.11.3 + "@types/node": ^14.0.1 + "@types/parseurl": ^1.3.1 + "@types/pg": ^7.14.3 + "@types/superagent": ^4.1.7 + "@types/ws": ^7.2.4 + "@typescript-eslint/eslint-plugin": ^2.34.0 + "@typescript-eslint/parser": ^2.34.0 + babel-loader: ^8.1.0 + body-parser: ^1.19.0 + chalk: ^4.0.0 + commander: ^5.1.0 + connect: ^3.7.0 + conventional-changelog-cli: ^2.0.34 + css-loader: 3.5.3 + debug: ^4.2.0 + eslint: ^6.8.0 + express: ^4.17.1 + fastify: ^2.14.1 + finalhandler: ^1.1.2 + graphile-build: 4.7.0 + graphile-build-pg: 4.7.0 + graphile-utils: ^4.7.0 + graphql: ^14.6.0 + graphql-parse-resolve-info: 4.7.0 + html-webpack-inline-source-plugin: ^1.0.0-beta.2 + html-webpack-plugin: ^4.3.0 + http-errors: ^1.7.3 + iterall: ^1.3.0 + jest: ^26.0.1 + json5: ^2.1.3 + jsonwebtoken: ^8.5.1 + koa: ^2.12.0 + koa-compress: ^4.0.1 + koa-mount: ^4.0.0 + mock-fs: ^4.12.0 + nodemon: ^2.0.4 + parseurl: ^1.3.3 + pg: ^8.2.1 + pg-connection-string: ^2.2.3 + pg-minify: ~1.6.0 + pg-sql2: 4.7.0 + pnp-webpack-plugin: ^1.6.4 + postgraphile-core: 4.7.0 + postgraphiql: 1.0.0 + prettier: ^2.0.5 + source-map-support: ^0.5.19 + style-loader: ^1.2.1 + subscriptions-transport-ws: ^0.9.16 + superagent: ^5.2.2 + ts-node: ^8.10.1 + tslib: ^2.0.0 + typescript: ^3.9.2 + webpack: ^4.43.0 + ws: ^7.3.0 + bin: + postgraphile: dist/postgraphile/cli.js + languageName: unknown + linkType: soft + +"postgraphiql@1.0.0, postgraphiql@workspace:packages/postgraphiql": + version: 0.0.0-use.local + resolution: "postgraphiql@workspace:packages/postgraphiql" + dependencies: + "@babel/runtime": ^7.9.6 + "@types/jest": ^25.2.3 + "@types/ws": ^7.2.4 + "@typescript-eslint/eslint-plugin": ^2.34.0 + "@typescript-eslint/parser": ^2.34.0 + babel-eslint: ^10.0.0 + eslint: ^6.8.0 + eslint-config-react-app: ^5.2.1 + eslint-plugin-flowtype: ^4.0.0 + eslint-plugin-import: ^2.20.2 + eslint-plugin-jsx-a11y: ^6.2.3 + eslint-plugin-react: ^7.20.0 + eslint-plugin-react-hooks: ^2.0.0 + graphiql: ^0.17.5 + graphiql-explorer: ^0.6.2 + graphql: ^14.0.0 + jest: ^26.0.1 + prop-types: ^15.7.2 + react: ^16.13.1 + react-dom: ^16.13.1 + react-scripts: ^3.4.1 + subscriptions-transport-ws: ^0.9.16 + ts-node: ^8.10.1 + typescript: ^3.9.2 + ws: ^7.3.0 + languageName: unknown + linkType: soft + +"postgres-array@npm:~2.0.0": + version: 2.0.0 + resolution: "postgres-array@npm:2.0.0" + checksum: 3/99fd702c5c2bd44c55dac48935b321e564c0363cd9ec53f59e8df2c0141644055beb0d18d69007706a4d082c8557c2e5d03e9ccfeb6d455c98e75f35fe3ead94 + languageName: node + linkType: hard + +"postgres-bytea@npm:~1.0.0": + version: 1.0.0 + resolution: "postgres-bytea@npm:1.0.0" + checksum: 3/a3399e064521b039dfc23338423c687cbdbf422d9a0e92bb92fd19b6a5dbbab7847cc4a6e16d2a59f186096ec5e6bf7e9e4328b5d906b40e16f0d18794b4e29e + languageName: node + linkType: hard + +"postgres-date@npm:~1.0.4": + version: 1.0.5 + resolution: "postgres-date@npm:1.0.5" + checksum: 3/e88dc73f19450d794be55cc7945ae4e171ee1b20ad949ad94caef7e846da5d725851045468c822398fd6edda69f5995bfdd54ff44d07183467f8bc18b15210db + languageName: node + linkType: hard + +"postgres-interval@npm:^1.1.0, postgres-interval@npm:^1.2.0": + version: 1.2.0 + resolution: "postgres-interval@npm:1.2.0" + dependencies: + xtend: ^4.0.0 + checksum: 3/a882aae6c34a85ac6054d9c950d36bf2455cada769598c2eaf28326a45a722f23b8ba8b96efde939f38a663d5fc51ff93241afedf186ac9e9f9cf0af177370a1 + languageName: node + linkType: hard + +"prelude-ls@npm:~1.1.2": + version: 1.1.2 + resolution: "prelude-ls@npm:1.1.2" + checksum: 3/189c969c92151b0de7a6e5d2ae0c4e50bbec5675cdd9fee3b7509d9d74b6416787ee36a8c12a07e8afb01454a8185b695b3395912484fa118e071fea45223b9b + languageName: node + linkType: hard + +"prepend-http@npm:^1.0.0": + version: 1.0.4 + resolution: "prepend-http@npm:1.0.4" + checksum: 3/f723f34a23394b568a9ff0cd502bdda244b343c03b12a259343566eab1184cf41a6c7e9975d9e6010ccb2901b7c428d296e56a67a72d0a6ecb0f13531a3fa44e + languageName: node + linkType: hard + +"prepend-http@npm:^2.0.0": + version: 2.0.0 + resolution: "prepend-http@npm:2.0.0" + checksum: 3/d39325775adce38e18213fd19656af4abd7672ef6b1e330437079bb237de011d49a70bfb56b35037603d30ef279cceddb33794f70168582d50845c2ade29968e + languageName: node + linkType: hard + +"prettier@npm:^2.0.5": + version: 2.0.5 + resolution: "prettier@npm:2.0.5" + bin: + prettier: bin-prettier.js + checksum: 3/d249d89361870a29b20e8b268cb09e908490b8c9e21f70393d12a213701f29ba7e95b7f9ce0ad63929c16ce475176742481911737ae3da4a498873e4a3b90990 + languageName: node + linkType: hard + +"pretty-bytes@npm:^5.1.0": + version: 5.3.0 + resolution: "pretty-bytes@npm:5.3.0" + checksum: 3/ecc6b1670f7ebcf6c78b91edad97ffdc0be58283ff5fa6c95c99c6bda48d2aa1858367fae8eccce35bc36eb90ec3cbcc24b9d7e29fd6ad98cc52d53d2e307789 + languageName: node + linkType: hard + +"pretty-error@npm:^2.1.1": + version: 2.1.1 + resolution: "pretty-error@npm:2.1.1" + dependencies: + renderkid: ^2.0.1 + utila: ~0.4 + checksum: 3/dc2a92f59888eac1bd3861b439944ab50c46fcc957c3147126270f1e9e06c7bbacde1ab23ab2fc73c8f3a1961094db0878ec8a569f1d5606343a0ada7899cfc4 + languageName: node + linkType: hard + +"pretty-format@npm:^24.9.0": + version: 24.9.0 + resolution: "pretty-format@npm:24.9.0" + dependencies: + "@jest/types": ^24.9.0 + ansi-regex: ^4.0.0 + ansi-styles: ^3.2.0 + react-is: ^16.8.4 + checksum: 3/a61c5c21a638239ebdc9bfe259746dc1aca29555f8da997318031ebee3ea36662f60f329132365c0cace2a0d122a1f7f9550261b3f04aaa18029d16efc5b45fe + languageName: node + linkType: hard + +"pretty-format@npm:^25.2.1, pretty-format@npm:^25.5.0": + version: 25.5.0 + resolution: "pretty-format@npm:25.5.0" + dependencies: + "@jest/types": ^25.5.0 + ansi-regex: ^5.0.0 + ansi-styles: ^4.0.0 + react-is: ^16.12.0 + checksum: 3/f7cc631d51e22c809d429d20facfd886ba0b212d419d153467872f68688256c2c55563bf70e943b7347ec9180b41a1d19c4235dc171850f9d5382a52959c0245 + languageName: node + linkType: hard + +"pretty-format@npm:^26.0.1": + version: 26.0.1 + resolution: "pretty-format@npm:26.0.1" + dependencies: + "@jest/types": ^26.0.1 + ansi-regex: ^5.0.0 + ansi-styles: ^4.0.0 + react-is: ^16.12.0 + checksum: 3/c3aca0f5888d579bfdbac83dd518a34843b34946dbf670233938033641daaaabb09240ea8742b1f74487dcf90bf527b3f773182ee3bb435ed6b61306b50ecedf + languageName: node + linkType: hard + +"private@npm:^0.1.8": + version: 0.1.8 + resolution: "private@npm:0.1.8" + checksum: 3/4507890e0e59e27909b714e52d6e8de7e06c83c731721e8c974117bfa96c720173c2aeff048022a0ba5faefa8a354f15120fb4088729b1241fc22e78f3a25912 + languageName: node + linkType: hard + +"process-nextick-args@npm:~2.0.0": + version: 2.0.1 + resolution: "process-nextick-args@npm:2.0.1" + checksum: 3/ddeb0f07d0d5efa649c2c5e39d1afd0e3668df2b392d036c8a508b0034f7beffbc474b3c2f7fd3fed2dc4113cef8f1f7e00d05690df3c611b36f6c7efd7852d1 + languageName: node + linkType: hard + +"process@npm:^0.11.10": + version: 0.11.10 + resolution: "process@npm:0.11.10" + checksum: 3/ed93a85e9185b40fb01788c588a87c1a9da0eb925ef7cebebbe1b8bbf0eba1802130366603a29e3b689c116969d4fe018de6aed3474bbeb5aefb3716b85d6449 + languageName: node + linkType: hard + +"progress@npm:^2.0.0": + version: 2.0.3 + resolution: "progress@npm:2.0.3" + checksum: 3/c46ef5a1de4d527dfd32fe56a7df0c1c8b420a4c02617196813bf7f10ac7c2a929afc265d44fdd68f5c439a7e7cb3d70d569716c82d6b4148ec72089860a1312 + languageName: node + linkType: hard + +"promise-inflight@npm:^1.0.1": + version: 1.0.1 + resolution: "promise-inflight@npm:1.0.1" + checksum: 3/c06bce0fc60b1c7979f291e489b9017db9c15f872d5cef0dfbb2b56694e9db574bc5c28f332a7033cdbd3a1d6417c5a1ee03889743638f0241e82e5a6b9c277f + languageName: node + linkType: hard + +"promise@npm:^8.0.3": + version: 8.1.0 + resolution: "promise@npm:8.1.0" + dependencies: + asap: ~2.0.6 + checksum: 3/ec94008d8a673c276dbc7722c215f583026b8d2588fb83f40e69908c553801eac7fbe3034c9bca853d5c422af20826abdfb9391b982a888868d9c88281dc59fb + languageName: node + linkType: hard + +"prompts@npm:^2.0.1": + version: 2.3.2 + resolution: "prompts@npm:2.3.2" + dependencies: + kleur: ^3.0.3 + sisteransi: ^1.0.4 + checksum: 3/a910ba767eb61bfba15d8ef602fb50eb3f99809790e078941833c59f549557f1edd6dcdf8c749568379c2f2babe930bd3b87755fea639ad516fa1a1974e0fe7b + languageName: node + linkType: hard + +"prop-types@npm:^15.6.2, prop-types@npm:^15.7.2": + version: 15.7.2 + resolution: "prop-types@npm:15.7.2" + dependencies: + loose-envify: ^1.4.0 + object-assign: ^4.1.1 + react-is: ^16.8.1 + checksum: 3/a440dd406c5cf53bf39f3e898d2c65178511d34ca3c8c789b30c177992408b9e4273969726b274719aa69ccce5ab34b2fd8caa60b90f23cd2e910cdcf682de52 + languageName: node + linkType: hard + +"proxy-addr@npm:^2.0.6, proxy-addr@npm:~2.0.5": + version: 2.0.6 + resolution: "proxy-addr@npm:2.0.6" + dependencies: + forwarded: ~0.1.2 + ipaddr.js: 1.9.1 + checksum: 3/a7dcfd70258cdc3b73c5dc4a35c73db9857f3bf4cf5e6404380e8ea558f8c5569147e721a01195d00b450e36b4dde727fc9d22fdea14310ba38faa595530cd58 + languageName: node + linkType: hard + +"prr@npm:~1.0.1": + version: 1.0.1 + resolution: "prr@npm:1.0.1" + checksum: 3/ac5c0986b46390140b920b8e7f6b56e769a00620af02b6bbdfc6658e8a36b876569c8f174a7c209843f5b9af3d13cbf847c2a9dded4d965b01afbfa5ea8d0761 + languageName: node + linkType: hard + +"psl@npm:^1.1.28": + version: 1.8.0 + resolution: "psl@npm:1.8.0" + checksum: 3/92d47c6257456878bfa8190d76b84de69bcefdc129eeee3f9fe204c15fd08d35fe5b8627033f39b455e40a9375a1474b25ff4ab2c5448dd8c8f75da692d0f5b4 + languageName: node + linkType: hard + +"pstree.remy@npm:^1.1.7": + version: 1.1.8 + resolution: "pstree.remy@npm:1.1.8" + checksum: 3/44bad8f697d546234a7ea253c672e8120be2572f153aff77c5b73f751164e4b49c923c535fe2bfc530d6041a7b879bc108818d88653673161c2c8678b4cdb3fc + languageName: node + linkType: hard + +"public-encrypt@npm:^4.0.0": + version: 4.0.3 + resolution: "public-encrypt@npm:4.0.3" + 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 + checksum: 3/85b1be24b589d3ec4e39c2cc8542d6bf914e04d60278bd1ca0b4c36c678971b9f43303288c90e80cdd82ef20f2ec1fcd2726c8f093ba88187779acd82559b208 + languageName: node + linkType: hard + +"pump@npm:^2.0.0": + version: 2.0.1 + resolution: "pump@npm:2.0.1" + dependencies: + end-of-stream: ^1.1.0 + once: ^1.3.1 + checksum: 3/25c657a8f65bb7a8c3c9f806bd282c70a71b4ce41fab66800519fc0ed6b9ab05304569c2d0a1a5711bf39216392c4a583930c582e8fc760391f9f7b2fc6fe14e + languageName: node + linkType: hard + +"pump@npm:^3.0.0": + version: 3.0.0 + resolution: "pump@npm:3.0.0" + dependencies: + end-of-stream: ^1.1.0 + once: ^1.3.1 + checksum: 3/5464d5cf6c6f083cc60cb45b074fb9a4a92ba4d3e0d89e9b2fa1906d8151fd3766784a426725ccf1af50d1c29963ac20b13829933549830e08a6704e3f95e08c + languageName: node + linkType: hard + +"pumpify@npm:^1.3.3": + version: 1.5.1 + resolution: "pumpify@npm:1.5.1" + dependencies: + duplexify: ^3.6.0 + inherits: ^2.0.3 + pump: ^2.0.0 + checksum: 3/c143607284efa8b91baf8e199e90a6560cf599bdb7928686d1f33d3d8bbf71f3bc8c673ed6747ed36b8771982376faa0d5dafc0580eb433c73a825031016aa77 + languageName: node + linkType: hard + +"punycode@npm:1.3.2": + version: 1.3.2 + resolution: "punycode@npm:1.3.2" + checksum: 3/e67fddacd83b918ca2f4a47b1fd13858108779cdc2a3f2db3233ff82a25f9305d46e1d9891f7b9ad21ed36454adfc675d4559621fcffed2cf2067abd04e121cd + languageName: node + linkType: hard + +"punycode@npm:^1.2.4": + version: 1.4.1 + resolution: "punycode@npm:1.4.1" + checksum: 3/5ce1e044cee2b12f1c65ccd523d7e71d6578f2c77f5c21c2e7a9d588535559c9508571d42638c131dab93cbe9a7b37bce1a7475d43fc8236c99dfe1efc36cfa5 + languageName: node + linkType: hard + +"punycode@npm:^2.1.0, punycode@npm:^2.1.1": + version: 2.1.1 + resolution: "punycode@npm:2.1.1" + checksum: 3/0202dc191cb35bfd88870ac99a1e824b03486d4cee20b543ef337a6dee8d8b11017da32a3e4c40b69b19976e982c030b62bd72bba42884acb691bc5ef91354c8 + languageName: node + linkType: hard + +"pupa@npm:^2.0.1": + version: 2.0.1 + resolution: "pupa@npm:2.0.1" + dependencies: + escape-goat: ^2.0.0 + checksum: 3/d03edb9fd7d707e54618711896ab4a96c80fcfb380e413a9130157dc08a3553bf62fa7c7407edbba57095d4ba993df6de4f28a56dd5eca93b5dccbe1fc4a82db + languageName: node + linkType: hard + +"q@npm:^1.1.2, q@npm:^1.5.1": + version: 1.5.1 + resolution: "q@npm:1.5.1" + checksum: 3/f610c1295a4f1b334affbe5333bc8c6160b907d011a62f1c6d05d4ca985535ea271fd8684e1e655b4659cc5b71f5be9ac4ccc84482d869b5a0576955598a7dca + languageName: node + linkType: hard + +"qs@npm:6.7.0": + version: 6.7.0 + resolution: "qs@npm:6.7.0" + checksum: 3/8590470436ff0a75ae35e6b45fd7260e2beb537ff8ec1104f9703a349b09ce1aa27e8e1c06b9ad25ac62fc098e12cc65df93042a233128a0276ccd6de4c7819a + languageName: node + linkType: hard + +"qs@npm:^6.9.1": + version: 6.9.4 + resolution: "qs@npm:6.9.4" + checksum: 3/beba62d1e1c66e9888cc08a488eb95771c252a92289a96bff4b767a49e4e7afe9487d7ee3269b856292d8281b855ac5eac927c2e77f845e407ee4fe54743fea7 + languageName: node + linkType: hard + +"qs@npm:~6.5.2": + version: 6.5.2 + resolution: "qs@npm:6.5.2" + checksum: 3/fa0410eff2c05ce3328e11f82db4015e7819c986ee056d6b62b06ae112f4929af09ea3b879ca168ff9f0338f50972bba487ad0e46c879e42bfaf63c3c2ea7f09 + languageName: node + linkType: hard + +"query-string@npm:^4.1.0": + version: 4.3.4 + resolution: "query-string@npm:4.3.4" + dependencies: + object-assign: ^4.1.0 + strict-uri-encode: ^1.0.0 + checksum: 3/fcdbc2e76024a3afd0c5ea3addda75311d5d10402ddb5a03542dec430d36dbc44c87a11765ffa952d53e0b96e187298929561b88cc196a828f8728d2a3545ab8 + languageName: node + linkType: hard + +"querystring-es3@npm:^0.2.0": + version: 0.2.1 + resolution: "querystring-es3@npm:0.2.1" + checksum: 3/3c388906aa5644e55cdbede78f99a4d05a6e36a45b06929ad8713a2020a5cefeb6ec23adaa27584d968cf658e5d237b5e216f5e48930d040cd6b810679714741 + languageName: node + linkType: hard + +"querystring@npm:0.2.0": + version: 0.2.0 + resolution: "querystring@npm:0.2.0" + checksum: 3/1e76c51462f0ffb148e0b2fdeb811f61377800298605229d32efcdaaaf0a8fd4314a4b4405e1fbf130a5ca421c0e51f926fab5bb9f8b9b3b8c394f4e2d33d3d1 + languageName: node + linkType: hard + +"querystringify@npm:^2.1.1": + version: 2.1.1 + resolution: "querystringify@npm:2.1.1" + checksum: 3/35301cc744d5de15040a6bdb6b751ef127f65a82675c5f3a9139a4ce0d047ed8b61a459a93261cd7ae0becfa389edd3f02e8aec1c025ae3e7f0d06dc758baa98 + languageName: node + linkType: hard + +"quick-format-unescaped@npm:^3.0.3": + version: 3.0.3 + resolution: "quick-format-unescaped@npm:3.0.3" + checksum: 3/618bf766b72638de975c2102bd55cb467d0361e6be7828431494dba3deca721bc44b172479bce2524ce56ddc17db0998406c41f7682e99ec7032518c72292562 + languageName: node + linkType: hard + +"quick-lru@npm:^1.0.0": + version: 1.1.0 + resolution: "quick-lru@npm:1.1.0" + checksum: 3/b1e9e3561a5fa42df0ecacc53aa59e623f949f75ec9c70c7c7d0bec40beb070cad589a2c9f51ff625ab9d23503da0d3b829be9ec0bf743694ea6817d823c25ad + languageName: node + linkType: hard + +"quick-lru@npm:^4.0.1": + version: 4.0.1 + resolution: "quick-lru@npm:4.0.1" + checksum: 3/91847e4b07453655f73513b96a3b49e3bb8bf37de1ce2075d44e5dddb2f08050c5dc858d97884d61618bb44487945880b4b481fe93e94a3622b43036f8b94e11 + languageName: node + linkType: hard + +"raf@npm:^3.4.1": + version: 3.4.1 + resolution: "raf@npm:3.4.1" + dependencies: + performance-now: ^2.1.0 + checksum: 3/567b0160be46ed20b124a05ace6e653f4ad3c047c48d02ac76161e9ac624488c0fdf622b2f4fb9c35c0c828a13dfa549044ad1db89c7af075cb0f99403b88c4b + languageName: node + linkType: hard + +"randombytes@npm:^2.0.0, randombytes@npm:^2.0.1, randombytes@npm:^2.0.5": + version: 2.1.0 + resolution: "randombytes@npm:2.1.0" + dependencies: + safe-buffer: ^5.1.0 + checksum: 3/ede2693af09732ceab1c273dd70db787f34a7b8d95bab13f1aca763483c0113452a78e53d61ff18d393dcea586d388e01f198a5132a4a85cebba31ec54164b75 + languageName: node + linkType: hard + +"randomfill@npm:^1.0.3": + version: 1.0.4 + resolution: "randomfill@npm:1.0.4" + dependencies: + randombytes: ^2.0.5 + safe-buffer: ^5.1.0 + checksum: 3/24658ce99e0a325f27d157fbff9b111f9fa2f56876031ac9a09bcd6c5ae53d3c3f1b124d7e1b813803ee1b09e50dd1561ac7f7a8ba2930319cbcda5e827602ab + languageName: node + linkType: hard + +"range-parser@npm:^1.2.1, range-parser@npm:~1.2.1": + version: 1.2.1 + resolution: "range-parser@npm:1.2.1" + checksum: 3/05074f5b23dbdc24acdae9821dd684fbc9c0d770cdaa4469ab529d8e0fc1338aa33561a4c7c14a1f9bdcb3b5e9a3770e5a80318258a72289a7ef05fcda72a707 + languageName: node + linkType: hard + +"raw-body@npm:2.4.0": + version: 2.4.0 + resolution: "raw-body@npm:2.4.0" + dependencies: + bytes: 3.1.0 + http-errors: 1.7.2 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + checksum: 3/46dc02f8b4f358786d41e18fb55533fbe4702d390e22bbe2b9c98c88dec41cab23ea2315f3ae0bf4bc0213a2872c89943d3df6857f4e21f996ea9d2d92f1bcaa + languageName: node + linkType: hard + +"rc@npm:^1.2.8": + version: 1.2.8 + resolution: "rc@npm:1.2.8" + dependencies: + deep-extend: ^0.6.0 + ini: ~1.3.0 + minimist: ^1.2.0 + strip-json-comments: ~2.0.1 + bin: + rc: ./cli.js + checksum: 3/ea2b7f7cee201a67923a2240de594a5d9b59bd312b814b06536d3d609a416dfd6fb9b85ea2abfd3b8a4eb5ed33eaff946ee75a8f2b7fb10941073c5cfee6b7a5 + languageName: node + linkType: hard + +"react-app-polyfill@npm:^1.0.6": + version: 1.0.6 + resolution: "react-app-polyfill@npm:1.0.6" + dependencies: + core-js: ^3.5.0 + object-assign: ^4.1.1 + promise: ^8.0.3 + raf: ^3.4.1 + regenerator-runtime: ^0.13.3 + whatwg-fetch: ^3.0.0 + checksum: 3/94d24bf1d69a0cbb26d8adbb14ba600b29c7c5adc06c9f9c8337d0f8ee7358ee2c443d806f8ca96fdf002d7f37c1a5fae6a796f63164df44a4fc3996aeb2d71f + languageName: node + linkType: hard + +"react-dev-utils@npm:^10.2.1": + version: 10.2.1 + resolution: "react-dev-utils@npm:10.2.1" + dependencies: + "@babel/code-frame": 7.8.3 + address: 1.1.2 + browserslist: 4.10.0 + chalk: 2.4.2 + cross-spawn: 7.0.1 + detect-port-alt: 1.1.6 + escape-string-regexp: 2.0.0 + filesize: 6.0.1 + find-up: 4.1.0 + fork-ts-checker-webpack-plugin: 3.1.1 + global-modules: 2.0.0 + globby: 8.0.2 + gzip-size: 5.1.1 + immer: 1.10.0 + inquirer: 7.0.4 + is-root: 2.1.0 + loader-utils: 1.2.3 + open: ^7.0.2 + pkg-up: 3.1.0 + react-error-overlay: ^6.0.7 + recursive-readdir: 2.2.2 + shell-quote: 1.7.2 + strip-ansi: 6.0.0 + text-table: 0.2.0 + checksum: 3/658b918e96b6c17d369f7ae9b67694c1cf6a90ee7a10ffd3b3a06263ddea053faeface6e45961c8336f58f375ebac5ad3766dabc525d10882dd94466fc36e7eb + languageName: node + linkType: hard + +"react-dom@npm:^16.13.1": + version: 16.13.1 + resolution: "react-dom@npm:16.13.1" + dependencies: + loose-envify: ^1.1.0 + object-assign: ^4.1.1 + prop-types: ^15.6.2 + scheduler: ^0.19.1 + peerDependencies: + react: ^16.13.1 + checksum: 3/fb5c3ad41360c6a8674f33916aa895d05e79d063d31a6963074220c1cda9e07e880799d01670b4ebd570b4d3457584f13cc898b5033a05641e8e801f5611607e + languageName: node + linkType: hard + +"react-error-overlay@npm:^6.0.7": + version: 6.0.7 + resolution: "react-error-overlay@npm:6.0.7" + checksum: 3/35533e193f9ca6dbb5cffe6c52b748dc68dbab0b9e54cb5c12cd0d8fb48ee6dea67eb33d1a3e4483d0dc16664a22b3c4f7f86441daa6774d18501d1dbd0c8283 + languageName: node + linkType: hard + +"react-is@npm:^16.12.0, react-is@npm:^16.8.1, react-is@npm:^16.8.4": + version: 16.13.1 + resolution: "react-is@npm:16.13.1" + checksum: 3/11bcf1267a314a522615f626f3ce3727a3a24cdbf61c4d452add3550a7875326669631326cfb1ba3e92b6f72244c32ffecf93ad21c0cad8455d3e169d0e3f060 + languageName: node + linkType: hard + +"react-scripts@npm:^3.4.1": + version: 3.4.1 + resolution: "react-scripts@npm:3.4.1" + dependencies: + "@babel/core": 7.9.0 + "@svgr/webpack": 4.3.3 + "@typescript-eslint/eslint-plugin": ^2.10.0 + "@typescript-eslint/parser": ^2.10.0 + babel-eslint: 10.1.0 + babel-jest: ^24.9.0 + babel-loader: 8.1.0 + babel-plugin-named-asset-import: ^0.3.6 + babel-preset-react-app: ^9.1.2 + camelcase: ^5.3.1 + case-sensitive-paths-webpack-plugin: 2.3.0 + css-loader: 3.4.2 + dotenv: 8.2.0 + dotenv-expand: 5.1.0 + eslint: ^6.6.0 + eslint-config-react-app: ^5.2.1 + eslint-loader: 3.0.3 + eslint-plugin-flowtype: 4.6.0 + eslint-plugin-import: 2.20.1 + eslint-plugin-jsx-a11y: 6.2.3 + eslint-plugin-react: 7.19.0 + eslint-plugin-react-hooks: ^1.6.1 + file-loader: 4.3.0 + fs-extra: ^8.1.0 + fsevents: 2.1.2 + html-webpack-plugin: 4.0.0-beta.11 + identity-obj-proxy: 3.0.0 + jest: 24.9.0 + jest-environment-jsdom-fourteen: 1.0.1 + jest-resolve: 24.9.0 + jest-watch-typeahead: 0.4.2 + mini-css-extract-plugin: 0.9.0 + optimize-css-assets-webpack-plugin: 5.0.3 + pnp-webpack-plugin: 1.6.4 + postcss-flexbugs-fixes: 4.1.0 + postcss-loader: 3.0.0 + postcss-normalize: 8.0.1 + postcss-preset-env: 6.7.0 + postcss-safe-parser: 4.0.1 + react-app-polyfill: ^1.0.6 + react-dev-utils: ^10.2.1 + resolve: 1.15.0 + resolve-url-loader: 3.1.1 + sass-loader: 8.0.2 + semver: 6.3.0 + style-loader: 0.23.1 + terser-webpack-plugin: 2.3.5 + ts-pnp: 1.1.6 + url-loader: 2.3.0 + webpack: 4.42.0 + webpack-dev-server: 3.10.3 + webpack-manifest-plugin: 2.2.0 + workbox-webpack-plugin: 4.3.1 + peerDependencies: + typescript: ^3.2.1 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + typescript: + optional: true + bin: + react-scripts: ./bin/react-scripts.js + checksum: 3/417fc7cfb3c7b632f8286e02febf2301ae4a4bc25299a9ef8662c777dcaef8de9d7f2320cd7491bf796674fa1de7d86fdb9e9a2852266167e19085dd78b15f79 + languageName: node + linkType: hard + +"react@npm:^16.13.1": + version: 16.13.1 + resolution: "react@npm:16.13.1" + dependencies: + loose-envify: ^1.1.0 + object-assign: ^4.1.1 + prop-types: ^15.6.2 + checksum: 3/13dcc9ba8a7521ecc3d7e69998dbc5703ae9515308d06a94a474ad34b42f1fc109372265e924a8c9b11d20fa1828407c290b8f61617c36734c4ca907ae7e5f45 + languageName: node + linkType: hard + +"read-pkg-up@npm:^1.0.1": + version: 1.0.1 + resolution: "read-pkg-up@npm:1.0.1" + dependencies: + find-up: ^1.0.0 + read-pkg: ^1.0.0 + checksum: 3/05a0d7fd655c650b11c86abfb5fc37d6ad2df7392965b3be09271414c30adadaaa37bb9f016b30f5972607d1e2d98626749f01ca602c75256ab8358394447aa7 + languageName: node + linkType: hard + +"read-pkg-up@npm:^2.0.0": + version: 2.0.0 + resolution: "read-pkg-up@npm:2.0.0" + dependencies: + find-up: ^2.0.0 + read-pkg: ^2.0.0 + checksum: 3/f35e4cb4577b994fc9497886672c748de766ab034e24f029111b6bbbfe757b2e27b6d2b82a28a38f45d9d89ea8a9b1d3c04854e5f991d5deed48f4c9ff7baeb9 + languageName: node + linkType: hard + +"read-pkg-up@npm:^3.0.0": + version: 3.0.0 + resolution: "read-pkg-up@npm:3.0.0" + dependencies: + find-up: ^2.0.0 + read-pkg: ^3.0.0 + checksum: 3/3ef50bea6df7ee0153b41f2bd2dda66ccd1fd06117a312b940b4158801c5b3cd2e4d9e9e2a81486f3197412385d7b52f17f70012e35ddb1e30acd7b425e00e38 + languageName: node + linkType: hard + +"read-pkg-up@npm:^4.0.0": + version: 4.0.0 + resolution: "read-pkg-up@npm:4.0.0" + dependencies: + find-up: ^3.0.0 + read-pkg: ^3.0.0 + checksum: 3/e611538e096723fa15f36960a293b26704145d646a3ddae6a206fa50ddba18f655b2901581ef06943758cebe8660bbf6b3b07bad645f2256cf2f775e64867ea5 + languageName: node + linkType: hard + +"read-pkg-up@npm:^7.0.1": + version: 7.0.1 + resolution: "read-pkg-up@npm:7.0.1" + dependencies: + find-up: ^4.1.0 + read-pkg: ^5.2.0 + type-fest: ^0.8.1 + checksum: 3/b8f97cc1f8235ce752b10b7b6423b0460411b4a6046186de8980429bbad8709537a4d6fac6e35a97c8630d19bab29d9013644cc5296be2d5043db3e40094b0cc + languageName: node + linkType: hard + +"read-pkg@npm:^1.0.0": + version: 1.1.0 + resolution: "read-pkg@npm:1.1.0" + dependencies: + load-json-file: ^1.0.0 + normalize-package-data: ^2.3.2 + path-type: ^1.0.0 + checksum: 3/01fdadf10e5643baffe30c294d06d8cb6dab9724f2cff0cdccbadcfab74a0050c968a0faa7a1d5191fc89eb27ab9dbec1f90ff9ac489cb77b9c0f81c630720ec + languageName: node + linkType: hard + +"read-pkg@npm:^2.0.0": + version: 2.0.0 + resolution: "read-pkg@npm:2.0.0" + dependencies: + load-json-file: ^2.0.0 + normalize-package-data: ^2.3.2 + path-type: ^2.0.0 + checksum: 3/ddf911317fba54abb447b1d76dd1785c37e1360f7b1e39d83201f6f3807572391ab7392f11727a9c4d90600ebc6616d22e72514d2291688c89ebd440148840b4 + languageName: node + linkType: hard + +"read-pkg@npm:^3.0.0": + version: 3.0.0 + resolution: "read-pkg@npm:3.0.0" + dependencies: + load-json-file: ^4.0.0 + normalize-package-data: ^2.3.2 + path-type: ^3.0.0 + checksum: 3/8cc577b41ddd70a0037d6c0414acfab8db3a25a30c7854decf3d613f1f4240c8a47e20fddbd82724e02d4eb5a0c489e2621b4a5bb3558e09ce81f53306d1b850 + languageName: node + linkType: hard + +"read-pkg@npm:^4.0.1": + version: 4.0.1 + resolution: "read-pkg@npm:4.0.1" + dependencies: + normalize-package-data: ^2.3.2 + parse-json: ^4.0.0 + pify: ^3.0.0 + checksum: 3/cc1ed67240e0f8c51e11ab3dbe17041ceae75427925babf816812e437d0adfbe2c8449142a41feaed81a5c2572a986e27be2fa093dab8b3f2eb29951ca24f8d2 + languageName: node + linkType: hard + +"read-pkg@npm:^5.2.0": + version: 5.2.0 + resolution: "read-pkg@npm:5.2.0" + dependencies: + "@types/normalize-package-data": ^2.4.0 + normalize-package-data: ^2.5.0 + parse-json: ^5.0.0 + type-fest: ^0.6.0 + checksum: 3/641102f0955f64304f97ed388bfe3b7ce55d74b1ffe1be06be1ae75479ce4910aa7177460d1982af6963f80b293a25f25d593a52a4328d941fd9b7d89fde2dbf + languageName: node + linkType: hard + +"readable-stream@npm:1 || 2, readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:^2.0.6, readable-stream@npm:^2.1.5, readable-stream@npm:^2.2.2, readable-stream@npm:^2.3.3, readable-stream@npm:^2.3.6, readable-stream@npm:~2.3.6": + version: 2.3.7 + resolution: "readable-stream@npm:2.3.7" + 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 + checksum: 3/6e3826560627a751feb3a8aec073ef94c6e47b8c8e06eb5d136323b5f09db9d2077c23a42a8d54ed0123695af54b36c1e4271a8ec55112b15f4b89020d8dec72 + languageName: node + linkType: hard + +"readable-stream@npm:2 || 3, readable-stream@npm:^3.0.6, readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0": + version: 3.6.0 + resolution: "readable-stream@npm:3.6.0" + dependencies: + inherits: ^2.0.3 + string_decoder: ^1.1.1 + util-deprecate: ^1.0.1 + checksum: 3/f178b1daa80d9e58ebba71dbb08486430aa6f0dea3a22a1b7401f3f6983077d0bc0edea43099db06b8d006c9ad48d6383e8fb72c05d5b187670aeaf1b9b44f00 + languageName: node + linkType: hard + +"readdirp@npm:^2.2.1": + version: 2.2.1 + resolution: "readdirp@npm:2.2.1" + dependencies: + graceful-fs: ^4.1.11 + micromatch: ^3.1.10 + readable-stream: ^2.0.2 + checksum: 3/00b5209ee5278ba6faa2fbcabb817e8f64a498ff7fee8cfd30634a04140e673375582812c67c59e25ee3ee9979687b1c832f33e1bbacd8ac3340bab0645b8374 + languageName: node + linkType: hard + +"readdirp@npm:~3.4.0": + version: 3.4.0 + resolution: "readdirp@npm:3.4.0" + dependencies: + picomatch: ^2.2.1 + checksum: 3/0159f43eb0a90cf4fde5989b607e0a6bef4e6332dc8648f1b50fbc013f1158e1d021bcfd6dad1dc2895da2bb14cdac408239d047e3d61a01dd3a44376e6ec1f1 + languageName: node + linkType: hard + +"realpath-native@npm:^1.1.0": + version: 1.1.0 + resolution: "realpath-native@npm:1.1.0" + dependencies: + util.promisify: ^1.0.0 + checksum: 3/67ce6bdaf8f8dd2a85e771b7b79b74b8a47299315a0a3553947df1ab4117de80d1910a2ba856a480d9e4284172cf8d7df209117f5522475e30bb7ecdee63b75b + languageName: node + linkType: hard + +"rechoir@npm:^0.6.2": + version: 0.6.2 + resolution: "rechoir@npm:0.6.2" + dependencies: + resolve: ^1.1.6 + checksum: 3/6646a6bce733282d182bf04816b15d4e2d63736b3453cf62a8568aaa1399621a73b3942315161f549e090f9a3c61bc09f4cb674f928c369a40037621e10295bd + languageName: node + linkType: hard + +"recursive-readdir@npm:2.2.2": + version: 2.2.2 + resolution: "recursive-readdir@npm:2.2.2" + dependencies: + minimatch: 3.0.4 + checksum: 3/7ca5c180a8f1158171bd68ecb8b540e3c4e187de52a724eeea5383faece2b8ccae45f99e212d69ac7af574e1014d4963bfdf13fa124f18604aa9f47563e9f086 + languageName: node + linkType: hard + +"redent@npm:^1.0.0": + version: 1.0.0 + resolution: "redent@npm:1.0.0" + dependencies: + indent-string: ^2.1.0 + strip-indent: ^1.0.1 + checksum: 3/961d06c069c2a3932e9cde95822eceffa4d09ae01af33c123b0387d67bc976fd895b2012a3b8988c336b6f79cd17a8cc0a4a5f003b1e60cafad0d3b905111527 + languageName: node + linkType: hard + +"redent@npm:^2.0.0": + version: 2.0.0 + resolution: "redent@npm:2.0.0" + dependencies: + indent-string: ^3.0.0 + strip-indent: ^2.0.0 + checksum: 3/6ab188445205d271b23636716d394f983f183c44b12d922c4cd06a172d23c657c44f92d46691dcc6c8f6d5286904a444e16e61d10fc03e12f7f8280e50da9181 + languageName: node + linkType: hard + +"redent@npm:^3.0.0": + version: 3.0.0 + resolution: "redent@npm:3.0.0" + dependencies: + indent-string: ^4.0.0 + strip-indent: ^3.0.0 + checksum: 3/78c8aa0a1076f47e0e198bfc8a9aa7d4ae3163c6951bd5de1015e47661bba62ea36573337bbeb4b309b48cc71954edbe43ae4aa3163db1996a781b757c5c47d7 + languageName: node + linkType: hard + +"regenerate-unicode-properties@npm:^8.2.0": + version: 8.2.0 + resolution: "regenerate-unicode-properties@npm:8.2.0" + dependencies: + regenerate: ^1.4.0 + checksum: 3/afe83304fbb5e8f74334b6f6f3f19ba261b9036aade352db14f4e5c2776fcf6e6a5da465628545f2f6f50f898a1b5246711b2cafedaa01c3f329d186e850af04 + languageName: node + linkType: hard + +"regenerate@npm:^1.4.0": + version: 1.4.0 + resolution: "regenerate@npm:1.4.0" + checksum: 3/d797b035730c0b5cbb7c230220b6a34610f84c1ea2369f0025292613c1ec88068cd87819fccf9c08f002670f26d59e63bbc309358181a6186f7fda185e93618a + languageName: node + linkType: hard + +"regenerator-runtime@npm:^0.11.0": + version: 0.11.1 + resolution: "regenerator-runtime@npm:0.11.1" + checksum: 3/d98d44b9f5c9c3c670dcb615c5f5374931f937f3075dc8338126f45231643aa8c47ed2bfdef6ae593e311be54ca02d25d943971ca86a3dc1fa99068c2e1b88b2 + languageName: node + linkType: hard + +"regenerator-runtime@npm:^0.13.3, regenerator-runtime@npm:^0.13.4": + version: 0.13.5 + resolution: "regenerator-runtime@npm:0.13.5" + checksum: 3/8d8ee0eca26e0491085033caf2b1b95379c4db21e38d79cde52bbd4014a3865eee26ec0f4f958682e8600f185f2f5dbcd8c6685b9b9261639767929c19b5bcd2 + languageName: node + linkType: hard + +"regenerator-transform@npm:^0.14.2": + version: 0.14.4 + resolution: "regenerator-transform@npm:0.14.4" + dependencies: + "@babel/runtime": ^7.8.4 + private: ^0.1.8 + checksum: 3/f663bcc3a38299259ba2bbac80d8079f2139809c46f796e85089fe90bf299bfaa2a4abef07eaddb4e7c23b8c5f95868850f935a40c6cb7042b0e83b82afc1b93 + languageName: node + linkType: hard + +"regex-not@npm:^1.0.0, regex-not@npm:^1.0.2": + version: 1.0.2 + resolution: "regex-not@npm:1.0.2" + dependencies: + extend-shallow: ^3.0.2 + safe-regex: ^1.1.0 + checksum: 3/3d6d95b4fda3cabe7222b3800876491825a865ae6ca4c90bb10fd0f6442d0c57d180657bb65358b4509bdd1cecad1bd2d23e7d15a69f9c523f501cc4431b950b + languageName: node + linkType: hard + +"regex-parser@npm:2.2.10": + version: 2.2.10 + resolution: "regex-parser@npm:2.2.10" + checksum: 3/b8c026e9a7b1f2dacba70a71c3464e8c2b43dbf44b719f8a8b3a244cd47177f99dc8ff184ee02302635728f378eb9828e8845620fbb79deb153b597a5619232b + languageName: node + linkType: hard + +"regexp.prototype.flags@npm:^1.3.0": + version: 1.3.0 + resolution: "regexp.prototype.flags@npm:1.3.0" + dependencies: + define-properties: ^1.1.3 + es-abstract: ^1.17.0-next.1 + checksum: 3/468e19b3aed632653333741346cab170787b9bc79eecdfdd3d7ba5be26574c135edc2ce286d9d4154b635158c3c44f9614fca51cbf6d4d3f529ef89cf7e03908 + languageName: node + linkType: hard + +"regexpp@npm:^2.0.1": + version: 2.0.1 + resolution: "regexpp@npm:2.0.1" + checksum: 3/e537f6c1b59f31a8d6381c64408d7a852aa98794896702fdadef2fa8b049f7d876da30cd0c6f6a64488aa58ad3b225d606cc689059628056b5a593e5422c38d6 + languageName: node + linkType: hard + +"regexpp@npm:^3.0.0": + version: 3.1.0 + resolution: "regexpp@npm:3.1.0" + checksum: 3/69d0ce6b449cf35d3732d6341a1e70850360ffc619f8eef10629871c462e614853fffb80d3f00fc17cd0bb5b8f34b0cde5be4b434e72c0eb3fbba2360c8b5ac4 + languageName: node + linkType: hard + +"regexpu-core@npm:^4.7.0": + version: 4.7.0 + resolution: "regexpu-core@npm:4.7.0" + dependencies: + regenerate: ^1.4.0 + regenerate-unicode-properties: ^8.2.0 + regjsgen: ^0.5.1 + regjsparser: ^0.6.4 + unicode-match-property-ecmascript: ^1.0.4 + unicode-match-property-value-ecmascript: ^1.2.0 + checksum: 3/8947f4c4ac23494cb842e6a0b82f29dd76737486d78f833c1ba2436a046a134435e442a615d988c6dc6b9cdaf611aafd3627ce8d2f62a8e580f094101916cad4 + languageName: node + linkType: hard + +"registry-auth-token@npm:^4.0.0": + version: 4.1.1 + resolution: "registry-auth-token@npm:4.1.1" + dependencies: + rc: ^1.2.8 + checksum: 3/d44404c5d4d6b13785d08f75723377bf3f3bc9f4f43d3fa3e1d23e5b49b35ccca170364e22abe3b1bf819502c6a955417bb18424c15f936f35430725add3046f + languageName: node + linkType: hard + +"registry-url@npm:^5.0.0": + version: 5.1.0 + resolution: "registry-url@npm:5.1.0" + dependencies: + rc: ^1.2.8 + checksum: 3/50802a1d43efb18505ffc1f242b8af43bde95e95ac2461f453ef21d4bce793d4230076147809f1ade7452afaa537c6e0324dd4a7bc9d83f1b6f5cc7e1300c544 + languageName: node + linkType: hard + +"regjsgen@npm:^0.5.1": + version: 0.5.1 + resolution: "regjsgen@npm:0.5.1" + checksum: 3/6c032a9cbbf735793e6a80621f2434fa08b9a59f27419133c3e3c01663b0e7687ec16c42acaeb193c07cbb4249cd42fa0398217007036a90dbb827910826fcb3 + languageName: node + linkType: hard + +"regjsparser@npm:^0.6.4": + version: 0.6.4 + resolution: "regjsparser@npm:0.6.4" + dependencies: + jsesc: ~0.5.0 + bin: + regjsparser: bin/parser + checksum: 3/cf7838462ebe0256ef25618eab5981dc080501efde6458906a47ee1c017c93f7e27723d4a56f658014d5c8381a60d189e19f05198ef343e106343642471b1594 + languageName: node + linkType: hard + +"relateurl@npm:^0.2.7": + version: 0.2.7 + resolution: "relateurl@npm:0.2.7" + checksum: 3/856db0385d82022042584c14702ce58cb4d74c6b6a6d98ba85357638e64c081e6cb85adbbadebc82eec87b6e70ba43ae02d8655e565dbd4baffdc405a1b0b614 + languageName: node + linkType: hard + +"remove-trailing-separator@npm:^1.0.1": + version: 1.1.0 + resolution: "remove-trailing-separator@npm:1.1.0" + checksum: 3/17dadf3d1f7c51411b7c426c8e2d6a660359bc8dae7686137120483fe4345bfca4bf7460d2c302aa741a7886c932d8dad708d2b971669d74e0fb3ff9a4814408 + languageName: node + linkType: hard + +"renderkid@npm:^2.0.1": + version: 2.0.3 + resolution: "renderkid@npm:2.0.3" + dependencies: + css-select: ^1.1.0 + dom-converter: ^0.2 + htmlparser2: ^3.3.0 + strip-ansi: ^3.0.0 + utila: ^0.4.0 + checksum: 3/6520020e223b934fba7faf2c87242b065196d48a6ef8fc6c2c371379ed9c3a40cd8254d7db4b1cfb1bfad254b17d346800270bb0b8e7b96002285f5b9bf13c98 + languageName: node + linkType: hard + +"repeat-element@npm:^1.1.2": + version: 1.1.3 + resolution: "repeat-element@npm:1.1.3" + checksum: 3/6a59b879efdd3512a786be5de1bc05c110822fec6820bb5a38dfdfdd4488e7ba0cf6d15b28da21544e6f072ae60762ee9efa784f2988128e656c97a8b0be46cb + languageName: node + linkType: hard + +"repeat-string@npm:^1.6.1": + version: 1.6.1 + resolution: "repeat-string@npm:1.6.1" + checksum: 3/99c431ba7bef7a5d39819d562ebca89206368b45f73213677a3b562e25b5dd272d9e6a2ca8105001df14b6fc8cc71f0b10258c86e16cf8a256318fac1ddc8a77 + languageName: node + linkType: hard + +"repeating@npm:^2.0.0": + version: 2.0.1 + resolution: "repeating@npm:2.0.1" + dependencies: + is-finite: ^1.0.0 + checksum: 3/a788561778bfcbe4fc6fd15cb912ed53665933514524e4b5a998934ef20793c0afd21229f411d15bc5b7ab171eca7ac531655070f1dfc427f723bae57b61d55a + languageName: node + linkType: hard + +"request-promise-core@npm:1.1.3": + version: 1.1.3 + resolution: "request-promise-core@npm:1.1.3" + dependencies: + lodash: ^4.17.15 + peerDependencies: + request: ^2.34 + checksum: 3/1235a6071b8a59c771d7c006dcc16e13ef0069a1248c9d5c95ab2f510fe42c9889e99b49a43fdeb331a47be0b93c85fb69a40ea72ed6c0011713026dfc0453ca + languageName: node + linkType: hard + +"request-promise-native@npm:^1.0.5, request-promise-native@npm:^1.0.8": + version: 1.0.8 + resolution: "request-promise-native@npm:1.0.8" + dependencies: + request-promise-core: 1.1.3 + stealthy-require: ^1.1.1 + tough-cookie: ^2.3.3 + peerDependencies: + request: ^2.34 + checksum: 3/29986fe3ccd11e644d60175ea81c7fbadcbe943ee6f551cad062024e6f92a5a2163d3f3af1c9e5a573641d1625377c8c716245b3a4a4e5b3811e8558126720e7 + languageName: node + linkType: hard + +"request@npm:^2.87.0, request@npm:^2.88.0, request@npm:^2.88.2": + version: 2.88.2 + resolution: "request@npm:2.88.2" + dependencies: + aws-sign2: ~0.7.0 + aws4: ^1.8.0 + caseless: ~0.12.0 + combined-stream: ~1.0.6 + extend: ~3.0.2 + forever-agent: ~0.6.1 + form-data: ~2.3.2 + har-validator: ~5.1.3 + http-signature: ~1.2.0 + is-typedarray: ~1.0.0 + isstream: ~0.1.2 + json-stringify-safe: ~5.0.1 + mime-types: ~2.1.19 + oauth-sign: ~0.9.0 + performance-now: ^2.1.0 + qs: ~6.5.2 + safe-buffer: ^5.1.2 + tough-cookie: ~2.5.0 + tunnel-agent: ^0.6.0 + uuid: ^3.3.2 + checksum: 3/7a74841f3024cac21d8c3cca7f7f2e4243fbd62464d2f291fddb94008a9d010e20c4a1488f4224b03412a4438a699db2a3de11019e486c8e656f86b0b79bf022 + languageName: node + linkType: hard + +"require-directory@npm:^2.1.1": + version: 2.1.1 + resolution: "require-directory@npm:2.1.1" + checksum: 3/f495d02d89c385af2df4b26f0216ece091e99710d358d0ede424126c476d0c639e8bd77dcd237c00a6a5658f3d862e7513164f8c280263052667d06df830eb23 + languageName: node + linkType: hard + +"require-main-filename@npm:^1.0.1": + version: 1.0.1 + resolution: "require-main-filename@npm:1.0.1" + checksum: 3/26719298b8ba213424f69beea3898fa5bdddeb7039cbc78d8680524f05b459c7d9c523fda12d1aabe74d4475458480ba231ab5147fefb3855b8e6b6b65666d99 + languageName: node + linkType: hard + +"require-main-filename@npm:^2.0.0": + version: 2.0.0 + resolution: "require-main-filename@npm:2.0.0" + checksum: 3/8d3633149a7fef67d14613146247137fe1dc4cc969bf2d1adcd40e3c28056de503229f41e78cba5efebad3a223cbfb4215fd220d879148df10c6d9a877099dbd + languageName: node + linkType: hard + +"requires-port@npm:^1.0.0": + version: 1.0.0 + resolution: "requires-port@npm:1.0.0" + checksum: 3/0db25fb2ac9b4f2345a350846b7ba99d1f25a6686b1728246d14f05450c8f2fc066bdfae4561b4be2627c184a030a27e17268cfefdf46836e271db13734bc49e + languageName: node + linkType: hard + +"resolve-cwd@npm:^2.0.0": + version: 2.0.0 + resolution: "resolve-cwd@npm:2.0.0" + dependencies: + resolve-from: ^3.0.0 + checksum: 3/f5d5526526d646c013f8ccb946861907e9f5fcfb951b2495add0f6a344a6796111b1c88e5227bc846d04a0e07182cc856a694ad0dd559dfa6a795a4eaff4477e + languageName: node + linkType: hard + +"resolve-cwd@npm:^3.0.0": + version: 3.0.0 + resolution: "resolve-cwd@npm:3.0.0" + dependencies: + resolve-from: ^5.0.0 + checksum: 3/97edfbbf83ade94e880c2e62d0faf76eb245ea5696fc70f59eaa2747773e19108a1fa0fba13f53d471d9f245454bb1592dc4f537c6dfd19b8016ef8639a9fadc + languageName: node + linkType: hard + +"resolve-from@npm:^3.0.0": + version: 3.0.0 + resolution: "resolve-from@npm:3.0.0" + checksum: 3/dc0c83b3b867753b9fe3a901587fa70efc596a69355eb133fd68f8bbaef4e77266ef38b8a01a2d664aa32ba732425d54413b3d581ca7dff96bee177c61a0c84d + languageName: node + linkType: hard + +"resolve-from@npm:^4.0.0": + version: 4.0.0 + resolution: "resolve-from@npm:4.0.0" + checksum: 3/87a4357c0c1c2d165012ec04a3b2aa58931c0c0be257890806760b627bad36c9bceb6f9b2a3726f8570c67f2c9ff3ecc9507fe65cc3ad8d45cdab015245c649f + languageName: node + linkType: hard + +"resolve-from@npm:^5.0.0": + version: 5.0.0 + resolution: "resolve-from@npm:5.0.0" + checksum: 3/0d29fc7012eb21f34d2637fa0602694f60e64c14bf5fbd5395b72f6ea5540a6906cbeef062edefc34c22fd802bfe8ae46ef936e6c4a3f1b1047390f9738dd76f + languageName: node + linkType: hard + +"resolve-url-loader@npm:3.1.1": + version: 3.1.1 + resolution: "resolve-url-loader@npm:3.1.1" + dependencies: + adjust-sourcemap-loader: 2.0.0 + camelcase: 5.3.1 + compose-function: 3.0.3 + convert-source-map: 1.7.0 + es6-iterator: 2.0.3 + loader-utils: 1.2.3 + postcss: 7.0.21 + rework: 1.0.1 + rework-visit: 1.0.0 + source-map: 0.6.1 + checksum: 3/7b113ac9e6cc5340ef41f7318411fc920bceb2282f4f397fbe563dd1dc6dfafc4c89f21f729c137c1de31864d9672461f85bafd8060e12aeee85ba80011c2b9a + languageName: node + linkType: hard + +"resolve-url@npm:^0.2.1": + version: 0.2.1 + resolution: "resolve-url@npm:0.2.1" + checksum: 3/9e1cd0028d0f2e157a889a02653637c1c1d7f133aa47b75261b4590e84105e63fae3b6be31bad50d5b94e01898d9dbe6b95abe28db7eab46e22321f7cbf00273 + languageName: node + linkType: hard resolve@1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" - integrity sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs= + version: 1.1.7 + resolution: "resolve@npm:1.1.7" + checksum: 3/3e928e9586d51dd985d42f524646267f08269261d844adfb54bf2e3a2f96e9bdb2be8e3db686145a7ac2b65c7cd894bdfa7b48b80b828ea5cb1d2abc403778b0 + languageName: node + linkType: hard resolve@1.15.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.15.0.tgz#1b7ca96073ebb52e741ffd799f6b39ea462c67f5" - integrity sha512-+hTmAldEGE80U2wJJDC1lebb5jWqvTYAfm3YZ1ckk1gBr0MnCqUKlwK1e+anaFljIl+F5tR5IoZcm4ZDA1zMQw== - dependencies: - path-parse "^1.0.6" - -resolve@1.x, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.15.1, resolve@^1.3.2, resolve@^1.8.1: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== - dependencies: - path-parse "^1.0.6" + version: 1.15.0 + resolution: "resolve@npm:1.15.0" + dependencies: + path-parse: ^1.0.6 + checksum: 3/cfeb171d758a17a681b77c26b61dbfcdf328c19aaba8ce7563f3dac5644e650d15a44735fd7bc60fe58beb41a64c009f6575367a30f39d1300011ec60fa058f4 + languageName: node + linkType: hard + +"resolve@^1.1.6, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.15.1, resolve@^1.17.0, resolve@^1.3.2, resolve@^1.8.1": + version: 1.17.0 + resolution: "resolve@npm:1.17.0" + dependencies: + path-parse: ^1.0.6 + checksum: 3/5e3cdb8cf68c20b0c5edeb6505e7fab20c6776af0cae4b978836e557420aef7bb50acd25339bbb143b7f80533aa1988c7e827a0061aee9c237926a7d2c41f8d0 + languageName: node + linkType: hard + +"resolve@patch:resolve@1.1.7#builtin": + version: 1.1.7 + resolution: "resolve@patch:resolve@npm%3A1.1.7#builtin::version=1.1.7&hash=e7677c" + checksum: 3/5238277188664a6948dd7288d16f1a09e098fb36d4f9b2c749130969c998faa9bccefd30fd618073af5210fdc768730cadfc15588bbee4fc64b257f20cab6783 + languageName: node + linkType: hard + +"resolve@patch:resolve@1.15.0#builtin": + version: 1.15.0 + resolution: "resolve@patch:resolve@npm%3A1.15.0#builtin::version=1.15.0&hash=e7677c" + dependencies: + path-parse: ^1.0.6 + checksum: 3/a977306c59618000d5954b2fb9d6c100c15f2c4df6acdab3e86bdbd3ae1e8d52e89cbbf19e6dce93ce535af1bba097c26332b1a0f85fd4daa45943ec06d90fe8 + languageName: node + linkType: hard + +"resolve@patch:resolve@^1.1.6#builtin, resolve@patch:resolve@^1.10.0#builtin, resolve@patch:resolve@^1.12.0#builtin, resolve@patch:resolve@^1.13.1#builtin, resolve@patch:resolve@^1.15.1#builtin, resolve@patch:resolve@^1.17.0#builtin, resolve@patch:resolve@^1.3.2#builtin, resolve@patch:resolve@^1.8.1#builtin": + version: 1.17.0 + resolution: "resolve@patch:resolve@npm%3A1.17.0#builtin::version=1.17.0&hash=e7677c" + dependencies: + path-parse: ^1.0.6 + checksum: 3/76954aad72cd6ba127db4fcb3354a88be83f532ba7d58e166f776136bbeded410e0f3db86737fe0f3b4714627835bde078fa662887362336aaffb4bb7002a847 + languageName: node + linkType: hard + +"resolve@patch:resolve@~1.12.0#builtin": + version: 1.12.3 + resolution: "resolve@patch:resolve@npm%3A1.12.3#builtin::version=1.12.3&hash=e7677c" + dependencies: + path-parse: ^1.0.6 + checksum: 3/067e5623062aa3022f0f23004a2bc7451b61e5cd6fbfb808d6995ddc0eaa68a0e8e055a89c0434b389ac7f875f1b89198d9aa8321f26a04737fbe49110ea03b0 + languageName: node + linkType: hard resolve@~1.12.0: - version "1.12.3" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.12.3.tgz#96d5253df8005ce19795c14338f2a013c38a8c15" - integrity sha512-hF6+hAPlxjqHWrw4p1rF3Wztbgxd4AjA5VlUzY5zcTb4J8D3JK4/1RjU48pHz2PJWzGVsLB1VWZkvJzhK2CCOA== - dependencies: - path-parse "^1.0.6" - -restore-cursor@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" - integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368= - dependencies: - onetime "^2.0.0" - signal-exit "^3.0.2" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - -ret@~0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.2.2.tgz#b6861782a1f4762dce43402a71eb7a283f44573c" - integrity sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ== - -retry@^0.10.0: - version "0.10.1" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.10.1.tgz#e76388d217992c252750241d3d3956fed98d8ff4" - integrity sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q= - -retry@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" - integrity sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= - -reusify@^1.0.2, reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rework-visit@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/rework-visit/-/rework-visit-1.0.0.tgz#9945b2803f219e2f7aca00adb8bc9f640f842c9a" - integrity sha1-mUWygD8hni96ygCtuLyfZA+ELJo= - -rework@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/rework/-/rework-1.0.1.tgz#30806a841342b54510aa4110850cd48534144aa7" - integrity sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc= - dependencies: - convert-source-map "^0.3.3" - css "^2.0.0" - -rfdc@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.1.4.tgz#ba72cc1367a0ccd9cf81a870b3b58bd3ad07f8c2" - integrity sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug== - -rgb-regex@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1" - integrity sha1-wODWiC3w4jviVKR16O3UGRX+rrE= - -rgba-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3" - integrity sha1-QzdOLiyglosO8VI0YLfXMP8i7rM= - -rimraf@2.6.3: - version "2.6.3" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" - integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== - dependencies: - glob "^7.1.3" - -rimraf@^2.5.4, rimraf@^2.6.2, rimraf@^2.6.3, rimraf@^2.7.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - -rimraf@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -ripemd160@^2.0.0, ripemd160@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - -rsvp@^4.8.4: - version "4.8.5" - resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" - integrity sha512-nfMOlASu9OnRJo1mbEk2cz0D56a1MBNrJ7orjRZQG10XDyuvwksKbuXNp6qa+kbn839HwjwhBzhFmdsaEAfauA== - -run-async@^2.2.0, run-async@^2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455" - integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ== - -run-queue@^1.0.0, run-queue@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47" - integrity sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= - dependencies: - aproba "^1.1.1" - -rxjs@^6.4.0, rxjs@^6.5.2, rxjs@^6.5.3: - version "6.5.5" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec" - integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ== - dependencies: - tslib "^1.9.0" - -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" - integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== - -safe-regex2@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/safe-regex2/-/safe-regex2-2.0.0.tgz#b287524c397c7a2994470367e0185e1916b1f5b9" - integrity sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ== - dependencies: - ret "~0.2.0" - -safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha1-QKNmnzsHfR6UPURinhV91IAjvy4= - dependencies: - ret "~0.1.10" - -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -sane@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/sane/-/sane-4.1.0.tgz#ed881fd922733a6c461bc189dc2b6c006f3ffded" - integrity sha512-hhbzAgTIX8O7SHfp2c8/kREfEn4qO/9q8C9beyY6+tvZ87EpoZ3i1RIEvp27YBswnNbY9mWd6paKVmKbAgLfZA== - dependencies: - "@cnakazawa/watch" "^1.0.3" - anymatch "^2.0.0" - capture-exit "^2.0.0" - exec-sh "^0.3.2" - execa "^1.0.0" - fb-watchman "^2.0.0" - micromatch "^3.1.4" - minimist "^1.1.1" - walker "~1.0.5" - -sanitize.css@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/sanitize.css/-/sanitize.css-10.0.0.tgz#b5cb2547e96d8629a60947544665243b1dc3657a" - integrity sha512-vTxrZz4dX5W86M6oVWVdOVe72ZiPs41Oi7Z6Km4W5Turyz28mrXSJhhEBZoRtzJWIv3833WKVwLSDWWkEfupMg== - -sass-loader@8.0.2: - version "8.0.2" - resolved "https://registry.yarnpkg.com/sass-loader/-/sass-loader-8.0.2.tgz#debecd8c3ce243c76454f2e8290482150380090d" - integrity sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ== - dependencies: - clone-deep "^4.0.1" - loader-utils "^1.2.3" - neo-async "^2.6.1" - schema-utils "^2.6.1" - semver "^6.3.0" - -sax@^1.2.4, sax@~1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - -saxes@^3.1.9: - version "3.1.11" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-3.1.11.tgz#d59d1fd332ec92ad98a2e0b2ee644702384b1c5b" - integrity sha512-Ydydq3zC+WYDJK1+gRxRapLIED9PWeSuuS41wqyoRmzvhhh9nc+QQrVMKJYzJFULazeGhzSV0QleN2wD3boh2g== - dependencies: - xmlchars "^2.1.1" - -scheduler@^0.19.1: - version "0.19.1" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196" - integrity sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - -schema-utils@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770" - integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== - dependencies: - ajv "^6.1.0" - ajv-errors "^1.0.0" - ajv-keywords "^3.1.0" - -schema-utils@^2.5.0, schema-utils@^2.6.0, schema-utils@^2.6.1, schema-utils@^2.6.4, schema-utils@^2.6.5: - version "2.6.6" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.6.6.tgz#299fe6bd4a3365dc23d99fd446caff8f1d6c330c" - integrity sha512-wHutF/WPSbIi9x6ctjGGk2Hvl0VOz5l3EKEuKbjPlB30mKZUzb9A5k9yEXRX3pwyqVLPvpfZZEllaFq/M718hA== - dependencies: - ajv "^6.12.0" - ajv-keywords "^3.4.1" - -secure-json-parse@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/secure-json-parse/-/secure-json-parse-2.1.0.tgz#ae76f5624256b5c497af887090a5d9e156c9fb20" - integrity sha512-GckO+MS/wT4UogDyoI/H/S1L0MCcKS1XX/vp48wfmU7Nw4woBmb8mIpu4zPBQjKlRT88/bt9xdoV4111jPpNJA== - -select-hose@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca" - integrity sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= - -selfsigned@^1.10.7: - version "1.10.7" - resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.7.tgz#da5819fd049d5574f28e88a9bcc6dbc6e6f3906b" - integrity sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA== - dependencies: - node-forge "0.9.0" - -semver-diff@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" - integrity sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY= - dependencies: - semver "^5.0.3" - -semver-store@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/semver-store/-/semver-store-0.3.0.tgz#ce602ff07df37080ec9f4fb40b29576547befbe9" - integrity sha512-TcZvGMMy9vodEFSse30lWinkj+JgOBvPn8wRItpQRSayhc+4ssDs335uklkfvQQJgL/WvmHLVj4Ycv2s7QCQMg== - -"semver@2 || 3 || 4 || 5", "semver@2.x || 3.x || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0, semver@^5.7.1: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.2.tgz#c7a07158a80bedd052355b770d82d6640f803be7" - integrity sha1-x6BxWKgL7dBSNVt3DYLWZA+AO+c= - -semver@6.3.0, semver@6.x, semver@^6.0.0, semver@^6.1.2, semver@^6.2.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - -send@0.17.1: - version "0.17.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8" - integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== - 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" - -serialize-javascript@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61" - integrity sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ== - -serve-index@^1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" - integrity sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= - 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" - -serve-static@1.14.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9" - integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.17.1" - -set-blocking@^2.0.0, set-blocking@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -set-cookie-parser@^2.4.1: - version "2.4.5" - resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.4.5.tgz#94a5060724e614c56c65588010594dc4b848fb8d" - integrity sha512-LkSDwseogN5l6TerqGzFzL9mUDTxSq3hX2b5AaynjC1nSCNWiDypEgHatfc0v6KcnfgV3/6F6h4ABh6igjzlQQ== - -set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - -setimmediate@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= - -setprototypeof@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" - integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== - -setprototypeof@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" - integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== - -sha.js@^2.4.0, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - -shallow-clone@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-0.1.2.tgz#5909e874ba77106d73ac414cfec1ffca87d97060" - integrity sha1-WQnodLp3EG1zrEFM/sH/yofZcGA= - dependencies: - is-extendable "^0.1.1" - kind-of "^2.0.1" - lazy-cache "^0.2.3" - mixin-object "^2.0.1" - -shallow-clone@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3" - integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA== - dependencies: - kind-of "^6.0.2" - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= - dependencies: - shebang-regex "^1.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -shell-quote@1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" - integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== - -shellwords@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b" - integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww== - -side-channel@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.2.tgz#df5d1abadb4e4bf4af1cd8852bf132d2f7876947" - integrity sha512-7rL9YlPHg7Ancea1S96Pa8/QWb4BtXL/TZvS6B8XFetGBeuhAsfmUspK6DokBeZ64+Kj9TCNRD/30pVz1BvQNA== - dependencies: - es-abstract "^1.17.0-next.1" - object-inspect "^1.7.0" - -signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo= - dependencies: - is-arrayish "^0.3.1" - -sisteransi@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -slash@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" - integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= - -slash@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" - integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slice-ansi@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636" - integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ== - dependencies: - ansi-styles "^3.2.0" - astral-regex "^1.0.0" - is-fullwidth-code-point "^2.0.0" - -slide@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" - integrity sha1-VusCfWW00tzmyy4tMsTUr8nh1wc= - -smart-buffer@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.1.0.tgz#91605c25d91652f4661ea69ccf45f1b331ca21ba" - integrity sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw== - -snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - -snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - -snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - -sockjs-client@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.4.0.tgz#c9f2568e19c8fd8173b4997ea3420e0bb306c7d5" - integrity sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g== - dependencies: - debug "^3.2.5" - eventsource "^1.0.7" - faye-websocket "~0.11.1" - inherits "^2.0.3" - json3 "^3.3.2" - url-parse "^1.4.3" - -sockjs@0.3.19: - version "0.3.19" - resolved "https://registry.yarnpkg.com/sockjs/-/sockjs-0.3.19.tgz#d976bbe800af7bd20ae08598d582393508993c0d" - integrity sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw== - dependencies: - faye-websocket "^0.10.0" - uuid "^3.0.1" - -socks-proxy-agent@^4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz#3c8991f3145b2799e70e11bd5fbc8b1963116386" - integrity sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg== - dependencies: - agent-base "~4.2.1" - socks "~2.3.2" - -socks@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.3.3.tgz#01129f0a5d534d2b897712ed8aceab7ee65d78e3" - integrity sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA== - dependencies: - ip "1.1.5" - smart-buffer "^4.1.0" - -sonic-boom@^0.7.5: - version "0.7.7" - resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-0.7.7.tgz#d921de887428208bfa07b0ae32c278de043f350a" - integrity sha512-Ei5YOo5J64GKClHIL/5evJPgASXFVpfVYbJV9PILZQytTK6/LCwHvsZJW2Ig4p9FMC2OrBrMnXKgRN/OEoAWfg== - dependencies: - atomic-sleep "^1.0.0" - flatstr "^1.0.12" - -sort-keys@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" - integrity sha1-RBttTTRnmPG05J6JIK37oOVD+a0= - dependencies: - is-plain-obj "^1.0.0" - -sort-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-2.0.0.tgz#658535584861ec97d730d6cf41822e1f56684128" - integrity sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg= - dependencies: - is-plain-obj "^1.0.0" - -source-list-map@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34" - integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== - -source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - -source-map-support@^0.5.12, source-map-support@^0.5.6, source-map-support@~0.5.12: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= - -source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.5.0, source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -spawn-command@^0.0.2-1: - version "0.0.2-1" - resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2-1.tgz#62f5e9466981c1b796dc5929937e11c9c6921bd0" - integrity sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A= - -spdx-correct@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.0.tgz#fb83e504445268f154b074e218c87c003cd31df4" - integrity sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" - integrity sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.5" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" - integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== - -spdy-transport@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31" - integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== - 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" - -spdy@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b" - integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== - 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" - -split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - -split2@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/split2/-/split2-2.2.0.tgz#186b2575bcf83e85b7d18465756238ee4ee42493" - integrity sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw== - dependencies: - through2 "^2.0.2" - -split@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9" - integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== - dependencies: - through "2" - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -sshpk@^1.7.0: - version "1.16.1" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" - integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - -ssri@^6.0.0, ssri@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" - integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== - dependencies: - figgy-pudding "^3.5.1" - -ssri@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-7.1.0.tgz#92c241bf6de82365b5c7fb4bd76e975522e1294d" - integrity sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g== - dependencies: - figgy-pudding "^3.5.1" - minipass "^3.1.1" - -stable@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" - integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== - -stack-utils@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.2.tgz#33eba3897788558bebfc2db059dc158ec36cebb8" - integrity sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA== - -static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - -"statuses@>= 1.4.0 < 2", "statuses@>= 1.5.0 < 2", statuses@^1.0.0, statuses@^1.5.0, statuses@~1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - -stealthy-require@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" - integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= - -stream-browserify@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" - integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== - dependencies: - inherits "~2.0.1" - readable-stream "^2.0.2" - -stream-each@^1.1.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae" - integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== - dependencies: - end-of-stream "^1.1.0" - stream-shift "^1.0.0" - -stream-http@^2.7.2: - version "2.8.3" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" - integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== - 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" - -stream-shift@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" - integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== - -strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - integrity sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM= - -string-length@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed" - integrity sha1-1A27aGo6zpYMHP/KVivyxF+DY+0= - dependencies: - astral-regex "^1.0.0" - strip-ansi "^4.0.0" - -string-length@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-3.1.0.tgz#107ef8c23456e187a8abd4a61162ff4ac6e25837" - integrity sha512-Ttp5YvkGm5v9Ijagtaz1BnN+k9ObpvS0eIBblPMp2YWL8FBmi9qblQ9fexc2k/CXFgrTIteU3jAw3payCnwSTA== - dependencies: - astral-regex "^1.0.0" - strip-ansi "^5.2.0" - -string-similarity@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/string-similarity/-/string-similarity-4.0.1.tgz#ea7c11f0093cb3088cdcc5eb16cfd90cb54962f7" - integrity sha512-v36MJzloekKVvKAsYi6O/qpn2mIuvwEFIT9Gx3yg4spkNjXYsk7yxc37g4ZTyMVIBvt/9PZGxnqEtme8XHK+Mw== - -string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M= - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - -"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - -string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -string.prototype.matchall@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.2.tgz#48bb510326fb9fdeb6a33ceaa81a6ea04ef7648e" - integrity sha512-N/jp6O5fMf9os0JU3E72Qhf590RSRZU/ungsL/qJUYVTNv7hTG0P/dbPjxINVN9jpscu3nzYwKESU3P3RY5tOg== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0" - has-symbols "^1.0.1" - internal-slot "^1.0.2" - regexp.prototype.flags "^1.3.0" - side-channel "^1.0.2" - -string.prototype.trimend@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" - integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - -string.prototype.trimleft@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz#4408aa2e5d6ddd0c9a80739b087fbc067c03b3cc" - integrity sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - string.prototype.trimstart "^1.0.0" - -string.prototype.trimright@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz#c76f1cef30f21bbad8afeb8db1511496cfb0f2a3" - integrity sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - string.prototype.trimend "^1.0.0" - -string.prototype.trimstart@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" - integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - -string_decoder@^1.0.0, string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -stringify-object@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629" - integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== - dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.0.0" - -strip-ansi@6.0.0, strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - -strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - -strip-bom@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" - integrity sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4= - dependencies: - is-utf8 "^0.2.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -strip-comments@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/strip-comments/-/strip-comments-1.0.2.tgz#82b9c45e7f05873bee53f37168af930aa368679d" - integrity sha512-kL97alc47hoyIQSV165tTt9rG5dn4w1dNnBhOQ3bOU1Nc1hel09jnXANaHJ7vzHLd4Ju8kseDGzlev96pghLFw== - dependencies: - babel-extract-comments "^1.0.0" - babel-plugin-transform-object-rest-spread "^6.26.0" - -strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-indent@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" - integrity sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI= - dependencies: - get-stdin "^4.0.1" - -strip-indent@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68" - integrity sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g= - -strip-json-comments@^3.0.1: - version "3.1.0" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.0.tgz#7638d31422129ecf4457440009fba03f9f9ac180" - integrity sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w== - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" - integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= - -strong-log-transformer@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10" - integrity sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA== - dependencies: - duplexer "^0.1.1" - minimist "^1.2.0" - through "^2.3.4" - -style-loader@0.23.1, style-loader@^0.23.0: - version "0.23.1" - resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-0.23.1.tgz#cb9154606f3e771ab6c4ab637026a1049174d925" - integrity sha512-XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg== - dependencies: - loader-utils "^1.1.0" - schema-utils "^1.0.0" - -stylehacks@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5" - integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g== - dependencies: - browserslist "^4.0.0" - postcss "^7.0.0" - postcss-selector-parser "^3.0.0" - -subscriptions-transport-ws@^0.9.15: - version "0.9.16" - resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.16.tgz#90a422f0771d9c32069294c08608af2d47f596ec" - integrity sha512-pQdoU7nC+EpStXnCfh/+ho0zE0Z+ma+i7xvj7bkXKb1dvYHSZxgRPaU6spRP+Bjzow67c/rRDoix5RT0uU9omw== - dependencies: - backo2 "^1.0.2" - eventemitter3 "^3.1.0" - iterall "^1.2.1" - symbol-observable "^1.0.4" - ws "^5.2.0" - -superagent@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/superagent/-/superagent-4.1.0.tgz#c465c2de41df2b8d05c165cbe403e280790cdfd5" - integrity sha512-FT3QLMasz0YyCd4uIi5HNe+3t/onxMyEho7C3PSqmti3Twgy2rXT4fmkTz6wRL6bTF4uzPcfkUCa8u4JWHw8Ag== - dependencies: - component-emitter "^1.2.0" - cookiejar "^2.1.2" - debug "^4.1.0" - form-data "^2.3.3" - formidable "^1.2.0" - methods "^1.1.1" - mime "^2.4.0" - qs "^6.6.0" - readable-stream "^3.0.6" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" - integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= - -supports-color@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b" - integrity sha1-vnoN5ITexcXN34s9WRJQRJEvY1s= - dependencies: - has-flag "^2.0.0" - -supports-color@^5.3.0, supports-color@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.0.0, supports-color@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" - integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== - dependencies: - has-flag "^4.0.0" - -supports-hyperlinks@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.1.0.tgz#f663df252af5f37c5d49bbd7eeefa9e0b9e59e47" - integrity sha512-zoE5/e+dnEijk6ASB6/qrK+oYdm2do1hjoLWrqUC/8WEIW1gbxFcKuBof7sW8ArN6e+AYvsE8HBGiVRWL/F5CA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - -svg-parser@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5" - integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ== - -svgo@^1.0.0, svgo@^1.2.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167" - integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw== - dependencies: - chalk "^2.4.1" - coa "^2.0.2" - css-select "^2.0.0" - css-select-base-adapter "^0.1.1" - css-tree "1.0.0-alpha.37" - csso "^4.0.2" - js-yaml "^3.13.1" - mkdirp "~0.5.1" - object.values "^1.1.0" - sax "~1.2.4" - stable "^0.1.8" - unquote "~1.1.1" - util.promisify "~1.0.0" - -symbol-observable@^1.0.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" - integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== - -symbol-tree@^3.2.2: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -table@^5.2.3: - version "5.4.6" - resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e" - integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug== - dependencies: - ajv "^6.10.2" - lodash "^4.17.14" - slice-ansi "^2.1.0" - string-width "^3.0.0" - -tapable@^1.0.0, tapable@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2" - integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== - -tar@^4.4.10, tar@^4.4.12, tar@^4.4.8: - version "4.4.13" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.13.tgz#43b364bc52888d555298637b10d60790254ab525" - integrity sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA== - dependencies: - chownr "^1.1.1" - fs-minipass "^1.2.5" - minipass "^2.8.6" - minizlib "^1.2.1" - mkdirp "^0.5.0" - safe-buffer "^5.1.2" - yallist "^3.0.3" - -temp-dir@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d" - integrity sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0= - -temp-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e" - integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== - -temp-write@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/temp-write/-/temp-write-3.4.0.tgz#8cff630fb7e9da05f047c74ce4ce4d685457d492" - integrity sha1-jP9jD7fp2gXwR8dM5M5NaFRX1JI= - dependencies: - graceful-fs "^4.1.2" - is-stream "^1.1.0" - make-dir "^1.0.0" - pify "^3.0.0" - temp-dir "^1.0.0" - uuid "^3.0.1" - -tempfile@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-3.0.0.tgz#5376a3492de7c54150d0cc0612c3f00e2cdaf76c" - integrity sha512-uNFCg478XovRi85iD42egu+eSFUmmka750Jy7L5tfHI5hQKKtbPnxaSaXAbBqCDYrw3wx4tXjKwci4/QmsZJxw== - dependencies: - temp-dir "^2.0.0" - uuid "^3.3.2" - -term-size@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" - integrity sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk= - dependencies: - execa "^0.7.0" - -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - -terser-webpack-plugin@2.3.5: - version "2.3.5" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-2.3.5.tgz#5ad971acce5c517440ba873ea4f09687de2f4a81" - integrity sha512-WlWksUoq+E4+JlJ+h+U+QUzXpcsMSSNXkDy9lBVkSqDn1w23Gg29L/ary9GeJVYCGiNJJX7LnVc4bwL1N3/g1w== - dependencies: - cacache "^13.0.1" - find-cache-dir "^3.2.0" - jest-worker "^25.1.0" - p-limit "^2.2.2" - schema-utils "^2.6.4" - serialize-javascript "^2.1.2" - source-map "^0.6.1" - terser "^4.4.3" - webpack-sources "^1.4.3" - -terser-webpack-plugin@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz#5ecaf2dbdc5fb99745fd06791f46fc9ddb1c9a7c" - integrity sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA== - dependencies: - cacache "^12.0.2" - find-cache-dir "^2.1.0" - is-wsl "^1.1.0" - schema-utils "^1.0.0" - serialize-javascript "^2.1.2" - source-map "^0.6.1" - terser "^4.1.2" - webpack-sources "^1.4.0" - worker-farm "^1.7.0" - -terser@^4.1.2, terser@^4.4.3, terser@^4.6.3: - version "4.6.12" - resolved "https://registry.yarnpkg.com/terser/-/terser-4.6.12.tgz#44b98aef8703fdb09a3491bf79b43faffc5b4fee" - integrity sha512-fnIwuaKjFPANG6MAixC/k1TDtnl1YlPLUlLVIxxGZUn1gfUx2+l3/zGNB72wya+lgsb50QBi2tUV75RiODwnww== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - -test-exclude@^5.2.3: - version "5.2.3" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-5.2.3.tgz#c3d3e1e311eb7ee405e092dac10aefd09091eac0" - integrity sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g== - dependencies: - glob "^7.1.3" - minimatch "^3.0.4" - read-pkg-up "^4.0.0" - require-main-filename "^2.0.0" - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-extensions@^1.0.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/text-extensions/-/text-extensions-1.9.0.tgz#1853e45fee39c945ce6f6c36b2d659b5aabc2a26" - integrity sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ== - -text-table@0.2.0, text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -thenify-all@^1.0.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" - integrity sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY= - dependencies: - thenify ">= 3.1.0 < 4" - -"thenify@>= 3.1.0 < 4": - version "3.3.0" - resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.0.tgz#e69e38a1babe969b0108207978b9f62b88604839" - integrity sha1-5p44obq+lpsBCCB5eLn2K4hgSDk= - dependencies: - any-promise "^1.0.0" - -throat@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" - integrity sha1-iQN8vJLFarGJJua6TLsgDhVnKmo= - -throat@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/throat/-/throat-5.0.0.tgz#c5199235803aad18754a667d659b5e72ce16764b" - integrity sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA== - -through2@^2.0.0, through2@^2.0.2: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -through2@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.1.tgz#39276e713c3302edf9e388dd9c812dd3b825bd5a" - integrity sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww== - dependencies: - readable-stream "2 || 3" - -through@2, "through@>=2.2.7 <3", through@^2.3.4, through@^2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -thunky@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" - integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== - -timed-out@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" - integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= - -timers-browserify@^2.0.4: - version "2.0.11" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" - integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ== - dependencies: - setimmediate "^1.0.4" - -timsort@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4" - integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= - -tiny-lru@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/tiny-lru/-/tiny-lru-7.0.2.tgz#6a8853deb1e355f4c8863bf1289337e3e3a7e973" - integrity sha512-cmc9OOwmnAJtyFBYaznKR3abypEhWecarFrvS5db6qwSgoaDUWV0JX+mdh6B9wN60Wux3+gE1vjzxkoqxFBjqw== - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - -tmpl@1.0.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" - integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= - -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= - dependencies: - kind-of "^3.0.2" - -to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - -toggle-selection@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" - integrity sha1-bkWxJj8gF/oKzH2J14sVuL932jI= - -toidentifier@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" - integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== - -toposort@^1.0.0: - version "1.0.7" - resolved "https://registry.yarnpkg.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029" - integrity sha1-LmhELZ9k7HILjMieZEOsbKqVACk= - -touch@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b" - integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA== - dependencies: - nopt "~1.0.10" - -tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@^2.5.0, tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - -tough-cookie@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-3.0.1.tgz#9df4f57e739c26930a018184887f4adb7dca73b2" - integrity sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg== - dependencies: - ip-regex "^2.1.0" - psl "^1.1.28" - punycode "^2.1.1" - -tr46@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" - integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= - dependencies: - punycode "^2.1.0" - -tree-kill@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" - integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== - -trim-newlines@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" - integrity sha1-WIeWa7WCpFA6QetST301ARgVphM= - -trim-newlines@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-2.0.0.tgz#b403d0b91be50c331dfc4b82eeceb22c3de16d20" - integrity sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA= - -trim-off-newlines@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3" - integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM= - -ts-jest@^25.4.0: - version "25.4.0" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-25.4.0.tgz#5ad504299f8541d463a52e93e5e9d76876be0ba4" - integrity sha512-+0ZrksdaquxGUBwSdTIcdX7VXdwLIlSRsyjivVA9gcO+Cvr6ByqDhu/mi5+HCcb6cMkiQp5xZ8qRO7/eCqLeyw== - dependencies: - bs-logger "0.x" - buffer-from "1.x" - fast-json-stable-stringify "2.x" - json5 "2.x" - lodash.memoize "4.x" - make-error "1.x" - micromatch "4.x" - mkdirp "1.x" - resolve "1.x" - semver "6.x" - yargs-parser "18.x" - -ts-pnp@1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.1.6.tgz#389a24396d425a0d3162e96d2b4638900fdc289a" - integrity sha512-CrG5GqAAzMT7144Cl+UIFP7mz/iIhiy+xQ6GGcnjTezhALT02uPMRw7tgDSESgB5MsfKt55+GPWw4ir1kVtMIQ== - -ts-pnp@^1.1.6: - version "1.2.0" - resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" - integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== - -tslib@^1.10.0, tslib@^1.5.0, tslib@^1.8.1, tslib@^1.9.0: - version "1.11.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35" - integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA== - -tsscmp@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" - integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA== - -tsutils@^3.17.1: - version "3.17.1" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" - integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g== - dependencies: - tslib "^1.8.1" - -tty-browserify@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" - integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= - dependencies: - safe-buffer "^5.0.1" - -tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q= - -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" - integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== - -type-fest@^0.3.0: - version "0.3.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.3.1.tgz#63d00d204e059474fe5e1b7c011112bbd1dc29e1" - integrity sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ== - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -type-is@^1.6.16, type-is@~1.6.17, type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -type@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" - integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== - -type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/type/-/type-2.0.0.tgz#5f16ff6ef2eb44f260494dae271033b29c09a9c3" - integrity sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow== - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= - -typescript@^3.9.0-beta: - version "3.9.0-dev.20200427" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.0-dev.20200427.tgz#e42d606d938575dfb7b0b66f04a31b5f0eb0be57" - integrity sha512-ja/GhL7BHT+VQZiLoYMGJt2CP1Pdr0EhYefv4LLw4tVooSuCDB8SDKT/i/HwsoPgQ4ZaYfg1vPl+1RhiO3bwJg== - -uc.micro@^1.0.1, uc.micro@^1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" - integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== - -uglify-js@3.4.x: - version "3.4.10" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" - integrity sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw== - dependencies: - commander "~2.19.0" - source-map "~0.6.1" - -uglify-js@^3.1.4: - version "3.9.1" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.9.1.tgz#a56a71c8caa2d36b5556cc1fd57df01ae3491539" - integrity sha512-JUPoL1jHsc9fOjVFHdQIhqEEJsQvfKDjlubcCilu8U26uZ73qOg8VsN8O1jbuei44ZPlwL7kmbAdM4tzaUvqnA== - dependencies: - commander "~2.20.3" - -uid-number@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" - integrity sha1-DqEOgDXo61uOREnwbaHHMGY7qoE= - -umask@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/umask/-/umask-1.1.0.tgz#f29cebf01df517912bb58ff9c4e50fde8e33320d" - integrity sha1-8pzr8B31F5ErtY/5xOUP3o4zMg0= - -undefsafe@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.3.tgz#6b166e7094ad46313b2202da7ecc2cd7cc6e7aae" - integrity sha512-nrXZwwXrD/T/JXeygJqdCO6NZZ1L66HrxM/Z7mIq2oPanoN0F1nLx3lwJMu6AwJY69hdixaFQOuoYsMjE5/C2A== - dependencies: - debug "^2.2.0" - -unicode-canonical-property-names-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" - integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== - -unicode-match-property-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" - integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== - dependencies: - unicode-canonical-property-names-ecmascript "^1.0.4" - unicode-property-aliases-ecmascript "^1.0.4" - -unicode-match-property-value-ecmascript@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" - integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== - -unicode-property-aliases-ecmascript@^1.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" - integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== - -union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - -uniq@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" - integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= - -uniqs@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" - integrity sha1-/+3ks2slKQaW5uFl1KWe25mOawI= - -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== - dependencies: - imurmurhash "^0.1.4" - -unique-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" - integrity sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo= - dependencies: - crypto-random-string "^1.0.0" - -universal-user-agent@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-4.0.1.tgz#fd8d6cb773a679a709e967ef8288a31fcc03e557" - integrity sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg== - dependencies: - os-name "^3.1.0" - -universal-user-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-5.0.0.tgz#a3182aa758069bf0e79952570ca757de3579c1d9" - integrity sha512-B5TPtzZleXyPrUMKCpEHFmVhMN6EhmJYjG5PQna9s7mXeSqGTLap4OpqLl5FCEFUI3UBmllkETwKf/db66Y54Q== - dependencies: - os-name "^3.1.0" - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= - -unquote@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" - integrity sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ= - -unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - -unzip-response@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" - integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c= - -upath@^1.1.1, upath@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894" - integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== - -update-notifier@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" - integrity sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw== - dependencies: - boxen "^1.2.1" - chalk "^2.0.1" - configstore "^3.0.0" - import-lazy "^2.1.0" - is-ci "^1.0.10" - is-installed-globally "^0.1.0" - is-npm "^1.0.0" - latest-version "^3.0.0" - semver-diff "^2.0.0" - xdg-basedir "^3.0.0" - -upper-case@^1.1.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" - integrity sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg= - -uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== - dependencies: - punycode "^2.1.0" - -urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= - -url-loader@2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/url-loader/-/url-loader-2.3.0.tgz#e0e2ef658f003efb8ca41b0f3ffbf76bab88658b" - integrity sha512-goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog== - dependencies: - loader-utils "^1.2.3" - mime "^2.4.4" - schema-utils "^2.5.0" - -url-parse-lax@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" - integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= - dependencies: - prepend-http "^1.0.1" - -url-parse@^1.4.3: - version "1.4.7" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278" - integrity sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -url@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" - integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= - dependencies: - punycode "1.3.2" - querystring "0.2.0" - -use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - -util-deprecate@^1.0.1, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= - -util-promisify@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/util-promisify/-/util-promisify-2.1.0.tgz#3c2236476c4d32c5ff3c47002add7c13b9a82a53" - integrity sha1-PCI2R2xNMsX/PEcAKt18E7moKlM= - dependencies: - object.getownpropertydescriptors "^2.0.3" - -util.promisify@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" - integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== - dependencies: - define-properties "^1.1.2" - object.getownpropertydescriptors "^2.0.3" - -util.promisify@^1.0.0, util.promisify@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" - integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.2" - has-symbols "^1.0.1" - object.getownpropertydescriptors "^2.1.0" - -util@0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" - integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= - dependencies: - inherits "2.0.1" - -util@^0.11.0: - version "0.11.1" - resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" - integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== - dependencies: - inherits "2.0.3" - -utila@^0.4.0, utila@~0.4: - version "0.4.0" - resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" - integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= - -uuid@^3.0.1, uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - -v8-compile-cache@^2.0.3: - version "2.1.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz#e14de37b31a6d194f5690d67efc4e7f6fc6ab30e" - integrity sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g== - -v8-to-istanbul@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-4.1.3.tgz#22fe35709a64955f49a08a7c7c959f6520ad6f20" - integrity sha512-sAjOC+Kki6aJVbUOXJbcR0MnbfjvBzwKZazEJymA2IX49uoOdEdk+4fBq5cXgYgiyKtAyrrJNtBZdOeDIF+Fng== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - -validate-npm-package-license@^3.0.1, validate-npm-package-license@^3.0.3: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -validate-npm-package-name@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz#5fa912d81eb7d0c74afc140de7317f0ca7df437e" - integrity sha1-X6kS2B630MdK/BQN5zF/DKffQ34= - dependencies: - builtins "^1.0.3" - -vary@^1.1.2, vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= - -vendors@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e" - integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w== - -verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA= - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - -vm-browserify@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" - integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== - -w3c-hr-time@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-1.1.2.tgz#30485ca7d70a6fd052420a3d12fd90e6339ce794" - integrity sha512-p10l/ayESzrBMYWRID6xbuCKh2Fp77+sA0doRuGn4tTIMrrZVeqfpKjXHY+oDh3K4nLdPgNwMTVP6Vp4pvqbNg== - dependencies: - domexception "^1.0.1" - webidl-conversions "^4.0.2" - xml-name-validator "^3.0.0" - -walker@^1.0.7, walker@~1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= - dependencies: - makeerror "1.0.x" - -watchpack@^1.6.0, watchpack@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.1.tgz#280da0a8718592174010c078c7585a74cd8cd0e2" - integrity sha512-+IF9hfUFOrYOOaKyfaI7h7dquUIOgyEMoQMLA7OP5FxegKA2+XdXThAZ9TU2kucfhDH7rfMHs1oPYziVGWRnZA== - dependencies: - chokidar "^2.1.8" - graceful-fs "^4.1.2" - neo-async "^2.5.0" - -wbuf@^1.1.0, wbuf@^1.7.3: - version "1.7.3" - resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df" - integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== - dependencies: - minimalistic-assert "^1.0.0" - -wcwidth@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" - integrity sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g= - dependencies: - defaults "^1.0.3" - -webidl-conversions@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" - integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== - -webpack-dev-middleware@^3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3" - integrity sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw== - dependencies: - memory-fs "^0.4.1" - mime "^2.4.4" - mkdirp "^0.5.1" - range-parser "^1.2.1" - webpack-log "^2.0.0" - -webpack-dev-server@3.10.3: - version "3.10.3" - resolved "https://registry.yarnpkg.com/webpack-dev-server/-/webpack-dev-server-3.10.3.tgz#f35945036813e57ef582c2420ef7b470e14d3af0" - integrity sha512-e4nWev8YzEVNdOMcNzNeCN947sWJNd43E5XvsJzbAL08kGc2frm1tQ32hTJslRS+H65LCb/AaUCYU7fjHCpDeQ== - dependencies: - ansi-html "0.0.7" - bonjour "^3.5.0" - chokidar "^2.1.8" - compression "^1.7.4" - connect-history-api-fallback "^1.6.0" - debug "^4.1.1" - del "^4.1.1" - express "^4.17.1" - html-entities "^1.2.1" - http-proxy-middleware "0.19.1" - import-local "^2.0.0" - internal-ip "^4.3.0" - ip "^1.1.5" - is-absolute-url "^3.0.3" - killable "^1.0.1" - loglevel "^1.6.6" - opn "^5.5.0" - p-retry "^3.0.1" - portfinder "^1.0.25" - schema-utils "^1.0.0" - selfsigned "^1.10.7" - semver "^6.3.0" - serve-index "^1.9.1" - sockjs "0.3.19" - sockjs-client "1.4.0" - spdy "^4.0.1" - strip-ansi "^3.0.1" - supports-color "^6.1.0" - url "^0.11.0" - webpack-dev-middleware "^3.7.2" - webpack-log "^2.0.0" - ws "^6.2.1" - yargs "12.0.5" - -webpack-log@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f" - integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== - dependencies: - ansi-colors "^3.0.0" - uuid "^3.3.2" - -webpack-manifest-plugin@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/webpack-manifest-plugin/-/webpack-manifest-plugin-2.2.0.tgz#19ca69b435b0baec7e29fbe90fb4015de2de4f16" - integrity sha512-9S6YyKKKh/Oz/eryM1RyLVDVmy3NSPV0JXMRhZ18fJsq+AwGxUY34X54VNwkzYcEmEkDwNxuEOboCZEebJXBAQ== - dependencies: - fs-extra "^7.0.0" - lodash ">=3.5 <5" - object.entries "^1.1.0" - tapable "^1.0.0" - -webpack-sources@^1.1.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1, webpack-sources@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933" - integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== - dependencies: - source-list-map "^2.0.0" - source-map "~0.6.1" - -webpack@4.42.0: - version "4.42.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.42.0.tgz#b901635dd6179391d90740a63c93f76f39883eb8" - integrity sha512-EzJRHvwQyBiYrYqhyjW9AqM90dE4+s1/XtCfn7uWg6cS72zH+2VPFAlsnW0+W0cDi0XRjNKUMoJtpSi50+Ph6w== - dependencies: - "@webassemblyjs/ast" "1.8.5" - "@webassemblyjs/helper-module-context" "1.8.5" - "@webassemblyjs/wasm-edit" "1.8.5" - "@webassemblyjs/wasm-parser" "1.8.5" - acorn "^6.2.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" - chrome-trace-event "^1.0.2" - enhanced-resolve "^4.1.0" - eslint-scope "^4.0.3" - json-parse-better-errors "^1.0.2" - loader-runner "^2.4.0" - loader-utils "^1.2.3" - memory-fs "^0.4.1" - micromatch "^3.1.10" - mkdirp "^0.5.1" - neo-async "^2.6.1" - node-libs-browser "^2.2.1" - schema-utils "^1.0.0" - tapable "^1.1.3" - terser-webpack-plugin "^1.4.3" - watchpack "^1.6.0" - webpack-sources "^1.4.1" - -webpack@^4.41.5: - version "4.43.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-4.43.0.tgz#c48547b11d563224c561dad1172c8aa0b8a678e6" - integrity sha512-GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g== - dependencies: - "@webassemblyjs/ast" "1.9.0" - "@webassemblyjs/helper-module-context" "1.9.0" - "@webassemblyjs/wasm-edit" "1.9.0" - "@webassemblyjs/wasm-parser" "1.9.0" - acorn "^6.4.1" - ajv "^6.10.2" - ajv-keywords "^3.4.1" - chrome-trace-event "^1.0.2" - enhanced-resolve "^4.1.0" - eslint-scope "^4.0.3" - json-parse-better-errors "^1.0.2" - loader-runner "^2.4.0" - loader-utils "^1.2.3" - memory-fs "^0.4.1" - micromatch "^3.1.10" - mkdirp "^0.5.3" - neo-async "^2.6.1" - node-libs-browser "^2.2.1" - schema-utils "^1.0.0" - tapable "^1.1.3" - terser-webpack-plugin "^1.4.3" - watchpack "^1.6.1" - webpack-sources "^1.4.1" - -websocket-driver@>=0.5.1: - version "0.7.3" - resolved "https://registry.yarnpkg.com/websocket-driver/-/websocket-driver-0.7.3.tgz#a2d4e0d4f4f116f1e6297eba58b05d430100e9f9" - integrity sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg== - dependencies: - http-parser-js ">=0.4.0 <0.4.11" - safe-buffer ">=5.1.0" - websocket-extensions ">=0.1.1" - -websocket-extensions@>=0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/websocket-extensions/-/websocket-extensions-0.1.3.tgz#5d2ff22977003ec687a4b87073dfbbac146ccf29" - integrity sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg== - -whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3, whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-fetch@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f" - integrity sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng== - -whatwg-fetch@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.0.0.tgz#fc804e458cc460009b1a2b966bc8817d2578aefb" - integrity sha512-9GSJUgz1D4MfyKU7KRqwOjXCXTqWdFNvEr7eUBYchQiVc744mqK/MzXPNR2WsPkmkOa4ywfg8C2n8h+13Bey1Q== - -whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0, whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - -whatwg-url@^6.4.1: - version "6.5.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8" - integrity sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -whatwg-url@^7.0.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" - integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which@^1.2.9, which@^1.3.0, which@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -which@^2.0.1, which@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wide-align@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" - integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA== - dependencies: - string-width "^1.0.2 || 2" - -widest-line@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc" - integrity sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA== - dependencies: - string-width "^2.1.1" - -windows-release@^3.1.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/windows-release/-/windows-release-3.3.0.tgz#dce167e9f8be733f21c849ebd4d03fe66b29b9f0" - integrity sha512-2HetyTg1Y+R+rUgrKeUEhAG/ZuOmTrI1NBb3ZyAGQMYmOJjBBPe4MTodghRkmLJZHwkuPi02anbeGP+Zf401LQ== - dependencies: - execa "^1.0.0" - -word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -wordwrap@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" - integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= - -workbox-background-sync@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-background-sync/-/workbox-background-sync-4.3.1.tgz#26821b9bf16e9e37fd1d640289edddc08afd1950" - integrity sha512-1uFkvU8JXi7L7fCHVBEEnc3asPpiAL33kO495UMcD5+arew9IbKW2rV5lpzhoWcm/qhGB89YfO4PmB/0hQwPRg== - dependencies: - workbox-core "^4.3.1" - -workbox-broadcast-update@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-broadcast-update/-/workbox-broadcast-update-4.3.1.tgz#e2c0280b149e3a504983b757606ad041f332c35b" - integrity sha512-MTSfgzIljpKLTBPROo4IpKjESD86pPFlZwlvVG32Kb70hW+aob4Jxpblud8EhNb1/L5m43DUM4q7C+W6eQMMbA== - dependencies: - workbox-core "^4.3.1" - -workbox-build@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-build/-/workbox-build-4.3.1.tgz#414f70fb4d6de47f6538608b80ec52412d233e64" - integrity sha512-UHdwrN3FrDvicM3AqJS/J07X0KXj67R8Cg0waq1MKEOqzo89ap6zh6LmaLnRAjpB+bDIz+7OlPye9iii9KBnxw== - dependencies: - "@babel/runtime" "^7.3.4" - "@hapi/joi" "^15.0.0" - common-tags "^1.8.0" - fs-extra "^4.0.2" - glob "^7.1.3" - lodash.template "^4.4.0" - pretty-bytes "^5.1.0" - stringify-object "^3.3.0" - strip-comments "^1.0.2" - workbox-background-sync "^4.3.1" - workbox-broadcast-update "^4.3.1" - workbox-cacheable-response "^4.3.1" - workbox-core "^4.3.1" - workbox-expiration "^4.3.1" - workbox-google-analytics "^4.3.1" - workbox-navigation-preload "^4.3.1" - workbox-precaching "^4.3.1" - workbox-range-requests "^4.3.1" - workbox-routing "^4.3.1" - workbox-strategies "^4.3.1" - workbox-streams "^4.3.1" - workbox-sw "^4.3.1" - workbox-window "^4.3.1" - -workbox-cacheable-response@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-cacheable-response/-/workbox-cacheable-response-4.3.1.tgz#f53e079179c095a3f19e5313b284975c91428c91" - integrity sha512-Rp5qlzm6z8IOvnQNkCdO9qrDgDpoPNguovs0H8C+wswLuPgSzSp9p2afb5maUt9R1uTIwOXrVQMmPfPypv+npw== - dependencies: - workbox-core "^4.3.1" - -workbox-core@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-core/-/workbox-core-4.3.1.tgz#005d2c6a06a171437afd6ca2904a5727ecd73be6" - integrity sha512-I3C9jlLmMKPxAC1t0ExCq+QoAMd0vAAHULEgRZ7kieCdUd919n53WC0AfvokHNwqRhGn+tIIj7vcb5duCjs2Kg== - -workbox-expiration@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-expiration/-/workbox-expiration-4.3.1.tgz#d790433562029e56837f341d7f553c4a78ebe921" - integrity sha512-vsJLhgQsQouv9m0rpbXubT5jw0jMQdjpkum0uT+d9tTwhXcEZks7qLfQ9dGSaufTD2eimxbUOJfWLbNQpIDMPw== - dependencies: - workbox-core "^4.3.1" - -workbox-google-analytics@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-google-analytics/-/workbox-google-analytics-4.3.1.tgz#9eda0183b103890b5c256e6f4ea15a1f1548519a" - integrity sha512-xzCjAoKuOb55CBSwQrbyWBKqp35yg1vw9ohIlU2wTy06ZrYfJ8rKochb1MSGlnoBfXGWss3UPzxR5QL5guIFdg== - dependencies: - workbox-background-sync "^4.3.1" - workbox-core "^4.3.1" - workbox-routing "^4.3.1" - workbox-strategies "^4.3.1" - -workbox-navigation-preload@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-navigation-preload/-/workbox-navigation-preload-4.3.1.tgz#29c8e4db5843803b34cd96dc155f9ebd9afa453d" - integrity sha512-K076n3oFHYp16/C+F8CwrRqD25GitA6Rkd6+qAmLmMv1QHPI2jfDwYqrytOfKfYq42bYtW8Pr21ejZX7GvALOw== - dependencies: - workbox-core "^4.3.1" - -workbox-precaching@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-precaching/-/workbox-precaching-4.3.1.tgz#9fc45ed122d94bbe1f0ea9584ff5940960771cba" - integrity sha512-piSg/2csPoIi/vPpp48t1q5JLYjMkmg5gsXBQkh/QYapCdVwwmKlU9mHdmy52KsDGIjVaqEUMFvEzn2LRaigqQ== - dependencies: - workbox-core "^4.3.1" - -workbox-range-requests@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-range-requests/-/workbox-range-requests-4.3.1.tgz#f8a470188922145cbf0c09a9a2d5e35645244e74" - integrity sha512-S+HhL9+iTFypJZ/yQSl/x2Bf5pWnbXdd3j57xnb0V60FW1LVn9LRZkPtneODklzYuFZv7qK6riZ5BNyc0R0jZA== - dependencies: - workbox-core "^4.3.1" - -workbox-routing@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-routing/-/workbox-routing-4.3.1.tgz#a675841af623e0bb0c67ce4ed8e724ac0bed0cda" - integrity sha512-FkbtrODA4Imsi0p7TW9u9MXuQ5P4pVs1sWHK4dJMMChVROsbEltuE79fBoIk/BCztvOJ7yUpErMKa4z3uQLX+g== - dependencies: - workbox-core "^4.3.1" - -workbox-strategies@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-strategies/-/workbox-strategies-4.3.1.tgz#d2be03c4ef214c115e1ab29c9c759c9fe3e9e646" - integrity sha512-F/+E57BmVG8dX6dCCopBlkDvvhg/zj6VDs0PigYwSN23L8hseSRwljrceU2WzTvk/+BSYICsWmRq5qHS2UYzhw== - dependencies: - workbox-core "^4.3.1" - -workbox-streams@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-streams/-/workbox-streams-4.3.1.tgz#0b57da70e982572de09c8742dd0cb40a6b7c2cc3" - integrity sha512-4Kisis1f/y0ihf4l3u/+ndMkJkIT4/6UOacU3A4BwZSAC9pQ9vSvJpIi/WFGQRH/uPXvuVjF5c2RfIPQFSS2uA== - dependencies: - workbox-core "^4.3.1" - -workbox-sw@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-sw/-/workbox-sw-4.3.1.tgz#df69e395c479ef4d14499372bcd84c0f5e246164" - integrity sha512-0jXdusCL2uC5gM3yYFT6QMBzKfBr2XTk0g5TPAV4y8IZDyVNDyj1a8uSXy3/XrvkVTmQvLN4O5k3JawGReXr9w== - -workbox-webpack-plugin@4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-webpack-plugin/-/workbox-webpack-plugin-4.3.1.tgz#47ff5ea1cc074b6c40fb5a86108863a24120d4bd" - integrity sha512-gJ9jd8Mb8wHLbRz9ZvGN57IAmknOipD3W4XNE/Lk/4lqs5Htw4WOQgakQy/o/4CoXQlMCYldaqUg+EJ35l9MEQ== - dependencies: - "@babel/runtime" "^7.0.0" - json-stable-stringify "^1.0.1" - workbox-build "^4.3.1" - -workbox-window@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/workbox-window/-/workbox-window-4.3.1.tgz#ee6051bf10f06afa5483c9b8dfa0531994ede0f3" - integrity sha512-C5gWKh6I58w3GeSc0wp2Ne+rqVw8qwcmZnQGpjiek8A2wpbxSJb1FdCoQVO+jDJs35bFgo/WETgl1fqgsxN0Hg== - dependencies: - workbox-core "^4.3.1" - -worker-farm@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8" - integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== - dependencies: - errno "~0.1.7" - -worker-rpc@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/worker-rpc/-/worker-rpc-0.1.1.tgz#cb565bd6d7071a8f16660686051e969ad32f54d5" - integrity sha512-P1WjMrUB3qgJNI9jfmpZ/htmBEjFh//6l/5y8SD9hg1Ef5zTTVVoRjTrTEzPrNBQvmhMxkoTsjOXN10GWU7aCg== - dependencies: - microevent.ts "~0.1.1" - -wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - integrity sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU= - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - -wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.1.tgz#d0b05463c188ae804396fd5ab2a370062af87529" - integrity sha512-TGHFeZEZMnv+gBFRfjAcxL5bPHrsGKtnb4qsFAws7/vlh+QfwAaySIw4AXP9ZskTTh5GWu3FLuJhsWVdiJPGvg== - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - -write-file-atomic@^2.0.0, write-file-atomic@^2.3.0, write-file-atomic@^2.4.2: - version "2.4.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" - integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -write-json-file@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-2.3.0.tgz#2b64c8a33004d54b8698c76d585a77ceb61da32f" - integrity sha1-K2TIozAE1UuGmMdtWFp3zrYdoy8= - dependencies: - detect-indent "^5.0.0" - graceful-fs "^4.1.2" - make-dir "^1.0.0" - pify "^3.0.0" - sort-keys "^2.0.0" - write-file-atomic "^2.0.0" - -write-json-file@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-3.2.0.tgz#65bbdc9ecd8a1458e15952770ccbadfcff5fe62a" - integrity sha512-3xZqT7Byc2uORAatYiP3DHUUAVEkNOswEWNs9H5KXiicRTvzYzYqKjYc4G7p+8pltvAw641lVByKVtMpf+4sYQ== - dependencies: - detect-indent "^5.0.0" - graceful-fs "^4.1.15" - make-dir "^2.1.0" - pify "^4.0.1" - sort-keys "^2.0.0" - write-file-atomic "^2.4.2" - -write-pkg@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/write-pkg/-/write-pkg-3.2.0.tgz#0e178fe97820d389a8928bc79535dbe68c2cff21" - integrity sha512-tX2ifZ0YqEFOF1wjRW2Pk93NLsj02+n1UP5RvO6rCs0K6R2g1padvf006cY74PQJKMGS2r42NK7FD0dG6Y6paw== - dependencies: - sort-keys "^2.0.0" - write-json-file "^2.2.0" - -write@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3" - integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig== - dependencies: - mkdirp "^0.5.1" - -ws@^5.2.0: - version "5.2.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" - integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== - dependencies: - async-limiter "~1.0.0" - -ws@^6.1.2, ws@^6.1.3, ws@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" - integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== - dependencies: - async-limiter "~1.0.0" - -ws@^7.0.0: - version "7.2.5" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.2.5.tgz#abb1370d4626a5a9cd79d8de404aa18b3465d10d" - integrity sha512-C34cIU4+DB2vMyAbmEKossWq2ZQDr6QEyuuCzWrM9zfw1sGc0mYiJ0UnG9zzNykt49C2Fi34hvr2vssFQRS6EA== - -xdg-basedir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" - integrity sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ= - -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - -xmlchars@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -xregexp@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-4.3.0.tgz#7e92e73d9174a99a59743f67a4ce879a04b5ae50" - integrity sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g== - dependencies: - "@babel/runtime-corejs3" "^7.8.3" - -xtend@^4.0.0, xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -"y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== - -yallist@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI= - -yallist@^3.0.0, yallist@^3.0.2, yallist@^3.0.3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^1.7.2: - version "1.9.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.9.2.tgz#f0cfa865f003ab707663e4f04b3956957ea564ed" - integrity sha512-HPT7cGGI0DuRcsO51qC1j9O16Dh1mZ2bnXwsi0jrSpsLz0WxOLSLXfkABVl6bZO629py3CU+OMJtpNHDLB97kg== - dependencies: - "@babel/runtime" "^7.9.2" - -yargs-parser@18.x, yargs-parser@^18.1.1: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^10.0.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-10.1.0.tgz#7202265b89f7e9e9f2e5765e0fe735a905edbaa8" - integrity sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ== - dependencies: - camelcase "^4.1.0" - -yargs-parser@^11.1.1: - version "11.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" - integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^15.0.1: - version "15.0.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-15.0.1.tgz#54786af40b820dcb2fb8025b11b4d659d76323b3" - integrity sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs@12.0.5, yargs@^12.0.5: - version "12.0.5" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" - integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== - dependencies: - cliui "^4.0.0" - decamelize "^1.2.0" - find-up "^3.0.0" - get-caller-file "^1.0.1" - os-locale "^3.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1 || ^4.0.0" - yargs-parser "^11.1.1" - -yargs@^13.3.0: - version "13.3.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.2" - -yargs@^14.2.2: - version "14.2.3" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-14.2.3.tgz#1a1c3edced1afb2a2fea33604bc6d1d8d688a414" - integrity sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg== - dependencies: - cliui "^5.0.0" - decamelize "^1.2.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^15.0.1" - -yargs@^15.3.1: - version "15.3.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.3.1.tgz#9505b472763963e54afe60148ad27a330818e98b" - integrity sha512-92O1HWEjw27sBfgmXiixJWT5hRBp2eobqXicLtPBIDBhYB+1HpwZlXmbW2luivBJHBzki+7VyCLRtAkScbTBQA== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.1" - -ylru@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ylru/-/ylru-1.2.1.tgz#f576b63341547989c1de7ba288760923b27fe84f" - integrity sha512-faQrqNMzcPCHGVC2aaOINk13K+aaBDUPjGWl0teOXywElLjyVAB6Oe2jj62jHYtwsU49jXhScYbvPENK+6zAvQ== + version: 1.12.3 + resolution: "resolve@npm:1.12.3" + dependencies: + path-parse: ^1.0.6 + checksum: 3/7c9c5a873b822f059c39b03d8294ff8ddf5610d6178982d13736d16dad165179f3aef7f39a1e34d8760a82c7649fe411697ff1a1543069126eda00af6c6bee71 + languageName: node + linkType: hard + +"responselike@npm:^1.0.2": + version: 1.0.2 + resolution: "responselike@npm:1.0.2" + dependencies: + lowercase-keys: ^1.0.0 + checksum: 3/c904f1499418d0729e9592079ea653c8fd35d50a7cca1a17d58ef3137382f915cbd344daaa7fe2e2b064a6d9fab4bcdd8b2ab963c523829427b440b775fba8fd + languageName: node + linkType: hard + +"restore-cursor@npm:^3.1.0": + version: 3.1.0 + resolution: "restore-cursor@npm:3.1.0" + dependencies: + onetime: ^5.1.0 + signal-exit: ^3.0.2 + checksum: 3/38e0af0830336dbc7d36b8d02e9194489dc52aaf64f41d02c427303a78552019434ad87082d67ce171a569a8be898caf7c70d5e17bd347cf6f7bd38d332d0bd4 + languageName: node + linkType: hard + +"ret@npm:~0.1.10": + version: 0.1.15 + resolution: "ret@npm:0.1.15" + checksum: 3/749c2fcae7071f5ecea4f8a18e35a79a8e8a58e522a16d843ecb9dfe9e647a76d92ae85c22690b02f87d3ab78b6b1f73341efc2fabbf59ed54dcfd9b1bdff883 + languageName: node + linkType: hard + +"ret@npm:~0.2.0": + version: 0.2.2 + resolution: "ret@npm:0.2.2" + checksum: 3/ad260291ff71343d443016b7c6ba0831dd9a51201e621ac8cfc19ab3491ffab41d2b5e4e3a3def06568a665b37a901921f51739c5012c093f2d8582f2d39f3de + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 3/51f2fddddb2f157a0738c53c515682813a881df566da36992f3cf0a975ea84a19434c5abbc682056e97351540bcc7ea38fce2622d0b191c3b5cc1020b71ea0f2 + languageName: node + linkType: hard + +"reusify@npm:^1.0.2, reusify@npm:^1.0.4": + version: 1.0.4 + resolution: "reusify@npm:1.0.4" + checksum: 3/08ef02ed0514f020a51131ba2e6c27c66ccebe25d49cfc83467a0d4054db4634a2853480d0895c710b645ab66af1a6fb3e183888306ae559413bd96c69f39ccd + languageName: node + linkType: hard + +"rework-visit@npm:1.0.0": + version: 1.0.0 + resolution: "rework-visit@npm:1.0.0" + checksum: 3/ff782e79aabef1bae937a0873f75f2cec5e4269d3778bb31d020f47d259169617e742d222340a636aa81aa234bc9b34a14ee5695bcdbb80d71b6ad358b8b8307 + languageName: node + linkType: hard + +"rework@npm:1.0.1": + version: 1.0.1 + resolution: "rework@npm:1.0.1" + dependencies: + convert-source-map: ^0.3.3 + css: ^2.0.0 + checksum: 3/fffaf7b8df23f304a9c2a58f9ded2a696f0b6ce36d92e38cb70bd769c992290dee9cbbf7b6aed089f0287d59a7954636092f43aefe2ab49ade926600ace19ffe + languageName: node + linkType: hard + +"rfdc@npm:^1.1.2": + version: 1.1.4 + resolution: "rfdc@npm:1.1.4" + checksum: 3/40a3a89d87a4398df94aa6210b1e51cab9351ddc6e486290ff0477e2b72e2c9e36b281ecebcb2655ad8c9ab71db3717d2e25e3f97fadd54cc02d1d9bd2ccf76e + languageName: node + linkType: hard + +"rgb-regex@npm:^1.0.1": + version: 1.0.1 + resolution: "rgb-regex@npm:1.0.1" + checksum: 3/7701e22ec451e55a919c88f61a8006c70d004cc06d09a3e4806b0ffaff2ac0138fbbb3896d0e21f716c745e4ad6ae62114bf0920a78c7381e994e57b73575baf + languageName: node + linkType: hard + +"rgba-regex@npm:^1.0.0": + version: 1.0.0 + resolution: "rgba-regex@npm:1.0.0" + checksum: 3/4ffb946276ee7d7259a518eae89a3c6cce99736449ebed2c88ab26a076543766c62194c7dd06b8e4f5375e91c6e9bd21ebfc3ddf4b143f3688f260cafd9d466b + languageName: node + linkType: hard + +"rimraf@npm:2.6.3": + version: 2.6.3 + resolution: "rimraf@npm:2.6.3" + dependencies: + glob: ^7.1.3 + bin: + rimraf: ./bin.js + checksum: 3/c9ce1854f19327606934558f4729b0f7aa7b9f1a3e7ca292d56261cce1074e20b0a0b16689166da6d8ab24ed9c30f7c71fba0df38e1d37f0233b6f48307c5c7a + languageName: node + linkType: hard + +"rimraf@npm:^2.5.4, rimraf@npm:^2.6.3, rimraf@npm:^2.7.1": + version: 2.7.1 + resolution: "rimraf@npm:2.7.1" + dependencies: + glob: ^7.1.3 + bin: + rimraf: ./bin.js + checksum: 3/059efac2838ef917d4d1da1d80e724ad28c120cdf14ca6ed27ca72db2dc70be3e25421cba5947c6ec3d804c1d2bb9a247254653816ee0722bf943ffdd1ae19ef + languageName: node + linkType: hard + +"rimraf@npm:^3.0.0": + version: 3.0.2 + resolution: "rimraf@npm:3.0.2" + dependencies: + glob: ^7.1.3 + bin: + rimraf: bin.js + checksum: 3/f0de3e445581e64a8a077af476cc30708e659f5779ec2ca2a161556d0792aa318a685923798ae22055b4ecd02b9aff444ef619578f7af53cf8e0e248031e3dee + languageName: node + linkType: hard + +"ripemd160@npm:^2.0.0, ripemd160@npm:^2.0.1": + version: 2.0.2 + resolution: "ripemd160@npm:2.0.2" + dependencies: + hash-base: ^3.0.0 + inherits: ^2.0.1 + checksum: 3/e0370fbe779b1f15d74c3e7dffc0ce40b57b845fc7e431fab8a571958d5fd9c91eb0038a252604600e20786d117badea0cc4cf8816b8a6be6b9166b565ad6797 + languageName: node + linkType: hard + +"root-workspace-0b6124@workspace:.": + version: 0.0.0-use.local + resolution: "root-workspace-0b6124@workspace:." + dependencies: + "@babel/cli": ^7.8.4 + "@babel/core": ^7.9.6 + "@babel/plugin-syntax-object-rest-spread": ^7.8.3 + "@babel/plugin-transform-modules-commonjs": ^7.9.6 + "@babel/plugin-transform-runtime": ^7.9.6 + "@babel/preset-env": ^7.9.6 + "@babel/preset-typescript": ^7.9.0 + "@types/mock-fs": 4.10.0 + "@types/node": ^14.0.1 + "@typescript-eslint/eslint-plugin": ^2.34.0 + "@typescript-eslint/parser": ^2.34.0 + "@typescript-eslint/typescript-estree": ^2.34.0 + babel-eslint: ^10.0.0 + babel-jest: ^26.0.1 + concurrently: ^5.2.0 + conventional-changelog-cli: ^2.0.34 + eslint: ^6.8.0 + eslint-config-prettier: ^6.11.0 + eslint-plugin-flowtype: ^4.0.0 + eslint-plugin-graphql: ^3.1.1 + eslint-plugin-import: ^2.20.2 + eslint-plugin-jest: ^23.13.1 + eslint-plugin-jsx-a11y: ^6.2.3 + eslint-plugin-react: ^7.20.0 + eslint-plugin-react-hooks: ^2.0.0 + eslint-plugin-tsdoc: ^0.2.4 + eslint_d: ^8.1.1 + graphql: ^14.6.0 + jest: ^26.0.1 + mock-fs: ^4.12.0 + pg: ^8.2.1 + prettier: ^2.0.5 + ts-jest: ^26.0.0 + typescript: ^3.9.2 + webpack: ^4.43.0 + languageName: unknown + linkType: soft + +"rsvp@npm:^4.8.4": + version: 4.8.5 + resolution: "rsvp@npm:4.8.5" + checksum: 3/eb70274fb392bb5e4f33ce8ebdee411fc8ce813ccf7d1684830c6752ba1b0346f0527107dcd7ce690ba7c1a9f2c731918fcd4ded11f57ed612897527a46c5f44 + languageName: node + linkType: hard + +"run-async@npm:^2.2.0, run-async@npm:^2.4.0": + version: 2.4.1 + resolution: "run-async@npm:2.4.1" + checksum: 3/b1f06da336029be9c08312309ccdda107558ebf3e1212e960d7a54020f888a449ade2cb8b432a9a6750537ed80119a3c798f7592e8f8518f193ff4c50c13d4a3 + languageName: node + linkType: hard + +"run-queue@npm:^1.0.0, run-queue@npm:^1.0.3": + version: 1.0.3 + resolution: "run-queue@npm:1.0.3" + dependencies: + aproba: ^1.1.1 + checksum: 3/ffc37a7b55630b3d878c77be5125ba71c4f38345bf9ee83f2a122d546cc3fc74985f8e639d926fcfb33f475bf4a0ae122791bd8dd24bce5355eed0968420ba34 + languageName: node + linkType: hard + +"rxjs@npm:^6.5.2, rxjs@npm:^6.5.3": + version: 6.5.5 + resolution: "rxjs@npm:6.5.5" + dependencies: + tslib: ^1.9.0 + checksum: 3/a3882e0374af8aa32459ea9219fdcf24cb5a943cdf35f50da4ded48435ec474647c315b85c3e7b703927a55689e54037538cbd24789548d07b74e4865c4adb78 + languageName: node + linkType: hard + +"safe-buffer@npm:5.1.2, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:~5.1.0, safe-buffer@npm:~5.1.1": + version: 5.1.2 + resolution: "safe-buffer@npm:5.1.2" + checksum: 3/2708587c1b5e70a5e420714ceb59f30f5791c6e831d39812125a008eca63a4ac18578abd020a0776ea497ff03b4543f2b2a223a7b9073bf2d6c7af9ec6829218 + languageName: node + linkType: hard + +"safe-buffer@npm:>=5.1.0, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.2.0, safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: 3/0bb57f0d8f9d1fa4fe35ad8a2db1f83a027d48f2822d59ede88fd5cd4ddad83c0b497213feb7a70fbf90597a70c5217f735b0eb1850df40ce9b4ae81dd22b3f9 + languageName: node + linkType: hard + +"safe-regex2@npm:^2.0.0": + version: 2.0.0 + resolution: "safe-regex2@npm:2.0.0" + dependencies: + ret: ~0.2.0 + checksum: 3/7557097314b77a5d1405486ff9bed7a4d745b657b21a7242c7a9bbf9d7364d6329a603c6f6428d2037b339acf95c99e19808a9904ebfe92ce0525fa199d950d3 + languageName: node + linkType: hard + +"safe-regex@npm:^1.1.0": + version: 1.1.0 + resolution: "safe-regex@npm:1.1.0" + dependencies: + ret: ~0.1.10 + checksum: 3/c355e3163fda56bef5ef0896de55ab1e26504def2c7f9ee96ee8b90171a7da7a596048d256e61a51e2d041d9f4625d956d3702ebcfb7627c7a4846896d6ce3a4 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:^2.0.2, safer-buffer@npm:^2.1.0, safer-buffer@npm:~2.1.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: 3/549ba83f5b314b59898efe3422120ce1ca7987a6eae5925a5fa5db930dc414d4a9dde0a5594f89638cd6ea60b6840ea961872908933ac2428d1726489db46fa5 + languageName: node + linkType: hard + +"sane@npm:^4.0.3": + version: 4.1.0 + resolution: "sane@npm:4.1.0" + dependencies: + "@cnakazawa/watch": ^1.0.3 + anymatch: ^2.0.0 + capture-exit: ^2.0.0 + exec-sh: ^0.3.2 + execa: ^1.0.0 + fb-watchman: ^2.0.0 + micromatch: ^3.1.4 + minimist: ^1.1.1 + walker: ~1.0.5 + bin: + sane: ./src/cli.js + checksum: 3/e384e252021b1afef7459e994fe3ea79d114a0e7d23a03e660444abf15a2b4c50ce7eac2810b2c289e857c618d96fb35ee66356ebd4d6cb97cb11b54b2b29600 + languageName: node + linkType: hard + +"sanitize.css@npm:^10.0.0": + version: 10.0.0 + resolution: "sanitize.css@npm:10.0.0" + checksum: 3/26a08c35f331db1fb87c61b0c50b6607c4259dc44f428d7e3e36aa19f44bcfa423e19ed3e2c6598eeb571759bd8d486b2c4b7720c21e4ecab7d4a045b85b3963 + languageName: node + linkType: hard + +"sass-loader@npm:8.0.2": + version: 8.0.2 + resolution: "sass-loader@npm:8.0.2" + dependencies: + clone-deep: ^4.0.1 + loader-utils: ^1.2.3 + neo-async: ^2.6.1 + schema-utils: ^2.6.1 + semver: ^6.3.0 + peerDependencies: + fibers: ">= 3.1.0" + node-sass: ^4.0.0 + sass: ^1.3.0 + webpack: ^4.36.0 || ^5.0.0 + peerDependenciesMeta: + fibers: + optional: true + node-sass: + optional: true + sass: + optional: true + checksum: 3/e23d9b308f0792fb9ca3ebe314d5c9c96dfa833f89f457e4fc9c5026dacbfbb81e65b1e9b924f6aa11d749e2ba033acf7d1767929d6f9628c45525535bceb889 + languageName: node + linkType: hard + +"sax@npm:^1.2.4, sax@npm:~1.2.4": + version: 1.2.4 + resolution: "sax@npm:1.2.4" + checksum: 3/9d7668d69105e89e2c1a4b2fdc12c72e1a2f78b825f7b4a8a2ea5cdfebf70920bd17715bed55264c3b3959616a0695f8ad2d098bf6944fbd0953ee9c695dceef + languageName: node + linkType: hard + +"saxes@npm:^3.1.9": + version: 3.1.11 + resolution: "saxes@npm:3.1.11" + dependencies: + xmlchars: ^2.1.1 + checksum: 3/dbdbd14f903e2a18c3efb422401ad0630dd25e4ed6a52fd01e42b205508ee70e5170da4d39ab2957eca54dc2934b9c8fa6f2f90292b136bfa935db7877177a08 + languageName: node + linkType: hard + +"saxes@npm:^5.0.0": + version: 5.0.1 + resolution: "saxes@npm:5.0.1" + dependencies: + xmlchars: ^2.2.0 + checksum: 3/6ad14be68da9b84af0fa3de346fd78bd3a8e8a73a462e2852279a1fff1e2619988919294001abe3ecef3783f9498962a0619d960ccca4ec2ca914526fde1acc2 + languageName: node + linkType: hard + +"scheduler@npm:^0.19.1": + version: 0.19.1 + resolution: "scheduler@npm:0.19.1" + dependencies: + loose-envify: ^1.1.0 + object-assign: ^4.1.1 + checksum: 3/804f990b9f370cca6d42b65f3cba2cc2bfed4973ee5623bed1ea36a6627842db8c891e2e5ac003f06f9ee892d1d3396921e27fa077346caf0213af05776e8dee + languageName: node + linkType: hard + +"schema-utils@npm:^1.0.0": + version: 1.0.0 + resolution: "schema-utils@npm:1.0.0" + dependencies: + ajv: ^6.1.0 + ajv-errors: ^1.0.0 + ajv-keywords: ^3.1.0 + checksum: 3/d2f753e7a17c6054cb8c6d0806daeddac73ea2a192e452f506e50af14da1999d1435618b81a616d9f72e1606c0e46bf1870c9b429bce5d3a949d34455e6e54ff + languageName: node + linkType: hard + +"schema-utils@npm:^2.5.0, schema-utils@npm:^2.6.0, schema-utils@npm:^2.6.1, schema-utils@npm:^2.6.4, schema-utils@npm:^2.6.5, schema-utils@npm:^2.6.6": + version: 2.6.6 + resolution: "schema-utils@npm:2.6.6" + dependencies: + ajv: ^6.12.0 + ajv-keywords: ^3.4.1 + checksum: 3/78ae62749e3a4a945de51ca47d22047e8959a96b1797af4abb2dfe3c10a7e5c12f877480a183e97158a8590bfde045a65af571fa68737721a975392e5606499c + languageName: node + linkType: hard + +"secure-json-parse@npm:^2.1.0": + version: 2.1.0 + resolution: "secure-json-parse@npm:2.1.0" + checksum: 3/1d5327c1ecabc99678620e0c005a3e9d08ff0b2d8b8aef8ba8242b39e0cb17984453dfcf1967bde072c010a4e9f02a3abb1c186f56c0bbd39654a0ee247b77dd + languageName: node + linkType: hard + +"select-hose@npm:^2.0.0": + version: 2.0.0 + resolution: "select-hose@npm:2.0.0" + checksum: 3/4da089c0225bfddf86d6e3942d822bab66da27c39c72baacab5bb8b1bfa7e5da45b8dfac95bd7fbe2d5b0def50c1383d1701b92f22891400abcd562bb4324af7 + languageName: node + linkType: hard + +"selfsigned@npm:^1.10.7": + version: 1.10.7 + resolution: "selfsigned@npm:1.10.7" + dependencies: + node-forge: 0.9.0 + checksum: 3/ef53d4801c5cb67690dba94b105e3d87d243f1b1254c7cc02db51d7cb352ddfece065951874515b7c23d52025c250d9f50d74dbe547ba38cca8d15c5ad4ad5e6 + languageName: node + linkType: hard + +"semver-diff@npm:^3.1.1": + version: 3.1.1 + resolution: "semver-diff@npm:3.1.1" + dependencies: + semver: ^6.3.0 + checksum: 3/d5c9b693e6118bf56226b52fe4bb51f1f05fd7b91bd7979d3d01b32d4e136e16e4ea110f28f0690608712473d682e7a71a05f0ab65b8ba4a70d63b536d4c6278 + languageName: node + linkType: hard + +"semver-store@npm:^0.3.0": + version: 0.3.0 + resolution: "semver-store@npm:0.3.0" + checksum: 3/13ca89d1f480425ee362834406cebb3274e6c47c7f1104a144b738dae5877063a55b02fa955bfc276c1e53aa3fd1ac82f78e85ba2b312371d569ef5d4723bfe5 + languageName: node + linkType: hard + +"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.4.1, semver@npm:^5.5.0, semver@npm:^5.5.1, semver@npm:^5.6.0, semver@npm:^5.7.1": + version: 5.7.1 + resolution: "semver@npm:5.7.1" + bin: + semver: ./bin/semver + checksum: 3/06ff0ed753ebf741b7602be8faad620d6e160a2cb3f61019d00d919c8bca141638aa23c34da779b8595afdc9faa3678bfbb5f60366b6a4f65f98cf86605bbcdb + languageName: node + linkType: hard + +"semver@npm:4.3.2": + version: 4.3.2 + resolution: "semver@npm:4.3.2" + bin: + semver: ./bin/semver + checksum: 3/325999b7241266b130324d54edba4432413de2afe358c7c482ccf104d3b870eabb655db2178ee966473f4dfcbdcf5f5808d1fb26a670908ba3cca2568ea5f95b + languageName: node + linkType: hard + +"semver@npm:6.3.0, semver@npm:^6.0.0, semver@npm:^6.1.2, semver@npm:^6.2.0, semver@npm:^6.3.0": + version: 6.3.0 + resolution: "semver@npm:6.3.0" + bin: + semver: ./bin/semver.js + checksum: 3/f0d155c06a67cc7e500c92d929339f1c6efd4ce9fe398aee6acc00a2333489cca0f5b4e76ee7292beba237fcca4b5a3d4a6153471f105f56299801bdab37289f + languageName: node + linkType: hard + +"semver@npm:7.0.0": + version: 7.0.0 + resolution: "semver@npm:7.0.0" + bin: + semver: bin/semver.js + checksum: 3/5162b31e9902be1d51d63523eb21d28164d632f527cb0dc439a58d6eaf1a2f3c49c4e2a0f7cf8d650f673638ae34ac7e0c7c2048ff66bc5dc1298ef8551575b5 + languageName: node + linkType: hard + +"semver@npm:7.x, semver@npm:^7.2.1, semver@npm:^7.3.2": + version: 7.3.2 + resolution: "semver@npm:7.3.2" + bin: + semver: bin/semver.js + checksum: 3/bceb46d396d039afb5be2b2860bce1b0a43ecbadc72dde7ebe9c56dd9035ca50d9b8e086208ff9bbe53773ebde0bcfc6fc0842d7358398bca7054bb9ced801e3 + languageName: node + linkType: hard + +"send@npm:0.17.1": + version: 0.17.1 + resolution: "send@npm:0.17.1" + 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 + checksum: 3/58e4ab2e07e8dfb206ca954a9b85f4e367aba0e4d59ce4c9c96a82034385b67f25d33ad526fdb69d635744bbe4d8afea06e2c0348d7d32920e3489d86dc3ec6f + languageName: node + linkType: hard + +"serialize-javascript@npm:^2.1.2": + version: 2.1.2 + resolution: "serialize-javascript@npm:2.1.2" + checksum: 3/9a4d4da6469e327332203438eed9a408e0618519d18aaba3790c88bf87712df4d577423d8fbd7122753800fa12afe19540cba111178ab0cf1f33c2b5771731bf + languageName: node + linkType: hard + +"serve-index@npm:^1.9.1": + version: 1.9.1 + resolution: "serve-index@npm:1.9.1" + 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 + checksum: 3/035c0b7d5f0457753cf6fdb3ee7d4eb94fab8abd888780ba4d84feaacc72e462ba369d5dfb92c9f0a8c770f2a13b2de32f36c237eb206fc9e1662ada61b5f489 + languageName: node + linkType: hard + +"serve-static@npm:1.14.1": + version: 1.14.1 + resolution: "serve-static@npm:1.14.1" + dependencies: + encodeurl: ~1.0.2 + escape-html: ~1.0.3 + parseurl: ~1.3.3 + send: 0.17.1 + checksum: 3/97e8c94ec02950d019000ca12a8e0b4fdeaaabb7ae965c1c05557b55b48114716ae92688972a8d9f06a5e2d5957c305253a859ec223bb39a1e0732366d0e2768 + languageName: node + linkType: hard + +"set-blocking@npm:^2.0.0, set-blocking@npm:~2.0.0": + version: 2.0.0 + resolution: "set-blocking@npm:2.0.0" + checksum: 3/0ac2403b0c2d39bf452f6d5d17dfd3cb952b9113098e1231cc0614c436e2f465637e39d27cf3b93556f5c59795e9790fd7e98da784c5f9919edeba4295ffeb29 + languageName: node + linkType: hard + +"set-cookie-parser@npm:^2.4.1": + version: 2.4.5 + resolution: "set-cookie-parser@npm:2.4.5" + checksum: 3/1ffe37853e2e5696262ec63ab5e2b103d59ab36df1fc738885d5a64f86a642d453c03e204e2aa4f653e0e4428e182b074b29bfae797fbe9a6fb8c5bf26d3ddb4 + languageName: node + linkType: hard + +"set-value@npm:^2.0.0, set-value@npm:^2.0.1": + version: 2.0.1 + resolution: "set-value@npm:2.0.1" + dependencies: + extend-shallow: ^2.0.1 + is-extendable: ^0.1.1 + is-plain-object: ^2.0.3 + split-string: ^3.0.1 + checksum: 3/a97a99a00cc5ed3034ccd690ff4dde167e4182ec4ef2fd5277637a6e388839292559301408b91405534b44e76450bdd443ac95427fde40e9a1a62102c1262bd1 + languageName: node + linkType: hard + +"setimmediate@npm:^1.0.4": + version: 1.0.5 + resolution: "setimmediate@npm:1.0.5" + checksum: 3/87884d8add4779fe47ccf763396a5bf875640ae34d80a10802da4de5c25d87647c12f6e7748fd5b8c143b57201caf2a5a781631456c228825f166ca305c12f20 + languageName: node + linkType: hard + +"setprototypeof@npm:1.1.0": + version: 1.1.0 + resolution: "setprototypeof@npm:1.1.0" + checksum: 3/8a3fb2ff4bf7daf0f8fb0e52d87d6e3dc387599e1c7a42833fddc1d711e87f7f187a6f957137a435ae154a98877e4357569f1fb48f3d17e96242621cd469e1f6 + languageName: node + linkType: hard + +"setprototypeof@npm:1.1.1": + version: 1.1.1 + resolution: "setprototypeof@npm:1.1.1" + checksum: 3/0efed4da5aec7535828ac07c3b560f0a54257a4a7d5390ffabe5530a083974aef577651507974215edb92a51efa142f22fb3242e24d630ba6adcbfc9e7f1ff2b + languageName: node + linkType: hard + +"sha.js@npm:^2.4.0, sha.js@npm:^2.4.8": + version: 2.4.11 + resolution: "sha.js@npm:2.4.11" + dependencies: + inherits: ^2.0.1 + safe-buffer: ^5.0.1 + bin: + sha.js: ./bin.js + checksum: 3/7554240ab76e683f7115123eb4815aae16b5fc6f2cdff97009831ad5b17b107ffcef022526211f7306957bce7a67fa4d0ccad79a3040c5073414365595e90516 + languageName: node + linkType: hard + +"shallow-clone@npm:^0.1.2": + version: 0.1.2 + resolution: "shallow-clone@npm:0.1.2" + dependencies: + is-extendable: ^0.1.1 + kind-of: ^2.0.1 + lazy-cache: ^0.2.3 + mixin-object: ^2.0.1 + checksum: 3/33b5ed403c14b77c930c4ad92d88cafdc318598a8ccb4e52c59d6db96d27dd50e415e2170eb1b3423adff2c0e036d7d27d62ac474edbe0712874b39c674c2d5f + languageName: node + linkType: hard + +"shallow-clone@npm:^3.0.0": + version: 3.0.1 + resolution: "shallow-clone@npm:3.0.1" + dependencies: + kind-of: ^6.0.2 + checksum: 3/e329e054c286f0681fd8a9e5c353999519332f12510a99e189ea9cfa0337adb6f1414639d44493418ef6790a693b78c354525269f5db25a9feddd8b4d7891a62 + languageName: node + linkType: hard + +"shebang-command@npm:^1.2.0": + version: 1.2.0 + resolution: "shebang-command@npm:1.2.0" + dependencies: + shebang-regex: ^1.0.0 + checksum: 3/2a1e0092a6b80b14ec742ef4e982be8aa670edc7de3e8c68b26744fb535051f7d92518106387b52e9aabe0c1ceae33d23a7dfdb94c3d7f5035c3868b723a2854 + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: ^3.0.0 + checksum: 3/85aa394d8cedeedf2e03524d6defef67a2b07d3a17d7ee50d4281d62d3fca898f26ebe7aa7bf674d51b80f197aa1d346bc1a10e8efb04377b534f4322c621012 + languageName: node + linkType: hard + +"shebang-regex@npm:^1.0.0": + version: 1.0.0 + resolution: "shebang-regex@npm:1.0.0" + checksum: 3/cf1a41cb09023e7d39739d7145fcba57c3fabc6728b78ce706f7315cf52dfadf30f7eea664e069224fbcbbfb6ab853bc55ac45f494b47ee73fc209c98487fae5 + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 3/ea18044ffaf18129ced5a246660a9171a7dff98999aaa9de8abb237d8a7711d8a1f76e16881399994ee429156717ce1c6a50c665bb18a4d55a7f80b9125b1f7d + languageName: node + linkType: hard + +"shell-quote@npm:1.7.2": + version: 1.7.2 + resolution: "shell-quote@npm:1.7.2" + checksum: 3/3b3d06814ca464cde8594c27bdd57a1f4c06b26ad2988b08b5819f97ac1edfd7cb7313fda1c909da33211972c72c5a7906b7da2b62078109f9d3274d3f404fa9 + languageName: node + linkType: hard + +"shelljs@npm:^0.8.3": + version: 0.8.4 + resolution: "shelljs@npm:0.8.4" + dependencies: + glob: ^7.0.0 + interpret: ^1.0.0 + rechoir: ^0.6.2 + bin: + shjs: bin/shjs + checksum: 3/bdf68e3c2a8a6d191dde3be2800bfcfd688c126344ccaf6cf7024cdaf824d0d3523b8e514cd52264f739cbabd2b0569637dd5a8183377347225af918e03ff5dc + languageName: node + linkType: hard + +"shellwords@npm:^0.1.1": + version: 0.1.1 + resolution: "shellwords@npm:0.1.1" + checksum: 3/3559ff550917ece921d252edf42eb54827540e9676e537137ace236df8f9b78e48c542ae0b3f8876fea0faf5826c97629d5b8cb9ac7dee287260e9804fb8132c + languageName: node + linkType: hard + +"side-channel@npm:^1.0.2": + version: 1.0.2 + resolution: "side-channel@npm:1.0.2" + dependencies: + es-abstract: ^1.17.0-next.1 + object-inspect: ^1.7.0 + checksum: 3/cbac23d542734932f164d3b4fdbd0307f97aae96c135c03100ad1d23b2ce2cd887899e94d4c231b0af880760314e381e5ca63d2d56e9fcc43e0d7d535db12624 + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.0, signal-exit@npm:^3.0.2": + version: 3.0.3 + resolution: "signal-exit@npm:3.0.3" + checksum: 3/f8f3fec95c8d1f9ad7e3cce07e1195f84e7a85cdcb4e825e8a2b76aa5406a039083d2bc9662b3cf40e6948262f41277047d20e6fbd58c77edced0b18fab647d8 + languageName: node + linkType: hard + +"simple-swizzle@npm:^0.2.2": + version: 0.2.2 + resolution: "simple-swizzle@npm:0.2.2" + dependencies: + is-arrayish: ^0.3.1 + checksum: 3/a5a2c1c86cea94f42ab843508e7c68b5bbfd15acb08056d600ac2e9c7f7c41bc417e71160ea3034a5411d3cce186c801f7a56badfb3a854906ce163120318875 + languageName: node + linkType: hard + +"sisteransi@npm:^1.0.4": + version: 1.0.5 + resolution: "sisteransi@npm:1.0.5" + checksum: 3/6554debe10fa4c6a7e8d58531313fdb61c39bb435ba420f8d7a01d8aaffecc654cca846b586e33f3c904350e24f229d5bbd8069abdb583c93252849a0f73e933 + languageName: node + linkType: hard + +"slash@npm:^1.0.0": + version: 1.0.0 + resolution: "slash@npm:1.0.0" + checksum: 3/fb026d08e401ab066ab62d3588922fd3efede998c0f4dc2041f83c5032f561defa92adc72a8ab02b28aaf1b82cc062e1963c6833e86804c5035d93c05387d06e + languageName: node + linkType: hard + +"slash@npm:^2.0.0": + version: 2.0.0 + resolution: "slash@npm:2.0.0" + checksum: 3/19b39a8b711b2820521ed23f915ecd86c6f1f64190a26ea2890367bcdbf6963b9f812c78dde91836cef67674f8463fe1cee1d58414716992f2949b102ffc57a1 + languageName: node + linkType: hard + +"slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: 3/fc3e8597d822ee3ba6cd76e9b001cd5be315f9b81c3a03a29bb611c003d1484e3b29a9e7bc020298fa669b585ff7c9268f44513f60c186216eb6af3111a3e838 + languageName: node + linkType: hard + +"slice-ansi@npm:^2.1.0": + version: 2.1.0 + resolution: "slice-ansi@npm:2.1.0" + dependencies: + ansi-styles: ^3.2.0 + astral-regex: ^1.0.0 + is-fullwidth-code-point: ^2.0.0 + checksum: 3/7578393cac91c28f8cb5fa5df36b826ad62c9e66313d2547770db8401570fa8f4aa20cd84ef9244fa054d8e9cc6bfc02578784bb89b238d384b99f2728a35a6d + languageName: node + linkType: hard + +"snapdragon-node@npm:^2.0.1": + version: 2.1.1 + resolution: "snapdragon-node@npm:2.1.1" + dependencies: + define-property: ^1.0.0 + isobject: ^3.0.0 + snapdragon-util: ^3.0.1 + checksum: 3/75918b0d6061b6acf2b9a9833b8ba7cef068df141925e790269f25f0a33d1ceb9a0ebfc39286891c112bfffbbf87744223127dba53f55e85318e335e324b65b9 + languageName: node + linkType: hard + +"snapdragon-util@npm:^3.0.1": + version: 3.0.1 + resolution: "snapdragon-util@npm:3.0.1" + dependencies: + kind-of: ^3.2.0 + checksum: 3/d1a7ab4171376f2caacae601372dacf7fdad055e63f5e7eb3e9bd87f069b41d6fc8f54726d26968682e1ba448d5de80e94f7613d9b708646b161c4789988fa75 + languageName: node + linkType: hard + +"snapdragon@npm:^0.8.1": + version: 0.8.2 + resolution: "snapdragon@npm:0.8.2" + dependencies: + base: ^0.11.1 + debug: ^2.2.0 + define-property: ^0.2.5 + extend-shallow: ^2.0.1 + map-cache: ^0.2.2 + source-map: ^0.5.6 + source-map-resolve: ^0.5.0 + use: ^3.1.0 + checksum: 3/c30b63a732bf37dbd2147bf57b4d9eac651ab7b313d1521f73855154b2c2f5a3f2ad18bd47e21cc64b6991f868ecb2a99f8da973ca86da39956f1f0f720b7033 + languageName: node + linkType: hard + +"sockjs-client@npm:1.4.0": + version: 1.4.0 + resolution: "sockjs-client@npm:1.4.0" + dependencies: + debug: ^3.2.5 + eventsource: ^1.0.7 + faye-websocket: ~0.11.1 + inherits: ^2.0.3 + json3: ^3.3.2 + url-parse: ^1.4.3 + checksum: 3/efe7e7bcf2758f5ab3947f750b9909ea442022911dfad5883f5133085b587d0ac96f579a0463be8ea0613d1d4c5ee68af33b0896b58b4b7734571d9290b6c1c0 + languageName: node + linkType: hard + +"sockjs@npm:0.3.19": + version: 0.3.19 + resolution: "sockjs@npm:0.3.19" + dependencies: + faye-websocket: ^0.10.0 + uuid: ^3.0.1 + checksum: 3/04c93f75468230e1279340799e3d5fa39978e591e1af4544b9981609c8b2b5f2720269fa11ee1e1bd4413e49bd717792e21f6d467f93337d2a9718ab9e9dc5f7 + languageName: node + linkType: hard + +"sonic-boom@npm:^0.7.5": + version: 0.7.7 + resolution: "sonic-boom@npm:0.7.7" + dependencies: + atomic-sleep: ^1.0.0 + flatstr: ^1.0.12 + checksum: 3/621a83fcc3403ef6024cf6ec0e2a3fbd70292335cf37a27a07855620258159c1f4a7c57a7bd89cbe530a23f86b5f2941dee13f65c34adf8b3079807a14293588 + languageName: node + linkType: hard + +"sort-keys@npm:^1.0.0": + version: 1.1.2 + resolution: "sort-keys@npm:1.1.2" + dependencies: + is-plain-obj: ^1.0.0 + checksum: 3/78d9165ed35a19591685375cf85b7f45d94d0538af8cf162dec9ae67e6c631468169f9242e06f799a5bbb4207e90413f32dc528323f1f5d8edb0be51bf9f8880 + languageName: node + linkType: hard + +"source-list-map@npm:^2.0.0": + version: 2.0.1 + resolution: "source-list-map@npm:2.0.1" + checksum: 3/d8d45f29987d00d995ccda308dcc78b710031a9958fdb5d26674d32220c952eb7a8562062638d91896628ae4eef30e1cd112a6a547563dfda0b013024c2a9bf7 + languageName: node + linkType: hard + +"source-map-resolve@npm:^0.5.0, source-map-resolve@npm:^0.5.2": + version: 0.5.3 + resolution: "source-map-resolve@npm:0.5.3" + dependencies: + atob: ^2.1.2 + decode-uri-component: ^0.2.0 + resolve-url: ^0.2.1 + source-map-url: ^0.4.0 + urix: ^0.1.0 + checksum: 3/042ad0c0ba70458ba45fc8726a4eb61068ca0a5273578994803e25fc0fb8da00854cf5004616c9b6d0cb7fcd528c50313789d75dfc56a2f5c789cbd332bf4331 + languageName: node + linkType: hard + +"source-map-support@npm:^0.5.17, source-map-support@npm:^0.5.19, source-map-support@npm:^0.5.6, source-map-support@npm:~0.5.12": + version: 0.5.19 + resolution: "source-map-support@npm:0.5.19" + dependencies: + buffer-from: ^1.0.0 + source-map: ^0.6.0 + checksum: 3/59d4efaae97755155b078413ecba63517e3ef054cc7ab767bbd30e6f3054be2ae8e8f5cce7eef53b7eb93e98fe27a58dd8f5e7abfb13144ba420ddaf5267bbb2 + languageName: node + linkType: hard + +"source-map-url@npm:^0.4.0": + version: 0.4.0 + resolution: "source-map-url@npm:0.4.0" + checksum: 3/84d509cfa1f6f5e0d2a36e17b8097422954e3007fbe4b741c2f1ec91551ac5493ffa0c21862a54bb8e0d31701fe2cba1129aced695f515d35d375bfad755eb98 + languageName: node + linkType: hard + +"source-map@npm:0.6.1, source-map@npm:^0.6.0, source-map@npm:^0.6.1, source-map@npm:~0.6.0, source-map@npm:~0.6.1": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 3/8647829a0611724114022be455ca1c8a2c8ae61df81c5b3667d9b398207226a1e21174fb7bbf0b4dbeb27ac358222afb5a14f1c74a62a62b8883b012e5eb1270 + languageName: node + linkType: hard + +"source-map@npm:^0.5.0, source-map@npm:^0.5.6": + version: 0.5.7 + resolution: "source-map@npm:0.5.7" + checksum: 3/737face96577a2184a42f141607fcc2c9db5620cb8517ae8ab3924476defa138fc26b0bab31e98cbd6f19211ecbf78400b59f801ff7a0f87aa9faa79f7433e10 + languageName: node + linkType: hard + +"source-map@npm:^0.7.3": + version: 0.7.3 + resolution: "source-map@npm:0.7.3" + checksum: 3/351ce26ffa1ebf203660c0d70d7566c81e65d2d994d1c2d94da140808e02da34961673ce12ecea9b40797b96fbeb8c70bf71a4ad9f779f1a4fdbba75530bb386 + languageName: node + linkType: hard + +"spawn-command@npm:^0.0.2-1": + version: 0.0.2 + resolution: "spawn-command@npm:0.0.2" + checksum: 3/961fb1551f2d5848509ec661f639c515e582034b010724fcaad6949148e21c50226e30889dd710a70dce25c4ba43437665aad621fc37c0f8a75fa9ec3e46a69f + languageName: node + linkType: hard + +"spdx-correct@npm:^3.0.0": + version: 3.1.0 + resolution: "spdx-correct@npm:3.1.0" + dependencies: + spdx-expression-parse: ^3.0.0 + spdx-license-ids: ^3.0.0 + checksum: 3/3b0874df2bb18f7bd1f7e1308b5bd5f1184b55c23753eb0ae4d4f4cd9e9006ce4ec800df7b3f438fdd64b4dc7e923d46787e7f7bda2abae4c1d6f161dd93163b + languageName: node + linkType: hard + +"spdx-exceptions@npm:^2.1.0": + version: 2.3.0 + resolution: "spdx-exceptions@npm:2.3.0" + checksum: 3/3cbd2498897dc384158666a9dd7435e3b42ece5da42fd967b218b790e248381d001ec77a676d13d1f4e8da317d97b7bc0ebf4fff37bfbb95923d49b024030c96 + languageName: node + linkType: hard + +"spdx-expression-parse@npm:^3.0.0": + version: 3.0.1 + resolution: "spdx-expression-parse@npm:3.0.1" + dependencies: + spdx-exceptions: ^2.1.0 + spdx-license-ids: ^3.0.0 + checksum: 3/f0211cada3fa7cd9db2243143fb0e66e28a46d72d8268f38ad2196aac49408d87892cda6e5600d43d6b05ed2707cb2f4148deb27b092aafabc50a67038f4cbf5 + languageName: node + linkType: hard + +"spdx-license-ids@npm:^3.0.0": + version: 3.0.5 + resolution: "spdx-license-ids@npm:3.0.5" + checksum: 3/4ff7c0615a3c69a195b206a425e6a633ccb24e680ac21f5464b249b57ebb5c3f356f84a8e713599758be69ee4a849319d7fce7041b69e29acd9d31daed3fb8eb + languageName: node + linkType: hard + +"spdy-transport@npm:^3.0.0": + version: 3.0.0 + resolution: "spdy-transport@npm:3.0.0" + 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 + checksum: 3/e717ce9d76a03052205950632cb316e4de863764fd968404820cb84f4a93da259e43d5c973c3444847157a41ad6316ffdd7a2862454a7862ebd84388d1ce6e2a + languageName: node + linkType: hard + +"spdy@npm:^4.0.1": + version: 4.0.2 + resolution: "spdy@npm:4.0.2" + 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 + checksum: 3/388d39324d706a0a73d1d16fa93397029b3eb47ff2aaa3ad58c3d9c7682ce53eb847795560dc08190b7e3f8404e8bf4814ff3fd74cf0c849796310f1cd8a5f92 + languageName: node + linkType: hard + +"split-string@npm:^3.0.1, split-string@npm:^3.0.2": + version: 3.1.0 + resolution: "split-string@npm:3.1.0" + dependencies: + extend-shallow: ^3.0.0 + checksum: 3/9b610d1509f8213dad7d38b5f0b49109ab53c2a93e7886c370a66b9eeb723706cd01b04b61b3d906ff6369314429412f8fad54b93d57fa50103d85884f0c175f + languageName: node + linkType: hard + +"split2@npm:^2.0.0": + version: 2.2.0 + resolution: "split2@npm:2.2.0" + dependencies: + through2: ^2.0.2 + checksum: 3/cf58dc8aa424499cd68a9e7d9ae94441ff972ce0c1f9599bef9d65b3f4384913c557eeec939ea34e2832309d90b6ad6993c5b51b152cba2f72500299464e6a9c + languageName: node + linkType: hard + +"split@npm:^1.0.0": + version: 1.0.1 + resolution: "split@npm:1.0.1" + dependencies: + through: 2 + checksum: 3/ed6bb44fd1b46527ff4435b6b843fcfe46c3ffcf19d4f7bc936a7dbf38b42c9c171112452a94ba631d6e8e0be80c87c1e79fb24a3c67e016756e8b5da35a0e9a + languageName: node + linkType: hard + +"sprintf-js@npm:~1.0.2": + version: 1.0.3 + resolution: "sprintf-js@npm:1.0.3" + checksum: 3/51df1bce9e577287f56822d79ac5bd94f6c634fccf193895f2a1d2db2e975b6aa7bc97afae9cf11d49b7c37fe4afc188ff5c4878be91f2c86eabd11c5df8b62c + languageName: node + linkType: hard + +"sshpk@npm:^1.7.0": + version: 1.16.1 + resolution: "sshpk@npm:1.16.1" + dependencies: + asn1: ~0.2.3 + assert-plus: ^1.0.0 + bcrypt-pbkdf: ^1.0.0 + dashdash: ^1.12.0 + ecc-jsbn: ~0.1.1 + getpass: ^0.1.1 + jsbn: ~0.1.0 + safer-buffer: ^2.0.2 + tweetnacl: ~0.14.0 + bin: + sshpk-conv: bin/sshpk-conv + sshpk-sign: bin/sshpk-sign + sshpk-verify: bin/sshpk-verify + checksum: 3/4bd7422634ec3730404186179e5d9ba913accc64449f18d594b3a757a3b81000719adc94cf0c93a7b3da42487ae42404a1f37bfaa7908a60743d4478382b9d78 + languageName: node + linkType: hard + +"ssri@npm:^6.0.1": + version: 6.0.1 + resolution: "ssri@npm:6.0.1" + dependencies: + figgy-pudding: ^3.5.1 + checksum: 3/828c8c24c993c77646e22e869f93ee0fd3406fed7d793a46fd2cb88b8fcf49ca610ac79a88776b2be62df92be7878cda334c8d98e041d6182eac33cf16cc65b6 + languageName: node + linkType: hard + +"ssri@npm:^7.0.0": + version: 7.1.0 + resolution: "ssri@npm:7.1.0" + dependencies: + figgy-pudding: ^3.5.1 + minipass: ^3.1.1 + checksum: 3/99506ae2e3371727892120e84a36ad11fd257bdd6e2c8adee942e96427f4cdf386802ed11787df2d22f2910afe8ec1919f804be0966ada353efde480dfd8c6a3 + languageName: node + linkType: hard + +"stable@npm:^0.1.8": + version: 0.1.8 + resolution: "stable@npm:0.1.8" + checksum: 3/a430967bb543d4d1a5cbec81b48034006a467464f5d4bdf72bd7279da406956e1f8edaa56aab74ec17cc4e56ee61668dc4f1b380255507cf2f70c6ba589f7c48 + languageName: node + linkType: hard + +"stack-utils@npm:^1.0.1": + version: 1.0.2 + resolution: "stack-utils@npm:1.0.2" + checksum: 3/593a8bc5ca6d4bc0f97a5eb9b4d5739614a1037ccbeb05989de7e24c9352e2744c779611fa30a441ab40a97a1cc770d6cd4acdbc621fd80ea8d309c3d8068c49 + languageName: node + linkType: hard + +"stack-utils@npm:^2.0.2": + version: 2.0.2 + resolution: "stack-utils@npm:2.0.2" + dependencies: + escape-string-regexp: ^2.0.0 + checksum: 3/a9fa702767defa95a14fe7a78083eadfc254c5e12e105b034242b47cc4e9ba4ba345b54b7218b8abbbf8f38d6a327b20aa0fdebb582eae5118f2cd004e7bace5 + languageName: node + linkType: hard + +"static-extend@npm:^0.1.1": + version: 0.1.2 + resolution: "static-extend@npm:0.1.2" + dependencies: + define-property: ^0.2.5 + object-copy: ^0.1.0 + checksum: 3/c42052c35259769fabbede527b2ae81962b53cf3b7a5cb07bd5b0b295777641ba81ddb2f4a62df9970c96303357fc6ffb90f61a4a9e127e6e42c7895af9cd5ce + languageName: node + linkType: hard + +"statuses@npm:>= 1.4.0 < 2, statuses@npm:>= 1.5.0 < 2, statuses@npm:^1.5.0, statuses@npm:~1.5.0": + version: 1.5.0 + resolution: "statuses@npm:1.5.0" + checksum: 3/57735269bf231176a60deb80f6d60214cb4a87663b0937e79497afe9aebe2597f8377fd28893f4d1776205f18dd0b927774a26b72051411ac5108e9e2dfc77d2 + languageName: node + linkType: hard + +"statuses@npm:^2.0.0": + version: 2.0.0 + resolution: "statuses@npm:2.0.0" + checksum: 3/96ea1a203045654ef0bdfaa54a7f2a529e7e0d248785c9196cf834281cb5bb42adb1525dc5a6498791de271af2f2ae8b0b52b057e60dff256aa71e51aae656cb + languageName: node + linkType: hard + +"stealthy-require@npm:^1.1.1": + version: 1.1.1 + resolution: "stealthy-require@npm:1.1.1" + checksum: 3/f24a9bc613817dea37afcbf64578f2ba0195916d906ebdaa1c1d5b8e9d51fd462cbf4c61ae04217babd0cf662e6c0115fd972dffa8e62a7f6f44f3109fb4c796 + languageName: node + linkType: hard + +"stream-browserify@npm:^2.0.1": + version: 2.0.2 + resolution: "stream-browserify@npm:2.0.2" + dependencies: + inherits: ~2.0.1 + readable-stream: ^2.0.2 + checksum: 3/d50d9a28df714f2d599f416388541de445bfa417039a4808a1ca68381f0152205b8e50dbc04e39959b3b1a9c5e561cab1ecb1bdf4f6ab2f66f6b1450000049d9 + languageName: node + linkType: hard + +"stream-each@npm:^1.1.0": + version: 1.2.3 + resolution: "stream-each@npm:1.2.3" + dependencies: + end-of-stream: ^1.1.0 + stream-shift: ^1.0.0 + checksum: 3/2b64a88075c48ab3f97f11a940118d529d09c2470bd582e19dc3136ccf372d9cba17c7e96f09abcf5644d124ce994b6e4bbb14925b78e5836ed46059a0af2991 + languageName: node + linkType: hard + +"stream-http@npm:^2.7.2": + version: 2.8.3 + resolution: "stream-http@npm:2.8.3" + 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 + checksum: 3/7ef9e10567b1a49d6c05730427280ef7623a6b407df3981d5d14d30d56225c4d64857d7473ab8eca93dbcaaf897e4f4fda8b5b482cf26255e26f1a31d696c1b8 + languageName: node + linkType: hard + +"stream-shift@npm:^1.0.0": + version: 1.0.1 + resolution: "stream-shift@npm:1.0.1" + checksum: 3/5d777b222e460dc660ee29acad4f99649eb8d0051d3cb648fc92f3f77557b33d0a8ad656291c2cfa87703204191534a6003c2b035606a699674d0bb600353ad3 + languageName: node + linkType: hard + +"strict-uri-encode@npm:^1.0.0": + version: 1.1.0 + resolution: "strict-uri-encode@npm:1.1.0" + checksum: 3/6c80f6998a45414d7c124772383cc10ce7bd22586af80762407cded1569666564fb8c0a4c9c997ac39a1116d46dfffc5d57135e759a0acb66a4da1191f5a3a4a + languageName: node + linkType: hard + +"string-length@npm:^2.0.0": + version: 2.0.0 + resolution: "string-length@npm:2.0.0" + dependencies: + astral-regex: ^1.0.0 + strip-ansi: ^4.0.0 + checksum: 3/44d79c40a4c998b333e72c5772e1b7b140687a3039315fa0579b4967a6dd2bff6d20c06489241ff32f261a4614e2d326305353bc6db4001179d43bf96c90754f + languageName: node + linkType: hard + +"string-length@npm:^3.1.0": + version: 3.1.0 + resolution: "string-length@npm:3.1.0" + dependencies: + astral-regex: ^1.0.0 + strip-ansi: ^5.2.0 + checksum: 3/10b2df41a57675f3d9dde96788261a4a37612c57929455b3c5fbbc2d7e6823432ba303321636f62a1f183cc8632db49dc81bd60e167ed21cd709570533a591ce + languageName: node + linkType: hard + +"string-length@npm:^4.0.1": + version: 4.0.1 + resolution: "string-length@npm:4.0.1" + dependencies: + char-regex: ^1.0.2 + strip-ansi: ^6.0.0 + checksum: 3/afc433824703f1fe3d7e34a980055eb376e9f52ed69b90196c7520819cbc5550b9b1a6abaa22704f4f01c7b40191f22a5e7fe3885a005959b4487d89c7e94b94 + languageName: node + linkType: hard + +"string-similarity@npm:^4.0.1": + version: 4.0.1 + resolution: "string-similarity@npm:4.0.1" + checksum: 3/1e98bd5e64fae5426544f2e96b817dc515289074b33f773e628531ba4e0543a8ba01899be36ba1fa6b60bc458a8c77c7cf6983c5abf3d3592d04dd503b4c240a + languageName: node + linkType: hard + +"string-width@npm:^1.0.1": + version: 1.0.2 + resolution: "string-width@npm:1.0.2" + dependencies: + code-point-at: ^1.0.0 + is-fullwidth-code-point: ^1.0.0 + strip-ansi: ^3.0.0 + checksum: 3/b11745daa9398a1b3bb37ffa64263f9869c5f790901ed1242decb08171785346447112ead561cffde6b222a5ebeab9d2b382c72ae688859e852aa29325ca9d0b + languageName: node + linkType: hard + +"string-width@npm:^1.0.2 || 2, string-width@npm:^2.0.0, string-width@npm:^2.1.1": + version: 2.1.1 + resolution: "string-width@npm:2.1.1" + dependencies: + is-fullwidth-code-point: ^2.0.0 + strip-ansi: ^4.0.0 + checksum: 3/906b4887c39d247e9d12dfffb42bfe68655b52d27758eb13e069dce0f4cf2e7f82441dbbe44f7279298781e6f68e1c659451bd4d9e2bbe9d487a157ad14ae1bd + languageName: node + linkType: hard + +"string-width@npm:^3.0.0, string-width@npm:^3.1.0": + version: 3.1.0 + resolution: "string-width@npm:3.1.0" + dependencies: + emoji-regex: ^7.0.1 + is-fullwidth-code-point: ^2.0.0 + strip-ansi: ^5.1.0 + checksum: 3/54c5d1842dc122d8e0251ad50e00e91c06368f1aca44f41a67cd5ce013c4ba8f5a26f1b7f72a3e1644f38c62092a82c86b646aff514073894faf84b9564a38a0 + languageName: node + linkType: hard + +"string-width@npm:^4.0.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0": + version: 4.2.0 + resolution: "string-width@npm:4.2.0" + dependencies: + emoji-regex: ^8.0.0 + is-fullwidth-code-point: ^3.0.0 + strip-ansi: ^6.0.0 + checksum: 3/cf1e8acddf3d6d6e9e168628cc58cf1b33b1e7e801af2a0c18316e4e8beb62361eb9aad6eab2fc86de972ab149cb7262aedc2a5d0c2ce28873c91b171cce84d7 + languageName: node + linkType: hard + +"string.prototype.matchall@npm:^4.0.2": + version: 4.0.2 + resolution: "string.prototype.matchall@npm:4.0.2" + dependencies: + define-properties: ^1.1.3 + es-abstract: ^1.17.0 + has-symbols: ^1.0.1 + internal-slot: ^1.0.2 + regexp.prototype.flags: ^1.3.0 + side-channel: ^1.0.2 + checksum: 3/0ca2937d28a80ad10b3173ff8e2f4ac0aa101b127b8256c3a6e749b7ab619e250208848c7fd9a740760df7e94c5b225fc6d0830e0f9d0e1ef615f3149cd194a9 + languageName: node + linkType: hard + +"string.prototype.trimend@npm:^1.0.0": + version: 1.0.1 + resolution: "string.prototype.trimend@npm:1.0.1" + dependencies: + define-properties: ^1.1.3 + es-abstract: ^1.17.5 + checksum: 3/93046463de6a3b4ae27d0622ae8795239c8d372b1be1a60122fce591bf7578b719becf00bf04326642a868bc6185f35901119b61a246509dd0dc0666b2a803ed + languageName: node + linkType: hard + +"string.prototype.trimleft@npm:^2.1.1": + version: 2.1.2 + resolution: "string.prototype.trimleft@npm:2.1.2" + dependencies: + define-properties: ^1.1.3 + es-abstract: ^1.17.5 + string.prototype.trimstart: ^1.0.0 + checksum: 3/c0b749c23b0f8621b1901e6aed83c1338af8fb5293a367e4b1065667e00ab07aa5248f19a6f5b9cb85f01c686987e0378153c066cd6901c3ea9a71d1133daaba + languageName: node + linkType: hard + +"string.prototype.trimright@npm:^2.1.1": + version: 2.1.2 + resolution: "string.prototype.trimright@npm:2.1.2" + dependencies: + define-properties: ^1.1.3 + es-abstract: ^1.17.5 + string.prototype.trimend: ^1.0.0 + checksum: 3/2c7b83c4cf487646d56ec7cd5d24dab112a0c34409b79d2fec4db111fb492ebeac507d993e228451eb56589e24b4c4cdfdcf335ff38bad85e0c34a94a74b7f6b + languageName: node + linkType: hard + +"string.prototype.trimstart@npm:^1.0.0": + version: 1.0.1 + resolution: "string.prototype.trimstart@npm:1.0.1" + dependencies: + define-properties: ^1.1.3 + es-abstract: ^1.17.5 + checksum: 3/20c4a940f1ba65b0aa5abf0c319dceba4fbf04d24553583b0b82eba2711815d1e40663ce36175ed06475701dbe797cac81be1ec1dc4bb4416b2077e8b0409036 + languageName: node + linkType: hard + +"string_decoder@npm:^1.0.0, string_decoder@npm:^1.1.1": + version: 1.3.0 + resolution: "string_decoder@npm:1.3.0" + dependencies: + safe-buffer: ~5.2.0 + checksum: 3/0a09afb610cb538707fcf0a50a080f159040529eabdba82f23b04f1d1f90adf9ba18cc3800231c6ab2ee55dece047f4bed87c56da52b2afd85c3c7fb73eb7e48 + languageName: node + linkType: hard + +"string_decoder@npm:~1.1.1": + version: 1.1.1 + resolution: "string_decoder@npm:1.1.1" + dependencies: + safe-buffer: ~5.1.0 + checksum: 3/bc2dc169d83df1b9e94defe7716bcad8a19ffe8211b029581cb0c6f9e83a6a7ba9ec3be38d179708a8643c692868a2b8b004ab159555dc26089ad3fa7b2158f5 + languageName: node + linkType: hard + +"stringify-object@npm:^3.3.0": + version: 3.3.0 + resolution: "stringify-object@npm:3.3.0" + dependencies: + get-own-enumerable-property-symbols: ^3.0.0 + is-obj: ^1.0.1 + is-regexp: ^1.0.0 + checksum: 3/4b0a6802f0294a3a340f31822a0802a4945f12b0823e640c9a3dd64b487abf0a0e7099b43d6133a9aa28a9b99ffe187ee5e066f0798ea60019c87e156bcaf6d3 + languageName: node + linkType: hard + +"strip-ansi@npm:6.0.0, strip-ansi@npm:^6.0.0": + version: 6.0.0 + resolution: "strip-ansi@npm:6.0.0" + dependencies: + ansi-regex: ^5.0.0 + checksum: 3/10568c91cadbef182a807c38dfa718dce15a35b12fcc97b96b6b2029d0508ef66ca93fabddeb49482d9b027495d1e18591858e80f27ad26861c4967c60fd207f + languageName: node + linkType: hard + +"strip-ansi@npm:^3.0.0, strip-ansi@npm:^3.0.1": + version: 3.0.1 + resolution: "strip-ansi@npm:3.0.1" + dependencies: + ansi-regex: ^2.0.0 + checksum: 3/98772dcf440d08f65790ee38cd186b1f139fa69b430e75f9d9c11f97058662f82a22c2ba03a30f502f948958264e99051524fbf1819edaa8a8bbb909ece297da + languageName: node + linkType: hard + +"strip-ansi@npm:^4.0.0": + version: 4.0.0 + resolution: "strip-ansi@npm:4.0.0" + dependencies: + ansi-regex: ^3.0.0 + checksum: 3/9ac63872c2ba5e8a946c6f3a9c1ab81db5b43bce0d24a33b016e5666d3efda421f721447a1962611053a3ca1595b8742b0216fcc25886958d4565b7afcd27013 + languageName: node + linkType: hard + +"strip-ansi@npm:^5.0.0, strip-ansi@npm:^5.1.0, strip-ansi@npm:^5.2.0": + version: 5.2.0 + resolution: "strip-ansi@npm:5.2.0" + dependencies: + ansi-regex: ^4.1.0 + checksum: 3/44a0d0d354f5f7b15f83323879a9112ea746daae7bef0b68238a27626ee757d9a04ce6590433841e14b325e8e7c5d62b8442885e50497e21b7cbca6da40d54ea + languageName: node + linkType: hard + +"strip-bom@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-bom@npm:2.0.0" + dependencies: + is-utf8: ^0.2.0 + checksum: 3/d488310c44b2a089d1d2ff54e90198eb8d32e6d2016ae811c732b1a6472dea15ae72dc21ee35ee6729cf71e9b663b3216d3e48cd1e5fba3b6093fd0b19ae7d0b + languageName: node + linkType: hard + +"strip-bom@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-bom@npm:3.0.0" + checksum: 3/361dd1dd08ae626940061570d20bcf73909d0459734b8880eb3d14176aa28f41cf85d13af036c323ce739e04ef3930a71b516950c5985b318bae3757ecb2974c + languageName: node + linkType: hard + +"strip-bom@npm:^4.0.0": + version: 4.0.0 + resolution: "strip-bom@npm:4.0.0" + checksum: 3/25a231aacba2c6ecf37d7389721ff214c7f979e97407c935eeb41f5c5513c80119aada86049408feab74d22e7f1b29d90c942d4d47a4e47868dd16daed035823 + languageName: node + linkType: hard + +"strip-comments@npm:^1.0.2": + version: 1.0.2 + resolution: "strip-comments@npm:1.0.2" + dependencies: + babel-extract-comments: ^1.0.0 + babel-plugin-transform-object-rest-spread: ^6.26.0 + checksum: 3/21d667d3ba6dc0e0cd377c64856e51a8399ea2e4b3e43df6f356c0e0a7bc7b6cf962d7069a1e9d0f2d72a67d2fe4b3b85e0e3dea23d71aa518b318744159326a + languageName: node + linkType: hard + +"strip-eof@npm:^1.0.0": + version: 1.0.0 + resolution: "strip-eof@npm:1.0.0" + checksum: 3/905cd8718ad2e7b3a9c4bc6a9ed409c38b8cef638845a9471884547de0dbe611828d584e749a38d3eebc2d3c830ea9c619d78875a639b7413d93080661807376 + languageName: node + linkType: hard + +"strip-final-newline@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-final-newline@npm:2.0.0" + checksum: 3/74dbd8a602409706748db730200efab53ba739ed7888310e74e45697efbd760981df6d6f0fa34b23e973135fb07d3b22adae6e6d58898f692a094e49692c6c33 + languageName: node + linkType: hard + +"strip-indent@npm:^1.0.1": + version: 1.0.1 + resolution: "strip-indent@npm:1.0.1" + dependencies: + get-stdin: ^4.0.1 + bin: + strip-indent: cli.js + checksum: 3/9ec818484a53a8f564b7a56148db2883dad4fe665cc76583df5eb5b2e216b5ed48e4d63d1da525e990030c47c41d648e48053a505dd29f7a87568733b147a533 + languageName: node + linkType: hard + +"strip-indent@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-indent@npm:2.0.0" + checksum: 3/3b416b1dcd3d462adf3c49b552c946ef84ac595a5821923e3eb270304898ba3d1fa569dc212d43e502c54ee296590dfa25b08da488d5fc0920785fe4341d76b0 + languageName: node + linkType: hard + +"strip-indent@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-indent@npm:3.0.0" + dependencies: + min-indent: ^1.0.0 + checksum: 3/4a7860e94372753b90a48d032758464efbf194880880fd7636965b7137ae4af24ce77a43d223a602cac787e2e95214aaa2f2470a65986e3d6ffa0e1c3dd887f6 + languageName: node + linkType: hard + +"strip-json-comments@npm:^3.0.1": + version: 3.1.0 + resolution: "strip-json-comments@npm:3.1.0" + checksum: 3/5c272f2c030937c99edd8c02f120c2e5cb49ab41e82db689167e3dc84413ee39dbda9f0476b5345827d9f408fd9ffc81b3c0160253ec599d929ac35fa7ce0260 + languageName: node + linkType: hard + +"strip-json-comments@npm:~2.0.1": + version: 2.0.1 + resolution: "strip-json-comments@npm:2.0.1" + checksum: 3/e60d99aa2849c27a04dce0620334f45822197df6b83664dd3746971e9a0a766d989dbb8d87f9cb7350725d2b5df401a2343222ad06e36a1ba7d62c6633267fcb + languageName: node + linkType: hard + +"style-loader@npm:0.23.1": + version: 0.23.1 + resolution: "style-loader@npm:0.23.1" + dependencies: + loader-utils: ^1.1.0 + schema-utils: ^1.0.0 + checksum: 3/9d8f17677bcc9a6b0dc3f23909dcb3c9976e3e37d53768ff5ffe915a62e50c6ed347b79d4f5613670289547bbfa0e1be968ac89ecffb600553e1931c761b1167 + languageName: node + linkType: hard + +"style-loader@npm:^1.2.1": + version: 1.2.1 + resolution: "style-loader@npm:1.2.1" + dependencies: + loader-utils: ^2.0.0 + schema-utils: ^2.6.6 + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + checksum: 3/19e1b1a83c7892d5e2ded86d2a035950e81e707886dfb7f8a2354169081fb8c13df262c9fc90001351f3050f8fb34617ba9f7a397d0b4b1df0821a6144a39c7a + languageName: node + linkType: hard + +"stylehacks@npm:^4.0.0": + version: 4.0.3 + resolution: "stylehacks@npm:4.0.3" + dependencies: + browserslist: ^4.0.0 + postcss: ^7.0.0 + postcss-selector-parser: ^3.0.0 + checksum: 3/1345ad348db3c98f7d0423762e13e816a8c1ba0b1d90d79f3528513be429f1cf68b7fa9c9d379870208586e7ff4cfb68b4121bbd904df03b17e84d62efcff288 + languageName: node + linkType: hard + +"subscriptions-transport-ws@npm:^0.9.16": + version: 0.9.16 + resolution: "subscriptions-transport-ws@npm:0.9.16" + dependencies: + backo2: ^1.0.2 + eventemitter3: ^3.1.0 + iterall: ^1.2.1 + symbol-observable: ^1.0.4 + ws: ^5.2.0 + peerDependencies: + graphql: ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.1 || ^14.0.2 + checksum: 3/7671c1cbb904ecfcbe84a3051ea888fb07f61414b5819bf40c92135f255b679ecfb5984680cf56e9576605f1ee08c1f22b6b71fe13af82465e614966f25009f8 + languageName: node + linkType: hard + +"superagent@npm:^5.2.2": + version: 5.2.2 + resolution: "superagent@npm:5.2.2" + dependencies: + component-emitter: ^1.3.0 + cookiejar: ^2.1.2 + debug: ^4.1.1 + fast-safe-stringify: ^2.0.7 + form-data: ^3.0.0 + formidable: ^1.2.1 + methods: ^1.1.2 + mime: ^2.4.4 + qs: ^6.9.1 + readable-stream: ^3.4.0 + semver: ^6.3.0 + checksum: 3/263b3afd40ab7d7639e26a4cb104eaafc66d8bed05b51c6ea238f83480e17540e5d30d7b8c74684ab39e0014fafbf8017fb528a53fb9dac3a674a4fcca387a2f + languageName: node + linkType: hard + +"supports-color@npm:^2.0.0": + version: 2.0.0 + resolution: "supports-color@npm:2.0.0" + checksum: 3/5d6fb449e29f779cc639756f0d6b9ab6138048e753683cd2c647f36a9254714051909a5f569e6aa83c5310c8dfe8a1f481967e02bef401ac8eed46ee0950d779 + languageName: node + linkType: hard + +"supports-color@npm:^5.3.0, supports-color@npm:^5.5.0": + version: 5.5.0 + resolution: "supports-color@npm:5.5.0" + dependencies: + has-flag: ^3.0.0 + checksum: 3/edacee6425498440744c418be94b0660181aad2a1828bcf2be85c42bd385da2fd8b2b358d9b62b0c5b03ff5cd3e992458d7b8f879d9fb42f2201fe05a4848a29 + languageName: node + linkType: hard + +"supports-color@npm:^6.1.0": + version: 6.1.0 + resolution: "supports-color@npm:6.1.0" + dependencies: + has-flag: ^3.0.0 + checksum: 3/86821571295ad9f808d5e0149f13c2b0ca6faaf1325c427b369e6f4b2b1e4759046b7a4ea0e3c3c7f2546035fa2fb0d6a90f31c6c4f751eaedbcdc1b983a08cc + languageName: node + linkType: hard + +"supports-color@npm:^7.0.0, supports-color@npm:^7.1.0": + version: 7.1.0 + resolution: "supports-color@npm:7.1.0" + dependencies: + has-flag: ^4.0.0 + checksum: 3/6130f36b2a71f73014a6ef306bbaa5415d8daa5c0294082762a0505e4fb6800b8a9d037b60ed54f0c69cdfc37860034047d6004481c21f22dd43151b5e9334f0 + languageName: node + linkType: hard + +"supports-hyperlinks@npm:^2.0.0": + version: 2.1.0 + resolution: "supports-hyperlinks@npm:2.1.0" + dependencies: + has-flag: ^4.0.0 + supports-color: ^7.0.0 + checksum: 3/8b3b6d71ee298d7f9a3ff4bfb928bd037c0b691b01bdfebb77deb3384976cd78c180d564dc3689ce5fe254d323252f7064efa1364bf24ab81efa6b080e51eddb + languageName: node + linkType: hard + +"svg-parser@npm:^2.0.0": + version: 2.0.4 + resolution: "svg-parser@npm:2.0.4" + checksum: 3/507b0ea204adf43bcba0df34bd8549a1a67f42007d518d4d56cad99bfda4295b5d9b67c1ca4661fb7474dbb593e34a69dd30fb4db804df85f32163fa785b3c31 + languageName: node + linkType: hard + +"svgo@npm:^1.0.0, svgo@npm:^1.2.2": + version: 1.3.2 + resolution: "svgo@npm:1.3.2" + dependencies: + chalk: ^2.4.1 + coa: ^2.0.2 + css-select: ^2.0.0 + css-select-base-adapter: ^0.1.1 + css-tree: 1.0.0-alpha.37 + csso: ^4.0.2 + js-yaml: ^3.13.1 + mkdirp: ~0.5.1 + object.values: ^1.1.0 + sax: ~1.2.4 + stable: ^0.1.8 + unquote: ~1.1.1 + util.promisify: ~1.0.0 + bin: + svgo: ./bin/svgo + checksum: 3/e1659738423f625561fa23769d0a010f5ba08e83926ce697491153fa29a8cb2452fa5abb14c1bb489aa186718856f8768d4da870210a79302d47535c57c30d30 + languageName: node + linkType: hard + +"symbol-observable@npm:^1.0.4": + version: 1.2.0 + resolution: "symbol-observable@npm:1.2.0" + checksum: 3/268834a1d4cba19d40f367e5c2755f612969c8418e43a3be17408e392802a667f8bb542893440d58a080a8ea8da05ea98e27e472b9f4ff6fbda78a21a1a41c53 + languageName: node + linkType: hard + +"symbol-tree@npm:^3.2.2, symbol-tree@npm:^3.2.4": + version: 3.2.4 + resolution: "symbol-tree@npm:3.2.4" + checksum: 3/0b9af4e5f005f9f0b9c916d91a1b654422ffa49ef09c5c4b6efa7a778f63976be9f410e57db1e9ea7576eea0631a34b69a5622674aa92a60a896ccf2afca87a7 + languageName: node + linkType: hard + +"table@npm:^5.2.3": + version: 5.4.6 + resolution: "table@npm:5.4.6" + dependencies: + ajv: ^6.10.2 + lodash: ^4.17.14 + slice-ansi: ^2.1.0 + string-width: ^3.0.0 + checksum: 3/38877a196c0a57b955e4965fa3ff1cede38649b6e1f6286aa5435579dfd01663fdf8d19c87510e67a79474d75ae0144a0819f2054d654c45d7f525270aafe56b + languageName: node + linkType: hard + +"tapable@npm:^1.0.0, tapable@npm:^1.1.3": + version: 1.1.3 + resolution: "tapable@npm:1.1.3" + checksum: 3/b2c2ab20260394b867fd249d8b6ab3e4645e00f9cce16b558b0de5a86291ef05f536f578744549d1618c9032c7f99bc1d6f68967e4aa11cb0dca4461dc4714bc + languageName: node + linkType: hard + +"tar@npm:^4.4.12": + version: 4.4.13 + resolution: "tar@npm:4.4.13" + dependencies: + chownr: ^1.1.1 + fs-minipass: ^1.2.5 + minipass: ^2.8.6 + minizlib: ^1.2.1 + mkdirp: ^0.5.0 + safe-buffer: ^5.1.2 + yallist: ^3.0.3 + checksum: 3/d325c316ac329ecb18f2b8cd3f85a80ab4a4105ada601b9253aaafae3fc14268e3cd874ccc265b6a08e60ebd17fbc31bd3dbc0d1018f874b536eb2a6e8ef6d9c + languageName: node + linkType: hard + +"temp-dir@npm:^2.0.0": + version: 2.0.0 + resolution: "temp-dir@npm:2.0.0" + checksum: 3/d7816d1ce5ea605ffe79f5692c96eef7e14b3dd01799be5462233046db9a169e2bee927c4391f577528137318198f5a18540c174cb6b054768213e7bffd5cb25 + languageName: node + linkType: hard + +"tempfile@npm:^3.0.0": + version: 3.0.0 + resolution: "tempfile@npm:3.0.0" + dependencies: + temp-dir: ^2.0.0 + uuid: ^3.3.2 + checksum: 3/00235007da9d0b299547ccf927a982b12b66e0dff3c53b3280af572210e13ddd39a03dd5d89ba6a37a6a21dcb61dae9a6a7bb7455c764df3779decda875c96f8 + languageName: node + linkType: hard + +"term-size@npm:^2.1.0": + version: 2.2.0 + resolution: "term-size@npm:2.2.0" + checksum: 3/02307492dfe602234355d55f23f4ce0125ad2dea428a63337e031bc97d2f7832b12c66eb64853f4dc30bdfc05377bc161da8659ecc30303a1ac616a619f284bb + languageName: node + linkType: hard + +"terminal-link@npm:^2.0.0": + version: 2.1.1 + resolution: "terminal-link@npm:2.1.1" + dependencies: + ansi-escapes: ^4.2.1 + supports-hyperlinks: ^2.0.0 + checksum: 3/f84553e11e9dc9034c9a62aeada2985e2c50adf161b773b3e4a5cf174b0d14f6b8868eb1dcdf91c3f71e3d932a3be158b8742c2a43ee459e9b88a246d78a6dc1 + languageName: node + linkType: hard + +"terser-webpack-plugin@npm:2.3.5": + version: 2.3.5 + resolution: "terser-webpack-plugin@npm:2.3.5" + dependencies: + cacache: ^13.0.1 + find-cache-dir: ^3.2.0 + jest-worker: ^25.1.0 + p-limit: ^2.2.2 + schema-utils: ^2.6.4 + serialize-javascript: ^2.1.2 + source-map: ^0.6.1 + terser: ^4.4.3 + webpack-sources: ^1.4.3 + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + checksum: 3/5fe02a3b3119b4955871c147257a994953fb6c0ec1ed257943b1af628741cedad809d3c8c32da623176eb9402dd11b951f3267518f4b66479899de8ecba07421 + languageName: node + linkType: hard + +"terser-webpack-plugin@npm:^1.4.3": + version: 1.4.3 + resolution: "terser-webpack-plugin@npm:1.4.3" + dependencies: + cacache: ^12.0.2 + find-cache-dir: ^2.1.0 + is-wsl: ^1.1.0 + schema-utils: ^1.0.0 + serialize-javascript: ^2.1.2 + source-map: ^0.6.1 + terser: ^4.1.2 + webpack-sources: ^1.4.0 + worker-farm: ^1.7.0 + peerDependencies: + webpack: ^4.0.0 + checksum: 3/5c58ea5353adb1a4720d00b1d2ba54c24dfcd5c6b723bd1f49ea64df7613dc45b2d10cc948685c9dbf37bb06a955edef7f035747de6e19875ba28d31a61140f5 + languageName: node + linkType: hard + +"terser@npm:^4.1.2, terser@npm:^4.4.3, terser@npm:^4.6.3": + version: 4.7.0 + resolution: "terser@npm:4.7.0" + dependencies: + commander: ^2.20.0 + source-map: ~0.6.1 + source-map-support: ~0.5.12 + bin: + terser: bin/terser + checksum: 3/514910eef6688f65d5df576148472a58f70a7a8044d0badb9be3962ea32729fd7a8b4319dabd8c1774557818dca6b2118623c84af14c3fc3adaaf54b1c03bf61 + languageName: node + linkType: hard + +"test-exclude@npm:^5.2.3": + version: 5.2.3 + resolution: "test-exclude@npm:5.2.3" + dependencies: + glob: ^7.1.3 + minimatch: ^3.0.4 + read-pkg-up: ^4.0.0 + require-main-filename: ^2.0.0 + checksum: 3/d441f2531cf102d267de7f4ceecb4eacc8de2a6703abbab20591d0e8b30877a0e4cdcb88f88bd292f36950feda87b25e159e2fd407c275b13cce15a2a56eefaf + languageName: node + linkType: hard + +"test-exclude@npm:^6.0.0": + version: 6.0.0 + resolution: "test-exclude@npm:6.0.0" + dependencies: + "@istanbuljs/schema": ^0.1.2 + glob: ^7.1.4 + minimatch: ^3.0.4 + checksum: 3/68294d10066726cbced152aeb8a39cf9fd199199c62afb39290b824f613090f2535fc6acbad7d78f1f34cf00f4f00d42fa14f02d6262b910a7c9e2db2ecfa388 + languageName: node + linkType: hard + +"text-extensions@npm:^1.0.0": + version: 1.9.0 + resolution: "text-extensions@npm:1.9.0" + checksum: 3/fecf1f4962209f8309cd90b045305c417016c4afa34d9df58b0885b7031da57acdef0771512eb031dbc795759972089ff099ba944b0437576d0012eb20db7825 + languageName: node + linkType: hard + +"text-table@npm:0.2.0, text-table@npm:^0.2.0": + version: 0.2.0 + resolution: "text-table@npm:0.2.0" + checksum: 3/373904ce70524ba11ec7e1905c44fb92671132d5e0b0aba2fb48057161f8bf9cbf7f6178f0adf31810150cf44fb52c7b912dc722bff3fddf9688378596dbeb56 + languageName: node + linkType: hard + +"throat@npm:^4.0.0": + version: 4.1.0 + resolution: "throat@npm:4.1.0" + checksum: 3/91326ef6842bd3d8d39ac104fbcb8998c911deacc639ae2de8522bbb1e526e6db4263927ad1eec71f1d31e7cec111a501371f67514ec449f517f7357814eda55 + languageName: node + linkType: hard + +"throat@npm:^5.0.0": + version: 5.0.0 + resolution: "throat@npm:5.0.0" + checksum: 3/2fa41c09ccd97982cd6601eca704913f5d8ef5cc4070fcd71c67e7240da7c0df86f65f5cb23f5c3132ab5567154740114cc92379663aa098b6076a39481b0f5f + languageName: node + linkType: hard + +"through2@npm:^2.0.0, through2@npm:^2.0.2": + version: 2.0.5 + resolution: "through2@npm:2.0.5" + dependencies: + readable-stream: ~2.3.6 + xtend: ~4.0.1 + checksum: 3/7427403555ead550d3cbe11f69eb07797e27505fc365cf53572111556a7c08625adb5159cad0fc4b9f57babfd937692e34b3a8a20ba35072f4e85f83d340661c + languageName: node + linkType: hard + +"through2@npm:^3.0.0": + version: 3.0.1 + resolution: "through2@npm:3.0.1" + dependencies: + readable-stream: 2 || 3 + checksum: 3/f0ff930ba9ce2309b05c8621bb053f99733b0fa0d0cd4fe475e9a980b35f7ccd71141192ecd88b45d97249db5c0e158778397f77842ad47bab0384eac75ad31c + languageName: node + linkType: hard + +"through@npm:2, through@npm:>=2.2.7 <3, through@npm:^2.3.6": + version: 2.3.8 + resolution: "through@npm:2.3.8" + checksum: 3/918d9151680b5355990011eb8c4b02e8cb8cf6e9fb6ea3d3e5a1faa688343789e261634ae35de4ea9167ab029d1e7bac6af2fe61b843931768d405fdc3e8897c + languageName: node + linkType: hard + +"thunky@npm:^1.0.2": + version: 1.1.0 + resolution: "thunky@npm:1.1.0" + checksum: 3/eceb856b6412ecd02c24731a2441698aa57622e03b0a4d6d1dea47d7b173aca54980fd2fba5b3a2e11ccec48373c46483f7f55a46717bfc07645395fa57267a6 + languageName: node + linkType: hard + +"timers-browserify@npm:^2.0.4": + version: 2.0.11 + resolution: "timers-browserify@npm:2.0.11" + dependencies: + setimmediate: ^1.0.4 + checksum: 3/73faad065e503db39235ea6c7803cd42c6be41365a427f95fcba773d42c4a77d595ace955a2248f638cd983c61f8e928422dbf27d9237dd876645ed88a595e29 + languageName: node + linkType: hard + +"timsort@npm:^0.3.0": + version: 0.3.0 + resolution: "timsort@npm:0.3.0" + checksum: 3/d8300c3ecf1a3751413de82b04ad283b461ab6fb1041820c825d13b4ae74526e2101ab5fb84c57a0c6e1f4d7f67173b5d8754ed8bb7447c6a9ce1db8562eb82c + languageName: node + linkType: hard + +"tiny-lru@npm:^7.0.2": + version: 7.0.2 + resolution: "tiny-lru@npm:7.0.2" + checksum: 3/7a49393ccea5fde31293bdb37f9604e3907ffdf5e6e66949bfa479a0434e9cd1e1ee67741af3574d4938e909fe9ea7ad81fbc920655e7041dd0bce7c92627110 + languageName: node + linkType: hard + +"tmp@npm:^0.0.33": + version: 0.0.33 + resolution: "tmp@npm:0.0.33" + dependencies: + os-tmpdir: ~1.0.2 + checksum: 3/77666ca424a78fcfcc27a6576f24f01aa1300b10d22e4f1808809e560777672dd2d4a112604ab2ad86ec7cafd24472b9ccc41373c2b5b83797f27e6aff06cbe5 + languageName: node + linkType: hard + +"tmpl@npm:1.0.x": + version: 1.0.4 + resolution: "tmpl@npm:1.0.4" + checksum: 3/44de07fb81a7273937f3de4b856d12b981b7a9b05a244e6e514e15b072241304cf108f145d2510783eceb91293e237f7e2562b37c8a6e7e6f3fe40daa44259d2 + languageName: node + linkType: hard + +"to-arraybuffer@npm:^1.0.0": + version: 1.0.1 + resolution: "to-arraybuffer@npm:1.0.1" + checksum: 3/23e72a6636e32fa992a4ad952564af136460b8b9ac603737fd8e7ecefe762284c4368f3f455b4252c95401cb2d3c8e356da1ef915a7c40152b62592ee38911c4 + languageName: node + linkType: hard + +"to-fast-properties@npm:^2.0.0": + version: 2.0.0 + resolution: "to-fast-properties@npm:2.0.0" + checksum: 3/40e61984243b183d575a2f3a87d008bd57102115701ee9037fd673e34becf12ee90262631857410169ca82f401a662ed94482235cea8f3b8dea48b87eaabc467 + languageName: node + linkType: hard + +"to-object-path@npm:^0.3.0": + version: 0.3.0 + resolution: "to-object-path@npm:0.3.0" + dependencies: + kind-of: ^3.0.2 + checksum: 3/a6a5a502259af744ac4e86752c8e71395c4106cae6f4e2a5c711e6f5de4cdbd08691e9295bf5b6e86b3e12722274fc3c5c0410f5fcf42ca783cc43f62139b5d0 + languageName: node + linkType: hard + +"to-readable-stream@npm:^1.0.0": + version: 1.0.0 + resolution: "to-readable-stream@npm:1.0.0" + checksum: 3/aa4b65d3e7a60d7b51204585187bdfd2159788a22ec241451c782552699e8dec39dcb8a9cd4957e03f32191ca18d3ea80abd9bb40005a8f1631df8fbba22b413 + languageName: node + linkType: hard + +"to-regex-range@npm:^2.1.0": + version: 2.1.1 + resolution: "to-regex-range@npm:2.1.1" + dependencies: + is-number: ^3.0.0 + repeat-string: ^1.6.1 + checksum: 3/801501b59d6a2892d88b2ccb78416d6778aec1549da593f83b7bb433a5540995e4c6f2d954ff44d53f38c094d04c0da3ed6f61f110d9cd2ea00cb570b90e81e4 + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: ^7.0.0 + checksum: 3/2b6001e314e4998a07137c197e333fac2f86d46d0593da90b678ae64e2daa07274b508f83cca09e6b3504cdf222497dcb5b7daceb6dc13a9a8872f58a27db907 + languageName: node + linkType: hard + +"to-regex@npm:^3.0.1, to-regex@npm:^3.0.2": + version: 3.0.2 + resolution: "to-regex@npm:3.0.2" + dependencies: + define-property: ^2.0.2 + extend-shallow: ^3.0.2 + regex-not: ^1.0.2 + safe-regex: ^1.1.0 + checksum: 3/ed733fdff8970628ef2d425564d1331a812e57cbb6ab7675c970046b2b792cbf2386c8292e45bb201bf85ca71a7708e3e1ffb979f5cd089ad4a82a12df75939b + languageName: node + linkType: hard + +"toggle-selection@npm:^1.0.6": + version: 1.0.6 + resolution: "toggle-selection@npm:1.0.6" + checksum: 3/c47702aad780581f17367c413c4dc55b61a31b0c15c87a08461f4c4618457b11efce8ad9a7bf7b79fb23d17128b1c7da9248647a34dd15ae36c9afbdd2084d9f + languageName: node + linkType: hard + +"toidentifier@npm:1.0.0": + version: 1.0.0 + resolution: "toidentifier@npm:1.0.0" + checksum: 3/95720e8a0f98f1525f50ccbecbc2a23f0a1b4e448de03819dbbeda03adf0d2010fe64525fbc9d549765242550d341bb891672e4ac0b2cac58613cdd742324255 + languageName: node + linkType: hard + +"touch@npm:^3.1.0": + version: 3.1.0 + resolution: "touch@npm:3.1.0" + dependencies: + nopt: ~1.0.10 + bin: + nodetouch: ./bin/nodetouch.js + checksum: 3/97a6a508e3e0e00120a1ffd49656ea5124f629e9c1147f189abd795c4e6723460a593ea97c95f5dfaa97845f30438ec50e7a0d2a91e942f59ffa919b635e7092 + languageName: node + linkType: hard + +"tough-cookie@npm:^2.3.3, tough-cookie@npm:^2.3.4, tough-cookie@npm:^2.5.0, tough-cookie@npm:~2.5.0": + version: 2.5.0 + resolution: "tough-cookie@npm:2.5.0" + dependencies: + psl: ^1.1.28 + punycode: ^2.1.1 + checksum: 3/bf5d6fac5ce0bebc5876cb9b9a79d3d9ea21c9e4099f3d3e64701d6ba170a052cb88cece6737ec2473bac4f0a4f6c75d46ec17985be8587c6bbdd38d91625cb4 + languageName: node + linkType: hard + +"tough-cookie@npm:^3.0.1": + version: 3.0.1 + resolution: "tough-cookie@npm:3.0.1" + dependencies: + ip-regex: ^2.1.0 + psl: ^1.1.28 + punycode: ^2.1.1 + checksum: 3/dc1eee69c61a6d5598144ff41c9b5e758207130d92d2b89facad075140a99c10d674a6278764b9edfe8e074cb7840c15e7b786b93d0672875026c2ce5172d774 + languageName: node + linkType: hard + +"tr46@npm:^1.0.1": + version: 1.0.1 + resolution: "tr46@npm:1.0.1" + dependencies: + punycode: ^2.1.0 + checksum: 3/66e2e4d6799d3c2fcc56ad6084e8ab7b3e744f138babc86100e5e2bfaf011231d00d229cfccfaf338da953b96c3ea9128d182274915c1516c5189ee75b7c0ad9 + languageName: node + linkType: hard + +"tr46@npm:^2.0.2": + version: 2.0.2 + resolution: "tr46@npm:2.0.2" + dependencies: + punycode: ^2.1.1 + checksum: 3/c8c221907944e8b577c4fff14d180a213c21a29b54a12a031aa6986cbb711a5d470588b556a7be9c7844f09142e12deef6b76fe10f6bd4d274b54f1a7e0aac9e + languageName: node + linkType: hard + +"tree-kill@npm:^1.2.2": + version: 1.2.2 + resolution: "tree-kill@npm:1.2.2" + bin: + tree-kill: cli.js + checksum: 3/967643efa4a231868232ea9d046c3ba7494ea6061fbb1e661c699b43ca0f0a14dad0782a631d915959d562830035166bab80ed726f9fe33b838af8a7516624ed + languageName: node + linkType: hard + +"trim-newlines@npm:^1.0.0": + version: 1.0.0 + resolution: "trim-newlines@npm:1.0.0" + checksum: 3/acc229ae8f6e7615df28a9cdb33a40db3f385afa9076c8b53a0a2d63d49dd646a6a4827ad93e1bc92ef24286121f66042c00da089f1585e473c010ca88309c78 + languageName: node + linkType: hard + +"trim-newlines@npm:^2.0.0": + version: 2.0.0 + resolution: "trim-newlines@npm:2.0.0" + checksum: 3/131158217ddcd0beaa6882542100f21bdfa409c2df180a23c4578dc4faa1158040ce9bcea2d99c5d630df6a76fa43913bcfef8289bf7c8687e28d403eaaf5805 + languageName: node + linkType: hard + +"trim-newlines@npm:^3.0.0": + version: 3.0.0 + resolution: "trim-newlines@npm:3.0.0" + checksum: 3/51bfbec0014ae58cdbf3c55e34cfe7f1a92a77d362990bb4cc8d6edf51f1c21f28b92e442adec3ef9cef69194b532b28c1a0a06d9ee78b2b0fd28d191a2b738e + languageName: node + linkType: hard + +"trim-off-newlines@npm:^1.0.0": + version: 1.0.1 + resolution: "trim-off-newlines@npm:1.0.1" + checksum: 3/c590b9e8c1d91ac1b57b65f8ed7cc7837e702d86f47c725462cc7e03f3850dfa92a32f956d350632208aa78e9be03917a21d9ef5d139c30be13bb51bf576209f + languageName: node + linkType: hard + +"ts-jest@npm:^26.0.0": + version: 26.0.0 + resolution: "ts-jest@npm:26.0.0" + dependencies: + bs-logger: 0.x + buffer-from: 1.x + fast-json-stable-stringify: 2.x + json5: 2.x + lodash.memoize: 4.x + make-error: 1.x + micromatch: 4.x + mkdirp: 1.x + semver: 7.x + yargs-parser: 18.x + peerDependencies: + jest: ">=26 <27" + typescript: ">=3.8 <4.0" + bin: + ts-jest: cli.js + checksum: 3/17723be82724d664be94cad42f4a3c5141961015968d885d32d122ef32c55c50bffe0ed80bcf3949a0d57c2a14268589c4a4a3be6590f0bb443bca36a13d6940 + languageName: node + linkType: hard + +"ts-node@npm:^8.10.1": + version: 8.10.1 + resolution: "ts-node@npm:8.10.1" + dependencies: + arg: ^4.1.0 + diff: ^4.0.1 + make-error: ^1.1.1 + source-map-support: ^0.5.17 + yn: 3.1.1 + peerDependencies: + typescript: ">=2.7" + bin: + ts-node: dist/bin.js + ts-node-script: dist/bin-script.js + ts-node-transpile-only: dist/bin-transpile.js + ts-script: dist/bin-script-deprecated.js + checksum: 3/4eda8591d422bdb9b9464921b4b1d850d3f32a4500db4c067a6d72b8f5c92934645b8d2e5a37c633361ce5664e6d7e426db6049cdf574276196d539c2c526385 + languageName: node + linkType: hard + +"ts-pnp@npm:1.1.6": + version: 1.1.6 + resolution: "ts-pnp@npm:1.1.6" + peerDependencies: + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + checksum: 3/0c1ab7d1b85820a4ad12d25f18e6e9b68e57095412cb436266e8d0c58508892d871cd6d39512701e1117b0ad6354f0596d7f9ef9a0e630538ef3c7ff1970e0ef + languageName: node + linkType: hard + +"ts-pnp@npm:^1.1.6": + version: 1.2.0 + resolution: "ts-pnp@npm:1.2.0" + peerDependencies: + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + checksum: 3/78341a27939de565e2754ff65ebb689743c16e3295528089d143c08d91842cf9029c3d6b3c95a9a20854a114a7904329d02c710d63f7ce4dbf671b8a3e560ac1 + languageName: node + linkType: hard + +"tslib@npm:^1.10.0, tslib@npm:^1.8.1, tslib@npm:^1.9.0": + version: 1.13.0 + resolution: "tslib@npm:1.13.0" + checksum: 3/5dc3bdaea3b67c76ef4a14c28fcb2171da7bcf292fd9c59a260098729626b1ce766c52b588f08e324ed9a0c52ea8a93a815920f980d75981abc9d850fbf310fb + languageName: node + linkType: hard + +"tslib@npm:^2.0.0": + version: 2.0.0 + resolution: "tslib@npm:2.0.0" + checksum: 3/a7369a224f12e223fb42f2a720389601a24a1e1c96c55bf0d8d4b60c131e574c175ae23578b8d1bd3f4ec790c7e0a82b43733f022f866d48a23aeadd3910755d + languageName: node + linkType: hard + +"tsscmp@npm:1.0.6": + version: 1.0.6 + resolution: "tsscmp@npm:1.0.6" + checksum: 3/1a5b76eb37c1a331f7e0b99f6414fdb1d58dffbc95301931a00e8728bc9fcb15b676d8e5eb2aecf884f424e8c9a218af388492cffe106539ffc0f8d09d8ab7c1 + languageName: node + linkType: hard + +"tsutils@npm:^3.17.1": + version: 3.17.1 + resolution: "tsutils@npm:3.17.1" + dependencies: + tslib: ^1.8.1 + peerDependencies: + typescript: ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + checksum: 3/bed8ff7998d90a7ab9f3bdb26d36dae0edfcdb3e4f07994fb59df8d42e62ee07d591d3a435fb65cb50b6ca9af6b76c9bc9423a216186e5085d91793fa169c248 + languageName: node + linkType: hard + +"tty-browserify@npm:0.0.0": + version: 0.0.0 + resolution: "tty-browserify@npm:0.0.0" + checksum: 3/ef28fe256a17bac17d094e0120a042aee441efca0a44734082caa697b8326cc9888a8042b754cb6830205b65fe716960ba159597fdbcb8b53abf08ae5c9acd7f + languageName: node + linkType: hard + +"tunnel-agent@npm:^0.6.0": + version: 0.6.0 + resolution: "tunnel-agent@npm:0.6.0" + dependencies: + safe-buffer: ^5.0.1 + checksum: 3/03db75a4f994fee610d3485c492e95105ed265a9fecd49d14c98e9982f973ecc0220d0c1bc264e37802e423a1274bb63788a873e4e07009408ae3ac517347fd7 + languageName: node + linkType: hard + +"tweetnacl@npm:^0.14.3, tweetnacl@npm:~0.14.0": + version: 0.14.5 + resolution: "tweetnacl@npm:0.14.5" + checksum: 3/e1c9d52e2e9f582fd0df9ea26ba5a9ab88b9a38b69625d8e55c5e8870a4832ac8c32f8854b41fce7b59f97258bb103535363f9eda7050aa70e75824b972c7dde + languageName: node + linkType: hard + +"type-check@npm:~0.3.2": + version: 0.3.2 + resolution: "type-check@npm:0.3.2" + dependencies: + prelude-ls: ~1.1.2 + checksum: 3/4e080645319c12bb78119f7e8bb333cab8dacad2c1988597aabf44da985ad36fce3419707e93ed0fc84514b7eec94e4d8817e33d0aab8c81de394916e00d6806 + languageName: node + linkType: hard + +"type-detect@npm:4.0.8": + version: 4.0.8 + resolution: "type-detect@npm:4.0.8" + checksum: 3/e01dc6ac9098192a7859fb86c7b4073709a4e13a5cc02c54d54412378bb099563fda7a7a85640f33e3a7c2e8189182eb1511f263e67f402b2d63fe81afdde785 + languageName: node + linkType: hard + +"type-fest@npm:^0.11.0": + version: 0.11.0 + resolution: "type-fest@npm:0.11.0" + checksum: 3/02e5cadf13590a5724cacf8d9133320efd173f6fb1b695fcb29e56551a315bf0f07ca988a780a1999b7b55bb3eaaa7f37223615207236d393af17bba6749dc95 + languageName: node + linkType: hard + +"type-fest@npm:^0.13.1": + version: 0.13.1 + resolution: "type-fest@npm:0.13.1" + checksum: 3/11acce4f34c75a838914bdc4a0133d2dd0864e313897471974880df82624159521bae691a6100ff99f93be2d0f8871ecdab18573d2c67e61905cf2f5cbfa52a6 + languageName: node + linkType: hard + +"type-fest@npm:^0.6.0": + version: 0.6.0 + resolution: "type-fest@npm:0.6.0" + checksum: 3/c77f687caff9f8effffd6091fbdb57b8e7265213e067c34086d37dc6ac3b640abd3dd3921402a6ba9eb56621719c552ae5e91d183d1e6d075f9aff859a347f00 + languageName: node + linkType: hard + +"type-fest@npm:^0.8.1": + version: 0.8.1 + resolution: "type-fest@npm:0.8.1" + checksum: 3/f8c4b4249f52e8bea7a4fc55b3653c96c2d547240e4c772e001d02b7cc38b8c3eb493ab9fbe985a76a203cd1aa7044776b728a71ba12bf36e7131f989597885b + languageName: node + linkType: hard + +"type-is@npm:^1.6.16, type-is@npm:~1.6.17, type-is@npm:~1.6.18": + version: 1.6.18 + resolution: "type-is@npm:1.6.18" + dependencies: + media-typer: 0.3.0 + mime-types: ~2.1.24 + checksum: 3/20a3514f1d835c979237995129d1f8c564325301e3a8f1c732bcbe1d7fa0ca1f65994e41a79e9030d79f31e5459bb9be5c377848fcb477cb3049a661b3713d74 + languageName: node + linkType: hard + +"type@npm:^1.0.1": + version: 1.2.0 + resolution: "type@npm:1.2.0" + checksum: 3/1589416fd9d0a0a1bf18c62dbc7452b0f22017efd5bfc2912050bb57421b084801563ff13b3e3efd60df45590f23e1f3d27d892aeeec9b3ed142c917a4858812 + languageName: node + linkType: hard + +"type@npm:^2.0.0": + version: 2.0.0 + resolution: "type@npm:2.0.0" + checksum: 3/aa673b5a91fce3827f7f13fdd0b78582fa1946c493e42d4afaa5566295725630cc274069e55da48bcffe0fb6aa7d398be1e4808fd5b132eb6355db6cec3ef023 + languageName: node + linkType: hard + +"typedarray-to-buffer@npm:^3.1.5": + version: 3.1.5 + resolution: "typedarray-to-buffer@npm:3.1.5" + dependencies: + is-typedarray: ^1.0.0 + checksum: 3/e6e0e6812acc3496612d81abe026bb6c71bfc0f3daa00716a3236fe37c46a81508de8306df8a29ae81e2a2c4293b6b8067c77b65003e0022134d544902b9acec + languageName: node + linkType: hard + +"typedarray@npm:^0.0.6": + version: 0.0.6 + resolution: "typedarray@npm:0.0.6" + checksum: 3/c9ef0176aaf32593514c31e5c6edc1db970847aff6e1f0a0570a6ac0cc996335792f394c2fcec59cc76691d22a01888ea073a2f3c6930cfcf7c519addf4e2ad7 + languageName: node + linkType: hard + +typescript@^3.9.2: + version: 3.9.2 + resolution: "typescript@npm:3.9.2" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 3/bf7cbf2f8c695aa942be60da470aaaf902c2e9b3693ed5141fa6de5632f42f471b7e83bd9d4dcff5e0fa37eff746d61cfe1e6949019ad70f0f98d1f60ccfd3ae + languageName: node + linkType: hard + +"typescript@patch:typescript@^3.9.2#builtin": + version: 3.9.2 + resolution: "typescript@patch:typescript@npm%3A3.9.2#builtin::version=3.9.2&hash=8cac75" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 3/51daca430f15c0df7aa820da2ef0a042b081327a1c2426016abbbcb35395f38d9559036a9b9e71320075197444e9b1093726a8086129a4ec367f188ba398212c + languageName: node + linkType: hard + +"uc.micro@npm:^1.0.1, uc.micro@npm:^1.0.5": + version: 1.0.6 + resolution: "uc.micro@npm:1.0.6" + checksum: 3/9dfe5ad0a08059c3eb6ded70b7cfb6fdcb5908b385af9d4717cee7f140571f5c2bb89405093ace07cfd0e283f409495d2feafd321b4b703c1fa3014e129dab27 + languageName: node + linkType: hard + +"uglify-js@npm:^3.1.4": + version: 3.9.3 + resolution: "uglify-js@npm:3.9.3" + dependencies: + commander: ~2.20.3 + bin: + uglifyjs: bin/uglifyjs + checksum: 3/7781fdb6377aa2968d68dad2fa51b55922719f8ab8554a89a4956b151d91357199b2ff6cbf2801a84ecdd04f63da2ec435e25527dfda7d346cc4f419e378c9e4 + languageName: node + linkType: hard + +"undefsafe@npm:^2.0.2": + version: 2.0.3 + resolution: "undefsafe@npm:2.0.3" + dependencies: + debug: ^2.2.0 + checksum: 3/0974f82a8750c3c247d5a9cf7fe91279d1fad0069dda7b717937e7960addddedf2ddabe3ffb1f504929acd0c924ef654c5c85185aee4c514a0fbf2e2a4efcf39 + languageName: node + linkType: hard + +"unicode-canonical-property-names-ecmascript@npm:^1.0.4": + version: 1.0.4 + resolution: "unicode-canonical-property-names-ecmascript@npm:1.0.4" + checksum: 3/8b51950f8f6725acfd0cc33117e7061cc5b3ba97760aab6003db1e31b90ac41e626f289a5a39f8e2c3ed3fbb6b4774c1877fd6156a4c6f4e05736b9ff7a2e783 + languageName: node + linkType: hard + +"unicode-match-property-ecmascript@npm:^1.0.4": + version: 1.0.4 + resolution: "unicode-match-property-ecmascript@npm:1.0.4" + dependencies: + unicode-canonical-property-names-ecmascript: ^1.0.4 + unicode-property-aliases-ecmascript: ^1.0.4 + checksum: 3/481203b4b86861f278424ef694293bad9a090d606ac5bdb71a096fe3bbf413555d25f17e888ef9815841ece01c6a7d9f566752c04681cba8e27aec1a7e519641 + languageName: node + linkType: hard + +"unicode-match-property-value-ecmascript@npm:^1.2.0": + version: 1.2.0 + resolution: "unicode-match-property-value-ecmascript@npm:1.2.0" + checksum: 3/892ca3933535a30d939de026941f0e615330cb6906b62f76561b76dbe6de2aab1eb2a3c5971056813efd31c48f889b4709d34d4d8327e4ff66e3ac72b58a703e + languageName: node + linkType: hard + +"unicode-property-aliases-ecmascript@npm:^1.0.4": + version: 1.1.0 + resolution: "unicode-property-aliases-ecmascript@npm:1.1.0" + checksum: 3/2fa80e62a6ec395af3ee4747ce9738d2fee25ef963fb5650e358b2eb878d7f047f5ccdbd5f92e9605d13276f995fc3c4e3084475b03722cdd7ce9d58a148b2bd + languageName: node + linkType: hard + +"union-value@npm:^1.0.0": + version: 1.0.1 + resolution: "union-value@npm:1.0.1" + dependencies: + arr-union: ^3.1.0 + get-value: ^2.0.6 + is-extendable: ^0.1.1 + set-value: ^2.0.1 + checksum: 3/bd6ae611f09e98d3918ee425b0cb61987e9240672c9822cfac642b0240e7a807c802c1968e0205176d7fa91ca0bba5f625a6937b26b2269620a1402589852fd8 + languageName: node + linkType: hard + +"uniq@npm:^1.0.1": + version: 1.0.1 + resolution: "uniq@npm:1.0.1" + checksum: 3/a5603a5b3128616f268e7695e47cd1eb8d583cf8ee1278434140cd83d2f3f98e5d65a22cf4187f0345ca8d8a0a9f1d07e1f06cb46312135ad4a6303fd28fc317 + languageName: node + linkType: hard + +"uniqs@npm:^2.0.0": + version: 2.0.0 + resolution: "uniqs@npm:2.0.0" + checksum: 3/f6467e9cb94e25d40e25dc600bec69ec5c6c3ba58ec168fecfd2a74cd8a92f54383dfbcbb9f8a50ba389c7e6e9cfd08e03ae80391792357d6a4e616f907af3f6 + languageName: node + linkType: hard + +"unique-filename@npm:^1.1.1": + version: 1.1.1 + resolution: "unique-filename@npm:1.1.1" + dependencies: + unique-slug: ^2.0.0 + checksum: 3/0e674206bdda0c949b4ef86b073ba614f11de6141310834a236860888e592826da988837a7277f91a943752a691c5ab7ab939a19e7c0a5d7fcf1b7265720bf86 + languageName: node + linkType: hard + +"unique-slug@npm:^2.0.0": + version: 2.0.2 + resolution: "unique-slug@npm:2.0.2" + dependencies: + imurmurhash: ^0.1.4 + checksum: 3/3b17dabc13b3cc41897715e106d4403b88c225739e70bbb6d1142e0fb680261b20574cae133b0ac0eedcf514fc19766d6fa37411f9e9ee038daaa4ae83e7cd70 + languageName: node + linkType: hard + +"unique-string@npm:^2.0.0": + version: 2.0.0 + resolution: "unique-string@npm:2.0.0" + dependencies: + crypto-random-string: ^2.0.0 + checksum: 3/a2748b41eaada391800773c16674fe4e9a3f078162e49b2c6b4e67d36061a0f97be4b7851136d786ed5e4ddc90770400fd54bf32aed1e08ec9a9219d9b66bad3 + languageName: node + linkType: hard + +"universalify@npm:^0.1.0": + version: 0.1.2 + resolution: "universalify@npm:0.1.2" + checksum: 3/420fc6547357782c700d53e9a92506a8e95345b13e97684c8f9ab75237912ec2ebb6af8ac10d4f7406b7b6bd21c58f6c5c0811414fb0b4091b78b4743fa6806e + languageName: node + linkType: hard + +"unpipe@npm:1.0.0, unpipe@npm:~1.0.0": + version: 1.0.0 + resolution: "unpipe@npm:1.0.0" + checksum: 3/ba244e8bf640475b2143af95be5d71353cd4d238d63abf5dfe700c67841f066eb0819fc60dee7f2348ef647a5644a06ba024b9a0ab6d399fc07a05eb72a30ac7 + languageName: node + linkType: hard + +"unquote@npm:~1.1.1": + version: 1.1.1 + resolution: "unquote@npm:1.1.1" + checksum: 3/468981e4547c46bd4ebafd5555b6b1e6bd5433f52fcbc99f6868f29ecb1581dde472ee02a0e42ecbadd52012d03b0ad90ee94edf660a921f6a6608b8884e290a + languageName: node + linkType: hard + +"unset-value@npm:^1.0.0": + version: 1.0.0 + resolution: "unset-value@npm:1.0.0" + dependencies: + has-value: ^0.3.1 + isobject: ^3.0.0 + checksum: 3/b4c4853f2744a91e9bb5ccb3dfb28f78c32310bf851f0e6b9e781d3ca5244a803632926b2af701da5f9153a03e405023cebc1f90b87711f73b5fc86b6c33efae + languageName: node + linkType: hard + +"upath@npm:^1.1.1": + version: 1.2.0 + resolution: "upath@npm:1.2.0" + checksum: 3/ecb08ff3e7e3b152e03bceb7089e6f0077bf3494764397a301eb99a7a5cd4c593ea4d0b13a7714195ad8a3ddca9d7a5964037a1c0bc712e1ba7b67a79165a0be + languageName: node + linkType: hard + +"update-notifier@npm:^4.0.0": + version: 4.1.0 + resolution: "update-notifier@npm:4.1.0" + dependencies: + boxen: ^4.2.0 + chalk: ^3.0.0 + configstore: ^5.0.1 + has-yarn: ^2.1.0 + import-lazy: ^2.1.0 + is-ci: ^2.0.0 + is-installed-globally: ^0.3.1 + is-npm: ^4.0.0 + is-yarn-global: ^0.3.0 + latest-version: ^5.0.0 + pupa: ^2.0.1 + semver-diff: ^3.1.1 + xdg-basedir: ^4.0.0 + checksum: 3/2d35bb8785da43c247c5c7b7734c50c040378de61569afbfc22681b46066240ccdf717b38a62483926f6452f26a547418768627a2f0dede70ca6f4f0b5c78309 + languageName: node + linkType: hard + +"uri-js@npm:^4.2.2": + version: 4.2.2 + resolution: "uri-js@npm:4.2.2" + dependencies: + punycode: ^2.1.0 + checksum: 3/651a49f55d6d65a15e589ed5ffa23bf99e495699e246c1c3fecbe6f232c675589fdae4e93a88608525ff130f39b6fb854c19982820813a2d94c005c11eafd7ed + languageName: node + linkType: hard + +"urix@npm:^0.1.0": + version: 0.1.0 + resolution: "urix@npm:0.1.0" + checksum: 3/6bdfca4e7fb7d035537068a47a04ace1bacfa32e6b1aaf54c5a0340c83125a186d59109a19b9a3a1c1f986d3eb718b82faf9ad03d53cb99cf868068580b15b3b + languageName: node + linkType: hard + +"url-loader@npm:2.3.0": + version: 2.3.0 + resolution: "url-loader@npm:2.3.0" + dependencies: + loader-utils: ^1.2.3 + mime: ^2.4.4 + schema-utils: ^2.5.0 + peerDependencies: + file-loader: "*" + webpack: ^4.0.0 + peerDependenciesMeta: + file-loader: + optional: true + checksum: 3/c24821b422c2057b6e8adc57f2855851c12a4449c5cbcc6ca7317d44185cfd11d8bea70cd7c8cca84032eb0ee033b24ed26ba0ad2a19fe2f58c5a9f47b31d14f + languageName: node + linkType: hard + +"url-parse-lax@npm:^3.0.0": + version: 3.0.0 + resolution: "url-parse-lax@npm:3.0.0" + dependencies: + prepend-http: ^2.0.0 + checksum: 3/334817036b300c35023798b8ceac23ea61b51f231a867112e3a85778d65191a3ccb67e7b69b608d45433d55da392cf0d72cd3c85f2542f6ec34733e455c229d5 + languageName: node + linkType: hard + +"url-parse@npm:^1.4.3": + version: 1.4.7 + resolution: "url-parse@npm:1.4.7" + dependencies: + querystringify: ^2.1.1 + requires-port: ^1.0.0 + checksum: 3/33c44a24b9a9e9da7f2591652dc944b6164b93ad1d3ee4eea889b396788f716bd2d6c9d0a2b3ee2e8f863bde69bacbc12c3a4b4e666506ee4c88ea7444004f95 + languageName: node + linkType: hard + +"url@npm:^0.11.0": + version: 0.11.0 + resolution: "url@npm:0.11.0" + dependencies: + punycode: 1.3.2 + querystring: 0.2.0 + checksum: 3/537f785b16f873fdd2b63ccb7a61463b8e41370fdba95385b0102f3ed7b953c300d95b8755ec3b65f3e406372d47d16c3c989e196b25b70f42190da1fc36c56f + languageName: node + linkType: hard + +"use@npm:^3.1.0": + version: 3.1.1 + resolution: "use@npm:3.1.1" + checksum: 3/8dd3bdeeda53864c779e0fa8d799064739708f80b45d06fa48a1a6ba192dc3f9e3266d4556f223cd718d27aedfd957922152e7463c00ac46e185f8331353fb6f + languageName: node + linkType: hard + +"util-deprecate@npm:^1.0.1, util-deprecate@npm:~1.0.1": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 3/73c2b1cf0210ccac300645384d8443cabbd93194117b2dc1b3bae8d8279ad39aedac857e020c4ea505e96a1045059c7359db3df6a9df0be6b8584166c9d61dc9 + languageName: node + linkType: hard + +"util.promisify@npm:1.0.0, util.promisify@npm:^1.0.0, util.promisify@npm:~1.0.0": + version: 1.0.0 + resolution: "util.promisify@npm:1.0.0" + dependencies: + define-properties: ^1.1.2 + object.getownpropertydescriptors: ^2.0.3 + checksum: 3/0dffbe1af61c9c034b5e7b411461e46c17c788d855fb02bcbf96cd0f603c086eb83160a3c878c4d69bede9a42118a7ce2b3cc05ed5a235e1c1c04c93bd5608e7 + languageName: node + linkType: hard + +"util@npm:0.10.3": + version: 0.10.3 + resolution: "util@npm:0.10.3" + dependencies: + inherits: 2.0.1 + checksum: 3/05c1a09f3af90250365386331b3986c0753af1900f20279f9302409b27e9d9d3c03a9cf4efba48aae859d04348ebfe56d68f89688113f61171da9c4fbe6baaca + languageName: node + linkType: hard + +"util@npm:^0.11.0": + version: 0.11.1 + resolution: "util@npm:0.11.1" + dependencies: + inherits: 2.0.3 + checksum: 3/f05afc3d9a284eff28017d8bd474d56fbd27e7a5ad81f44720341b02ae5554ac9c06d0d08034aaf537d56116624232123054e58ec3873133144bda3b521de9ef + languageName: node + linkType: hard + +"utila@npm:^0.4.0, utila@npm:~0.4": + version: 0.4.0 + resolution: "utila@npm:0.4.0" + checksum: 3/6799b0a5666ac26fb547068e6967e51b534e290174b10ae26e500c216197b0faed9be8a12108bc408ce475ce1002c866aac2d1d4e1453dc72b441d8900f2063a + languageName: node + linkType: hard + +"utils-merge@npm:1.0.1": + version: 1.0.1 + resolution: "utils-merge@npm:1.0.1" + checksum: 3/a457956ebc09efbda05da8bf213ab89140bb9dffa3c42b3315dd8fc3c45d67a1b802741f58b7bba4872113201fc275fc86470289d8bd32b74297b5e5b5980705 + languageName: node + linkType: hard + +"uuid@npm:^3.0.1, uuid@npm:^3.3.2": + version: 3.4.0 + resolution: "uuid@npm:3.4.0" + bin: + uuid: ./bin/uuid + checksum: 3/1ce3f37e214d6d0dc94a6a9663a0365013ace66bc3fd5b203e6f5d2eeb978aaee1192367222386345d30b4c6a447928c501121aa84c637724bf105ef57284949 + languageName: node + linkType: hard + +"uuid@npm:^7.0.3": + version: 7.0.3 + resolution: "uuid@npm:7.0.3" + bin: + uuid: dist/bin/uuid + checksum: 3/a56be8a5bbf2bae755d749d0693637274935b5ae250dfaaaf79241391cf1a7c142a202492196363ec62ec51a476e5e3fc4de2944d854abf2e9b35a33e0e31d4c + languageName: node + linkType: hard + +"v8-compile-cache@npm:^2.0.3": + version: 2.1.0 + resolution: "v8-compile-cache@npm:2.1.0" + checksum: 3/b7490d548401f6f4cadeb94da33b2d65473fb931e1f7c28fba02889c19adf1cfff884fb933c6282fc7e82e400f35eddc9d8fc577fa1e4998cc3797c4aaf6246c + languageName: node + linkType: hard + +"v8-to-istanbul@npm:^4.1.3": + version: 4.1.4 + resolution: "v8-to-istanbul@npm:4.1.4" + dependencies: + "@types/istanbul-lib-coverage": ^2.0.1 + convert-source-map: ^1.6.0 + source-map: ^0.7.3 + checksum: 3/9d6c0cd729340d3d19e2d5d59f5b5f1e63a2e0828a209d61d42992eb66e797629ed1a845833166b3ea9a8f84465244d7ab2cc955677b686be0f533402217dedd + languageName: node + linkType: hard + +"validate-npm-package-license@npm:^3.0.1": + version: 3.0.4 + resolution: "validate-npm-package-license@npm:3.0.4" + dependencies: + spdx-correct: ^3.0.0 + spdx-expression-parse: ^3.0.0 + checksum: 3/940899bd4eacfa012ceecb10a5814ba0e8103da5243aa74d0d62f1f8a405efcd23e034fb7193e2d05b392870c53aabcb1f66439b062075cdcb28bc5d562a8ff6 + languageName: node + linkType: hard + +"vary@npm:^1.1.2, vary@npm:~1.1.2": + version: 1.1.2 + resolution: "vary@npm:1.1.2" + checksum: 3/591f059f727ac1ba0d97cb7767f8583a03fcbb07db7be2b7dce838ede520ec0e958a41cb19077054769077fdc49a9b9a2dc391c83426bfee89c054b8cc7404bf + languageName: node + linkType: hard + +"vendors@npm:^1.0.0": + version: 1.0.4 + resolution: "vendors@npm:1.0.4" + checksum: 3/f49cf918e866901eb36e0dc85970fde99929a3f298e1c55b4e20517eda18e16fb57da3eee72801e7d371f9b33684492879ed5ceebae4d1bed48c6e1a62ef6e58 + languageName: node + linkType: hard + +"verror@npm:1.10.0": + version: 1.10.0 + resolution: "verror@npm:1.10.0" + dependencies: + assert-plus: ^1.0.0 + core-util-is: 1.0.2 + extsprintf: ^1.2.0 + checksum: 3/38ea80312cb42e5e8b4ac562d108d675b2354a79f8f125d363671f692657461b9181fd26f4fc9acdca433f8afee099cb78058806e1303e6b15b8fb022affba94 + languageName: node + linkType: hard + +"vm-browserify@npm:^1.0.1": + version: 1.1.2 + resolution: "vm-browserify@npm:1.1.2" + checksum: 3/fc571a62d2cf797ae8773ebb3cb0d2bea50ed02059e128dd9087975929fce4c80a6485ce1aaf7d44ef69db99dfdcde50b6be5d5eb73b296660d761c32fb544fe + languageName: node + linkType: hard + +"w3c-hr-time@npm:^1.0.1, w3c-hr-time@npm:^1.0.2": + version: 1.0.2 + resolution: "w3c-hr-time@npm:1.0.2" + dependencies: + browser-process-hrtime: ^1.0.0 + checksum: 3/bb021b4c4b15acc26a7b0de5b6f4c02d829b458345af162713685e84698380fabffc7856f4a85ba368f23c8419d3a7a726b628b993ffeb0d5a83d0d57d4cbf72 + languageName: node + linkType: hard + +"w3c-xmlserializer@npm:^1.1.2": + version: 1.1.2 + resolution: "w3c-xmlserializer@npm:1.1.2" + dependencies: + domexception: ^1.0.1 + webidl-conversions: ^4.0.2 + xml-name-validator: ^3.0.0 + checksum: 3/9a7b5c7e32d4fa3d272a38e62595ff43169a9aa1b000d27a6b2613df759071034a8e870f7e6ebae8d0024d3056eeff1cad0fdab118ad4430c3d1cac3384dcd29 + languageName: node + linkType: hard + +"w3c-xmlserializer@npm:^2.0.0": + version: 2.0.0 + resolution: "w3c-xmlserializer@npm:2.0.0" + dependencies: + xml-name-validator: ^3.0.0 + checksum: 3/2327c8a6c7302ed4b685125c193f4b4b859ee12cd6e1938407a02dda9cfcfff7f0c103de387b268444c4b61d7892d5260b5c684eb7519886fb3a07798bd565ba + languageName: node + linkType: hard + +"walker@npm:^1.0.7, walker@npm:~1.0.5": + version: 1.0.7 + resolution: "walker@npm:1.0.7" + dependencies: + makeerror: 1.0.x + checksum: 3/c014f264c473fc4464ba8f59eb9f7ffa1c0cf2c83b65353de28a6012d8dd29e974bf2b0fbd5c71231f56762a3ea0d970b635f7d6f6d670ff83f426741ce6a4da + languageName: node + linkType: hard + +"watchpack-chokidar2@npm:^2.0.0": + version: 2.0.0 + resolution: "watchpack-chokidar2@npm:2.0.0" + dependencies: + chokidar: ^2.1.8 + checksum: 3/1ef78773db2e712d2ad8b2b36f448df9e8f891c003414671aa5fd32fab5649784c20fa82a2cdb6973145a5c31b817e4e181de2812a484d27f25af2fb3146c379 + languageName: node + linkType: hard + +"watchpack@npm:^1.6.0, watchpack@npm:^1.6.1": + version: 1.7.2 + resolution: "watchpack@npm:1.7.2" + dependencies: + chokidar: ^3.4.0 + graceful-fs: ^4.1.2 + neo-async: ^2.5.0 + watchpack-chokidar2: ^2.0.0 + dependenciesMeta: + chokidar: + optional: true + watchpack-chokidar2: + optional: true + checksum: 3/a9d630dd29279b91bb1b1dd319e9142f13906e8cc973c860e0662828cff84e2a3235a66da62759cb4f12dc76a6f672760e62b2c8a6406ff80d5e4977b5717e83 + languageName: node + linkType: hard + +"wbuf@npm:^1.1.0, wbuf@npm:^1.7.3": + version: 1.7.3 + resolution: "wbuf@npm:1.7.3" + dependencies: + minimalistic-assert: ^1.0.0 + checksum: 3/5916a49cb25fc8c70e4e7eb2d01955061132687a79879292fbdee632952f368c12bc5a641d0404794dbc0e3563f8b6e74dda04467b3e96be8bcd0b919bd47a8c + languageName: node + linkType: hard + +"webidl-conversions@npm:^4.0.2": + version: 4.0.2 + resolution: "webidl-conversions@npm:4.0.2" + checksum: 3/75c2ada4262cda41410ec898178f4f2a31419a905415a98a0bd1b93441ce4a2b942bae2d0ac6d637b749b9d3b309be5a49dbc3b06aae9d9e65280554268a2c94 + languageName: node + linkType: hard + +"webidl-conversions@npm:^5.0.0": + version: 5.0.0 + resolution: "webidl-conversions@npm:5.0.0" + checksum: 3/af4e465fb3111f45930e48f8e4206d6ae41675f03f35d6dfa10b2d7186430236ef1b406d8c3e57f75c8a60e424ca715c9fe6b6b2316a1b999ecffe8280414dff + languageName: node + linkType: hard + +"webidl-conversions@npm:^6.0.0": + version: 6.1.0 + resolution: "webidl-conversions@npm:6.1.0" + checksum: 3/0ded175044ec0a06f41014b9ffc36a67eb22bff53b9cb43fa1e9d05eaded43a100d993a8179d3a9f0f820ff1e5b812107a97c8643b600a6ab5bef1e11fcae66b + languageName: node + linkType: hard + +"webpack-dev-middleware@npm:^3.7.2": + version: 3.7.2 + resolution: "webpack-dev-middleware@npm:3.7.2" + dependencies: + memory-fs: ^0.4.1 + mime: ^2.4.4 + mkdirp: ^0.5.1 + range-parser: ^1.2.1 + webpack-log: ^2.0.0 + peerDependencies: + webpack: ^4.0.0 + checksum: 3/88480e7d7f8116f2a992a4f4b3ca5f2ce93e11edbedd029858f43a789109fcd001bad9fcf34df7bb0e8cb33d342205a789abafd6f6315e9fc54bc436e6caa78f + languageName: node + linkType: hard + +"webpack-dev-server@npm:3.10.3": + version: 3.10.3 + resolution: "webpack-dev-server@npm:3.10.3" + dependencies: + ansi-html: 0.0.7 + bonjour: ^3.5.0 + chokidar: ^2.1.8 + compression: ^1.7.4 + connect-history-api-fallback: ^1.6.0 + debug: ^4.1.1 + del: ^4.1.1 + express: ^4.17.1 + html-entities: ^1.2.1 + http-proxy-middleware: 0.19.1 + import-local: ^2.0.0 + internal-ip: ^4.3.0 + ip: ^1.1.5 + is-absolute-url: ^3.0.3 + killable: ^1.0.1 + loglevel: ^1.6.6 + opn: ^5.5.0 + p-retry: ^3.0.1 + portfinder: ^1.0.25 + schema-utils: ^1.0.0 + selfsigned: ^1.10.7 + semver: ^6.3.0 + serve-index: ^1.9.1 + sockjs: 0.3.19 + sockjs-client: 1.4.0 + spdy: ^4.0.1 + strip-ansi: ^3.0.1 + supports-color: ^6.1.0 + url: ^0.11.0 + webpack-dev-middleware: ^3.7.2 + webpack-log: ^2.0.0 + ws: ^6.2.1 + yargs: 12.0.5 + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + webpack-cli: "*" + peerDependenciesMeta: + webpack-cli: + optional: true + bin: + webpack-dev-server: bin/webpack-dev-server.js + checksum: 3/99af2c4746e68dce739a9a4375f99c66915d976243bb473757ea9d8486121be2b7266b810048ee07796602b4640e2cd85494498444bc6e6daf4bc61d7ea7ae8a + languageName: node + linkType: hard + +"webpack-log@npm:^2.0.0": + version: 2.0.0 + resolution: "webpack-log@npm:2.0.0" + dependencies: + ansi-colors: ^3.0.0 + uuid: ^3.3.2 + checksum: 3/250db04c41e278aa15a4f452808ef32ca8eca0f7df9d4c7c28b3d94e45d2649fbeb90a0adbee1c675447209b6a35136e13c1fb31476c3ca81c972bb41f0535bb + languageName: node + linkType: hard + +"webpack-manifest-plugin@npm:2.2.0": + version: 2.2.0 + resolution: "webpack-manifest-plugin@npm:2.2.0" + dependencies: + fs-extra: ^7.0.0 + lodash: ">=3.5 <5" + object.entries: ^1.1.0 + tapable: ^1.0.0 + peerDependencies: + webpack: 2 || 3 || 4 + checksum: 3/00f084e2c2883fa68996758446784e366c76fb32a4cffa5131824dc7c2f8ab8b8c24e8cb8c3bd0776f2ef0471fddc9c37ec7712add925341885ee0cdbc48c4b8 + languageName: node + linkType: hard + +"webpack-sources@npm:^1.1.0, webpack-sources@npm:^1.4.0, webpack-sources@npm:^1.4.1, webpack-sources@npm:^1.4.3": + version: 1.4.3 + resolution: "webpack-sources@npm:1.4.3" + dependencies: + source-list-map: ^2.0.0 + source-map: ~0.6.1 + checksum: 3/2a753b36adf0ddd4dadf6ff375824108a918d180c4ea5383b377526f543e6db0c1ecd40b4154bae8e94c4b209b7814d764879691a468fe230ef9eb32b27fdde4 + languageName: node + linkType: hard + +"webpack@npm:4.42.0": + version: 4.42.0 + resolution: "webpack@npm:4.42.0" + dependencies: + "@webassemblyjs/ast": 1.8.5 + "@webassemblyjs/helper-module-context": 1.8.5 + "@webassemblyjs/wasm-edit": 1.8.5 + "@webassemblyjs/wasm-parser": 1.8.5 + acorn: ^6.2.1 + ajv: ^6.10.2 + ajv-keywords: ^3.4.1 + chrome-trace-event: ^1.0.2 + enhanced-resolve: ^4.1.0 + eslint-scope: ^4.0.3 + json-parse-better-errors: ^1.0.2 + loader-runner: ^2.4.0 + loader-utils: ^1.2.3 + memory-fs: ^0.4.1 + micromatch: ^3.1.10 + mkdirp: ^0.5.1 + neo-async: ^2.6.1 + node-libs-browser: ^2.2.1 + schema-utils: ^1.0.0 + tapable: ^1.1.3 + terser-webpack-plugin: ^1.4.3 + watchpack: ^1.6.0 + webpack-sources: ^1.4.1 + bin: + webpack: bin/webpack.js + checksum: 3/fd8b6560ce9346f306e010cba47561ce234fd307984ef708a348fd3278d5da10c61ac927e817c53ecb09375b6436583644e0aade0bf581e7dde4b62aca90b22c + languageName: node + linkType: hard + +"webpack@npm:4.43.0, webpack@npm:^4.43.0": + version: 4.43.0 + resolution: "webpack@npm:4.43.0" + dependencies: + "@webassemblyjs/ast": 1.9.0 + "@webassemblyjs/helper-module-context": 1.9.0 + "@webassemblyjs/wasm-edit": 1.9.0 + "@webassemblyjs/wasm-parser": 1.9.0 + acorn: ^6.4.1 + ajv: ^6.10.2 + ajv-keywords: ^3.4.1 + chrome-trace-event: ^1.0.2 + enhanced-resolve: ^4.1.0 + eslint-scope: ^4.0.3 + json-parse-better-errors: ^1.0.2 + loader-runner: ^2.4.0 + loader-utils: ^1.2.3 + memory-fs: ^0.4.1 + micromatch: ^3.1.10 + mkdirp: ^0.5.3 + neo-async: ^2.6.1 + node-libs-browser: ^2.2.1 + schema-utils: ^1.0.0 + tapable: ^1.1.3 + terser-webpack-plugin: ^1.4.3 + watchpack: ^1.6.1 + webpack-sources: ^1.4.1 + bin: + webpack: bin/webpack.js + checksum: 3/9f1e6375ba28368b4a0d02a0807aa4e148b101244d7ab698c99ac478e3043cdacf7d7c89aa7d4af9549509be7d23878ef863bd6a9540e89a18dd2c04e82e2b4f + languageName: node + linkType: hard + +"websocket-driver@npm:>=0.5.1": + version: 0.7.3 + resolution: "websocket-driver@npm:0.7.3" + dependencies: + http-parser-js: ">=0.4.0 <0.4.11" + safe-buffer: ">=5.1.0" + websocket-extensions: ">=0.1.1" + checksum: 3/73b7c36db1be75f8d210fc152eaa24aefadd1ad32ba93b482b26d612cd34fe0ec0aae90adf8cabadb8479bd96494835a99793349358ce2f93724925ac1fc02cd + languageName: node + linkType: hard + +"websocket-extensions@npm:>=0.1.1": + version: 0.1.3 + resolution: "websocket-extensions@npm:0.1.3" + checksum: 3/363acf8a751c9199e486f4a86941a1ab5b58b9ef0464f5e6af049b6e6952a25953e561c4383790b761ed06a94b3d9ad6132b2353e621ae952b11a91bf0a17352 + languageName: node + linkType: hard + +"whatwg-encoding@npm:^1.0.1, whatwg-encoding@npm:^1.0.3, whatwg-encoding@npm:^1.0.5": + version: 1.0.5 + resolution: "whatwg-encoding@npm:1.0.5" + dependencies: + iconv-lite: 0.4.24 + checksum: 3/44e4276ad2c770d1eb8c5a49294b863c581ef4bc78a10ac6a73a7eba00b377bc53ae0501d7ffce29a2c051b6af5ebbbd135f1da7d8eb98097af2cf12f7b2c984 + languageName: node + linkType: hard + +"whatwg-fetch@npm:2.0.4": + version: 2.0.4 + resolution: "whatwg-fetch@npm:2.0.4" + checksum: 3/47339b6d2919a71459bef766d32cf54e678391cafdf334a40722320abfe156262f034654e296daa598b9e5f70ffd1ff1037212edc78eed347038ba30e9287a46 + languageName: node + linkType: hard + +"whatwg-fetch@npm:^3.0.0": + version: 3.0.0 + resolution: "whatwg-fetch@npm:3.0.0" + checksum: 3/56ffff2db0908b2180830c1c543b16b3cb93f07c771f15af9ce1a31f426c4b843e0a22cb0afd9de585d7583c07f4b84cb5dbf42fe22bcf6ad34f96103b456aaf + languageName: node + linkType: hard + +"whatwg-mimetype@npm:^2.1.0, whatwg-mimetype@npm:^2.2.0, whatwg-mimetype@npm:^2.3.0": + version: 2.3.0 + resolution: "whatwg-mimetype@npm:2.3.0" + checksum: 3/926e6ef8c7e53d158e501ce5e3c0e491d343c3c97e71b3d30451ffe4b1d6f81844c336b46a446a0b4f3fe4f327d76e3451d53ee8055344a0f5f2f35b84518011 + languageName: node + linkType: hard + +"whatwg-url@npm:^6.4.1": + version: 6.5.0 + resolution: "whatwg-url@npm:6.5.0" + dependencies: + lodash.sortby: ^4.7.0 + tr46: ^1.0.1 + webidl-conversions: ^4.0.2 + checksum: 3/454a06402d3ccec0057b8b2d00231153a38bb985749268903111166175e599254175461515b351cd3e6c7e1a9674c35adbcf708304cd38e6aae5b81c6ac9e095 + languageName: node + linkType: hard + +"whatwg-url@npm:^7.0.0": + version: 7.1.0 + resolution: "whatwg-url@npm:7.1.0" + dependencies: + lodash.sortby: ^4.7.0 + tr46: ^1.0.1 + webidl-conversions: ^4.0.2 + checksum: 3/ccbf75d3dfa6d97a7705acc250a43041dfcfa0c9695a5148cac844c39a29657d7c07b3c4533ebabb2401fedcd5eb98626256add2760403b0889c9983ea1a76aa + languageName: node + linkType: hard + +"whatwg-url@npm:^8.0.0": + version: 8.1.0 + resolution: "whatwg-url@npm:8.1.0" + dependencies: + lodash.sortby: ^4.7.0 + tr46: ^2.0.2 + webidl-conversions: ^5.0.0 + checksum: 3/1cc612b2733d71bd9db47537836440aac8ce016e57d33d4f1e5f5cfb6952fccca9085507812f4374920a6835f09125ee359e41ce550b7ca83b9f560a544c14b8 + languageName: node + linkType: hard + +"which-module@npm:^2.0.0": + version: 2.0.0 + resolution: "which-module@npm:2.0.0" + checksum: 3/3d2107ab18c3c2a0ffa4f1a2a0a8862d0bb3fd5c72b10df9cbd75a15b496533bf4c4dc6fa65cefba6fdb8af7935ffb939ef4c8f2eb7835b03d1b93680e9101e9 + languageName: node + linkType: hard + +"which@npm:^1.2.9, which@npm:^1.3.0, which@npm:^1.3.1": + version: 1.3.1 + resolution: "which@npm:1.3.1" + dependencies: + isexe: ^2.0.0 + bin: + which: ./bin/which + checksum: 3/298d95f9c185c4da22c1bfb1fdfa37c2ba56df8a6b98706ab361bf31a7d3a4845afaecfc48d4de7a259048842b5f2977f51b56f5c06c1f6a83dcf5a9e3de634a + languageName: node + linkType: hard + +"which@npm:^2.0.1, which@npm:^2.0.2": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: ^2.0.0 + bin: + node-which: ./bin/node-which + checksum: 3/ea9b1db1266b08f7880717cf70dd9012dd523e5a317f10fbe4d5e8c1a761c5fd237f88642f2ba33b23f973ff4002c9b26648d63084ab208d8ecef36497315f6e + languageName: node + linkType: hard + +"wide-align@npm:^1.1.0": + version: 1.1.3 + resolution: "wide-align@npm:1.1.3" + dependencies: + string-width: ^1.0.2 || 2 + checksum: 3/4f850f84da84b7471d7b92f55e381e7ba286210470fe77a61e02464ef66d10e96057a0d137bc013fbbedb7363a26e79c0e8b21d99bb572467d3fee0465b8fd27 + languageName: node + linkType: hard + +"widest-line@npm:^3.1.0": + version: 3.1.0 + resolution: "widest-line@npm:3.1.0" + dependencies: + string-width: ^4.0.0 + checksum: 3/729c30582e49bdcb1372216eedfd71d1640a1344a4b4e970bc9f33d575b56b130f530b383fbab2cf2bcffb76ea4357e6a66939778d8de91ca66037651d94e01a + languageName: node + linkType: hard + +"word-wrap@npm:~1.2.3": + version: 1.2.3 + resolution: "word-wrap@npm:1.2.3" + checksum: 3/6526abd75d4409c76d1989cf2fbf6080b903db29824be3d17d0a0b8f6221486c76a021174eda2616cf311199787983c34bae3c5e7b51d2ad7476f2066cddb75a + languageName: node + linkType: hard + +"wordwrap@npm:^1.0.0": + version: 1.0.0 + resolution: "wordwrap@npm:1.0.0" + checksum: 3/b4f3f8104a727d1b08e77f43f3692977146f13074392747a3d9cfd631d0fc3ff1c0c034d44fcd7a22183c6505d2fc305421e3512671f8a56f903055671ace4ce + languageName: node + linkType: hard + +"workbox-background-sync@npm:^4.3.1": + version: 4.3.1 + resolution: "workbox-background-sync@npm:4.3.1" + dependencies: + workbox-core: ^4.3.1 + checksum: 3/7c87660653e882b407e8e336ad13efab0fa7d8b4ee47e4ba5f06b844bee43ce1e9418dcc07f7b22043dc610e2e77c4a0e2ca0e29332acf4606b3a33cd20eaddd + languageName: node + linkType: hard + +"workbox-broadcast-update@npm:^4.3.1": + version: 4.3.1 + resolution: "workbox-broadcast-update@npm:4.3.1" + dependencies: + workbox-core: ^4.3.1 + checksum: 3/f1e1c3fe64a5fce04e3119c955710e7f7f6fd03d80b7fb0128b8b8ddcfdd149c73bc6d57caddcac381f44c9cdd68173c42f0086eca9ba556d076035d932c79ed + languageName: node + linkType: hard + +"workbox-build@npm:^4.3.1": + version: 4.3.1 + resolution: "workbox-build@npm:4.3.1" + dependencies: + "@babel/runtime": ^7.3.4 + "@hapi/joi": ^15.0.0 + common-tags: ^1.8.0 + fs-extra: ^4.0.2 + glob: ^7.1.3 + lodash.template: ^4.4.0 + pretty-bytes: ^5.1.0 + stringify-object: ^3.3.0 + strip-comments: ^1.0.2 + workbox-background-sync: ^4.3.1 + workbox-broadcast-update: ^4.3.1 + workbox-cacheable-response: ^4.3.1 + workbox-core: ^4.3.1 + workbox-expiration: ^4.3.1 + workbox-google-analytics: ^4.3.1 + workbox-navigation-preload: ^4.3.1 + workbox-precaching: ^4.3.1 + workbox-range-requests: ^4.3.1 + workbox-routing: ^4.3.1 + workbox-strategies: ^4.3.1 + workbox-streams: ^4.3.1 + workbox-sw: ^4.3.1 + workbox-window: ^4.3.1 + checksum: 3/1e4324c80acfe288f3a2923912fdee72bf2002c81181eb49c1e8c8d49569cfa761ff3ff98e30dc120ab30d12a85390247cfc6f2b7efd84b793b6b4e441bd05d9 + languageName: node + linkType: hard + +"workbox-cacheable-response@npm:^4.3.1": + version: 4.3.1 + resolution: "workbox-cacheable-response@npm:4.3.1" + dependencies: + workbox-core: ^4.3.1 + checksum: 3/b7fff34cc313fa1f38be938729c9ac1a2afbbdf59a7e5f3b81ca2505d54daae5fa95cdc7a10560470efea4913c67f3846bcb5f6b4e7182c2b174e29654107f64 + languageName: node + linkType: hard + +"workbox-core@npm:^4.3.1": + version: 4.3.1 + resolution: "workbox-core@npm:4.3.1" + checksum: 3/a217ef1f1b6313019e3e229e04ba4b3ba1399892efc22bf41c9ecac948ef7eb00cdc3a3bd26753d4e3da16e3e64ad18d8b3c1b4f9960215b86df5cb9fe27d31b + languageName: node + linkType: hard + +"workbox-expiration@npm:^4.3.1": + version: 4.3.1 + resolution: "workbox-expiration@npm:4.3.1" + dependencies: + workbox-core: ^4.3.1 + checksum: 3/6381413c37f9d55081fa9ff5cb0495c9295ba63122126d982f3cd17740c85e1f5c40a3294544f7553d197f62db442f5757802508c2ae8562c9fb7a2c1f352860 + languageName: node + linkType: hard + +"workbox-google-analytics@npm:^4.3.1": + version: 4.3.1 + resolution: "workbox-google-analytics@npm:4.3.1" + dependencies: + workbox-background-sync: ^4.3.1 + workbox-core: ^4.3.1 + workbox-routing: ^4.3.1 + workbox-strategies: ^4.3.1 + checksum: 3/73c3377b6e28066afad879a45d43399a8be7b2eb37e2b9839e846ba47dd8bbd7c3759b39f7ddb8a0d8d31b7c216a0142f523302918af5d2d4f27de6d5869e9bd + languageName: node + linkType: hard + +"workbox-navigation-preload@npm:^4.3.1": + version: 4.3.1 + resolution: "workbox-navigation-preload@npm:4.3.1" + dependencies: + workbox-core: ^4.3.1 + checksum: 3/49a6b372c2d25ad9c792456e4a2fc58401ca83596bd7d4e66f1f84f8027a8a1ebd7da5f677126566eb4a21068349a6ac4b99c2ea5eb49df1477c081fed7ea996 + languageName: node + linkType: hard + +"workbox-precaching@npm:^4.3.1": + version: 4.3.1 + resolution: "workbox-precaching@npm:4.3.1" + dependencies: + workbox-core: ^4.3.1 + checksum: 3/d883319e5e6a1101a22376dc0c9c3dce42a24cac7c2fcd24f7c40a9a5cb50b0f12d6e8c68088423d7f2151225ef35c514e7540fd84b20d6520811e43f9d8d1d6 + languageName: node + linkType: hard + +"workbox-range-requests@npm:^4.3.1": + version: 4.3.1 + resolution: "workbox-range-requests@npm:4.3.1" + dependencies: + workbox-core: ^4.3.1 + checksum: 3/758c997b5a43c0a969d6e0774f6a36894906f11bc81f105a4c5a86bdb6ca224670c4aa344a0e820fc7ef020b1a9ac2f1e7639d2e9d1206ada7c945f38ad919dc + languageName: node + linkType: hard + +"workbox-routing@npm:^4.3.1": + version: 4.3.1 + resolution: "workbox-routing@npm:4.3.1" + dependencies: + workbox-core: ^4.3.1 + checksum: 3/cda5e5a00e1184986858052bf6425247108ea335491b2c72b5b5e91d3d74264c75786ed95aef49a3af848b1af80748bdef356275a2896acf727e2da517bf6454 + languageName: node + linkType: hard + +"workbox-strategies@npm:^4.3.1": + version: 4.3.1 + resolution: "workbox-strategies@npm:4.3.1" + dependencies: + workbox-core: ^4.3.1 + checksum: 3/f14178c47fe49ddd27eff12e6163d8d6acdd749b5478f4492239949e1ddcf4c3e6d32e5dce53a4b56c7c5304f0dce5faddd84759aa3ae2ab026be6b67900643c + languageName: node + linkType: hard + +"workbox-streams@npm:^4.3.1": + version: 4.3.1 + resolution: "workbox-streams@npm:4.3.1" + dependencies: + workbox-core: ^4.3.1 + checksum: 3/e589f5aaa6ebb862de19967ae192a5b4b1cdafd4940eb28abc70e311963797a25e3df34887fa4ae21520f8b3d46a16a81b2ab0150e8550bcf55b7aff169e5de9 + languageName: node + linkType: hard + +"workbox-sw@npm:^4.3.1": + version: 4.3.1 + resolution: "workbox-sw@npm:4.3.1" + checksum: 3/11c0a16d6cbbbcfbd9086b4d22ffc6a5ff6dbd0680d2580458cba6e07cbb3643fea8c191c4312331925118a27628de6b5759642bb305d89b61f9a158aae3c238 + languageName: node + linkType: hard + +"workbox-webpack-plugin@npm:4.3.1": + version: 4.3.1 + resolution: "workbox-webpack-plugin@npm:4.3.1" + dependencies: + "@babel/runtime": ^7.0.0 + json-stable-stringify: ^1.0.1 + workbox-build: ^4.3.1 + peerDependencies: + webpack: ^2.0.0 || ^3.0.0 || ^4.0.0 + checksum: 3/0a2b5c15d0562cb3fff3ce87f0882e7e1d2aa4420d1a391143bcdc88f80254bcf9c5b760919c971bdb6b59f2e7efc7ff19c98869c25b6059829a0e9af6b05f00 + languageName: node + linkType: hard + +"workbox-window@npm:^4.3.1": + version: 4.3.1 + resolution: "workbox-window@npm:4.3.1" + dependencies: + workbox-core: ^4.3.1 + checksum: 3/43f4b0d09dca986c83f9c7b3af49f61f3a335e9f03632ef2a4a35ea80eec2ef5feeb916b649094a9231002464824e79d92faaba061356501aba7395024c0a4f6 + languageName: node + linkType: hard + +"worker-farm@npm:^1.7.0": + version: 1.7.0 + resolution: "worker-farm@npm:1.7.0" + dependencies: + errno: ~0.1.7 + checksum: 3/ef76a6892bdf6a4231e6d657c13e2e960278535915d6235d9e0e3e23b65da94a56e5bed17ac5fda282370601d4cd18f4cba9552aa52f4fa9a25cc9fd3fcf58a9 + languageName: node + linkType: hard + +"worker-rpc@npm:^0.1.0": + version: 0.1.1 + resolution: "worker-rpc@npm:0.1.1" + dependencies: + microevent.ts: ~0.1.1 + checksum: 3/f1ff1b619f37d304b4d0011ee2d2648b5ee93a984ed8ef869c7d42386d36fd042c63ae797a720dd4a32d9d0a7686e84ebbee2dbb26e0b00cf0cfbd65bc4f19eb + languageName: node + linkType: hard + +"wrap-ansi@npm:^2.0.0": + version: 2.1.0 + resolution: "wrap-ansi@npm:2.1.0" + dependencies: + string-width: ^1.0.1 + strip-ansi: ^3.0.1 + checksum: 3/d1846c06645c23dc25489e7df74df33164665c53fc609f9275ebcae11e1106f2d07038ffd8063433d1aaf9c657c42f8f45c77b7c749e358bf022351d86921d3b + languageName: node + linkType: hard + +"wrap-ansi@npm:^5.1.0": + version: 5.1.0 + resolution: "wrap-ansi@npm:5.1.0" + dependencies: + ansi-styles: ^3.2.0 + string-width: ^3.0.0 + strip-ansi: ^5.0.0 + checksum: 3/9622c3aa2742645e9a6941d297436a433c65ffe1b1416578ad56e0df657716bda6857401c5c9cc485c0abbc04e852aafedf295d87e2d6ec58a01799d6bcb2fdf + languageName: node + linkType: hard + +"wrap-ansi@npm:^6.2.0": + version: 6.2.0 + resolution: "wrap-ansi@npm:6.2.0" + dependencies: + ansi-styles: ^4.0.0 + string-width: ^4.1.0 + strip-ansi: ^6.0.0 + checksum: 3/ee4ed8b2994cfbdcd571f4eadde9d8ba00b8a74113483fe5d0c5f9e84054e43df8e9092d7da35c5b051faeca8fe32bd6cea8bf5ae8ad4896d6ea676a347e90af + languageName: node + linkType: hard + +"wrappy@npm:1": + version: 1.0.2 + resolution: "wrappy@npm:1.0.2" + checksum: 3/519fcda0fcdf0c16327be2de9d98646742307bc830277e8868529fcf7566f2b330a6453c233e0cdcb767d5838dd61a90984a02ecc983bcddebea5ad0833bbf98 + languageName: node + linkType: hard + +"write-file-atomic@npm:2.4.1": + version: 2.4.1 + resolution: "write-file-atomic@npm:2.4.1" + dependencies: + graceful-fs: ^4.1.11 + imurmurhash: ^0.1.4 + signal-exit: ^3.0.2 + checksum: 3/d5a00706d00cb4a13bca748d85d4d149b9a997201cdbedc9162810c9ac04188e191b1b06ca868df670db972ae9dbd4022a4eff2aec0c7dce73376dccb6d4efab + languageName: node + linkType: hard + +"write-file-atomic@npm:^3.0.0": + version: 3.0.3 + resolution: "write-file-atomic@npm:3.0.3" + dependencies: + imurmurhash: ^0.1.4 + is-typedarray: ^1.0.0 + signal-exit: ^3.0.2 + typedarray-to-buffer: ^3.1.5 + checksum: 3/a26a8699c30cdc81d041b2c1049c6773f1e8401edda365874e9ca2dcf1fcf024dfeb43eea5e08c2e9b4e77be08a160d37f8d6c5d8c2d3ceccdf3d06e5cb38d35 + languageName: node + linkType: hard + +"write@npm:1.0.3": + version: 1.0.3 + resolution: "write@npm:1.0.3" + dependencies: + mkdirp: ^0.5.1 + checksum: 3/e8f8fddefea3eaaf4c8bacf072161f82d5e05c5fb8f003e1bae52673b94b88a4954d97688c7403a20301d2f6e9f61363b1affe74286b499b39bc0c42f17a56cb + languageName: node + linkType: hard + +"ws@npm:^5.2.0": + version: 5.2.2 + resolution: "ws@npm:5.2.2" + dependencies: + async-limiter: ~1.0.0 + checksum: 3/c8217b54821ac9109bd395029487fd2a577867d6227624079dfa04c927728be13fdbe43070b2d349e9360d7dd17416c33362ba1062bff3bd9ddab6e9a9272915 + languageName: node + linkType: hard + +"ws@npm:^6.1.2, ws@npm:^6.2.1": + version: 6.2.1 + resolution: "ws@npm:6.2.1" + dependencies: + async-limiter: ~1.0.0 + checksum: 3/35d32b09e28f799f04708c3a7bd9eff469ae63e60543d7e18335f28689228a42ee21210f48de680aad6e5317df76b5b1183d1a1ea4b4d14cb6e0943528f40e76 + languageName: node + linkType: hard + +"ws@npm:^7.2.3, ws@npm:^7.3.0": + version: 7.3.0 + resolution: "ws@npm:7.3.0" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 3/c1f386013bd30afa9e4d0aa28eee85767a9e1b8fa74fc482eac503840f1012c2c1339745be36b0737f0245515646892b6073e376deac911a7bdf1ec90fc0f86f + languageName: node + linkType: hard + +"xdg-basedir@npm:^4.0.0": + version: 4.0.0 + resolution: "xdg-basedir@npm:4.0.0" + checksum: 3/928953cb7dda8e2475932f748847a3aae751f44864a0067b03e5ca66820a36e1e9ffb647f9b06fb68ebcb0b9d06d5aee630717a1d2501be14cec99f82efa2fe6 + languageName: node + linkType: hard + +"xml-name-validator@npm:^3.0.0": + version: 3.0.0 + resolution: "xml-name-validator@npm:3.0.0" + checksum: 3/b96679a42e6be36d2433987fe3cc45e972d20d7c2c2a787a2d6b2da94392bd9f23f671cdba29a91211289a2fa8e6965e466dbc1105d0e5730fc3a43e4f1a0688 + languageName: node + linkType: hard + +"xmlchars@npm:^2.1.1, xmlchars@npm:^2.2.0": + version: 2.2.0 + resolution: "xmlchars@npm:2.2.0" + checksum: 3/69bbb61e8d939873c8aa7d006d082944de2eb6f12f55e53fdfc670d544e677736b59e498ece303f264bd1dc39b77557eef1c1c9bfb09eb5e1e30ac552420d81e + languageName: node + linkType: hard + +"xregexp@npm:^4.3.0": + version: 4.3.0 + resolution: "xregexp@npm:4.3.0" + dependencies: + "@babel/runtime-corejs3": ^7.8.3 + checksum: 3/2dcef4888ea32e7c01b8f42d1ee3df24970de14b299a8f534ccecf2252d297092f92d037502176ec334b6c8d7cd1dd3dba0d3cf949e26f418d50b46846268839 + languageName: node + linkType: hard + +"xtend@npm:^4.0.0, xtend@npm:~4.0.1": + version: 4.0.2 + resolution: "xtend@npm:4.0.2" + checksum: 3/37ee522a3e9fb9b143a400c30b21dc122aa8c9c9411c6afae1005a4617dc20a21765c114d544e37a6bb60c2733dd8ee0a44ed9e80d884ac78cccd30b5e0ab0da + languageName: node + linkType: hard + +"y18n@npm:^3.2.1 || ^4.0.0, y18n@npm:^4.0.0": + version: 4.0.0 + resolution: "y18n@npm:4.0.0" + checksum: 3/5b7434c95d31ffa2b9b97df98e2d786446a0ff21c30e0265088caa4818a3335559a425763e55b6d9370d9fcecb75a36ae5bb901184676bd255f96ee3c743f667 + languageName: node + linkType: hard + +"yallist@npm:^3.0.0, yallist@npm:^3.0.2, yallist@npm:^3.0.3": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: 3/f352c93b92f601bb0399210bca37272e669c961e9bd886bac545380598765cbfdfb4f166e7b6c57ca4ec8a5af4ab3fa0fd78a47f9a7d655a3d580ff0fc9e7d79 + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 3/a2960ef879af6ee67a76cae29bac9d8bffeb6e9e366c217dbd21464e7fce071933705544724f47e90ba5209cf9c83c17d5582dd04415d86747a826b2a231efb8 + languageName: node + linkType: hard + +"yaml@npm:^1.7.2": + version: 1.10.0 + resolution: "yaml@npm:1.10.0" + checksum: 3/d4cc9f9724f8d0aebc2cf52e4e6aa7059f12d50deb54b5225d103462fb2af36e5c0bb419101ca4b1f0cd3b4db9e4139cf2c690e863ac6227648d39d6f4e2522c + languageName: node + linkType: hard + +"yargs-parser@npm:18.x, yargs-parser@npm:^18.1.1, yargs-parser@npm:^18.1.3": + version: 18.1.3 + resolution: "yargs-parser@npm:18.1.3" + dependencies: + camelcase: ^5.0.0 + decamelize: ^1.2.0 + checksum: 3/33871721679053cc38165afc6356c06c3e820459589b5db78f315886105070eb90cbb583cd6515fa4231937d60c80262ca2b7c486d5942576802446318a39597 + languageName: node + linkType: hard + +"yargs-parser@npm:^11.1.1": + version: 11.1.1 + resolution: "yargs-parser@npm:11.1.1" + dependencies: + camelcase: ^5.0.0 + decamelize: ^1.2.0 + checksum: 3/f6aa81f2be5636f9bd3526faf5117459cd333c2158502502cc68437e3893fabca981050d71ec1c2300c36f44fb3bbc7d0dc8224ff5bee619a59f255398a49082 + languageName: node + linkType: hard + +"yargs-parser@npm:^13.1.2": + version: 13.1.2 + resolution: "yargs-parser@npm:13.1.2" + dependencies: + camelcase: ^5.0.0 + decamelize: ^1.2.0 + checksum: 3/82d3b7ab99085d70a5121399ad407d2b98d296538bf7012ac2ce044a61160ca891ea617de6374699d81955d9a61c36a3b2a6a51588e38f710bd211ce2e63c33c + languageName: node + linkType: hard + +"yargs@npm:12.0.5": + version: 12.0.5 + resolution: "yargs@npm:12.0.5" + dependencies: + cliui: ^4.0.0 + decamelize: ^1.2.0 + find-up: ^3.0.0 + get-caller-file: ^1.0.1 + os-locale: ^3.0.0 + require-directory: ^2.1.1 + require-main-filename: ^1.0.1 + set-blocking: ^2.0.0 + string-width: ^2.0.0 + which-module: ^2.0.0 + y18n: ^3.2.1 || ^4.0.0 + yargs-parser: ^11.1.1 + checksum: 3/f015926a07c7bc7cfb55d4a40c6e40eb7d91a62e817093058e2fa6b0c804807c4c2c248eed29e8378a6323a79701a5a7a1daf8b55b87151e2ea4286c7b1b365a + languageName: node + linkType: hard + +"yargs@npm:^13.3.0": + version: 13.3.2 + resolution: "yargs@npm:13.3.2" + dependencies: + cliui: ^5.0.0 + find-up: ^3.0.0 + get-caller-file: ^2.0.1 + require-directory: ^2.1.1 + require-main-filename: ^2.0.0 + set-blocking: ^2.0.0 + string-width: ^3.0.0 + which-module: ^2.0.0 + y18n: ^4.0.0 + yargs-parser: ^13.1.2 + checksum: 3/92c612cd14a9217d7421ae4f42bc7c460472633bfc2e45f7f86cd614a61a845670d3bac7c2228c39df7fcecce0b8c12b2af65c785b1f757de974dcf84b5074f9 + languageName: node + linkType: hard + +"yargs@npm:^15.3.1": + version: 15.3.1 + resolution: "yargs@npm:15.3.1" + dependencies: + cliui: ^6.0.0 + decamelize: ^1.2.0 + find-up: ^4.1.0 + get-caller-file: ^2.0.1 + require-directory: ^2.1.1 + require-main-filename: ^2.0.0 + set-blocking: ^2.0.0 + string-width: ^4.2.0 + which-module: ^2.0.0 + y18n: ^4.0.0 + yargs-parser: ^18.1.1 + checksum: 3/6504a0bb4e6f5933ebaaa52307943a9cdb44da6200cd1ca8794aaa1d18b70f0acd2f49f46630b07bd4d2aa12cb1fe666b186d367c36fa1b4998f7ce8bdc9ffdf + languageName: node + linkType: hard + +"ylru@npm:^1.2.0": + version: 1.2.1 + resolution: "ylru@npm:1.2.1" + checksum: 3/ce002a8bb58b30a5bcc8bf44a6b04fbee9450f78c29b59380223945714f4c0e38cc7f68d5b1efa8bf6cd22766f23a47698c2fd020bbb63dc55f11d8385d7c34e + languageName: node + linkType: hard + +"yn@npm:3.1.1": + version: 3.1.1 + resolution: "yn@npm:3.1.1" + checksum: 3/bff63b80568d80c711670935427494dde47cdf97e8b04196b140ce0af519c81c5ee857eddad0caa8b422dd65aea0157bbfaacbb1546bebba623f0f383d5d9ae5 + languageName: node + linkType: hard